diff --git a/DoseMathTests/ru.lproj/InfoPlist.strings b/DoseMathTests/ru.lproj/InfoPlist.strings new file mode 100644 index 0000000000..874e8a4532 --- /dev/null +++ b/DoseMathTests/ru.lproj/InfoPlist.strings @@ -0,0 +1 @@ +/* No Localized Strings */ diff --git a/DoseMathTests/ru.lproj/Localizable.strings b/DoseMathTests/ru.lproj/Localizable.strings new file mode 100644 index 0000000000..4d12f14694 --- /dev/null +++ b/DoseMathTests/ru.lproj/Localizable.strings @@ -0,0 +1,15 @@ +/* Message when offering bolus recommendation even though bg is below range. (1: glucose value) */ +"Current glucose of %1$@ is below correction range." = " Текущая гликемия %1$@ ниже диапазона коррекции"; + +/* Message when offering bolus recommendation even though bg is below range and minBG is in future. (1: glucose time)(2: glucose number) */ +"Predicted glucose at %1$@ is %2$@." = "Предсказываемая гликемия в %1$@ - %2$@."; + +/* Notice message when recommending bolus when BG is below the suspend threshold. (1: glucose value) */ +"Predicted glucose of %1$@ is below your suspend threshold setting." = "Предсказываемая гликемия %1$@ ниже установленного вами порога приостановки помпы"; + +/* Format string for combining localized numeric value and unit. (1: numeric value)(2: unit) */ +"QUANTITY_VALUE_AND_UNIT" = "%1$@ %2$@"; + +/* The unit display string for millimoles of glucose per liter */ +"mmol/L" = "ммоль/л"; + diff --git a/Loop Status Extension/ru.lproj/InfoPlist.strings b/Loop Status Extension/ru.lproj/InfoPlist.strings new file mode 100644 index 0000000000..874e8a4532 --- /dev/null +++ b/Loop Status Extension/ru.lproj/InfoPlist.strings @@ -0,0 +1 @@ +/* No Localized Strings */ diff --git a/Loop Status Extension/ru.lproj/Localizable.strings b/Loop Status Extension/ru.lproj/Localizable.strings new file mode 100644 index 0000000000..5dabd82453 --- /dev/null +++ b/Loop Status Extension/ru.lproj/Localizable.strings @@ -0,0 +1,12 @@ +/* The format string for the app name and version number. (1: bundle name)(2: bundle version) */ +"%1$@ v%2$@" = "%1$@ v%2$@"; + +/* The subtitle format describing eventual glucose. (1: localized glucose value description) (2: localized glucose units description) */ +"Eventually %1$@ %2$@" = "В конечном итоге %1$@ %2$@"; + +/* Format string for combining localized numeric value and unit. (1: numeric value)(2: unit) */ +"QUANTITY_VALUE_AND_UNIT" = "%1$@ %2$@"; + +/* The unit display string for millimoles of glucose per liter */ +"mmol/L" = "ммоль/л"; + diff --git a/Loop Status Extension/ru.lproj/MainInterface.strings b/Loop Status Extension/ru.lproj/MainInterface.strings new file mode 100644 index 0000000000..6f65da80eb --- /dev/null +++ b/Loop Status Extension/ru.lproj/MainInterface.strings @@ -0,0 +1,6 @@ +/* Class = "UILabel"; text = "Eventually 92 mg/dL"; ObjectID = "9iF-xY-Bh4"; */ +"9iF-xY-Bh4.text" = "в конечном итоге 92 мг/дл"; + +/* Class = "UILabel"; text = "IOB 1.0 U"; ObjectID = "UPi-dG-yYD"; */ +"UPi-dG-yYD.text" = "IOB 1.0 U"; + diff --git a/Loop.xcodeproj/project.pbxproj b/Loop.xcodeproj/project.pbxproj index f074d05e51..6cb80346fb 100644 --- a/Loop.xcodeproj/project.pbxproj +++ b/Loop.xcodeproj/project.pbxproj @@ -593,6 +593,22 @@ 4FC8C8001DEB93E400A1452E /* NSUserDefaults+StatusExtension.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "NSUserDefaults+StatusExtension.swift"; sourceTree = ""; }; 4FF4D0FF1E18374700846527 /* WatchContext.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = WatchContext.swift; sourceTree = ""; }; 540DED961E14C75F002B2491 /* EnliteSensorDisplayable.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = EnliteSensorDisplayable.swift; sourceTree = ""; }; + 7D68AAA91FE2DB0A00522C49 /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ru; path = ru.lproj/LaunchScreen.strings; sourceTree = ""; }; + 7D68AAAA1FE2DB0A00522C49 /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ru; path = ru.lproj/Main.strings; sourceTree = ""; }; + 7D68AAAB1FE2DB0A00522C49 /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ru; path = ru.lproj/MainInterface.strings; sourceTree = ""; }; + 7D68AAAC1FE2DB0A00522C49 /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ru; path = ru.lproj/Interface.strings; sourceTree = ""; }; + 7D68AAAD1FE2E8D400522C49 /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ru; path = ru.lproj/Localizable.strings; sourceTree = ""; }; + 7D68AAAE1FE2E8D400522C49 /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ru; path = ru.lproj/InfoPlist.strings; sourceTree = ""; }; + 7D68AAAF1FE2E8D500522C49 /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ru; path = ru.lproj/InfoPlist.strings; sourceTree = ""; }; + 7D68AAB01FE2E8D500522C49 /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ru; path = ru.lproj/ckcomplication.strings; sourceTree = ""; }; + 7D68AAB11FE2E8D500522C49 /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ru; path = ru.lproj/InfoPlist.strings; sourceTree = ""; }; + 7D68AAB21FE2E8D500522C49 /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ru; path = ru.lproj/InfoPlist.strings; sourceTree = ""; }; + 7D68AAB31FE2E8D500522C49 /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ru; path = ru.lproj/Localizable.strings; sourceTree = ""; }; + 7D68AAB41FE2E8D600522C49 /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ru; path = ru.lproj/InfoPlist.strings; sourceTree = ""; }; + 7D68AAB51FE2E8D600522C49 /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ru; path = ru.lproj/InfoPlist.strings; sourceTree = ""; }; + 7D68AAB61FE2E8D600522C49 /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ru; path = ru.lproj/Localizable.strings; sourceTree = ""; }; + 7D68AAB71FE2E8D600522C49 /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ru; path = ru.lproj/Localizable.strings; sourceTree = ""; }; + 7D68AAB81FE2E8D700522C49 /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ru; path = ru.lproj/Localizable.strings; sourceTree = ""; }; 7D7076361FE06EDE004AC8EA /* es */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = es; path = es.lproj/Localizable.strings; sourceTree = ""; }; 7D70763B1FE06EDF004AC8EA /* es */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = es; path = es.lproj/InfoPlist.strings; sourceTree = ""; }; 7D7076401FE06EDF004AC8EA /* es */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = es; path = es.lproj/ckcomplication.strings; sourceTree = ""; }; @@ -1825,6 +1841,7 @@ children = ( 43776F961B8022E90074EA36 /* Base */, 7DD382771F8DBFC60071272B /* es */, + 7D68AAAA1FE2DB0A00522C49 /* ru */, ); name = Main.storyboard; sourceTree = ""; @@ -1834,6 +1851,7 @@ children = ( 43776F9B1B8022E90074EA36 /* Base */, 7DD382761F8DBFC60071272B /* es */, + 7D68AAA91FE2DB0A00522C49 /* ru */, ); name = LaunchScreen.storyboard; sourceTree = ""; @@ -1843,6 +1861,7 @@ children = ( 43A943751B926B7B0051FA24 /* Base */, 7DD382791F8DBFC60071272B /* es */, + 7D68AAAC1FE2DB0A00522C49 /* ru */, ); name = Interface.storyboard; sourceTree = ""; @@ -1852,6 +1871,7 @@ children = ( 4F70C1E31DE8DCA7006380B7 /* Base */, 7DD382781F8DBFC60071272B /* es */, + 7D68AAAB1FE2DB0A00522C49 /* ru */, ); name = MainInterface.storyboard; sourceTree = ""; @@ -1860,6 +1880,7 @@ isa = PBXVariantGroup; children = ( 7D7076361FE06EDE004AC8EA /* es */, + 7D68AAAD1FE2E8D400522C49 /* ru */, ); name = Localizable.strings; sourceTree = ""; @@ -1868,6 +1889,7 @@ isa = PBXVariantGroup; children = ( 7D70763B1FE06EDF004AC8EA /* es */, + 7D68AAAF1FE2E8D500522C49 /* ru */, ); name = InfoPlist.strings; sourceTree = ""; @@ -1876,6 +1898,7 @@ isa = PBXVariantGroup; children = ( 7D7076401FE06EDF004AC8EA /* es */, + 7D68AAB01FE2E8D500522C49 /* ru */, ); name = ckcomplication.strings; sourceTree = ""; @@ -1884,6 +1907,7 @@ isa = PBXVariantGroup; children = ( 7D7076461FE06EE0004AC8EA /* es */, + 7D68AAB21FE2E8D500522C49 /* ru */, ); name = InfoPlist.strings; sourceTree = ""; @@ -1892,6 +1916,7 @@ isa = PBXVariantGroup; children = ( 7D70764B1FE06EE1004AC8EA /* es */, + 7D68AAB31FE2E8D500522C49 /* ru */, ); name = Localizable.strings; sourceTree = ""; @@ -1900,6 +1925,7 @@ isa = PBXVariantGroup; children = ( 7D7076501FE06EE1004AC8EA /* es */, + 7D68AAB41FE2E8D600522C49 /* ru */, ); name = InfoPlist.strings; sourceTree = ""; @@ -1908,6 +1934,7 @@ isa = PBXVariantGroup; children = ( 7D7076551FE06EE2004AC8EA /* es */, + 7D68AAB51FE2E8D600522C49 /* ru */, ); name = InfoPlist.strings; sourceTree = ""; @@ -1916,6 +1943,7 @@ isa = PBXVariantGroup; children = ( 7D70765A1FE06EE2004AC8EA /* es */, + 7D68AAB61FE2E8D600522C49 /* ru */, ); name = Localizable.strings; sourceTree = ""; @@ -1924,6 +1952,7 @@ isa = PBXVariantGroup; children = ( 7D70765F1FE06EE3004AC8EA /* es */, + 7D68AAB71FE2E8D600522C49 /* ru */, ); name = Localizable.strings; sourceTree = ""; @@ -1932,6 +1961,7 @@ isa = PBXVariantGroup; children = ( 7D7076641FE06EE4004AC8EA /* es */, + 7D68AAB81FE2E8D700522C49 /* ru */, ); name = Localizable.strings; sourceTree = ""; @@ -1940,6 +1970,7 @@ isa = PBXVariantGroup; children = ( 7D7076691FE0702F004AC8EA /* es */, + 7D68AAAE1FE2E8D400522C49 /* ru */, ); name = InfoPlist.strings; sourceTree = ""; @@ -1949,6 +1980,7 @@ children = ( C1C73F0E1DE3D0270022FC89 /* it */, 7D7076421FE06EE0004AC8EA /* es */, + 7D68AAB11FE2E8D500522C49 /* ru */, ); name = InfoPlist.strings; sourceTree = ""; diff --git a/Loop/ru.lproj/InfoPlist.strings b/Loop/ru.lproj/InfoPlist.strings new file mode 100644 index 0000000000..8c1ec56692 --- /dev/null +++ b/Loop/ru.lproj/InfoPlist.strings @@ -0,0 +1,15 @@ +/* (No Comment) */ +"CFBundleDisplayName" = "Loop"; + +/* (No Comment) */ +"CFBundleName" = "$(PRODUCT_NAME)"; + +/* (No Comment) */ +"NSBluetoothPeripheralUsageDescription" = "Блутус применяется для коммуникации с инсулиновой помпой и устройствами непрерывного мониторинга СК"; + +/* (No Comment) */ +"NSHealthShareUsageDescription" = "Данные о пище из базы данных Здоровье используются для определения влияния на гликемию. Данные гликемии из базы данных Здоровье используются для графического отображения и вычисления скорости изменений"; + +/* (No Comment) */ +"NSHealthUpdateUsageDescription" = "Данные об углеводах в приложении и на смарт-часах хранятся в базе данных Здоровье. Данные о гликемии полученные от систем непрерывного мониторинга хранятся в безопасности в Комплексе Здоровья HealthKit "; + diff --git a/Loop/ru.lproj/LaunchScreen.strings b/Loop/ru.lproj/LaunchScreen.strings new file mode 100644 index 0000000000..874e8a4532 --- /dev/null +++ b/Loop/ru.lproj/LaunchScreen.strings @@ -0,0 +1 @@ +/* No Localized Strings */ diff --git a/Loop/ru.lproj/Localizable.strings b/Loop/ru.lproj/Localizable.strings new file mode 100644 index 0000000000..dde228ab29 --- /dev/null +++ b/Loop/ru.lproj/Localizable.strings @@ -0,0 +1,451 @@ +/* The string format appended to active insulin that describes pending insulin. (1: pending insulin) */ +" (pending: %@)" = "(В ожидании: %@)"; + +/* Format string for current suspend threshold. (1: value)(2: bg unit) */ +"%1$@ %2$@" = "%1$@ %2$@"; + +/* Format string for carb ratio average. (1: value)(2: carb unit) + Format string for insulin sensitivity average (1: value)(2: glucose unit) */ +"%1$@ %2$@/U" = "%1$@ %2$@/ед"; + +/* Formats (1: carb start time) and (2: carb absorption duration) */ +"%1$@ + %2$@" = "%1$@ + %2$@"; + +/* Low reservoir alert format string. (1: Number of units remaining) */ +"%1$@ U left" = "%1$@ Осталось ед"; + +/* Low reservoir alert with time remaining format string. (1: Number of units remaining)(2: approximate time remaining) */ +"%1$@ U left: %2$@" = "%1$@ Осталось ед: %2$@ "; + +/* The format for recommended temp basal rate and time. (1: localized rate number)(2: localized time) */ +"%1$@ U/hour @ %2$@" = "%1$@ ед/час @ %2$@"; + +/* The format string for the app name and version number. (1: bundle name)(2: bundle version) */ +"%1$@ v%2$@" = "%1$@ v%2$@"; + +/* Format string for glucose target range. (1: Min target)(2: Max target)(3: glucose unit) */ +"%1$@ – %2$@ %3$@" = "%1$@ – %2$@ %3$@"; + +/* Format string describing glucose units per minute (1: glucose unit string) */ +"%1$@/min" = "%1$@/минут"; + +/* Formats (1: carb value) and (2: food type) */ +"%1$@: %2$@" = "%1$@: %2$@"; + +/* The subtitle format describing total insulin. (1: localized insulin total) */ +"%@ U Total" = "%@ всего ед"; + +/* Formats absorbed carb value */ +"%@ absorbed" = "%@ усвоено"; + +/* Description of the prediction input effect for glucose momentum */ +"15 min glucose regression coefficient (b₁), continued with decay over 30 min" = "15-мин коэффициент регрессии гликемии (b1), продолжен с угасанием 30 мин"; + +/* Description of the prediction input effect for retrospective correction */ +"30 min comparison of glucose prediction vs actual, continued with decay over 60 min" = "30 мин сравнение предсказанной гликемии с действительной, продолжено с угасанием 60 мин"; + +/* Subtitle of Fiasp preset */ +"A model based on the published absorption of Fiasp insulin." = "модель, основанная на опубликованных данных усвоения FIASP инсулина "; + +/* Subtitle of Rapid-Acting – Adult preset */ +"A model based on the published absorption of Humalog, Novolog, and Apidra insulin in adults." = "модель, основанная на опубликованных данных усвоения Humalog, Novolog и Apidra у взрослых "; + +/* The title of the amplitude API key credential + The title of the mLab API Key credential */ +"API Key" = "API Key"; + +/* The title of the nightscout API secret credential */ +"API Secret" = "API Secret"; + +/* Action to copy the recommended Bolus value to the actual Bolus Field */ +"AcceptRecommendedBolus" = "Принятьрекомендуемыйболюс"; + +/* The title of the Carbs On-Board graph */ +"Active Carbohydrates" = "Действующие углеводы"; + +/* The string format describing active carbohydrates. (1: localized glucose value description) */ +"Active Carbohydrates: %@" = "Действующие углеводы: %@"; + +/* The title of the Insulin On-Board graph */ +"Active Insulin" = "Действующий инсулин"; + +/* The string format describing active insulin. (1: localized insulin value description) */ +"Active Insulin: %@" = "Действующий инсулин: %@"; + +/* The title of the button to add the credentials for a service */ +"Add Account" = "Добавить пользователя"; + +/* The label of the carb entry button */ +"Add Meal" = "Добавить продукт"; + +/* The title of the section containing algorithm settings */ +"Algorithm Settings" = "Настройки алгоритма"; + +/* Instructions on selecting battery chemistry type */ +"Alkaline and Lithium batteries decay at differing rates. Alkaline tend to have a linear voltage drop over time whereas lithium cell batteries tend to maintain voltage until halfway through their lifespan. Under normal usage in a Non-MySentry compatible Minimed (x22/x15) insulin pump running Loop, Alkaline batteries last approximately 4 to 5 days. Lithium batteries last between 1-2 weeks. This selection will use different battery voltage decay rates for each of the battery chemistry types and alert the user when a battery is approximately 8 to 10 hours from failure." = "Щелочные и литиевые батарейки садятся с различной скоростью. У щелочных падение линейное, в то время как литиевые сохраняют напряжение в течение половины срока службы. При нормальном пользовании в помпе Minimed без Mysentry (x22/x15) с применением алгоритма ИПЖ щелочные батарейки служат примерно от 4 до 5 дней. Литиевые служат от 1 до 2 недель. Эта настройка будет использовать разную скорость падения напряжения батареек в зависимости от их химического типа и предупреждать пользователя за 8-10 часов до отказа "; + +/* The title of the Amplitude service */ +"Amplitude" = "Amplitude"; + +/* Subtitle of Rapid-Acting – Children preset */ +"An adjustment to the adult model based on empirical effects in children." = "Поправка к модели для взрослых основанная на эмпирических данных для детей"; + +/* The message displayed during a device authentication prompt for bolus specification */ +"Authenticate to Bolus %@ Units" = "Подтверждение болюса %@ ед"; + +/* The title of the basal rate profile screen + The title text for the basal rate schedule */ +"Basal Rates" = "Скорости базала"; + +/* The label of the bolus entry button + The notification title for a bolus failure */ +"Bolus" = "Болюс"; + +/* The title of the cancel action in an action sheet */ +"Cancel" = "Отмена"; + +/* The title of the carb ratios schedule screen + The title text for the carb ratio schedule */ +"Carb Ratios" = "Соотношения углеводов"; + +/* Title of the prediction input effect for carbohydrates */ +"Carbohydrates" = "Углеводы"; + +/* Description of the prediction input effect for carbohydrates. (1: The glucose unit string) */ +"Carbs Absorbed (g) ÷ Carb Ratio (g/U) × Insulin Sensitivity (%1$@/U)" = "Усвоенные углеводы (г) : соотношение углеводов (гр/ед)х чувствительность к инсулину"; + +/* The notification alert describing a low pump battery */ +"Change the pump battery immediately" = "Замените батарею помпы немедленно"; + +/* The notification alert describing an empty pump reservoir */ +"Change the pump reservoir now" = "Замените резервуар помпы сейчас"; + +/* The title text for the looping enabled switch cell */ +"Closed Loop" = "Замкнутый цикл"; + +/* The title of the configuration section in settings */ +"Configuration" = "Конфигурация"; + +/* The error message displayed for configuration errors. (1: configuration error details) */ +"Configuration Error: %1$@" = "Ошибка конфигурации: %1$@"; + +/* The title of the continuous glucose monitor section in settings */ +"Continuous Glucose Monitor" = "Непрерывный мониторинг гликемии"; + +/* The title of the glucose target range schedule screen + The title text for the glucose target range schedule */ +"Correction Range" = "Диапазон коррекции"; + +/* Message when offering bolus recommendation even though bg is below range. (1: glucose value) */ +"Current glucose of %1$@ is below correction range." = "Гликемия %1$@ ниже диапазона коррекции"; + +/* The title of the Loggly customer token credential */ +"Customer Token" = "Жетон пользователя"; + +/* The title of the mLab database name credential */ +"Database" = "База данных"; + +/* The title of the button to remove the credentials for a service */ +"Delete Account" = "Удалить аккаунт"; + +/* The title of the Dexcom Share service */ +"Dexcom Share" = "Декском Шеар"; + +/* The action hint of the workout mode toggle button when enabled */ +"Disables" = "Деактивирует"; + +/* Title of the switch which toggles retrospective correction effects */ +"Enable Retrospective Correction" = "Активирует ретроспективную коррекцию"; + +/* The detail text describing an enabled setting */ +"Enabled" = "Активировано"; + +/* The action hint of the workout mode toggle button when disabled */ +"Enables" = "Активирует"; + +/* The placeholder text instructing users how to enter a maximum bolus */ +"Enter a number of units" = "Введите кол-во единиц"; + +/* The placeholder text instructing users how to enter a maximum basal rate */ +"Enter a rate in units per hour" = "Введите скорость в единицах в час"; + +/* The placeholder text instructing users to enter a suspend treshold */ +"Enter suspend threshold" = "Введите рубеж приостановки"; + +/* The placeholder text instructing users how to enter a pump ID */ +"Enter the 6-digit pump ID" = "Введите инд номер помпы (6 цифр)"; + +/* The placeholder text instructing users how to enter a pump ID */ +"Enter the 6-digit transmitter ID" = "Введите инд. номер трансмиттера (6 цифр)"; + +/* Describing the pump history insulin data source */ +"Event History" = "История событий"; + +/* The subtitle format describing eventual glucose. (1: localized glucose value description) */ +"Eventually %@" = "В конечном итоге %@"; + +/* The title of the alert describing a maximum bolus validation error */ +"Exceeds Maximum Bolus" = "Превышает макс болюс"; + +/* Title of insulin model preset */ +"Fiasp" = "Fiasp"; + +/* The format string used to describe a finite workout targets duration */ +"For %1$@" = "В течение %1$@"; + +/* The title text for the G4 Share Receiver switch cell */ +"G4 Share Receiver" = "Ресивер G4 Шеар"; + +/* The title text for the G5 Transmitter switch cell */ +"G5 Transmitter" = "Трансмиттер G5"; + +/* The title of the glucose and prediction graph */ +"Glucose" = "Гликемия"; + +/* Title of the prediction input effect for glucose momentum */ +"Glucose Momentum" = "Динамика гликемии"; + +/* The error message when glucose data is too old to be used. (1: glucose data age in minutes) */ +"Glucose data is %1$@ old" = "Данным гликемии %1$@"; + +/* The title of a target alert action specifying an indefinitely long workout targets duration */ +"Indefinitely" = "На неопределенное время"; + +/* Title of the prediction input effect for insulin */ +"Insulin" = "Инсулин"; + +/* Description of the prediction input effect for insulin */ +"Insulin Absorbed (U) × Insulin Sensitivity (%1$@/U)" = "Инсулин усвоен х чувствительность к инсулину"; + +/* The title of the insulin delivery graph */ +"Insulin Delivery" = "Подача инсулина"; + +/* The title text for the insulin model setting row */ +"Insulin Model" = "Модель инсулина"; + +/* The title of the insulin sensitivities schedule screen + The title text for the insulin sensitivity schedule */ +"Insulin Sensitivities" = "Факторы чувствительности инсулина"; + +/* Instructions on selecting an insulin data source */ +"Insulin delivery can be determined from the pump by either interpreting the event history or comparing the reservoir volume over time. Reading event history allows for a more accurate status graph and uploading up-to-date treatment data to Nightscout, at the cost of faster pump battery drain and the possibility of a higher radio error rate compared to reading only reservoir volume. If the selected source cannot be used for any reason, the system will attempt to fall back to the other option." = "Подача инсулина может определяться с помпы путем интерпретации истории событий или сравнением изменения объемов резервуара за прошедшее время. Чтение истории событий позволяет вычертить более точный график состояния и загрузить в Nightscout актуальные данные лечения/назначений (за счет более быстрого истощения батареи помпы и более высокого процента ошибок радиосвязи) по сравнению со считыванием данных только об объеме резервуара."; + +/* The error message when invalid data was encountered. (1: details of invalid data) */ +"Invalid data: %1$@" = "Неверные данные: %1$@"; + +/* The title text for the issue report cell */ +"Issue Report" = "Сообщить об ошибе"; + +/* Format string describing retrospective glucose prediction comparison. (1: Previous glucose)(2: Predicted glucose)(3: Actual glucose) */ +"Last comparison: %1$@ → %2$@ vs %3$@" = "Недавнее сравнение %1$@ → %2$@ и %3$@"; + +/* Glucose HUD accessibility hint */ +"Launches CGM app" = "Запускает приложение непрерывного мониторинга CGM"; + +/* The loading message for the diagnostic report screen */ +"Loading..." = "Загрузка..."; + +/* The title of the loggly service */ +"Loggly" = "Loggly"; + +/* The notification title for a loop failure */ +"Loop Failure" = "Ошибка в работе цикла/контура"; + +/* The notification alert describing a long-lasting loop failure. The substitution parameter is the time interval since the last loop */ +"Loop has not completed successfully in %@" = "Ну удалось успешно замкнуть цикл/контур в %@"; + +/* The description of a low G5 transmitter battery with a leading space */ +"Low Battery" = "Низкий заряд батареи"; + +/* The title text for the maximum basal rate value */ +"Maximum Basal Rate" = "Максимальная скорость подачи базала"; + +/* The title text for the maximum bolus value */ +"Maximum Bolus" = "Максимальный болюс"; + +/* The error message for missing data. (1: missing data details) */ +"Missing data: %1$@" = "Пропущены данные: %1$@"; + +/* Sensor state description for the non-valid state */ +"Needs Attention" = "Требует внимания"; + +/* The title of the Nightscout service */ +"Nightscout" = "Nightscout"; + +/* The error message displayed for device connection errors. */ +"No connected devices, or failure during device connection" = "Устройства не сопряжены или ошибка во время сопряжения"; + +/* Sensor state description for the valid state */ +"OK" = "OK"; + +/* Outside US share server option title */ +"Outside US" = "за пределами США"; + +/* The title of the Dexcom share password credential */ +"Password" = "Пароль"; + +/* The label of the pre-meal mode toggle button */ +"Pre-Meal Targets" = "Целевые значения до приема пищи"; + +/* Message when offering bolus recommendation even though bg is below range and minBG is in future. (1: glucose time)(2: glucose number) */ +"Predicted glucose at %1$@ is %2$@." = "Предсказываемая гликемия в %1$@ -- %2$@"; + +/* Notice message when recommending bolus when BG is below the suspend threshold. (1: glucose value) */ +"Predicted glucose of %1$@ is below your suspend threshold setting." = "Предсказываемая гликемия %1$@ ниже ваших настроек порога приостановки помпы"; + +/* The title text for the preferred insulin data source config */ +"Preferred Data Source" = "Предпочтительный источник данных"; + +/* The title of the pump section in settings */ +"Pump" = "Помпа"; + +/* The notification title for a low pump battery */ +"Pump Battery Low" = "Низкий заряд батареи помпы"; + +/* The title text for the battery type value */ +"Pump Battery Type" = "Тип батареи помпы"; + +/* The title text for the pump ID config value */ +"Pump ID" = "Инд номер помпы"; + +/* The notification title for an empty pump reservoir */ +"Pump Reservoir Empty" = "Резервуар помпы пуст"; + +/* The notification title for a low pump reservoir */ +"Pump Reservoir Low" = "Низкий уровень резервуара помпы"; + +/* The error message when pump data is too old to be used. (1: pump data age in minutes) */ +"Pump data is %1$@ old" = "Данные помпы от %1$@ "; + +/* Format string for combining localized numeric value and unit. (1: numeric value)(2: unit) */ +"QUANTITY_VALUE_AND_UNIT" = "%1$@ %2$@"; + +/* Title of insulin model preset */ +"Rapid-Acting – Adults" = "Боыстродействующий - взрослые"; + +/* Title of insulin model preset */ +"Rapid-Acting – Children" = "Быстродействующий - дети"; + +/* The error message when a recommendation has expired. (1: age of recommendation in minutes) */ +"Recommendation expired: %1$@ old" = "Рекомнендация истекла : от %1$@"; + +/* The title of the cell displaying a recommended temp basal value */ +"Recommended Basal" = "Рекомендуемый базал"; + +/* Accessibility hint describing recommended bolus units */ +"Recommended Bolus: %@ Units" = "Рекомендуемый болюс: %@ ед"; + +/* The default placeholder string for a credential */ +"Required" = "обязательный"; + +/* Describing the reservoir insulin data source */ +"Reservoir" = "Резервуар"; + +/* Title of the prediction input effect for retrospective correction */ +"Retrospective Correction" = "Ретроспективная коррекция"; + +/* The title of the notification action to retry a bolus command */ +"Retry" = "Повторить попытку"; + +/* The description of sensor calibration state when sensor calibration is ok. */ +"Sensor calibration is OK" = "Калибровка сенсора ОК"; + +/* The description of sensor calibration state when raw value is unknown. (1: missing data details) */ +"Sensor is in unknown state %1$d" = "Состояние сенсора неизвестно %1$d"; + +/* The description of sensor calibration state when sensor sensor is stopped. */ +"Sensor is stopped" = "Сенсор остановлен"; + +/* The description of sensor calibration state when sensor sensor is warming up. */ +"Sensor is warming up" = "Сенсор прогревается"; + +/* The description of sensor calibration state when sensor needs calibration. */ +"Sensor needs calibration" = "Сенсор требует калибровки"; + +/* The title of the Dexcom share server URL credential */ +"Server" = "Сервер"; + +/* The title of the services section in settings */ +"Services" = "Службы"; + +/* The label of the settings button */ +"Settings" = "Настройки"; + +/* Loop Completion HUD accessibility hint */ +"Shows last loop error" = "Показывает крайнюю ошибку помпы"; + +/* The title of the nightscout site URL credential */ +"Site URL" = "URL сайта"; + +/* The title text for the Medtronic sensor switch cell */ +"Sof-Sensor / Enlite" = "Sof-Sensor/Enlite"; + +/* The title of the cell indicating a bolus is being sent */ +"Starting Bolus" = "Начинаю болюс"; + +/* The title text in settings */ +"Suspend Threshold" = "Порог приостановки"; + +/* The empty-state text for a configuration value */ +"Tap to set" = "Щелкнуть чтобы задать"; + +/* Subtitle description of Walsh insulin model setting */ +"The legacy model used by Loop, allowing customization of action duration." = "Модель, используемая для цикла/контура, позволяет настройку длительности действия"; + +/* Body of the alert describing a maximum bolus validation error. (1: The localized max bolus value) */ +"The maximum bolus amount is %@ Units" = "максимальный болюс %@ ед"; + +/* Instructions on where to find the pump ID on a Minimed pump */ +"The pump ID can be found printed on the back, or near the bottom of the STATUS/Esc screen. It is the strictly numerical portion of the serial number (shown as SN or S/N)." = "инд номер помпы находится на ее задней стенке или снизу экрана состояния STATUS/ESC. Это исключительно цифровая часть серийного номера (обозначаемого SN или S/N) "; + +/* Instructions on where to find the transmitter ID */ +"The transmitter ID can be found printed on the back of the device, on the side of the box it came in, and from within the settings menus of the G5 receiver and mobile app." = "Инд. номер трансмиттера находится на задней стенке устройства , сбоку упаковочной коробки, в настроечном меню ресивера G5 и мобильного приложения"; + +/* The description of the switch which toggles retrospective correction effects */ +"This will more aggresively increase or decrease basal delivery when glucose movement doesn't match the carbohydrate and insulin-based model." = "Это более радикально понизит или увеличит подачу базала в тех случаях когда динамика гликемии не соответствует моделям основанным на углеводах и инсулине"; + +/* The title text for the Dexcom G5 transmitter ID config value */ +"Transmitter ID" = "Инд № трансмиттера"; + +/* The unit string for units per hour */ +"U/hour" = "Ед/час"; + +/* U.S. share server option title */ +"US" = "США"; + +/* The unit string for units */ +"Units" = "Ед"; + +/* The title of the alert controller used to select a duration for workout targets */ +"Use Workout Glucose Targets" = "Применить цели гликемии как для физической нагрузки"; + +/* The title of the Dexcom share username credential */ +"Username" = "Имя пользователя"; + +/* Label indicating validation is occurring */ +"Verifying" = "Верифицируется"; + +/* Title of insulin model setting */ +"Walsh" = "Walsh"; + +/* Explanation of suspend threshold */ +"When current or forecasted glucose is below the suspend threshold, Loop will not recommend a bolus, and will always recommend a temporary basal rate of 0 units per hour." = "Если текущая или предсказываемая гликемия ниже порога приостановки помпы, алгоритм цикла ипж не рекомендует болюс и всегда рекомендует временный базал 0 ед/час"; + +/* The label of the workout mode toggle button */ +"Workout Targets" = "Целевые значения при физической нагрузке"; + +/* Format fragment for a specific time */ +"at %@" = "В %@"; + +/* The placeholder text for the nightscout site URL credential */ +"https://mysite.azurewebsites.net" = "https://мойсайт. azurewebsites.net"; + +/* The title of the mLab service */ +"mLab" = "mLab"; + +/* The unit display string for millimoles of glucose per liter */ +"mmol/L" = "ммоль/л"; + +/* Format fragment for a start time */ +"since %@" = "от %@"; + diff --git a/Loop/ru.lproj/Main.strings b/Loop/ru.lproj/Main.strings new file mode 100644 index 0000000000..db2511db8c --- /dev/null +++ b/Loop/ru.lproj/Main.strings @@ -0,0 +1,147 @@ +/* Class = "UINavigationItem"; title = "Status"; ObjectID = "3kU-n2-fha"; */ +"3kU-n2-fha.title" = "Состояние"; + +/* Class = "UILabel"; text = "Pump ID"; ObjectID = "5TX-kX-nBo"; */ +"5TX-kX-nBo.text" = "идентификационный № помпы"; + +/* Class = "UILabel"; text = "3.5 U/hour @ 12:12 PM"; ObjectID = "5gz-kZ-iF1"; */ +"5gz-kZ-iF1.text" = "3,5 ед./час @ 12:12 PM"; + +/* Class = "UILabel"; text = "Bolus"; ObjectID = "5oA-6d-ZTL"; */ +"5oA-6d-ZTL.text" = "Болюс"; + +/* Class = "UITextField"; accessibilityLabel = "Bolus Amount"; ObjectID = "7LT-50-ZzK"; */ +"7LT-50-ZzK.accessibilityLabel" = "Величина болюса"; + +/* Class = "UITextField"; placeholder = "0.0"; ObjectID = "7LT-50-ZzK"; */ +"7LT-50-ZzK.placeholder" = "0.0"; + +/* Class = "UILabel"; text = "Predicted"; ObjectID = "87H-N1-0vJ"; */ +"87H-N1-0vJ.text" = "Предсказываемый"; + +/* Class = "UILabel"; text = "Title"; ObjectID = "B9F-K3-7RI"; */ +"B9F-K3-7RI.text" = "Название"; + +/* Class = "UILabel"; accessibilityLabel = "Units"; ObjectID = "BR0-dr-Fj2"; */ +"BR0-dr-Fj2.accessibilityLabel" = "Единицы"; + +/* Class = "UILabel"; text = "U"; ObjectID = "BR0-dr-Fj2"; */ +"BR0-dr-Fj2.text" = "ед"; + +/* Class = "UILabel"; text = "Future glucose is predicted by combining the effects of multiple inputs. Use this tool to toggle various inputs to see how they compare to the final prediction."; ObjectID = "D4C-I2-dhA"; */ +"D4C-I2-dhA.text" = "Будущие значения СК предсказываются на основе определения эффекта множественных факторов. Пользуйтесь этим инструментом для перехода между разными вводными чтобы увидеть как они сопоставимы с окончательным предсказанием"; + +/* Class = "UILabel"; text = "DEVICES"; ObjectID = "DyC-Sv-qP8"; */ +"DyC-Sv-qP8.text" = "Устройства"; + +/* Class = "UILabel"; text = "eventually 92 mg/dL"; ObjectID = "E41-FN-nkk"; */ +"E41-FN-nkk.text" = "в конечном итоге 92 мг/дл"; + +/* Class = "UILabel"; text = "Observed"; ObjectID = "EAn-Ja-S1d"; */ +"EAn-Ja-S1d.text" = "Наблюдается"; + +/* Class = "UILabel"; text = "Observed changes in glucose, subtracting changes modeled from insulin delivery, can be used to estimate carbohydrate absorption."; ObjectID = "IxU-As-glo"; */ +"IxU-As-glo.text" = "Наблюдаются изменения СК, вычитаются изменения смоделированные на подаваемом инсулине, могут использоваться для оценки усвоения углеводов"; + +/* Class = "UILabel"; text = "Detail"; ObjectID = "J7x-W5-gwo"; */ +"J7x-W5-gwo.text" = "Детали"; + +/* Class = "UILabel"; text = "Label"; ObjectID = "Krd-Aa-ret"; */ +"Krd-Aa-ret.text" = "Пометка"; + +/* Class = "UILabel"; text = "Label"; ObjectID = "OFA-qT-ZAg"; */ +"OFA-qT-ZAg.text" = "Пометка"; + +/* Class = "UITableViewController"; title = "Predicted Glucose"; ObjectID = "PA3-sP-cWY"; */ +"PA3-sP-cWY.title" = "Предсказываемый СК"; + +/* Class = "UILabel"; text = "An insulin activity model is used to estimate effects of insulin on glucose levels. An accurate model can help prevent insulin stacking and safely recommend corrective treatments."; ObjectID = "PJv-p9-cFe"; */ +"PJv-p9-cFe.text" = "Модель действия инсулина применяется для оценки влияния инсулина на уровни гликемии. Точная модель может помочь предотвратить переизбыток инсулина и рекомендовать безопасную коррекцию"; + +/* Class = "UILabel"; text = "eventually 92 mg/dL"; ObjectID = "Rse-x8-amW"; */ +"Rse-x8-amW.text" = "в конечном итоге 92 мг/дл"; + +/* Class = "UILabel"; text = "g COB"; ObjectID = "SQx-au-ZcM"; */ +"SQx-au-ZcM.text" = "г COB"; + +/* Class = "UINavigationItem"; title = "Carbohydrates"; ObjectID = "Vpi-5b-bY5"; */ +"Vpi-5b-bY5.title" = "Углеводы"; + +/* Class = "UITextField"; text = "4 hour"; ObjectID = "Wk3-xv-IM5"; */ +"Wk3-xv-IM5.text" = "4 часа"; + +/* Class = "UIButton"; normalTitle = "Deliver"; ObjectID = "Ya0-9b-ZAS"; */ +"Ya0-9b-ZAS.normalTitle" = "Доставить"; + +/* Class = "UILabel"; text = "Detail"; ObjectID = "aCb-Qs-bpu"; */ +"aCb-Qs-bpu.text" = "Детали"; + +/* Class = "UINavigationItem"; title = "Bolus"; ObjectID = "aiu-ZA-zVa"; */ +"aiu-ZA-zVa.title" = "Болюс"; + +/* Class = "UILabel"; text = "Label"; ObjectID = "bIL-Ub-qYp"; */ +"bIL-Ub-qYp.text" = "Пометка"; + +/* Class = "UILabel"; text = "Glucose Change"; ObjectID = "bq4-98-cQU"; */ +"bq4-98-cQU.text" = "Изменение глюкозы"; + +/* Class = "UILabel"; text = "Label"; ObjectID = "cpo-Po-gFM"; */ +"cpo-Po-gFM.text" = "Пометка"; + +/* Class = "UILabel"; text = "g Total"; ObjectID = "d3X-AN-tA5"; */ +"d3X-AN-tA5.text" = "всего грамм"; + +/* Class = "UILabel"; text = "Label"; ObjectID = "d6m-qV-wWi"; */ +"d6m-qV-wWi.text" = "Пометка"; + +/* Class = "UINavigationItem"; title = "Settings"; ObjectID = "dmB-PQ-B44"; */ +"dmB-PQ-B44.title" = "Настройки"; + +/* Class = "UILabel"; text = "Active Carbohydrates: 40g"; ObjectID = "hHZ-uY-aKw"; */ +"hHZ-uY-aKw.text" = "Активные углеводы : 40 г"; + +/* Class = "UITableViewController"; title = "Carbohydrate Effects"; ObjectID = "hZZ-2S-lrd"; */ +"hZZ-2S-lrd.title" = "Действие углеводов"; + +/* Class = "UILabel"; text = "⚠ Glucose Predicted Below Range"; ObjectID = "k0g-P7-OVN"; */ +"k0g-P7-OVN.text" = "⚠ Предсказываемая гликемия ниже диапазона"; + +/* Class = "UILabel"; text = "Recommended Basal"; ObjectID = "k3F-Na-7mn"; */ +"k3F-Na-7mn.text" = "Рекомендуемый базал"; + +/* Class = "UILabel"; text = "Label"; ObjectID = "l7l-mw-Oc9"; */ +"l7l-mw-Oc9.text" = "Пометка"; + +/* Class = "UILabel"; text = "Tap to set"; ObjectID = "m9c-SQ-djE"; */ +"m9c-SQ-djE.text" = "Коснуться для установки"; + +/* Class = "UILabel"; accessibilityLabel = "Units"; ObjectID = "mVz-dr-xLU"; */ +"mVz-dr-xLU.accessibilityLabel" = "Единицы"; + +/* Class = "UILabel"; text = "U"; ObjectID = "mVz-dr-xLU"; */ +"mVz-dr-xLU.text" = "Ед"; + +/* Class = "UITableViewController"; title = "Insulin Model"; ObjectID = "pi6-Dh-72V"; */ +"pi6-Dh-72V.title" = "Модель инсулина"; + +/* Class = "UILabel"; text = "Glucose"; ObjectID = "tuw-av-A3x"; */ +"tuw-av-A3x.text" = "Гликемия"; + +/* Class = "UILabel"; text = "Label"; ObjectID = "ufi-Kj-33k"; */ +"ufi-Kj-33k.text" = "Пометка"; + +/* Class = "UILabel"; text = "Active Insulin: 1.5U"; ObjectID = "viU-7a-kbI"; */ +"viU-7a-kbI.text" = "Активный инсулин: 1,5 ед"; + +/* Class = "UILabel"; text = "0"; ObjectID = "yn7-2M-jZz"; */ +"yn7-2M-jZz.text" = "0"; + +/* Class = "UILabel"; text = "Recommended"; ObjectID = "ywT-OR-NnU"; */ +"ywT-OR-NnU.text" = "Рекомендовано"; + +/* Class = "UILabel"; text = "Title"; ObjectID = "zbc-87-wxZ"; */ +"zbc-87-wxZ.text" = "Название"; + +/* Class = "UILabel"; text = "0"; ObjectID = "zvZ-uf-zMX"; */ +"zvZ-uf-zMX.text" = "0"; + diff --git a/LoopUI/ru.lproj/InfoPlist.strings b/LoopUI/ru.lproj/InfoPlist.strings new file mode 100644 index 0000000000..5c1fb13406 --- /dev/null +++ b/LoopUI/ru.lproj/InfoPlist.strings @@ -0,0 +1,6 @@ +/* (No Comment) */ +"CFBundleDisplayName" = "LoopUI"; + +/* (No Comment) */ +"CFBundleName" = "$(PRODUCT_NAME)"; + diff --git a/LoopUI/ru.lproj/Localizable.strings b/LoopUI/ru.lproj/Localizable.strings new file mode 100644 index 0000000000..592ce0feae --- /dev/null +++ b/LoopUI/ru.lproj/Localizable.strings @@ -0,0 +1,63 @@ +/* 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$@"; + +/* Accessibility format string for (1: localized volume)(2: time) */ +"%1$@ units remaining at %2$@" = "%1$@ ед остающихся в %2$@"; + +/* The format string describing the basal rate. */ +"%@ U" = "%@ ед"; + +/* Format string describing the time interval since the last completion date. (1: The localized date components */ +"%@ ago" = "%@ назад"; + +/* Format string for reservoir volume. (1: The localized volume) */ +"%@U" = "%@ед"; + +/* Accessibility hint describing completion HUD for a closed loop */ +"Closed loop" = "Алгоритм замкнутого цикла"; + +/* Glucose trend down */ +"Falling" = "Падение"; + +/* Glucose trend down-down */ +"Falling fast" = "Быстрое падение"; + +/* Glucose trend down-down-down */ +"Falling very fast" = "Очень быстрое падение"; + +/* Glucose trend flat */ +"Flat" = "Стабильно"; + +/* Accessbility format label describing the time interval since the last completion date. (1: The localized date components) */ +"Loop ran %@ ago" = "Алгоритм цикла запущен %@ назад"; + +/* 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$@"; + +/* Glucose trend up */ +"Rising" = "Повышение"; + +/* Glucose trend up-up */ +"Rising fast" = "Быстрое повышение"; + +/* Glucose trend up-up-up */ +"Rising very fast" = "Очень быстрое повышение"; + +/* Accessibility value for an unknown value */ +"Unknown" = "Неизвестно"; + +/* Acessibility label describing completion HUD waiting for first run */ +"Waiting for first run" = "Ожидает первичного запуска"; + +/* The unit display string for millimoles of glucose per liter */ +"mmol/L" = "ммоль/л"; + diff --git a/WatchApp Extension/ru.lproj/InfoPlist.strings b/WatchApp Extension/ru.lproj/InfoPlist.strings new file mode 100644 index 0000000000..06077199aa --- /dev/null +++ b/WatchApp Extension/ru.lproj/InfoPlist.strings @@ -0,0 +1,6 @@ +/* (No Comment) */ +"CFBundleDisplayName" = "WatchApp Extension"; + +/* (No Comment) */ +"CFBundleName" = "$(PRODUCT_NAME)"; + diff --git a/WatchApp Extension/ru.lproj/Localizable.strings b/WatchApp Extension/ru.lproj/Localizable.strings new file mode 100644 index 0000000000..bc53c93560 --- /dev/null +++ b/WatchApp Extension/ru.lproj/Localizable.strings @@ -0,0 +1,43 @@ +/* The title of the alert controller displayed after a bolus attempt fails */ +"Bolus Failed" = "Болюс не состоялся"; + +/* The action button title to dismiss an error message */ +"Dismiss" = "Пропустить"; + +/* Glucose trend down */ +"Falling" = "Падение"; + +/* Glucose trend down-down */ +"Falling fast" = "Быстрое падение"; + +/* Glucose trend down-down-down */ +"Falling very fast" = "Очень быстрое падение"; + +/* Glucose trend flat */ +"Flat" = "Стабильно"; + +/* The recovery message displayed after a bolus attempt fails + The recovery message displayed after a carb entry send attempt fails */ +"Make sure your iPhone is nearby and try again" = "Убедитесь, что ваш iPhone поблизости и повторите попытку"; + +/* Format string for combining localized numeric value and unit. (1: numeric value)(2: unit) */ +"QUANTITY_VALUE_AND_UNIT" = "%1$@ %2$@"; + +/* The label and value showing the recommended bolus */ +"Rec: %@ U" = "Рекомендовано: %@ ед"; + +/* Glucose trend up */ +"Rising" = "Повышение"; + +/* Glucose trend up-up */ +"Rising fast" = "Быстрое повышение"; + +/* Glucose trend up-up-up */ +"Rising very fast" = "Очень быстрое повышение"; + +/* The title of the alert controller displayed after a carb entry send attempt fails */ +"Send Failed" = "Ошибка отправки"; + +/* The unit display string for millimoles of glucose per liter */ +"mmol/L" = "ммоль/л"; + diff --git a/WatchApp Extension/ru.lproj/ckcomplication.strings b/WatchApp Extension/ru.lproj/ckcomplication.strings new file mode 100644 index 0000000000..0c9dc09cf7 --- /dev/null +++ b/WatchApp Extension/ru.lproj/ckcomplication.strings @@ -0,0 +1,3 @@ +/* Utilitarian large flat format string (1: Glucose & Trend symbol) (2: Eventual Glucose) (3: Time) */ +"UtilitarianLargeFlat" = "UtilitarianLargeFlat"; + diff --git a/WatchApp/ru.lproj/InfoPlist.strings b/WatchApp/ru.lproj/InfoPlist.strings new file mode 100644 index 0000000000..9250064a26 --- /dev/null +++ b/WatchApp/ru.lproj/InfoPlist.strings @@ -0,0 +1,6 @@ +/* (No Comment) */ +"CFBundleDisplayName" = "Loop"; + +/* (No Comment) */ +"CFBundleName" = "$(PRODUCT_NAME)"; + diff --git a/WatchApp/ru.lproj/Interface.strings b/WatchApp/ru.lproj/Interface.strings new file mode 100644 index 0000000000..838655b533 --- /dev/null +++ b/WatchApp/ru.lproj/Interface.strings @@ -0,0 +1,66 @@ +/* Class = "WKInterfaceButton"; title = "🌮"; ObjectID = "0fo-Z3-hTi"; */ +"0fo-Z3-hTi.title" = "🌮"; + +/* Class = "WKInterfaceLabel"; text = "15"; ObjectID = "CWt-7U-cnK"; */ +"CWt-7U-cnK.text" = "15"; + +/* Class = "WKInterfaceButton"; accessibilityLabel = "Add"; ObjectID = "DZc-Gn-RLu"; */ +"DZc-Gn-RLu.accessibilityLabel" = "Добавить"; + +/* Class = "WKInterfaceButton"; title = "+"; ObjectID = "DZc-Gn-RLu"; */ +"DZc-Gn-RLu.title" = "+"; + +/* Class = "WKInterfaceButton"; accessibilityLabel = "Subtract"; ObjectID = "Dh9-HV-fXy"; */ +"Dh9-HV-fXy.accessibilityLabel" = "вычитать"; + +/* Class = "WKInterfaceButton"; title = "−"; ObjectID = "Dh9-HV-fXy"; */ +"Dh9-HV-fXy.title" = "−"; + +/* Class = "WKInterfaceButton"; title = "Bolus"; ObjectID = "Qsq-p5-1J0"; */ +"Qsq-p5-1J0.title" = "Болюс"; + +/* Class = "WKInterfaceLabel"; text = "10:09 AM"; ObjectID = "Ury-of-vQg"; */ +"Ury-of-vQg.text" = "10:09 AM"; + +/* Class = "WKInterfaceLabel"; text = ""; ObjectID = "XkS-y5-khE"; */ +"XkS-y5-khE.text" = ""; + +/* Class = "WKInterfaceButton"; title = "Add Carbs"; ObjectID = "b6f-3I-jki"; */ +"b6f-3I-jki.title" = "Добавить углеводов"; + +/* Class = "WKInterfaceButton"; title = "🍕"; ObjectID = "dPF-QZ-sh6"; */ +"dPF-QZ-sh6.title" = "🍕"; + +/* Class = "WKInterfaceButton"; accessibilityLabel = "Add"; ObjectID = "eu3-pj-GH3"; */ +"eu3-pj-GH3.accessibilityLabel" = "Добавить\n "; + +/* Class = "WKInterfaceButton"; title = "+"; ObjectID = "eu3-pj-GH3"; */ +"eu3-pj-GH3.title" = "+"; + +/* Class = "WKInterfaceButton"; title = "🍭"; ObjectID = "gAn-qe-OvX"; */ +"gAn-qe-OvX.title" = "🍭"; + +/* Class = "WKInterfaceButton"; accessibilityLabel = "Subtract"; ObjectID = "hjF-xr-cwO"; */ +"hjF-xr-cwO.accessibilityLabel" = "вычитать"; + +/* Class = "WKInterfaceButton"; title = "−"; ObjectID = "hjF-xr-cwO"; */ +"hjF-xr-cwO.title" = "−"; + +/* Class = "WKInterfaceLabel"; text = "Carbs"; ObjectID = "hln-CI-MRP"; */ +"hln-CI-MRP.text" = "Углеводы"; + +/* Class = "WKInterfaceLabel"; text = "Bolus Failed"; ObjectID = "jj3-Gq-HBy"; */ +"jj3-Gq-HBy.text" = "Болюс не состоялся "; + +/* Class = "WKInterfaceLabel"; text = "0.000"; ObjectID = "mpK-zY-UvA"; */ +"mpK-zY-UvA.text" = "0.000"; + +/* Class = "WKInterfaceController"; title = "Loop"; ObjectID = "rNf-Mh-tID"; */ +"rNf-Mh-tID.title" = "Loop"; + +/* Class = "WKInterfaceLabel"; text = "UNITS"; ObjectID = "rV7-d9-n6u"; */ +"rV7-d9-n6u.text" = "ед"; + +/* Class = "WKInterfaceLabel"; text = "Bolus"; ObjectID = "smL-Rc-IZh"; */ +"smL-Rc-IZh.text" = "Болюс"; +