From ee4fdcd6401585a15578c1e11cbdceda93acef5c Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Tue, 16 Apr 2019 11:15:40 +0200 Subject: [PATCH 01/16] Test for uncommited changes in gradle --- app/build.gradle | 41 +++++++++++++++++++++++++++++++++++------ 1 file changed, 35 insertions(+), 6 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 46a2ee19dd..23705b9bee 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -67,6 +67,26 @@ def generateDate = { -> return stringBuilder.toString() } +def isMaster = { -> + return !version.contains('-') +} + +def allCommited = { -> + StringBuilder stringBuilder = new StringBuilder(); + try { + def stdout = new ByteArrayOutputStream() + exec { + commandLine 'git', 'status' + standardOutput = stdout + } + String commitObject = stdout.toString().trim() + stringBuilder.append(commitObject) + } catch (ignored) { + return false; // NoGitSystemAvailable + } + return stringBuilder.toString().contains("nothing to commit") +} + tasks.matching { it instanceof Test }.all { testLogging.events = ["failed", "skipped", "started"] testLogging.exceptionFormat = "full" @@ -83,7 +103,7 @@ android { version "2.2.3-dev" buildConfigField "String", "VERSION", '"' + version + '"' buildConfigField "String", "BUILDVERSION", '"' + generateGitBuild() + '-' + generateDate() + '"' - buildConfigField "String", "REMOTE", '"' + generateGitRemote()+ '"' + buildConfigField "String", "REMOTE", '"' + generateGitRemote() + '"' buildConfigField "String", "HEAD", '"' + generateGitBuild() + '"' testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" // if you change minSdkVersion to less than 11, you need to change executeTask for wear @@ -120,7 +140,7 @@ android { resValue "string", "app_name", "AndroidAPS" versionName version manifestPlaceholders = [ - appIcon: "@mipmap/ic_launcher", + appIcon : "@mipmap/ic_launcher", appIconRound: "@mipmap/ic_launcher_round" ] } @@ -130,7 +150,7 @@ android { resValue "string", "app_name", "Pumpcontrol" versionName version + "-pumpcontrol" manifestPlaceholders = [ - appIcon: "@mipmap/ic_pumpcontrol", + appIcon : "@mipmap/ic_pumpcontrol", appIconRound: "@null" ] } @@ -140,7 +160,7 @@ android { resValue "string", "app_name", "NSClient" versionName version + "-nsclient" manifestPlaceholders = [ - appIcon: "@mipmap/ic_yellowowl", + appIcon : "@mipmap/ic_yellowowl", appIconRound: "@null" ] } @@ -150,7 +170,7 @@ android { resValue "string", "app_name", "NSClient2" versionName version + "-nsclient" manifestPlaceholders = [ - appIcon: "@mipmap/ic_yellowowl", + appIcon : "@mipmap/ic_yellowowl", appIconRound: "@null" ] } @@ -165,7 +185,7 @@ android { unitTests.includeAndroidResources = true } - useLibrary "org.apache.http.legacy" + useLibrary "org.apache.http.legacy" } allprojects { @@ -274,3 +294,12 @@ task full_clean(type: Delete) { clean.dependsOn full_clean preBuild.dependsOn copyLibs + +printf('--------------\n') +printf('isMaster: %s\n', isMaster().toString()) +printf('allCommited: %s\n', allCommited().toString()) +printf('--------------\n') +if (isMaster() && !allCommited()) { + throw new GradleException('There are uncommitted changes or git system is not available. Clone sources again as described in wiki and do not allow gradle update') +} + From 0361ee858944fff8bab395aaa35e35a62a9cc207 Mon Sep 17 00:00:00 2001 From: AdrianLxM Date: Mon, 22 Apr 2019 14:10:12 +0200 Subject: [PATCH 02/16] update logic version checker --- .../nightscout/androidaps/MainActivity.java | 2 +- .../info/nightscout/androidaps/MainApp.java | 5 +++ .../versionChecker/VersionCheckerPlugin.kt | 22 ++--------- .../versionChecker/VersionCheckerUtils.kt | 37 +++++++++++++++---- app/src/main/res/values/strings.xml | 4 +- .../VersionCheckerUtilsKtTest.kt | 30 +++++++++++---- 6 files changed, 63 insertions(+), 37 deletions(-) diff --git a/app/src/main/java/info/nightscout/androidaps/MainActivity.java b/app/src/main/java/info/nightscout/androidaps/MainActivity.java index 31d462a007..6779b0a467 100644 --- a/app/src/main/java/info/nightscout/androidaps/MainActivity.java +++ b/app/src/main/java/info/nightscout/androidaps/MainActivity.java @@ -120,7 +120,7 @@ public class MainActivity extends AppCompatActivity { //Check here if loop plugin is disabled. Else check via constraints if (!LoopPlugin.getPlugin().isEnabled(PluginType.LOOP)) - VersionCheckerUtilsKt.checkVersion(); + VersionCheckerUtilsKt.triggerCheckVersion(); FabricPrivacy.setUserStats(); } diff --git a/app/src/main/java/info/nightscout/androidaps/MainApp.java b/app/src/main/java/info/nightscout/androidaps/MainApp.java index e390d12007..37372ae0d4 100644 --- a/app/src/main/java/info/nightscout/androidaps/MainApp.java +++ b/app/src/main/java/info/nightscout/androidaps/MainApp.java @@ -89,6 +89,8 @@ import info.nightscout.androidaps.services.Intents; import info.nightscout.androidaps.utils.FabricPrivacy; import io.fabric.sdk.android.Fabric; +import static info.nightscout.androidaps.plugins.general.versionChecker.VersionCheckerUtilsKt.triggerCheckVersion; + public class MainApp extends Application { private static Logger log = LoggerFactory.getLogger(L.CORE); @@ -149,6 +151,9 @@ public class MainApp extends Application { registerLocalBroadcastReceiver(); + //trigger here to see the new version on app start after an update + triggerCheckVersion(); + if (pluginsList == null) { pluginsList = new ArrayList<>(); // Register all tabs in app here diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/versionChecker/VersionCheckerPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/versionChecker/VersionCheckerPlugin.kt index 7be99e2369..fc773aaaaf 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/versionChecker/VersionCheckerPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/versionChecker/VersionCheckerPlugin.kt @@ -23,7 +23,7 @@ object VersionCheckerPlugin : PluginBase(PluginDescription() override fun isClosedLoopAllowed(value: Constraint): Constraint { checkWarning() - checkUpdate() + triggerCheckVersion() return if (isOldVersion(GRACE_PERIOD_VERY_OLD)) value.set(false, MainApp.gs(R.string.very_old_version), this) else @@ -34,7 +34,7 @@ object VersionCheckerPlugin : PluginBase(PluginDescription() val now = System.currentTimeMillis() if (isOldVersion(GRACE_PERIOD_WARNING) && shouldWarnAgain(now)) { // store last notification time - SP.putLong(R.string.key_last_versionchecker_warning, now) + SP.putLong(R.string.key_last_versionchecker_plugin_warning, now) //notify val message = MainApp.gs(R.string.new_version_warning, Math.round(now / TimeUnit.DAYS.toMillis(1).toDouble())) @@ -43,21 +43,8 @@ object VersionCheckerPlugin : PluginBase(PluginDescription() } } - private fun checkUpdate() { - val now = System.currentTimeMillis() - if (shouldCheckVersionAgain(now)) { - // store last notification time - SP.putLong(R.string.key_last_versioncheck, now) - - checkVersion() - } - } - - private fun shouldCheckVersionAgain(now: Long) = - now > SP.getLong(R.string.key_last_versioncheck, 0) + CHECK_EVERY - private fun shouldWarnAgain(now: Long) = - now > SP.getLong(R.string.key_last_versionchecker_warning, 0) + WARN_EVERY + now > SP.getLong(R.string.key_last_versionchecker_plugin_warning, 0) + WARN_EVERY override fun applyMaxIOBConstraints(maxIob: Constraint): Constraint = if (isOldVersion(GRACE_PERIOD_OLD)) @@ -67,10 +54,9 @@ object VersionCheckerPlugin : PluginBase(PluginDescription() private fun isOldVersion(gracePeriod: Long): Boolean { val now = System.currentTimeMillis() - return now > SP.getLong(R.string.key_new_version_available_since, 0) + gracePeriod + return now > SP.getLong(R.string.key_last_time_this_version_detected, 0) + gracePeriod } - val CHECK_EVERY = TimeUnit.DAYS.toMillis(1) val WARN_EVERY = TimeUnit.DAYS.toMillis(1) val GRACE_PERIOD_WARNING = TimeUnit.DAYS.toMillis(30) val GRACE_PERIOD_OLD = TimeUnit.DAYS.toMillis(60) diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/versionChecker/VersionCheckerUtils.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/versionChecker/VersionCheckerUtils.kt index b8cfa7fffc..1b01ea70de 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/versionChecker/VersionCheckerUtils.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/versionChecker/VersionCheckerUtils.kt @@ -15,6 +15,7 @@ import org.apache.http.impl.client.DefaultHttpClient import org.slf4j.LoggerFactory import java.io.IOException import java.io.InputStream +import java.util.concurrent.TimeUnit // check network connection fun isConnected(): Boolean { @@ -35,8 +36,16 @@ inline fun InputStream.findVersion(): String? { private val log = LoggerFactory.getLogger(L.CORE) + +fun triggerCheckVersion() { + // If we are good, only check once every day. + if(System.currentTimeMillis() > SP.getLong(R.string.key_last_time_this_version_detected, 0) + CHECK_EVERY){ + checkVersion() + } +} + @Suppress("DEPRECATION") -fun checkVersion() = if (isConnected()) { +private fun checkVersion() = if (isConnected()) { Thread { try { val request = HttpGet("https://raw.githubusercontent.com/MilosKozak/AndroidAPS/master/app/build.gradle") @@ -56,12 +65,17 @@ fun compareWithCurrentVersion(newVersion: String?, currentVersion: String) { comparison == null -> onVersionNotDetectable() comparison == 0 -> onSameVersionDetected() comparison > 0 -> onNewVersionDetected(currentVersion = currentVersion, newVersion = newVersion) - else -> log.debug("Version newer than master. Are you developer?") + else -> onOlderVersionDetected() } } +private fun onOlderVersionDetected() { + log.debug("Version newer than master. Are you developer?") + SP.putLong(R.string.key_last_time_this_version_detected, System.currentTimeMillis()) +} + fun onSameVersionDetected() { - SP.remove(R.string.key_new_version_available_since) + SP.putLong(R.string.key_last_time_this_version_detected, System.currentTimeMillis()) } fun onVersionNotDetectable() { @@ -69,10 +83,13 @@ fun onVersionNotDetectable() { } fun onNewVersionDetected(currentVersion: String, newVersion: String?) { - log.debug("Version ${currentVersion} outdated. Found $newVersion") - val notification = Notification(Notification.NEWVERSIONDETECTED, String.format(MainApp.gs(R.string.versionavailable), newVersion.toString()), Notification.LOW) - MainApp.bus().post(EventNewNotification(notification)) - SP.putLong(R.string.key_new_version_available_since, System.currentTimeMillis()) + val now = System.currentTimeMillis() + if(now > SP.getLong(R.string.key_last_versionchecker_warning, 0) + WARN_EVERY) { + log.debug("Version ${currentVersion} outdated. Found $newVersion") + val notification = Notification(Notification.NEWVERSIONDETECTED, String.format(MainApp.gs(R.string.versionavailable), newVersion.toString()), Notification.LOW) + MainApp.bus().post(EventNewNotification(notification)) + SP.putLong(R.string.key_last_versionchecker_warning, now) + } } fun String.versionStrip() = this.mapNotNull { @@ -81,4 +98,8 @@ fun String.versionStrip() = this.mapNotNull { '.' -> it else -> null } -}.joinToString(separator = "") \ No newline at end of file +}.joinToString(separator = "") + + +val CHECK_EVERY = TimeUnit.DAYS.toMillis(1) +val WARN_EVERY = TimeUnit.DAYS.toMillis(1) diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 9aa326361b..6722bc7786 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -1327,9 +1327,9 @@ Not configured Profile switch created Version Checker - new_version_available_since + last_time_this_version_detected last_versionchecker_waring - key_last_versioncheck + last_versionchecker_plugin_waring old version very old version diff --git a/app/src/test/java/info/nightscout/androidaps/plugins/general/versionChecker/VersionCheckerUtilsKtTest.kt b/app/src/test/java/info/nightscout/androidaps/plugins/general/versionChecker/VersionCheckerUtilsKtTest.kt index 29725e4d9e..2d07e40c1d 100644 --- a/app/src/test/java/info/nightscout/androidaps/plugins/general/versionChecker/VersionCheckerUtilsKtTest.kt +++ b/app/src/test/java/info/nightscout/androidaps/plugins/general/versionChecker/VersionCheckerUtilsKtTest.kt @@ -70,7 +70,9 @@ class VersionCheckerUtilsKtTest { verify(bus, times(1)).post(any()) PowerMockito.verifyStatic(SP::class.java, times(1)) - SP.putLong(eq(R.string.key_new_version_available_since), ArgumentMatchers.anyLong()) + SP.getLong(eq(R.string.key_last_versionchecker_warning), ArgumentMatchers.anyLong()) + PowerMockito.verifyStatic(SP::class.java, times(1)) + SP.putLong(eq(R.string.key_last_versionchecker_warning), ArgumentMatchers.anyLong()) PowerMockito.verifyNoMoreInteractions(SP::class.java) } @@ -85,7 +87,9 @@ class VersionCheckerUtilsKtTest { verify(bus, times(1)).post(any()) PowerMockito.verifyStatic(SP::class.java, times(1)) - SP.putLong(eq(R.string.key_new_version_available_since), ArgumentMatchers.anyLong()) + SP.getLong(eq(R.string.key_last_versionchecker_warning), ArgumentMatchers.anyLong()) + PowerMockito.verifyStatic(SP::class.java, times(1)) + SP.putLong(eq(R.string.key_last_versionchecker_warning), ArgumentMatchers.anyLong()) PowerMockito.verifyNoMoreInteractions(SP::class.java) } @@ -99,7 +103,9 @@ class VersionCheckerUtilsKtTest { verify(bus, times(1)).post(any()) PowerMockito.verifyStatic(SP::class.java, times(1)) - SP.putLong(eq(R.string.key_new_version_available_since), ArgumentMatchers.anyLong()) + SP.getLong(eq(R.string.key_last_versionchecker_warning), ArgumentMatchers.anyLong()) + PowerMockito.verifyStatic(SP::class.java, times(1)) + SP.putLong(eq(R.string.key_last_versionchecker_warning), ArgumentMatchers.anyLong()) PowerMockito.verifyNoMoreInteractions(SP::class.java) } @@ -113,7 +119,9 @@ class VersionCheckerUtilsKtTest { verify(bus, times(1)).post(any()) PowerMockito.verifyStatic(SP::class.java, times(1)) - SP.putLong(eq(R.string.key_new_version_available_since), ArgumentMatchers.anyLong()) + SP.getLong(eq(R.string.key_last_versionchecker_warning), ArgumentMatchers.anyLong()) + PowerMockito.verifyStatic(SP::class.java, times(1)) + SP.putLong(eq(R.string.key_last_versionchecker_warning), ArgumentMatchers.anyLong()) PowerMockito.verifyNoMoreInteractions(SP::class.java) } @@ -126,7 +134,9 @@ class VersionCheckerUtilsKtTest { verify(bus, times(1)).post(any()) PowerMockito.verifyStatic(SP::class.java, times(1)) - SP.putLong(eq(R.string.key_new_version_available_since), ArgumentMatchers.anyLong()) + SP.getLong(eq(R.string.key_last_versionchecker_warning), ArgumentMatchers.anyLong()) + PowerMockito.verifyStatic(SP::class.java, times(1)) + SP.putLong(eq(R.string.key_last_versionchecker_warning), ArgumentMatchers.anyLong()) PowerMockito.verifyNoMoreInteractions(SP::class.java) } @@ -139,7 +149,9 @@ class VersionCheckerUtilsKtTest { verify(bus, times(1)).post(any()) PowerMockito.verifyStatic(SP::class.java, times(1)) - SP.putLong(eq(R.string.key_new_version_available_since), ArgumentMatchers.anyLong()) + SP.getLong(eq(R.string.key_last_versionchecker_warning), ArgumentMatchers.anyLong()) + PowerMockito.verifyStatic(SP::class.java, times(1)) + SP.putLong(eq(R.string.key_last_versionchecker_warning), ArgumentMatchers.anyLong()) PowerMockito.verifyNoMoreInteractions(SP::class.java) } @@ -159,7 +171,7 @@ class VersionCheckerUtilsKtTest { verify(bus, times(0)).post(any()) PowerMockito.verifyStatic(SP::class.java, times(1)) - SP.remove(eq(R.string.key_new_version_available_since)) + SP.putLong(eq(R.string.key_last_time_this_version_detected), ArgumentMatchers.anyLong()) PowerMockito.verifyNoMoreInteractions(SP::class.java) } @@ -179,7 +191,9 @@ class VersionCheckerUtilsKtTest { verify(bus, times(1)).post(any()) PowerMockito.verifyStatic(SP::class.java, times(1)) - SP.putLong(eq(R.string.key_new_version_available_since), ArgumentMatchers.anyLong()) + SP.getLong(eq(R.string.key_last_versionchecker_warning), ArgumentMatchers.anyLong()) + PowerMockito.verifyStatic(SP::class.java, times(1)) + SP.putLong(eq(R.string.key_last_versionchecker_warning), ArgumentMatchers.anyLong()) PowerMockito.verifyNoMoreInteractions(SP::class.java) } From 249121f80de6b31e01ae50ffbd1a9ffc80d421de Mon Sep 17 00:00:00 2001 From: AdrianLxM Date: Tue, 23 Apr 2019 21:22:44 +0200 Subject: [PATCH 03/16] outdated on install edge case --- .../plugins/general/versionChecker/VersionCheckerUtils.kt | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/versionChecker/VersionCheckerUtils.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/versionChecker/VersionCheckerUtils.kt index 1b01ea70de..8791030abb 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/versionChecker/VersionCheckerUtils.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/versionChecker/VersionCheckerUtils.kt @@ -38,6 +38,12 @@ private val log = LoggerFactory.getLogger(L.CORE) fun triggerCheckVersion() { + + if(!SP.contains(R.string.key_last_time_this_version_detected)) { + // On a new installation, set it as 30 days old in order to warn that there is a new version. + SP.putLong(R.string.key_last_time_this_version_detected, System.currentTimeMillis() - TimeUnit.DAYS.toMillis(30)) + } + // If we are good, only check once every day. if(System.currentTimeMillis() > SP.getLong(R.string.key_last_time_this_version_detected, 0) + CHECK_EVERY){ checkVersion() From 0cab8c1d898e57c466741373c7d44e62cbdce9c1 Mon Sep 17 00:00:00 2001 From: AdrianLxM Date: Tue, 23 Apr 2019 21:40:10 +0200 Subject: [PATCH 04/16] warn at date --- .../plugins/general/versionChecker/VersionCheckerPlugin.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/versionChecker/VersionCheckerPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/versionChecker/VersionCheckerPlugin.kt index fc773aaaaf..2a4c08a585 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/versionChecker/VersionCheckerPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/versionChecker/VersionCheckerPlugin.kt @@ -37,7 +37,7 @@ object VersionCheckerPlugin : PluginBase(PluginDescription() SP.putLong(R.string.key_last_versionchecker_plugin_warning, now) //notify - val message = MainApp.gs(R.string.new_version_warning, Math.round(now / TimeUnit.DAYS.toMillis(1).toDouble())) + val message = MainApp.gs(R.string.new_version_warning, Math.round((now - SP.getLong(R.string.key_last_time_this_version_detected, now)) / TimeUnit.DAYS.toMillis(1).toDouble())) val notification = Notification(Notification.OLDVERSION, message, Notification.NORMAL) MainApp.bus().post(EventNewNotification(notification)) } From ee82976fc5ab6a87d9d1b37a08ce6f6432ffe340 Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Wed, 24 Apr 2019 09:07:12 +0200 Subject: [PATCH 05/16] New Crowdin translations (#1752) * New translations strings.xml (Portuguese) * New translations strings.xml (Portuguese) * New translations strings.xml (Slovak) * New translations strings.xml (French) * New translations strings.xml (Chinese Simplified) * New translations strings.xml (Polish) * New translations strings.xml (Korean) * New translations strings.xml (Portuguese) * New translations strings.xml (Italian) * New translations strings.xml (Portuguese, Brazilian) * New translations strings.xml (Greek) * New translations strings.xml (French) * New translations strings.xml (Romanian) * New translations strings.xml (Turkish) * New translations strings.xml (Swedish) * New translations strings.xml (Spanish) * New translations strings.xml (Dutch) * New translations strings.xml (Russian) * New translations strings.xml (Lithuanian) * New translations strings.xml (German) * New translations strings.xml (Czech) * New translations strings.xml (Bulgarian) * New translations strings.xml (Afrikaans) * New translations strings.xml (Slovak) * New translations strings.xml (Russian) * New translations strings.xml (Russian) * New translations strings.xml (German) * New translations strings.xml (Russian) * New translations strings.xml (German) * New translations strings.xml (Portuguese, Brazilian) * New translations strings.xml (Lithuanian) * New translations strings.xml (Slovak) * New translations strings.xml (Polish) * New translations strings.xml (Polish) * New translations strings.xml (Polish) * New translations strings.xml (Polish) * New translations strings.xml (Chinese Simplified) * New translations strings.xml (Chinese Simplified) * New translations strings.xml (Chinese Simplified) * New translations strings.xml (Chinese Simplified) * New translations strings.xml (Chinese Simplified) * New translations strings.xml (Chinese Simplified) * New translations strings.xml (Czech) * New translations strings.xml (Polish) * New translations strings.xml (Lithuanian) * New translations strings.xml (Lithuanian) * New translations strings.xml (French) * New translations strings.xml (Bulgarian) * New translations strings.xml (Greek) * New translations strings.xml (Portuguese) --- app/src/main/res/values-af/strings.xml | 7 ---- app/src/main/res/values-bg/strings.xml | 18 +++++---- app/src/main/res/values-cs/strings.xml | 18 +++++---- app/src/main/res/values-de/strings.xml | 16 +++++--- app/src/main/res/values-el/strings.xml | 18 +++++---- app/src/main/res/values-es/strings.xml | 7 ---- app/src/main/res/values-fr/strings.xml | 18 +++++---- app/src/main/res/values-it/strings.xml | 5 --- app/src/main/res/values-ko/strings.xml | 5 --- app/src/main/res/values-lt/strings.xml | 20 ++++++---- app/src/main/res/values-nl/strings.xml | 7 ---- app/src/main/res/values-pl/strings.xml | 51 ++++++++++++++++++++++---- app/src/main/res/values-pt/strings.xml | 22 ++++++----- app/src/main/res/values-ro/strings.xml | 7 ---- app/src/main/res/values-ru/strings.xml | 18 +++++---- app/src/main/res/values-sk/strings.xml | 18 +++++---- app/src/main/res/values-sv/strings.xml | 7 ---- app/src/main/res/values-tr/strings.xml | 5 --- app/src/main/res/values-zh/strings.xml | 39 ++++++++++++++++---- 19 files changed, 177 insertions(+), 129 deletions(-) diff --git a/app/src/main/res/values-af/strings.xml b/app/src/main/res/values-af/strings.xml index 1200a8e2e3..a0a0048ca1 100644 --- a/app/src/main/res/values-af/strings.xml +++ b/app/src/main/res/values-af/strings.xml @@ -147,8 +147,6 @@ Beperkings skending Bolus aflewering fout Tempbasal aflewering fout - Basale waarde [%] - % (100% =huidig) Aanvaar nuwe tydelike basale: Behandeling Rekenaar @@ -248,7 +246,6 @@ Pomp IAB Daaglikse eenhede Laaste bolus - %.1fh gelede Ongeldige invoer Waarde nie behoorlik gestel Herlaai profiel @@ -528,7 +525,6 @@ Insulien weerstandige volwasse Kies asseblief pasiënt ouderdom om veiligheids limiete te stel Glimp - %s benodig battery optimisering whitelisting vir behoorlike prestasie Lus opgeskort Opgeskort (%1$d m) Superbolus (%1$d m) @@ -564,8 +560,6 @@ Wys status vlae vir cage, iage, sage, stoor en battery vlak op tuisskerm. Drempel waarskuwings stoor vlak [U] Drempel kritieke stoor vlak [U] - Drempel waarskuwing battery vlak [%] - Drempel kritieke battery vlak [%] IAB KOB Firmware @@ -764,7 +758,6 @@ Loop tans Kanselleer TBR Stel TBR (%1$d%% / %2$d min) - Bolusing (%.1f U) Verfris Versoekte bewerking nie ondersteun deur pomp Onveilige gebruik: uitgebreide of multigolf boluses is aktief. Lus modus is gestel om laag te opskort net 6 ure. Net gewone boluses is ondersteun in lus modus diff --git a/app/src/main/res/values-bg/strings.xml b/app/src/main/res/values-bg/strings.xml index 61b87d0f13..8453a50ffe 100644 --- a/app/src/main/res/values-bg/strings.xml +++ b/app/src/main/res/values-bg/strings.xml @@ -147,8 +147,8 @@ Нарушено ограничение Грешка при подаване на болус Грешка при подаване на временен базал - Стойност на базал [%] - % (100% = текущ) + Базална стойност [%%] + %% (100%% = текущ) Приложи нов временен базал: Болус Калкулатор @@ -248,7 +248,7 @@ IOB на помпата Инсулин за деня Последен болус: - преди %.1fч + преди %1$.1fч Грешни входящи данни Неправилна стойност Презареди профил @@ -528,7 +528,7 @@ Възрастни с голяма инсулинова резистентност Изберете възраст за определяне лимитите на безопасност Glimp - %s се нуждае от зключване на оптимизиране на батерията за пълна функционалност + %1$s се нуждае от изключване от списъка за оптимизиране на батерията за пълна функционалност Loop изключен Изключен (%1$d мин) Суперболус (%1$d мин) @@ -564,8 +564,8 @@ Покажи статус светлини за канула, инсулин, сензор, резервоар и батерията на началния екран. Ниво за аларма за останал инсулин в резервоара [Е] Критично ниво на останал инсулин в резервоар [Е] - Аларма за заряд на батерия [%] - Критично ниво на батерията под [%] + Ниско ниво на батерията под [%%] + Критично ниво на батерията под [%%] IOB СОВ Фърмуер @@ -764,7 +764,7 @@ Изпълнява Отказва временен базал Задава временен базал (%1$d%% / %2$d min) - Болус (%.1f U) + Болус (%1$.1f Е) Обновява Исканата операция не се поддържа от помпата Опасно използване: удължени или многовълнови болуси са активни. Помпата е изключена за само 6 часа. Само нормални болуси се поддържат. @@ -1156,6 +1156,10 @@ Грешен код. Командата не е изпълнена. Не е конфигуриран Създаден запис - Промяна на профил + Проверка на версията + стара версия + много стара версия + Има нова версия от най-малко %1$d дни! Връщане към LGS след 60 дни, цикълът ще бъде изключен след 90 дни %1$d дeн %1$d дни diff --git a/app/src/main/res/values-cs/strings.xml b/app/src/main/res/values-cs/strings.xml index 61864568d3..96a66c5b8b 100644 --- a/app/src/main/res/values-cs/strings.xml +++ b/app/src/main/res/values-cs/strings.xml @@ -147,8 +147,8 @@ Mimo povolený rozsah Chyba podání bolusu Chyba nastavování dočasného bazálu - Hodnota bazálu [%] - % (100% = současný) + Hodnota bazálu [%%] + %% (100%% = současný) Spustit nový dočasný bazál: Bolus Kalkulačka @@ -248,7 +248,7 @@ IOB z pumpy Jednotek za den Poslední bolus - před %.1fh + před %1$.1fh Chybná vstupní data Hodnota nenastavena správně Obnovit profil @@ -528,7 +528,7 @@ Dospělý s nízkou citlivostí Vyberte věk pacienta pro nastavení bezpečnostních limitů Glimp - %s potřebuje vypnout optimalizace baterie pro optimální výkon + %1$s potřebuje vypnout optimalizace baterie pro optimální výkon Smyčka pozastavena Pozastaveno (%1$d min) Superbolus (%1$d m) @@ -564,8 +564,8 @@ Povolte stavové indikátory pro stáří kanyly, inzulínu, senzoru, zásobníku a baterie na domovské obrazovce. Úroveň varování stavu zásobníku [U] Úroveň kritického varování stavu zásobníku [U] - Úroveň varování stavu baterie [%] - Úroveň kritického varování stavu baterie [%] + Úroveň varování stavu baterie [%%] + Úroveň kritického varování stavu baterie [%%] IOB COB Firmware @@ -764,7 +764,7 @@ Běží Rušení dočasného bazálu Nastavování doč. bazálu (%1$d%% / %2$d min) - Bolus (%.1f U) + Bolus (%1$.1f U) Obnovování Požadovaná operace není pumpou podporována Nebezpečné použití: extended nebo multiwave bolus je aktivní. Pumpa byla vypnuta jen na 6 hodin. Povolené jsou pouze normální bolusy. @@ -1156,6 +1156,10 @@ Nesprávný kód. Příkaz zrušen. Není nakonfigurováno Přepnutí profilu vytvořeno + Kontrola verze + stará verze + velmi stará verze + Nová verze je dostupná minimálně %1$d dní! Přepnutí na ochranu před nízkou glykémií po 60 dnech, vypnutí smyčky po 90 dnech %1$d den %1$d dnů diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index ed46e6a8ea..2d0a15d6ac 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -147,8 +147,8 @@ Beschränkungen wurden verletzt oder Limit erreicht. Bolus-Abgabefehler TBR Abgabe-Fehler - Basal-Wert [%] - % (100% = aktuell) + Basal-Wert [%%] + %% (100%% = aktuell) Akzeptiere neue TBR: Bolus Rechner @@ -248,7 +248,7 @@ Pumpen-IOB Tägliche Einheiten Letzter Bolus: - vor %.1f h + vor %1$.1f Stunde Ungültige Eingabedaten Wert nicht korrekt gesetzt Profil neuladen @@ -529,7 +529,7 @@ maxIOB = durchschnittlicher Essensbolus + 3 x maximale Basalrate Insulinresistenter Erwachsener Bitte wähle das Patientenalter, um die Sicherheits-Limits festzulegen Glimp - %s benötigt eine deaktivierte Akku-Leistungsoptimierung, um korrekt arbeiten zu können. + %1$s benötigt eine deaktivierte Akku-Leistungsoptimierung, um korrekt arbeiten zu können. Loop pausiert Pausiert (%1$d min) Superbolus (%1$d m) @@ -565,8 +565,8 @@ maxIOB = durchschnittlicher Essensbolus + 3 x maximale Basalrate Statusanzeige für CAGE, IAGE, SAGE, Reservoir- und Batteriestand auf dem Homescreen. Warnschwelle Reservoirstand [IE] Warnschwelle kritischer Reservoirstand [IE] - Warnschwelle Batteriestand [%] - Warnschwelle kritischer Batteriestand [%] + Warnschwelle Batteriestand [%%] + Warnschwelle kritischer Batteriestand [%%] IOB COB Firmware @@ -1158,6 +1158,10 @@ Unerwartetes Verhalten. Falscher Code. Befehl wurde abgebrochen. Nicht konfiguriert Profilwechsel wurde erstellt + Versionsprüfer + Vorherige Version + sehr alte Version + Neue Version für mindestens %1$d Tage verfügbar! Rückfall zur sensorunterstützten Pumpentherapie nach 60 Tagen, Loop wird nach 90 Tagen deaktiviert %1$d Tag %1$d Tage diff --git a/app/src/main/res/values-el/strings.xml b/app/src/main/res/values-el/strings.xml index 155afd10d0..9872c77080 100644 --- a/app/src/main/res/values-el/strings.xml +++ b/app/src/main/res/values-el/strings.xml @@ -147,8 +147,8 @@ Παραβίαση Περιορισμών Σφάλμα παράδοσης Bolus Σφάλμα παράδοσης Προσ Ρυθμού - Τιμή Βασικού [%] - % (100% = τρέχων) + Τιμή Βασικού [%%] + %% (100%% = τρέχων) Αποδοχή νέου Προσ Ρυθμού: Θεραπεία Υπολογιστής @@ -248,7 +248,7 @@ IOB αντλίας Μονάδες ανά ημέρα Τελευταίο Bolus: - πριν από %.1fh + %1$.1fώρες πριν Μη έγκυρα δεδομένα Η τιμή δεν μπήκε σωστά Ξαναφορτώστε το προφίλ @@ -528,7 +528,7 @@ Αντίσταση ινσουλίνης ενηλίκων Παρακαλώ επιλέξτε ηλικία χρήστη για να ορισθούν όρια ασφαλείας Glimp - Το %s πρέπει να απενεργοποιήσει τη βελτιστοποίηση της μπαταρίας για βέλτιστη απόδοση + %1$s χρειάζεται λίστα βελτιστοποίησης μπαταρίας για σωστή απόδοση Κύκλωμα σε αναστολή Αναστολή (%1$d m) Superbolus (%1$d m) @@ -564,8 +564,8 @@ Ενεργοποίηση του φωτισμού κατάστασης για cage, iage, sage, reservoir και επίπεδο μπεταρίας στην αρχική οθόνη. Όριο προειδοποίησης χαμηλής αμπούλας [U] Όριο προειδοποίησης πολύ χαμηλής αμπούλας [U] - Όριο προειδοποίησης χαμηλής μπαταρίας [%] - Όριο προειδοποίησης πολύ χαμηλής μπαταρίας [%] + Όριο προειδοποίησης χαμηλής μπαταρίας [%%] + Όριο προειδοποίησης πολύ χαμηλής μπαταρίας [%%] IOB COB Έκδοση @@ -764,7 +764,7 @@ Εκτελείτε Ακυρώνεται TBR Ρύθμιση TBR (%1$d%% / %2$d λεπτά) - Bolus (%.1f U) + Bolus (%1$.1f U) Ανανέωση Η λειτουργία που ζητήθηκε δεν υποστηρίζεται από την αντλία Επικίνδυνη χρήση: Εκτεταμένο ή πολλαπλά bolus είναι ενεργό. Το κύκλωμα απενεργοποιήθηκε λόγω low-suspend μόνο για 6 ώρες. Επιτρέπονται μόνο κανονικά bolus @@ -1156,6 +1156,10 @@ Λάθος κωδικός. Η εντολή ακυρώθηκε. Δεν έχει ρυθμιστεί Δημιουργήθηκε αλλαγή προφίλ + Έλεγχος Έκδοσης + παλιά έκδοση + πολύ παλιά έκδοση + Νέα έκδοση για τουλάχιστον %1$d ημέρες διαθέσιμη! Επιστροφή σε LGS μετά από 60 ημέρες, το κύκλωμα θα απενεργοποιηθεί μετά από 90 ημέρες %1$d ημέρα %1$d ημέρες diff --git a/app/src/main/res/values-es/strings.xml b/app/src/main/res/values-es/strings.xml index 9d800ccc59..93d2498e5a 100644 --- a/app/src/main/res/values-es/strings.xml +++ b/app/src/main/res/values-es/strings.xml @@ -143,8 +143,6 @@ Violación restricciones Error de administración del bolo Basal Temporal no emitida - Valor basal [%] - % (100% = actual) Aceptar nueva basal temporal: Tratamiento Calculadora @@ -244,7 +242,6 @@ Bomba IOB Unidades diarias Último bolo - Hace %.1fh Datos inválidos Valor no establecido correctamente Recargar Perfil @@ -503,7 +500,6 @@ Adulto resistente a la insulina Por favor elige la edad del paciente para ajustar los límites de seguridad Glimp - %s necesita optimización de batería lista blanca para funcionar bien Loop desactivado Desactivado (%1$d m) Superbolo (%1$d m) @@ -539,8 +535,6 @@ Habilitar las luces de estado para tiempo de la canula, tiempo de la insulina, tiempo del sensor y nivel de bateria en la pantalla de inicio. Umbral de advertencia de nivel de reservorio [U] Umbral crítico de nivel de reservorio [U] - Umbral de advertencia de nivel de pila [%] - Umbral crítico de nivel de batería [%] IOB COB Firmware @@ -734,7 +728,6 @@ Funcionando Cancelando TBR Poniendo TBR (%1$d%% / %2$d min) - Emitiendo bolo (%.1f U) Actualizando Acción requerida no disponible por la bomba Uso inseguro: bolo extendido o multionda activo. El modo del lazo ha sido fijado a sólo suspensión en baja glucosa durante 6 horas. En modo lazo sólo se soportan los bolo estándar. diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml index 0b5ef3c187..0ae7423e5d 100644 --- a/app/src/main/res/values-fr/strings.xml +++ b/app/src/main/res/values-fr/strings.xml @@ -147,8 +147,8 @@ Violation des restrictions Erreur injection bolus Erreur injection basal temporaire - Valeur Basal [%] - % (100% = actuel) + Valeur de Basal [%%] + %% (100%% = actuel) Accepter nouveau basal temporaire : Traitement Calculatrice @@ -249,7 +249,7 @@ L\'ENSEMBLE DES RISQUES LIÉS À LA QUALITÉ ET À LA PERFORMANCE DU PROGRAMME S Insuline Active pompe Unités journalières Dernier bolus - %.1fh passées + il y a %1$.1fh Données saisies invalides Valeur pas correctement définie Actualiser le profil @@ -529,7 +529,7 @@ L\'ENSEMBLE DES RISQUES LIÉS À LA QUALITÉ ET À LA PERFORMANCE DU PROGRAMME S Adulte résistant à l\'insuline Veuillez svp sélectionner l’âge du patient pour définir les limites de sécurité Glimp - %s a besoin de la liste blanche de l’optimisation batterie pour une bonne performance + %1$s a besoin d\'optimisation de la batterie (whitelisting) pour une performance correcte La Boucle est suspendue Suspendu (%1$d m) Superbolus (%1$d m) @@ -565,8 +565,8 @@ L\'ENSEMBLE DES RISQUES LIÉS À LA QUALITÉ ET À LA PERFORMANCE DU PROGRAMME S Activer les lumières d\'état pour AgeC, AgeI, AgeS, niveaux du réservoir et de batterie sur l\'écran d\'accueil. Seuil d\'avertissement de niveau du réservoir [U] Seuil critique de niveau du réservoir [U] - Seuil d’avertissement du niveau de batterie [%] - Seuil critique du niveau de la batterie [%] + Seuil d’avertissement du niveau de batterie [%%] + Seuil critique du niveau de la batterie [%%] IA GA Firmware @@ -765,7 +765,7 @@ L\'ENSEMBLE DES RISQUES LIÉS À LA QUALITÉ ET À LA PERFORMANCE DU PROGRAMME S En cours d\'exécution Annulation en cours du TBR Paramétrer TBR (%1$d%% / %2$d min) - Injection du bolus en cours (%.1f U) + Injection du Bolus en cours (%1$.1f U) Actualisation en cours L\'opération demandée n\'est pas prise en charge par la pompe Utilisation dangereuse : les bolus étendus ou carrés sont actifs. Le mode Boucle a été programmé pour des suspensions seulement pour 6 heures. Uniquement les bolus normaux sont pris en charge par le mode Boucle @@ -1157,6 +1157,10 @@ L\'ENSEMBLE DES RISQUES LIÉS À LA QUALITÉ ET À LA PERFORMANCE DU PROGRAMME S Code incorrect. Commande annulée. Non configuré Changement de profil effectué + Vérificateur de version + ancienne version + très ancienne version + Une nouvelle version est disponible depuis au moins %1$d jours ! Retour au traitement par pompe assistée par capteur (Arrêt par Glycémie Basse (AGB), Low Glucose Suspend (LGS) ) après 60 jours et la Boucle sera désactivée après 90 jours %1$d jour %1$d jours diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml index cbb98e7289..5d942f4818 100644 --- a/app/src/main/res/values-it/strings.xml +++ b/app/src/main/res/values-it/strings.xml @@ -143,8 +143,6 @@ Vincolo Violato Errore di erogazione del bolo Errore di somministrazione basale temporale - Valore Basale [%] - % (100% = corrente) Accettare il nuovo basale temp Boli Calcolatore @@ -244,7 +242,6 @@ IOB Microinfusore Unita\' giornaliera Ultimo Bolo - %.1fh fa Data Errata Valore non impostato correttamente Aggiorna Profilo @@ -502,7 +499,6 @@ Insulina resistente Si prega di selezionare l\'età paziente e di impostare i limiti di sicurezza Glimp - %s ha bisogno di whitelisting di ottimizzazione della batteria per un buon funzionamento Sospensione Loop Sospendi (%1$d m) Superbolo (%1$d m) @@ -722,7 +718,6 @@ In esecuzione Annullamento di TBR L\'impostazione di TBR (%1$d%% / %2$d min) - Bolusing (%.1f U) Aggiornando Richiesta operazione non supportata dal micro L\'utilizzo non sicuro: estesi o multiwave boli sono attivi. Modalità loop è stato impostato basso-sospendere solo 6 ore. Solo normali boli sono supportati in modalità loop diff --git a/app/src/main/res/values-ko/strings.xml b/app/src/main/res/values-ko/strings.xml index 80b2994a0e..46b451b602 100644 --- a/app/src/main/res/values-ko/strings.xml +++ b/app/src/main/res/values-ko/strings.xml @@ -143,8 +143,6 @@ 제한 위반 Bolus 주입 에러 임시Basal 주입 에러 - Basal값[%] - % (100% = 현재) 새 임시Basal 적용: 관리 계산기 @@ -244,7 +242,6 @@ 펌프 IOB 일 인슐린 총량 최근 Bolus: - %.1f시간 전 사용할수 없는 입력 데이터 값이 제대로 설정되지 않았습니다 프로파일 새로고침 @@ -502,7 +499,6 @@ 인슐린 저항성 높은 성인 안전제한을 설정하기 위해 당뇨인의 나이를 선택하세요 Glimp - 최적의 성능을 위해 %s에서 배터리 최적화를 해제해야합니다. Loop 일시중지 일시중지중 (%d분) Superbolus (%1$d 분) @@ -722,7 +718,6 @@ 실행중 임시기초주입 취소중 임시기초주입 설정중 (%1$d%% / %2$d분) - Bolus 주입중(%.1f U) 새로고침중 요청하신 동작은 펌프에서 지원하지 않습니다. 위험한 사용: 확장Bolus 혹은 멀티웨이브Bolus가 활성화 됩니다. Loop 모드가 저혈당 방지로 오직 6시간만 설정됩니다. Loop 모드에선 일반 Bolus만 지원합니다. diff --git a/app/src/main/res/values-lt/strings.xml b/app/src/main/res/values-lt/strings.xml index 11d4733c9b..f95cd7627f 100644 --- a/app/src/main/res/values-lt/strings.xml +++ b/app/src/main/res/values-lt/strings.xml @@ -12,7 +12,7 @@ Naudoti ištęstinį bolusą >200%% DanaR Bluetooth įrenginys Visada naudoti bazės absoliučias vertes - Prašome iš naujo paleisti telefoną arba sistemos nustatymuose iš naujo paleisti AndroidAPS \nkitaip AndroidAPS negalės registruoti prisijungimų (svarbu stebint ir tikrinant, ar algoritmai veikia tinkamai)! + Prašome iš naujo paleisti telefoną arba sistemos nustatymuose iš naujo paleisti AndroidAPS \nkitaip AndroidAPS negalės registruoti prisijungimų (svarbu stebėti ir tikrinti ar algoritmai veikia tinkamai)! Mygtukai greitesniam pagrindinių funkcijų paleidimui Papildomų įrašų žurnalas. Naudojama aktyvių įskiepių konfigūravimui @@ -147,8 +147,8 @@ Apribojimų pažeidimas Boluso suleidimo klaida Laikinos bazės suleidimo klaida - Valandinė bazė [%] - % (100 % = dabartinis) + Valandinė bazė [%%] + %%(100%% - pasirinkta) Patvirtinti naują laikiną bazę: Terapija Skaičiuotuvas @@ -248,7 +248,7 @@ Pompos AIO Paros insulinas Paskutinis bolusas - prieš %.1fval + Prieš %1$.1f valandų Neteisingai įvesti duomenys Vertė nėra tinkamai nustatyta Atnaujinti profilį @@ -528,7 +528,7 @@ Insulinui rezistentiškas suaugęs Pasirinkite paciento amžių saugumo riboms nustatyti Glimp - %s įtraukite baterijos optimizavimą į baltąjį sąrašą, tinkamam veikimui užtikrinti + %1$s įtraukite į baterijos optimizavimo baltąjį sąrašą tinkamam veikimui užtikrinti Ciklas sustabdytas Sustabdyta (%1$d m) Superbolusas (%1$d m) @@ -564,8 +564,8 @@ Pradžios ekrane rodyti spalvotus indikatorius adatos, insulino, sensoriaus naudojimo trukmei bei baterijos įkrovimo lygiui. Įspėjimo apie žemą rezervuaro lygį riba [U] Įspėjimo apie kritiškai žemą rezervuaro lygį riba [U] - Įspėjimo apie žemą baterijos įkrovimo lygį riba [%] - Įspėjimo apie kritiškai žemą baterijos įkrovimo lygį riba [%] + Įspėjimo apie žemą baterijos įkrovimo lygį riba [%%] + Įspėjimo apie kritiškai žemą baterijos įkrovimo lygį riba [%%] AIO AAO Programinė įranga @@ -764,7 +764,7 @@ Vykdoma Laikina bazė atšaukiama Nustatyti laikiną bazę (%1$d%% / %2$d min) - Bolusas (%.1f vv) + Leidžiamas bolusas (%1$.1f vv) Atnaujinama Pompa negali įvykdyti prašomos operacijos Nesaugu: aktyvus ištęstinis arba dvibangis bolusas. Ciklas nustatytas stabdymui prie žemo tik 6 valandoms. Aktyvūs tik paprasti bolusai. @@ -1156,6 +1156,10 @@ Neteisingas kodas. Komanda atšaukta. Nesukonfigūruota Profilio perjungimas sukurtas + Versijos tikrintuvas + sena versija + labai sena versija + Nauja versija pasiekiama mažiausiai %1$d dienų! Po 60 d. grįšite prie stabdymo prie žemo, po 90 d. ciklas bus išjungtas. %1$d diena %1$d diena diff --git a/app/src/main/res/values-nl/strings.xml b/app/src/main/res/values-nl/strings.xml index 405918431f..313c3fdde5 100644 --- a/app/src/main/res/values-nl/strings.xml +++ b/app/src/main/res/values-nl/strings.xml @@ -145,8 +145,6 @@ In strijd met beperkingen Bolus toedien storing Tijdelijk basaal toedien storing - Basale waarde [%] - % (100% = actueel) Accepteer nieuw tijdelijk basaal: Bolus Bolus wizard @@ -246,7 +244,6 @@ Pomp IOB Dag totaal Laatste bolus - %.1fu geleden Verkeerde ingave Waarde niet correct ingesteld Herlaad profiel @@ -506,7 +503,6 @@ Stel in en gebruik tijdelijk en standaard tijdelijke streefdoelen (bv. bij sport insuline resistente volwassene Kies leeftijd van de patient voor veiligheids limieten Glimp - %s benodigd batterij optimalistaie vrijwaring voor goede werking Loop pauzeren Gepauzeerd (%1$d m) Superbolus (%1$d m) @@ -542,8 +538,6 @@ Stel in en gebruik tijdelijk en standaard tijdelijke streefdoelen (bv. bij sport Statusindicatoren inschakelen voor cage, iage, sage, reservoir en batterijniveau op het beginscherm. Drempel waarschuwing reservoir niveau [E] Drempel alarm reservoir niveau [E] - Drempel waarschuwing batterij niveau [%] - Drempel alarm batterij niveau [%] IOB COB Firmware @@ -737,7 +731,6 @@ Stel in en gebruik tijdelijk en standaard tijdelijke streefdoelen (bv. bij sport Actief Annuleren van TB Instellen TBR (%1$d%% / %2$d min) - Bolus (%.1f E) Vernieuwen Gevraagde is niet mogelijk met de pomp Opgelet: verlengde en multi wave bolussen zijn actief. Loop is overgeschakeld naar low-suspend modus gedurende 6 uur. Alleen gewone bolussen worden ondersteund in loop modus diff --git a/app/src/main/res/values-pl/strings.xml b/app/src/main/res/values-pl/strings.xml index 18f711530c..b06da87522 100644 --- a/app/src/main/res/values-pl/strings.xml +++ b/app/src/main/res/values-pl/strings.xml @@ -9,6 +9,7 @@ Zresetuj bazy danych Na pewno chcesz zresetować bazy danych? Wyjście + Używaj przedłużonych bolusów dla >200%% Urządzenie Bluetooth DanaR Zawsze używaj wartości bezwzględnych bazy Proszę uruchomić ponownie telefon lub zrestartować AndroidAPS w ustawieniach systemu telefonu \ninaczej AndroidAPS nie będzie otrzymywał logowań (ważne ze względu na śledzenie i sprawdzanie poprawności działania algorytmów)! @@ -146,8 +147,8 @@ Naruszenie ograniczeń Błąd podania bolusa Błąd podania bazy tymczasowej - Wartość bazy [%] - % (100% = aktualny) + Wartość bazy [%%] + %% (100%% = aktualny) Akceptuj nową bazę tymczasową: Leczenie Kalkulator @@ -247,7 +248,7 @@ IOB w pompie Jednostki dzienne Ostatni bolus - %.1fh temu + %1$.1fh temu Błędne dane wejściowe Wartość ustawiona nieprawidłowo Załaduj profil ponownie @@ -313,6 +314,7 @@ Stop NACIŚNIĘTY STOP Czekam na pompę + Zamierzam dostarczyć %1$.2fU Konfiguracja wizualizacji i monitorowania, analiza dawek i wartości bazowych Sprawdź czy BG (pomiary cukru) są dostępne w Nightscout, i dane pompy insulinowej są ładowane Uruchamiam otwartą pętle (OpenLoop) @@ -335,12 +337,26 @@ Pętla (Loop) jest wyłączona Pętla (Loop) jest włączona %1$.2f ograniczone do %2$.2f + Wartość %1$s jest poza dopuszczalną granicą Zdalne komendy nie są dozwolone + Bolus zdalny niedostępny. Spróbuj ponownie później. + Aby rozpocząć bazę %1$.2fU/h przez %2$d min. odpowiedz kodem %3$s + Aby przełączyć profil na %1$s %2$d%% odpowiedz kodem %3$s + Aby rozpocząć bolus przedłużony %1$.2fU przez %2$d min. odpowiedz kodem %3$s + Aby rozpocząć bolus przedłużony %1$d%% przez %2$d min. odpowiedz kodem %3$s Aby wstrzymać pętle na %1$d minut odpowiedz kodem %2$s Tymczasowa baza %1$.2fU/h przez %2$d min rozpoczęta + Bolus przedłużony %1$.2fU na %2$d min. rozpoczęty pomyślnie + Tymczasowa baza %1$d%% przez %2$d min. pomyślnie rozpoczęta Rozpoczęcie tymczasowej bazy nie powiodło się + Nie powiodło się podanie bolusa przedłużonego + Aby zatrzymać bazę tymczasową wprowadź kod %1$s + Aby zatrzymać bolus przedłużony wprowadź kod %1$s Baza tymczasowa anulowana + Przedłużony bolus anulowano Anulowanie tymczasowej bazy nie powiodło się + Anulowanie bolusa przedłużonego nie powiodło się + Nieznane polecenie lub błędna odpowiedź Bolus zdefiniowany Ustaw szybkie bolusy Tekst przycisku: @@ -448,6 +464,7 @@ Profil Wartość domyślna: 3 To jest kluczowy współczynnik bezpieczeństwa OpenAPS. Ogranicza dawki bazowe do 3x twojej największej dawki bazowej. Prawdopodobnie nie będziesz musiał tego zmieniać, ale powinieneś być świadomy tego, co się rozumie przez “3x max dzienna; 4x aktualna” dla współczynników bezpieczeństwa. Wartość domyślna: 4 To jest drugi kluczowy współczynnik bezpieczeństwa OpenAPS, i druga wartość z “3x max dzienna; 4x aktualna”. To oznacza, że Twoja dawka bazowa niezależnie od maksymalnej bazy ustawionej na pompie nie może być większa niż ta ustawiona wartość razy twoja aktualna dawka bazowa. To ma na celu przestrzec ludzi przed ustawieniem zbyt wysokiej dawki maksymalnej przed zrozumieniem jak działa algorytm. Ponownie, wartość domyślna to 4x; większość ludzi nie będzie potrzebowała tego zmienić i raczej będą potrzebować dostosować inne ustawienia, jeśli czują, że zbliżają się do współczynnika bezpieczeństwa. + Wartość domyślna: 1.2\nTo jest mnożnik dla autosens (wkrótce autotune), ustawia 20%% maks. limit dla najwyższej wartości jaką autosens może przyjąć, co z kolei określa jak wysoko autosens może zwiększyć bazę, jak nisko może ustawić współczynnik wrażliwości insuliny ISF, i jak nisko może ustawić docelową wartość glikemii. Wartość domyślna: 0.7\nDruga strona limitu bezpieczeństwa dla autosens, ustawia mnożnik minimalny dla wartości, do jakiej autosens może obniżyć bazę, i jak wysoko może ustawić ISF i wartość docelową BG. Autosens wpływa na wartości docelowe Domyślnie włączone\nTa funkcja pozwala wpływać na zmianę wartości docelowe BG, wartości bazy i oraz współczynnika wrażliwości na insulinę ISF. @@ -460,6 +477,7 @@ Nieprawidłowy numer telefonu Nieprawidłowy numer telefonu SMS Kalibracja + Wysłać kalibrację %1$.1f do xDrip? xDrip+ nie zainstalowany Kalibracja przesłana do xDrip Kalibracja wysłana. Odbiór musi być dozwolony w xDrip. @@ -510,7 +528,7 @@ Osoba dorosła insulino odporna Proszę wybierz wiek pacjenta w celu ustawienia wartości limitów bezpieczeństwa Glimp - %s Potrzebuję wpisu na białą listę optymalizacji baterii, w celu zapewnienia poprawnego działania + %1$s potrzebuję wyłączenia z optymalizacji baterii, w celu zapewnienia poprawnego działania Pętla wstrzymana Wstrzymana (%1$d m) Superbolus (%1$d m) @@ -546,8 +564,8 @@ Włącz diody stanu dla cage, iage, sage, rezerwuar i poziom baterii na ekranie głównym. Próg ostrzeżenia o poziomie zbiornika [U] Próg ostrzeżenia o krytycznym poziomie zbiornika [U] - Próg ostrzeżenia o poziomie baterii [%] - Próg ostrzeżenia o krytycznym poziomie baterii [%] + Próg ostrzeżenia o poziomie baterii [%%] + Próg ostrzeżenia o krytycznym poziomie baterii [%%] IOB COB Firmware @@ -601,6 +619,7 @@ Ustawienia wchłaniania Maks. czas wchłaniania posiłku [h] Oczekiwany czas w godzinach, w którym wszystkie węglowodany zostają wchłonięte + Wizualizacja bolusa przedłużonego jako %% SAGE IAGE CAGE @@ -713,6 +732,8 @@ Prześlij dane BG do xDrip+ W xDrip+ wybierz źródło danych 640g/Eversense NSClient BG + Wartość bazy zastąpiona minimalną obsługiwaną wartością: %1$s + Wartość bazy zastąpiona maksymalną obsługiwaną wartością: %1$s Obliczenia BG Obliczenia Bolus IOB Obliczenia IOB @@ -730,6 +751,8 @@ Tryb zamknięty włączony Maks. IOB ustawione poprawnie BG dostępne z wybranego źródła + Wartości bazy nie są ustawione w pełnych godzinach: %1$s + Nieprawidłowy profil: %1$s Programowanie pompy do podawania bolusa Odśwież Stan @@ -742,7 +765,7 @@ W działaniu Anulowanie TBR Ustawianie TBR (%1$d%% / %2$d min) - Podawanie bolusa (%.1f U) + Podawanie bolusa (%1$.1f U) Odświeżanie Żądana operacja nie jest obsługiwana przez pompę Niebezpieczne użycie: aktywne są bolusy przedłużone lub wielofalowe. Tryb pętli został ustawiony tylko na 6 godzinne zawieszenie z uwagi na niski poziom (BG). W trybie pętli obsługiwane są tylko normalne bolusy @@ -1065,11 +1088,13 @@ Wycisz Alarm pompy Melduj zmianę miejsca wkłucia + Zapisz zmianę zbiornika Melduj zmianę drenu Melduj zmiany baterii Melduj zmiany trybu pracy Melduj ostrzeżenia Włącz emulację TBR + Użyj rozszerzonych bolusów zamiast TBR by ominąć limit 250%% bazy Opóźnienie rozłączenie [s] Numer seryjny Wersja oprogramowania @@ -1124,6 +1149,18 @@ Podaj \"Zmiana Sensora\" do NS do NS automatycznie przy uruchomieniu sensora Tomato (MiaoMiao) Tomato + Zmiana na czas letni w ciągu 24 godzin lub krócej + Zmiana czasu nastąpiła mniej niż 3 godziny temu - Zamknięta pętla wyłączona + limit wielkości pamięci wewnętrznej + Zwolnij co najmniej %1$d MB z pamięci wewnętrznej! Pętla zatrzymana! + Błędny format + Zły kod. Polecenie anulowano. + Nie skonfigurowano + Zmiana profilu wykonana + Kontroler wersji + stara wersja + bardzo stara wersja + Nowa wersja dostępna co najmniej %1$d dni! Powrót do LGS (zawieszania podawania bazy przy niskim poziomie) po 60 dniach, pętla zostanie wyłączona po 90 dniach %1$d dzień %1$d dni diff --git a/app/src/main/res/values-pt/strings.xml b/app/src/main/res/values-pt/strings.xml index 33d67541f7..36ffb7c5e9 100644 --- a/app/src/main/res/values-pt/strings.xml +++ b/app/src/main/res/values-pt/strings.xml @@ -147,8 +147,8 @@ Violação das restrições Erro na entrega do bolus Erro na entrega da basal temporária - Valor da Basal [%] - % (100% = atual) + Valor da Basal [%%] + %% (100%% = actual) Aceitar nova basal temporária: Tratamento Calculadora @@ -248,7 +248,7 @@ IOB Bomba Unidades diárias Último bólus - %.1fh atrás + %1$.1fh atrás Entrada Inválida Valor não definido corretamente Recarregar perfil @@ -528,7 +528,7 @@ Adulto resistente insulina Por favor seleccione a idade do diabético para definir os limites de segurança Glimp - %s necessita de autorizar a não optimização da bateria para assegurar a performance necessária + %1$s necessita de autorizar a não optimização da bateria para assegurar a performance necessária Loop suspenso Suspendido (%1$d m) Superbólus (%1$d m) @@ -564,8 +564,8 @@ Ativar as luzes de status para idade da cânula, idade da insulina, idade do sensor, reservatório e bateria no ecrã inicial. Limite de aviso de nível de reservatório [U] Limite crítico de nível de reservatório [U] - Limite de aviso de nível de bateria [%] - Limite crítico de nível de bateria [%] + Limite de aviso de nível de bateria [%%] + Limite crítico de nível de bateria [%%] IOB COB Firmware @@ -764,7 +764,7 @@ A correr Cancelar TBR A definir TBR (%1$d%% / %2$d min) - Injectando (%.1f U) + Injectando (%1$.1f U) A actualizar Operação solicitada não suportada pela bomba Ultilização nao segura: bolus estendudos ou multionda estão activos. Modo do loop foi alterado para apenas suspender em limite inferior por 6h. Apenas são suportados bolus normais em modo loop @@ -1129,7 +1129,7 @@ Actualizar Integração de bomba para bombas Accu-Chek Insight Não inserido - Última conexão:%1$d minutos atrás + Última ligação:%1$d minutos atrás Basal temporária: %1$d%% para %2$d / %3$d minutos Estendido: %1$.2f / %2$.2f U por %3$d min Multionda: %1$.2f / %2$.2f U por %3$d min @@ -1139,7 +1139,7 @@ Duração máxima da recuperação [s] Duração mínima da recuperação [s] Duração da recuperação - Tempo de operação excedido - reset bluetooth + Tempo de operação excedido - reinicar bluetooth == ∑ %1$s U U/h g/U @@ -1156,6 +1156,10 @@ Código errado. Comando cancelado. Não configurado Troca de perfil criada + Verificador de Versão + versão antiga + versão muito antiga + Nova versão para pelo menos %1$d dias disponíveis! Voltar para o LGS após 60 dias, o loop será desativado após 90 dias %1$d dia %1$d dias diff --git a/app/src/main/res/values-ro/strings.xml b/app/src/main/res/values-ro/strings.xml index 67868f930a..12267b972b 100644 --- a/app/src/main/res/values-ro/strings.xml +++ b/app/src/main/res/values-ro/strings.xml @@ -145,8 +145,6 @@ Încălcare a unei limite Eroare la livrarea bolusului Eroare la setare bazală temporară - Valoare bazală [%] - % (100% = curent) Acceptă noua bazală temporară: Tratament Calculator @@ -246,7 +244,6 @@ IOB din pompă Unități zilnic Ultimul bolus - %.1f o în urmă Date de intrare incorecte Valoare setată incorect Reîncarcă profilul @@ -505,7 +502,6 @@ Adult rezistent la insulină Vă rog să selectați vârsta pacientului în vederea stabilirii valorilor maxime admise de siguranță Glimp - %s necesită excluderea din lista de optimizare a bateriei pentru funcționare corespunzătoare Buclă suspendată Suspendat (%1$d min) Superbolus (%1$d min) @@ -541,8 +537,6 @@ Activați indicatori pentru CAGE, IAGE, SAGE, nivel baterie și rezervor pe ecranul principal. Pragul de avertisment pentru insulina din rezervor [U] Pragul critic al nivelului insulinei în rezervor [U] - Pragul de avertizare nivel baterie [%] - Pragul critic al nivelului baterie [%] IOB COB Firmware @@ -736,7 +730,6 @@ Rulează Se oprește TBR Se setează TBR (%1$d%% / %2$d min) - Bolusare (%.1f U) Reîncărcare Operațiunea nu este suportată de pompă Folosire nesigură: un bolus extins sau multiwave este activ. Modul buclă este setat să funcționeze în low-suspend pentru 6 ore. Doar bolusurile normale sunt posibile. diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml index 26d330f64b..aaa07dfec0 100644 --- a/app/src/main/res/values-ru/strings.xml +++ b/app/src/main/res/values-ru/strings.xml @@ -147,8 +147,8 @@ ограничение нарушено Ошибка подачи болюса Ошибка подачи врем базала - величина базала (%) - % (100% = текущий) + Величина базала [%%] + %% (100%% = текущее) принять новый врем базал: болюс калькулятор @@ -248,7 +248,7 @@ активный инсулин на помпе суточные единицы предыдущий болюс - %.1fч назад + %1$.1fч назад введенные данные неверны величина не задана должным образом обновить профиль @@ -528,7 +528,7 @@ Инсулинорезистентный взрослый выберите возраст пациента для определения ограничителей безопасности Glimp - %s необходимо включить в белый список для корректной работы + %1$s необходимо включить в белый список оптимизации батареи для корректной работы ЗЦ остановлен Остановлен на(%1$d m) Суперболюс(%1$d m) @@ -564,8 +564,8 @@ Включить на главном экране индикаторы отработанного времени для канюли помпы, инсулина, сенсора, резервуара, а также показать уровень аккумулятора. Порог уровня наполненности резервуара для оповещения [ед.] Порог критического уровня наполненности резервуара [U] - Порог предупреждения о разрядке батареи [%] - Порог предупреждения о критическом уровне разрядки батареи [%] + Порог предупреждения о разрядке батареи [%%] + Порог предупреждения о критическом уровне разрядки батареи [%%] IOB акт инс акт углев прошивка @@ -764,7 +764,7 @@ Выполняется Отмена врем базала TBR Установка врем базала TBR на (%1$d%% / %2$d мин) - Введение болюса (%.1f ед) + Введение болюса (%1$.1f ед) Обновление Запрашиваемая операция не поддерживается помпой Небезопасное использование: Удлиненный или многоволновой болюс активны. Режим цикла Loop установлен на приостановку при низкой гликемии только на 6 часов. В режиме loop поддерживаются только обычные болюсы @@ -1158,4 +1158,8 @@ Context | Edit Context Неверный код. Команда отменена. Не сконфигурировано Переключатель профиля создан + Проверка версии + старая версия + очень старая версия + Новая версия доступна не менее %1$d дней! После 60 дней переход на остановку при низкой гликемии LGS, замкнутый цикл будет отключен через 90 дней diff --git a/app/src/main/res/values-sk/strings.xml b/app/src/main/res/values-sk/strings.xml index d2cdb050cd..f9dacaef8b 100644 --- a/app/src/main/res/values-sk/strings.xml +++ b/app/src/main/res/values-sk/strings.xml @@ -147,8 +147,8 @@ Mimo povolený rozsah Chyba podania bolusu Chyba podávania dočasného bazálu - Hodnota bazálu [%] - % (100% = aktuálny) + Hodnota bazálu [%%] + %% (100%% = aktuálny) Povoliť nový dočasný bazál: Bolus Kalkulačka @@ -248,7 +248,7 @@ IOB z pumpy Jednotiek za deň Posledný bolus - pred %.1fh + pred %1$.1fh Chybné vstupné dáta Hodnota nenastavená správne Obnoviť profil @@ -528,7 +528,7 @@ Dospelý z nízkou citlivosťou Vyberte vek pacienta pre nastavenie bezpečnostných limitov Glimp - %s potrebuje vypnúť optimalizáciu baterie pre optimálny výkon + %1$s potrebuje vypnúť optimalizáciu batérie pre optimálny výkon Uzavretý okruh pozastavený Pozastavený (%1$d min) Superbolus (%1$d m) @@ -564,8 +564,8 @@ Povoliť indikátory stavu pre CAGE, IAGE, SAGE, Reservoir a Battery Level na domovskej obrazovke. Prah upozornenia na úroveň hladiny zásobníka [U] Prah kritickej úrovne hladiny zásobníka [U] - Prah upozornenia na úroveň batérie [%] - Prah kritickej úrovne batérie [%] + Prah upozornenia na úroveň batérie [%%] + Prah kritickej úrovne batérie [%%] IOB COB Firmware @@ -764,7 +764,7 @@ V prevádzke Rušenie dočasného bazálu Nastavovanie doč. bazálu (%1$d%% / %2$d min) - Podávanie bolusu (%.1f U) + Podávanie bolusu (%1$.1f U) Aktualizuje sa stav Požadovaná operácia nie je pumpou podporovaná Nebezpečné použitie: predĺžený alebo multiwave bolus je aktívny. Pumpa bola vypnutá len na 6 hodín. Povolené sú iba normálne bolusy. @@ -1156,6 +1156,10 @@ Nesprávný kód. Príkaz zrušený. Nie je nakonfigurované Prepnutie profilu vytvorené + Kontrola verzie + stará verzia + veľmi stará verzia + Nová verzia dostupná najmenej %1$d dní! Návrat k liečbe inzulínovou pumpou s podporou senzora po 60 dňoch, okruh bude deaktivovaný po 90 dňoch. %1$d deň %1$d dní diff --git a/app/src/main/res/values-sv/strings.xml b/app/src/main/res/values-sv/strings.xml index 74378fb8d9..409b7f21a6 100644 --- a/app/src/main/res/values-sv/strings.xml +++ b/app/src/main/res/values-sv/strings.xml @@ -148,8 +148,6 @@ Eversense-appen. Begränsning nådd Fel vid bolusleverans Fel vid justering av temp basal - Basal [%] - % (100% = profilens värde) Acceptera ny temp basal: Behandling Kalkylator @@ -249,7 +247,6 @@ Eversense-appen. Pumpens IOB Enheter per dag Senaste bolus - %.1f tim sedan Fel på inmatning Misslyckades med inställning Ladda om profil @@ -529,7 +526,6 @@ Eversense-appen. Insulinresistent vuxen Vg ange personens ålder för inställningar av gränser Glimp - %s behöver kunna kringgå batterisparfunktionerna för att fungera korrekt Loop pausad Pausad (%1$d min) Superbolus (%1$d min) @@ -565,8 +561,6 @@ Eversense-appen. Aktivera statusindikationerna för cage, iage, sage, reservoar och batterinivå på hemskärmen. Varningsnivå för reservoar [U] Akut varningsnivå för reservoar [U] - Varningsnivå för batteri [%] - Akut varningsnivå för batteri [%] IOB COB Firmwareversion @@ -765,7 +759,6 @@ Eversense-appen. Körs Avbryter temp basal Sätter temp basal (%1$d%% / %2$d min) - Levererar bolus (%.1f enheter) Uppdaterar Önskad åtgärd stöds inte av pumpen Osäker användning: Förlängd- eller kombibolus är aktiv. Loop mode är satt till att bromsa vid lågt BG i 6 timmar. Endast normala bolusar tillåtna i loopläge. diff --git a/app/src/main/res/values-tr/strings.xml b/app/src/main/res/values-tr/strings.xml index dcc3af86e3..d858630fff 100644 --- a/app/src/main/res/values-tr/strings.xml +++ b/app/src/main/res/values-tr/strings.xml @@ -143,8 +143,6 @@ Kısıtlamalar ihlali Bolus teslimat hatası Geçici Bazal teslimat hatası - Bazal değeri [%] - % ( 100% = aktuel) Yeni geçici bazal oranını kabul et: Tedavi Hesap makinesi @@ -244,7 +242,6 @@ IOB(Aktif insülin) pompa Günlük birimleri Son bolus - %.1fs önce Geçersiz bilgi girişi Değer düzgün ayarlanmamış Dosyayı yeniden yükle @@ -503,7 +500,6 @@ Aktif Karbonhidratın ne kadar hızlı sindirildiğine ve KŞ\'nin beklenenden d Yetişkin İnsülin direnci Güvenlik sınırlarını ayarlamak için lütfen hasta yaşını seçiniz Glimp - %s, düzgün bir şekilde çalışması için devre dışı bırakılmış pil performans ayarlaması gerektirir Döngü durduldu Askıya alındı (%1$d m) Superbolus (%1$d m) @@ -725,7 +721,6 @@ Aktif Karbonhidratın ne kadar hızlı sindirildiğine ve KŞ\'nin beklenenden d Çalışıyor TBR (Geçici Bazal Oranı) İptal ediliyor TBR(Geçici Bazal Oranı) ayarı (%1$d%% / %2$d dak) - Bolus (%.1f U) teslim ediliyor Yenileniyor... İstenen işlem pompası tarafından desteklenmiyor Güvensiz kullanım: yayım veya çoklu dalgalı (kare dalgalı) boluslar aktiftir. Döngü modu 6 saat içinde ekstra insülin vermeyecektir. Döngü modunda sadece normal boluslar desteklenir diff --git a/app/src/main/res/values-zh/strings.xml b/app/src/main/res/values-zh/strings.xml index 2e1874e5ef..7e4b22eacd 100644 --- a/app/src/main/res/values-zh/strings.xml +++ b/app/src/main/res/values-zh/strings.xml @@ -53,6 +53,7 @@ 使用您的 WearOS 手表监视和控制 AndroidAPS。 在 xDrip + 表盘上显示有关闭环的信息。 远程控制 AndroidAPS 使用 SMS 短信命令。 + 返回 开始 校验 单位 @@ -145,8 +146,6 @@ 违反约束条件 大剂量输注错误 临时基础输注错误 - 基础率数值 [%] - % (100% = 当前) 接受新的临时基础率 治疗 计算器 @@ -246,7 +245,6 @@ 泵 IOB 每日单位数 上次大剂量 - %.1fh 前 无效的输入数据 数值设定的不正确 重新加载配置文件 @@ -264,6 +262,10 @@ 要输注大剂量胰岛素%1$.2fU 回复如下代码 %2$s 要发送校准值 %1$.2f 回复如下代码 %2$s 大剂量输注失败 + 已经成功输注大剂量%1$.2fU + 将要输注 %1$.2fU + 已经成功输注大剂量%1$.2fU + 正在输注 %1$.2fU 通过SMS短信允许远程命令 手指 传感器 @@ -331,11 +333,24 @@ 闭环被启用 %1$.2f 超过 %2$.2f的限制 远程命令没有被允许 + 远程大剂量不可用。请稍后再试。 + 要开始基础率 %1$.2fU/h 持续时间%2$d 分钟,请回复如下代码 %3$s + 要切换配置文件到 %1$s %2$d%% 请回复代码 %3$s + 要开始扩展大剂量 %1$.2fU/h 持续时间%2$d 分钟,请回复如下代码 %3$s + 要开始基础率 %1$d%% 持续时间%2$d 分钟,请回复如下代码 %3$s 要暂停闭环 %1$d 分钟请回复如下代码 %2$s 临时基础率 %1$.2fU/h 持续 %2$d 分钟启用成功了 + 扩展大剂量 %1$.2fU/h 持续时间 %2$d 分钟已经启用成功了 + 临时基础率 %1$d%% 持续时间 %2$d 分钟 启用成功了 开始临时基础率失败了 + 开始扩展大剂量失败了 + 要停止临时基础率,请回复如下代码 %1$s + 要停止扩展大剂量,请回复如下代码 %1$s 临时基础率取消了 + 扩展大剂量已经取消了 取消临时基础率失败 + 取消扩展大剂量失败 + 未知的命令或者错误的回复 快速向导 快速向导设置 按钮文本: @@ -505,7 +520,6 @@ 胰岛素抵抗成人 请选择患者年龄以设置安全限制 Glimp - %s 需要加入电池优化白名单才能正常运行 闭环暂停了 暂停了 (%1$d m) 超级大剂量 (%1$d m) @@ -541,8 +555,6 @@ 在主屏幕上启用cage(碳水时间)、iage(胰岛素时间)、sage(探头使用时间)、储药器和电池电量的状态指示灯。 储药器药量低于阈值[U] 警告 储药器药量低于阈值[U] 严重警告 - 电池电量低于阈值[%] 警告 - 电池电量低于阈值[%] 严重警告 IOB活性胰岛素 COB活性碳水 固件 @@ -550,6 +562,7 @@ 蓝牙状态 关于 缺少 SMS 短信权限 + 缺少手机状态权限 xDrip 状态 (手表) xDrip 状态线 (手表) xdrip @@ -735,7 +748,6 @@ 正在运行 正在取消临时基础率 正在设置临时基础率 (%1$d%% / %2$d 分钟) - 正在输注大剂量 (%.1f U) 正在刷新 泵不支持请求的操作 不安全的用法: 扩展大剂量(方波) 或者双波被启用了,闭环只支持常规大剂量, 闭环已经被设置为6个小时的低血糖暂停模式(low-suspend only 6 hours). @@ -1001,6 +1013,7 @@ %1$d.目标 Poctech 从 Poctech app 接收血糖值。 + 从番茄app(喵喵设备) 接收血糖值 高临时目标增加灵敏度 =100 mg/dl (5.5 mmol/l) 时提高灵敏度]]> 低临时目标降低灵敏度 @@ -1057,6 +1070,7 @@ 静音 泵警报 记录位置更换 + 记录储药器更换 记录管路更换 记录电池更换 记录操作模式更改 @@ -1100,6 +1114,7 @@ 最后一次连接: %1$d 分钟前 临时基础率: %1$d%% for %2$d / %3$d 分钟 扩展: %1$.2f / %2$.2f U 为 %3$d 分钟 + 多波: %1$.2f / %2$.2f U 持续时间 %3$d 分钟 TDD(日输注总量): %1$.2f Reser.: %1$.2fU 电池: %1$d%% @@ -1113,6 +1128,16 @@ /U 记录传感器更换至NS服务器 在传感器启动时在 NS服务器 自动创建事件 \"传感器更改\" + 番茄(喵喵) + 番茄 + 在24小时内或更少时间内更夏令时时间 + 不到3小时前夏令时时间变化了-已禁用闭环 + 内部储存空间不足 + 至少 剩余%1$d MB 内部存储!闭环已禁用! + 格式错误 + 错误的代码。命令取消 + 未配置 + 配置文件切换已创建 %1$d 天 From ffbb37348108efb6b4b43e30329508927cb3dfef Mon Sep 17 00:00:00 2001 From: Tebbe Ubben Date: Wed, 24 Apr 2019 22:36:29 +0200 Subject: [PATCH 06/16] Insight: Update sqlite_sequence on DB update --- .../androidaps/db/DatabaseHelper.java | 29 +++++++++---------- 1 file changed, 14 insertions(+), 15 deletions(-) diff --git a/app/src/main/java/info/nightscout/androidaps/db/DatabaseHelper.java b/app/src/main/java/info/nightscout/androidaps/db/DatabaseHelper.java index 1b2c21bf18..1f071a2f18 100644 --- a/app/src/main/java/info/nightscout/androidaps/db/DatabaseHelper.java +++ b/app/src/main/java/info/nightscout/androidaps/db/DatabaseHelper.java @@ -45,9 +45,9 @@ import info.nightscout.androidaps.events.EventTempTargetChange; import info.nightscout.androidaps.interfaces.ProfileInterface; import info.nightscout.androidaps.logging.L; import info.nightscout.androidaps.plugins.configBuilder.ConfigBuilderPlugin; +import info.nightscout.androidaps.plugins.general.nsclient.NSUpload; import info.nightscout.androidaps.plugins.iob.iobCobCalculator.IobCobCalculatorPlugin; import info.nightscout.androidaps.plugins.iob.iobCobCalculator.events.EventNewHistoryData; -import info.nightscout.androidaps.plugins.general.nsclient.NSUpload; import info.nightscout.androidaps.plugins.pump.danaR.activities.DanaRNSHistorySync; import info.nightscout.androidaps.plugins.pump.danaR.comm.RecordTypes; import info.nightscout.androidaps.plugins.pump.insight.database.InsightBolusID; @@ -83,7 +83,7 @@ public class DatabaseHelper extends OrmLiteSqliteOpenHelper { public static final String DATABASE_INSIGHT_BOLUS_IDS = "InsightBolusIDs"; public static final String DATABASE_INSIGHT_PUMP_IDS = "InsightPumpIDs"; - private static final int DATABASE_VERSION = 10; + private static final int DATABASE_VERSION = 11; public static Long earliestDataChange = null; @@ -147,19 +147,7 @@ public class DatabaseHelper extends OrmLiteSqliteOpenHelper { this.oldVersion = oldVersion; this.newVersion = newVersion; - if (oldVersion == 7 && newVersion == 8) { - log.debug("Upgrading database from v7 to v8"); - } else if (oldVersion == 8 && newVersion == 9) { - log.debug("Upgrading database from v8 to v9"); - } else if (oldVersion == 9 && newVersion == 10) { - TableUtils.createTableIfNotExists(connectionSource, InsightHistoryOffset.class); - TableUtils.createTableIfNotExists(connectionSource, InsightBolusID.class); - TableUtils.createTableIfNotExists(connectionSource, InsightPumpID.class); - database.execSQL("INSERT INTO sqlite_sequence (name, seq) SELECT \"" + DATABASE_INSIGHT_BOLUS_IDS + "\", " + System.currentTimeMillis() + " " + - "WHERE NOT EXISTS (SELECT 1 FROM sqlite_sequence WHERE name = \"" + DATABASE_INSIGHT_BOLUS_IDS + "\")"); - database.execSQL("INSERT INTO sqlite_sequence (name, seq) SELECT \"" + DATABASE_INSIGHT_PUMP_IDS + "\", " + System.currentTimeMillis() + " " + - "WHERE NOT EXISTS (SELECT 1 FROM sqlite_sequence WHERE name = \"" + DATABASE_INSIGHT_PUMP_IDS + "\")"); - } else { + if (oldVersion < 7) { log.info(DatabaseHelper.class.getName(), "onUpgrade"); TableUtils.dropTable(connectionSource, TempTarget.class, true); TableUtils.dropTable(connectionSource, BgReading.class, true); @@ -170,6 +158,17 @@ public class DatabaseHelper extends OrmLiteSqliteOpenHelper { TableUtils.dropTable(connectionSource, CareportalEvent.class, true); TableUtils.dropTable(connectionSource, ProfileSwitch.class, true); onCreate(database, connectionSource); + } else if (oldVersion < 10) { + TableUtils.createTableIfNotExists(connectionSource, InsightHistoryOffset.class); + TableUtils.createTableIfNotExists(connectionSource, InsightBolusID.class); + TableUtils.createTableIfNotExists(connectionSource, InsightPumpID.class); + database.execSQL("INSERT INTO sqlite_sequence (name, seq) SELECT \"" + DATABASE_INSIGHT_BOLUS_IDS + "\", " + System.currentTimeMillis() + " " + + "WHERE NOT EXISTS (SELECT 1 FROM sqlite_sequence WHERE name = \"" + DATABASE_INSIGHT_BOLUS_IDS + "\")"); + database.execSQL("INSERT INTO sqlite_sequence (name, seq) SELECT \"" + DATABASE_INSIGHT_PUMP_IDS + "\", " + System.currentTimeMillis() + " " + + "WHERE NOT EXISTS (SELECT 1 FROM sqlite_sequence WHERE name = \"" + DATABASE_INSIGHT_PUMP_IDS + "\")"); + } else if (oldVersion < 11) { + database.execSQL("UPDATE sqlite_sequence SET seq = " + System.currentTimeMillis() + " WHERE name = \"" + DATABASE_INSIGHT_BOLUS_IDS + "\""); + database.execSQL("UPDATE sqlite_sequence SET seq = " + System.currentTimeMillis() + " WHERE name = \"" + DATABASE_INSIGHT_PUMP_IDS + "\""); } } catch (SQLException e) { log.error("Can't drop databases", e); From 4d66e0c1be793c428005a20067b901f4c8d3f599 Mon Sep 17 00:00:00 2001 From: AdrianLxM Date: Thu, 25 Apr 2019 00:32:40 +0200 Subject: [PATCH 07/16] 2.3 bump --- app/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/build.gradle b/app/build.gradle index f3a1139a38..f4f4ca7add 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -83,7 +83,7 @@ android { targetSdkVersion 25 multiDexEnabled true versionCode 1500 - version "2.2.3-dev" + version "2.3" buildConfigField "String", "VERSION", '"' + version + '"' buildConfigField "String", "BUILDVERSION", '"' + generateGitBuild() + '-' + generateDate() + '"' buildConfigField "String", "REMOTE", '"' + generateGitRemote()+ '"' From 0bab2e6c11df052b22a29727f6fc20b21efa9179 Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Thu, 25 Apr 2019 14:19:39 +0200 Subject: [PATCH 08/16] 2.3.1-dev --- app/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/build.gradle b/app/build.gradle index 676c9b6287..10a52b8ca1 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -103,7 +103,7 @@ android { targetSdkVersion 25 multiDexEnabled true versionCode 1500 - version "2.3" + version "2.3.1-dev" buildConfigField "String", "VERSION", '"' + version + '"' buildConfigField "String", "BUILDVERSION", '"' + generateGitBuild() + '-' + generateDate() + '"' buildConfigField "String", "REMOTE", '"' + generateGitRemote() + '"' From 8b18a7ffb341d4d0f1457fe01fdcf9044e9609b9 Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Thu, 25 Apr 2019 18:59:10 +0200 Subject: [PATCH 09/16] German git --- app/build.gradle | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/app/build.gradle b/app/build.gradle index 676c9b6287..a8d8f2a0fe 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -87,7 +87,8 @@ def allCommited = { -> } catch (ignored) { return false; // NoGitSystemAvailable } - return stringBuilder.toString().contains("nothing to commit") + return stringBuilder.toString().contains("nothing to commit") || stringBuilder.toString().contains("nichts zu committen") + } tasks.matching { it instanceof Test }.all { From 6fd8d7ae3cbbd2fc57583056f8a9e960eb32db30 Mon Sep 17 00:00:00 2001 From: AdrianLxM Date: Thu, 25 Apr 2019 20:42:34 +0200 Subject: [PATCH 10/16] not language dependent git command --- app/build.gradle | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index a8d8f2a0fe..8c153a9e81 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -79,7 +79,7 @@ def allCommited = { -> try { def stdout = new ByteArrayOutputStream() exec { - commandLine 'git', 'status' + commandLine 'git', 'status', '-s' standardOutput = stdout } String commitObject = stdout.toString().trim() @@ -87,7 +87,7 @@ def allCommited = { -> } catch (ignored) { return false; // NoGitSystemAvailable } - return stringBuilder.toString().contains("nothing to commit") || stringBuilder.toString().contains("nichts zu committen") + return stringBuilder.toString().isEmpty() } From f2c18cbc1ff7ceab3659f3e96fb36d64c0d2c956 Mon Sep 17 00:00:00 2001 From: AdrianLxM Date: Thu, 25 Apr 2019 22:13:31 +0200 Subject: [PATCH 11/16] Don't warn if next loop invocation is prior to update check --- .../plugins/general/versionChecker/VersionCheckerPlugin.kt | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/versionChecker/VersionCheckerPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/versionChecker/VersionCheckerPlugin.kt index 2a4c08a585..c0335ea64a 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/versionChecker/VersionCheckerPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/versionChecker/VersionCheckerPlugin.kt @@ -32,6 +32,13 @@ object VersionCheckerPlugin : PluginBase(PluginDescription() private fun checkWarning() { val now = System.currentTimeMillis() + + if (!SP.contains(R.string.key_last_versionchecker_plugin_warning)) { + SP.putLong(R.string.key_last_versionchecker_plugin_warning, now) + return + } + + if (isOldVersion(GRACE_PERIOD_WARNING) && shouldWarnAgain(now)) { // store last notification time SP.putLong(R.string.key_last_versionchecker_plugin_warning, now) From c35fbad80a57536a85bbee93080bf5acfdc4d185 Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Fri, 26 Apr 2019 15:13:10 +0200 Subject: [PATCH 12/16] New translations strings.xml (Romanian) --- app/src/main/res/values-ro/strings.xml | 89 ++++++++++++++++++++++++++ 1 file changed, 89 insertions(+) diff --git a/app/src/main/res/values-ro/strings.xml b/app/src/main/res/values-ro/strings.xml index 12267b972b..894641e880 100644 --- a/app/src/main/res/values-ro/strings.xml +++ b/app/src/main/res/values-ro/strings.xml @@ -9,6 +9,7 @@ Resetează bazele de date Sigur resetați bazele de date? Ieșire + Folosiți bolusuri extinse pentru >200%% Dispozitive bluetooth DanaR Folosește întotdeauna valori absolute ale bazalei Restartați telefonul sau reporniți aplicația AndroidAPS din System Settings \naltfel AndroidAPS nu va putea face loguri (importante pentru verificarea corectitudinii funcționării algoritmilor)! @@ -53,6 +54,7 @@ Monitorizează și controlează aplicația AndroidAPS folosind smartwatchul WearOS. Afișează informații privind starea buclei pe watchface-ul xDrip+. Controlare de la distanță a AndroidAPS folosind comenzi date prin SMS. + Înapoi Start Verifică Unități @@ -145,6 +147,8 @@ Încălcare a unei limite Eroare la livrarea bolusului Eroare la setare bazală temporară + Valoare bazală [%%] + %% (100%% = curent) Acceptă noua bazală temporară: Tratament Calculator @@ -244,6 +248,7 @@ IOB din pompă Unități zilnic Ultimul bolus + %1$.1f o în urmă Date de intrare incorecte Valoare setată incorect Reîncarcă profilul @@ -261,6 +266,10 @@ Pentru a livra un bolus de %1$.2fU răspundeți cu codul %2$s Pentru a trimite calibrarea cu %1$.2f răspundeți cu codul %2$s Bolusare eșuată + Bolusul de %1$.2fU a fost livrat cu succes + Se va livra un bolus de %1$.2fU + Bolusul de %1$.2fU a fost livrat cu succes + Se livrează %1$.2fU Permite comenzi de la distanță, prin SMS Deget Senzor @@ -305,6 +314,7 @@ Stop STOP APĂSAT Se așteaptă pompa + Se va livra un bolus de %1$.2fU Se stabilesc vizualizările și monitorizarea și se analizează bazalele și valorile ratelor Verificați că vedeți glicemia în Nightscout și că datele despre insulină date de pompă sunt înregistrate în site Pornire în mod buclă deschisă @@ -327,12 +337,26 @@ Bucla este dezactivată Bucla este activată %1$.2f este limitată la %2$.2f + Valoarea %1$s este mai mare decât limita stabilită Comanda de la distanță nu este permisă + Bolus de la distanță nu este disponibil. Încearcă din nou mai târziu. + Pentru a iniția bazala de %1$.2fU/h pentru %2$d min trimiteți codul %3$s + Pentru a schimba profilul în %1$s %2$d%% trimiteți codul %3$s + Pentru a stabili bazala de %1$.2fU/h pentru %2$d min trimiteți codul %3$s + Pentru a iniția bazala de %1$d%% pentru %2$d min trimiteți codul %3$s Pentru suspendarea buclei pentru %1$d minute trimiteți codul %2$s Bazala temporară %1$.2fU/h pentru %2$d minute a fost trimisă cu succes + Bolusul extins de %1$.2fU pentru %2$d min a fost inițiat + Bazala temporară %1$d% pentru %2$d minute a fost stabilită cu succes Trimiterea bazalei temporare a eșuat + Pornirea bolusului extins a eșuat + Pentru oprirea bazalei temporare, răspundeți cu codul %1$s + Pentru oprirea bolusului extins, răspundeți cu codul %1$s Bazala temporară a fost anulată + Bolus extins anulat Renunțarea la bazala temporară a eșuat + Anularea bolusului extins a eșuat + Comandă necunoscută sau răspuns greșit AsistentRapid Setări AsistentRapid Text buton: @@ -440,6 +464,7 @@ Profil Valoare implicită: 3\nAceasta este o setare de critică de securitate a OpenAPS. Asta înseamnă că se limitează bazala lade 3x valoarea maximă a bazalelor tale.Cel mai probabil nu veți schimba această valoare, dar trebuie să țineți cont de ce se discută despre “3x max zilnic; 4x curent” ca valori de siguranță. Valoare implicită: 4\nAceasta este cealaltă jumătate a cheii de siguranță a OpenAPS și cealaltă jumătate a \"3x max zilnic; 4x curent\" al setărilor de siguranță.Aceasta înseamnă că bazala dumneavoastră, indiferent de bazala maximă configurată în pompă, nu poate fi mai mare de acest număr înmulțit cu nivelul curent al bazalei active. Această limitare este impusă pentru a evita posibilitatea de a intra pe un teritoriu periculos prin setarea unei bazale maxime excesiv de mari înainte de a înțelege funcționarea algoritmului. Din nou, valoarea implictă este 4x; majoritatea oamenilor nu vor trebui să ajusteze această valoare și vor modifica, mai degrabă, alte valori dacă vor simți că această valoare le stă în cale. + Valoare implicită: 1.2\nAceasta este valoarea limită de multiplicare pentru autosens (și pentru autotune, în curând) pentru a seta o limită maximă de 20%% din cât de mare poate fi raportul autosens, care, la rândul ei, determină cât de mult poate autosens să modifice bazalele, cât de jos poate modifica ISF și cât de jos poate pune ținta glicemiei. Valoare implicită: 0.7\nCealaltă parte a limitelor autosens, care limitează cât de jos poate ajusta bazalele și cât de mult poate mări ISF și țintele de glicemie. Autosens ajustează țintele la Valoare implicită: adevărat\nAceasta se folosește pentru a permite autosens să ajusteze țintele de glicemie, pe lângă modificările asupra ISF și bazalelor. @@ -452,6 +477,7 @@ Numărul de telefon este invalid Număr de telefon SMS invalid Calibrare + Trimite calibrarea %1$.1f către xDrip? xDrip+ nu este instalat. Calibrare trimisă către xDrip Calibrare trimisă. Recepționarea trebuie să fie activată și în xDrip. @@ -502,6 +528,7 @@ Adult rezistent la insulină Vă rog să selectați vârsta pacientului în vederea stabilirii valorilor maxime admise de siguranță Glimp + %1$s necesită excluderea din lista de optimizare a bateriei pentru o funcționare corespunzătoare Buclă suspendată Suspendat (%1$d min) Superbolus (%1$d min) @@ -537,6 +564,8 @@ Activați indicatori pentru CAGE, IAGE, SAGE, nivel baterie și rezervor pe ecranul principal. Pragul de avertisment pentru insulina din rezervor [U] Pragul critic al nivelului insulinei în rezervor [U] + Pragul de avertizare nivel baterie [%%] + Pragul critic al nivelului baterie [%%] IOB COB Firmware @@ -589,6 +618,7 @@ Setări absorbție Timp maxim absorbție masă [o] Timp în ore la care se presupune că toți carbohidrații sunt absorbiți + Afișati bolusul extins ca %% VS VI VC @@ -701,6 +731,8 @@ Trimite date glicemie la xDrip+ Selectați 640g/Eversense ca sursă de date în xDrip+ Glicemie NSClient + Valoarea bazalei a fost înlocuită cu valoarea minimă posibilă: %1$s + Valoarea bazalei a fost înlocuită cu valoarea maximă posibilă: %1$s Calcul glicemie Calcul IOB bolus Calcul IOB bazală @@ -718,6 +750,8 @@ Mod buclă închisă activat IOB maxim configurat corect Glicemie disponibilă din sursa selectată + Valori bazale nesincronizate cu ora: %1$s + Profil invalid: %1$s Se programează pompa pentru livrare bolus Reîncarcă Stare @@ -730,6 +764,7 @@ Rulează Se oprește TBR Se setează TBR (%1$d%% / %2$d min) + Bolusare (%1$.1f U) Reîncărcare Operațiunea nu este suportată de pompă Folosire nesigură: un bolus extins sau multiwave este activ. Modul buclă este setat să funcționeze în low-suspend pentru 6 ore. Doar bolusurile normale sunt posibile. @@ -1052,11 +1087,13 @@ Liniște Alertă a pompei Înregistrează schimbările locului de inserție + Jurnal al schimbărilor rezervorului Înregistrează schimbările canulei Înregistrează schimbările bateriei Înregistrează schimbările modului de operare Înregistrează alertele Activează emularea RBT + Folosește bolus extins în locul RBT pentru a trece de limita de 250%% Întârziere a deconectării [s] Număr de serie Versiunea de software @@ -1071,6 +1108,58 @@ Șterge asocierea Informații despre asociere Reîmprospătare stare + Porniți pompa + Opriți pompa + Modul de funcționare + Stare + Bolus TDD + Bazală TDD + Total TDD + Se recuperează... + Nu există asociere + Ultima conexiune + Pornit + Oprit + %1$d%% pentru %2$d / %3$d min + Bolus extins + Bolus multiwave + %1$.2f / %2$.2f U pentru %3$d min + Permiteți notificarea de terminare RBT\n(setare a pompei) + Nu permiteți notificarea terminării RBT\n(setare a pompei) + Actualizează + Integrare pentru pompele Accu-Chek Insight + Nu este introdus + Ultima conexiune: acum %1$d min + TBR: %1$d%% pentru %2$d / %3$d min + Extins: %1$.2f / %2$.2f U pentru %3$d min + Multiwave: %1$.2f / %2$.2f U pentru %3$d min + TDD: %1$.2f + Rzvr.: %1$.2fU + Bat.: %1$d%% + Timpul maxim de restabilire [s] + Timpul minim de restabilire [s] + Durata restabilirii + Durată timp expirat pe timpul negocierii - resetare bluetooth + == ∑ %1$s U + U/h + g/U + /U + Înregistrează schimbarea senzorului în NS + Crează eveniment ”Schimbare Senzor” în NS la pornirea senzorului + Tomato (MiaoMiao) + Tomato + Schimbare oră vară/iarnă în mai puțin de 24h + Schimbare oră vară/iarnă în mai puțin de 3 ore - buclă dezactivată + restricție de stocare internă + Eliberați cel puțin %1$d MB din spațiunl de stocare al telefonlui! Buclă dezactivată! + Format greșit + Cod greșit. Comandă anulată. + Nu este configurat + Schimbare de profil creată + Verificator versiune + versiune veche + versiune foarte veche + Noua versiune este disponibilă de cel puțin %1$d zile! Revenire la LGS după 60 zile, bucla va fi dezactivată după 90 zile %1$d zi %1$d zi From 3a7b00f424677967a09cd1527253c241d9613517 Mon Sep 17 00:00:00 2001 From: AdrianLxM Date: Sun, 28 Apr 2019 14:33:04 +0200 Subject: [PATCH 13/16] Include 39 as valid value --- .../main/java/info/nightscout/androidaps/db/DatabaseHelper.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/java/info/nightscout/androidaps/db/DatabaseHelper.java b/app/src/main/java/info/nightscout/androidaps/db/DatabaseHelper.java index 1f071a2f18..eb51f5e2ba 100644 --- a/app/src/main/java/info/nightscout/androidaps/db/DatabaseHelper.java +++ b/app/src/main/java/info/nightscout/androidaps/db/DatabaseHelper.java @@ -434,7 +434,7 @@ public class DatabaseHelper extends OrmLiteSqliteOpenHelper { return null; for (int i = 0; i < bgList.size(); i++) - if (bgList.get(i).value > 39) + if (bgList.get(i).value >= 39) return bgList.get(i); return null; } From 4336b4743178a373b365a468cae4b9c5d17ad978 Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Mon, 29 Apr 2019 11:36:30 +0200 Subject: [PATCH 14/16] NPE fixes from Firebase --- .../activities/PreferencesActivity.java | 2 +- .../activities/InsightPairingActivity.java | 19 ++++++++++------ .../plugins/treatments/TreatmentService.java | 5 +++-- .../androidaps/queue/CommandQueue.java | 7 ++++-- .../androidaps/queue/QueueThread.java | 22 ++++++++++--------- app/src/test/java/info/AAPSMocker.java | 1 + 6 files changed, 34 insertions(+), 22 deletions(-) diff --git a/app/src/main/java/info/nightscout/androidaps/activities/PreferencesActivity.java b/app/src/main/java/info/nightscout/androidaps/activities/PreferencesActivity.java index aea7bcfca6..ef2639e9ac 100644 --- a/app/src/main/java/info/nightscout/androidaps/activities/PreferencesActivity.java +++ b/app/src/main/java/info/nightscout/androidaps/activities/PreferencesActivity.java @@ -93,7 +93,7 @@ public class PreferencesActivity extends PreferenceActivity implements SharedPre } else if (editTextPref.getText() != null) { ((EditTextPreference) pref).setDialogMessage(editTextPref.getDialogMessage()); pref.setSummary(editTextPref.getText()); - } else if (pref.getKey().contains("smscommunicator_allowednumbers") && TextUtils.isEmpty(editTextPref.getText().trim())) { + } else if (pref.getKey().contains("smscommunicator_allowednumbers") && (editTextPref.getText() == null || TextUtils.isEmpty(editTextPref.getText().trim()))) { pref.setSummary(MainApp.gs(R.string.smscommunicator_allowednumbers_summary)); } } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/pump/insight/activities/InsightPairingActivity.java b/app/src/main/java/info/nightscout/androidaps/plugins/pump/insight/activities/InsightPairingActivity.java index 7ea52ed271..c165dd140e 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/pump/insight/activities/InsightPairingActivity.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/pump/insight/activities/InsightPairingActivity.java @@ -160,12 +160,14 @@ public class InsightPairingActivity extends AppCompatActivity implements Insight private void startBLScan() { if (!scanning) { BluetoothAdapter bluetoothAdapter = BluetoothAdapter.getDefaultAdapter(); - if (!bluetoothAdapter.isEnabled()) bluetoothAdapter.enable(); - IntentFilter intentFilter = new IntentFilter(); - intentFilter.addAction(BluetoothAdapter.ACTION_DISCOVERY_FINISHED); - intentFilter.addAction(BluetoothDevice.ACTION_FOUND); - registerReceiver(broadcastReceiver, intentFilter); - bluetoothAdapter.startDiscovery(); + if (bluetoothAdapter != null) { + if (!bluetoothAdapter.isEnabled()) bluetoothAdapter.enable(); + IntentFilter intentFilter = new IntentFilter(); + intentFilter.addAction(BluetoothAdapter.ACTION_DISCOVERY_FINISHED); + intentFilter.addAction(BluetoothDevice.ACTION_FOUND); + registerReceiver(broadcastReceiver, intentFilter); + bluetoothAdapter.startDiscovery(); + } scanning = true; } } @@ -173,7 +175,10 @@ public class InsightPairingActivity extends AppCompatActivity implements Insight private void stopBLScan() { if (scanning) { unregisterReceiver(broadcastReceiver); - BluetoothAdapter.getDefaultAdapter().cancelDiscovery(); + BluetoothAdapter bluetoothAdapter = BluetoothAdapter.getDefaultAdapter(); + if (bluetoothAdapter != null) { + bluetoothAdapter.cancelDiscovery(); + } scanning = false; } } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/treatments/TreatmentService.java b/app/src/main/java/info/nightscout/androidaps/plugins/treatments/TreatmentService.java index 7bb4774911..502b7f38b7 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/treatments/TreatmentService.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/treatments/TreatmentService.java @@ -190,8 +190,9 @@ public class TreatmentService extends OrmLiteBaseService { } // prepare task for execution in 1 sec // cancel waiting task to prevent sending multiple posts - if (callback.getPost() != null) - callback.getPost().cancel(false); + ScheduledFuture scheduledFuture = callback.getPost(); + if (scheduledFuture != null) + scheduledFuture.cancel(false); Runnable task = new PostRunnable(); final int sec = 1; callback.setPost(eventWorker.schedule(task, sec, TimeUnit.SECONDS)); diff --git a/app/src/main/java/info/nightscout/androidaps/queue/CommandQueue.java b/app/src/main/java/info/nightscout/androidaps/queue/CommandQueue.java index e4fbacc43c..daf8239788 100644 --- a/app/src/main/java/info/nightscout/androidaps/queue/CommandQueue.java +++ b/app/src/main/java/info/nightscout/androidaps/queue/CommandQueue.java @@ -12,6 +12,8 @@ import org.slf4j.LoggerFactory; import java.util.LinkedList; +import javax.annotation.Nullable; + import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.R; import info.nightscout.androidaps.data.DetailedBolusInfo; @@ -126,6 +128,7 @@ public class CommandQueue { queue.add(command); } + @Nullable synchronized void pickup() { performing = queue.poll(); } @@ -143,11 +146,11 @@ public class CommandQueue { return queue.size(); } - public Command performing() { + Command performing() { return performing; } - public void resetPerforming() { + void resetPerforming() { performing = null; } diff --git a/app/src/main/java/info/nightscout/androidaps/queue/QueueThread.java b/app/src/main/java/info/nightscout/androidaps/queue/QueueThread.java index 0962952221..a7e106c042 100644 --- a/app/src/main/java/info/nightscout/androidaps/queue/QueueThread.java +++ b/app/src/main/java/info/nightscout/androidaps/queue/QueueThread.java @@ -141,15 +141,17 @@ public class QueueThread extends Thread { // Pickup 1st command and set performing variable if (queue.size() > 0) { queue.pickup(); - if (L.isEnabled(L.PUMPQUEUE)) - log.debug("performing " + queue.performing().status()); - MainApp.bus().post(new EventQueueChanged()); - queue.performing().execute(); - queue.resetPerforming(); - MainApp.bus().post(new EventQueueChanged()); - lastCommandTime = System.currentTimeMillis(); - SystemClock.sleep(100); - continue; + if (queue.performing() != null) { + if (L.isEnabled(L.PUMPQUEUE)) + log.debug("performing " + queue.performing().status()); + MainApp.bus().post(new EventQueueChanged()); + queue.performing().execute(); + queue.resetPerforming(); + MainApp.bus().post(new EventQueueChanged()); + lastCommandTime = System.currentTimeMillis(); + SystemClock.sleep(100); + continue; + } } } @@ -173,7 +175,7 @@ public class QueueThread extends Thread { } } } finally { - if (mWakeLock != null) + if (mWakeLock != null && mWakeLock.isHeld()) mWakeLock.release(); if (L.isEnabled(L.PUMPQUEUE)) log.debug("thread end"); diff --git a/app/src/test/java/info/AAPSMocker.java b/app/src/test/java/info/AAPSMocker.java index 50bd20d198..79e0f89996 100644 --- a/app/src/test/java/info/AAPSMocker.java +++ b/app/src/test/java/info/AAPSMocker.java @@ -150,6 +150,7 @@ public class AAPSMocker { when(MainApp.gs(R.string.pumpsuspended)).thenReturn("Pump suspended"); when(MainApp.gs(R.string.cob)).thenReturn("COB"); when(MainApp.gs(R.string.value_unavailable_short)).thenReturn("n/a"); + when(MainApp.gs(R.string.pumpNotInitialized)).thenReturn("Pump not initialized!"); } public static MainApp mockMainApp() { From 6c7a18067fa3ba80859eb0711b50fe986c2669c6 Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Wed, 1 May 2019 22:59:48 +0200 Subject: [PATCH 15/16] remove misplaced @Nullable --- .../main/java/info/nightscout/androidaps/queue/CommandQueue.java | 1 - 1 file changed, 1 deletion(-) diff --git a/app/src/main/java/info/nightscout/androidaps/queue/CommandQueue.java b/app/src/main/java/info/nightscout/androidaps/queue/CommandQueue.java index daf8239788..7928435ed0 100644 --- a/app/src/main/java/info/nightscout/androidaps/queue/CommandQueue.java +++ b/app/src/main/java/info/nightscout/androidaps/queue/CommandQueue.java @@ -128,7 +128,6 @@ public class CommandQueue { queue.add(command); } - @Nullable synchronized void pickup() { performing = queue.poll(); } From a303d71d253f3c8d8e11a585598fafc22f01aec1 Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Thu, 2 May 2019 21:51:44 +0200 Subject: [PATCH 16/16] scanning = false if no adapter present --- .../plugins/pump/insight/activities/InsightPairingActivity.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/pump/insight/activities/InsightPairingActivity.java b/app/src/main/java/info/nightscout/androidaps/plugins/pump/insight/activities/InsightPairingActivity.java index c165dd140e..13fd698236 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/pump/insight/activities/InsightPairingActivity.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/pump/insight/activities/InsightPairingActivity.java @@ -167,8 +167,8 @@ public class InsightPairingActivity extends AppCompatActivity implements Insight intentFilter.addAction(BluetoothDevice.ACTION_FOUND); registerReceiver(broadcastReceiver, intentFilter); bluetoothAdapter.startDiscovery(); + scanning = true; } - scanning = true; } }