diff --git a/app/build.gradle b/app/build.gradle index 1a63ad3b3a..f881b3f080 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -100,6 +100,7 @@ def allCommitted = { -> tasks.matching { it instanceof Test }.all { testLogging.events = ["failed", "skipped", "started"] + // testLogging.events = ["failed", "skipped", "started", "standard_out"] use to display stdout in travis testLogging.exceptionFormat = "full" } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/SensitivityAAPSPlugin.java b/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/SensitivityAAPSPlugin.java deleted file mode 100644 index 74e7b2564e..0000000000 --- a/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/SensitivityAAPSPlugin.java +++ /dev/null @@ -1,220 +0,0 @@ -package info.nightscout.androidaps.plugins.sensitivity; - -import androidx.annotation.NonNull; -import androidx.collection.LongSparseArray; - -import androidx.annotation.NonNull; -import org.json.JSONException; -import org.json.JSONObject; - -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; - -import javax.inject.Inject; -import javax.inject.Singleton; - -import dagger.android.HasAndroidInjector; -import info.nightscout.androidaps.Constants; -import info.nightscout.androidaps.MainApp; -import info.nightscout.androidaps.R; -import info.nightscout.androidaps.data.Profile; -import info.nightscout.androidaps.db.CareportalEvent; -import info.nightscout.androidaps.db.ProfileSwitch; -import info.nightscout.androidaps.interfaces.IobCobCalculatorInterface; -import info.nightscout.androidaps.interfaces.PluginDescription; -import info.nightscout.androidaps.interfaces.PluginType; -import info.nightscout.androidaps.interfaces.ProfileFunction; -import info.nightscout.androidaps.logging.AAPSLogger; -import info.nightscout.androidaps.logging.LTag; -import info.nightscout.androidaps.plugins.iob.iobCobCalculator.AutosensResult; -import info.nightscout.androidaps.plugins.iob.iobCobCalculator.IobCobCalculatorPlugin; -import info.nightscout.androidaps.plugins.iob.iobCobCalculator.data.AutosensData; -import info.nightscout.androidaps.utils.DateUtil; -import info.nightscout.androidaps.utils.resources.ResourceHelper; -import info.nightscout.androidaps.utils.sharedPreferences.SP; - -/** - * Created by mike on 24.06.2017. - */ - -@Singleton -public class SensitivityAAPSPlugin extends AbstractSensitivityPlugin { - - private final ProfileFunction profileFunction; - private final DateUtil dateUtil; - - @Inject - public SensitivityAAPSPlugin( - HasAndroidInjector injector, - AAPSLogger aapsLogger, - ResourceHelper resourceHelper, - SP sp, - ProfileFunction profileFunction, - DateUtil dateUtil - ) { - super(new PluginDescription() - .mainType(PluginType.SENSITIVITY) - .pluginIcon(R.drawable.ic_generic_icon) - .pluginName(R.string.sensitivityaaps) - .shortName(R.string.sensitivity_shortname) - .preferencesId(R.xml.pref_absorption_aaps) - .description(R.string.description_sensitivity_aaps), - injector, aapsLogger, resourceHelper, sp - ); - this.profileFunction = profileFunction; - this.dateUtil = dateUtil; - } - - @NonNull @Override - public AutosensResult detectSensitivity(IobCobCalculatorInterface iobCobCalculatorPlugin, long fromTime, long toTime) { - LongSparseArray autosensDataTable = iobCobCalculatorPlugin.getAutosensDataTable(); - - String age = getSp().getString(R.string.key_age, ""); - int defaultHours = 24; - if (age.equals(getResourceHelper().gs(R.string.key_adult))) defaultHours = 24; - if (age.equals(getResourceHelper().gs(R.string.key_teenage))) defaultHours = 4; - if (age.equals(getResourceHelper().gs(R.string.key_child))) defaultHours = 4; - int hoursForDetection = getSp().getInt(R.string.key_openapsama_autosens_period, defaultHours); - - Profile profile = profileFunction.getProfile(); - - if (profile == null) { - getAapsLogger().error("No profile"); - return new AutosensResult(); - } - - if (autosensDataTable == null || autosensDataTable.size() < 4) { - getAapsLogger().debug(LTag.AUTOSENS, "No autosens data available. lastDataTime=" + iobCobCalculatorPlugin.lastDataTime()); - return new AutosensResult(); - } - - AutosensData current = iobCobCalculatorPlugin.getAutosensData(toTime); // this is running inside lock already - if (current == null) { - getAapsLogger().debug(LTag.AUTOSENS, "No autosens data available. toTime: " + dateUtil.dateAndTimeString(toTime) + " lastDataTime: " + iobCobCalculatorPlugin.lastDataTime()); - return new AutosensResult(); - } - - - List siteChanges = MainApp.getDbHelper().getCareportalEventsFromTime(fromTime, CareportalEvent.SITECHANGE, true); - List profileSwitches = MainApp.getDbHelper().getProfileSwitchEventsFromTime(fromTime, true); - - List deviationsArray = new ArrayList<>(); - String pastSensitivity = ""; - int index = 0; - while (index < autosensDataTable.size()) { - AutosensData autosensData = autosensDataTable.valueAt(index); - - if (autosensData.time < fromTime) { - index++; - continue; - } - - if (autosensData.time > toTime) { - index++; - continue; - } - - // reset deviations after site change - if (new CareportalEvent(getInjector()).isEvent5minBack(siteChanges, autosensData.time)) { - deviationsArray.clear(); - pastSensitivity += "(SITECHANGE)"; - } - - // reset deviations after profile switch - if (new ProfileSwitch(getInjector()).isEvent5minBack(profileSwitches, autosensData.time, true)) { - deviationsArray.clear(); - pastSensitivity += "(PROFILESWITCH)"; - } - - double deviation = autosensData.deviation; - - //set positive deviations to zero if bg < 80 - if (autosensData.bg < 80 && deviation > 0) - deviation = 0; - - if (autosensData.validDeviation) - if (autosensData.time > toTime - hoursForDetection * 60 * 60 * 1000L) - deviationsArray.add(deviation); - if (deviationsArray.size() > hoursForDetection * 60 / 5) - deviationsArray.remove(0); - - - pastSensitivity += autosensData.pastSensitivity; - int secondsFromMidnight = Profile.secondsFromMidnight(autosensData.time); - if (secondsFromMidnight % 3600 < 2.5 * 60 || secondsFromMidnight % 3600 > 57.5 * 60) { - pastSensitivity += "(" + Math.round(secondsFromMidnight / 3600d) + ")"; - } - index++; - } - - Double[] deviations = new Double[deviationsArray.size()]; - deviations = deviationsArray.toArray(deviations); - - double sens = profile.getIsfMgdl(); - - String ratioLimit = ""; - String sensResult = ""; - - getAapsLogger().debug(LTag.AUTOSENS, "Records: " + index + " " + pastSensitivity); - - Arrays.sort(deviations); - - double percentile = IobCobCalculatorPlugin.Companion.percentile(deviations, 0.50); - double basalOff = percentile * (60.0 / 5.0) / sens; - double ratio = 1 + (basalOff / profile.getMaxDailyBasal()); - - if (percentile < 0) { // sensitive - sensResult = "Excess insulin sensitivity detected"; - } else if (percentile > 0) { // resistant - sensResult = "Excess insulin resistance detected"; - } else { - sensResult = "Sensitivity normal"; - } - - getAapsLogger().debug(LTag.AUTOSENS, sensResult); - - AutosensResult output = fillResult(ratio, current.cob, pastSensitivity, ratioLimit, - sensResult, deviationsArray.size()); - - getAapsLogger().debug(LTag.AUTOSENS, "Sensitivity to: " - + dateUtil.dateAndTimeString(toTime) + - " ratio: " + output.ratio - + " mealCOB: " + current.cob); - getAapsLogger().debug(LTag.AUTOSENS, "Sensitivity to: deviations " + Arrays.toString(deviations)); - - return output; - } - - @NonNull @Override public SensitivityType getId() { - return SensitivityType.SENSITIVITY_AAPS; - } - - @NonNull @Override public JSONObject configuration() { - JSONObject c = new JSONObject(); - try { - c.put(getResourceHelper().gs(R.string.key_absorption_maxtime), getSp().getDouble(R.string.key_absorption_maxtime, Constants.DEFAULT_MAX_ABSORPTION_TIME)); - c.put(getResourceHelper().gs(R.string.key_openapsama_autosens_period), getSp().getInt(R.string.key_openapsama_autosens_period, 24)); - c.put(getResourceHelper().gs(R.string.key_openapsama_autosens_max), getSp().getDouble(R.string.key_openapsama_autosens_max, 1.2)); - c.put(getResourceHelper().gs(R.string.key_openapsama_autosens_min), getSp().getDouble(R.string.key_openapsama_autosens_min, 0.7)); - } catch (JSONException e) { - e.printStackTrace(); - } - return c; - } - - @Override public void applyConfiguration(@NonNull JSONObject configuration) { - try { - if (configuration.has(getResourceHelper().gs(R.string.key_absorption_maxtime))) - getSp().putDouble(R.string.key_absorption_maxtime, configuration.getDouble(getResourceHelper().gs(R.string.key_absorption_maxtime))); - if (configuration.has(getResourceHelper().gs(R.string.key_openapsama_autosens_period))) - getSp().putDouble(R.string.key_openapsama_autosens_period, configuration.getDouble(getResourceHelper().gs(R.string.key_openapsama_autosens_period))); - if (configuration.has(getResourceHelper().gs(R.string.key_openapsama_autosens_max))) - getSp().getDouble(R.string.key_openapsama_autosens_max, configuration.getDouble(getResourceHelper().gs(R.string.key_openapsama_autosens_max))); - if (configuration.has(getResourceHelper().gs(R.string.key_openapsama_autosens_min))) - getSp().getDouble(R.string.key_openapsama_autosens_min, configuration.getDouble(getResourceHelper().gs(R.string.key_openapsama_autosens_min))); - } catch (JSONException e) { - e.printStackTrace(); - } - } -} diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/SensitivityAAPSPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/SensitivityAAPSPlugin.kt new file mode 100644 index 0000000000..4c53d95ab7 --- /dev/null +++ b/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/SensitivityAAPSPlugin.kt @@ -0,0 +1,161 @@ +package info.nightscout.androidaps.plugins.sensitivity + +import dagger.android.HasAndroidInjector +import info.nightscout.androidaps.Constants +import info.nightscout.androidaps.MainApp +import info.nightscout.androidaps.R +import info.nightscout.androidaps.data.Profile +import info.nightscout.androidaps.db.CareportalEvent +import info.nightscout.androidaps.db.ProfileSwitch +import info.nightscout.androidaps.interfaces.IobCobCalculatorInterface +import info.nightscout.androidaps.interfaces.PluginDescription +import info.nightscout.androidaps.interfaces.PluginType +import info.nightscout.androidaps.interfaces.ProfileFunction +import info.nightscout.androidaps.interfaces.SensitivityInterface.SensitivityType +import info.nightscout.androidaps.logging.AAPSLogger +import info.nightscout.androidaps.logging.LTag +import info.nightscout.androidaps.plugins.iob.iobCobCalculator.AutosensResult +import info.nightscout.androidaps.plugins.iob.iobCobCalculator.IobCobCalculatorPlugin.Companion.percentile +import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.androidaps.utils.resources.ResourceHelper +import info.nightscout.androidaps.utils.sharedPreferences.SP +import org.json.JSONException +import org.json.JSONObject +import java.util.* +import javax.inject.Inject +import javax.inject.Singleton +import kotlin.math.roundToInt + +@Singleton +open class SensitivityAAPSPlugin @Inject constructor( + injector: HasAndroidInjector?, + aapsLogger: AAPSLogger?, + resourceHelper: ResourceHelper?, + sp: SP?, + private val profileFunction: ProfileFunction, + private val dateUtil: DateUtil +) : AbstractSensitivityPlugin(PluginDescription() + .mainType(PluginType.SENSITIVITY) + .pluginIcon(R.drawable.ic_generic_icon) + .pluginName(R.string.sensitivityaaps) + .shortName(R.string.sensitivity_shortname) + .preferencesId(R.xml.pref_absorption_aaps) + .description(R.string.description_sensitivity_aaps), + injector!!, aapsLogger!!, resourceHelper!!, sp!! +) { + + override fun detectSensitivity(plugin: IobCobCalculatorInterface, fromTime: Long, toTime: Long): AutosensResult { + val autosensDataTable = plugin.getAutosensDataTable() + val age = sp.getString(R.string.key_age, "") + var defaultHours = 24 + if (age == resourceHelper.gs(R.string.key_adult)) defaultHours = 24 + if (age == resourceHelper.gs(R.string.key_teenage)) defaultHours = 4 + if (age == resourceHelper.gs(R.string.key_child)) defaultHours = 4 + val hoursForDetection = sp.getInt(R.string.key_openapsama_autosens_period, defaultHours) + val profile = profileFunction.getProfile() + if (profile == null) { + aapsLogger.error("No profile") + return AutosensResult() + } + if (autosensDataTable.size() < 4) { + aapsLogger.debug(LTag.AUTOSENS, "No autosens data available. lastDataTime=" + plugin.lastDataTime()) + return AutosensResult() + } + val current = plugin.getAutosensData(toTime) // this is running inside lock already + if (current == null) { + aapsLogger.debug(LTag.AUTOSENS, "No autosens data available. toTime: " + dateUtil.dateAndTimeString(toTime) + " lastDataTime: " + plugin.lastDataTime()) + return AutosensResult() + } + val siteChanges = MainApp.getDbHelper().getCareportalEventsFromTime(fromTime, CareportalEvent.SITECHANGE, true) + val profileSwitches = MainApp.getDbHelper().getProfileSwitchEventsFromTime(fromTime, true) + val deviationsArray: MutableList = ArrayList() + var pastSensitivity = "" + var index = 0 + while (index < autosensDataTable.size()) { + val autosensData = autosensDataTable.valueAt(index) + if (autosensData.time < fromTime) { + index++ + continue + } + if (autosensData.time > toTime) { + index++ + continue + } + + // reset deviations after site change + if (CareportalEvent(injector).isEvent5minBack(siteChanges, autosensData.time)) { + deviationsArray.clear() + pastSensitivity += "(SITECHANGE)" + } + + // reset deviations after profile switch + if (ProfileSwitch(injector).isEvent5minBack(profileSwitches, autosensData.time, true)) { + deviationsArray.clear() + pastSensitivity += "(PROFILESWITCH)" + } + var deviation = autosensData.deviation + + //set positive deviations to zero if bg < 80 + if (autosensData.bg < 80 && deviation > 0) deviation = 0.0 + if (autosensData.validDeviation) if (autosensData.time > toTime - hoursForDetection * 60 * 60 * 1000L) deviationsArray.add(deviation) + if (deviationsArray.size > hoursForDetection * 60 / 5) deviationsArray.removeAt(0) + pastSensitivity += autosensData.pastSensitivity + val secondsFromMidnight = Profile.secondsFromMidnight(autosensData.time) + if (secondsFromMidnight % 3600 < 2.5 * 60 || secondsFromMidnight % 3600 > 57.5 * 60) { + pastSensitivity += "(" + (secondsFromMidnight / 3600.0).roundToInt() + ")" + } + index++ + } + val deviations = Array(deviationsArray.size) { i -> deviationsArray[i] } + val sens = profile.isfMgdl + val ratioLimit = "" + val sensResult: String + aapsLogger.debug(LTag.AUTOSENS, "Records: $index $pastSensitivity") + Arrays.sort(deviations) + val percentile = percentile(deviations, 0.50) + val basalOff = percentile * (60.0 / 5.0) / sens + val ratio = 1 + basalOff / profile.maxDailyBasal + sensResult = when { + percentile < 0 -> "Excess insulin sensitivity detected" + percentile > 0 -> "Excess insulin resistance detected" + else -> "Sensitivity normal" + + } + aapsLogger.debug(LTag.AUTOSENS, sensResult) + val output = fillResult(ratio, current.cob, pastSensitivity, ratioLimit, + sensResult, deviationsArray.size) + aapsLogger.debug(LTag.AUTOSENS, "Sensitivity to: " + + dateUtil.dateAndTimeString(toTime) + + " ratio: " + output.ratio + + " mealCOB: " + current.cob) + aapsLogger.debug(LTag.AUTOSENS, "Sensitivity to: deviations " + deviations.contentToString()) + return output + } + + override val id: SensitivityType + get() = SensitivityType.SENSITIVITY_AAPS + + override fun configuration(): JSONObject { + val c = JSONObject() + try { + c.put(resourceHelper.gs(R.string.key_absorption_maxtime), sp.getDouble(R.string.key_absorption_maxtime, Constants.DEFAULT_MAX_ABSORPTION_TIME)) + c.put(resourceHelper.gs(R.string.key_openapsama_autosens_period), sp.getInt(R.string.key_openapsama_autosens_period, 24)) + c.put(resourceHelper.gs(R.string.key_openapsama_autosens_max), sp.getDouble(R.string.key_openapsama_autosens_max, 1.2)) + c.put(resourceHelper.gs(R.string.key_openapsama_autosens_min), sp.getDouble(R.string.key_openapsama_autosens_min, 0.7)) + } catch (e: JSONException) { + e.printStackTrace() + } + return c + } + + override fun applyConfiguration(configuration: JSONObject) { + try { + if (configuration.has(resourceHelper.gs(R.string.key_absorption_maxtime))) sp.putDouble(R.string.key_absorption_maxtime, configuration.getDouble(resourceHelper.gs(R.string.key_absorption_maxtime))) + if (configuration.has(resourceHelper.gs(R.string.key_openapsama_autosens_period))) sp.putDouble(R.string.key_openapsama_autosens_period, configuration.getDouble(resourceHelper.gs(R.string.key_openapsama_autosens_period))) + if (configuration.has(resourceHelper.gs(R.string.key_openapsama_autosens_max))) sp.getDouble(R.string.key_openapsama_autosens_max, configuration.getDouble(resourceHelper.gs(R.string.key_openapsama_autosens_max))) + if (configuration.has(resourceHelper.gs(R.string.key_openapsama_autosens_min))) sp.getDouble(R.string.key_openapsama_autosens_min, configuration.getDouble(resourceHelper.gs(R.string.key_openapsama_autosens_min))) + } catch (e: JSONException) { + e.printStackTrace() + } + } +} \ No newline at end of file diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/SensitivityOref1Plugin.java b/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/SensitivityOref1Plugin.java deleted file mode 100644 index e16e3d4ed2..0000000000 --- a/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/SensitivityOref1Plugin.java +++ /dev/null @@ -1,286 +0,0 @@ -package info.nightscout.androidaps.plugins.sensitivity; - -import androidx.collection.LongSparseArray; - -import androidx.annotation.NonNull; -import org.json.JSONException; -import org.json.JSONObject; - -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; - -import javax.inject.Inject; -import javax.inject.Singleton; - -import dagger.android.HasAndroidInjector; -import info.nightscout.androidaps.Constants; -import info.nightscout.androidaps.MainApp; -import info.nightscout.androidaps.R; -import info.nightscout.androidaps.data.Profile; -import info.nightscout.androidaps.db.CareportalEvent; -import info.nightscout.androidaps.db.ProfileSwitch; -import info.nightscout.androidaps.interfaces.IobCobCalculatorInterface; -import info.nightscout.androidaps.interfaces.PluginDescription; -import info.nightscout.androidaps.interfaces.PluginType; -import info.nightscout.androidaps.interfaces.ProfileFunction; -import info.nightscout.androidaps.logging.AAPSLogger; -import info.nightscout.androidaps.logging.LTag; -import info.nightscout.androidaps.plugins.aps.openAPSSMB.SMBDefaults; -import info.nightscout.androidaps.plugins.iob.iobCobCalculator.AutosensResult; -import info.nightscout.androidaps.plugins.iob.iobCobCalculator.IobCobCalculatorPlugin; -import info.nightscout.androidaps.plugins.iob.iobCobCalculator.data.AutosensData; -import info.nightscout.androidaps.utils.DateUtil; -import info.nightscout.androidaps.utils.resources.ResourceHelper; -import info.nightscout.androidaps.utils.sharedPreferences.SP; - - -/** - * Created by mike on 19.06.2018. - */ -@Singleton -public class SensitivityOref1Plugin extends AbstractSensitivityPlugin { - - private final ProfileFunction profileFunction; - private final DateUtil dateUtil; - - @Inject - public SensitivityOref1Plugin( - HasAndroidInjector injector, - AAPSLogger aapsLogger, - ResourceHelper resourceHelper, - SP sp, - ProfileFunction profileFunction, - DateUtil dateUtil - ) { - super(new PluginDescription() - .mainType(PluginType.SENSITIVITY) - .pluginIcon(R.drawable.ic_generic_icon) - .pluginName(R.string.sensitivityoref1) - .shortName(R.string.sensitivity_shortname) - .enableByDefault(true) - .preferencesId(R.xml.pref_absorption_oref1) - .description(R.string.description_sensitivity_oref1) - .setDefault(), - injector, aapsLogger, resourceHelper, sp - ); - this.profileFunction = profileFunction; - this.dateUtil = dateUtil; - } - - @NonNull @Override - public AutosensResult detectSensitivity(IobCobCalculatorInterface iobCobCalculatorPlugin, long fromTime, long toTime) { - // todo this method is called from the IobCobCalculatorPlugin, which leads to a circular - // dependency, this should be avoided - LongSparseArray autosensDataTable = iobCobCalculatorPlugin.getAutosensDataTable(); - - Profile profile = profileFunction.getProfile(); - - if (profile == null) { - getAapsLogger().error("No profile"); - return new AutosensResult(); - } - - if (autosensDataTable == null || autosensDataTable.size() < 4) { - getAapsLogger().debug(LTag.AUTOSENS, "No autosens data available. lastDataTime=" + iobCobCalculatorPlugin.lastDataTime()); - return new AutosensResult(); - } - - // the current - AutosensData current = iobCobCalculatorPlugin.getAutosensData(toTime); // this is running inside lock already - if (current == null) { - getAapsLogger().debug(LTag.AUTOSENS, "No autosens data available. toTime: " + dateUtil.dateAndTimeString(toTime) + " lastDataTime: " + iobCobCalculatorPlugin.lastDataTime()); - return new AutosensResult(); - } - - List siteChanges = MainApp.getDbHelper().getCareportalEventsFromTime(fromTime, CareportalEvent.SITECHANGE, true); - List profileSwitches = MainApp.getDbHelper().getProfileSwitchEventsFromTime(fromTime, true); - - //[0] = 8 hour - //[1] = 24 hour - //Deviationshour has DeviationsArray - List> deviationsHour = Arrays.asList(new ArrayList<>(), new ArrayList<>()); - List pastSensitivityArray = Arrays.asList("", ""); - List sensResultArray = Arrays.asList("", ""); - List ratioArray = Arrays.asList(0d, 0d); - List deviationCategory = Arrays.asList(96d, 288d); - List ratioLimitArray = Arrays.asList("", ""); - List hoursDetection = Arrays.asList(8d, 24d); - - - int index = 0; - while (index < autosensDataTable.size()) { - AutosensData autosensData = autosensDataTable.valueAt(index); - - if (autosensData.time < fromTime) { - index++; - continue; - } - - if (autosensData.time > toTime) { - index++; - continue; - } - int hoursegment = 0; - //hoursegment = 0 = 8 hour - //hoursegment = 1 = 24 hour - while (hoursegment < deviationsHour.size()) { - ArrayList deviationsArray = deviationsHour.get(hoursegment); - String pastSensitivity = pastSensitivityArray.get(hoursegment); - - // reset deviations after site change - if (new CareportalEvent(getInjector()).isEvent5minBack(siteChanges, autosensData.time)) { - deviationsArray.clear(); - pastSensitivity += "(SITECHANGE)"; - } - - // reset deviations after profile switch - if (new ProfileSwitch(getInjector()).isEvent5minBack(profileSwitches, autosensData.time, true)) { - deviationsArray.clear(); - pastSensitivity += "(PROFILESWITCH)"; - } - - double deviation = autosensData.deviation; - - //set positive deviations to zero if bg < 80 - if (autosensData.bg < 80 && deviation > 0) - deviation = 0; - - if (autosensData.validDeviation) - if (autosensData.time > toTime - hoursDetection.get(hoursegment) * 60 * 60 * 1000L) - deviationsArray.add(deviation); - - - deviationsArray.addAll(autosensData.extraDeviation); - - if (deviationsArray.size() > deviationCategory.get(hoursegment)) { - deviationsArray.remove(0); - } - - pastSensitivity += autosensData.pastSensitivity; - int secondsFromMidnight = Profile.secondsFromMidnight(autosensData.time); - - if (secondsFromMidnight % 3600 < 2.5 * 60 || secondsFromMidnight % 3600 > 57.5 * 60) { - pastSensitivity += "(" + Math.round(secondsFromMidnight / 3600d) + ")"; - } - - //Update the data back to the parent - deviationsHour.set(hoursegment, deviationsArray); - pastSensitivityArray.set(hoursegment, pastSensitivity); - hoursegment++; - } - index++; - } - - // when we have less than 8h/24 worth of deviation data, add up to 90m of zero deviations - // this dampens any large sensitivity changes detected based on too little data, without ignoring them completely - - for (int i = 0; i < deviationsHour.size(); i++) { - ArrayList deviations = deviationsHour.get(i); - getAapsLogger().debug(LTag.AUTOSENS, "Using most recent " + deviations.size() + " deviations"); - if (deviations.size() < deviationCategory.get(i)) { - int pad = (int) Math.round((1 - (double) deviations.size() / deviationCategory.get(i)) * 18); - getAapsLogger().debug(LTag.AUTOSENS, "Adding " + pad + " more zero deviations"); - for (int d = 0; d < pad; d++) { - deviations.add(0d); - } - } - //Update the data back to the parent - deviationsHour.set(i, deviations); - - } - - int hourused = 0; - while (hourused < deviationsHour.size()) { - ArrayList deviationsArray = deviationsHour.get(hourused); - String pastSensitivity = pastSensitivityArray.get(hourused); - String sensResult = "(8 hours) "; - if (hourused == 1) sensResult = "(24 hours) "; - String ratioLimit = ""; - - Double[] deviations = new Double[deviationsArray.size()]; - deviations = (Double[]) deviationsArray.toArray(deviations); - - double sens = profile.getIsfMgdl(); - - - getAapsLogger().debug(LTag.AUTOSENS, "Records: " + index + " " + pastSensitivity); - - Arrays.sort(deviations); - double pSensitive = IobCobCalculatorPlugin.Companion.percentile(deviations, 0.50); - double pResistant = IobCobCalculatorPlugin.Companion.percentile(deviations, 0.50); - - double basalOff = 0; - - if (pSensitive < 0) { // sensitive - basalOff = pSensitive * (60.0 / 5) / sens; - sensResult += "Excess insulin sensitivity detected"; - } else if (pResistant > 0) { // resistant - basalOff = pResistant * (60.0 / 5) / sens; - sensResult += "Excess insulin resistance detected"; - } else { - sensResult += "Sensitivity normal"; - } - - getAapsLogger().debug(LTag.AUTOSENS, sensResult); - - double ratio = 1 + (basalOff / profile.getMaxDailyBasal()); - - //Update the data back to the parent - sensResultArray.set(hourused, sensResult); - ratioArray.set(hourused, ratio); - ratioLimitArray.set(hourused, ratioLimit); - hourused++; - } - - int key = 1; - String comparison = " 8 h ratio " + ratioArray.get(0) + " vs 24h ratio " + ratioArray.get(1); - //use 24 hour ratio by default - //if the 8 hour ratio is less than the 24 hour ratio, the 8 hour ratio is used - if (ratioArray.get(0) < ratioArray.get(1)) { - key = 0; - } - //String message = hoursDetection.get(key) + " of sensitivity used"; - AutosensResult output = fillResult(ratioArray.get(key), current.cob, pastSensitivityArray.get(key), ratioLimitArray.get(key), - sensResultArray.get(key) + comparison, deviationsHour.get(key).size()); - - getAapsLogger().debug(LTag.AUTOSENS, "Sensitivity to: " - + dateUtil.dateAndTimeString(toTime) + - " ratio: " + output.ratio - + " mealCOB: " + current.cob); - - return output; - } - - @NonNull @Override public JSONObject configuration() { - JSONObject c = new JSONObject(); - try { - c.put(getResourceHelper().gs(R.string.key_openapsama_min_5m_carbimpact), getSp().getDouble(R.string.key_openapsama_min_5m_carbimpact, SMBDefaults.min_5m_carbimpact)); - c.put(getResourceHelper().gs(R.string.key_absorption_cutoff), getSp().getDouble(R.string.key_absorption_cutoff, Constants.DEFAULT_MAX_ABSORPTION_TIME)); - c.put(getResourceHelper().gs(R.string.key_openapsama_autosens_max), getSp().getDouble(R.string.key_openapsama_autosens_max, 1.2)); - c.put(getResourceHelper().gs(R.string.key_openapsama_autosens_min), getSp().getDouble(R.string.key_openapsama_autosens_min, 0.7)); - } catch (JSONException e) { - e.printStackTrace(); - } - return c; - } - - @Override public void applyConfiguration(@NonNull JSONObject configuration) { - try { - if (configuration.has(getResourceHelper().gs(R.string.key_openapsama_min_5m_carbimpact))) - getSp().putDouble(R.string.key_openapsama_min_5m_carbimpact, configuration.getDouble(getResourceHelper().gs(R.string.key_openapsama_min_5m_carbimpact))); - if (configuration.has(getResourceHelper().gs(R.string.key_absorption_cutoff))) - getSp().putDouble(R.string.key_absorption_cutoff, configuration.getDouble(getResourceHelper().gs(R.string.key_absorption_cutoff))); - if (configuration.has(getResourceHelper().gs(R.string.key_openapsama_autosens_max))) - getSp().getDouble(R.string.key_openapsama_autosens_max, configuration.getDouble(getResourceHelper().gs(R.string.key_openapsama_autosens_max))); - if (configuration.has(getResourceHelper().gs(R.string.key_openapsama_autosens_min))) - getSp().getDouble(R.string.key_openapsama_autosens_min, configuration.getDouble(getResourceHelper().gs(R.string.key_openapsama_autosens_min))); - } catch (JSONException e) { - e.printStackTrace(); - } - } - - @NonNull @Override public SensitivityType getId() { - return SensitivityType.SENSITIVITY_OREF1; - } -} diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/SensitivityOref1Plugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/SensitivityOref1Plugin.kt new file mode 100644 index 0000000000..c04a204312 --- /dev/null +++ b/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/SensitivityOref1Plugin.kt @@ -0,0 +1,228 @@ +package info.nightscout.androidaps.plugins.sensitivity + +import dagger.android.HasAndroidInjector +import info.nightscout.androidaps.Constants +import info.nightscout.androidaps.MainApp +import info.nightscout.androidaps.R +import info.nightscout.androidaps.data.Profile +import info.nightscout.androidaps.db.CareportalEvent +import info.nightscout.androidaps.db.ProfileSwitch +import info.nightscout.androidaps.interfaces.IobCobCalculatorInterface +import info.nightscout.androidaps.interfaces.PluginDescription +import info.nightscout.androidaps.interfaces.PluginType +import info.nightscout.androidaps.interfaces.ProfileFunction +import info.nightscout.androidaps.interfaces.SensitivityInterface.SensitivityType +import info.nightscout.androidaps.logging.AAPSLogger +import info.nightscout.androidaps.logging.LTag +import info.nightscout.androidaps.plugins.aps.openAPSSMB.SMBDefaults +import info.nightscout.androidaps.plugins.iob.iobCobCalculator.AutosensResult +import info.nightscout.androidaps.plugins.iob.iobCobCalculator.IobCobCalculatorPlugin.Companion.percentile +import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.androidaps.utils.resources.ResourceHelper +import info.nightscout.androidaps.utils.sharedPreferences.SP +import org.json.JSONException +import org.json.JSONObject +import java.util.* +import javax.inject.Inject +import javax.inject.Singleton +import kotlin.math.roundToInt + +@Singleton +open class SensitivityOref1Plugin @Inject constructor( + injector: HasAndroidInjector?, + aapsLogger: AAPSLogger?, + resourceHelper: ResourceHelper?, + sp: SP?, + private val profileFunction: ProfileFunction, + private val dateUtil: DateUtil +) : AbstractSensitivityPlugin(PluginDescription() + .mainType(PluginType.SENSITIVITY) + .pluginIcon(R.drawable.ic_generic_icon) + .pluginName(R.string.sensitivityoref1) + .shortName(R.string.sensitivity_shortname) + .enableByDefault(true) + .preferencesId(R.xml.pref_absorption_oref1) + .description(R.string.description_sensitivity_oref1) + .setDefault(), + injector!!, aapsLogger!!, resourceHelper!!, sp!! +) { + + override fun detectSensitivity(plugin: IobCobCalculatorInterface, fromTime: Long, toTime: Long): AutosensResult { + // todo this method is called from the IobCobCalculatorPlugin, which leads to a circular + // dependency, this should be avoided + val autosensDataTable = plugin.getAutosensDataTable() + val profile = profileFunction.getProfile() + if (profile == null) { + aapsLogger.error("No profile") + return AutosensResult() + } + if (autosensDataTable.size() < 4) { + aapsLogger.debug(LTag.AUTOSENS, "No autosens data available. lastDataTime=" + plugin.lastDataTime()) + return AutosensResult() + } + + // the current + val current = plugin.getAutosensData(toTime) // this is running inside lock already + if (current == null) { + aapsLogger.debug(LTag.AUTOSENS, "No autosens data available. toTime: " + dateUtil.dateAndTimeString(toTime) + " lastDataTime: " + plugin.lastDataTime()) + return AutosensResult() + } + val siteChanges = MainApp.getDbHelper().getCareportalEventsFromTime(fromTime, CareportalEvent.SITECHANGE, true) + val profileSwitches = MainApp.getDbHelper().getProfileSwitchEventsFromTime(fromTime, true) + + //[0] = 8 hour + //[1] = 24 hour + //deviationsHour has DeviationsArray + val deviationsHour = mutableListOf(ArrayList(), ArrayList()) + val pastSensitivityArray = mutableListOf("", "") + val sensResultArray = mutableListOf("", "") + val ratioArray = mutableListOf(0.0, 0.0) + val deviationCategory = listOf(96.0, 288.0) + val ratioLimitArray = mutableListOf("", "") + val hoursDetection = listOf(8.0, 24.0) + var index = 0 + while (index < autosensDataTable.size()) { + val autosensData = autosensDataTable.valueAt(index) + if (autosensData.time < fromTime) { + index++ + continue + } + if (autosensData.time > toTime) { + index++ + continue + } + var hourSegment = 0 + //hourSegment = 0 = 8 hour + //hourSegment = 1 = 24 hour + while (hourSegment < deviationsHour.size) { + val deviationsArray = deviationsHour[hourSegment] + var pastSensitivity = pastSensitivityArray[hourSegment] + + // reset deviations after site change + if (CareportalEvent(injector).isEvent5minBack(siteChanges, autosensData.time)) { + deviationsArray.clear() + pastSensitivity += "(SITECHANGE)" + } + + // reset deviations after profile switch + if (ProfileSwitch(injector).isEvent5minBack(profileSwitches, autosensData.time, true)) { + deviationsArray.clear() + pastSensitivity += "(PROFILESWITCH)" + } + var deviation = autosensData.deviation + + //set positive deviations to zero if bg < 80 + if (autosensData.bg < 80 && deviation > 0) deviation = 0.0 + if (autosensData.validDeviation) if (autosensData.time > toTime - hoursDetection[hourSegment] * 60 * 60 * 1000L) deviationsArray.add(deviation) + deviationsArray.addAll(autosensData.extraDeviation) + if (deviationsArray.size > deviationCategory[hourSegment]) { + deviationsArray.removeAt(0) + } + pastSensitivity += autosensData.pastSensitivity + val secondsFromMidnight = Profile.secondsFromMidnight(autosensData.time) + if (secondsFromMidnight % 3600 < 2.5 * 60 || secondsFromMidnight % 3600 > 57.5 * 60) { + pastSensitivity += "(" + (secondsFromMidnight / 3600.0).roundToInt() + ")" + } + + //Update the data back to the parent + deviationsHour[hourSegment] = deviationsArray + pastSensitivityArray[hourSegment] = pastSensitivity + hourSegment++ + } + index++ + } + + // when we have less than 8h/24 worth of deviation data, add up to 90m of zero deviations + // this dampens any large sensitivity changes detected based on too little data, without ignoring them completely + for (i in deviationsHour.indices) { + val deviations = deviationsHour[i] + aapsLogger.debug(LTag.AUTOSENS, "Using most recent " + deviations.size + " deviations") + if (deviations.size < deviationCategory[i]) { + val pad = ((1 - deviations.size.toDouble() / deviationCategory[i]) * 18).roundToInt() + aapsLogger.debug(LTag.AUTOSENS, "Adding $pad more zero deviations") + for (d in 0 until pad) { + deviations.add(0.0) + } + } + //Update the data back to the parent + deviationsHour[i] = deviations + } + var hourUsed = 0 + while (hourUsed < deviationsHour.size) { + val deviationsArray: ArrayList = deviationsHour[hourUsed] + val pastSensitivity = pastSensitivityArray[hourUsed] + var sensResult = "(8 hours) " + if (hourUsed == 1) sensResult = "(24 hours) " + val ratioLimit = "" + val deviations: Array = Array(deviationsArray.size) { i -> deviationsArray[i] } + val sens = profile.isfMgdl + aapsLogger.debug(LTag.AUTOSENS, "Records: $index $pastSensitivity") + Arrays.sort(deviations) + val pSensitive = percentile(deviations, 0.50) + val pResistant = percentile(deviations, 0.50) + var basalOff = 0.0 + when { + pSensitive < 0 -> { // sensitive + basalOff = pSensitive * (60.0 / 5) / sens + sensResult += "Excess insulin sensitivity detected" + } + + pResistant > 0 -> { // resistant + basalOff = pResistant * (60.0 / 5) / sens + sensResult += "Excess insulin resistance detected" + } + + else -> sensResult += "Sensitivity normal" + } + aapsLogger.debug(LTag.AUTOSENS, sensResult) + val ratio = 1 + basalOff / profile.maxDailyBasal + + //Update the data back to the parent + sensResultArray[hourUsed] = sensResult + ratioArray[hourUsed] = ratio + ratioLimitArray[hourUsed] = ratioLimit + hourUsed++ + } + var key = 1 + val comparison = " 8 h ratio " + ratioArray[0] + " vs 24h ratio " + ratioArray[1] + //use 24 hour ratio by default + //if the 8 hour ratio is less than the 24 hour ratio, the 8 hour ratio is used + if (ratioArray[0] < ratioArray[1]) { + key = 0 + } + //String message = hoursDetection.get(key) + " of sensitivity used"; + val output = fillResult(ratioArray[key], current.cob, pastSensitivityArray[key], ratioLimitArray[key], sensResultArray[key] + comparison, deviationsHour[key].size) + aapsLogger.debug(LTag.AUTOSENS, "Sensitivity to: " + + dateUtil.dateAndTimeString(toTime) + + " ratio: " + output.ratio + + " mealCOB: " + current.cob) + return output + } + + override fun configuration(): JSONObject { + val c = JSONObject() + try { + c.put(resourceHelper.gs(R.string.key_openapsama_min_5m_carbimpact), sp.getDouble(R.string.key_openapsama_min_5m_carbimpact, SMBDefaults.min_5m_carbimpact)) + c.put(resourceHelper.gs(R.string.key_absorption_cutoff), sp.getDouble(R.string.key_absorption_cutoff, Constants.DEFAULT_MAX_ABSORPTION_TIME)) + c.put(resourceHelper.gs(R.string.key_openapsama_autosens_max), sp.getDouble(R.string.key_openapsama_autosens_max, 1.2)) + c.put(resourceHelper.gs(R.string.key_openapsama_autosens_min), sp.getDouble(R.string.key_openapsama_autosens_min, 0.7)) + } catch (e: JSONException) { + e.printStackTrace() + } + return c + } + + override fun applyConfiguration(configuration: JSONObject) { + try { + if (configuration.has(resourceHelper.gs(R.string.key_openapsama_min_5m_carbimpact))) sp.putDouble(R.string.key_openapsama_min_5m_carbimpact, configuration.getDouble(resourceHelper.gs(R.string.key_openapsama_min_5m_carbimpact))) + if (configuration.has(resourceHelper.gs(R.string.key_absorption_cutoff))) sp.putDouble(R.string.key_absorption_cutoff, configuration.getDouble(resourceHelper.gs(R.string.key_absorption_cutoff))) + if (configuration.has(resourceHelper.gs(R.string.key_openapsama_autosens_max))) sp.getDouble(R.string.key_openapsama_autosens_max, configuration.getDouble(resourceHelper.gs(R.string.key_openapsama_autosens_max))) + if (configuration.has(resourceHelper.gs(R.string.key_openapsama_autosens_min))) sp.getDouble(R.string.key_openapsama_autosens_min, configuration.getDouble(resourceHelper.gs(R.string.key_openapsama_autosens_min))) + } catch (e: JSONException) { + e.printStackTrace() + } + } + + override val id: SensitivityType + get() = SensitivityType.SENSITIVITY_OREF1 +} \ No newline at end of file diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/SensitivityWeightedAveragePlugin.java b/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/SensitivityWeightedAveragePlugin.java deleted file mode 100644 index 548f264fd9..0000000000 --- a/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/SensitivityWeightedAveragePlugin.java +++ /dev/null @@ -1,240 +0,0 @@ -package info.nightscout.androidaps.plugins.sensitivity; - -import androidx.collection.LongSparseArray; - -import androidx.annotation.NonNull; -import org.json.JSONException; -import org.json.JSONObject; - -import java.util.List; - -import javax.inject.Inject; -import javax.inject.Singleton; - -import dagger.android.HasAndroidInjector; -import info.nightscout.androidaps.Constants; -import info.nightscout.androidaps.MainApp; -import info.nightscout.androidaps.R; -import info.nightscout.androidaps.data.Profile; -import info.nightscout.androidaps.db.CareportalEvent; -import info.nightscout.androidaps.db.ProfileSwitch; -import info.nightscout.androidaps.interfaces.IobCobCalculatorInterface; -import info.nightscout.androidaps.interfaces.PluginDescription; -import info.nightscout.androidaps.interfaces.PluginType; -import info.nightscout.androidaps.interfaces.ProfileFunction; -import info.nightscout.androidaps.logging.AAPSLogger; -import info.nightscout.androidaps.logging.LTag; -import info.nightscout.androidaps.plugins.iob.iobCobCalculator.AutosensResult; -import info.nightscout.androidaps.plugins.iob.iobCobCalculator.data.AutosensData; -import info.nightscout.androidaps.utils.DateUtil; -import info.nightscout.androidaps.utils.resources.ResourceHelper; -import info.nightscout.androidaps.utils.sharedPreferences.SP; - -/** - * Created by mike on 24.06.2017. - */ -@Singleton -public class SensitivityWeightedAveragePlugin extends AbstractSensitivityPlugin { - - private final SP sp; - private final DateUtil dateUtil; - private final ProfileFunction profileFunction; - - @Inject - public SensitivityWeightedAveragePlugin( - HasAndroidInjector injector, - AAPSLogger aapsLogger, - ResourceHelper resourceHelper, - SP sp, - ProfileFunction profileFunction, - DateUtil dateUtil - ) { - super(new PluginDescription() - .mainType(PluginType.SENSITIVITY) - .pluginIcon(R.drawable.ic_generic_icon) - .pluginName(R.string.sensitivityweightedaverage) - .shortName(R.string.sensitivity_shortname) - .preferencesId(R.xml.pref_absorption_aaps) - .description(R.string.description_sensitivity_weighted_average), - injector, aapsLogger, resourceHelper, sp - ); - this.sp = sp; - this.dateUtil = dateUtil; - this.profileFunction = profileFunction; - } - - @Override - public AutosensResult detectSensitivity(IobCobCalculatorInterface iobCobCalculatorPlugin, long fromTime, long toTime) { - LongSparseArray autosensDataTable = iobCobCalculatorPlugin.getAutosensDataTable(); - - String age = sp.getString(R.string.key_age, ""); - int defaultHours = 24; - if (age.equals(getResourceHelper().gs(R.string.key_adult))) defaultHours = 24; - if (age.equals(getResourceHelper().gs(R.string.key_teenage))) defaultHours = 4; - if (age.equals(getResourceHelper().gs(R.string.key_child))) defaultHours = 4; - int hoursForDetection = sp.getInt(R.string.key_openapsama_autosens_period, defaultHours); - - if (autosensDataTable == null || autosensDataTable.size() < 4) { - getAapsLogger().debug(LTag.AUTOSENS, "No autosens data available. lastDataTime=" + iobCobCalculatorPlugin.lastDataTime()); - return new AutosensResult(); - } - - AutosensData current = iobCobCalculatorPlugin.getAutosensData(toTime); // this is running inside lock already - if (current == null) { - getAapsLogger().debug(LTag.AUTOSENS, "No autosens data available. toTime: " + dateUtil.dateAndTimeString(toTime) + " lastDataTime: " + iobCobCalculatorPlugin.lastDataTime()); - return new AutosensResult(); - } - - - Profile profile = profileFunction.getProfile(); - if (profile == null) { - getAapsLogger().debug(LTag.AUTOSENS, "No profile available"); - return new AutosensResult(); - } - - List siteChanges = MainApp.getDbHelper().getCareportalEventsFromTime(fromTime, CareportalEvent.SITECHANGE, true); - List profileSwitches = MainApp.getDbHelper().getProfileSwitchEventsFromTime(fromTime, true); - - String pastSensitivity = ""; - int index = 0; - LongSparseArray data = new LongSparseArray<>(); - - while (index < autosensDataTable.size()) { - AutosensData autosensData = autosensDataTable.valueAt(index); - - if (autosensData.time < fromTime) { - index++; - continue; - } - - if (autosensData.time > toTime) { - index++; - continue; - } - - if (autosensData.time < toTime - hoursForDetection * 60 * 60 * 1000L) { - index++; - continue; - } - - // reset deviations after site change - if (new CareportalEvent(getInjector()).isEvent5minBack(siteChanges, autosensData.time)) { - data.clear(); - pastSensitivity += "(SITECHANGE)"; - } - - // reset deviations after profile switch - if (new ProfileSwitch(getInjector()).isEvent5minBack(profileSwitches, autosensData.time, true)) { - data.clear(); - pastSensitivity += "(PROFILESWITCH)"; - } - - double deviation = autosensData.deviation; - - //set positive deviations to zero if bg < 80 - if (autosensData.bg < 80 && deviation > 0) - deviation = 0; - - //data.append(autosensData.time); - long reverseWeight = (toTime - autosensData.time) / (5 * 60 * 1000L); - if (autosensData.validDeviation) - data.append(reverseWeight, deviation); - //weights += reverseWeight; - //weightedsum += reverseWeight * (autosensData.validDeviation ? autosensData.deviation : 0d); - - - pastSensitivity += autosensData.pastSensitivity; - int secondsFromMidnight = Profile.secondsFromMidnight(autosensData.time); - if (secondsFromMidnight % 3600 < 2.5 * 60 || secondsFromMidnight % 3600 > 57.5 * 60) { - pastSensitivity += "(" + Math.round(secondsFromMidnight / 3600d) + ")"; - } - index++; - } - - if (data.size() == 0) { - getAapsLogger().debug(LTag.AUTOSENS, "Data size: " + data.size() + " fromTime: " + dateUtil.dateAndTimeString(fromTime) + " toTime: " + dateUtil.dateAndTimeString(toTime)); - return new AutosensResult(); - } else { - getAapsLogger().debug(LTag.AUTOSENS, "Data size: " + data.size() + " fromTime: " + dateUtil.dateAndTimeString(fromTime) + " toTime: " + dateUtil.dateAndTimeString(toTime)); - } - - double weightedsum = 0; - double weights = 0; - - long hightestWeight = data.keyAt(data.size() - 1); - for (int i = 0; i < data.size(); i++) { - long reversedWeigth = data.keyAt(i); - double value = data.valueAt(i); - double weight = (hightestWeight - reversedWeigth) / 2.0; - weights += weight; - weightedsum += weight * value; - } - - if (weights == 0) { - return new AutosensResult(); - } - - double sens = profile.getIsfMgdl(); - - String ratioLimit = ""; - String sensResult; - - getAapsLogger().debug(LTag.AUTOSENS, "Records: " + index + " " + pastSensitivity); - - double average = weightedsum / weights; - double basalOff = average * (60 / 5.0) / sens; - double ratio = 1 + (basalOff / profile.getMaxDailyBasal()); - - if (average < 0) { // sensitive - sensResult = "Excess insulin sensitivity detected"; - } else if (average > 0) { // resistant - sensResult = "Excess insulin resistance detected"; - } else { - sensResult = "Sensitivity normal"; - } - - getAapsLogger().debug(LTag.AUTOSENS, sensResult); - - AutosensResult output = fillResult(ratio, current.cob, pastSensitivity, ratioLimit, - sensResult, data.size()); - - getAapsLogger().debug(LTag.AUTOSENS, "Sensitivity to: " - + dateUtil.dateAndTimeString(toTime) + - " ratio: " + output.ratio - + " mealCOB: " + current.cob); - - return output; - } - - @NonNull @Override public SensitivityType getId() { - return SensitivityType.SENSITIVITY_WEIGHTED; - } - - @NonNull @Override public JSONObject configuration() { - JSONObject c = new JSONObject(); - try { - c.put(getResourceHelper().gs(R.string.key_absorption_maxtime), getSp().getDouble(R.string.key_absorption_maxtime, Constants.DEFAULT_MAX_ABSORPTION_TIME)); - c.put(getResourceHelper().gs(R.string.key_openapsama_autosens_period), getSp().getInt(R.string.key_openapsama_autosens_period, 24)); - c.put(getResourceHelper().gs(R.string.key_openapsama_autosens_max), getSp().getDouble(R.string.key_openapsama_autosens_max, 1.2)); - c.put(getResourceHelper().gs(R.string.key_openapsama_autosens_min), getSp().getDouble(R.string.key_openapsama_autosens_min, 0.7)); - } catch (JSONException e) { - e.printStackTrace(); - } - return c; - } - - @Override public void applyConfiguration(@NonNull JSONObject configuration) { - try { - if (configuration.has(getResourceHelper().gs(R.string.key_absorption_maxtime))) - getSp().putDouble(R.string.key_absorption_maxtime, configuration.getDouble(getResourceHelper().gs(R.string.key_absorption_maxtime))); - if (configuration.has(getResourceHelper().gs(R.string.key_openapsama_autosens_period))) - getSp().putDouble(R.string.key_openapsama_autosens_period, configuration.getDouble(getResourceHelper().gs(R.string.key_openapsama_autosens_period))); - if (configuration.has(getResourceHelper().gs(R.string.key_openapsama_autosens_max))) - getSp().getDouble(R.string.key_openapsama_autosens_max, configuration.getDouble(getResourceHelper().gs(R.string.key_openapsama_autosens_max))); - if (configuration.has(getResourceHelper().gs(R.string.key_openapsama_autosens_min))) - getSp().getDouble(R.string.key_openapsama_autosens_min, configuration.getDouble(getResourceHelper().gs(R.string.key_openapsama_autosens_min))); - } catch (JSONException e) { - e.printStackTrace(); - } - } -} diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/SensitivityWeightedAveragePlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/SensitivityWeightedAveragePlugin.kt new file mode 100644 index 0000000000..4e742b5760 --- /dev/null +++ b/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/SensitivityWeightedAveragePlugin.kt @@ -0,0 +1,181 @@ +package info.nightscout.androidaps.plugins.sensitivity + +import androidx.collection.LongSparseArray +import dagger.android.HasAndroidInjector +import info.nightscout.androidaps.Constants +import info.nightscout.androidaps.MainApp +import info.nightscout.androidaps.R +import info.nightscout.androidaps.data.Profile +import info.nightscout.androidaps.db.CareportalEvent +import info.nightscout.androidaps.db.ProfileSwitch +import info.nightscout.androidaps.interfaces.IobCobCalculatorInterface +import info.nightscout.androidaps.interfaces.PluginDescription +import info.nightscout.androidaps.interfaces.PluginType +import info.nightscout.androidaps.interfaces.ProfileFunction +import info.nightscout.androidaps.interfaces.SensitivityInterface.SensitivityType +import info.nightscout.androidaps.logging.AAPSLogger +import info.nightscout.androidaps.logging.LTag +import info.nightscout.androidaps.plugins.iob.iobCobCalculator.AutosensResult +import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.androidaps.utils.resources.ResourceHelper +import info.nightscout.androidaps.utils.sharedPreferences.SP +import org.json.JSONException +import org.json.JSONObject +import javax.inject.Inject +import javax.inject.Singleton +import kotlin.math.roundToInt + +@Singleton +open class SensitivityWeightedAveragePlugin @Inject constructor( + injector: HasAndroidInjector, + aapsLogger: AAPSLogger, + resourceHelper: ResourceHelper, + sp: SP, + private val profileFunction: ProfileFunction, + private val dateUtil: DateUtil +) : AbstractSensitivityPlugin(PluginDescription() + .mainType(PluginType.SENSITIVITY) + .pluginIcon(R.drawable.ic_generic_icon) + .pluginName(R.string.sensitivityweightedaverage) + .shortName(R.string.sensitivity_shortname) + .preferencesId(R.xml.pref_absorption_aaps) + .description(R.string.description_sensitivity_weighted_average), + injector, aapsLogger, resourceHelper, sp +) { + + override fun detectSensitivity(plugin: IobCobCalculatorInterface, fromTime: Long, toTime: Long): AutosensResult { + val autosensDataTable = plugin.getAutosensDataTable() + val age = sp.getString(R.string.key_age, "") + var defaultHours = 24 + if (age == resourceHelper.gs(R.string.key_adult)) defaultHours = 24 + if (age == resourceHelper.gs(R.string.key_teenage)) defaultHours = 4 + if (age == resourceHelper.gs(R.string.key_child)) defaultHours = 4 + val hoursForDetection = sp.getInt(R.string.key_openapsama_autosens_period, defaultHours) + if (autosensDataTable.size() < 4) { + aapsLogger.debug(LTag.AUTOSENS, "No autosens data available. lastDataTime=" + plugin.lastDataTime()) + return AutosensResult() + } + val current = plugin.getAutosensData(toTime) // this is running inside lock already + if (current == null) { + aapsLogger.debug(LTag.AUTOSENS, "No autosens data available. toTime: " + dateUtil.dateAndTimeString(toTime) + " lastDataTime: " + plugin.lastDataTime()) + return AutosensResult() + } + val profile = profileFunction.getProfile() + if (profile == null) { + aapsLogger.debug(LTag.AUTOSENS, "No profile available") + return AutosensResult() + } + val siteChanges = MainApp.getDbHelper().getCareportalEventsFromTime(fromTime, CareportalEvent.SITECHANGE, true) + val profileSwitches = MainApp.getDbHelper().getProfileSwitchEventsFromTime(fromTime, true) + var pastSensitivity = "" + var index = 0 + val data = LongSparseArray() + while (index < autosensDataTable.size()) { + val autosensData = autosensDataTable.valueAt(index) + if (autosensData.time < fromTime) { + index++ + continue + } + if (autosensData.time > toTime) { + index++ + continue + } + if (autosensData.time < toTime - hoursForDetection * 60 * 60 * 1000L) { + index++ + continue + } + + // reset deviations after site change + if (CareportalEvent(injector).isEvent5minBack(siteChanges, autosensData.time)) { + data.clear() + pastSensitivity += "(SITECHANGE)" + } + + // reset deviations after profile switch + if (ProfileSwitch(injector).isEvent5minBack(profileSwitches, autosensData.time, true)) { + data.clear() + pastSensitivity += "(PROFILESWITCH)" + } + var deviation = autosensData.deviation + + //set positive deviations to zero if bg < 80 + if (autosensData.bg < 80 && deviation > 0) deviation = 0.0 + + //data.append(autosensData.time); + val reverseWeight = (toTime - autosensData.time) / (5 * 60 * 1000L) + if (autosensData.validDeviation) data.append(reverseWeight, deviation) + pastSensitivity += autosensData.pastSensitivity + val secondsFromMidnight = Profile.secondsFromMidnight(autosensData.time) + if (secondsFromMidnight % 3600 < 2.5 * 60 || secondsFromMidnight % 3600 > 57.5 * 60) { + pastSensitivity += "(" + (secondsFromMidnight / 3600.0).roundToInt() + ")" + } + index++ + } + if (data.size() == 0) { + aapsLogger.debug(LTag.AUTOSENS, "Data size: " + data.size() + " fromTime: " + dateUtil.dateAndTimeString(fromTime) + " toTime: " + dateUtil.dateAndTimeString(toTime)) + return AutosensResult() + } else { + aapsLogger.debug(LTag.AUTOSENS, "Data size: " + data.size() + " fromTime: " + dateUtil.dateAndTimeString(fromTime) + " toTime: " + dateUtil.dateAndTimeString(toTime)) + } + var weightedSum = 0.0 + var weights = 0.0 + val highestWeight = data.keyAt(data.size() - 1) + for (i in 0 until data.size()) { + val reversedWeight = data.keyAt(i) + val value = data.valueAt(i) + val weight = (highestWeight - reversedWeight) / 2.0 + weights += weight + weightedSum += weight * value + } + if (weights == 0.0) { + return AutosensResult() + } + val sens = profile.isfMgdl + val ratioLimit = "" + val sensResult: String + aapsLogger.debug(LTag.AUTOSENS, "Records: $index $pastSensitivity") + val average = weightedSum / weights + val basalOff = average * (60 / 5.0) / sens + val ratio = 1 + basalOff / profile.maxDailyBasal + sensResult = when { + average < 0 -> "Excess insulin sensitivity detected" + average > 0 -> "Excess insulin resistance detected" + else -> "Sensitivity normal" + } + aapsLogger.debug(LTag.AUTOSENS, sensResult) + val output = fillResult(ratio, current.cob, pastSensitivity, ratioLimit, + sensResult, data.size()) + aapsLogger.debug(LTag.AUTOSENS, "Sensitivity to: " + + dateUtil.dateAndTimeString(toTime) + + " ratio: " + output.ratio + + " mealCOB: " + current.cob) + return output + } + + override val id: SensitivityType + get() = SensitivityType.SENSITIVITY_WEIGHTED + + override fun configuration(): JSONObject { + val c = JSONObject() + try { + c.put(resourceHelper.gs(R.string.key_absorption_maxtime), sp.getDouble(R.string.key_absorption_maxtime, Constants.DEFAULT_MAX_ABSORPTION_TIME)) + c.put(resourceHelper.gs(R.string.key_openapsama_autosens_period), sp.getInt(R.string.key_openapsama_autosens_period, 24)) + c.put(resourceHelper.gs(R.string.key_openapsama_autosens_max), sp.getDouble(R.string.key_openapsama_autosens_max, 1.2)) + c.put(resourceHelper.gs(R.string.key_openapsama_autosens_min), sp.getDouble(R.string.key_openapsama_autosens_min, 0.7)) + } catch (e: JSONException) { + e.printStackTrace() + } + return c + } + + override fun applyConfiguration(configuration: JSONObject) { + try { + if (configuration.has(resourceHelper.gs(R.string.key_absorption_maxtime))) sp.putDouble(R.string.key_absorption_maxtime, configuration.getDouble(resourceHelper.gs(R.string.key_absorption_maxtime))) + if (configuration.has(resourceHelper.gs(R.string.key_openapsama_autosens_period))) sp.putDouble(R.string.key_openapsama_autosens_period, configuration.getDouble(resourceHelper.gs(R.string.key_openapsama_autosens_period))) + if (configuration.has(resourceHelper.gs(R.string.key_openapsama_autosens_max))) sp.getDouble(R.string.key_openapsama_autosens_max, configuration.getDouble(resourceHelper.gs(R.string.key_openapsama_autosens_max))) + if (configuration.has(resourceHelper.gs(R.string.key_openapsama_autosens_min))) sp.getDouble(R.string.key_openapsama_autosens_min, configuration.getDouble(resourceHelper.gs(R.string.key_openapsama_autosens_min))) + } catch (e: JSONException) { + e.printStackTrace() + } + } +} \ No newline at end of file diff --git a/app/src/main/java/info/nightscout/androidaps/services/Intents.java b/app/src/main/java/info/nightscout/androidaps/services/Intents.java deleted file mode 100644 index f8742bb8b6..0000000000 --- a/app/src/main/java/info/nightscout/androidaps/services/Intents.java +++ /dev/null @@ -1,40 +0,0 @@ -package info.nightscout.androidaps.services; - -public interface Intents { - // NSClient -> App - String ACTION_NEW_TREATMENT = "info.nightscout.client.NEW_TREATMENT"; - String ACTION_CHANGED_TREATMENT = "info.nightscout.client.CHANGED_TREATMENT"; - String ACTION_REMOVED_TREATMENT = "info.nightscout.client.REMOVED_TREATMENT"; - String ACTION_NEW_PROFILE = "info.nightscout.client.NEW_PROFILE"; - String ACTION_NEW_SGV = "info.nightscout.client.NEW_SGV"; - String ACTION_NEW_MBG = "info.nightscout.client.NEW_MBG"; - String ACTION_NEW_CAL = "info.nightscout.client.NEW_CAL"; - - // xDrip -> App - String ACTION_NEW_BG_ESTIMATE = "com.eveningoutpost.dexdrip.BgEstimate"; - String EXTRA_BG_ESTIMATE = "com.eveningoutpost.dexdrip.Extras.BgEstimate"; - String EXTRA_BG_SLOPE = "com.eveningoutpost.dexdrip.Extras.BgSlope"; - String EXTRA_BG_SLOPE_NAME = "com.eveningoutpost.dexdrip.Extras.BgSlopeName"; - String EXTRA_SENSOR_BATTERY = "com.eveningoutpost.dexdrip.Extras.SensorBattery"; - String EXTRA_TIMESTAMP = "com.eveningoutpost.dexdrip.Extras.Time"; - String EXTRA_RAW = "com.eveningoutpost.dexdrip.Extras.Raw"; - String XDRIP_DATA_SOURCE_DESCRIPTION = "com.eveningoutpost.dexdrip.Extras.SourceDesc"; - - - String ACTION_NEW_BG_ESTIMATE_NO_DATA = "com.eveningoutpost.dexdrip.BgEstimateNoData"; - - String NS_EMULATOR = "com.eveningoutpost.dexdrip.NS_EMULATOR"; - - String ACTION_REMOTE_CALIBRATION = "com.eveningoutpost.dexdrip.NewCalibration"; - - String GLIMP_BG = "it.ct.glicemia.ACTION_GLUCOSE_MEASURED"; - - String DEXCOM_BG = "com.dexcom.cgm.EXTERNAL_BROADCAST"; - String EVERSENSE_BG = "com.senseonics.AndroidAPSEventSubscriber.BROADCAST"; - - String POCTECH_BG = "com.china.poctech.data"; - String TOMATO_BG = "com.fanqies.tomatofn.BgEstimate"; - - // Broadcast status - String AAPS_BROADCAST = "info.nightscout.androidaps.status"; -} diff --git a/app/src/main/java/info/nightscout/androidaps/services/Intents.kt b/app/src/main/java/info/nightscout/androidaps/services/Intents.kt new file mode 100644 index 0000000000..5e38fdb15b --- /dev/null +++ b/app/src/main/java/info/nightscout/androidaps/services/Intents.kt @@ -0,0 +1,38 @@ +package info.nightscout.androidaps.services + +@Suppress("unused") +interface Intents { + + companion object { + + // NSClient -> App + const val ACTION_NEW_TREATMENT = "info.nightscout.client.NEW_TREATMENT" + const val ACTION_CHANGED_TREATMENT = "info.nightscout.client.CHANGED_TREATMENT" + const val ACTION_REMOVED_TREATMENT = "info.nightscout.client.REMOVED_TREATMENT" + const val ACTION_NEW_PROFILE = "info.nightscout.client.NEW_PROFILE" + const val ACTION_NEW_SGV = "info.nightscout.client.NEW_SGV" + const val ACTION_NEW_MBG = "info.nightscout.client.NEW_MBG" + const val ACTION_NEW_CAL = "info.nightscout.client.NEW_CAL" + + // xDrip -> App + const val ACTION_NEW_BG_ESTIMATE = "com.eveningoutpost.dexdrip.BgEstimate" + const val EXTRA_BG_ESTIMATE = "com.eveningoutpost.dexdrip.Extras.BgEstimate" + const val EXTRA_BG_SLOPE = "com.eveningoutpost.dexdrip.Extras.BgSlope" + const val EXTRA_BG_SLOPE_NAME = "com.eveningoutpost.dexdrip.Extras.BgSlopeName" + const val EXTRA_SENSOR_BATTERY = "com.eveningoutpost.dexdrip.Extras.SensorBattery" + const val EXTRA_TIMESTAMP = "com.eveningoutpost.dexdrip.Extras.Time" + const val EXTRA_RAW = "com.eveningoutpost.dexdrip.Extras.Raw" + const val XDRIP_DATA_SOURCE_DESCRIPTION = "com.eveningoutpost.dexdrip.Extras.SourceDesc" + const val ACTION_NEW_BG_ESTIMATE_NO_DATA = "com.eveningoutpost.dexdrip.BgEstimateNoData" + const val NS_EMULATOR = "com.eveningoutpost.dexdrip.NS_EMULATOR" + const val ACTION_REMOTE_CALIBRATION = "com.eveningoutpost.dexdrip.NewCalibration" + const val GLIMP_BG = "it.ct.glicemia.ACTION_GLUCOSE_MEASURED" + const val DEXCOM_BG = "com.dexcom.cgm.EXTERNAL_BROADCAST" + const val EVERSENSE_BG = "com.senseonics.AndroidAPSEventSubscriber.BROADCAST" + const val POCTECH_BG = "com.china.poctech.data" + const val TOMATO_BG = "com.fanqies.tomatofn.BgEstimate" + + // Broadcast status + const val AAPS_BROADCAST = "info.nightscout.androidaps.status" + } +} \ No newline at end of file diff --git a/app/src/main/java/info/nightscout/androidaps/setupwizard/SWNumberValidator.java b/app/src/main/java/info/nightscout/androidaps/setupwizard/SWNumberValidator.java index a71da1dea7..fe22e4ccd8 100644 --- a/app/src/main/java/info/nightscout/androidaps/setupwizard/SWNumberValidator.java +++ b/app/src/main/java/info/nightscout/androidaps/setupwizard/SWNumberValidator.java @@ -1,5 +1,6 @@ package info.nightscout.androidaps.setupwizard; +// keep in java, it's easier public interface SWNumberValidator { boolean isValid(double value); } diff --git a/app/src/main/java/info/nightscout/androidaps/setupwizard/SWTextValidator.java b/app/src/main/java/info/nightscout/androidaps/setupwizard/SWTextValidator.java index 427afbd45d..607d3a6298 100644 --- a/app/src/main/java/info/nightscout/androidaps/setupwizard/SWTextValidator.java +++ b/app/src/main/java/info/nightscout/androidaps/setupwizard/SWTextValidator.java @@ -1,5 +1,6 @@ package info.nightscout.androidaps.setupwizard; +// keep in java, it's easier public interface SWTextValidator { boolean isValid(String text); } diff --git a/app/src/main/java/info/nightscout/androidaps/setupwizard/SWValidator.java b/app/src/main/java/info/nightscout/androidaps/setupwizard/SWValidator.java index 3cc8d6b0c1..e7a604deef 100644 --- a/app/src/main/java/info/nightscout/androidaps/setupwizard/SWValidator.java +++ b/app/src/main/java/info/nightscout/androidaps/setupwizard/SWValidator.java @@ -1,5 +1,6 @@ package info.nightscout.androidaps.setupwizard; +// keep in java, it's easier public interface SWValidator { boolean isValid(); } diff --git a/app/src/main/java/info/nightscout/androidaps/utils/SntpClient.java b/app/src/main/java/info/nightscout/androidaps/utils/SntpClient.java deleted file mode 100644 index 0bfa1cbd0d..0000000000 --- a/app/src/main/java/info/nightscout/androidaps/utils/SntpClient.java +++ /dev/null @@ -1,248 +0,0 @@ -package info.nightscout.androidaps.utils; -/* - * Copyright (C) 2008 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -import android.os.SystemClock; - -import org.slf4j.Logger; - -import java.net.DatagramPacket; -import java.net.DatagramSocket; -import java.net.InetAddress; - -import javax.inject.Inject; -import javax.inject.Singleton; - -import info.nightscout.androidaps.logging.AAPSLogger; -import info.nightscout.androidaps.logging.LTag; -import info.nightscout.androidaps.logging.StacktraceLoggerWrapper; - -/** - * {@hide} - *

- * Simple SNTP client class for retrieving network time. - *

- * Sample usage: - *

SntpClient client = new SntpClient();
- * if (client.requestTime("time.foo.com")) {
- *     long now = client.getNtpTime() + SystemClock.elapsedRealtime() - client.getNtpTimeReference();
- * }
- * 
- */ -@Singleton -public class SntpClient { - private final AAPSLogger aapsLogger; - private final DateUtil dateUtil; - - //private final int REFERENCE_TIME_OFFSET = 16; - private final int ORIGINATE_TIME_OFFSET = 24; - private final int RECEIVE_TIME_OFFSET = 32; - private final int TRANSMIT_TIME_OFFSET = 40; - private final int NTP_PACKET_SIZE = 48; - - private final int NTP_PORT = 123; - private final int NTP_MODE_CLIENT = 3; - private final int NTP_VERSION = 3; - - @Inject - public SntpClient( - AAPSLogger aapsLogger, - DateUtil dateUtil - ) { - this.aapsLogger = aapsLogger; - this.dateUtil = dateUtil; - } - - // Number of seconds between Jan 1, 1900 and Jan 1, 1970 - // 70 years plus 17 leap days - private final long OFFSET_1900_TO_1970 = ((365L * 70L) + 17L) * 24L * 60L * 60L; - - // system time computed from NTP server response - private long mNtpTime; - - // value of SystemClock.elapsedRealtime() corresponding to mNtpTime - private long mNtpTimeReference; - - // round trip time in milliseconds - private long mRoundTripTime; - - public static abstract class Callback implements Runnable { - public boolean networkConnected = false; - public boolean success = false; - public long time = 0; - } - - public synchronized void ntpTime(final Callback callback, boolean isConnected) { - callback.networkConnected = isConnected; - if (callback.networkConnected) { - new Thread(() -> doNtpTime(callback)).start(); - } else { - callback.run(); - } - } - - void doNtpTime(final Callback callback) { - aapsLogger.debug("Time detection started"); - callback.success = requestTime("time.google.com", 5000); - callback.time = getNtpTime() + SystemClock.elapsedRealtime() - getNtpTimeReference(); - aapsLogger.debug("Time detection ended: " + callback.success + " " + dateUtil.dateAndTimeString(getNtpTime())); - callback.run(); - } - - /** - * Sends an SNTP request to the given host and processes the response. - * - * @param host host name of the server. - * @param timeout network timeout in milliseconds. - * @return true if the transaction was successful. - */ - private synchronized boolean requestTime(String host, int timeout) { - try { - DatagramSocket socket = new DatagramSocket(); - socket.setSoTimeout(timeout); - InetAddress address = InetAddress.getByName(host); - byte[] buffer = new byte[NTP_PACKET_SIZE]; - DatagramPacket request = new DatagramPacket(buffer, buffer.length, address, NTP_PORT); - - // set mode = 3 (client) and version = 3 - // mode is in low 3 bits of first byte - // version is in bits 3-5 of first byte - buffer[0] = NTP_MODE_CLIENT | (NTP_VERSION << 3); - - // get current time and write it to the request packet - long requestTime = System.currentTimeMillis(); - long requestTicks = SystemClock.elapsedRealtime(); - writeTimeStamp(buffer, TRANSMIT_TIME_OFFSET, requestTime); - - socket.send(request); - - // read the response - DatagramPacket response = new DatagramPacket(buffer, buffer.length); - socket.receive(response); - long responseTicks = SystemClock.elapsedRealtime(); - long responseTime = requestTime + (responseTicks - requestTicks); - socket.close(); - - // extract the results - long originateTime = readTimeStamp(buffer, ORIGINATE_TIME_OFFSET); - long receiveTime = readTimeStamp(buffer, RECEIVE_TIME_OFFSET); - long transmitTime = readTimeStamp(buffer, TRANSMIT_TIME_OFFSET); - long roundTripTime = responseTicks - requestTicks - (transmitTime - receiveTime); - // receiveTime = originateTime + transit + skew - // responseTime = transmitTime + transit - skew - // clockOffset = ((receiveTime - originateTime) + (transmitTime - responseTime))/2 - // = ((originateTime + transit + skew - originateTime) + - // (transmitTime - (transmitTime + transit - skew)))/2 - // = ((transit + skew) + (transmitTime - transmitTime - transit + skew))/2 - // = (transit + skew - transit + skew)/2 - // = (2 * skew)/2 = skew - long clockOffset = ((receiveTime - originateTime) + (transmitTime - responseTime)) / 2; - // if (Config.LOGD) Log.d(TAG, "round trip: " + roundTripTime + " ms"); - // if (Config.LOGD) Log.d(TAG, "clock offset: " + clockOffset + " ms"); - - // save our results - use the times on this side of the network latency - // (response rather than request time) - mNtpTime = responseTime + clockOffset; - mNtpTimeReference = responseTicks; - mRoundTripTime = roundTripTime; - } catch (Exception e) { - aapsLogger.debug("request time failed: " + e); - return false; - } - - return true; - } - - /** - * Returns the time computed from the NTP transaction. - * - * @return time value computed from NTP server response. - */ - private long getNtpTime() { - return mNtpTime; - } - - /** - * Returns the reference clock value (value of SystemClock.elapsedRealtime()) - * corresponding to the NTP time. - * - * @return reference clock corresponding to the NTP time. - */ - private long getNtpTimeReference() { - return mNtpTimeReference; - } - - /** - * Returns the round trip time of the NTP transaction - * - * @return round trip time in milliseconds. - */ - public long getRoundTripTime() { - return mRoundTripTime; - } - - /** - * Reads an unsigned 32 bit big endian number from the given offset in the buffer. - */ - private long read32(byte[] buffer, int offset) { - byte b0 = buffer[offset]; - byte b1 = buffer[offset + 1]; - byte b2 = buffer[offset + 2]; - byte b3 = buffer[offset + 3]; - - // convert signed bytes to unsigned values - int i0 = ((b0 & 0x80) == 0x80 ? (b0 & 0x7F) + 0x80 : b0); - int i1 = ((b1 & 0x80) == 0x80 ? (b1 & 0x7F) + 0x80 : b1); - int i2 = ((b2 & 0x80) == 0x80 ? (b2 & 0x7F) + 0x80 : b2); - int i3 = ((b3 & 0x80) == 0x80 ? (b3 & 0x7F) + 0x80 : b3); - - return ((long) i0 << 24) + ((long) i1 << 16) + ((long) i2 << 8) + (long) i3; - } - - /** - * Reads the NTP time stamp at the given offset in the buffer and returns - * it as a system time (milliseconds since January 1, 1970). - */ - private long readTimeStamp(byte[] buffer, int offset) { - long seconds = read32(buffer, offset); - long fraction = read32(buffer, offset + 4); - return ((seconds - OFFSET_1900_TO_1970) * 1000) + ((fraction * 1000L) / 0x100000000L); - } - - /** - * Writes system time (milliseconds since January 1, 1970) as an NTP time stamp - * at the given offset in the buffer. - */ - private void writeTimeStamp(byte[] buffer, int offset, long time) { - long seconds = time / 1000L; - long milliseconds = time - seconds * 1000L; - seconds += OFFSET_1900_TO_1970; - - // write seconds in big endian format - buffer[offset++] = (byte) (seconds >> 24); - buffer[offset++] = (byte) (seconds >> 16); - buffer[offset++] = (byte) (seconds >> 8); - buffer[offset++] = (byte) (seconds >> 0); - - long fraction = milliseconds * 0x100000000L / 1000L; - // write fraction in big endian format - buffer[offset++] = (byte) (fraction >> 24); - buffer[offset++] = (byte) (fraction >> 16); - buffer[offset++] = (byte) (fraction >> 8); - // low order bits should be random data - buffer[offset++] = (byte) (Math.random() * 255.0); - } -} \ No newline at end of file diff --git a/app/src/main/java/info/nightscout/androidaps/utils/SntpClient.kt b/app/src/main/java/info/nightscout/androidaps/utils/SntpClient.kt new file mode 100644 index 0000000000..3465bb8edd --- /dev/null +++ b/app/src/main/java/info/nightscout/androidaps/utils/SntpClient.kt @@ -0,0 +1,214 @@ +package info.nightscout.androidaps.utils + +import android.os.SystemClock +import javax.inject.Singleton +import javax.inject.Inject +import info.nightscout.androidaps.logging.AAPSLogger +import java.lang.Exception +import java.net.DatagramPacket +import java.net.DatagramSocket +import java.net.InetAddress + +/* + * Copyright (C) 2008 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ /** + * {@hide} + * + * + * Simple SNTP client class for retrieving network time. + * + * + * Sample usage: + *
SntpClient client = new SntpClient();
+ * if (client.requestTime("time.foo.com")) {
+ * long now = client.getNtpTime() + SystemClock.elapsedRealtime() - client.getNtpTimeReference();
+ * }
+
* + */ +@Singleton +class SntpClient @Inject constructor( + private val aapsLogger: AAPSLogger, + private val dateUtil: DateUtil +) { + + companion object { + //private final int REFERENCE_TIME_OFFSET = 16; + private const val ORIGINATE_TIME_OFFSET = 24 + private const val RECEIVE_TIME_OFFSET = 32 + private const val TRANSMIT_TIME_OFFSET = 40 + private const val NTP_PACKET_SIZE = 48 + private const val NTP_PORT = 123 + private const val NTP_MODE_CLIENT = 3 + private const val NTP_VERSION = 3 + + // Number of seconds between Jan 1, 1900 and Jan 1, 1970 + // 70 years plus 17 leap days + private const val OFFSET_1900_TO_1970 = (365L * 70L + 17L) * 24L * 60L * 60L + } + + /** + * Returns the time computed from the NTP transaction. + * + * @return time value computed from NTP server response. + */ + // system time computed from NTP server response + private var ntpTime: Long = 0 + + /** + * Returns the reference clock value (value of SystemClock.elapsedRealtime()) + * corresponding to the NTP time. + * + * @return reference clock corresponding to the NTP time. + */ + // value of SystemClock.elapsedRealtime() corresponding to mNtpTime + private var ntpTimeReference: Long = 0 + + /** + * Returns the round trip time of the NTP transaction + * + * @return round trip time in milliseconds. + */ + // round trip time in milliseconds + private var roundTripTime: Long = 0 + + abstract class Callback : Runnable { + + var networkConnected = false + var success = false + var time: Long = 0 + } + + @Synchronized fun ntpTime(callback: Callback, isConnected: Boolean) { + callback.networkConnected = isConnected + if (callback.networkConnected) { + Thread { doNtpTime(callback) }.start() + } else { + callback.run() + } + } + + fun doNtpTime(callback: Callback) { + aapsLogger.debug("Time detection started") + callback.success = requestTime("time.google.com", 5000) + callback.time = ntpTime + SystemClock.elapsedRealtime() - ntpTimeReference + aapsLogger.debug("Time detection ended: " + callback.success + " " + dateUtil.dateAndTimeString(ntpTime)) + callback.run() + } + + /** + * Sends an SNTP request to the given host and processes the response. + * + * @param host host name of the server. + * @param timeout network timeout in milliseconds. + * @return true if the transaction was successful. + */ + @Suppress("SameParameterValue") + @Synchronized private fun requestTime(host: String, timeout: Int): Boolean { + try { + val socket = DatagramSocket() + socket.soTimeout = timeout + val address = InetAddress.getByName(host) + val buffer = ByteArray(NTP_PACKET_SIZE) + val request = DatagramPacket(buffer, buffer.size, address, NTP_PORT) + + // set mode = 3 (client) and version = 3 + // mode is in low 3 bits of first byte + // version is in bits 3-5 of first byte + buffer[0] = (NTP_MODE_CLIENT or (NTP_VERSION shl 3)).toByte() + + // get current time and write it to the request packet + val requestTime = System.currentTimeMillis() + val requestTicks = SystemClock.elapsedRealtime() + writeTimeStamp(buffer, TRANSMIT_TIME_OFFSET, requestTime) + socket.send(request) + + // read the response + val response = DatagramPacket(buffer, buffer.size) + socket.receive(response) + val responseTicks = SystemClock.elapsedRealtime() + val responseTime = requestTime + (responseTicks - requestTicks) + socket.close() + + // extract the results + val originateTime = readTimeStamp(buffer, ORIGINATE_TIME_OFFSET) + val receiveTime = readTimeStamp(buffer, RECEIVE_TIME_OFFSET) + val transmitTime = readTimeStamp(buffer, TRANSMIT_TIME_OFFSET) + val roundTripTime = responseTicks - requestTicks - (transmitTime - receiveTime) + val clockOffset = (receiveTime - originateTime + (transmitTime - responseTime)) / 2 + + // save our results - use the times on this side of the network latency + // (response rather than request time) + ntpTime = responseTime + clockOffset + ntpTimeReference = responseTicks + this.roundTripTime = roundTripTime + } catch (e: Exception) { + aapsLogger.debug("request time failed: $e") + return false + } + return true + } + + /** + * Reads an unsigned 32 bit big endian number from the given offset in the buffer. + */ + private fun read32(buffer: ByteArray, offset: Int): Long { + val b0 = buffer[offset] + val b1 = buffer[offset + 1] + val b2 = buffer[offset + 2] + val b3 = buffer[offset + 3] + + // convert signed bytes to unsigned values + val i0 = if (b0.toInt() and 0x80 == 0x80) (b0.toInt() and 0x7F) + 0x80 else b0.toInt() + val i1 = if (b1.toInt() and 0x80 == 0x80) (b1.toInt() and 0x7F) + 0x80 else b1.toInt() + val i2 = if (b2.toInt() and 0x80 == 0x80) (b2.toInt() and 0x7F) + 0x80 else b2.toInt() + val i3 = if (b3.toInt() and 0x80 == 0x80) (b3.toInt() and 0x7F) + 0x80 else b3.toInt() + return (i0.toLong() shl 24) + (i1.toLong() shl 16) + (i2.toLong() shl 8) + i3.toLong() + } + + /** + * Reads the NTP time stamp at the given offset in the buffer and returns + * it as a system time (milliseconds since January 1, 1970). + */ + private fun readTimeStamp(buffer: ByteArray, offset: Int): Long { + val seconds = read32(buffer, offset) + val fraction = read32(buffer, offset + 4) + return (seconds - OFFSET_1900_TO_1970) * 1000 + fraction * 1000L / 0x100000000L + } + + /** + * Writes system time (milliseconds since January 1, 1970) as an NTP time stamp + * at the given offset in the buffer. + */ + @Suppress("SameParameterValue") + private fun writeTimeStamp(buffer: ByteArray, offsetParam: Int, time: Long) { + var offset = offsetParam + var seconds = time / 1000L + val milliseconds = time - seconds * 1000L + seconds += OFFSET_1900_TO_1970 + + // write seconds in big endian format + buffer[offset++] = (seconds shr 24).toByte() + buffer[offset++] = (seconds shr 16).toByte() + buffer[offset++] = (seconds shr 8).toByte() + buffer[offset++] = (seconds shr 0).toByte() + val fraction = milliseconds * 0x100000000L / 1000L + // write fraction in big endian format + buffer[offset++] = (fraction shr 24).toByte() + buffer[offset++] = (fraction shr 16).toByte() + buffer[offset++] = (fraction shr 8).toByte() + // low order bits should be random data + buffer[offset] = (Math.random() * 255.0).toInt().toByte() + } +} \ No newline at end of file diff --git a/app/src/main/res/values-af-rZA/strings.xml b/app/src/main/res/values-af-rZA/strings.xml index abe83ea49e..3d409736b0 100644 --- a/app/src/main/res/values-af-rZA/strings.xml +++ b/app/src/main/res/values-af-rZA/strings.xml @@ -2,7 +2,6 @@ - Behandelings veiligheid Maks toelaatbare Bolus [U] diff --git a/app/src/main/res/values-bg-rBG/strings.xml b/app/src/main/res/values-bg-rBG/strings.xml index aa36732d88..882cb46ce4 100644 --- a/app/src/main/res/values-bg-rBG/strings.xml +++ b/app/src/main/res/values-bg-rBG/strings.xml @@ -2,7 +2,6 @@ - Настройки на сигурността Максимален инсулин при болус [единици] diff --git a/app/src/main/res/values-ca-rES/strings.xml b/app/src/main/res/values-ca-rES/strings.xml index 1ce4989b86..718d414505 100644 --- a/app/src/main/res/values-ca-rES/strings.xml +++ b/app/src/main/res/values-ca-rES/strings.xml @@ -2,7 +2,6 @@ - diff --git a/app/src/main/res/values-cs-rCZ/strings.xml b/app/src/main/res/values-cs-rCZ/strings.xml index 9914c657af..13de0a19af 100644 --- a/app/src/main/res/values-cs-rCZ/strings.xml +++ b/app/src/main/res/values-cs-rCZ/strings.xml @@ -2,7 +2,6 @@ - Bezpečnost zadání ošetřeni Maximální povolený bolus [U] diff --git a/app/src/main/res/values-da-rDK/strings.xml b/app/src/main/res/values-da-rDK/strings.xml index 1ce4989b86..718d414505 100644 --- a/app/src/main/res/values-da-rDK/strings.xml +++ b/app/src/main/res/values-da-rDK/strings.xml @@ -2,7 +2,6 @@ - diff --git a/app/src/main/res/values-de-rDE/strings.xml b/app/src/main/res/values-de-rDE/strings.xml index e59654dc0a..65df6b11ff 100644 --- a/app/src/main/res/values-de-rDE/strings.xml +++ b/app/src/main/res/values-de-rDE/strings.xml @@ -2,7 +2,6 @@ - Sicherheitseinstellungen der Behandlungen Max. erlaubter Bolus [IE] diff --git a/app/src/main/res/values-el-rGR/strings.xml b/app/src/main/res/values-el-rGR/strings.xml index da65e69c3f..909911df43 100644 --- a/app/src/main/res/values-el-rGR/strings.xml +++ b/app/src/main/res/values-el-rGR/strings.xml @@ -2,7 +2,6 @@ - Ασφάλεια Θεραπειών Μέγιστο Επιτρεπτό bolus[U] diff --git a/app/src/main/res/values-es-rES/strings.xml b/app/src/main/res/values-es-rES/strings.xml index 43f7cf5c32..e09dad14af 100644 --- a/app/src/main/res/values-es-rES/strings.xml +++ b/app/src/main/res/values-es-rES/strings.xml @@ -2,7 +2,6 @@ - Seguridad tratamientos Máximo Bolo permitido [U] diff --git a/app/src/main/res/values-fr-rFR/strings.xml b/app/src/main/res/values-fr-rFR/strings.xml index f5fe5e611e..8deff9b849 100644 --- a/app/src/main/res/values-fr-rFR/strings.xml +++ b/app/src/main/res/values-fr-rFR/strings.xml @@ -2,7 +2,6 @@ - Traitements de sécurité Maximum Bolus autorisé [U] diff --git a/app/src/main/res/values-ga-rIE/strings.xml b/app/src/main/res/values-ga-rIE/strings.xml index 66583fe762..95c6bbb524 100644 --- a/app/src/main/res/values-ga-rIE/strings.xml +++ b/app/src/main/res/values-ga-rIE/strings.xml @@ -2,7 +2,6 @@ - %1$s Sainroghanna Sainroghanna diff --git a/app/src/main/res/values-hr-rHR/strings.xml b/app/src/main/res/values-hr-rHR/strings.xml index 1ce4989b86..718d414505 100644 --- a/app/src/main/res/values-hr-rHR/strings.xml +++ b/app/src/main/res/values-hr-rHR/strings.xml @@ -2,7 +2,6 @@ - diff --git a/app/src/main/res/values-it-rIT/strings.xml b/app/src/main/res/values-it-rIT/strings.xml index 041414ca83..b694e8440c 100644 --- a/app/src/main/res/values-it-rIT/strings.xml +++ b/app/src/main/res/values-it-rIT/strings.xml @@ -2,7 +2,6 @@ - Sicurezza trattamenti Max bolo consentito [U] diff --git a/app/src/main/res/values-iw-rIL/insight_alert_descriptions.xml b/app/src/main/res/values-iw-rIL/insight_alert_descriptions.xml deleted file mode 100644 index 0c44cff3e1..0000000000 --- a/app/src/main/res/values-iw-rIL/insight_alert_descriptions.xml +++ /dev/null @@ -1,24 +0,0 @@ - - - %1$d%%\nמשך: %2$s ש\']]> - %1$s U]]> - החלף סוללה. - קבע זמן/תאריך. - צור קשר עם תמיכת Accu-Chek. - %1$d%%
משך: %2$s שעות]]>
- %1$s U
כמות שניתנה: %2$s U]]>
- הכנס מיכל. - החלף מיכל. - החלף סוללה. - בדוק סטטוס משאבה. - החלף פרפרית. - צור קשר עם תמיכת Accu-Chek. - החלף מיכל. - הפעילו מחדש את הורדת הנתונים. - בדוק סטטוס משאבה. - קבע סוג סוללה. - קבע סוג מיכל. - החלף סוללה ומיכל. - החלף מיכל. - שנה שפה. -
diff --git a/app/src/main/res/values-iw-rIL/strings.xml b/app/src/main/res/values-iw-rIL/strings.xml index 696958d24e..023385ae20 100644 --- a/app/src/main/res/values-iw-rIL/strings.xml +++ b/app/src/main/res/values-iw-rIL/strings.xml @@ -2,7 +2,6 @@ - בטיחות טיפולים בולוס מקסימלי מותר [U] diff --git a/app/src/main/res/values-ko-rKR/strings.xml b/app/src/main/res/values-ko-rKR/strings.xml index 6110b687e1..161196948b 100644 --- a/app/src/main/res/values-ko-rKR/strings.xml +++ b/app/src/main/res/values-ko-rKR/strings.xml @@ -2,7 +2,6 @@ - 관리 안전설정 최대 허용 Bolus [U] diff --git a/app/src/main/res/values-lt-rLT/strings.xml b/app/src/main/res/values-lt-rLT/strings.xml index 99d460d4ab..bb7261a3a9 100644 --- a/app/src/main/res/values-lt-rLT/strings.xml +++ b/app/src/main/res/values-lt-rLT/strings.xml @@ -2,7 +2,6 @@ - Terapijos saugumas Maksimalus leistinas bolusas [U] diff --git a/app/src/main/res/values-nl-rNL/strings.xml b/app/src/main/res/values-nl-rNL/strings.xml index ecec28693a..81b0fec281 100644 --- a/app/src/main/res/values-nl-rNL/strings.xml +++ b/app/src/main/res/values-nl-rNL/strings.xml @@ -2,7 +2,6 @@ - Behandelingen veiligheid Max toegestane bolus [E] diff --git a/app/src/main/res/values-no-rNO/strings.xml b/app/src/main/res/values-no-rNO/strings.xml index e97754e2a1..2a4b07c9d0 100644 --- a/app/src/main/res/values-no-rNO/strings.xml +++ b/app/src/main/res/values-no-rNO/strings.xml @@ -2,7 +2,6 @@ - Sikkerhet ved behandlinger Maks tillat bolus [U] diff --git a/app/src/main/res/values-pl-rPL/strings.xml b/app/src/main/res/values-pl-rPL/strings.xml index 40be4f1bbf..751d32d1d3 100644 --- a/app/src/main/res/values-pl-rPL/strings.xml +++ b/app/src/main/res/values-pl-rPL/strings.xml @@ -2,7 +2,6 @@ - Bezpieczeństwo leczenia Maks. dopuszczalny bolus [U] diff --git a/app/src/main/res/values-pt-rBR/strings.xml b/app/src/main/res/values-pt-rBR/strings.xml index c4605b6a5c..fb8d3fddfe 100644 --- a/app/src/main/res/values-pt-rBR/strings.xml +++ b/app/src/main/res/values-pt-rBR/strings.xml @@ -2,7 +2,6 @@ - Segurança do Tratamento Máximo bolus permitido [U] diff --git a/app/src/main/res/values-pt-rPT/strings.xml b/app/src/main/res/values-pt-rPT/strings.xml index 2a21bba1a0..4a68cfa699 100644 --- a/app/src/main/res/values-pt-rPT/strings.xml +++ b/app/src/main/res/values-pt-rPT/strings.xml @@ -2,7 +2,6 @@ - Segurança de Tratamentos Max bolus permitido [U] @@ -538,7 +537,7 @@ Botões Enviar calibrações para o xDrip+ ou abrir sistema de calibração do G5 Abre xDrip+, botão retorcer volta ao AAPS - Número de carboidratos a adicionar quando o botão é premido + Número de hidratos de carbono a adicionar quando o botão é premido Unidades de insulina a adicionar quando o botão é premido Não foi possível lançar aplicação de monitorização contínua. Por favor verifique que está instalada. CGM diff --git a/app/src/main/res/values-ro-rRO/strings.xml b/app/src/main/res/values-ro-rRO/strings.xml index 8941947341..f80a919991 100644 --- a/app/src/main/res/values-ro-rRO/strings.xml +++ b/app/src/main/res/values-ro-rRO/strings.xml @@ -2,7 +2,6 @@ - Setări siguranță tratament Bolus maxim admis [U] diff --git a/app/src/main/res/values-ru-rRU/strings.xml b/app/src/main/res/values-ru-rRU/strings.xml index 362c81ad01..d5e723f9e6 100644 --- a/app/src/main/res/values-ru-rRU/strings.xml +++ b/app/src/main/res/values-ru-rRU/strings.xml @@ -2,7 +2,6 @@ - Безопасность терапии Макс разрешенный болюс [U] ед. @@ -903,4 +902,8 @@ Context | Edit Context
Катетер помпы Запись пользователя Введите максимальные значения вашего приема пищи \n + Этот адрес электронной почты будет привязан к отчетам о сбоях, чтобы мы могли связаться с вами в экстренных случаях. Это опция. + Адрес электронной почты + Настройки конфиденцальности + Вы можете указать дополнительно адрес электронной почты, если хотите получать уведомления о сбоях приложения; что является не автоматизированной рассылкой, а способом связи с разработчиками в опасных ситуациях. diff --git a/app/src/main/res/values-sk-rSK/strings.xml b/app/src/main/res/values-sk-rSK/strings.xml index d151bb52e8..e03b9acd98 100644 --- a/app/src/main/res/values-sk-rSK/strings.xml +++ b/app/src/main/res/values-sk-rSK/strings.xml @@ -2,7 +2,6 @@ - Bezpečnosť zadania ošetrenia Maximálny povolený bolus [JI] diff --git a/app/src/main/res/values-sl-rSI/strings.xml b/app/src/main/res/values-sl-rSI/strings.xml index 1ce4989b86..718d414505 100644 --- a/app/src/main/res/values-sl-rSI/strings.xml +++ b/app/src/main/res/values-sl-rSI/strings.xml @@ -2,7 +2,6 @@ - diff --git a/app/src/main/res/values-sv-rSE/strings.xml b/app/src/main/res/values-sv-rSE/strings.xml index aba11c9b8a..b69a0d9327 100644 --- a/app/src/main/res/values-sv-rSE/strings.xml +++ b/app/src/main/res/values-sv-rSE/strings.xml @@ -2,7 +2,6 @@ - Säkerhetsbegränsningar Max tillåten bolus [U] diff --git a/app/src/main/res/values-tr-rTR/insight_alert_descriptions.xml b/app/src/main/res/values-tr-rTR/insight_alert_descriptions.xml deleted file mode 100644 index 0024d2f65f..0000000000 --- a/app/src/main/res/values-tr-rTR/insight_alert_descriptions.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - %1$d%%\nSüre: %2$s st.]]> - %1$d%%
Süre: %2$s st.]]>
-
diff --git a/app/src/main/res/values-tr-rTR/strings.xml b/app/src/main/res/values-tr-rTR/strings.xml index e563980649..71bbf1961c 100644 --- a/app/src/main/res/values-tr-rTR/strings.xml +++ b/app/src/main/res/values-tr-rTR/strings.xml @@ -2,7 +2,6 @@ - Tedavilerin güvenlik ayarları Max izin verilen bolus [U] diff --git a/app/src/main/res/values-zh-rCN/insight_alert_descriptions.xml b/app/src/main/res/values-zh-rCN/insight_alert_descriptions.xml deleted file mode 100644 index dbb2d47ad4..0000000000 --- a/app/src/main/res/values-zh-rCN/insight_alert_descriptions.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - %1$d%%\nDuration: %2$s h]]> - %1$d%%
Duration: %2$s h]]>
-
diff --git a/app/src/main/res/values-zh-rCN/strings.xml b/app/src/main/res/values-zh-rCN/strings.xml index d0cb587311..07f7abefd3 100644 --- a/app/src/main/res/values-zh-rCN/strings.xml +++ b/app/src/main/res/values-zh-rCN/strings.xml @@ -2,7 +2,6 @@ - 治疗安全 允许的最大大剂量值[U] diff --git a/app/src/main/res/values/arrays.xml b/app/src/main/res/values/arrays.xml index 622de5d371..015695e7c0 100644 --- a/app/src/main/res/values/arrays.xml +++ b/app/src/main/res/values/arrays.xml @@ -32,6 +32,7 @@ @string/nl_lang @string/es_lang @string/el_lang + @string/ga_lang @string/it_lang @string/ko_lang @string/lt_lang @@ -46,6 +47,7 @@ @string/tr_lang @string/zh_lang + default en @@ -57,6 +59,7 @@ nl es el + ga it ko lt diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index b0e5102919..48efc98bcc 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -11,7 +11,7 @@ Greek Chinese - + Irish Italian Korean @@ -28,6 +28,11 @@ Turkish email_for_crash_report + smscommunicator + open_humans + protection + absorption_category_settings + insulin_oref_peak_settings Treatments safety Max allowed bolus [U] diff --git a/app/src/main/res/xml/pref_absorption_aaps.xml b/app/src/main/res/xml/pref_absorption_aaps.xml index 7cc14ebb21..9a1be55a9e 100644 --- a/app/src/main/res/xml/pref_absorption_aaps.xml +++ b/app/src/main/res/xml/pref_absorption_aaps.xml @@ -5,6 +5,7 @@ xmlns:app="http://schemas.android.com/apk/res-auto"> diff --git a/app/src/main/res/xml/pref_absorption_oref1.xml b/app/src/main/res/xml/pref_absorption_oref1.xml index b1c3a42160..62c93f1ed9 100644 --- a/app/src/main/res/xml/pref_absorption_oref1.xml +++ b/app/src/main/res/xml/pref_absorption_oref1.xml @@ -5,6 +5,7 @@ xmlns:app="http://schemas.android.com/apk/res-auto"> diff --git a/app/src/main/res/xml/pref_alerts.xml b/app/src/main/res/xml/pref_alerts.xml index ab5111d624..15cf4354a1 100644 --- a/app/src/main/res/xml/pref_alerts.xml +++ b/app/src/main/res/xml/pref_alerts.xml @@ -4,6 +4,7 @@ xmlns:validate="http://schemas.android.com/apk/res-auto"> diff --git a/app/src/main/res/xml/pref_bgsource.xml b/app/src/main/res/xml/pref_bgsource.xml index 098d57bc4f..848f538483 100644 --- a/app/src/main/res/xml/pref_bgsource.xml +++ b/app/src/main/res/xml/pref_bgsource.xml @@ -3,6 +3,7 @@ xmlns:app="http://schemas.android.com/apk/res-auto"> diff --git a/app/src/main/res/xml/pref_bgsourcedexcom.xml b/app/src/main/res/xml/pref_bgsourcedexcom.xml index 1ca8fa1140..495851995c 100644 --- a/app/src/main/res/xml/pref_bgsourcedexcom.xml +++ b/app/src/main/res/xml/pref_bgsourcedexcom.xml @@ -3,6 +3,7 @@ xmlns:app="http://schemas.android.com/apk/res-auto"> diff --git a/app/src/main/res/xml/pref_datachoices.xml b/app/src/main/res/xml/pref_datachoices.xml index d44c622d97..1e6423f3da 100644 --- a/app/src/main/res/xml/pref_datachoices.xml +++ b/app/src/main/res/xml/pref_datachoices.xml @@ -4,6 +4,7 @@ xmlns:validate="http://schemas.android.com/apk/res-auto"> diff --git a/app/src/main/res/xml/pref_general.xml b/app/src/main/res/xml/pref_general.xml index 8dd2f98b76..ee1076fcab 100644 --- a/app/src/main/res/xml/pref_general.xml +++ b/app/src/main/res/xml/pref_general.xml @@ -3,8 +3,9 @@ xmlns:app="http://schemas.android.com/apk/res-auto"> + android:key="@string/key_configbuilder_general_settings" + android:title="@string/configbuilder_general" + app:initialExpandedChildrenCount="0"> - + diff --git a/app/src/main/res/xml/pref_loop.xml b/app/src/main/res/xml/pref_loop.xml index 0d92a6bc5f..f94fd564e2 100644 --- a/app/src/main/res/xml/pref_loop.xml +++ b/app/src/main/res/xml/pref_loop.xml @@ -4,6 +4,7 @@ xmlns:validate="http://schemas.android.com/apk/res-auto"> diff --git a/app/src/main/res/xml/pref_maintenance.xml b/app/src/main/res/xml/pref_maintenance.xml index cb7d3108cc..633411ed72 100644 --- a/app/src/main/res/xml/pref_maintenance.xml +++ b/app/src/main/res/xml/pref_maintenance.xml @@ -4,7 +4,7 @@ xmlns:app="http://schemas.android.com/apk/res-auto"> diff --git a/app/src/main/res/xml/pref_nsclientinternal.xml b/app/src/main/res/xml/pref_nsclientinternal.xml index 8c64284d52..ada082b21b 100644 --- a/app/src/main/res/xml/pref_nsclientinternal.xml +++ b/app/src/main/res/xml/pref_nsclientinternal.xml @@ -4,6 +4,7 @@ xmlns:validate="http://schemas.android.com/apk/res-auto"> diff --git a/app/src/main/res/xml/pref_openapsama.xml b/app/src/main/res/xml/pref_openapsama.xml index 3e285d7477..cf5913f060 100644 --- a/app/src/main/res/xml/pref_openapsama.xml +++ b/app/src/main/res/xml/pref_openapsama.xml @@ -4,6 +4,7 @@ xmlns:validate="http://schemas.android.com/apk/res-auto"> diff --git a/app/src/main/res/xml/pref_openapssmb.xml b/app/src/main/res/xml/pref_openapssmb.xml index 1f1be8cb42..857776036b 100644 --- a/app/src/main/res/xml/pref_openapssmb.xml +++ b/app/src/main/res/xml/pref_openapssmb.xml @@ -4,6 +4,7 @@ xmlns:validate="http://schemas.android.com/apk/res-auto"> diff --git a/app/src/main/res/xml/pref_openhumans.xml b/app/src/main/res/xml/pref_openhumans.xml index b9ccc3e867..b4b1fee2d4 100644 --- a/app/src/main/res/xml/pref_openhumans.xml +++ b/app/src/main/res/xml/pref_openhumans.xml @@ -1,7 +1,11 @@ - + - + - \ No newline at end of file + \ No newline at end of file diff --git a/app/src/main/res/xml/pref_overview.xml b/app/src/main/res/xml/pref_overview.xml index a98fc25905..a8192da144 100644 --- a/app/src/main/res/xml/pref_overview.xml +++ b/app/src/main/res/xml/pref_overview.xml @@ -4,6 +4,7 @@ xmlns:validate="http://schemas.android.com/apk/res-auto"> diff --git a/app/src/main/res/xml/pref_pump.xml b/app/src/main/res/xml/pref_pump.xml index 161692a698..aff98727d5 100644 --- a/app/src/main/res/xml/pref_pump.xml +++ b/app/src/main/res/xml/pref_pump.xml @@ -3,6 +3,7 @@ xmlns:app="http://schemas.android.com/apk/res-auto"> diff --git a/app/src/main/res/xml/pref_safety.xml b/app/src/main/res/xml/pref_safety.xml index e3f5f2e23d..6113be6c13 100644 --- a/app/src/main/res/xml/pref_safety.xml +++ b/app/src/main/res/xml/pref_safety.xml @@ -4,6 +4,7 @@ xmlns:validate="http://schemas.android.com/apk/res-auto"> diff --git a/app/src/main/res/xml/pref_smscommunicator.xml b/app/src/main/res/xml/pref_smscommunicator.xml index dc61d1c1a2..e0fb8ea94c 100644 --- a/app/src/main/res/xml/pref_smscommunicator.xml +++ b/app/src/main/res/xml/pref_smscommunicator.xml @@ -4,6 +4,7 @@ xmlns:validate="http://schemas.android.com/apk/res-auto"> diff --git a/app/src/main/res/xml/pref_tidepool.xml b/app/src/main/res/xml/pref_tidepool.xml index 96e3c8f218..f935fbbfec 100644 --- a/app/src/main/res/xml/pref_tidepool.xml +++ b/app/src/main/res/xml/pref_tidepool.xml @@ -4,6 +4,7 @@ xmlns:validate="http://schemas.android.com/apk/res-auto"> diff --git a/app/src/main/res/xml/pref_virtualpump.xml b/app/src/main/res/xml/pref_virtualpump.xml index 5e60fe4cb8..ad1e0344fa 100644 --- a/app/src/main/res/xml/pref_virtualpump.xml +++ b/app/src/main/res/xml/pref_virtualpump.xml @@ -3,6 +3,7 @@ xmlns:app="http://schemas.android.com/apk/res-auto"> diff --git a/app/src/main/res/xml/pref_wear.xml b/app/src/main/res/xml/pref_wear.xml index 4b4a1d15b5..d46a317400 100644 --- a/app/src/main/res/xml/pref_wear.xml +++ b/app/src/main/res/xml/pref_wear.xml @@ -3,6 +3,7 @@ xmlns:app="http://schemas.android.com/apk/res-auto"> diff --git a/app/src/main/res/xml/pref_xdripstatus.xml b/app/src/main/res/xml/pref_xdripstatus.xml index 00aa8262ef..15309d4f05 100644 --- a/app/src/main/res/xml/pref_xdripstatus.xml +++ b/app/src/main/res/xml/pref_xdripstatus.xml @@ -3,6 +3,7 @@ xmlns:app="http://schemas.android.com/apk/res-auto"> diff --git a/automation/src/main/res/values-fr-rFR/strings.xml b/automation/src/main/res/values-fr-rFR/strings.xml index a6fec11656..f0011368cf 100644 --- a/automation/src/main/res/values-fr-rFR/strings.xml +++ b/automation/src/main/res/values-fr-rFR/strings.xml @@ -7,6 +7,7 @@ Merci de spécifier au moins un déclencheur. Merci de spécifier au moins une action. Alarme: %1$s + Alarme: Mess : Déjà activé Déjà désactivé @@ -88,6 +89,7 @@ Glycémie [%1$s] : Lors du dernier Bolus Heure du dernier bolus %1$s il y a %2$s min + GA GA %1$s %2$.0f IA [U]: Dist [m]: diff --git a/automation/src/main/res/values-it-rIT/strings.xml b/automation/src/main/res/values-it-rIT/strings.xml index cad3bba54e..3a8cef481a 100644 --- a/automation/src/main/res/values-it-rIT/strings.xml +++ b/automation/src/main/res/values-it-rIT/strings.xml @@ -7,6 +7,7 @@ Specifica almeno un trigger. Specifica almeno un\'azione. Allarme: %1$s + Allarme: Msg: Già abilitato Già disabilitato @@ -88,6 +89,7 @@ Glicemia [%1$s]: Ultimo bolo Ora ultimo bolo %1$s %2$s min fa + COB COB %1$s %2$.0f IOB [U]: Dist [m]: diff --git a/automation/src/main/res/values-no-rNO/strings.xml b/automation/src/main/res/values-no-rNO/strings.xml index 493b2c4a5d..e92b1556a5 100644 --- a/automation/src/main/res/values-no-rNO/strings.xml +++ b/automation/src/main/res/values-no-rNO/strings.xml @@ -7,6 +7,7 @@ Oppgi minst en trigger. Oppgi minst en aksjon. Alarm: %1$s + Alarm: Meld: Allerede aktivert Allerede avslått @@ -88,6 +89,7 @@ Glukose [%1$s]: Siste bolus Siste bolus for %1$s %2$s min siden + COB COB %1$s %2$.0f IOB [U]: Dist [m]: diff --git a/automation/src/main/res/values-pt-rPT/strings.xml b/automation/src/main/res/values-pt-rPT/strings.xml index b5e9a1de77..7108705c3b 100644 --- a/automation/src/main/res/values-pt-rPT/strings.xml +++ b/automation/src/main/res/values-pt-rPT/strings.xml @@ -7,6 +7,7 @@ Especifique pelo menos um gatilho. Especifique pelo menos uma acção. Alarme: %1$s + Alarme: Mnsg: Já activado Já desativado @@ -88,6 +89,7 @@ Glicose [%1$s]: Último bolus atrás Última vez do bolus %1$s %2$s atrás + COB COB %1$s %2$.0f IOB [U]: Dist [m]: diff --git a/automation/src/main/res/values/strings.xml b/automation/src/main/res/values/strings.xml index fd6c5de741..b8ee4c099a 100644 --- a/automation/src/main/res/values/strings.xml +++ b/automation/src/main/res/values/strings.xml @@ -109,6 +109,7 @@ Preconditions: Automation event Reorder + automation_settings \ No newline at end of file diff --git a/automation/src/main/res/xml/pref_automation.xml b/automation/src/main/res/xml/pref_automation.xml index e1c43f32b4..8d193dccb8 100644 --- a/automation/src/main/res/xml/pref_automation.xml +++ b/automation/src/main/res/xml/pref_automation.xml @@ -3,6 +3,7 @@ xmlns:app="http://schemas.android.com/apk/res-auto"> diff --git a/build.gradle b/build.gradle index 88590550c5..9058bb6dd0 100644 --- a/build.gradle +++ b/build.gradle @@ -2,14 +2,14 @@ buildscript { ext { - kotlin_version = '1.4.30' + kotlin_version = '1.4.31' coreVersion = '1.3.2' rxjava_version = '2.2.21' rxandroid_version = '2.1.1' rxkotlin_version = '2.4.0' room_version = '2.2.6' lifecycle_version = '2.3.0' - dagger_version = '2.32' + dagger_version = '2.33' coroutinesVersion = '1.4.1' activityVersion = '1.2.0' fragmentktx_version = '1.3.0' @@ -25,7 +25,7 @@ buildscript { work_version = '2.5.0' junit_version = '4.13.2' - mockitoVersion = '3.7.7' + mockitoVersion = '3.8.0' powermockVersion = '2.0.9' dexmakerVersion = "1.2" retrofit2Version = '2.9.0' diff --git a/combo/src/main/res/values-pt-rPT/strings.xml b/combo/src/main/res/values-pt-rPT/strings.xml index c80c36b209..df3100ea41 100644 --- a/combo/src/main/res/values-pt-rPT/strings.xml +++ b/combo/src/main/res/values-pt-rPT/strings.xml @@ -3,6 +3,7 @@ Integração para bombas Accu-Chek Combo, requer ter o ruffy instalado A programar bomba para administrar bólus Estado + Actividade Sem conexão há %1$d min %1$d%% (%2$d min restantes) A iniciar diff --git a/combo/src/main/res/values-ru-rRU/strings.xml b/combo/src/main/res/values-ru-rRU/strings.xml index 29fb027d13..a51d6b9e7c 100644 --- a/combo/src/main/res/values-ru-rRU/strings.xml +++ b/combo/src/main/res/values-ru-rRU/strings.xml @@ -3,6 +3,7 @@ Интеграция с помпой Accu-Chek Combo, требует наличия утилиты Ruffy Помпа программируется для болюса Состояние + Нагрузка Нет связи в течение %1$d мин %1$d%% (%2$d мин осталось) Инициализация diff --git a/core/src/main/java/info/nightscout/androidaps/db/DbObjectBase.java b/core/src/main/java/info/nightscout/androidaps/db/DbObjectBase.java deleted file mode 100644 index a0c7f4bd7b..0000000000 --- a/core/src/main/java/info/nightscout/androidaps/db/DbObjectBase.java +++ /dev/null @@ -1,9 +0,0 @@ -package info.nightscout.androidaps.db; - -public interface DbObjectBase { - - long getDate(); - - long getPumpId(); - -} diff --git a/core/src/main/java/info/nightscout/androidaps/db/DbObjectBase.kt b/core/src/main/java/info/nightscout/androidaps/db/DbObjectBase.kt new file mode 100644 index 0000000000..76228abe9b --- /dev/null +++ b/core/src/main/java/info/nightscout/androidaps/db/DbObjectBase.kt @@ -0,0 +1,7 @@ +package info.nightscout.androidaps.db + +interface DbObjectBase { + + val date: Long + val pumpId: Long +} \ No newline at end of file diff --git a/core/src/main/java/info/nightscout/androidaps/interfaces/DanaRInterface.java b/core/src/main/java/info/nightscout/androidaps/interfaces/DanaRInterface.java deleted file mode 100644 index 374d96890a..0000000000 --- a/core/src/main/java/info/nightscout/androidaps/interfaces/DanaRInterface.java +++ /dev/null @@ -1,13 +0,0 @@ -package info.nightscout.androidaps.interfaces; - -import info.nightscout.androidaps.data.PumpEnactResult; - -/** - * Created by mike on 12.06.2017. - */ - -public interface DanaRInterface { - PumpEnactResult loadHistory(byte type); // for history browser - PumpEnactResult loadEvents(); // events history to build treatments from - PumpEnactResult setUserOptions(); // like AnyDana does -} diff --git a/core/src/main/java/info/nightscout/androidaps/interfaces/DanaRInterface.kt b/core/src/main/java/info/nightscout/androidaps/interfaces/DanaRInterface.kt new file mode 100644 index 0000000000..2ab57d52ed --- /dev/null +++ b/core/src/main/java/info/nightscout/androidaps/interfaces/DanaRInterface.kt @@ -0,0 +1,10 @@ +package info.nightscout.androidaps.interfaces + +import info.nightscout.androidaps.data.PumpEnactResult + +interface DanaRInterface { + + fun loadHistory(type: Byte): PumpEnactResult // for history browser + fun loadEvents(): PumpEnactResult // events history to build treatments from + fun setUserOptions(): PumpEnactResult // like AnyDana does +} \ No newline at end of file diff --git a/core/src/main/java/info/nightscout/androidaps/utils/DateUtil.java b/core/src/main/java/info/nightscout/androidaps/utils/DateUtil.java index 256b5215de..ed2974424b 100644 --- a/core/src/main/java/info/nightscout/androidaps/utils/DateUtil.java +++ b/core/src/main/java/info/nightscout/androidaps/utils/DateUtil.java @@ -139,12 +139,12 @@ public class DateUtil { hours -= 12; if ((m.group(3).equals(" p.m.") || m.group(3).equals(" PM") || m.group(3).equals("PM")) && !(m.group(1).equals("12"))) hours += 12; - Calendar c = Calendar.getInstance(); - c.set(Calendar.HOUR_OF_DAY, hours); - c.set(Calendar.MINUTE, minutes); - c.set(Calendar.SECOND, 0); - c.set(Calendar.MILLISECOND, 0); - retval = c.getTimeInMillis(); + DateTime t = new DateTime() + .withHourOfDay(hours) + .withMinuteOfHour(minutes) + .withSecondOfMinute(0) + .withMillisOfSecond(0); + retval = t.getMillis(); } return retval; } diff --git a/app/src/main/res/values-ar-rSA/insight_alert_codes.xml b/core/src/main/res/values-af-rZA/validator.xml similarity index 100% rename from app/src/main/res/values-ar-rSA/insight_alert_codes.xml rename to core/src/main/res/values-af-rZA/validator.xml diff --git a/core/src/main/res/values-bg-rBG/strings.xml b/core/src/main/res/values-bg-rBG/strings.xml index 9ac23d889d..128c7f54f9 100644 --- a/core/src/main/res/values-bg-rBG/strings.xml +++ b/core/src/main/res/values-bg-rBG/strings.xml @@ -69,6 +69,40 @@ Сдвояване Да Не + LOOP Е СПРЯН ОТ ОГРАНИЧЕНИЯТА + Болус от %1$.2fЕ доставен успешно + ОК + Няма валиден базал в помпата + Ограничаване на макс. IOB до %1$.1f Е поради %2$s + опасно използване + Помпата е недостъпна + Удължен болус + Актуализирано време на помпата + Изход + Сериен номер + Премахни + APS е изключен + Аларма + Изключи Loop + Включи Loop + Възстанови loop + Изключи APS + Продължителност [мин.] + Известие + Още не е зареден профила от NS + съществува + не съществува + Кръвна захар + IOB + СОВ + Име: + Време + WiFi име + Зареждане… + Време + Бележки + Изтрий + Добави нов Ограничаване на макс. базална стойност до %1$.2f Е/ч поради %2$s лимит на помпата @@ -258,6 +292,13 @@ Рестартирайте телефона или AndroidAPS от системните настройки \nили Android APS няма да записва проблемите (което е важно за работата на алгоритъма)! + П + Вт + Ср + Ч + П + С + Н %1$d минутa %1$d минути diff --git a/core/src/main/res/values-bg-rBG/validator.xml b/core/src/main/res/values-bg-rBG/validator.xml new file mode 100644 index 0000000000..24f40b8618 --- /dev/null +++ b/core/src/main/res/values-bg-rBG/validator.xml @@ -0,0 +1,24 @@ + + + Позволени са само числа. + Позволени са числа между %1$s - %2$s. + Полето не може да съдържа никакви специални символи + Разрешени са само стандартни букви + Полето не може да бъде празно + Имейл адресът не е валиден + Номер на кредитна карта е невалиден + Телефонният номер не е валиден + Името на домейн не е валидно + IP адресът е невалиден + Url адресът не е валиден + Не е валидно първото или последното име. + Невалидно име. + Невалиден формат + Трябва да е 4 цифрено число + Трябва да е 6 цифрено число + Трябва да са 12 символа между ABCDEF0123456789 + Трябва да са 8 символа между ABCDEF0123456789 + Трябва да са 4 символа между ABCDEF0123456789 + Не е с минималната дължина + Пин трябва да бъде 3 до 6 цифри, не същите или в серия + diff --git a/app/src/main/res/values-ar-rSA/insight_alert_descriptions.xml b/core/src/main/res/values-ca-rES/validator.xml similarity index 100% rename from app/src/main/res/values-ar-rSA/insight_alert_descriptions.xml rename to core/src/main/res/values-ca-rES/validator.xml diff --git a/core/src/main/res/values-cs-rCZ/validator.xml b/core/src/main/res/values-cs-rCZ/validator.xml new file mode 100644 index 0000000000..8fd21c39a2 --- /dev/null +++ b/core/src/main/res/values-cs-rCZ/validator.xml @@ -0,0 +1,24 @@ + + + Jsou povoleny pouze číslice. + Povolena jsou pouze čísla v rozsahu %1$s - %2$s. + Toto pole nesmí obsahovat speciální znaky + Jsou povolena pouze standardní písmena + Toto pole nesmí být prázdné + E-mailová adresa je neplatná + Číslo kreditní karty není platné + Neplatné telefonní číslo + Název domény není platný + IP adresa není platná + Adresa Url není platná + Neplatné jméno nebo příjmení. + Není platné celé jméno. + Formát není platný + Musí být čtyřmístné číslo + Musí být šestimístné číslo + Musí být 12 znaků ABCDEF0123456789 + Musí být 8 znaků ABCDEF0123456789 + Musí obsahovat 4 znaky ABCDEF0123456789 + Není splněna minimální délka + Pin by měl být 3 až 6 číslic, které nesmí být stejné nebo v sériích + diff --git a/app/src/main/res/values-ar-rSA/insight_alert_titles.xml b/core/src/main/res/values-da-rDK/validator.xml similarity index 100% rename from app/src/main/res/values-ar-rSA/insight_alert_titles.xml rename to core/src/main/res/values-da-rDK/validator.xml diff --git a/app/src/main/res/values-ar-rSA/insight_exceptions.xml b/core/src/main/res/values-de-rDE/validator.xml similarity index 100% rename from app/src/main/res/values-ar-rSA/insight_exceptions.xml rename to core/src/main/res/values-de-rDE/validator.xml diff --git a/app/src/main/res/values-ca-rES/insight_alert_codes.xml b/core/src/main/res/values-el-rGR/validator.xml similarity index 100% rename from app/src/main/res/values-ca-rES/insight_alert_codes.xml rename to core/src/main/res/values-el-rGR/validator.xml diff --git a/app/src/main/res/values-ca-rES/insight_alert_descriptions.xml b/core/src/main/res/values-es-rES/validator.xml similarity index 100% rename from app/src/main/res/values-ca-rES/insight_alert_descriptions.xml rename to core/src/main/res/values-es-rES/validator.xml diff --git a/core/src/main/res/values-fr-rFR/strings.xml b/core/src/main/res/values-fr-rFR/strings.xml index 0c4e966be7..b1949cea34 100644 --- a/core/src/main/res/values-fr-rFR/strings.xml +++ b/core/src/main/res/values-fr-rFR/strings.xml @@ -80,6 +80,29 @@ Mise à jour de l\'heure de la pompe Quitter Numéro de série + Supprimer l\'enregistrement + La Boucle est désactivée + Alarme + Désactiver la Boucle + Activer la Boucle + Reprendre la boucle + Suspendre la boucle + Durée [min] + Notification + Pas encore de profil téléchargé depuis NS + existe + n\'existe pas + Glycémie + IA + GA + Nom : + Heure + SSID WiFi + Chargement… + Heure événement + Notes + Supprimer + Ajouter Limiter le débit de basal max à %1$.2f U/h à cause de %2$s Limite de la pompe diff --git a/app/src/main/res/values-ca-rES/insight_alert_titles.xml b/core/src/main/res/values-fr-rFR/validator.xml similarity index 100% rename from app/src/main/res/values-ca-rES/insight_alert_titles.xml rename to core/src/main/res/values-fr-rFR/validator.xml diff --git a/app/src/main/res/values-ca-rES/insight_exceptions.xml b/core/src/main/res/values-ga-rIE/validator.xml similarity index 100% rename from app/src/main/res/values-ca-rES/insight_exceptions.xml rename to core/src/main/res/values-ga-rIE/validator.xml diff --git a/app/src/main/res/values-cy-rGB/insight_alert_codes.xml b/core/src/main/res/values-hr-rHR/validator.xml similarity index 100% rename from app/src/main/res/values-cy-rGB/insight_alert_codes.xml rename to core/src/main/res/values-hr-rHR/validator.xml diff --git a/core/src/main/res/values-it-rIT/strings.xml b/core/src/main/res/values-it-rIT/strings.xml index b185888f6e..5372c4b67b 100644 --- a/core/src/main/res/values-it-rIT/strings.xml +++ b/core/src/main/res/values-it-rIT/strings.xml @@ -80,6 +80,29 @@ Ora del micro aggiornata Esci Numero seriale + Rimuovi record + Il loop è disabilitato + Allarme + Disabilita loop + Abilita loop + Riprendi loop + Sospendi loop + Durata [min] + Notifica + Nessun profilo ancora caricato da NS + esiste + non esiste + Glicemia + IOB + COB + Nome: + Tempo + WiFi SSID + Caricamento… + Ora evento + Note + Rimuovi + Aggiungi nuovo Limitazione max velocità basale a %1$.2f U/h a causa di: %2$s limite micro diff --git a/core/src/main/res/values-it-rIT/validator.xml b/core/src/main/res/values-it-rIT/validator.xml new file mode 100644 index 0000000000..b24bb9b43b --- /dev/null +++ b/core/src/main/res/values-it-rIT/validator.xml @@ -0,0 +1,24 @@ + + + Sono consentite solo cifre numeriche. + Sono consentite solo cifre numeriche nel range %1$s - %2$s. + Questo campo non può contenere alcun carattere speciale + Sono consentite solo lettere standard + Il campo non deve essere vuoto + Indirizzo email non valido + Il numero della carta di credito non è valido + Numero di telefono non valido + Nome dominio non valido + Indirizzo IP non valido + L\'URL non è valido + Nome o Cognome non valido. + Nome completo non valido. + Formato non valido + Deve essere un numero di 4 cifre + Deve essere un numero di 6 cifre + Devono essere 12 caratteri tra ABCDEF0123456789 + Devono essere 8 caratteri tra ABCDEF0123456789 + Devono essere 4 caratteri tra ABCDEF0123456789 + Lunghezza minima non soddisfatta + Il PIN deve contenere da 3 a 6 cifre, non uguali o in serie + diff --git a/core/src/main/res/values-iw-rIL/validator.xml b/core/src/main/res/values-iw-rIL/validator.xml new file mode 100644 index 0000000000..a219a1b64a --- /dev/null +++ b/core/src/main/res/values-iw-rIL/validator.xml @@ -0,0 +1,24 @@ + + + ניתן להשתמש רק בתוים מספריים. + מותר להשתמש רק בתוים מספריים בטווח %1$s עד %2$s. + שדה זה לא יכול להכיל תוים מיוחדים + ניתן להשתמש רק באותיות אנגליות רגילות + שדה זה לא יכול להיות ריק + כתובת הדוא\"ל אינה תקינה + מספר כרטיס האשראי לא תקין + מספר הטלפון אינו תקין + שם הדומיין לא תקין + כתובת ה-IP אינה תקינה + כתובת ה-URL אינה תקינה + השם הפרטי או שם המשפחה לא תקינים. + השם המלא אינו תקין. + הפורמט אינו תקין + חייב להיות מספר ארבע ספרתי + חייב להיות מספר שש ספרתי + חייב להיות באורך 12 תוים, מהתוים הבאים: ABCDEF0123456789 + חייב להיות באורך 8 תוים, מהתוים הבאים: ABCDEF0123456789 + חייב להיות באורך 4 תוים, מהתוים הבאים: ABCDEF0123456789 + לא באורך המינימלי + קוד ה-PIN חייב להיות באורך 3 עד 6 תוים, לא זהים ולא בסדר + diff --git a/app/src/main/res/values-cy-rGB/insight_alert_descriptions.xml b/core/src/main/res/values-ko-rKR/validator.xml similarity index 100% rename from app/src/main/res/values-cy-rGB/insight_alert_descriptions.xml rename to core/src/main/res/values-ko-rKR/validator.xml diff --git a/app/src/main/res/values-cy-rGB/insight_alert_titles.xml b/core/src/main/res/values-lt-rLT/validator.xml similarity index 100% rename from app/src/main/res/values-cy-rGB/insight_alert_titles.xml rename to core/src/main/res/values-lt-rLT/validator.xml diff --git a/app/src/main/res/values-cy-rGB/insight_exceptions.xml b/core/src/main/res/values-nl-rNL/validator.xml similarity index 100% rename from app/src/main/res/values-cy-rGB/insight_exceptions.xml rename to core/src/main/res/values-nl-rNL/validator.xml diff --git a/core/src/main/res/values-no-rNO/strings.xml b/core/src/main/res/values-no-rNO/strings.xml index f39a8ac59b..3c97491598 100644 --- a/core/src/main/res/values-no-rNO/strings.xml +++ b/core/src/main/res/values-no-rNO/strings.xml @@ -80,6 +80,29 @@ Pumpens tid er oppdatert Avslutt Serienummer + Fjern registrering + Loop er deaktivert + Alarm + Stans loop + Aktiver loop + Gjenoppta loop + Pause loop + Varighet [min] + Varsling + Ingen profil innlest fra NS enda + finnes + finnes ikke + Glukose + IOB + COB + Navn: + Tid + WiFi nettverksnavn + Laster… + Hendelse tidspunkt + Merknader + Fjern + Legg til ny Begrenser maks basal dose til %1$.2f E/t på grunn av %2$s pumpebegrensning diff --git a/core/src/main/res/values-no-rNO/validator.xml b/core/src/main/res/values-no-rNO/validator.xml new file mode 100644 index 0000000000..06aaf6f8e8 --- /dev/null +++ b/core/src/main/res/values-no-rNO/validator.xml @@ -0,0 +1,24 @@ + + + Bare tall er tillatt. + Bare tall mellom %1$s - %2$s er tillatt. + Dette feltet kan ikke inneholde noen spesialtegn + Bare vanlige bokstaver er tillatt + Dette feltet kan ikke være tomt + E-post adressen er ikke gyldig + Kredittkortnummer er ikke gyldig + Telefonnummeret er ikke gyldig + Domenenavnet er ikke gyldig + IP-adressen er ikke gyldig + Nettadressen er ikke gyldig + Ikke et gyldig fornavn eller etternavn. + Ikke et gyldig fullt navn. + Ugyldig format + Må være 4 sifret tall + Må være 6 sifret tall + Må være 12 tegn av ABCDEF0123456789 + Må være 8 tegn av ABCDEF0123456789 + Må være 4 tegn av ABCDEF0123456789 + Oppfyller ikke minimumslengde + Pinkode bør være mellom 3 og 6 siffer, ikke like eller etter hverandre + diff --git a/app/src/main/res/values-da-rDK/insight_alert_codes.xml b/core/src/main/res/values-pl-rPL/validator.xml similarity index 100% rename from app/src/main/res/values-da-rDK/insight_alert_codes.xml rename to core/src/main/res/values-pl-rPL/validator.xml diff --git a/app/src/main/res/values-da-rDK/insight_alert_descriptions.xml b/core/src/main/res/values-pt-rBR/validator.xml similarity index 100% rename from app/src/main/res/values-da-rDK/insight_alert_descriptions.xml rename to core/src/main/res/values-pt-rBR/validator.xml diff --git a/core/src/main/res/values-pt-rPT/strings.xml b/core/src/main/res/values-pt-rPT/strings.xml index df65801416..87b24b45b0 100644 --- a/core/src/main/res/values-pt-rPT/strings.xml +++ b/core/src/main/res/values-pt-rPT/strings.xml @@ -69,6 +69,38 @@ A Emparelhar Sim Não + LOOP DESATIVADO POR RESTRIÇÕES + Bólus %1$.2f U administrado com sucesso + OK + Nenhum valor de basal válido foi lido da bomba + uso não seguro + Bomba inacessível + Bólus Prolongado + Sair + Número de Série + Remover registo + Loop está desactivado + Alarme + Desactivar Loop + Activar Loop + Retomar loop + Suspender loop + Duração [min] + Notificação + Sem perfil carregado do NS + existe + não existe + Glicose + IOB + COB + Nome: + Hora + SSID WiFi + A carregar … + Hora do Evento + Notas + Remover + Adicionar novo A basal máx está limitada a %1$.2f U/h por %2$s limite bomba diff --git a/app/src/main/res/values-da-rDK/insight_alert_titles.xml b/core/src/main/res/values-pt-rPT/validator.xml similarity index 100% rename from app/src/main/res/values-da-rDK/insight_alert_titles.xml rename to core/src/main/res/values-pt-rPT/validator.xml diff --git a/app/src/main/res/values-da-rDK/insight_exceptions.xml b/core/src/main/res/values-ro-rRO/validator.xml similarity index 100% rename from app/src/main/res/values-da-rDK/insight_exceptions.xml rename to core/src/main/res/values-ro-rRO/validator.xml diff --git a/core/src/main/res/values-ru-rRU/strings.xml b/core/src/main/res/values-ru-rRU/strings.xml index af91ca896d..432b398155 100644 --- a/core/src/main/res/values-ru-rRU/strings.xml +++ b/core/src/main/res/values-ru-rRU/strings.xml @@ -69,6 +69,40 @@ Сопряжение Да Нет + ЗЦ ОТМЕНЕН ОГРАНИЧЕНИЯМИ + Болюс %1$.2f ед. подан успешно + ОК + На помпе не найдены валидные записи о базалe + Ограничение максимума активного инсулина IOB до %1$.1f U из-за %2$s + небезопасное применение + Помпа недоступна + Пролонгированный болюс + Время на помпе обновлено + Выйти + Серийный номер + Удалить запись + Зцикл не работает + Оповещения об опасности + Деактивировать цикличность + Активировать цикличность + Возобновить цикл + Приостановить цикл + Длительность (мин) + Уведомление + Профиль еще не загружен из NS + существует + не существует + Гликемия + IOB акт инс + АктУгл COB + Имя: + Время + SSID для Wi-Fi + Загрузка… + Время события + Заметки + Удалить + Добавить новый Макс базальный уровень ограничен до %1$.2f ед/ч вследствие %2$s лимит помпы diff --git a/core/src/main/res/values-ru-rRU/validator.xml b/core/src/main/res/values-ru-rRU/validator.xml new file mode 100644 index 0000000000..5f675218f0 --- /dev/null +++ b/core/src/main/res/values-ru-rRU/validator.xml @@ -0,0 +1,24 @@ + + + Можно вводить только цифры. + Разрешены только цифровые значения в диапазоне %1$s - %2$s. + Это поле не может содержать специальные символы + Разрешены только стандартные буквы + Поле не может быть пустым + Недопустимый адрес электронной почты + Недопустимый номер кредитной карты + Некорректный номер телефона + Недопустимое имя домена + Недопустимый IP + Недопустимый Url-адрес + Недопустимое имя или фамилия. + Недопустимое полное имя. + Недопустимый формат + Должен быть 4-значным числом + Должен быть 6-значным числом + Должно быть 12 из этих символов: ABCDEF0123456789 + Должно быть 8 из этих символов: ABCDEF0123456789 + Должно быть 4 из этих символов: ABCDEF0123456789 + Не соответствует минимальной длине + Пин-код должен состоять из 3-6 не одинаковых или идущих подряд цифр + diff --git a/app/src/main/res/values-fi-rFI/insight_alert_codes.xml b/core/src/main/res/values-sk-rSK/validator.xml similarity index 100% rename from app/src/main/res/values-fi-rFI/insight_alert_codes.xml rename to core/src/main/res/values-sk-rSK/validator.xml diff --git a/app/src/main/res/values-fi-rFI/insight_alert_descriptions.xml b/core/src/main/res/values-sl-rSI/validator.xml similarity index 100% rename from app/src/main/res/values-fi-rFI/insight_alert_descriptions.xml rename to core/src/main/res/values-sl-rSI/validator.xml diff --git a/app/src/main/res/values-fi-rFI/insight_alert_titles.xml b/core/src/main/res/values-sv-rSE/validator.xml similarity index 100% rename from app/src/main/res/values-fi-rFI/insight_alert_titles.xml rename to core/src/main/res/values-sv-rSE/validator.xml diff --git a/app/src/main/res/values-fi-rFI/insight_exceptions.xml b/core/src/main/res/values-tr-rTR/validator.xml similarity index 100% rename from app/src/main/res/values-fi-rFI/insight_exceptions.xml rename to core/src/main/res/values-tr-rTR/validator.xml diff --git a/app/src/main/res/values-ga-rIE/insight_alert_codes.xml b/core/src/main/res/values-zh-rCN/validator.xml similarity index 100% rename from app/src/main/res/values-ga-rIE/insight_alert_codes.xml rename to core/src/main/res/values-zh-rCN/validator.xml diff --git a/core/src/main/res/values/strings.xml b/core/src/main/res/values/strings.xml index 9a394e3ef4..fbeed450e7 100644 --- a/core/src/main/res/values/strings.xml +++ b/core/src/main/res/values/strings.xml @@ -34,6 +34,28 @@ autosens_max autosens_min treatmentssafety_maxcarbs + bgsource_upload_settings + localalert_settings + wear_settings + configbuilder_general_settings + maintenance_settings + smscommunicator_settings + openapssmb_settings + treatmentssafety_settings + loop_settings + virtualpump_settings + pump_settings + tidepool_settings + absorption_settings + overview_settings + openapsma_settings + medtronic_settings + danars_settings + xdripstatus_settings + nsclientinternal_settings + insight_local_settings + data_choices_settings + dexcom_settings Refresh diff --git a/dana/src/main/res/values-iw-rIL/strings.xml b/dana/src/main/res/values-iw-rIL/strings.xml index ce963fe7c6..27b77965ae 100644 --- a/dana/src/main/res/values-iw-rIL/strings.xml +++ b/dana/src/main/res/values-iw-rIL/strings.xml @@ -1,6 +1,6 @@ - מצומד + מצמד לא נמצאו מכשירים עד כה הצימוד הצליח הצימוד חרג ממגבלת הזמן diff --git a/danar/src/main/res/values/strings.xml b/danar/src/main/res/values/strings.xml new file mode 100644 index 0000000000..0383441326 --- /dev/null +++ b/danar/src/main/res/values/strings.xml @@ -0,0 +1,4 @@ + + + danar_pump_settings + \ No newline at end of file diff --git a/danar/src/main/res/xml/pref_danar.xml b/danar/src/main/res/xml/pref_danar.xml index 27efaac878..475c49531d 100644 --- a/danar/src/main/res/xml/pref_danar.xml +++ b/danar/src/main/res/xml/pref_danar.xml @@ -4,6 +4,7 @@ xmlns:app="http://schemas.android.com/apk/res-auto"> diff --git a/danar/src/main/res/xml/pref_danarkorean.xml b/danar/src/main/res/xml/pref_danarkorean.xml index 5e46cdae54..3e2944a2a3 100644 --- a/danar/src/main/res/xml/pref_danarkorean.xml +++ b/danar/src/main/res/xml/pref_danarkorean.xml @@ -4,6 +4,7 @@ xmlns:app="http://schemas.android.com/apk/res-auto"> diff --git a/danar/src/main/res/xml/pref_danarv2.xml b/danar/src/main/res/xml/pref_danarv2.xml index d0d36999a5..f18ed77e4a 100644 --- a/danar/src/main/res/xml/pref_danarv2.xml +++ b/danar/src/main/res/xml/pref_danarv2.xml @@ -4,6 +4,7 @@ xmlns:validate="http://schemas.android.com/apk/res-auto"> diff --git a/danars/src/main/res/xml/pref_danars.xml b/danars/src/main/res/xml/pref_danars.xml index 8fc3d691b4..7c927aa2ae 100644 --- a/danars/src/main/res/xml/pref_danars.xml +++ b/danars/src/main/res/xml/pref_danars.xml @@ -4,6 +4,7 @@ xmlns:app="http://schemas.android.com/apk/res-auto"> diff --git a/database/src/main/java/info/nightscout/androidaps/database/daos/workaround/TraceableDaoWorkaround.java b/database/src/main/java/info/nightscout/androidaps/database/daos/workaround/TraceableDaoWorkaround.java index ddeb1d0d80..0e2540d088 100644 --- a/database/src/main/java/info/nightscout/androidaps/database/daos/workaround/TraceableDaoWorkaround.java +++ b/database/src/main/java/info/nightscout/androidaps/database/daos/workaround/TraceableDaoWorkaround.java @@ -6,6 +6,7 @@ import info.nightscout.androidaps.database.daos.TraceableDao; import info.nightscout.androidaps.database.daos.TraceableDaoKt; import info.nightscout.androidaps.database.interfaces.TraceableDBEntry; +// keep in java, it's easier public interface TraceableDaoWorkaround { /** diff --git a/database/src/main/java/info/nightscout/androidaps/database/interfaces/TraceableDBEntry.kt b/database/src/main/java/info/nightscout/androidaps/database/interfaces/TraceableDBEntry.kt index 7ab0ce0984..ad4679cea3 100644 --- a/database/src/main/java/info/nightscout/androidaps/database/interfaces/TraceableDBEntry.kt +++ b/database/src/main/java/info/nightscout/androidaps/database/interfaces/TraceableDBEntry.kt @@ -7,7 +7,7 @@ interface TraceableDBEntry: DBEntry { var dateCreated: Long var isValid: Boolean var referenceId: Long? - var interfaceIDs_backing: InterfaceIDs? + @Suppress("PropertyName") var interfaceIDs_backing: InterfaceIDs? val historic: Boolean get() = referenceId != null diff --git a/app/src/main/res/values-af-rZA/insight_alert_codes.xml b/insight/src/main/res/values-af-rZA/alert_codes.xml similarity index 100% rename from app/src/main/res/values-af-rZA/insight_alert_codes.xml rename to insight/src/main/res/values-af-rZA/alert_codes.xml diff --git a/app/src/main/res/values-af-rZA/insight_alert_descriptions.xml b/insight/src/main/res/values-af-rZA/alert_descriptions.xml similarity index 78% rename from app/src/main/res/values-af-rZA/insight_alert_descriptions.xml rename to insight/src/main/res/values-af-rZA/alert_descriptions.xml index ade568703d..8bd1d1c307 100644 --- a/app/src/main/res/values-af-rZA/insight_alert_descriptions.xml +++ b/insight/src/main/res/values-af-rZA/alert_descriptions.xml @@ -2,9 +2,7 @@ %1$d%%\nDurasie: %2$s h]]> %1$s U]]> - Verander battery. Stel tyd/datum. - Kontak Accu-Chek ondersteuning. %1$d%%
Durasie:%2$s h]]>
%1$s U
gelewer: %2$s U]]>
Voeg kasset. @@ -13,12 +11,9 @@ Kontroleer pomp status. Verander infusie stel. Kontak Accu-Chek ondersteuning. - Verander kasset. Herhaal data aflaai. - Kontroleer pomp status. Stel battery tipe. Stel kasset tipe. Verander battery en kasset. - Verander kasset. Verander taal.
diff --git a/app/src/main/res/values-af-rZA/insight_alert_titles.xml b/insight/src/main/res/values-af-rZA/alert_titles.xml similarity index 96% rename from app/src/main/res/values-af-rZA/insight_alert_titles.xml rename to insight/src/main/res/values-af-rZA/alert_titles.xml index 87cd922237..d4b6a7b6df 100644 --- a/app/src/main/res/values-af-rZA/insight_alert_titles.xml +++ b/insight/src/main/res/values-af-rZA/alert_titles.xml @@ -3,7 +3,6 @@ Lewer Bolus Bolus Gemis Wekker - Verander infusie stel TBR voltooi Kasset laag Battery is amper leeg diff --git a/app/src/main/res/values-af-rZA/insight_exceptions.xml b/insight/src/main/res/values-af-rZA/exceptions.xml similarity index 100% rename from app/src/main/res/values-af-rZA/insight_exceptions.xml rename to insight/src/main/res/values-af-rZA/exceptions.xml diff --git a/insight/src/main/res/values-af-rZA/strings.xml b/insight/src/main/res/values-af-rZA/strings.xml new file mode 100644 index 0000000000..87b4ac43da --- /dev/null +++ b/insight/src/main/res/values-af-rZA/strings.xml @@ -0,0 +1,67 @@ + + + Skakel kennisgewing van TBR einde\n(pomp instelling) + Deaktiveer kennisgewing van TBR einde\n(pomp instelling) + Nie gemaat + Herstel + Status + Herstel duur + Laaste verbind + Begin pomp + Stop pomp + Begin + Gestaak + Onderbreek + Bedryf modus + Integrasie vir Accu-Chek Insight pompe + Nie ingesteek + TDD Bolus + TDD basale + TDD totaal + %1$d%% vir %2$d / %3$d min + Multigolf bolus + %1$.2f / %2$.2f U vir %3$d min + Soek vir toestelle… + Maats voltooi + Stem die kodes gewys op hierdie toestel en op jou pomp saam? + Insight maatjies + Accu-Chek Insight + %1$s:%2$s + Pyp verander + Sig + Afsnytyd gedurende handskud - terugstel bluetooth + Pomp gestop + Pomp is begin + Pomp wag + Laaste kon: %1$d min gelede + TBR: %1$d%% vir %2$d / %3$d min + Verleng: %1$.2f / %2$.2f U vir %3$d min + Multigolf: %1$.2f / %2$.2f U vir %3$d min + TDD: %1$.2f + Bat.: %1$d%% + Bevestig + Demp + Vrygestelde sagteware weergawe + UI verwerker sagteware weergawe + PC verwerker sagteware weergawe + MD tel verwerker sagteware weergawe + Veiligheid verwerker sagteware weergawe + BT info bladsy weergawe + Bluetooth adres + Stelsel ID Aanhangsel + Vervaardigings datum + Verwyder maats + Log ligging veranderings + Log stoor veranderinge + Log voerpyp verandering + Log battery verandering + Log bedryf modus veranderinge + Log alarms + Skakel TBR emulasie aan + Gebruik verlengde boluses in plaas van TBRs om die 250%% perk te omseil + Ontkoppel vertraging [s] + Max. herstel duur [s] + Min. herstel duur [s] + Pomp alarm + Maat inligting + diff --git a/app/src/main/res/values-bg-rBG/insight_alert_codes.xml b/insight/src/main/res/values-bg-rBG/alert_codes.xml similarity index 100% rename from app/src/main/res/values-bg-rBG/insight_alert_codes.xml rename to insight/src/main/res/values-bg-rBG/alert_codes.xml diff --git a/app/src/main/res/values-bg-rBG/insight_alert_descriptions.xml b/insight/src/main/res/values-bg-rBG/alert_descriptions.xml similarity index 82% rename from app/src/main/res/values-bg-rBG/insight_alert_descriptions.xml rename to insight/src/main/res/values-bg-rBG/alert_descriptions.xml index 244b6cc578..e50451e0ab 100644 --- a/app/src/main/res/values-bg-rBG/insight_alert_descriptions.xml +++ b/insight/src/main/res/values-bg-rBG/alert_descriptions.xml @@ -2,9 +2,7 @@ %1$d%%\nПродължителност: %2$s h]]> %1$s U]]> - Сменете на батерията. Задаване на време и дата. - Свържете с Accu-Chek поддръжка. %1$d%%
Продължителност: %2$s ч]]>
%1$s Е
Доставени: %2$s Е]]>
Поставете резервоар. @@ -13,9 +11,7 @@ Проверете статуса на помпата. Сменете сет. Свържете с Accu-Chek поддръжка. - Промяна резервоар. Рестартирайте прехвърляне на данни. - Проверете статуса на помпата. Задайте тип батерия. Задайте тип резевоар. Сменете батерията и резервоарът. diff --git a/app/src/main/res/values-bg-rBG/insight_alert_titles.xml b/insight/src/main/res/values-bg-rBG/alert_titles.xml similarity index 97% rename from app/src/main/res/values-bg-rBG/insight_alert_titles.xml rename to insight/src/main/res/values-bg-rBG/alert_titles.xml index 26025edc39..14ba108de5 100644 --- a/app/src/main/res/values-bg-rBG/insight_alert_titles.xml +++ b/insight/src/main/res/values-bg-rBG/alert_titles.xml @@ -3,7 +3,6 @@ Доставен болус Пропуснат болус Аларма часовник - Сменете сет Временен базал приключен Малко инсулин в резервоарът Изтощена батерия diff --git a/app/src/main/res/values-bg-rBG/insight_exceptions.xml b/insight/src/main/res/values-bg-rBG/exceptions.xml similarity index 100% rename from app/src/main/res/values-bg-rBG/insight_exceptions.xml rename to insight/src/main/res/values-bg-rBG/exceptions.xml diff --git a/insight/src/main/res/values-bg-rBG/strings.xml b/insight/src/main/res/values-bg-rBG/strings.xml new file mode 100644 index 0000000000..55e34c8ba6 --- /dev/null +++ b/insight/src/main/res/values-bg-rBG/strings.xml @@ -0,0 +1,73 @@ + + + Разреши съобщения за край на временни базали\n(настройки на помпата) + Забрани съобщения за край на временни базали\n(настройки на помпата) + Не е сдвоено + Възстановяване + Статус + Възстановяване продължителност + Последно свързване + Стартирай помпа + Спри помпа + Стартиран + Спрян + Пауза + Работен режим + Драйвер за Accu-Chek Insight помпи + Не е поставено + ТДД болус + ТДД базал + ТДД общо + %1$d%% за %2$d / %3$d мин + Двувълнов болус + %1$.2f / %2$.2f U за %3$d мин + Търсене на устройства... + Сдвояване завършено + Съвпадат ли кодовете, показани на това устройство и на Вашата помпа? + Insight свързване + Accu-Chek Insight + %1$.2fЕ / %2$.2fЕ доставени + %1$s:%2$s + Тръба сменена + Sight + Информация за Insight Pump + Изключи вибрациите при ръчен болус + За болус и разширен болус (само на разположение с Insight фърмуер 3.x) + Изключи вибрациите при автоматичен болус + За SMB и временни базали с емулация (достъпна само с Insight фърмуер 3.x) + Таймаут при сдвояването - рестартирайте bluetooth + Помпата е спряна + Помпата е стартирана + Помпата е на пауза + Последно свързване: преди %1$d минути + TBR: %1$d%% за %2$d / %3$d мин + Удължен: %1$.2f / %2$.2f U за %3$d мин + ТДД: %1$.2f + Рез.: %1$.2fE + Бат.: %1$d%% + Потвърди + Без звук + Софтуер версия + UI процесор софтуер версия + PC процесор софтуер версия + MD тел процесор софтуер версия + Софтуерна версия на процесора за безопасност + BT информационна страница версия + Bluetooth адрес + Системно ID приложение + Дата на производство + Изтриване на сдвояване + Записвай смяната на местата + Записвай смените на резервоар + Записвай смените на резервоар + Записвай смяната на батерия + Записвай промените в режима + Записвай аларми + Разреши емулация на временни базали + Използвайте удължени болуси вместо временни базали да се заобиколи ограничението от 250%% + Забавяне при прекъсване на връзката [сек] + Макс време за възстановяване [сек] + Мин време за възстановяване [сек] + Аларма на помпата + Информация за сдвояването + diff --git a/app/src/main/res/values-ga-rIE/insight_alert_descriptions.xml b/insight/src/main/res/values-ca-rES/alert_codes.xml similarity index 100% rename from app/src/main/res/values-ga-rIE/insight_alert_descriptions.xml rename to insight/src/main/res/values-ca-rES/alert_codes.xml diff --git a/app/src/main/res/values-ga-rIE/insight_alert_titles.xml b/insight/src/main/res/values-ca-rES/alert_descriptions.xml similarity index 100% rename from app/src/main/res/values-ga-rIE/insight_alert_titles.xml rename to insight/src/main/res/values-ca-rES/alert_descriptions.xml diff --git a/app/src/main/res/values-ga-rIE/insight_exceptions.xml b/insight/src/main/res/values-ca-rES/alert_titles.xml similarity index 100% rename from app/src/main/res/values-ga-rIE/insight_exceptions.xml rename to insight/src/main/res/values-ca-rES/alert_titles.xml diff --git a/app/src/main/res/values-hr-rHR/insight_alert_codes.xml b/insight/src/main/res/values-ca-rES/exceptions.xml similarity index 100% rename from app/src/main/res/values-hr-rHR/insight_alert_codes.xml rename to insight/src/main/res/values-ca-rES/exceptions.xml diff --git a/insight/src/main/res/values-ca-rES/strings.xml b/insight/src/main/res/values-ca-rES/strings.xml new file mode 100644 index 0000000000..9bd0334a28 --- /dev/null +++ b/insight/src/main/res/values-ca-rES/strings.xml @@ -0,0 +1,13 @@ + + + Activar avisos de fi de TBR\n(configuració bomba) + Desactivar avisos de fi de TBR\n(configuració bomba) + En pausa + Insight + Per bolus i bolus estès (només disponible amb Insight firmware 3.x) + Bomba aturada + Bomba iniciada + Bomba en pausa + Estès: %1$.2f / %2$.2f U durant %3$d min + Feu servir bolus estès enlloc de TBR per sobrepassar el límit de 250%% + diff --git a/app/src/main/res/values-cs-rCZ/insight_alert_codes.xml b/insight/src/main/res/values-cs-rCZ/alert_codes.xml similarity index 100% rename from app/src/main/res/values-cs-rCZ/insight_alert_codes.xml rename to insight/src/main/res/values-cs-rCZ/alert_codes.xml diff --git a/app/src/main/res/values-cs-rCZ/insight_alert_descriptions.xml b/insight/src/main/res/values-cs-rCZ/alert_descriptions.xml similarity index 56% rename from app/src/main/res/values-cs-rCZ/insight_alert_descriptions.xml rename to insight/src/main/res/values-cs-rCZ/alert_descriptions.xml index e73ac00c99..607bf50f50 100644 --- a/app/src/main/res/values-cs-rCZ/insight_alert_descriptions.xml +++ b/insight/src/main/res/values-cs-rCZ/alert_descriptions.xml @@ -1,24 +1,24 @@ - %1$d%%\nTrvání:%2$sh]]> - %1$s]]> + %1$d%%\nTrvání: %2$s h]]> + %1$s U]]> Vyměňte baterii. Nastavte čas/datum. Obraťte se na podporu Accu-Chek. %1$d%%
Trvání: %2$s h]]>
- %1$s
Aplikováno: %2$s]]>
- Vložit zásobník. + %1$s U
Vydáno: %2$s U]]>
+ Vložte zásobník. Vyměňte zásobník. Vyměňte baterii. Zkontrolujte stav pumpy. - Změňte infuzní set. + Vyměňte infuzní set. Obraťte se na podporu Accu-Chek. - Vyměnit cartridge. - Restartovat stahování údajů. - Kontrola stavu pumpy. - Nastavit typ baterie. - Nastavit typ zásobníku. - Vyměnit baterii a zásobník. - Vyměnit zásobník. + Vyměňte zásobník. + Restartovat stahování dat. + Zkontrolujte stav pumpy. + Nastavte typ baterie. + Nastavte typ zásobníku. + Vyměňte baterii a zásobník. + Vyměňte zásobník. Změnit jazyk.
diff --git a/app/src/main/res/values-cs-rCZ/insight_alert_titles.xml b/insight/src/main/res/values-cs-rCZ/alert_titles.xml similarity index 77% rename from app/src/main/res/values-cs-rCZ/insight_alert_titles.xml rename to insight/src/main/res/values-cs-rCZ/alert_titles.xml index 2c3b09d6dc..7ed46dc7d2 100644 --- a/app/src/main/res/values-cs-rCZ/insight_alert_titles.xml +++ b/insight/src/main/res/values-cs-rCZ/alert_titles.xml @@ -1,9 +1,9 @@ Poslat Bolus - Chybějící bolus + Chybějící Bolus Budík - Výměna infuzního setu + Vyměňte infuzní set Dočasný bazál dokončen Zásobník je téměř prázdný Nízký stav baterie @@ -12,12 +12,12 @@ Dočasný bazál zrušen Bolus zrušen Varování konce životnosti pumpy - Zásobník není vložen + Není vložen zásobník Prázdný zásobník - Prázdná baterie + Vybitá baterie Automatické vypnutí - pumpa zastavena Okluze - Konec životnosti pumpy + Konec životnosti pumpy - provoz ukončen Výměna zásobníku nebyla dokončena Stahování dat selhalo Konec pauzy @@ -25,5 +25,5 @@ Není nastaven typ zásobníku Porucha mechaniky Chyba přetočení trnu - Chyba jazyka + Jazyková chyba diff --git a/app/src/main/res/values-cs-rCZ/insight_exceptions.xml b/insight/src/main/res/values-cs-rCZ/exceptions.xml similarity index 94% rename from app/src/main/res/values-cs-rCZ/insight_exceptions.xml rename to insight/src/main/res/values-cs-rCZ/exceptions.xml index f2d3bac548..eed54637fd 100644 --- a/app/src/main/res/values-cs-rCZ/insight_exceptions.xml +++ b/insight/src/main/res/values-cs-rCZ/exceptions.xml @@ -5,7 +5,7 @@ Párování odmítnuto Vytvoření soketu se nezdařilo Vypršel časový limit - Maximální počet bolusů již běží + Maximální počet spuštěných bolusů Žádný aktivní dočasný bazál pro zrušení Žádný aktivní dočasný bazál pro změnu Žádný takový bolus pro zrušení diff --git a/insight/src/main/res/values-cs-rCZ/strings.xml b/insight/src/main/res/values-cs-rCZ/strings.xml new file mode 100644 index 0000000000..c1382dadd3 --- /dev/null +++ b/insight/src/main/res/values-cs-rCZ/strings.xml @@ -0,0 +1,74 @@ + + + Povolit oznamování konce dočasného bazálu\n(nastavení pumpy) + Zakázat oznamování konce dočasného bazálu\n(nastavení pumpy) + Není spárováno + Obnovování + Stav + Doba čekání na obnovení spojení + Naposledy připojeno + Spustit pumpu + Zastavit pumpu + Spuštěno + Zastaveno + Pozastaveno + Provozní režim + Integrace pro pumpu Accu-Chek Insight + Není vloženo + CDD bolusů + CDD bazálů + CDD celkem + %1$d%% for %2$d / %3$d min + Duální bolus + %1$.2f / %2$.2f U for %3$d min + Vyhledávání zařízení… + Párování dokončeno + Souhlasí kódy zobrazené na tomto zařízení a na pumpě? + Insight párování + Accu-Chek Insight + Podáno %1$.2f U / %2$.2f U + %1$s: %2$s + Vyměněna hadičky + Insight + Upozornění pumpy Insight + Zakázat vibrace při ručním podání bolusu + Pro bolus a prodloužený bolus (dostupné pouze s Insight firmware 3.x) + Zakázat vibrace při automatickém podání bolusu + Pro SMB a Dočasný bazál s emulací TBR (k dispozici pouze s Insight firmware 3.x) + Vypršel limit spojení - resetujte Bluetooth + Pumpa zastavena + Pumpa spuštěna + Pumpa pozastavena + Poslední spojení: před %1$d min + Doč. bazál: %1$d%% na %2$d / %3$d min + Prodl. bolus: %1$.2f / %2$.2f U na %3$d min + Duální bolus: %1$.2f / %2$.2f U na %3$d min + CDD: %1$.2f + Zásobník: %1$.2f U + Baterie: %1$d%% + Potvrdit + Ztlumit + Verze softwaru + Verze softwaru UI procesoru + Verze softwaru PC procesoru + Verze softwaru MD tel procesoru + Verze softwaru bezpečnostního procesoru + Verze stránky s BT informacemi + Bluetooth MAC adresa + Dodatek ID systému + Datum výroby + Zrušit párování + Zaznamenat výměnu kanyly + Zaznamenat výměnu zásobníku + Zaznamenat výměnu hadičky + Zaznamenat výměnu baterie + Zaznamenat změnu režimu provozu + Zaznamenat výstrahy + Povolit emulaci dočasných bazálů + Používat prodloužené bolusy pro obejití limitu dočasných bazálů 250%% + Limit pro odpojení [s] + Max. doba čekání na obnovení spojení [s] + Min. doba čekání na obnovení spojení [s] + Výstraha pumpy + Informace o párování + diff --git a/app/src/main/res/values-hr-rHR/insight_alert_descriptions.xml b/insight/src/main/res/values-da-rDK/alert_codes.xml similarity index 100% rename from app/src/main/res/values-hr-rHR/insight_alert_descriptions.xml rename to insight/src/main/res/values-da-rDK/alert_codes.xml diff --git a/app/src/main/res/values-hr-rHR/insight_alert_titles.xml b/insight/src/main/res/values-da-rDK/alert_descriptions.xml similarity index 100% rename from app/src/main/res/values-hr-rHR/insight_alert_titles.xml rename to insight/src/main/res/values-da-rDK/alert_descriptions.xml diff --git a/app/src/main/res/values-hr-rHR/insight_exceptions.xml b/insight/src/main/res/values-da-rDK/alert_titles.xml similarity index 100% rename from app/src/main/res/values-hr-rHR/insight_exceptions.xml rename to insight/src/main/res/values-da-rDK/alert_titles.xml diff --git a/app/src/main/res/values-ja-rJP/insight_alert_codes.xml b/insight/src/main/res/values-da-rDK/exceptions.xml similarity index 100% rename from app/src/main/res/values-ja-rJP/insight_alert_codes.xml rename to insight/src/main/res/values-da-rDK/exceptions.xml diff --git a/insight/src/main/res/values-da-rDK/strings.xml b/insight/src/main/res/values-da-rDK/strings.xml new file mode 100644 index 0000000000..553c716ace --- /dev/null +++ b/insight/src/main/res/values-da-rDK/strings.xml @@ -0,0 +1,4 @@ + + + Pauset + diff --git a/app/src/main/res/values-de-rDE/insight_alert_codes.xml b/insight/src/main/res/values-de-rDE/alert_codes.xml similarity index 100% rename from app/src/main/res/values-de-rDE/insight_alert_codes.xml rename to insight/src/main/res/values-de-rDE/alert_codes.xml diff --git a/app/src/main/res/values-de-rDE/insight_alert_descriptions.xml b/insight/src/main/res/values-de-rDE/alert_descriptions.xml similarity index 78% rename from app/src/main/res/values-de-rDE/insight_alert_descriptions.xml rename to insight/src/main/res/values-de-rDE/alert_descriptions.xml index 0c3898ae14..830a0befa3 100644 --- a/app/src/main/res/values-de-rDE/insight_alert_descriptions.xml +++ b/insight/src/main/res/values-de-rDE/alert_descriptions.xml @@ -2,9 +2,7 @@ %1$d%%\nDauer: %2$s h]]> %1$s U]]> - Batterie wechseln. Datum/Uhrzeit einstellen. - Kontaktiere den Accu-Chek-Kundendienst. %1$d%%
Dauer: %2$s h]]>
%1$s U
Abgegeben: %2$s U]]>
Ampulle einsetzen. @@ -13,12 +11,9 @@ Pumpenstatus überprüfen. Infusionsset wechseln. Kontaktiere den Accu-Chek-Kundendienst. - Ampulle wechseln. Datenübertragung neu starten. - Pumpenstatus überprüfen. Batterietyp einstellen. Ampullentyp einstellen. Batterie und Ampulle wechseln. - Ampulle wechseln. Andere Sprache wählen.
diff --git a/app/src/main/res/values-de-rDE/insight_alert_titles.xml b/insight/src/main/res/values-de-rDE/alert_titles.xml similarity index 96% rename from app/src/main/res/values-de-rDE/insight_alert_titles.xml rename to insight/src/main/res/values-de-rDE/alert_titles.xml index 9e8083df57..8a4c2575f2 100644 --- a/app/src/main/res/values-de-rDE/insight_alert_titles.xml +++ b/insight/src/main/res/values-de-rDE/alert_titles.xml @@ -3,7 +3,6 @@ Bolusabgabe Versäumter Bolus Wecker - Infusionsset wechseln TBR abgeschlossen Ampulle fast leer Batterie fast leer diff --git a/app/src/main/res/values-de-rDE/insight_exceptions.xml b/insight/src/main/res/values-de-rDE/exceptions.xml similarity index 100% rename from app/src/main/res/values-de-rDE/insight_exceptions.xml rename to insight/src/main/res/values-de-rDE/exceptions.xml diff --git a/insight/src/main/res/values-de-rDE/strings.xml b/insight/src/main/res/values-de-rDE/strings.xml new file mode 100644 index 0000000000..be00de0eb5 --- /dev/null +++ b/insight/src/main/res/values-de-rDE/strings.xml @@ -0,0 +1,74 @@ + + + TBR-Vorrüber-Benachrichtigung aktivieren\n(Pumpeneinstellung) + TBR-Vorrüber-Benachrichtigung deaktivieren\n(Pumpeneinstellung) + Nicht gekoppelt + Erholen + Status + Erholungsdauer + Zuletzt verbunden + Pumpe starten + Pumpe stoppen + Gestartet + Gestoppt + Pausiert + Betriebsmodus + Pumpen-Integration für Accu-Chek Insight Pumpen + Nicht eingesetzt + TDD Bolus + TDD Basal + TDD Gesamt + %1$d%% für %2$d / %3$d min + Multiwave-Bolus + %1$.2f / %2$.2f IE für %3$d min + Geräte werden gesucht… + Kopplung abgeschlossen + Stimmen die Codes auf diesem Gerät und auf deiner Pumpe überein? + Insight Kopplung + Accu-Chek Insight + %1$.2f IE / %2$.2f IE abgegeben + %1$s: %2$s + Schlauch gewechselt + Sight + Insight Pumpenalarme + Vibrationen bei manueller Bolus-Abgabe deaktivieren + Für Boli und verlängerte Boli (nur mit Insight Firmware 3.x verfügbar) + Vibrationen bei automatischer Bolus-Abgabe deaktivieren + Für SMB und Temporäre Basalraten mit TBR Emulation (nur mit Insight Firmware 3.x verfügbar) + Zeitüberschreitung während des Handshakes - Bluetooth zurücksetzen + Pumpe gestoppt + Pumpe gestartet + Pumpe pausiert + Letzte Verb.: vor %1$d min + TBR: %1$d%% für %2$d / %3$d min + Verzögert: %1$.2f / %2$.2f IE für %3$d min. + Multiwave: %1$.2f / %2$.2f IE für %3$d min. + TDD: %1$.2f + Reser.: %1$.2f IE + Batt.: %1$d%% + Bestätigen + Stumm + Release-Softwareversion + UI-Prozessor-Softwareversion + PC-Prozessor-Softwareversion + MD-tel-Prozessor-Softwareversion + Sicherheits-Prozessor-Softwareversion + BT-Info-Page-Version + Bluetooth-Adresse + System-ID-Appendix + Herstellungsdatum + Kopplung aufheben + Katheterwechsel protokollieren + Reservoirwechsel aufzeichnen + Schlauchwechsel protokollieren + Batteriewechsel protokollieren + Wechsel des Betriebsmodus protokollieren + Alarme protokollieren + TBR-Emulation aktivieren + Verzögerte Boli an Stelle von TBRs verwenden, um die Beschränkung auf 250%% zu umgehen + Verbindungsabbau-Verzögerung [s] + Max. Erholungsdauer [s] + Min. Erholungsdauer [s] + Pumpenalarm + Kopplungsinformation + diff --git a/app/src/main/res/values-el-rGR/insight_alert_codes.xml b/insight/src/main/res/values-el-rGR/alert_codes.xml similarity index 100% rename from app/src/main/res/values-el-rGR/insight_alert_codes.xml rename to insight/src/main/res/values-el-rGR/alert_codes.xml diff --git a/app/src/main/res/values-el-rGR/insight_alert_descriptions.xml b/insight/src/main/res/values-el-rGR/alert_descriptions.xml similarity index 87% rename from app/src/main/res/values-el-rGR/insight_alert_descriptions.xml rename to insight/src/main/res/values-el-rGR/alert_descriptions.xml index 2e3a1ff8a8..229ab91334 100644 --- a/app/src/main/res/values-el-rGR/insight_alert_descriptions.xml +++ b/insight/src/main/res/values-el-rGR/alert_descriptions.xml @@ -2,7 +2,6 @@ %1$d%%\nΔιάρκεια:%2$sh]]> %1$s U]]> - Αλλαγή μπαταρίας. Ορίστε ώρα/ημερομηνία. Επικοινωνήστε με υποστήριξη Accu-Check. %1$d%%
Διάρκεια:%2$s h]]>
@@ -13,9 +12,7 @@ Ελέξτε κατάσταση αντλίας. Αλλαγή σετ έγχυσης. Επικοινωνήστε με υποστήριξη Accu-Chek. - Αλλαγή αμπούλας. Επανεκκίνηση λήψης δεδομένων. - Ελέξτε κατάσταση αντλίας. Ορίστε τύπο μπαταρίας. Ορίστε τύπο αμπούλας. Αλλάξτε μπαταρία και αμπούλα. diff --git a/app/src/main/res/values-el-rGR/insight_alert_titles.xml b/insight/src/main/res/values-el-rGR/alert_titles.xml similarity index 100% rename from app/src/main/res/values-el-rGR/insight_alert_titles.xml rename to insight/src/main/res/values-el-rGR/alert_titles.xml diff --git a/app/src/main/res/values-el-rGR/insight_exceptions.xml b/insight/src/main/res/values-el-rGR/exceptions.xml similarity index 100% rename from app/src/main/res/values-el-rGR/insight_exceptions.xml rename to insight/src/main/res/values-el-rGR/exceptions.xml diff --git a/insight/src/main/res/values-el-rGR/strings.xml b/insight/src/main/res/values-el-rGR/strings.xml new file mode 100644 index 0000000000..5f7f167a24 --- /dev/null +++ b/insight/src/main/res/values-el-rGR/strings.xml @@ -0,0 +1,67 @@ + + + Ενεργοποίηση ειδοποίησης TBR τέλος\n (ρύθμιση αντλίας) + Απενεργοποίηση ειδοποίησης TBR τέλος\n (ρύθμιση αντλίας) + Μη σύζευξη + Ανάκτηση + Κατάσταση + Διάρκεια αποκατάστασης + Τελευταία σύνδεση + Έναρξη αντλίας + Διακοπή αντλίας + Ξεκίνησε + Σταμάτησε + Παύση + Κατάσταση λειτουργίας + Ενσωμάτωση αντλίας για αντλίες Accu-Chek Insight + Δεν έχει εισαχθεί + TDD Bolus + TDD βασικός + TDD σύνολο + %1$d%% για %2$d / %3$d λεπτά + Συνδυαστικό bolus + %1$.2f / %2$.2f U για %3$d λεπτά + Αναζήτηση συσκευών… + Σύζευξη ολοκληρώθηκε + Ταιριάζουν οι εμφανιζόμενοι κωδικοί με αυτούς της αντλίας; + Σύζευξη Insight + Accu-Chek Insight + %1$s: %2$s + Σωληνάκι αλλάχθηκε + Sight + Τέλος χρόνου κατά τη διάρκεια handshake - επαναφορά bluetooth + Η αντλία σταμάτησε + Η αντλία ξεκίνησε + Παύση της αντλίας + Τελευταία σύνδεση: %1$d λεπτά πριν + TBR: %1$d%% για %2$d / %3$d λεπτά + Εκτεταμένο: %1$.2f / %2$.2f U για %3$d λεπτά + Συνδυαστικό: %1$.2f / %2$.2f U για %3$d λεπτά + TDD: %1$.2f + Μπατ.:%1$d%% + Επιβεβαίωση + Σίγαση + Απελευθέρωση έκδοση λογισμικού + Έκδοση λογισμικού επεξεργαστή UI + Έκδοση λογισμικού επεξεργαστή PC + Έκδοση λογισμικού επεξεργαστή MD tel + Έκδοση λογισμικού ασφαλείας επεξεργαστή + Έκδοση σελίδας πληροφοριών BT + Διεύθυνση Bluetooth + Σύστημα ID προσάρτημα + Ημερομηνία κατασκευής + Διαγραφή σύζευξης + Αλλαγές αρχείου καταγραφής + Αλλαγές αρχείου αμπούλας + Αλλαγές αρχείου σωλήνα + Αλλαγές αρχείου μπαταρίας + Αλλαγές αρχείου κατάστασης λειτουργίας + Τοπικές Ειδοποιήσεις + Ενεργοποίηση εξομοίωσης TBR + Χρησιμοποιείστε εκτεταμένα bolus αντί για TBR για παράκαμψη του ορίου 250%% + Αποσυνδέστε καθυστέρηση [s] + Μέγ. διάρκεια αποκατάστασης [s] + Ελάχ. διάρκεια αποκατάστασης [s] + Συναγερμός αντλίας + Πληροφορίεςσύζευξης + diff --git a/app/src/main/res/values-es-rES/insight_alert_codes.xml b/insight/src/main/res/values-es-rES/alert_codes.xml similarity index 100% rename from app/src/main/res/values-es-rES/insight_alert_codes.xml rename to insight/src/main/res/values-es-rES/alert_codes.xml diff --git a/app/src/main/res/values-es-rES/insight_alert_descriptions.xml b/insight/src/main/res/values-es-rES/alert_descriptions.xml similarity index 86% rename from app/src/main/res/values-es-rES/insight_alert_descriptions.xml rename to insight/src/main/res/values-es-rES/alert_descriptions.xml index 70a7d7ad92..2515d64037 100644 --- a/app/src/main/res/values-es-rES/insight_alert_descriptions.xml +++ b/insight/src/main/res/values-es-rES/alert_descriptions.xml @@ -4,7 +4,6 @@ %1$s U]]> Cambiar batería. Establecer fecha/hora. - Contacte con el soporte de Accu-Chek. %1$d%%
Duración: %2$s h]]>
%1$s U
Administrado: %2$s U]]>
Insertar reservorio. @@ -13,9 +12,7 @@ Comprobar estado del infusor. Cambiar set de infusión. Contacte con el soporte de Accu-Chek. - Cambiar reservorio. Reiniciar descarga de datos. - Comprobar estado del infusor. Establecer tipo de batería. Establecer tipo de reservorio. Cambiar pila y reservorio. diff --git a/app/src/main/res/values-es-rES/insight_alert_titles.xml b/insight/src/main/res/values-es-rES/alert_titles.xml similarity index 96% rename from app/src/main/res/values-es-rES/insight_alert_titles.xml rename to insight/src/main/res/values-es-rES/alert_titles.xml index ad6387d2d7..e6db8be79e 100644 --- a/app/src/main/res/values-es-rES/insight_alert_titles.xml +++ b/insight/src/main/res/values-es-rES/alert_titles.xml @@ -3,7 +3,6 @@ Poner bolo Bolos perdidos Reloj de alarma - Cambiar set de infusión TBR completada Reservorio bajo Pila baja diff --git a/app/src/main/res/values-es-rES/insight_exceptions.xml b/insight/src/main/res/values-es-rES/exceptions.xml similarity index 100% rename from app/src/main/res/values-es-rES/insight_exceptions.xml rename to insight/src/main/res/values-es-rES/exceptions.xml diff --git a/insight/src/main/res/values-es-rES/strings.xml b/insight/src/main/res/values-es-rES/strings.xml new file mode 100644 index 0000000000..d1e71d28a5 --- /dev/null +++ b/insight/src/main/res/values-es-rES/strings.xml @@ -0,0 +1,74 @@ + + + Activar notificación del final de TBR\n(configuración de bomba) + Desactivar notificación del final de TBR\n(configuración de bomba) + No emparejado + Recuperando + Estado + Duración de recuperación + Última conexión + Iniciar bomba + Detener bomba + Iniciado + Detenido + Pausado + Modo de funcionamiento + Integración de bomba para bombas Insight de Accu-Chek + No insertado + Bolus TDD + Basal TDD + Total TDD + %1$d%% durante %2$d / %3$d minutos + Bolus multionda + %1$.2f / %2$.2f U durante %3$d min + Buscando dispositivos… + Sincronización completada + ¿Coinciden los códigos mostrados en este dispositivo y en su infusor? + Insight sincronizada + Accu-Chek Insight + %1$.2f U / %2$.2f U entregado + %1$s: %2$s + Tubo cambiado + Sight + Alertas de bomba Insight + Desactivar vibraciones en la administración manual del bolo + Para bolo y bolo extendido (sólo disponible con el firmware de Insight 3.x) + Desactivar vibraciones en la administración automática del bolo + Para SMB y basal temp. con la emulación TBR (sólo disponible con el firmware de Insight 3.x) + Tiempo excedido durante el sacudido de mano - reiniciar bluetooth + Bomba parada + Bomba iniciada + Bomba pausada + Última conn: hace %1$d minutos + TBR: %1$d%% por %2$d / %3$d min + Multionda: %1$.2f / %2$.2f U durante %3$d min + Multionda: %1$.2f / %2$.2f U durante %3$d min + TDD: %1$.2f + Reser.: %1$.2f U + Batería.: %1$d%% + Confirmar + Silenciar + Versión de software + Versión de software de procesador de interfaz de usuario + Versión del software del procesador de PC + Versión softw. del procesador MD tel + Versión del software del procesador de seguridad + Versión de la página de BT + Dirección Bluetooth + Apéndice ID del sistema + Fecha de fabricación + Eliminar emparejamiento + Registro de cambios de cánulas + Registrar cambios de reservorio + Registro de cambio de tubo + Registro de cambio de bateria + Registro de cambio de modo de funcionamiento + Registro de alarmas + Activar emulación de dosis basal temporal + Usa bolos extendidos en lugar de TBRs para pasar por alto el límite de 250%% + Desconectar el retraso [s] + Max. duración de recuperación [s] + Min. duración de recuperación [s] + Alerta de infusor + Información de emparejamiento + diff --git a/app/src/main/res/values-fr-rFR/insight_alert_codes.xml b/insight/src/main/res/values-fr-rFR/alert_codes.xml similarity index 100% rename from app/src/main/res/values-fr-rFR/insight_alert_codes.xml rename to insight/src/main/res/values-fr-rFR/alert_codes.xml diff --git a/app/src/main/res/values-fr-rFR/insight_alert_descriptions.xml b/insight/src/main/res/values-fr-rFR/alert_descriptions.xml similarity index 72% rename from app/src/main/res/values-fr-rFR/insight_alert_descriptions.xml rename to insight/src/main/res/values-fr-rFR/alert_descriptions.xml index d025203353..c5864e0e65 100644 --- a/app/src/main/res/values-fr-rFR/insight_alert_descriptions.xml +++ b/insight/src/main/res/values-fr-rFR/alert_descriptions.xml @@ -4,21 +4,17 @@ %1$s U]]> Changer la batterie. Régler heure/date. - Contacter l\'assistance Accu-Check. %1$d%%
Durée : %2$s h]]>
- %1$s U
Délivré : %2$s U]]>
+ %1$s U
Délivrée: %2$s U]]>
Insérer le réservoir. Changer le réservoir. - Changer la batterie. + Remplacer la pile. Vérifier l\'état de la pompe. Remplacer le dispositif de perfusion. Contacter l\'assistance Accu-Check. - Changer le réservoir. Recommencer le transfert des données. - Vérifier l\'état de la pompe. Choisir le type de pile. Choisir le type de réservoir. Remplacer pile et réservoir. - Changer le réservoir. Changer la langue.
diff --git a/app/src/main/res/values-fr-rFR/insight_alert_titles.xml b/insight/src/main/res/values-fr-rFR/alert_titles.xml similarity index 84% rename from app/src/main/res/values-fr-rFR/insight_alert_titles.xml rename to insight/src/main/res/values-fr-rFR/alert_titles.xml index 99208f820e..d8aaf9caeb 100644 --- a/app/src/main/res/values-fr-rFR/insight_alert_titles.xml +++ b/insight/src/main/res/values-fr-rFR/alert_titles.xml @@ -1,13 +1,12 @@ Injecter le Bolus - Bolus oublié + Bolus manqués Réveil - Remplacer le dispositif de perfusion DBT terminé - Réservoir presque vide + Réservoir bas Batterie faible - Heure/date incorrectes + Date/heure invalides Fin de garantie DBT annulé Bolus annulé diff --git a/app/src/main/res/values-fr-rFR/insight_exceptions.xml b/insight/src/main/res/values-fr-rFR/exceptions.xml similarity index 100% rename from app/src/main/res/values-fr-rFR/insight_exceptions.xml rename to insight/src/main/res/values-fr-rFR/exceptions.xml diff --git a/insight/src/main/res/values-fr-rFR/strings.xml b/insight/src/main/res/values-fr-rFR/strings.xml new file mode 100644 index 0000000000..940054731b --- /dev/null +++ b/insight/src/main/res/values-fr-rFR/strings.xml @@ -0,0 +1,74 @@ + + + Activer la notification de la fin DBT\n(réglage de pompe) + Désactiver la notification de la fin de DBT\n(réglage de pompe) + Non appairé + Récupération en cours. + État + Durée de récupération + Dernière connexion + Démarrer la pompe + Arrêter la pompe + Démarré + Arrêté + En pause + Mode de fonctionnement + Intégration des pompes Accu-Chek Insight + Non inséré + DTI Bolus + DTI Basale + DTI Total + %1$d%% pour %2$d / %3$d min + Bolus mixte + %1$.2f / %2$.2f U pour %3$d min + Recherche d\'appareils en cours… + Appairage terminé + Les codes affichés sur cet appareil et sur la pompe sont-ils identiques ? + Appairage de Insight + Accu-Chek Insight + %1$.2f U / %2$.2f U délivrés + %1$s : %2$s + Tubulure changée + AC-I + Alertes Pompe Insight + Désactiver les vibrations des bolus manuels + Concerne les bolus et bolus étendus (disponible uniquement pour les firmwares 3.x) + Désactiver les vibrations des bolus automatiques + Concerne les SMB et les basal temp avec émulation DBT (disponible uniquement pour les firmwares 3.x) + Expiration pendant l\'appairage - réinitialiser le Bluetooth + Pompe arrêtée + Pompe démarrée + Pompe suspendue + Dernière conn : il y a %1$d min + DBT : %1$d%% pour %2$d / %3$d min + Étendue : %1$.2f / %2$.2f U pour %3$d min + Mixte : %1$.2f / %2$.2f U pour %3$d min + DTI : %1$.2f + Réserv.: %1$.2f U + Batt.: %1$d%% + Confirmer + Coupure son + Version du logiciel + Version du logiciel de processeur UI + Version du logiciel du processeur PC + Version du logiciel MD tel processeur + Version logicielle du processeur de sécurité + Version de la page d\'info BT + Adresse Bluetooth + Annexe ID Système + Date de fabrication + Supprimer l’appairage + Enreg. changement de site + Enreg. changement de réservoir + Enreg. changement de tubulure + Enreg. changement batterie + Enreg. changement mode de fonctionnement + Enreg. alertes + Activer l’émulation de DBT + Utilisez des Bolus étendus au lieu de DBTs pour contourner la limite de 250%% + Délai de déconnexion [s] + Durée max. de récupération [s] + Durée min. de récupération [s] + Alerte de la pompe + Information sur l’appairage + diff --git a/app/src/main/res/values-ja-rJP/insight_alert_descriptions.xml b/insight/src/main/res/values-ga-rIE/alert_codes.xml similarity index 100% rename from app/src/main/res/values-ja-rJP/insight_alert_descriptions.xml rename to insight/src/main/res/values-ga-rIE/alert_codes.xml diff --git a/app/src/main/res/values-ja-rJP/insight_alert_titles.xml b/insight/src/main/res/values-ga-rIE/alert_descriptions.xml similarity index 100% rename from app/src/main/res/values-ja-rJP/insight_alert_titles.xml rename to insight/src/main/res/values-ga-rIE/alert_descriptions.xml diff --git a/app/src/main/res/values-ja-rJP/insight_exceptions.xml b/insight/src/main/res/values-ga-rIE/alert_titles.xml similarity index 100% rename from app/src/main/res/values-ja-rJP/insight_exceptions.xml rename to insight/src/main/res/values-ga-rIE/alert_titles.xml diff --git a/app/src/main/res/values-sl-rSI/insight_alert_codes.xml b/insight/src/main/res/values-ga-rIE/exceptions.xml similarity index 100% rename from app/src/main/res/values-sl-rSI/insight_alert_codes.xml rename to insight/src/main/res/values-ga-rIE/exceptions.xml diff --git a/insight/src/main/res/values-ga-rIE/strings.xml b/insight/src/main/res/values-ga-rIE/strings.xml new file mode 100644 index 0000000000..28a4614bb0 --- /dev/null +++ b/insight/src/main/res/values-ga-rIE/strings.xml @@ -0,0 +1,18 @@ + + + Stádas + Thosaigh + TDD Bólas + TDD Bunaidh + TDD Lomlán + %1$.2f / %2$.2f A do %3$d nom + Accu-Chek Insight + %1$.2f A / %2$.2f A seachadta + %1$s: %2$s + Caidéil stopadh + Caidéil tosú + Caidéil ar sos + TDD: %1$.2f + Ceal.: %1$d%% + Balbh + diff --git a/app/src/main/res/values-sl-rSI/insight_alert_descriptions.xml b/insight/src/main/res/values-hr-rHR/alert_codes.xml similarity index 100% rename from app/src/main/res/values-sl-rSI/insight_alert_descriptions.xml rename to insight/src/main/res/values-hr-rHR/alert_codes.xml diff --git a/app/src/main/res/values-sl-rSI/insight_alert_titles.xml b/insight/src/main/res/values-hr-rHR/alert_descriptions.xml similarity index 100% rename from app/src/main/res/values-sl-rSI/insight_alert_titles.xml rename to insight/src/main/res/values-hr-rHR/alert_descriptions.xml diff --git a/app/src/main/res/values-sl-rSI/insight_exceptions.xml b/insight/src/main/res/values-hr-rHR/alert_titles.xml similarity index 100% rename from app/src/main/res/values-sl-rSI/insight_exceptions.xml rename to insight/src/main/res/values-hr-rHR/alert_titles.xml diff --git a/app/src/main/res/values-tr-rTR/insight_alert_codes.xml b/insight/src/main/res/values-hr-rHR/exceptions.xml similarity index 100% rename from app/src/main/res/values-tr-rTR/insight_alert_codes.xml rename to insight/src/main/res/values-hr-rHR/exceptions.xml diff --git a/app/src/main/res/values-tr-rTR/insight_alert_titles.xml b/insight/src/main/res/values-hr-rHR/strings.xml similarity index 100% rename from app/src/main/res/values-tr-rTR/insight_alert_titles.xml rename to insight/src/main/res/values-hr-rHR/strings.xml diff --git a/app/src/main/res/values-it-rIT/insight_alert_codes.xml b/insight/src/main/res/values-it-rIT/alert_codes.xml similarity index 100% rename from app/src/main/res/values-it-rIT/insight_alert_codes.xml rename to insight/src/main/res/values-it-rIT/alert_codes.xml diff --git a/app/src/main/res/values-it-rIT/insight_alert_descriptions.xml b/insight/src/main/res/values-it-rIT/alert_descriptions.xml similarity index 100% rename from app/src/main/res/values-it-rIT/insight_alert_descriptions.xml rename to insight/src/main/res/values-it-rIT/alert_descriptions.xml diff --git a/app/src/main/res/values-it-rIT/insight_alert_titles.xml b/insight/src/main/res/values-it-rIT/alert_titles.xml similarity index 100% rename from app/src/main/res/values-it-rIT/insight_alert_titles.xml rename to insight/src/main/res/values-it-rIT/alert_titles.xml diff --git a/app/src/main/res/values-it-rIT/insight_exceptions.xml b/insight/src/main/res/values-it-rIT/exceptions.xml similarity index 100% rename from app/src/main/res/values-it-rIT/insight_exceptions.xml rename to insight/src/main/res/values-it-rIT/exceptions.xml diff --git a/insight/src/main/res/values-it-rIT/strings.xml b/insight/src/main/res/values-it-rIT/strings.xml new file mode 100644 index 0000000000..96fd8d02e4 --- /dev/null +++ b/insight/src/main/res/values-it-rIT/strings.xml @@ -0,0 +1,74 @@ + + + Abilita notifica di fine TBR\n(impostazione micro) + Disabilita notifica di fine TBR\n(impostazione micro) + Non associato + Recupero + Stato + Durata recupero + Ultima connessione + Avvia micro + Stoppa micro + Avviato + Stoppato + In pausa + Modalità operativa + Integrazione del microinfusore Accu-Chek Insight + Non inserito + TDD da bolo + TDD da basale + TDD totale + %1$d%% per %2$d / %3$d min + Bolo multiwave + %1$.2f / %2$.2f U per %3$d min + Ricerca dispositivi… + Associazione completata + I codici mostrati su questo dispositivo e sul micro combaciano? + Associazione Insight + Accu-Chek Insight + %1$.2f U / %2$.2f U erogato + %1$s: %2$s + Catetere sostituito + Sight + Avvisi micro Insight + Erogazione bolo manuale: disabilita vibrazioni + Per bolo e bolo esteso (disponibile solo con firmware Insight 3.x) + Erogazione bolo automatica: disabilita vibrazioni + Per SMB e basale temporanea con emulazione TBR (disponibile solo con firmware Insight 3.x) + Timeout durante la connessione - riavvia il bluetooth + Micro stoppato + Micro avviato + Micro in pausa + Ultima conn: %1$d min fa + TBR: %1$d%% per %2$d / %3$d min + Esteso: %1$.2f / %2$.2f U per %3$d min + Multiwave: %1$.2f / %2$.2f U per %3$d min + TDD: %1$.2f + Serb.: %1$.2f U + Batt: %1$d%% + Conferma + Muto + Versione Release software + Versione UI processor software + Versione PC processor software + Versione MD tel processor software + Versione Safety processor software + Versione BT info page + Indirizzo bluetooth + Appendice ID sistema + Data di produzione + Elimina associazione + Registra cambi posizione + Registra cambi serbatoio + Registra cambi catetere + Registra cambi batteria + Registra cambi modalità operativa + Registra avvisi + Abilita emulazione TBR + Usa i bolli estesi invece dei TBR per aggirare il limite del 250%% + Ritardo disconnessione [s] + Max. durata recupero [s] + Min. durata recupero [s] + Avviso micro + Informazioni associazione + diff --git a/app/src/main/res/values-iw-rIL/insight_alert_codes.xml b/insight/src/main/res/values-iw-rIL/alert_codes.xml similarity index 100% rename from app/src/main/res/values-iw-rIL/insight_alert_codes.xml rename to insight/src/main/res/values-iw-rIL/alert_codes.xml diff --git a/insight/src/main/res/values-iw-rIL/alert_descriptions.xml b/insight/src/main/res/values-iw-rIL/alert_descriptions.xml new file mode 100644 index 0000000000..a110aca5d8 --- /dev/null +++ b/insight/src/main/res/values-iw-rIL/alert_descriptions.xml @@ -0,0 +1,24 @@ + + + %1$d%%\nמשך: %2$s ש\']]> + %1$s יח\']]> + החליפו סוללה. + הגדרת זמן\\תאריך. + צור קשר עם תמיכת Accu-Chek. + %1$d%%
משך: %2$s ש\']]>
+ %1$s יח\'
כמות שניתנה: %2$s יח\']]>
+ הכניסו מכל. + החליפו מכל. + החליפו סוללה. + בדקו סטטוס משאבה. + החליפו צינורית. + צרו קשר עם תמיכת Accu-Chek. + החליפו מכל. + הפעילו מחדש את הורדת הנתונים. + בדקו סטטוס משאבה. + קבעו סוג סוללה. + קבע סוג מכל. + החליפו סוללה ומכל. + החליפו מכל. + שנו שפה. +
diff --git a/app/src/main/res/values-iw-rIL/insight_alert_titles.xml b/insight/src/main/res/values-iw-rIL/alert_titles.xml similarity index 75% rename from app/src/main/res/values-iw-rIL/insight_alert_titles.xml rename to insight/src/main/res/values-iw-rIL/alert_titles.xml index cfbe5d5f5b..0b01de7180 100644 --- a/app/src/main/res/values-iw-rIL/insight_alert_titles.xml +++ b/insight/src/main/res/values-iw-rIL/alert_titles.xml @@ -2,28 +2,28 @@ הזרק בולוס בולוס הוחמץ - תזכורת + שעון מעורר החלף פרפרית בזאלי זמני הסתיים מכל מתרוקן סוללה חלשה - תאריך/זמן לא תקין + תאריך\\זמן לא תקין תמה תקופת האחריות בזאלי זמני בוטל בולוס בוטל אזהרת זמן השאלה - מכל לא הוכנס - מיכל ריק + המכל לא הוכנס + מכל ריק סוללה ריקה - כיבוי אוטומטי - משאבה נעצרה + כיבוי אוטומטי - המשאבה נעצרה חסימה - נגמרה תקופת ההשאלה - סיום פעולה - החלפת מיכל לא הושלמה + נגמרה תקופת ההשאלה - סיום פעילות + החלפת המכל לא הושלמה הורדת הנתונים נכשלה מצב השהייה הסתיים סוג הסוללה לא נקבע סוג המיכל לא נקבע - תקלה מכנית + תקלה מכאנית תקלה בהחזרת הבוכנה לאחור תקלת שפה diff --git a/app/src/main/res/values-iw-rIL/insight_exceptions.xml b/insight/src/main/res/values-iw-rIL/exceptions.xml similarity index 90% rename from app/src/main/res/values-iw-rIL/insight_exceptions.xml rename to insight/src/main/res/values-iw-rIL/exceptions.xml index 4524b2d472..d01a12a845 100644 --- a/app/src/main/res/values-iw-rIL/insight_exceptions.xml +++ b/insight/src/main/res/values-iw-rIL/exceptions.xml @@ -9,6 +9,6 @@ לא קיים בזאלי זמני לביטול לא קיים בזאלי זמני לשינוי לא קיים בולוס לביטול - משאבה כבר במצב זה + המשאבה כבר במצב זה מצב הפעלה לא מורשה
diff --git a/insight/src/main/res/values-iw-rIL/strings.xml b/insight/src/main/res/values-iw-rIL/strings.xml new file mode 100644 index 0000000000..1c5eed6792 --- /dev/null +++ b/insight/src/main/res/values-iw-rIL/strings.xml @@ -0,0 +1,74 @@ + + + אפשר התראה על סיום בזאלי זמני\n(הגדרת משאבה) + השבת התראה על סיום בזאלי זמני\n(הגדרת משאבה) + לא מצומד + משחזר + סטטוס + משך שחזור + התחברות אחרונה + הפעל משאבה + עצור משאבה + החל + נעצר + מושהה + מצב פעולה + חיבור משאבת Accu-Chek Insight + לא הוכנס + מינון בולוס יומי מצטבר + מינון בזאלי יומי מצטבר + מינון יומי מצטבר כולל + %1$d%% למשך %2$d/%3$d דק\' + בולוס רב שלבי + %1$.2f / %2$.2f יח\' במשך %3$d דק\' + מחפש התקנים… + הצימוד הושלם + האם הקודים המוצגים בהתקן זה ובמשאבה זהים? + צימוד Insight + Accu-Chek Insight + %1$.2f יח\' מתוך %2$.2f יח\' הוזרקו + %1$s: %2$s + הצינורית הוחלפה + Insight + התראות משאבת Insight + ביטול רטט בעת הזרקת בולוס ידנית + עבור בולוס רגיל וממושך (זמין רק עם קושחה 3.x של משאבת Insight) + ביטול רטט בעת הזרקת בולוס אוטומטית + עבור SMB ובזאלי זמני עם הדמייה (זמינה רק עם Insight עם קושחה גרסה 3 ומעלה) + מגבלת זמן במהלך לחיצת יד - אתחול בלוטות\' + המשאבה נעצרה + המשאבה הופעלה + המשאבה הושהתה + חיבור אחרון: לפני %1$d דק\' + בזאלי זמני: %1$d%% במשך %2$d / %3$d דק\' + בולוס ממושך: %1$.2f / %2$.2f יח\'\ במשך %3$d דקות + בולוס רב שלבי: %1$.2f / %2$.2f יח\' למשך %3$d דק\' + מינון כולל: %1$.2f + מכל: %1$.2f יח\' + סול\': %1$d%% + אישור + השתק + גרסת תוכנה + גרסת תוכנת מעבד הממשק + גרסת תוכנת מעבד המחשב + גרסת תוכנת עיבוד MD tel + גרסת תוכנת עיבוד בטיחות + גרסת דף מידע בלוטות\' + כתובת בלוטות\' + נספח זהות מערכת + תאריך ייצור + מחיקת צימוד + רישום החלפת אתר עירוי + רישום החלפת מכל + רישום החלפת צינורית + רישום החלפת סוללה + רישום שינויים במצב הפעלה + רישום התראות + הפעלת הדמיית בזאלי זמני + השתמש בבולוס ממושך במקום בזאלים זמניים לעקיפת הגבלת ה-250% + עיכוב הניתוק [s] + משך זמן התאוששות מקסימלי [s] + משך זמן התאוששות מינימלי [s] + התראת משאבה + פרטי צימוד + diff --git a/app/src/main/res/values-ko-rKR/insight_alert_codes.xml b/insight/src/main/res/values-ko-rKR/alert_codes.xml similarity index 100% rename from app/src/main/res/values-ko-rKR/insight_alert_codes.xml rename to insight/src/main/res/values-ko-rKR/alert_codes.xml diff --git a/app/src/main/res/values-ko-rKR/insight_alert_descriptions.xml b/insight/src/main/res/values-ko-rKR/alert_descriptions.xml similarity index 83% rename from app/src/main/res/values-ko-rKR/insight_alert_descriptions.xml rename to insight/src/main/res/values-ko-rKR/alert_descriptions.xml index 1eaf1759ab..6687bd33e6 100644 --- a/app/src/main/res/values-ko-rKR/insight_alert_descriptions.xml +++ b/insight/src/main/res/values-ko-rKR/alert_descriptions.xml @@ -4,7 +4,6 @@ %1$s U]]> 베터리 교체. 시간/날짜 설정 - 아큐-첵 지원 문의 %1$d%%
기간: %2$s h]]>
%1$s U
주입: %2$s U]]>
카트리지를 삽입. @@ -13,12 +12,9 @@ 펌프 상태를 체크. 주입세트를 교체. 아큐-첵 지원 문의 - 카트리지를 교체. 데이터 다운로드 재시작 - 펌프 상태를 체크. 베터리 타입 설정. 카트리지 타입 설정. 베터리와 카트리지를 교체. - 카트리지를 교체. 언어 변경.
diff --git a/app/src/main/res/values-ko-rKR/insight_alert_titles.xml b/insight/src/main/res/values-ko-rKR/alert_titles.xml similarity index 96% rename from app/src/main/res/values-ko-rKR/insight_alert_titles.xml rename to insight/src/main/res/values-ko-rKR/alert_titles.xml index ca4cf3ddde..0a675c63ce 100644 --- a/app/src/main/res/values-ko-rKR/insight_alert_titles.xml +++ b/insight/src/main/res/values-ko-rKR/alert_titles.xml @@ -3,7 +3,6 @@ Bolus 주입. Bolus 누락 알람 시계 - 주입세트를 교체 TBR 완료 카트리지 부족 베터리 부족 diff --git a/app/src/main/res/values-ko-rKR/insight_exceptions.xml b/insight/src/main/res/values-ko-rKR/exceptions.xml similarity index 100% rename from app/src/main/res/values-ko-rKR/insight_exceptions.xml rename to insight/src/main/res/values-ko-rKR/exceptions.xml diff --git a/insight/src/main/res/values-ko-rKR/strings.xml b/insight/src/main/res/values-ko-rKR/strings.xml new file mode 100644 index 0000000000..723469bd12 --- /dev/null +++ b/insight/src/main/res/values-ko-rKR/strings.xml @@ -0,0 +1,67 @@ + + + 임시Basal 종료 알림 활성\n(펌프설정) + 임시Basal 종료 알림 비활성\n(펌프설정) + 동기화 되지 않음 + 복구중 + 상태 + 복구 기간 + 최신 연결 + 펌프 시작 + 펌프 중지 + 시작됨 + 중지됨 + 일시중지 + 작동 모드 + 아큐-첵 Insight 펌프 연동 + 삽입되지 않음 + TDD Bolus + TDD Basal + TDD Total + %2$d / %3$d분 동안 %1$d%% + Multiwave Bolus + %3$d분 동안 %1$.2f / %2$.2f U + 장치 검색중... + 동기화 완료 + 이 장치에서 보여지는 코드와 펌프에서 보여지는 코드가 동일한가요? + Insight와 동기화 + 아큐-첵 Insight + %1$s: %2$s + 튜브 변경 + Sight + 연결 시간 초과 - 블루투스 재설정 + 펌프 중지 + 펌프 시작 + 펌프 일시중지 + 최신연결: %1$d 분전 + 임시: %2$d / %3$d 분 동안 %1$d%% + 확장: %3$d분 동안 %1$.2f / %2$.2f U + Multiwave: %3$d 분 동안 %1$.2f / %2$.2f U + TDD: %1$.2f + Batt.: %1$d%% + 확인 + 음소거 + 출시 소프트웨어 버전 + UI 프로세서 소프트웨어 버전 + PC 프로세서 소프트웨어 버전 + MD tel 프로세서 소프트웨어 버전 + 안전 프로세서 소프트웨어 버전 + 블루투스 정보 페이지 버전 + 블루투스 주소 + 시스템 ID 부록 + 제조일 + 동기화 삭제 + 위치 변경 기록 + 주사기 교체 기록 + 튜브 교체 기록 + 배터리 교체 기록 + 작동 모드 변경 기록 + 경고 기록 + 임시Basal 에뮬레이션 활성화 + 250%% 제한을 무시하기 위해 임시Basal 대신 확정Boluses 사용 + 연결해제 지연 [초] + 최대 재연결 시간 [초] + 최소 재연결 시간 [초] + 펌프 경고 + 동기화 정보 + diff --git a/app/src/main/res/values-lt-rLT/insight_alert_codes.xml b/insight/src/main/res/values-lt-rLT/alert_codes.xml similarity index 100% rename from app/src/main/res/values-lt-rLT/insight_alert_codes.xml rename to insight/src/main/res/values-lt-rLT/alert_codes.xml diff --git a/app/src/main/res/values-lt-rLT/insight_alert_descriptions.xml b/insight/src/main/res/values-lt-rLT/alert_descriptions.xml similarity index 78% rename from app/src/main/res/values-lt-rLT/insight_alert_descriptions.xml rename to insight/src/main/res/values-lt-rLT/alert_descriptions.xml index 4c5d7e5b0f..bb70b971c9 100644 --- a/app/src/main/res/values-lt-rLT/insight_alert_descriptions.xml +++ b/insight/src/main/res/values-lt-rLT/alert_descriptions.xml @@ -2,9 +2,7 @@ %1$d%%\nTrukmė: %2$s h]]> %1$s U]]> - Pakeiskite bateriją. Nustatykite laiką/datą. - Kreipkitės į Accu-Chek palaikymo tarnybą. %1$d%%
Trukmė: %2$s h]]>
%1$s U
Suleista: %2$s U]]>
Įdėkite rezervuarą. @@ -13,12 +11,9 @@ Patikrinkite pompos būseną. Pakeiskite infuzijos rinkinį. Kreipkitės į Accu-Chek palaikymo tarnybą. - Pakeiskite rezervuarą. Iš naujo paleiskite duomenų atsisiuntimą. - Patikrinkite pompos būseną. Nustatykite baterijos tipą. Nustatykite rezervuaro tipą. Pakeiskite bateriją ir rezervuarą. - Pakeiskite rezervuarą. Pakeiskite kalbą.
diff --git a/app/src/main/res/values-lt-rLT/insight_alert_titles.xml b/insight/src/main/res/values-lt-rLT/alert_titles.xml similarity index 100% rename from app/src/main/res/values-lt-rLT/insight_alert_titles.xml rename to insight/src/main/res/values-lt-rLT/alert_titles.xml diff --git a/app/src/main/res/values-lt-rLT/insight_exceptions.xml b/insight/src/main/res/values-lt-rLT/exceptions.xml similarity index 100% rename from app/src/main/res/values-lt-rLT/insight_exceptions.xml rename to insight/src/main/res/values-lt-rLT/exceptions.xml diff --git a/insight/src/main/res/values-lt-rLT/strings.xml b/insight/src/main/res/values-lt-rLT/strings.xml new file mode 100644 index 0000000000..a01feab469 --- /dev/null +++ b/insight/src/main/res/values-lt-rLT/strings.xml @@ -0,0 +1,74 @@ + + + Įjungti pranešimus apie LBD pabaigą\n(pompos nustatymai) + Išjungti pranešimus apie LBD pabaigą\n(pompos nustatymai) + Nesusieta + Atstatoma + Būsena + Atkūrimo trukmė + Paskutinis prisijungimas + Paleisti pompą + Sustabdyti pompą + Pradžia + Sustabdyta + Pristabdyta + Darbinis režimas + Accu-Chek Insight pompos integracija + Neįvestas + BPD bolusai + BPD bazė + BPD viso + %1$d%% - %2$d / %3$d min + Daugiabangis bolusas + %1$.2f / %2$.2f vv per %3$d min + Ieškoma įrenginių… + Sujungimas sėkmingas + Ar kodas, kurį matote įrenginyje, sutampa su pompos kodu? + Insight sujungimas + Accu-Chek Insight + %1$.2f vv iš %2$.2f vv suleista + %1$s: %2$s + Kateteris pakeistas + Sight + Insight pompos aliarmai + Išjungti vibracijas rankinio boluso suleidimo metu + Bolusui ir ištęstam bolusui (tik su Insight programinės įrangos 3.x versija) + Išjungti vibracijas automatinio boluso suleidimo metu + SMB ir laikinai valandinei bazei su TBR emuliacija (tik Insight su programinės įrangos versija 3.x) + Ryšio užmezgimui skirtas laikas baigėsi - iš naujo nustatykite bluetooth + Pompa sustabdyta + Pompa paleista + Pompa pristabdyta + Paskutinis prisijungimas: prieš %1$d min + LBD: %1$d%% - %2$d / %3$d min + Ištęstas: %1$.2f / %2$.2f V %3$d min + Daugiabangis: %1$.2f / %2$.2f vv %3$d min + BPD: %1$.2f + Rez.: %1$.2f vv + Bat.: %1$d%% + Patvirtinti + Nutildyti + Išleistos programinės įrangos versija + UI procesoriaus programinės įrangos versija + PC procesoriaus programinės įrangos versija + MD tel procesoriaus programinės įrangos versija + Saugos procesoriaus programinės įrangos versija + BT info puslapio versija + Bluetooth adresas + Sistemos ID priedėlis + Pagaminimo data + Panaikinti sąsają + Įrašyti adatos pakeitimą + Įrašyti rezervuaro keitimus + Įrašyti infuzijos vamzdelio pakeitimą + Įrašyti baterijos pakeitimą + Įrašyti darbo režimo pakeitimus + Įrašyti įspėjimus + Aktyvuoti LBD emuliaciją + Naudoti ištęstinius bolusus vietoj laikinos bazės, kai viršijama 250%% riba + Atjungimo vėlavimas [s] + Didž. atkūrimo trukmė [s] + Min. atkūrimo trukmė [s] + Pompos aliarmas + Sąsajos informacija + diff --git a/app/src/main/res/values-nl-rNL/insight_alert_codes.xml b/insight/src/main/res/values-nl-rNL/alert_codes.xml similarity index 100% rename from app/src/main/res/values-nl-rNL/insight_alert_codes.xml rename to insight/src/main/res/values-nl-rNL/alert_codes.xml diff --git a/app/src/main/res/values-nl-rNL/insight_alert_descriptions.xml b/insight/src/main/res/values-nl-rNL/alert_descriptions.xml similarity index 83% rename from app/src/main/res/values-nl-rNL/insight_alert_descriptions.xml rename to insight/src/main/res/values-nl-rNL/alert_descriptions.xml index f3a1fa3e25..37cf984a5e 100644 --- a/app/src/main/res/values-nl-rNL/insight_alert_descriptions.xml +++ b/insight/src/main/res/values-nl-rNL/alert_descriptions.xml @@ -4,7 +4,6 @@ %1$s E]]> Wissel batterij. Stel tijd/datum in. - Contacteer Accu-Chek klantenservice. %1$d%%
Duur: %2$s uur]]>
%1$s E
Toegediend: %2$s E]]>
Plaats ampul. @@ -13,12 +12,9 @@ Controleer pompstatus. Vervang infuusset. Contacteer Accu-Chek klantenservice. - Vervang ampul. Start downloaden gegevens opnieuw. - Controleer pompstatus. Stel type batterij in. Stel type ampul in. Vervang batterij en ampul. - Vervang ampul. Wijzig taal.
diff --git a/app/src/main/res/values-nl-rNL/insight_alert_titles.xml b/insight/src/main/res/values-nl-rNL/alert_titles.xml similarity index 96% rename from app/src/main/res/values-nl-rNL/insight_alert_titles.xml rename to insight/src/main/res/values-nl-rNL/alert_titles.xml index 4210352e5a..8f6b00918f 100644 --- a/app/src/main/res/values-nl-rNL/insight_alert_titles.xml +++ b/insight/src/main/res/values-nl-rNL/alert_titles.xml @@ -3,7 +3,6 @@ Bolus toedienen Gemiste Bolus Wekkerfunctie - Vervang infuusset TBR einde Ampul bijna leeg Batterij bijna leeg diff --git a/app/src/main/res/values-nl-rNL/insight_exceptions.xml b/insight/src/main/res/values-nl-rNL/exceptions.xml similarity index 100% rename from app/src/main/res/values-nl-rNL/insight_exceptions.xml rename to insight/src/main/res/values-nl-rNL/exceptions.xml diff --git a/insight/src/main/res/values-nl-rNL/strings.xml b/insight/src/main/res/values-nl-rNL/strings.xml new file mode 100644 index 0000000000..745c89b32c --- /dev/null +++ b/insight/src/main/res/values-nl-rNL/strings.xml @@ -0,0 +1,74 @@ + + + Activeer melding van TBR eind\n(pomp instelling) + Deactiveer melding van TBR eind\n(pomp instelling) + Niet gekoppeld + Herstellen + Status + Herstel duur + Laatste verbinding + Start pomp + Stop pomp + Gestart + Gestopt + Gepauzeerd + Werkingsmodus + Pomp integratie voor Accu-Chek Insight pompen + Niet geplaatst + TDD Bolus + TDD Basaal + TDD Totaal + %1$d%% gedurende %2$d / %3$d min + Multiwave-Bolus + %1$.2f / %2$.2f U gedurende %3$d min + Bezig met zoeken naar apparaten… + Koppeling voltooid + Worden dezelfde codes weergegeven op dit apparaat als op je pomp? + Insight koppelen + Accu-Chek Insight + %1$.2f E / %2$.2f E toegediend + %1$s: %2$s + Slang vervangen + Insight + Insight pomp waarschuwingen + Trillen uitschakelen bij handmatige bolus toediening + Voor bolus en verlengde bolus (alleen mogelijk voor Insight firmware 3.x) + Trillen uitschakelen bij automatische bolus toediening + Voor SMB en tijdelijke basalen met TBR emulatie (alleen mogelijk voor Insight firmware 3.x) + Time-out tijdens verbinden - reset bluetooth + Pomp gestopt + Pomp gestart + Pomp gepauzeerd + Laatste conn: %1$d min geleden + TBR: %1$d%% gedurende %2$d / %3$d min + Vertraagd: %1$.2f / %2$.2f U gedurende %3$d min + Multiwave: %1$.2f / %2$.2f E gedurende %3$d min + TDD: %1$.2f + Reservoir: %1$.2f E + Batt.: %1$d%% + Bevestig + Geluid dempen + Release softwareversie + UI processor softwareversie + PC processor softwareversie + MD tel processor softwareversie + Veiligheids processor softwareversie + BT infopagina versie + Bluetooth-adres + Systeem ID bijlage + Fabricage datum + Koppeling verwijderen + Infuuswissel noteren + Reservoir wissels noteren + Slangwissel noteren + Batterijwissel noteren + Werkingsmodus-wissel noteren + Alarmen noteren + TBR-emulatie inschakelen + Gebruik vertraagde bolus ipv TBRs om de limiet van 250%% te omzeilen + Verbindingsvertraging [s] + Max. herstel duur [s] + Min. herstel duur [s] + Pomp alarm + Koppelingsinformatie + diff --git a/app/src/main/res/values-no-rNO/insight_alert_codes.xml b/insight/src/main/res/values-no-rNO/alert_codes.xml similarity index 96% rename from app/src/main/res/values-no-rNO/insight_alert_codes.xml rename to insight/src/main/res/values-no-rNO/alert_codes.xml index 39e7860fc9..c8c3ce9445 100644 --- a/app/src/main/res/values-no-rNO/insight_alert_codes.xml +++ b/insight/src/main/res/values-no-rNO/alert_codes.xml @@ -10,7 +10,7 @@ Advarsel W33 Advarsel W34 Advarsel W36 - 8Advarsel W38 + Advarsel W38 Advarsel W39 Vedlikehold M20 Vedlikehold M21 diff --git a/app/src/main/res/values-no-rNO/insight_alert_descriptions.xml b/insight/src/main/res/values-no-rNO/alert_descriptions.xml similarity index 95% rename from app/src/main/res/values-no-rNO/insight_alert_descriptions.xml rename to insight/src/main/res/values-no-rNO/alert_descriptions.xml index 683042025e..7297aba0cf 100644 --- a/app/src/main/res/values-no-rNO/insight_alert_descriptions.xml +++ b/insight/src/main/res/values-no-rNO/alert_descriptions.xml @@ -3,7 +3,7 @@ %1$d%%\nVarighet: %2$s t]]> %1$s E]]> Bytt batteri. - Angi tidspunkt/dato. + Angi tid/dato. Kontakt Accu-Chek kundestøtte. %1$d%%
\nVarighet: %2$s t]]>
%1$s E
Levert: %2$s E]]>
diff --git a/app/src/main/res/values-no-rNO/insight_alert_titles.xml b/insight/src/main/res/values-no-rNO/alert_titles.xml similarity index 86% rename from app/src/main/res/values-no-rNO/insight_alert_titles.xml rename to insight/src/main/res/values-no-rNO/alert_titles.xml index c9feb15ccb..07d0db110a 100644 --- a/app/src/main/res/values-no-rNO/insight_alert_titles.xml +++ b/insight/src/main/res/values-no-rNO/alert_titles.xml @@ -1,12 +1,12 @@ - Tilfør bolus - Manglende bolus + Lever bolus + Tapt bolus Alarmklokke Bytt infusjonssett Midlertidig basaldose fullført Lavt ampulleinnhold - Batteri lavt + Lavt batteri Ugyldig klokkeslett/dato Slutt på garanti Midlertidig basaldose avbrutt @@ -16,7 +16,7 @@ Ampulle tom Batteri tomt Automatisk av - pumpe stoppet - Tilstopping + Okklusjon Lånetid over - drift stoppes Bytte av ampulle ikke fullført Nedlasting av data mislyktes diff --git a/app/src/main/res/values-no-rNO/insight_exceptions.xml b/insight/src/main/res/values-no-rNO/exceptions.xml similarity index 94% rename from app/src/main/res/values-no-rNO/insight_exceptions.xml rename to insight/src/main/res/values-no-rNO/exceptions.xml index 461bcf6c7c..a072e811c0 100644 --- a/app/src/main/res/values-no-rNO/insight_exceptions.xml +++ b/insight/src/main/res/values-no-rNO/exceptions.xml @@ -5,7 +5,7 @@ Sammenkobling avvist Mislykket opprettelse av socket tilkobling Tidsavbrudd - Maksimalt antall bolusdoser som allerede går + Maksimalt antall bolustyper som allerede går Ingen aktiv midlertidig basaldose å kansellere Ingen aktiv midlertidig basaldose å endre Ingen slik bolus til å avbryte diff --git a/insight/src/main/res/values-no-rNO/strings.xml b/insight/src/main/res/values-no-rNO/strings.xml new file mode 100644 index 0000000000..6ef3826240 --- /dev/null +++ b/insight/src/main/res/values-no-rNO/strings.xml @@ -0,0 +1,74 @@ + + + Aktiver varsel når slutt på temp basal\n(pumpeinnstilling) + Slå av varsel når slutt på temp basal\n(pumpeinnstilling) + Ikke sammenkoblet + Gjenoppretter + Status + Tilkoblingsforsøk + Siste tilkobling + Start pumpe + Stopp pumpe + Startet + Stoppet + Pauset + Driftsmodus + Integrasjon for Accu-Chek Insight pumper + Ikke innsatt + TDD Bolus + TDD Basal + TDD Total + %1$d%% i %2$d / %3$d min + Kombinasjonsbolus + %1$.2f / %2$.2f E i %3$d min + Søker etter enheter… + Sammenkobling fullført + Stemmer de viste kodene overens mellom denne enheten og din pumpe? + Sammenkobling av Insight + Accu-Chek Insight + %1$.2f E / %2$.2f E levert + %1$s: %2$s + Slange byttet + Sight + Insight pumpe varsler + Slå av vibrasjoner på manuell bolus + For bolus og forlenget bolus (bare tilgjengelig med Insight firmware 3.x) + Slå av vibrasjoner ved automatisk bolus + For SMB og temp basal med TBR emulering (bare tilgjengelig med Insight firmware 3.x) + En timeout oppstod i paringsprosessen - restart Bluetooth + Pumpen stoppet + Pumpen startet + Pumpen pauset + Siste tilkobling: %1$d min siden + TBR: %1$d%% i %2$d / %3$d min + Forlenget: %1$.2f / %2$.2f E i %3$d min + Kombinasjon: %1$.2f / %2$.2f E i %3$d min + TDD: %1$.2f + Ampull: %1$.2f E + Batt.: %1$d%% + Bekreft + Demp lyd + Programvare versjon + UI prosessor programvare versjon + PC prosessor programvare versjon + MD tel prosessor programvare versjon + Sikkerhetsprosessor programvare versjon + BT infoside versjon + Bluetooth adresse + System ID vedlegg + Produksjonsdato + Slett sammenkobling + Logg kanyle bytte + Logg reservoar bytte + Logg slangesett bytte + Logg batteri bytte + Logg endring i driftsmodus + Logg varslinger + Aktiver emulering av TBR + Bruk forlenget bolus i stedet for temp basaler for å omgå 250%% grensen + Utsett frakobling [s] + Maks pause mellom tilkoblingsforsøk [s] + Min pause mellom tilkoblingsforsøk [s] + Pumpe varsling + Tilkoblingsinformasjon + diff --git a/app/src/main/res/values-pl-rPL/insight_alert_codes.xml b/insight/src/main/res/values-pl-rPL/alert_codes.xml similarity index 100% rename from app/src/main/res/values-pl-rPL/insight_alert_codes.xml rename to insight/src/main/res/values-pl-rPL/alert_codes.xml diff --git a/app/src/main/res/values-pl-rPL/insight_alert_descriptions.xml b/insight/src/main/res/values-pl-rPL/alert_descriptions.xml similarity index 84% rename from app/src/main/res/values-pl-rPL/insight_alert_descriptions.xml rename to insight/src/main/res/values-pl-rPL/alert_descriptions.xml index 9c79083c51..f0afecc15c 100644 --- a/app/src/main/res/values-pl-rPL/insight_alert_descriptions.xml +++ b/insight/src/main/res/values-pl-rPL/alert_descriptions.xml @@ -2,7 +2,6 @@ %1$d%%\nCzas trwania: %2$s h]]> %1$s U]]> - Wymień baterię. Ustaw czas/datę. Skontaktuj się z obsługa Accu-Chek. %1$d%%
Czas trwania: %2$s h]]>
@@ -13,12 +12,9 @@ Sprawdź status pompy. Wymień zestaw infuzyjny. Skontaktuj się z obsługa techniczną Accu-Chek. - Zmień zbiornik. Ponownie uruchom pobieranie danych. - Sprawdź status pompy. Ustaw typ baterii. Ustaw typ zbiornika. Zmień baterię i nabój. - Zmień zbiornik. Zmień język.
diff --git a/app/src/main/res/values-pl-rPL/insight_alert_titles.xml b/insight/src/main/res/values-pl-rPL/alert_titles.xml similarity index 100% rename from app/src/main/res/values-pl-rPL/insight_alert_titles.xml rename to insight/src/main/res/values-pl-rPL/alert_titles.xml diff --git a/app/src/main/res/values-pl-rPL/insight_exceptions.xml b/insight/src/main/res/values-pl-rPL/exceptions.xml similarity index 100% rename from app/src/main/res/values-pl-rPL/insight_exceptions.xml rename to insight/src/main/res/values-pl-rPL/exceptions.xml diff --git a/insight/src/main/res/values-pl-rPL/strings.xml b/insight/src/main/res/values-pl-rPL/strings.xml new file mode 100644 index 0000000000..e0639bee11 --- /dev/null +++ b/insight/src/main/res/values-pl-rPL/strings.xml @@ -0,0 +1,73 @@ + + + Włącz powiadomienia o końcu TBR\n(ustawienia pompy) + Wyłącz powiadomienia o końcu TBR\n(ustawienia pompy) + Nie sparowane + Odzyskiwanie + Status + Czas odzyskiwania + Ostatnie połączenie + Uruchom pompę + Zatrzymaj pompę + Rozpoczęte + Zatrzymane + Wstrzymano + Tryb działania + Integracja pompy dla pomp Accu-Check Insight + Nie wprowadzono + TDD Bolus + TDD Baza + TDD Całkowita + %1$d%% na %2$d / %3$d min + Bolus złożony (wielofalowy) + %1$.2f / %2$.2f U na %3$d min + Wyszukiwanie urządzeń… + Parowanie zakończone + Czy kody wyświetlone na tym urządzeniu i na twojej pompie pasują? + Parowanie Insight + Accu-Chek Insight + podano %1$.2f U / %2$.2f U + %1$s: %2$s + Dren zmieniony + Sight + Alarmy pompy Insight + Wyłącz wibracje przy ręcznym podawaniu bolusa + Dotyczy bolusa i rozszerzonego bolusa (dostępne tylko z pompami Insight z firmware 3.x) + Wyłącz wibracje przy automatycznym podawaniu bolusa + Dla SMB i Bazy Tymczasowej z emulacją TBR (tylko z firmware w wersji 3.x pompy Insight) + Przekroczony czas przywitania - zresetuj bluetooth + Pompa zatrzymana + Pompa uruchomiona + Pompa wstrzymana + Połączenie: %1$d min temu + TBR: %1$d%% na %2$d / %3$d min + Multiwave (zwykły + przedłużony): %1$.2f / %2$.2f U for %3$d min + TDD: %1$.2f + Zbiornik: %1$.2f U + Bat.: %1$d%% + Potwierdź + Wycisz + Wersja oprogramowania + Wersja oprogramowania procesora interfejsu użytkownika + Wersja oprogramowania procesora PC + Wersja oprogramowania procesora MD tel + Wersja oprogramowania procesora bezpieczeństwa + Strona informacyjna wersji BT + Adres Bluetooth + Dodatek ID systemu + Data produkcji + Usuń parowanie + 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] + Max. czas odzyskiwania [s] + Min. czas odzyskiwania [s] + Alarm pompy + Informacja o sparowaniu + diff --git a/app/src/main/res/values-pt-rBR/insight_alert_codes.xml b/insight/src/main/res/values-pt-rBR/alert_codes.xml similarity index 100% rename from app/src/main/res/values-pt-rBR/insight_alert_codes.xml rename to insight/src/main/res/values-pt-rBR/alert_codes.xml diff --git a/app/src/main/res/values-pt-rBR/insight_alert_descriptions.xml b/insight/src/main/res/values-pt-rBR/alert_descriptions.xml similarity index 79% rename from app/src/main/res/values-pt-rBR/insight_alert_descriptions.xml rename to insight/src/main/res/values-pt-rBR/alert_descriptions.xml index d9586e342a..1e92c64a12 100644 --- a/app/src/main/res/values-pt-rBR/insight_alert_descriptions.xml +++ b/insight/src/main/res/values-pt-rBR/alert_descriptions.xml @@ -2,9 +2,7 @@ %1$d%%\nDuração: %2$s h]]> %1$s U]]> - Trocar a bateria. Definir hora/data. - Contatar o suporte Accu-Chek. %1$d%%
Duração: %2$s h]]>
%1$s U
Administrado: %2$s U]]>
Inserir cartucho. @@ -13,12 +11,9 @@ Verificar estado da bomba. Alterar o conjunto de infusão. Contatar o suporte Accu-Chek. - Mudar cartucho. Reiniciar download de dados. - Verificar estado da bomba. Definir o tipo de bateria. Definir tipo de cartucho. Mudar bateria e cartucho. - Mudar cartucho. Alterar Idioma.
diff --git a/app/src/main/res/values-pt-rBR/insight_alert_titles.xml b/insight/src/main/res/values-pt-rBR/alert_titles.xml similarity index 100% rename from app/src/main/res/values-pt-rBR/insight_alert_titles.xml rename to insight/src/main/res/values-pt-rBR/alert_titles.xml diff --git a/app/src/main/res/values-pt-rBR/insight_exceptions.xml b/insight/src/main/res/values-pt-rBR/exceptions.xml similarity index 100% rename from app/src/main/res/values-pt-rBR/insight_exceptions.xml rename to insight/src/main/res/values-pt-rBR/exceptions.xml diff --git a/insight/src/main/res/values-pt-rBR/strings.xml b/insight/src/main/res/values-pt-rBR/strings.xml new file mode 100644 index 0000000000..5120e557d6 --- /dev/null +++ b/insight/src/main/res/values-pt-rBR/strings.xml @@ -0,0 +1,68 @@ + + + Desativar notificação do fim da basal temporária\n(configuração da bomba) + Desativar notificação do fim da basal temporária\n(configuração da bomba) + Não emparelhado + A recuperar + Estado + Duração da recuperação + Última ligação + Iniciar Bomba + Parar Bomba + Iniciado + Parado + Pausado + Modo de funcionamento + Integração de bomba para bombas Accu-Chek Insight + Não inserido + DDT de Bolus + DDT Basal + DDT Total + %1$d%% para %2$d / %3$d min + Bólus Multi-Onda + %1$.2f / %2$.2f U por %3$d min + A pesquisar dispositivos… + Emparelhamento concluído + Os códigos exibidos neste dispositivo e na sua bomba correspondem? + Emparelhamento Insight + Accu-Chek Insight + %1$s: %2$s + Tubo mudado + Visão + Alertas Bomba Insight + Tempo de operação excedido - reinicar bluetooth + Bomba parada + Bomba iniciada + Bomba suspensa + Ú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 + TDD: %1$.2f + Bat.: %1$d%% + Confirmar + Silêncio + Lançar versão de software + Versão de software do processador de interface do utilizador + Versão do software do processador de PC + Versão do software do processador MD tel + Versão de software do processador de segurança + Página de informação da versão do BT + Endereço Bluetooth + Apêndice do ID de sistema + Data de fabrico + Eliminar emparelhamento + Registar alterações de local + Número de unidades do reservatório alteradas + Registar alterações de tubo + Registar mudanças de bateria + Alterações do modo de funcionamento de registo + Alertas de registo + Ativar a emulação TBR + Usar bólus prolongados em vez de basais temporárias para contornar o limite de 250%% + Atraso de desconexão [s] + Duração máxima da recuperação [s] + Duração mínima da recuperação [s] + Alerta da Bomba + Informações de emparelhamento + diff --git a/app/src/main/res/values-pt-rPT/insight_alert_codes.xml b/insight/src/main/res/values-pt-rPT/alert_codes.xml similarity index 100% rename from app/src/main/res/values-pt-rPT/insight_alert_codes.xml rename to insight/src/main/res/values-pt-rPT/alert_codes.xml diff --git a/app/src/main/res/values-pt-rPT/insight_alert_descriptions.xml b/insight/src/main/res/values-pt-rPT/alert_descriptions.xml similarity index 100% rename from app/src/main/res/values-pt-rPT/insight_alert_descriptions.xml rename to insight/src/main/res/values-pt-rPT/alert_descriptions.xml diff --git a/app/src/main/res/values-pt-rPT/insight_alert_titles.xml b/insight/src/main/res/values-pt-rPT/alert_titles.xml similarity index 100% rename from app/src/main/res/values-pt-rPT/insight_alert_titles.xml rename to insight/src/main/res/values-pt-rPT/alert_titles.xml diff --git a/app/src/main/res/values-pt-rPT/insight_exceptions.xml b/insight/src/main/res/values-pt-rPT/exceptions.xml similarity index 100% rename from app/src/main/res/values-pt-rPT/insight_exceptions.xml rename to insight/src/main/res/values-pt-rPT/exceptions.xml diff --git a/insight/src/main/res/values-pt-rPT/strings.xml b/insight/src/main/res/values-pt-rPT/strings.xml new file mode 100644 index 0000000000..24a3ab0ba4 --- /dev/null +++ b/insight/src/main/res/values-pt-rPT/strings.xml @@ -0,0 +1,74 @@ + + + Activar notificação do fim da basal temporária\n(configuração da bomba) + Desactivar notificação do fim da basal temporária\n(configuração da bomba) + Não emparelhado + A recuperar + Estado + Duração da recuperação + Última ligação + Iniciar Bomba + Parar Bomba + Iniciado + Parado + Em pausa + Modo de funcionamento + Integração de bomba para bombas Accu-Chek Insight + Não inserido + TDI Bolus + TDI Basal + TDI Total + %1$d%% para %2$d / %3$d min + Bólus Multi-Onda + %1$.2f / %2$.2f U por %3$d min + A pesquisar dispositivos… + Emparelhamento concluído + Os códigos exibidos neste dispositivo e na sua bomba correspondem? + Emparelhamento Insight + Accu-Chek Insight + %1$.2f U / %2$.2f U administrado + %1$s: %2$s + Tubo mudado + Visão + Alertas Bomba Insight + Desactivar vibrações na entrega manual de bólus + Para bólus e bólus estendidos (só disponível com o firmware Insight 3.x) + Desactivar vibrações na entrega automática de bólus + Para SMB e Basal Temp com emulação DBT (só disponível com firmware Insight 3.x) + Tempo de operação excedido - reinicar bluetooth + Bomba parada + Bomba iniciada + Bomba suspensa + Última ligação:%1$d minutos atrás + DBT: %1$d%% para %2$d / %3$d minutos + Prolongado: %1$.2f / %2$.2f U por %3$d min + Multionda: %1$.2f / %2$.2f U por %3$d min + TDI: %1$.2f + Reser.: %1$.2f U + Bat.: %1$d%% + Confirmar + Silêncio + Lançar versão de software + Versão de software do processador de interface do utilizador + Versão do software do processador de PC + Versão do software do processador MD tel + Versão de software do processador de segurança + Página de informação da versão do BT + Endereço Bluetooth + Apêndice do ID de sistema + Data de fabrico + Eliminar emparelhamento + Registar mudanças de local + Número de unidades do reservatório alteradas + Registar alterações de tubo + Registar mudanças de bateria + Alterações do modo de funcionamento de registo + Alertas de registo + Activar a emulação DBT + Utilizar bólus prolongados em vez de basais temporárias para contornar o limite de 250%% + Atraso de remoção [s] + Duração máxima da recuperação [s] + Duração mínima da recuperação [s] + Alerta da Bomba + Informações de emparelhamento + diff --git a/app/src/main/res/values-ro-rRO/insight_alert_codes.xml b/insight/src/main/res/values-ro-rRO/alert_codes.xml similarity index 100% rename from app/src/main/res/values-ro-rRO/insight_alert_codes.xml rename to insight/src/main/res/values-ro-rRO/alert_codes.xml diff --git a/app/src/main/res/values-ro-rRO/insight_alert_descriptions.xml b/insight/src/main/res/values-ro-rRO/alert_descriptions.xml similarity index 81% rename from app/src/main/res/values-ro-rRO/insight_alert_descriptions.xml rename to insight/src/main/res/values-ro-rRO/alert_descriptions.xml index 321f437c0c..a4993240cc 100644 --- a/app/src/main/res/values-ro-rRO/insight_alert_descriptions.xml +++ b/insight/src/main/res/values-ro-rRO/alert_descriptions.xml @@ -2,9 +2,7 @@ %1$d%%\nDurata: %2$s h]]> %1$s U]]> - Schimbați bateria. Setați ora/data. - Contactați departamentul de suport Accu-Chek. %1$d%%
Durată: %2$s h]]>
%1$s U
Livrat: %2$s U]]>
Introduceți cartușul. @@ -13,9 +11,7 @@ Verificați starea pompei pe ecranul acesteia. Schimbați setul de infuzie. Contactați departamentul de suport Accu-Chek. - Schimbați cartușul. Reporniţi descărcarea datelor. - Verificați starea pompei pe ecranul acesteia. Setaţi tipul de baterie. Setaţi tipul de rezervor. Schimbați bateria și rezervorul. diff --git a/app/src/main/res/values-ro-rRO/insight_alert_titles.xml b/insight/src/main/res/values-ro-rRO/alert_titles.xml similarity index 100% rename from app/src/main/res/values-ro-rRO/insight_alert_titles.xml rename to insight/src/main/res/values-ro-rRO/alert_titles.xml diff --git a/app/src/main/res/values-ro-rRO/insight_exceptions.xml b/insight/src/main/res/values-ro-rRO/exceptions.xml similarity index 100% rename from app/src/main/res/values-ro-rRO/insight_exceptions.xml rename to insight/src/main/res/values-ro-rRO/exceptions.xml diff --git a/insight/src/main/res/values-ro-rRO/strings.xml b/insight/src/main/res/values-ro-rRO/strings.xml new file mode 100644 index 0000000000..1da4857f87 --- /dev/null +++ b/insight/src/main/res/values-ro-rRO/strings.xml @@ -0,0 +1,74 @@ + + + Permiteți notificarea de terminare RBT\n(setare a pompei) + Nu permiteți notificarea terminării RBT\n(setare a pompei) + Nu există asociere + Se recuperează... + Stare + Durata restabilirii + Ultima conexiune + Porniți pompa + Opriți pompa + Pornit + Oprit + Suspendat + Modul de funcționare + Integrare pentru pompele Accu-Chek Insight + Nu este introdus + Bolus TDD + Bazală TDD + Total TDD + %1$d%% pentru %2$d / %3$d min + Bolus multiwave + %1$.2f / %2$.2f U pentru %3$d min + Căutare dispozitive… + Asociere reușită + Sunt identice codurile afișate aici și cele de pe pompă? + Asociere Insight + Accu-Chek Insight + %1$.2f U din %2$.2f U livrate + %1$s:%2$s + Canulă schimbată + Obiectiv + Alerte pompă Insight + Dezactivează vibrațiile la livrarea manuală de bolus + Pentru bolus și bolus extins (valabil doar cu modelul Insight firmware 3.x) + Dezactivați vibrațiile la livrarea automată de bolus + Pentru SMB şi Bazale Temporare cu emulare de TBR (disponibil doar cu Insight firmware 3.x) + Durată timp expirat pe timpul negocierii - resetare bluetooth + Pompă oprită + Pompă pornită + Pompă în pauză + 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 + Rezervor: %1$.2fU + Bat.: %1$d%% + Confirmă + Liniște + Versiunea de software + Versiunea softwareului procesor UI + Versiunea software procesor PC + Versiunea software procesor MD tel + Versiunea software procesor siguranță + Versiunea BT info + Adresa Bluetooth + Indexul sistem ID + Data fabricării + Șterge asocierea + Î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] + Timpul maxim de restabilire [s] + Timpul minim de restabilire [s] + Alertă a pompei + Informații despre asociere + diff --git a/app/src/main/res/values-ru-rRU/insight_alert_codes.xml b/insight/src/main/res/values-ru-rRU/alert_codes.xml similarity index 100% rename from app/src/main/res/values-ru-rRU/insight_alert_codes.xml rename to insight/src/main/res/values-ru-rRU/alert_codes.xml diff --git a/app/src/main/res/values-ru-rRU/insight_alert_descriptions.xml b/insight/src/main/res/values-ru-rRU/alert_descriptions.xml similarity index 96% rename from app/src/main/res/values-ru-rRU/insight_alert_descriptions.xml rename to insight/src/main/res/values-ru-rRU/alert_descriptions.xml index 0bf4cd7e96..199bd443fc 100644 --- a/app/src/main/res/values-ru-rRU/insight_alert_descriptions.xml +++ b/insight/src/main/res/values-ru-rRU/alert_descriptions.xml @@ -5,7 +5,7 @@ Заменить батарею. Установить время/дату. Свяжитесь со службой поддержки Accu-Chek. - %1$d%%\nПродолжительность: %2$s ч]]> + %1$d%%
Продолжительность: %2$s ч]]>
%1$s U
Дано: %2$s U]]>
Вставьте картридж. Замените картридж. diff --git a/app/src/main/res/values-ru-rRU/insight_alert_titles.xml b/insight/src/main/res/values-ru-rRU/alert_titles.xml similarity index 100% rename from app/src/main/res/values-ru-rRU/insight_alert_titles.xml rename to insight/src/main/res/values-ru-rRU/alert_titles.xml diff --git a/app/src/main/res/values-ru-rRU/insight_exceptions.xml b/insight/src/main/res/values-ru-rRU/exceptions.xml similarity index 100% rename from app/src/main/res/values-ru-rRU/insight_exceptions.xml rename to insight/src/main/res/values-ru-rRU/exceptions.xml diff --git a/insight/src/main/res/values-ru-rRU/strings.xml b/insight/src/main/res/values-ru-rRU/strings.xml new file mode 100644 index 0000000000..346976391e --- /dev/null +++ b/insight/src/main/res/values-ru-rRU/strings.xml @@ -0,0 +1,74 @@ + + + Включить уведомление об окончании временной скорости базала TBR\n(настройка помпы) + Отключить уведомление об окончании временной скорости базала TBR\n(настройка помпы) + Нет сопряжения + Идет восстановление + Статус + Продолжительность восстановления + Прошлое соединение + Запустить помпу + Остановить помпу + Начало запуска + Остановлено + на паузе + Режим работы + Интеграция с помпой Accu-Chek Insight + Не вставлено + Суммарный суточный болюс TDD + Суммарный суточный Базал TDD + Суммарный суточный инсулин TDD + %1$d%% за %2$d / %3$d мин + Мульти-болюс + %1$.2f / %2$.2f U за %3$d мин + Поиск устройств… + Сопряжение выполнено + Коды на этом устройстве и на вашей помпе совпадают? + Сопряжение с Insight + Accu-Chek Insight + Подано %1$.2fед / %2$.2fед + %1$s: %2$s + Трубка заменена + Поле обзора + Оповещения помпы Insight + Отключение вибраций при ручном болюсе + Для болюса и пролонгированного болюса (доступно только для Insight прошивки 3.х) + Отключение вибрации при ручном болюсе + Для микроболюсов SMB и временных базалов с эмуляцией TBR (доступно только для Insight с прошивкой версии 3.x) + Тайм-аут сопряжения - сбросьте bluetooth + Помпа остановлена + Помпа запущена + Помпа приостановлена + Недавнее соединение: %1$d мин. назад + Врем базал (TBR): %1$d%% на %2$d / %3$d мин + Пролонгированный: %1$.2f / %2$.2f ед. на %3$d мин + Пролонгированный: %1$.2f / %2$.2f U за %3$d мин + Суммарный инсулин TDD: %1$.2f + Резерв.: %1$.2f ед + Батарея: %1$d%% + Подтверждаю + Отключить звук + Версия ПО + Версия процессора UI + Версия процессора ПК + Версия ПО процессора MD тел + Версия ПО процессора безопасности + Версия страницы информация BT + Адрес Bluetooth + Аппендикс ID системы + Дата изготовления + Удалить сопряжение + Журнал изменений места установки + Отслеживать замену резервуара + Журнал замены трубки катетера + Журнал замен батареи + Журнал изменений режима работы + Журнал оповещений + Включить эмуляцию TBR + Использовать пролонгированные болюсы вместо временных базалов TBR чтобы обойти лимит в 250%% + Задержка разъединения [s] + Макс продолжительность восстановления [s] + Мин. продолжительность восстановления [s] + Оповещение помпы + Информация о сопряжении + diff --git a/app/src/main/res/values-sk-rSK/insight_alert_codes.xml b/insight/src/main/res/values-sk-rSK/alert_codes.xml similarity index 100% rename from app/src/main/res/values-sk-rSK/insight_alert_codes.xml rename to insight/src/main/res/values-sk-rSK/alert_codes.xml diff --git a/app/src/main/res/values-sk-rSK/insight_alert_descriptions.xml b/insight/src/main/res/values-sk-rSK/alert_descriptions.xml similarity index 78% rename from app/src/main/res/values-sk-rSK/insight_alert_descriptions.xml rename to insight/src/main/res/values-sk-rSK/alert_descriptions.xml index a5c09db55c..30fa470343 100644 --- a/app/src/main/res/values-sk-rSK/insight_alert_descriptions.xml +++ b/insight/src/main/res/values-sk-rSK/alert_descriptions.xml @@ -2,9 +2,7 @@ %1$d%%\nTrvanie: %2$s h]]> %1$s U]]> - Vymeňte batériu. Nastaviť čas/dátum. - Kontaktujte podporu Accu-Check. %1$d%%
Trvanie: %2$s h]]>
%1$s U
Podané: %2$s U]]>
Vložte zásobník. @@ -13,12 +11,9 @@ Skontrolujte stav pumpy. Vymeňte infúzny set. Kontaktujte podporu Accu-Check. - Vymeňte zásobník. Obnoviť sťahovanie dát. - Skontrolujte stav pumpy. Nastavte typ batérie. Nastavte typ zásobníka. Vymeňte batériu a zásobník. - Vymeňte zásobník. Zmeniť jazyk.
diff --git a/app/src/main/res/values-sk-rSK/insight_alert_titles.xml b/insight/src/main/res/values-sk-rSK/alert_titles.xml similarity index 100% rename from app/src/main/res/values-sk-rSK/insight_alert_titles.xml rename to insight/src/main/res/values-sk-rSK/alert_titles.xml diff --git a/app/src/main/res/values-sk-rSK/insight_exceptions.xml b/insight/src/main/res/values-sk-rSK/exceptions.xml similarity index 100% rename from app/src/main/res/values-sk-rSK/insight_exceptions.xml rename to insight/src/main/res/values-sk-rSK/exceptions.xml diff --git a/insight/src/main/res/values-sk-rSK/strings.xml b/insight/src/main/res/values-sk-rSK/strings.xml new file mode 100644 index 0000000000..5d6873bc4e --- /dev/null +++ b/insight/src/main/res/values-sk-rSK/strings.xml @@ -0,0 +1,74 @@ + + + Aktivuj notifikáciu ukončenia dočasného bazálu\n(Nastavenie pumpy) + Deaktivuj notifikáciu ukončenia dočasného bazálu\n(Nastavenie pumpy) + Nespárované + Obnovuje sa + Stav + Trvanie obnovenia + Naposledy pripojené + Spustiť pumpu + Zastaviť pumpu + Spustené + Zastavené + Pozastavené + Prevádzkový režim + Integrácia pre pumpu Accu-Chek Insight + Nieje vložené + CDD bolusov + CDD bazálov + CDD celkom + %1$d%% pre %2$d / %3$d min + Duálny bolus + %1$.2f / %2$.2f JI pre %3$d min + Vyhľadávam zariadenia... + Párovanie dokončené + Zhodujú sa kódy zobrazené na tomto zariadení a na pumpe? + Párovanie Insight + Accu-Chek Insight + %1$.2f JI / %2$.2f JI podaných + %1$s: %2$s + Hadička vymenená + Sight + Výstrahy pumpy Insight + Zakázať vibrácie pri ručnom podaní bolusu + Pre bolus a predĺžený bolus (dostupné iba s Insight firmware 3.x) + Zakázať vibrácie pri automatickom podaní bolusu + Pre SMB a Dočasný bazál s emuláciou TBR (k dispozícii iba s Insight firmware 3.x) + Vypršal čas na pripojenie - reštartuj Bluetooth + Pumpa zastavená + Pumpa spustená + Pumpa pozastavená + Posledné spoj: pred %1$d min + Doč. bazál: %1$d%% na %2$d / %3$d min + Predl. bolus: %1$.2f / %2$.2f JI na %3$d min + Duálny bolus: %1$.2f / %2$.2f JI na %3$d min + CDD: %1$.2f + Zásobník: %1$.2f JI + Bat.: %1$d%% + Potvrdiť + Stlmiť + Verzia softwaru + Verzia softwaru UI procesora + Verzia softwaru PC procesora + Verzia softwaru MD tel procesora + Verzia softwaru bezpečnostného procesora + Verzia stránky s BT informáciami + Adresa Bluetooth + Dodatok k System ID + Dátum výroby + Zrušiť párovanie + Zaznamenať výmenu kanyly + Zaznamenať výmenu zásobníka + Zaznamenať výmenu hadičky + Zaznamenať výmenu batérie + Zaznamenať zmenu režimu prevádzky + Zaznamenať výstrahy + Povoliť emuláciu dočasných bazálov + Používať predĺžené bolusy namiesto dočasných bázalov, aby sme sa vyhli 250%% limitu + Oneskorenie odpojenia [s] + Max. doba trvania obnovenia [s] + Min. doba trvania obnovenia [s] + Výstraha pumpy + Informácie o párovaní + diff --git a/app/src/main/res/values-tr-rTR/insight_exceptions.xml b/insight/src/main/res/values-sl-rSI/alert_codes.xml similarity index 100% rename from app/src/main/res/values-tr-rTR/insight_exceptions.xml rename to insight/src/main/res/values-sl-rSI/alert_codes.xml diff --git a/app/src/main/res/values-zh-rCN/insight_alert_codes.xml b/insight/src/main/res/values-sl-rSI/alert_descriptions.xml similarity index 100% rename from app/src/main/res/values-zh-rCN/insight_alert_codes.xml rename to insight/src/main/res/values-sl-rSI/alert_descriptions.xml diff --git a/app/src/main/res/values-zh-rCN/insight_alert_titles.xml b/insight/src/main/res/values-sl-rSI/alert_titles.xml similarity index 100% rename from app/src/main/res/values-zh-rCN/insight_alert_titles.xml rename to insight/src/main/res/values-sl-rSI/alert_titles.xml diff --git a/app/src/main/res/values-zh-rCN/insight_exceptions.xml b/insight/src/main/res/values-sl-rSI/exceptions.xml similarity index 100% rename from app/src/main/res/values-zh-rCN/insight_exceptions.xml rename to insight/src/main/res/values-sl-rSI/exceptions.xml diff --git a/insight/src/main/res/values-sl-rSI/strings.xml b/insight/src/main/res/values-sl-rSI/strings.xml new file mode 100644 index 0000000000..3ea04e700d --- /dev/null +++ b/insight/src/main/res/values-sl-rSI/strings.xml @@ -0,0 +1,2 @@ + + diff --git a/app/src/main/res/values-sv-rSE/insight_alert_codes.xml b/insight/src/main/res/values-sv-rSE/alert_codes.xml similarity index 100% rename from app/src/main/res/values-sv-rSE/insight_alert_codes.xml rename to insight/src/main/res/values-sv-rSE/alert_codes.xml diff --git a/app/src/main/res/values-sv-rSE/insight_alert_descriptions.xml b/insight/src/main/res/values-sv-rSE/alert_descriptions.xml similarity index 79% rename from app/src/main/res/values-sv-rSE/insight_alert_descriptions.xml rename to insight/src/main/res/values-sv-rSE/alert_descriptions.xml index a4aeafa1b0..04d0ca9496 100644 --- a/app/src/main/res/values-sv-rSE/insight_alert_descriptions.xml +++ b/insight/src/main/res/values-sv-rSE/alert_descriptions.xml @@ -2,9 +2,7 @@ %1$d%%\nDuration: %2$s h]]> %1$s U]]> - Byt batteri. Ställ in tid/datum. - Kontakta Accu-Cheks support. %1$d%%
Duration: %2$s h]]>
%1$s U
Levererat: %2$s U]]>
Sätt i reservoar. @@ -13,12 +11,9 @@ Kontrollera pumpstatus. Byt infusionsset. Kontakta Accu-Cheks support. - Byt reservoar. Hämta data på nytt. - Kontrollera pumpstatus. Ange typ av batteri. Ange typ av reservoar. Byt batteri och reservoar. - Byt reservoar. Byt språk.
diff --git a/app/src/main/res/values-sv-rSE/insight_alert_titles.xml b/insight/src/main/res/values-sv-rSE/alert_titles.xml similarity index 96% rename from app/src/main/res/values-sv-rSE/insight_alert_titles.xml rename to insight/src/main/res/values-sv-rSE/alert_titles.xml index 647a2adf59..87cc430143 100644 --- a/app/src/main/res/values-sv-rSE/insight_alert_titles.xml +++ b/insight/src/main/res/values-sv-rSE/alert_titles.xml @@ -3,7 +3,6 @@ Leverera bolus Missad bolus Väckarklocka - Byt infusionsset Temp basal avslutad Låg nivå reservoar Låg batterinivå diff --git a/app/src/main/res/values-sv-rSE/insight_exceptions.xml b/insight/src/main/res/values-sv-rSE/exceptions.xml similarity index 100% rename from app/src/main/res/values-sv-rSE/insight_exceptions.xml rename to insight/src/main/res/values-sv-rSE/exceptions.xml diff --git a/insight/src/main/res/values-sv-rSE/strings.xml b/insight/src/main/res/values-sv-rSE/strings.xml new file mode 100644 index 0000000000..6c491057b5 --- /dev/null +++ b/insight/src/main/res/values-sv-rSE/strings.xml @@ -0,0 +1,74 @@ + + + Aktivera meddelanden om avslutade tempbasaler\n(pumpinställning) + Inaktivera meddelanden om avslutade tempbasaler\n(pumpinställning) + Inte parkopplad + Återställs + Status + Återanslutningsförsök + Senast ansluten + Starta pumpen + Stoppa pumpen + Startade + Stoppade + Pausad + Driftläge + Integration för Accu-Chek Insight pumpar + Inte isatt + TDD Bolus + TDD basal + TDD totalt + %1$d%% i %2$d / %3$d min + Kombi-bolus + %1$.2f / %2$.2f U i %3$d min + Söker enheter… + Parkoppling lyckades + Stämmer koderna överens mellan denna enhet och din pump? + Parkoppling av Insight + Accu-Chek Insight + %1$.2fU / %2$.2fU levererat + %1$s: %2$s + Slang bytt + Sight + Pumpvarningar Insight + Inaktivera vibration för manuell bolus + För bolus och förlängd bolus (endast tillgängligt med Insight firmware 3.x) + Inaktivera vibration för automatisk bolus + För SMB och temp basal med TBR-emulering (endast tillgängligt med Insight firmware 3.x) + En timeout inträffade under parningsprocessen. Starta om bluetooth och försök igen + Pump stoppad + Pump startad + Pump pausad + Senast anslutning: %1$d min sedan + TBR: %1$d%% i %2$d / %3$d min + Förl: %1$.2f / %2$.2f U i %3$d min + Kombi: %1$.2f / %2$.2f U i %3$d min + TDD: %1$.2f + Res: %1$.2fU + Batt.: %1$d%% + Bekräfta + Tysta + Mjukvaruversion Release + UI-processorversion + Mjukvaruversion PC processor + Mjukvaruversion MD tel processor + Mjukvaruversion Säkerhetsprocessor + BT infosida version + Bluetooth-adress + System-ID tillägg + Tillverkningsdatum + Ta bort parkoppling + Logga kanylbyten + Logga reservoarbyten + Logga slangbyten + Logga batteribyten + Logga när driftsläge ändras + Logga varningar + Aktivera emulering av temp basal + Använda förlängda bolusar istället för temp basaler för att kringgå 250%%-begränsningen + Fördröjning av frånkoppling [s] + Max paus mellan återanslutningsförsök [s] + Min paus mellan återanslutningsförsök [s] + Pumpvarning + Parkopplingsinformation + diff --git a/insight/src/main/res/values-tr-rTR/alert_codes.xml b/insight/src/main/res/values-tr-rTR/alert_codes.xml new file mode 100644 index 0000000000..ad66007361 --- /dev/null +++ b/insight/src/main/res/values-tr-rTR/alert_codes.xml @@ -0,0 +1,29 @@ + + + Hatırlatma R1 + Hatırlatma R2 + Hatırlatma R3 + Hatırlatma R4 + Hatırlatma R7 + Uyarı W31 + Uyarı W32 + Uyarı W33 + Uyarı W34 + Uyarı W36 + Uyarı W38 + Uyarı W39 + Bakım M20 + Bakım M21 + Bakım M22 + Bakım M23 + Bakım M24 + Bakım M25 + Bakım M26 + Bakım M27 + Bakım M28 + Bakım M29 + Bakım M30 + Hata E6 + Hata E10 + Hata E13 + diff --git a/insight/src/main/res/values-tr-rTR/alert_descriptions.xml b/insight/src/main/res/values-tr-rTR/alert_descriptions.xml new file mode 100644 index 0000000000..e78a6ed2ec --- /dev/null +++ b/insight/src/main/res/values-tr-rTR/alert_descriptions.xml @@ -0,0 +1,19 @@ + + + %1$d%%\nSüre: %2$s st.]]> + %1$s U]]> + Tarihi/saati ayarlayın. + %1$d%%
Süre: %2$s st.]]>
+ %1$s U
gönderildi: %2$s U]]>
+ Rezervuar yerleştirin. + Rezervuar değiştir. + Pili değiştirin. + Pompa durumunu kontrol edin. + İnfüzyon seti değiştirin. + Accu-Chek desteğine başvurun. + Veri karşıdan yüklemeyi yeniden başlatın. + Pil tipini ayarlayın. + Rezervuar türünü ayarlayın. + Pil ve Rezervuarı değiştirin. + Dili değiştir. +
diff --git a/insight/src/main/res/values-tr-rTR/alert_titles.xml b/insight/src/main/res/values-tr-rTR/alert_titles.xml new file mode 100644 index 0000000000..f2e34230f4 --- /dev/null +++ b/insight/src/main/res/values-tr-rTR/alert_titles.xml @@ -0,0 +1,28 @@ + + + Gönderilen Bolus + Başarısız Bolus + Çalar saat + Geçici Bazal Oranı tamamlandı + Rezervuar düşük + Pil düşük + Geçersiz tarih/saat + Garanti sonu + Geçici Bazal Oranı iptal edildi + Bolus iptal edildi + Loantime uyarısı + Rezervuar yerleştirilmemiş + Rezervuar bitti + Pil bitti + Otomatik kapatma - pompa durdu + Tıkanma + Kiralama süresi doldu - kullanım sonu + Rezervuar değişimi tamamlanmadı + Veri yükleme başarısız oldu + Duraklat modunda zaman aşımı + Pil türü ayarlı değil + Rezervuar türü ayarlı değil + Mekanik hata + Geri sarma hatası + Dil hatası + diff --git a/insight/src/main/res/values-tr-rTR/exceptions.xml b/insight/src/main/res/values-tr-rTR/exceptions.xml new file mode 100644 index 0000000000..5fef24c0f9 --- /dev/null +++ b/insight/src/main/res/values-tr-rTR/exceptions.xml @@ -0,0 +1,14 @@ + + + Bağlantı başarısız oldu + Bağlantı kesildi + Eşleştirme reddedildi + Soket oluşturma başarısız oldu + Zaman aşımı + Yürütülmekte olan maksimum bolus tipi sayısı + İptal edilebilecek aktif TBR Geçici Bazal Oranı yok + Değiştirilebilecek aktif TBR Geçici Bazal Oranı yok + İptal etmek için böyle bir bolus + Pompa zaten bu modda + Çalıştır moduna izin yok + diff --git a/insight/src/main/res/values-tr-rTR/strings.xml b/insight/src/main/res/values-tr-rTR/strings.xml new file mode 100644 index 0000000000..72ed8b5242 --- /dev/null +++ b/insight/src/main/res/values-tr-rTR/strings.xml @@ -0,0 +1,59 @@ + + + GBO bitti bildirimini etkinleştir\n(pompa ayarlarında) + GBO bitti bildirimini iptal et\n(pompa ayarlarında) + Eşleştirilemedi + Kurtarılıyor + Durum + Kurtarma süresi + Enson bağlantı + Pompayı başlat + Pompayı durdur + Başlatıldı + Durduruldu + Durduruldu + Çalışma Modu + Accu-Chek Insight pompaları için pompa entegrasyonu + Takılmamış + GTD Bolus + GTD Bazal + GTD Toplam + %1$d%% için %2$d / %3$d dak + Çokdalgalı Bolus + %1$.2f / %2$.2f U for %3$d dak. + Cihazlar aranıyor… + Eşleştirme tamamlandı + Bu cihazda ve pompanızda görüntülenen kodlar aynı mı? + Insight eşleştirme + Accu-Chek Insight + %1$s: %2$s + Hortum değişti + Sight + El sıkışma sırasında zaman aşımı olduğunda - bluetoothu sıfırla + Pompa durduruldu + Pompa başlatıldı + Pompa duraklatıldı + Son bağl: %1$d dak. önce + TBR: %1$d%% für %2$d / %3$d min + Multiwave: %1$.2f / %2$.2f U for %3$d min + GTD: %1$.2f + Pil.: %1$d%% + Onaylayın + Sessiz + Yayın yazılım sürümü + PC yazılım işlemci sürümü + BT bilgilendirme sayfası sürümü + Bluetooth adresi + Sistem Kimliği ID eki + Üretim tarihi + Eşleştirme sil + İnfüzyon değişimini kayıt altına al + Rezerveor değişimini kayıt altına al + Hortum değişimlerini kaydet + Pil değişimlerini kaydet + Günlük uyarıları + Max. kurtarma süresi [s] + Min. Kurtarma süresi [s] + Pompa alarmı + Eşleşme bilgisi + diff --git a/insight/src/main/res/values-zh-rCN/alert_codes.xml b/insight/src/main/res/values-zh-rCN/alert_codes.xml new file mode 100644 index 0000000000..26d35b1de8 --- /dev/null +++ b/insight/src/main/res/values-zh-rCN/alert_codes.xml @@ -0,0 +1,29 @@ + + + 提醒 R1 + 提醒 R2 + 提醒 R3 + 提醒 R4 + 提醒 R7 + 警告 W31 + 警告 W32 + 警告 W33 + 警告 W34 + 警告 W36 + 警告 W38 + 警告 W39 + 维护 M20 + 维护 M21 + 维护 M22 + 维护 M23 + 维护 M24 + 维护 M25 + 维护 M26 + 维护 M27 + 维护 M28 + 维护 M29 + 维护 M30 + 错误 E6 + 错误 E10 + 错误 E13 + diff --git a/insight/src/main/res/values-zh-rCN/alert_descriptions.xml b/insight/src/main/res/values-zh-rCN/alert_descriptions.xml new file mode 100644 index 0000000000..8b082a97f9 --- /dev/null +++ b/insight/src/main/res/values-zh-rCN/alert_descriptions.xml @@ -0,0 +1,19 @@ + + + %1$d%%\nDuration: %2$s h]]> + %1$s U]]> + 设置时间/日期 + %1$d%%
Duration: %2$s h]]>
+ %1$s U
Delivered: %2$s U]]>
+ 插入储药器 + 更换储药器 + 更换电池。 + 检查泵状态。 + 更换管路 + 联系 Accu-Chek 获得支持。 + 重新启动数据下载。 + 设置电池类型。 + 设置储药器类型 + 更换电池和储药器。 + 更改语言 +
diff --git a/insight/src/main/res/values-zh-rCN/alert_titles.xml b/insight/src/main/res/values-zh-rCN/alert_titles.xml new file mode 100644 index 0000000000..96acd1b687 --- /dev/null +++ b/insight/src/main/res/values-zh-rCN/alert_titles.xml @@ -0,0 +1,29 @@ + + + 输注大剂量 + 缺失大剂量 + 报警闹钟 + 更换管路 + TBR 已完成 + 储药器药量低 + 电池电量低 + 无效的时间/日期 + 保修期结束 + TBR 已取消 + 大剂量已经取消 + 超时警告 + 储药器没有插入 + 储药器空了 + 电池耗尽 + 自动关闭 - 泵停止了 + 堵管 + 超时-结束操作 + 储药器更换未完成 + 数据下载失败 + 暂停模式超时 + 电池类型未设置 + 储药器类型未设置 + 机械错误 + 螺杆复位错误 + 语言错误 + diff --git a/insight/src/main/res/values-zh-rCN/exceptions.xml b/insight/src/main/res/values-zh-rCN/exceptions.xml new file mode 100644 index 0000000000..8f1abe72ae --- /dev/null +++ b/insight/src/main/res/values-zh-rCN/exceptions.xml @@ -0,0 +1,14 @@ + + + 连接失败了 + 连接已丢失 + 配对失败 + 创建 Socket 失败了 + 超时 + 已运行的大剂量类型的最大数量 + 没有活动的 TBR 需要取消 + 没有活动的 TBR 需要改变 + 没有大剂量需要取消 + 泵已经处于这种状态了 + 不允许运行模式 + diff --git a/insight/src/main/res/values-zh-rCN/strings.xml b/insight/src/main/res/values-zh-rCN/strings.xml new file mode 100644 index 0000000000..f3aa0e5ac4 --- /dev/null +++ b/insight/src/main/res/values-zh-rCN/strings.xml @@ -0,0 +1,66 @@ + + + 启用 TBR (临时基础率) 结束通知\n(泵设置) + 禁用TBR (临时基础率) 结束通知\n(泵设置) + 未配对 + 正在恢复... + 状态 + 恢复持续时间 + 上次连接 + 开始泵 + 停止泵 + 已启动 + 已停止 + 已暂停 + 操作模式 + 集成Accu-Chek Insight泵 + 未插入 + 大剂量日总量 + 基础日总量 + 胰岛素输注日总量 + %1$d%% 为 %2$d / %3$d 分钟 + 多波 + %1$.2f / %2$.2f U 为 %3$d 分钟 + 正在搜索设备… + 配对已完成 + 此设备和您的泵上显示的代码是否匹配? + Insight 正在配对 + Accu-Chek Insight + %1$s: %2$s + 管路已经更换 + Sight + 握手时超时-重启蓝牙 + 泵停止了 + 泵启动了 + 泵暂停了 + 最后一次连接: %1$d 分钟前 + 临时基础率: %1$d%% for %2$d / %3$d 分钟 + 多波: %1$.2f / %2$.2f U 持续时间 %3$d 分钟 + TDD(日输注总量): %1$.2f + 电池: %1$d%% + 确认 + 静音 + 发行软件版本 + UI 处理器软件版本 + PC 处理器软件版本 + MDtel 处理器软件版本 + 安全处理器软件版本 + BT(蓝牙)信息页面版本 + 蓝牙地址 + 系统ID附录 + 生产日期 + 删除配对 + 记录位置更换 + 记录储药器更换 + 记录管路更换 + 记录电池更换 + 记录操作模式更改 + 记录报警 + 启用 TBR (临时基础率) 模拟 + 使用扩展大剂量而不是TBRs(临时基础率) 绕过250%%的限制 + 断开连接延迟 [s] + 最大恢复时间 [s] + 最小恢复持续时间 [s] + 泵警报 + 配对信息 + diff --git a/insight/src/main/res/xml/pref_insight_local_full.xml b/insight/src/main/res/xml/pref_insight_local_full.xml index 820c12d422..1329db7de3 100644 --- a/insight/src/main/res/xml/pref_insight_local_full.xml +++ b/insight/src/main/res/xml/pref_insight_local_full.xml @@ -3,6 +3,7 @@ xmlns:app="http://schemas.android.com/apk/res-auto"> diff --git a/insight/src/main/res/xml/pref_insight_local_pumpcontrol.xml b/insight/src/main/res/xml/pref_insight_local_pumpcontrol.xml index a863e56757..b73c01f1f7 100644 --- a/insight/src/main/res/xml/pref_insight_local_pumpcontrol.xml +++ b/insight/src/main/res/xml/pref_insight_local_pumpcontrol.xml @@ -3,6 +3,7 @@ xmlns:app="http://schemas.android.com/apk/res-auto"> diff --git a/medtronic/src/main/res/values/strings.xml b/medtronic/src/main/res/values/strings.xml index 3a3e627f80..4791a03276 100644 --- a/medtronic/src/main/res/values/strings.xml +++ b/medtronic/src/main/res/values/strings.xml @@ -24,6 +24,7 @@ medtronic_pump_battery_lithium medtronic_pump_battery_nizn medtronic_pump_battery_nimh + medtronic_name_settings Pump Serial Number Pump Type diff --git a/medtronic/src/main/res/xml/pref_medtronic.xml b/medtronic/src/main/res/xml/pref_medtronic.xml index 5006bf32b9..cdd786d183 100644 --- a/medtronic/src/main/res/xml/pref_medtronic.xml +++ b/medtronic/src/main/res/xml/pref_medtronic.xml @@ -4,6 +4,7 @@ xmlns:validate="http://schemas.android.com/apk/res-auto"> diff --git a/omnipod-common/src/main/res/values-fr-rFR/strings.xml b/omnipod-common/src/main/res/values-fr-rFR/strings.xml index e35fcaa95a..d4b1b4f9b8 100644 --- a/omnipod-common/src/main/res/values-fr-rFR/strings.xml +++ b/omnipod-common/src/main/res/values-fr-rFR/strings.xml @@ -2,17 +2,190 @@ + Gestion Pod + Actions + Outils + Activer Pod + Désactiver Pod + Supprimer Pod + Si vous supprimez le Pod, vous ne pourrez plus communiquer avec lui. Vous ne devez le faire que lorsque toutes les communications avec le Pod échouent de manière permanente. Si vous pouvez toujours communiquer avec le Pod, veuillez utiliser l\'option Désactiver le Pod .\n\nSi vous souhaitez continuer, assurez-vous de retirer la Pod de votre corps ! + Tester bips + Test des bips… + Historique Pod + Pas de Pod actif + Echec Paramétrage Profil Basal. + Le bolus a échoué. + Échec pour définir le profil Basal : profil vide reçu. Vérifiez que votre profil de basal est activé. + Aucun profil de basal n\'est actif. Assurez-vous d\'activer votre profil de basal. + Commande personnalisée non supportée : %1$s + Échec pour rafraichir l\'état + Échec pour rafraichir l\'état au démarrage + Échec alertes silencieuses + Échec pour suspendre l\'injection + Échec pour définir l\'heure + Échec de la reprise de l\'injection + Échec pour initialiser le Pod + Échec pour insérer la canule + La durée d\'activation du Pod a été dépassée. Ce Pod ne peut plus être activé. + Échec de la vérification de l\'activation. Veuillez réessayer. + Pod suspendu + Échec du test des bips + L\'heure du Pod est désynchronisée. Veuillez la mettre à jour dans l\'onglet Omnipod. + Erreur inconnue. Veuillez signaler ! (%1$s : %2$s). + Confirmation + Heure et/ou fuseau horaire changé sur le Pod. + Configuration des alertes mise à jour dans le Pod. + L\'heure du Pod a été mise à jour. + Toutes les injections d\'insuline ont été suspendues. + Alertes actives rendues silencieuses. + L\'injection de l\'insuline a été reprise. + Définir l\'heure + Arrêter + Reprendre l\'injection + Gest. Pod + Alertes silencieuses + État du Pod + Total injecté + %1$.2f U + ID unique + Numéro de lot + Numéro de séquence + Pod Expiré + Dernière connexion + Dernier bolus + Débit de Basal Temp. + Débit de Basal + Réservoir + Activer Alertes Pod + Version du firmware + Heure du Pod + %1$.2fU/h @%2$s (%3$d/%4$d minutes) + %1$.2f U restantes + Plus de 50 U restantes + Erreurs + Annuler + Terminer + Suivant + Réessayer + Désactiver Pod + Supprimer Pod + Vous n\'avez pas encore terminé toutes les étapes. Êtes-vous sûr de vouloir quitter ? + Quitter + Remplir Pod + Initialiser Pod + Collez Pod + Préparez le site d\'injection. Enlevez la protection de l\'aiguille et le support adhésif et collez le Pod sur le site d\'injection.\n\nSi la canule est visible, appuyez sur Annuler et jetez votre Pod.\n\nAppuyez sur Suivant pour insérer la canule et démarrer l\'injection de la basal. + Lorsque vous appuyez sur OK, la canule sera insérée. Assurez-vous d\'avoir collé le Pod sur le site de perfusion. + Insérer canule + Tentative de définir le schéma de basal et d\'insertion de la canule.\n\nUne fois la canule correctement insérée, appuyez sur Suivant. + Pod activé + Le Pod est maintenant actif.\n\nVos débits de basal ont été programmés et la canule a été insérée.\n\nVeuillez vérifier que la canule a été insérée correctement et remplacez le Pod si vous pensez que ce n\'est pas le cas. + Désactiver Pod + Appuyez sur Suivant pour désactiver le Pod.\n\nRemarque : Cela suspendra l\'injection de l\'insuline et désactivera le Pod. + Désactivation du Pod + Désactivation du Pod.\n\nUne fois la désactivation terminée, vous pouvez appuyer sur Suivant. + Pod désactivé + Votre Pod a été désactivé.\n\nVeuillez enlever le Pod de votre corps et le jeter dans le recyclage. + Pod supprimé + L\'état du Pod à été ignoré. L\'injection d\'insuline n\'a pas été suspendue car le Pod n\'a pas été correctement désactivé !\n\nVeuillez retirer le Pod de votre corps et le jeter dans le recyclage. + Si vous supprimez le Pod, vous ne pourrez plus communiquer avec lui. Vous ne devez le faire que lorsque toutes les communications avec le Pod échouent de manière permanente. Êtes-vous sûr de vouloir supprimer le Pod ? + Supprimer Pod + Bips bolus activés + Bips basal activés + Bips SMB activés + Bips DBT activés + Montrer le bouton \"Suspendre\" dans l\'onglet Omnipod + Changement d\'heure ou fuseau horaire Activé + Rappel d\'expiration activé + Heures avant arrêt + Alerte Réservoir bas activée + Nombre d\'unités + Rendre automatiquement silencieuses les alertes Pod + Autres + Alertes + Bips de confirmation + Pas de Pod actif + Configuration en cours (en attente d\'activation du Pod) + Configuration en cours (en attente d\'insertion de canule) + En cours d\'exécution + Suspendu + Défaut Pod + Délai d\'activation dépassé + Inactif + Défaut du Pod : %1$03d %2$s + Désactiver Pod + Supprimer Pod + Définir Bolus + Annuler Bolus + Définir Basal Temporaire + Annulation basal temp. (en interne par le pilote) + Annuler basal temporaire + Définir le profil de basal + Obtenir l\'état du Pod + Obtenir infos Pod + Définir l\'heure + Configurer les Alertes + Alertes silencieuses + Suspendre l\'injection + Reprendre l\'injection + Entrée inconnue + Initialiser Pod + Insérer canule + Lire journal d\'impulsion + Définir un faux débit de basal temporaire car le Pod est suspendu + Annuler le faux débit de basal temporaire créé à cause du Pod suspendu + Fractionner la basale temporaire en raison de l\'incertitude de l\'annulation + Configuration bips + Tester bips + Rappel fin d\'appairage + Rappel pour terminer la configuration + Le Pod expirera bientôt + Le Pod expirera bientôt + Arrêt imminent + Niveau réservoir bas + Alerte inconnue + Pas de Pod actif + Dernière connexion : il y a %1$d min + Dernier bolus : %1$s @ %2$s + Temps : %1$s + Étendu : %1$s + Réserve : %1$sU + Oui + Non + OK + Annuler + Alerte + À l\'instant + Moins d\'une minute + %1$s et %2$s + il y a %1$s + + %1$d minute + %1$d minutes + + + %1$d heure + %1$d heures + + + %1$d jour + %1$d jours + + + Alerte Pod : %1$s + Alertes Pod : %1$s + diff --git a/omnipod-common/src/main/res/values-it-rIT/strings.xml b/omnipod-common/src/main/res/values-it-rIT/strings.xml index e35fcaa95a..deb65859b5 100644 --- a/omnipod-common/src/main/res/values-it-rIT/strings.xml +++ b/omnipod-common/src/main/res/values-it-rIT/strings.xml @@ -2,17 +2,190 @@ + Gestione pod + Azioni + Strumenti + Attiva pod + Disattiva pod + Scarta pod + Se scarti il pod, non sarai più in grado di comunicare con esso. Dovresti farlo solo quando tutte le comunicazioni col pod falliscono persistentemente. Se puoi ancora comunicare col pod, usa l\'opzione Disattiva pod.\n\nSe desideri procedere, assicurati di rimuovere il pod dal tuo corpo! + Esegui BIP di prova + BIP di prova in esecuzione… + Storico pod + Nessun pod attivo + Impostazione profilo basale fallita. + Il bolo non è riuscito. + Impossibile impostare il profilo basale: ricevuto un profilo vuoto. Assicurati di attivare il tuo profilo basale. + Nessun profilo basale è attivo. Assicurati di attivare il tuo profilo basale. + Comando personalizzato non supportato: %1$s + Impossibile aggiornare lo stato + Impossibile aggiornare lo stato all\'avvio + Impossibile silenziare gli avvisi + Impossibile sospendere l\'erogazione + Impossibile impostare l\'ora + Impossibile riprendere l\'erogazione + Inizializzazione pod fallita + Inserimento cannula fallito + Il tempo di attivazione del pod è stato superato. Questo pod non può più essere attivato. + Impossibile verificare l\'avanzamento dell\'attivazione. Riprova. + Pod sospeso + Impossibile eseguire BIP di prova + L\'ora sul pod non è sincronizzata. Aggiorna l\'ora nella scheda Omnipod. + Si è verificato un errore imprevisto. Segnalalo! (%1$s: %2$s). + Conferma + Ora e/o fuso orario cambiati nel pod. + La configurazione degli avvisi è stata aggiornata nel pod. + L\'ora nel pod è stata aggiornata. + Tutta l\'erogazione di insulina è stata sospesa. + Gli avvisi attivi sono stati silenziati. + L\'erogazione di insulina è ripresa. + Imposta ora + Sospensione + Riprendi erogazione + GSTN pod + Silenzia avvisi + Stato pod + Totale erogato + %1$.2f U + ID univoco + Numero LOT + Numero sequenza + Scadenza pod + Ultima connessione + Ultimo bolo + Velocità basale temporanea + Velocità basale originale + Serbatoio + Attiva avvisi pod + Versione firmware + Ora nel pod + %1$.2fU/h @%2$s (%3$d/%4$d minuti) + %1$.2f U rimanenti + Oltre 50 U rimanenti + Errori + Annulla + Fine + Avanti + Riprova + Disattiva pod + Scarta pod + Non hai ancora completato tutti i passaggi. Sei sicuro di voler uscire? + Esci + Riempi pod + Inizializza pod + Collega pod + Prepara il sito di infusione. Rimuovi la protezione dell\'ago del pod e il supporto adesivo e collega il pod al sito di infusione.\n\nSe la cannula fuoriesce premi Annulla e scarta il pod.\n\nPremi Avanti per inserire la cannula e iniziare l\'erogazione della basale. + Quando premi OK, la cannula verrà inserita. Assicurati di aver collegato il pod al sito di infusione. + Inserisci cannula + Tentativo di impostare il piano basale iniziale e inserire la cannula.\n\nQuando la cannula è stata inserita con successo, puoi premere Avanti. + Pod attivato + Il nuovo pod è ora attivo.\n\nIl tuo piano basale è stato programmato e la cannula è stata inserita.\n\nVerifica che la cannula sia stata inserita correttamente e sostituisci il tuo pod se avverti il contrario. + Disattiva pod + Premi Avanti per disattivare il pod.\n\nNota: Questo sospenderà tutta l\'erogazione di insulina e disattiverà il pod. + Disattivazione pod + Disattivazione del pod.\n\nQuando la disattivazione è correttamente completata, puoi premere Avanti. + Pod disattivato + Il tuo pod è stato disattivato.\n\nRimuovi il pod dal tuo corpo e gettalo. + Pod scartato + Lo stato del pod è stato scartato. L\'erogazione di insulina non è stata sospesa perché il pod non è stato correttamente disattivato!\n\nRimuovi il pod dal tuo corpo e smaltiscilo. + Se scarti il pod, non sarai più in grado di comunicare con esso. Dovresti farlo solo quando tutte le comunicazioni col pod falliscono persistentemente. Se sicuro di voler scartare il pod? + Scarta pod + BIP bolo abilitato + BIP basale abilitato + BIP SMB abilitato + BIP TBR abilitato + Mostra tasto \"sospendi erogazione\" nella scheda Omnipod + Rilevamento ora legale/fuso orario abilitato + Promemoria scadenza abilitato + Ore prima dell\'arresto + Avviso livello serbatoio basso abilitato + Numero di unità + Silenzia automaticamente avvisi pod + Altro + Avvisi + BIP di conferma + Nessun pod attivo + Configurazione in corso (attesa attivazione pod) + Configurazione in corso (attesa inserimento cannula) + In esecuzione + Sospeso + Guasto pod + Tempo di attivazione superato + Inattivo + Guasto pod: %1$03d %2$s + Disattiva pod + Scarta pod + Imposta bolo + Cancella bolo + Imposta basale temporanea + Cancella basale temporanea (internamente dal driver) + Cancella basale temporanea + Imposta piano basale + Ottieni stato pod + Ottieni info pod + Imposta ora + Configura avvisi + Silenzia avvisi + Sospendi erogazione + Riprendi erogazione + Inserimento sconosciuto + Inizializza pod + Inserisci cannula + Leggi log impulsi + Imposta basale temporanea fittizia perché il pod è sospeso + Cancella basale temporanea fittizia creata perché il pod era sospeso + Divisione basale temporanea a causa di un errore indeterminato nella cancellazione + Configurazione BIP + Esegui BIP di prova + Fine promemoria associazione + Fine promemoria configurazione + Il pod scadrà presto + Il pod scadrà presto + L\'arresto è imminente + Livello serbatoio basso + Avviso sconosciuto + Nessun pod attivo + Ultima conn.: %1$d min fa + Ultimo bolo: %1$s @ %2$s + Temp: %1$s + Esteso: %1$s + Serb: %1$sU + + No + OK + Annulla + Avviso + Momenti fa + Meno di un minuto fa + %1$s e %2$s + %1$s fa + + %1$d minuto + %1$d minuti + + + %1$d ora + %1$d ore + + + %1$d giorno + %1$d giorni + + + Avviso pod: %1$s + Avvisi pod: %1$s + diff --git a/omnipod-common/src/main/res/values-no-rNO/strings.xml b/omnipod-common/src/main/res/values-no-rNO/strings.xml index e35fcaa95a..38fd6e2003 100644 --- a/omnipod-common/src/main/res/values-no-rNO/strings.xml +++ b/omnipod-common/src/main/res/values-no-rNO/strings.xml @@ -2,17 +2,190 @@ + Pod administrasjon + Handlinger + Verktøy + Aktiver Pod + Deaktiver Pod + Forkast Pod + Dersom du forkaster Pod, vil du ikke kunne kommunisere med den lenger. Du skal bare gjøre dette når all kommunikasjon med Pod vedvarende mislykkes. Hvis du fortsatt kan kommunisere med Pod, bruk alternativet Deaktiver Pod.\n\nHvis du ønsker å fortsette, må du huske på å fjerne Pod fra kroppen din! + Avspill testlyd + Avspiller testlyd… + Pod historikk + Ingen aktiv Pod + Feilet i å lagre basalprofilen. + Bolus var mislykket. + Feilet i å lagre basal profil: mottok en tom profil. Kontroller at du har aktivert profilen. + Ingen basal profil er aktiv. Sørg for å aktivere din basal profil. + Ukjent kommando: %1$s + Feilet i å oppdatere status + Feilet i å oppdatere status ved oppstart + Feilet i å bekrefte varsler + Feilet i å stoppe insulinleveranser + Feilet i å angi tid + Feilet i å gjenoppta leveransen + Feilet i å initialisere Pod + Feilet ved innsetting av kanyle + Pod\'ens aktiveringstid er overskredet. Denne Pod kan ikke lenger aktiveres. + Klarte ikke å verifisere fremdrift i aktiveringen. Prøv på nytt. + Pod er pauset + Feilet i avspilling av test lyd + Tid på Pod er ikke synkronisert. Vennligst oppdater tiden i Omnipod fanen. + En uventet feil oppstod. Vennligst rapporter! (%1$s: %2$s). + Bekreftelse + Tid og/eller tidssone endret på Pod. + Varselinnstillinger har blitt oppdatert på Pod. + Tiden på Pod har blitt oppdatert. + All insulintilførsel har blitt pauset. + Aktive varsler har blitt bekreftet. + Insulintilførselen er gjenopptatt. + Angi tid + Pauset + Gjenoppta levering + Pod administrasjon + Demp varsler + Pod status + Totalt levert + %1$.2f E + Unik ID + LOT nummer + Sekvens nummer + Pod utløper + Siste tilkobling + Siste bolus + Temp basal rate + Profilens basal dose + Reservoar + Aktive Pod varsler + Firmware versjon + Tid på Pod + %1$.2fE/t @%2$s (%3$d/%4$d minutter) + %1$.2f E igjen + Over 50 E igjen + Feil + Avbryt + Fullfør + Neste + Prøv igjen + Deaktiver Pod + Forkast Pod + Du har ikke fullført alle trinn ennå. Er du sikker på at du vil avslutte? + Avslutt + Fyll Pod + Initialiser Pod + Fest Pod + Klargjør infusjonsstedet. Fjern Pod\'ens kanylebeskyttelse og papirfolien, og fest Pod til infusjonsstedet.\n\nHvis du oppdager feil med kanylen, trykk Avbryt og forkast Pod.\n\nTrykk Neste for å sette inn kanyle og starte påfyllingsbolus. + Når du trykker OKvil kanylen settes inn. Pass på at du har festet Pod\'en på infusjonsstedet. + Sett inn kanyle + Prøver å angi initialt basal program og sett inn kanylen.\n\nNår kanylen er vellykket på plass kan du trykke på Neste. + Pod aktivert + Den nye Pod\'en er nå aktiv.\n\nDin basalprofil har blitt lagret og kanylen er inne.\n\nVennligst kontroller at kanylen ble satt riktig inn og skift Pod hvis du tror det har oppstått feil med innsettingen. + Deaktiver Pod + Trykk på Neste for å deaktivere Pod.\n\nMerk: Dette vil stanse all insulintilførsel og deaktivere Pod. + Deaktiverer Pod + Deaktivering av Pod.\n\nNår deaktiveringen er vellykket utført, kan du trykke på Neste. + Pod deaktivert + Din Pod er deaktivert.\n\nVennligst fjern Pod\'en fra kroppen din og lever den inn for gjenvinning. + Pod forkastet + Pod\'ens tilstand er forkastet. Insulintilførsel har ikke blitt stanset fordi Pod ikke har blitt ordentlig deaktivert!\n\nVennligst fjern Pod fra kroppen og lever den inn for gjenvinning. + Dersom du forkaster Pod vil du ikke være i stand til å kommunisere med den lenger. Du skal bare gjøre dette når all kommunikasjon med Pod konsekvent feiler. Er du sikker på at du vil forkaste Pod? + Forkast Pod + Bolus lyd aktivert + Basal lyd aktivert + SMB lyd aktivert + TBR lyd aktivert + Vis Pause insulintilførsel knapp i Omnipod meny + DST/Tidssone deteksjon aktivert + Utløpspåminnelse aktivert + Timer før nedstenging + Varsel om lavt reservoar aktivert + Antall enheter + Automatisk demp Pod varsler + Annet + Varsler + Bekreftelse lyd + Ingen aktiv Pod + Oppsett pågår (venter på Pod aktivering) + Oppsett pågår (venter på innsetting av kanyle) + Kjører + Pauset + Pod feil + Aktiveringstiden er overskredet + Inaktiv + Pod feil: %1$03d %2$s + Deaktiver Pod + Forkast Pod + Angi Bolus + Avbryt bolus + Angi Temp Basal + Avbryt temp basal (internt av driver) + Avbryt temp basal + Angi basal program + Les Pod status + Les Pod info + Angi tid + Konfigurer varsler + Demp varsler + Pause levering + Gjenoppta levering + Ukjent inntasting + Initialiser Pod + Sett inn kanyle + Les Pulslogg + Angi vilkårlig midlertidig basal fordi Pod er pauset + Avbryt vilkårlig midlertidig basal som er opprettet fordi Pod var pauset + Del midlertidig basal fordi en uavklart feil ble oppdaget ved kanselleringen + Oppsett lyd + Avspill testlyd + Fullfør parringspåminnelse + Påminnelse om å fullføre oppsett + Pod utløper snart + Pod utløper snart + Pod vil straks bli avsluttet + Lavt reservoar + Ukjent varsel + Ingen aktiv Pod + Siste tilkobling: %1$d min siden + Siste bolus: %1$s @ %2$s + Temp: %1$s + Forlenget: %1$s + Reservoar: %1$s E + Ja + Nei + OK + Avbryt + Varsel + For litt siden + Mindre enn ett minutt siden + %1$s og %2$s + %1$s siden + + %1$d minutt + %1$d minutter + + + %1$d time + %1$d timer + + + %1$d dag + %1$d dager + + + Pod varsel: %1$s + Pod varsler: %1$s + diff --git a/omnipod-common/src/main/res/values-pt-rPT/strings.xml b/omnipod-common/src/main/res/values-pt-rPT/strings.xml index e35fcaa95a..7abb46a892 100644 --- a/omnipod-common/src/main/res/values-pt-rPT/strings.xml +++ b/omnipod-common/src/main/res/values-pt-rPT/strings.xml @@ -2,17 +2,181 @@ + Gestão Pod + Ações + Ferramentas + Activar Pod + Desactivar Pod + Descartar Pod + Se descartar o Pod, não conseguirá mais comunicar com ele. Só deve fazer isto quando todas as comunicações com o Pod falharem persistentemente. Se ainda puder comunicar com o Pod, por favor, utilize a opção Desactivar Pod.\n\nSe quiser prosseguir, certifique-se de remover o Pod do seu corpo! + Reproduzir Teste do Beep + A reproduzir Beep de Teste… + Histórico do Pod + Nenhum Pod Activo + A configuração do perfil basal falhou. + Bólus não foi bem-sucedido. + Falha ao definir o perfil basal: recebido um perfil vazio. Certifique-se de ativar o seu perfil basal. + Não há perfil basal activo. Certifique-se de activar o seu perfil basal. + Falhou ao actualizar o estado + Falha ao actualizar estado na inicialização + Falha ao suspender a administração + Falha ao definir a hora + Falha ao retomar a administração + Falha ao iniciar o Pod + Falha ao inserir cânula + O tempo de activação do Pod foi excedido. Este Pod não pode mais ser activado. + Falha ao verificar o progresso da activação. Por favor, tente novamente. + Pod suspenso + Falha ao tocar beep + A hora no Pod não está sincronizada. Por favor, actualize a hora no separador Omnipod. + Ocorreu um erro inesperado. Por favor, reporte! (%1$s: %2$s). + Confirmação + Hora e/ou Fuso Horário alterado no Pod. + Configuração de alerta foi actualizada no Pod. + A hora no Pod foi actualizada. + Toda administração de insulina foi suspensa. + A administração de insulina foi retomada. + Definir hora + Suspender + Retomar Administração + Gestão Pod + Estado do Pod + Total Administrado + %1$.2f U + Pod Expira + Última Ligação + Último Bólus + Taxa Basal Temp + Taxa Basal de Base + Reservatório + Alertas Pod Activos + Versão do Firmware + Hora no Pod + %1$.2fU/h @%2$s (%3$d/%4$d minutos) + %1$.2f U restante + Mais de 50 U restantes + Erros + Cancelar + Terminar + Seguinte + Tentar Novamente + Desactivar Pod + Descartar Pod + Ainda não completou todas as etapas. Tem certeza que quer sair? + Sair + Preencher Pod + Inicializar Pod + Anexar Pod + Prepare o local de infusão. Remova a tampa da agulha do Pod e o adesivo e anexe o Pod no local de infusão.\n\nSe a canula sair, por favor, pressione Cancelar e descarte o Pod.\n\nPressione Seguinte para inserir a cânula e começar a administração da basal. + Quando pressionar OK, a cânula será inserida. Certifique-se de ter anexado o Pod ao local de infusão. + Inserir Cânula + A tentar definir o horário da basal inicial e inserir a cânula.\n\nQuando a cânula for inserida com sucesso, pode pressionar Seguinte. + Pod Activado + O novo Pod está activo agora.\n\nO horário da basal foi programado e a cânula foi inserida.\n\nPor favor, verifique se a cânula foi inserida corretamente e mude o seu Pod se acha que não. + Desactivar Pod + Pressione Seguinte para desactivar o Pod.\n\nNota: Isto irá suspender toda a administração de insulina e desactivar o Pod. + A Desactivar Pod + A desactivar o Pod.\n\nQuando a desativação for concluída com sucesso, pode pressionar Seguinte. + Pod Desactivado + O seu Pod foi desactivado.\n\nPor favor, retire o Pod do seu corpo e recicle-o. + Pod Descartado + O estado do Pod foi descartado. A administração da insulina não foi suspensa porque o Pod não foi corretamente desactivado!\n\nRemova o Pod do seu corpo e recicle-o. + Se descartar o Pod, não será capaz de comunicar mais com ele. Só deve fazer isso quando toda a comunicação com o Pod falhar persistentemente. Tem certeza que deseja descartar o Pod? + Descartar Pod + Beeps bólus activados + Beeps de basal activados + Beeps SMB activado + Beeps TBR activados + Mostrar Botão Suspender Administração no separador Omnipod + Detecção de DST/Fuso Horário Activado + Lembrete de expiração activado + Horas antes de desligar + Alerta de reservatório baixo activado + No. Unidades + Outro + Alertas + Beeps de Confirmação + Nenhum Pod Activo + Configuração em progresso (a aguardar activação do Pod) + Configuração em progresso (a aguardar inserção de cânula) + A correr + Suspenso + Falha no Pod + Tempo de activação excedido + Inactivo + Falha no Pod: %1$03d %2$s + Desactivar Pod + Descartar Pod + Definir Bólus + Cancelar Bólus + Definir Basal Temporária + Cancelar Basal Temporária (internamente pelo controlador) + Cancelar Basal Temporária + Definir Programação Basal + Obter Status do Pod + Obter Pod Info + Definir Hora + Configurar Alertas + Suspender Administração + Retomar Administração + Entrada Desconhecida + Inicializar Pod + Inserir Cânula + Ler Pulse Log + Definir falsa basal temporária porque o Pod está suspenso + Cancelar falsa basal temporária que foi criada porque o Pod foi suspenso + Dividir basal temporária por causa de falha incerta no cancelamento + Configuração do Beep + Reproduzir Teste do Beep + Lembrete Concluir Emparelhamento + Lembrete Terminar Configuração + Pod vai expirar em breve + Pod vai expirar em breve + Encerramento iminente + Reservatório Baixo + Alerta Desconhecido + Nenhum Pod Activo + ÚltimaLig: %1$d min. atrás + ÚltimoBólus: %1$s @ %2$s + Temp: %1$s + Estendido: %1$s + Reserv: %1$sU + Sim + Não + OK + Cancelar + Aviso + Momentos atrás + Há menos de um minuto + %1$s e %2$s + %1$s atrás + + %1$d minuto + %1$d minutos + + + %1$d hora + %1$d horas + + + %1$d dia + %1$d dias + + + Alerta Pod: %1$s + Alertas Pod: %1$s + diff --git a/omnipod-common/src/main/res/values-ru-rRU/strings.xml b/omnipod-common/src/main/res/values-ru-rRU/strings.xml index e35fcaa95a..8be8ada62d 100644 --- a/omnipod-common/src/main/res/values-ru-rRU/strings.xml +++ b/omnipod-common/src/main/res/values-ru-rRU/strings.xml @@ -2,17 +2,198 @@ + Управление помпой Omnipod + Действия + Инструментарий + Активировать Pod + Деактивировать Pod + Утилизировать Pod + Если нажать Утилизировать Pod, вы больше не сможете обмениваться командами с Pod. Сделайте это только в том случае, если связь с помпой постоянно отсутствует. Если связь с Pod еще возможна, воспользуйтесь опцией Деактивировать Pod.\n\n Если все же хотите продолжить, снимите помпу с тела! + Воспроизвести тестовый звуковой сигнал + Воспроизводится тестовый звуковой сигнал… + Журнал помпы + Активная помпа не выбрана + Настройка базального профиля не состоялась. + Болюс не подан. + Не удалось задать базальный профиль: получен пустой профиль. Активируйте профиль базала. + Базальный профиль не активен. Активируйте профиль базала. + Неподдерживаемая пользовательская команда: %1$s + Не удалось обновить статус + Не удалось обновить статус при запуске + Не удалось заглушить оповещения + Не удалось приостановить подачу + Не удалось задать время + Не удалось возобновить подачу + Не удалось инициализировать Pod + Не удалось установить канюлю + Превышено время активации Pod. Этот Pod больше не может быть активирован. + Не удалось проверить ход активации. Повторите попытку. + Omnipod остановлен + Не удалось воспроизвести тестовый звуковой сигнал + Время в Pod не синхронизировано. Обновите время на вкладке Omnipod. + Непредвиденная ошибка. Сообщите об ошибке! (%1$s:%2$s). + Подтверждение + Время и/или часовой пояс изменены на Pod. + Конфигурация оповещений обновлена в Pod. + Время на Pod обновлено. + Все подачи инсулина приостановлены. + Активные оповещения были заглушены. + Подача инсулина возобновлена. + Установить время + Останов + Возобновить подачу + Управление помпой + Заглушить + Статус помпы + Всего подано + %1$.2f ед + Уникальный ID + Номер партии + Порядковый номер + Срок действия Пода истекает + Прошлое соединение + Прошлый болюс + Временная базальная скорость + Базовая скорость базала + Резервуар + Активные оповещения помпы + Версия прошивки + Время на Pod + %1$.2fед/ч @%2$s (%3$d/%4$d мин) + %1$.2f ед. осталось + Осталось свыше 50 ед + Ошибки + Отменить + Завершить + Далее + Повторить + Деактивировать Pod + Утилизировать Pod + Вы еще не выполнили все шаги. Действительно хотите выйти? + Выход + Заполнить Pod + Инициализировать Pod + Подключить Pod + Подготовьте место инфузии. Удалите колпачок с иглы и защиту липкого слоя, Установите Pod на тело.\n\nесли канюля выступает, нажмите Отмена и утилизируйте Pod.\n\nНажмите Далее чтобы установить катетер и начать подачу базала. + При нажатии OKбудет установлен катетер. Убедитесь, что вы подключили Pod к инфузионному отсеку. + Вставить катетер + Определение графика подачи базала и установка катетера. \n\n После установки катетера нажмите Далее. + Pod активирован + Новый Pod активирован.\n\nБазальный график запрограммирован и катетер установлен.\n\nУбедитесь в том, что катетер установлен правильно и замените Pod, если такой уверенности нет. + Деактивировать Pod + \nНажмите Далее для деактивации Pod \n\nПримечание: Это Приостановит любую подачу инсулина и деактивирует помпу. + Pod деактивируется + Деактивация Pod.\n\nПри успешной деактивации можно нажать Далее. + Pod деактивирован + Pod деактивирован.\n\nУдалите и утилизируйте Pod. + Pod сброшен + Состояние Pod cброшено. Подача инсулина не была приостановлена, так как Pod не был правильно деактивирован!\n\nУдалите Pod с тела и утилизируйте его. + Если сбросить Pod, дальнейшая коммуникация с ним невозможна. Делайте это только тогда, когда все попытки связи с Pod неудачны. Вы уверены, что хотите cбросить Pod? + Утилизировать Pod + Звуковой сигнал болюса включен + Звуковой сигнал базала включен + Звуковой сигнал микроболюса SMB включен + Звуковой сигнал временного базала TBR включен + Показывать кнопку Приостановить подачу на вкладке Omnipod + Включено обнаружение часового пояса + Включено напоминание об истечении срока действия + Часов до выключения + Предупреждение о низком уровне в резервуаре включено + К-во единиц + Автоматически заглушать прочитанные оповещения + Другое + Оповещения + Звуковые сигналы подтверждения + Нет активных Pod + Выполняется настройка (ожидание активации Pod) + Выполняется настройка (ожидание ввода катетера) + Выполняется + Приостановлено + Ошибка Pod + Превышено время активации + Неактивирован + Ошибка Pod: %1$03d %2$s + Деактивировать Pod + Утилизировать Pod + Настроить болюс + Отменить болюс + Установить временный базал + Отменить временный базал (внутренний драйвер) + Отменить временный базал + Задать расписание базала + Получить состояние Pod + Получить информацию о Pod + Установить Время + Сконфигурировать оповещения + Заглушать сигналы оповещения + Приостановить подачу + Возобновить подачу + Неизвестная запись + Инициализировать Pod + Вставить катетер + Читать журнал импульсов + Установить фейковый временный базал, так как Pod остановлен + Отменить фейковый временный базал, который был создан из-за приостановки действия Pod + Разбить временный базаль из-за неясной ошибки при отмене + Конфигурация звукового сигнала + Воспроизвести тестовый звуковой сигнал + Напоминание о завершении сопряжения + Напоминание о завершении настройки + Срок работы Pod\'a истекает + Срок работы Pod\'a истекает + Остановка неизбежна + В резервуаре мало инсулина + Неизвестное оповещение + Нет активных Pod + Предыдущее соединение: %1$d мин. назад + Предыдущий болюс: %1$s @ %2$s + Временн %1$s + Пролонгированный: %1$s + Резервуар: %1$sед + Да + Нет + OK + Отменить + Внимание + Только что + Менее минуты назад + %1$s и %2$s + %1$s назад + + %1$d минута + %1$d мин + %1$d мин + %1$d мин + + + %1$d час + %1$d ч + %1$d ч + %1$d ч + + + %1$d день + %1$d д + %1$d д + %1$d д + + + Оповещений Pod: %1$s + Оповещений Pod: %1$s + Оповещений Pod: %1$s + Оповещений Pod: %1$s + diff --git a/omnipod-common/src/main/res/values/strings.xml b/omnipod-common/src/main/res/values/strings.xml index b81e59135c..eb3ae323c6 100644 --- a/omnipod-common/src/main/res/values/strings.xml +++ b/omnipod-common/src/main/res/values/strings.xml @@ -12,6 +12,7 @@ AAPS.Omnipod.low_reservoir_alert_enabled AAPS.Omnipod.low_reservoir_alert_units AAPS.Omnipod.automatically_acknowledge_alerts_enabled + common_preferences_category_alerts Pod Management diff --git a/omnipod-dash/src/main/res/values-cs-rCZ/strings.xml b/omnipod-dash/src/main/res/values-cs-rCZ/strings.xml index c690568d07..059619b513 100644 --- a/omnipod-dash/src/main/res/values-cs-rCZ/strings.xml +++ b/omnipod-dash/src/main/res/values-cs-rCZ/strings.xml @@ -1,6 +1,9 @@ + Integrace pumpy pro Omnipod Dash (nový model s funkcí Bluetooth a modrým krytem). + Stav Bluetooth + Adresa Bluetooth diff --git a/omnipod-dash/src/main/res/values-fr-rFR/strings.xml b/omnipod-dash/src/main/res/values-fr-rFR/strings.xml index c690568d07..5c3615e060 100644 --- a/omnipod-dash/src/main/res/values-fr-rFR/strings.xml +++ b/omnipod-dash/src/main/res/values-fr-rFR/strings.xml @@ -1,6 +1,9 @@ + Intégration de la pompe Omnipod Dash (le nouveau modèle Bluetooth, avec un bouchon d\'aiguille bleue). + État Bluetooth + Adresse Bluetooth diff --git a/omnipod-dash/src/main/res/values-it-rIT/strings.xml b/omnipod-dash/src/main/res/values-it-rIT/strings.xml index c690568d07..85381120db 100644 --- a/omnipod-dash/src/main/res/values-it-rIT/strings.xml +++ b/omnipod-dash/src/main/res/values-it-rIT/strings.xml @@ -1,6 +1,9 @@ + Integrazione del microinfusore Omnipod Dash (il nuovo modello, abilitato al Bluetooth e con la protezione ago di colore blu). + Stato bluetooth + Indirizzo bluetooth diff --git a/omnipod-dash/src/main/res/values-no-rNO/strings.xml b/omnipod-dash/src/main/res/values-no-rNO/strings.xml index c690568d07..7e3cb97ee9 100644 --- a/omnipod-dash/src/main/res/values-no-rNO/strings.xml +++ b/omnipod-dash/src/main/res/values-no-rNO/strings.xml @@ -1,6 +1,9 @@ + Pumpeintegrering for Omnipod Dash (den nye, Bluetooth-aktiverte modellen med en blå kanylehette). + Bluetooth status + Bluetooth adresse diff --git a/omnipod-dash/src/main/res/values-ru-rRU/strings.xml b/omnipod-dash/src/main/res/values-ru-rRU/strings.xml index c690568d07..a53ecbb853 100644 --- a/omnipod-dash/src/main/res/values-ru-rRU/strings.xml +++ b/omnipod-dash/src/main/res/values-ru-rRU/strings.xml @@ -1,6 +1,9 @@ + Интеграция с помпой Omnipod Dash (новая модель с поддержкой Bluetooth, с синим колпачком на игле). + Статус Bluetooth + Адрес Bluetooth diff --git a/omnipod-dash/src/main/res/values/strings.xml b/omnipod-dash/src/main/res/values/strings.xml index 5ea562af03..a9ead9ff3a 100644 --- a/omnipod-dash/src/main/res/values/strings.xml +++ b/omnipod-dash/src/main/res/values/strings.xml @@ -11,4 +11,6 @@ Bluetooth Status Bluetooth Address + omnipod_common_preferences_category_confirmation + common_preferences_category_other
\ No newline at end of file diff --git a/omnipod-dash/src/main/res/xml/omnipod_dash_preferences.xml b/omnipod-dash/src/main/res/xml/omnipod_dash_preferences.xml index d836089473..26d400e602 100644 --- a/omnipod-dash/src/main/res/xml/omnipod_dash_preferences.xml +++ b/omnipod-dash/src/main/res/xml/omnipod_dash_preferences.xml @@ -1,7 +1,11 @@ - + - + - + + Intégration de la pompe Omnipod Eros (l\'ancien modèle avec un capuchon d\'aiguille transparent). Nécessite un RileyLink avec au moins la version 2.0. + Configuration RileyLink + Notifications + Afficher le bouton Journal d\'impulsions dans le menu de gestion des pods + Afficher le bouton Stats RileyLink dans le menu de gestion du pod + Activer l\'enregistrement des changements de pile dans Actions + RileyLink + Son pour les notifications DBT incertains activé + Son pour les notifications SMB incertains activé + Son pour les notifications bolus incertains activé + Historique Pod + Description + Source + Date + Type : + %1$.2f U + %1$.2f U, Gluc=%2$.1f g + Débit : %1$.2f U, durée : %2$d minutes + Bat. RL : %1$d + Adresse RileyLink invalide. + Echec de la communication: échec de la vérification de l\'intégrité du message + Échec de communication : paquet invalide reçu du Pod + Échec de communication : état du Pod incorrect + Échec de communication : réponse invalide reçue du Pod + Échec de communication : message reçu du Pod avec un numéro de séquence invalide + Échec de communication : message reçu du Pod avec une adresse invalide + Échec de communication : le décodage du message reçu du Pod a échoué + Échec de communication : resynchro numéro unique échouée + Échec de communication : numéro unique non synchro + Échec de communication : pas assez de données reçues du Pod + Un défaut du Pod a été détecté (%1$03d %2$s). Veuillez désactiver votre Pod et en activer un nouveau + Échec de communication : le Pod a renvoyé un message d\'erreur + Aucune réponse du RileyLink + RileyLink interrompu + Pas de réponse du Pod + Le paramétrage du profil basal a échoué. L\'injection peut être suspendue ! Actualisez manuellement l\'état du Pod à partir de l\'onglet Omnipod et reprenez l\'injection si nécessaire. + Le paramétrage du profil basal a peut-être échoué. L\'injection peut être suspendue ! Actualisez manuellement l\'état du Pod à partir de l\'onglet Omnipod et reprenez l\'injection si nécessaire. + Le paramétrage du profil basal a échoué. L\'injection est suspendue ! Veuillez poursuivre manuellement l\'injection à partir de l\'onglet Omnipod. + L\'annulation de la basale temporaire peut avoir échouée. Veuillez actualiser manuellement l\'état du Pod depuis l\'onglet Omnipod. + Le paramétrage de la basale temp a échoué. Si une basale temp était en cours d\'exécution, elle a peut-être été annulée. Veuillez actualiser manuellement l\'état du Pod à partir de l\'onglet Omnipod. + Le paramétrage du basal temp a peut-être échoué. Si un basal temp était en cours d\'exécution, il a été annulé. Veuillez actualiser manuellement l\'état du Pod à partir de l\'onglet Omnipod. + La durée du DBT doit être supérieure à zéro et un multiple de %1$s minutes. + Le paramétrage de l\'heure a peut-être échoué. L\'injection peut être suspendue ! Actualisez manuellement l\'état du Pod à partir de l\'onglet Omnipod et reprenez l\'injection si nécessaire. + Le paramétrage de l\'heure a échoué. L\'injection est suspendue ! Veuillez poursuivre manuellement l\'injection à partir de l\'onglet Omnipod. + Échec lecture Journal d\'impulsions + Échec pour changer automatiquement l\'heure sur le Pod. Vous devez synchroniser manuellement l\'heure dans l\'onglet Omnipod. + Operation impossible.\n\nVous devez d\'abord configurer l\'Omnipod pour pouvoir faire cette operation. + Impossible de vérifier si le bolus a réussi. Veuillez vérifier manuellement que votre Pod est en train de délivrer un bolus en écoutant des clics. Si vous êtes sûr que le bolus n\'a pas réussi, vous devez supprimer manuellement l\'entrée bolus des traitements, même si vous cliquez sur \'Annuler bolus\' maintenant ! + Impossible de vérifier si le bolus SMB (%1$.2f U) a réussi. Si vous êtes certain que le bolus n\'a pas réussi, vous devez supprimer manuellement l\'entrée SMB des traitements. + Un basal temporaire est en cours d\'exécution sur le Pod, mais AAPS n\'est pas au courant de ce basal temporaire. Veuillez annuler votre basal temporaire manuellement. + Stats RileyLink + En attente de connexion RileyLink... + Réinitialiser la config. RileyLink + Lire journal d\'impulsion + Lecture journal d\'impulsion… + Enreg. Pulse + Journal d\'impulsions (copié dans presse-papiers) + Remplir le nouveau Pod avec suffisamment d\'insuline pour 3 jours.\n\nÉcoutez les deux bips du Pod pendant le processus de remplissage. Ils indiquent que la quantité minimale de 85U a été ajouté. Assurez-vous de vider complètement la seringue de remplissage, même après avoir entendu les deux bips.\n\nAprès avoir rempli le Pod, veuillez appuyer sur Suivant.\n\nRemarque : Ne retirez pas la protection de l\'aiguille du Pod pour le moment.\nRemarque :Veuillez placer le RileyLink en position verticale et placez le Pod quelques centimètres à côté. + Tentative d\'appairage et d\'amorçage du nouveau Pod.\n\nUne fois le processus d\'initialisation terminé, appuyez sur Suivant.\n\nRemarque : Veuillez placer le RileyLink en position verticale et placez le Pod à quelques centimètres de lui. + incertain diff --git a/omnipod-eros/src/main/res/values-it-rIT/strings.xml b/omnipod-eros/src/main/res/values-it-rIT/strings.xml index bc89093c83..af5dec791c 100644 --- a/omnipod-eros/src/main/res/values-it-rIT/strings.xml +++ b/omnipod-eros/src/main/res/values-it-rIT/strings.xml @@ -1,13 +1,73 @@ + Integrazione del microinfusore Omnipod Eros (il modello più vecchio con la protezione ago di colore trasparente). Richiede un dispositivo RileyLink con almeno la versione firmware 2.0. + Configurazione RileyLink + Notifiche + Mostra tasto \"log impulsi\" nel menu gestione pod + Mostra tasto \"statistiche RileyLink\" nel menu gestione pod + Abilita log cambio batteria in \"Azioni\" + RileyLink + Suono notifiche TBR incerto abilitato + Suono notifiche SMB incerto abilitato + Suono notifiche bolo incerto abilitato + Storico pod + Descrizione + Fonte + Data + Tipo: + %1$.2f U + %1$.2f U, CHO=%2$.1f g + Tasso: %1$.2f U, durata: %2$d minuti + RLBatt: %1$d + Indirizzo RileyLink non valido. + Comunicazione fallita: verifica dell\'integrità del messaggio fallita + Comunicazione fallita: ricevuto un pacchetto non valido dal pod + Comunicazione fallita: il pod è in uno stato non corretto + Comunicazione fallita: ricevuta una risposta non valida dal pod + Comunicazione fallita: ricevuto dal pod un messaggio con una sequenza numerica non valida + Comunicazione fallita: ricevuto dal pod un messaggio con un indirizzo non valido + Comunicazione fallita: non si è riuscito a decodificare il messaggio dal pod + Comunicazione fallita: risincronizzazione \'nonce\' non riuscita + Comunicazione fallita: \'nonce\' non sincronizzato + Comunicazione fallita: non abbastanza dati ricevuti dal pod + È stato rilevato un guasto al pod (%1$03d %2$s). Disattiva il tuo pod e avviane uno nuovo + Comunicazione fallita: il pod ha restituito una risposta di errore + Nessuna risposta da RileyLink + RileyLink interrotto + Nessuna risposta dal pod + Impostazione profilo basale fallita. L\'erogazione potrebbe essere sospesa! Aggiorna manualmente lo stato del pod dalla scheda Omnipod e riprendi l\'erogazione se necessario. + L\'Impostazione del profilo basale potrebbe essere fallita. L\'erogazione potrebbe essere sospesa! Aggiorna manualmente lo stato del pod dalla scheda Omnipod e riprendi l\'erogazione se necessario. + Impostazione profilo basale fallita. L\'erogazione è sospesa! Riprendi manualmente l\'erogazione dalla scheda Omnipod. + La cancellazione della basale temporanea potrebbe essere fallita. Aggiorna manualmente lo stato del pod dalla scheda Omnipod. + Impostazione basale temporanea fallita. Se una basale temporanea era precedentemente in esecuzione, potrebbe essere stata cancellata. Aggiorna manualmente lo stato del pod dalla scheda Omnipod. + L\'impostazione della basale temporanea potrebbe essere fallita. Se una basale temporanea era precedentemente in esecuzione, è stata cancellata. Aggiorna manualmente lo stato del pod dalla scheda Omnipod. + La durata del TBR deve essere maggiore di zero e un multiplo di %1$s minuti. + L\'Impostazione dell\'ora potrebbe essere fallita. L\'erogazione potrebbe essere sospesa! Aggiorna manualmente lo stato del pod dalla scheda Omnipod e riprendi l\'erogazione se necessario. + Impostazione ora fallita. L\'erogazione è sospesa! Riprendi manualmente l\'erogazione dalla scheda Omnipod. + Impossibile leggere il log impulsi + Impossibile cambiare automaticamente l\'ora nel pod. Dovresti sincronizzare manualmente l\'ora nella scheda Omnipod. + Operazione non possibile.\n\nDevi prima configurare Omnipod. + Impossibile verificare se il bolo è riuscito. Verifica manualmente che il tuo pod stia erogando insulina ascoltando i click. Se sei sicuro che il bolo non sia riuscito, dovresti eliminare manualmente l\'inserimento del bolo dalla sezione Trattamenti, anche se fai click su \'Cancella bolo\' in questo momento! + Impossibile verificare che il bolo SMB (%1$.2f U) sia riuscito. Se sei sicuro che il bolo non sia riuscito, dovresti eliminare manualmente l\'inserimento dalla sezione Trattamenti. + Una basale temporanea è in esecuzione sul pod, ma AAPS non ne è a conoscenza. Cancella manualmente la tua basale temporanea. + Statistiche RileyLink + Attesa connessione RileyLink… + Reset config.ne RileyLink + Leggi log impulsi + Lettura log impulsi… + Log impulsi + Log impulsi (copiato negli appunti) + Riempi un nuovo pod con abbastanza insulina per 3 giorni.\n\nResta in ascolto di due bip dal pod durante il processo di riempimento. Questi indicano che è stata inserita la quantità minima di 85U. Assicurati di svuotare completamente la siringa di riempimento, anche dopo aver sentito i due segnali acustici.\n\nDopo il riempimento del pod, premi Avanti.\n\nNota: non rimuovere la protezione dell\'ago del pod in questo momento.\nNota: colloca il RileyLink in posizione verticale e il pod a pochi centimetri di distanza. + Tentativo di associazione nuovo pod e caricamento.\n\nQuando il processo di inizializzazione è stato completato con successo, puoi premere Avanti.\n\nNota: colloca il RileyLink in posizione verticale e il pod a pochi centimetri di distanza. + indeterminato diff --git a/omnipod-eros/src/main/res/values-no-rNO/strings.xml b/omnipod-eros/src/main/res/values-no-rNO/strings.xml index bc89093c83..a627c8dcba 100644 --- a/omnipod-eros/src/main/res/values-no-rNO/strings.xml +++ b/omnipod-eros/src/main/res/values-no-rNO/strings.xml @@ -1,13 +1,73 @@ + Pumpeintegrering for Omnipod Eros (den eldre modellen med en gjennomsiktig kanylehette). Den krever en RileyLink-enhet med firmware minst versjon 2.0. + RileyLink konfigurasjon + Varsler + Vis Pulslogg knappen i Pod menyen + Vis RileyLink status knapp i Pod menyen + Aktiver logging av batteribytte i Aksjoner + RileyLink + Lydvarsel for usikre TBR er aktivert + Lydvarsel for usikre SMB er aktivert + Lydvarsel for usikre bolus er aktivert + Pod historikk + Beskrivelse + Kilde + Dato + Type: + %1$.2f E + %1$.2f E, KH=%2$.1f g + Dose: %1$.2f E, varighet: %2$d min + RL batteri: %1$d + RileyLink adressen er ugyldig. + Kommunikasjonsfeil: klarte ikke å verifisere meldingen + Kommunikasjonsfeil: mottok en ugyldig datapakke fra Pod + Kommunikasjonsfeil: Pod er i feil tilstand + Kommunikasjonsfeil: mottok en ugyldig respons fra Pod + Kommunikasjonsfeil: mottok en en melding med ugyldig sekvensnummer fra Pod + Kommunikasjonsfeil: mottok en melding fra Pod med ugyldig adresse + Kommunikasjonsfeil: klarte ikke å tolke meldingen fra Pod + Kommunikasjonsfeil: fornying av kommunikasjonsnøkkel (nounce) feilet + Kommunikasjonsfeil: kommunikasjonsnøkkel (nounce) er ikke synkronisert + Kommunikasjonsfeil: mottok ikke tilstrekkelig med data fra Pod + En Pod feil (%1$03d %2$s) er oppdaget. Vennligst deaktiver din Pod og start en ny + Kommunikasjonsfeil: Pod returnerte en feilmelding + Ingen respons fra RileyLink + Koblingen til RileyLink avbrutt + Ingen svar fra Pod + Endring av basalprofil mislyktes. Insulinlevering kan bli stoppet! Vennligst velg Oppdater Pod fra Omnipod fanen og velg gjenoppta levering hvis nødvendig. + Endring av basalprofil kan ha feilet. Insulinlevering kan bli stoppet! Vennligst velg Oppdater Pod fra Omnipod fanen og velg gjenoppta levering hvis nødvendig. + Endring av basal profil mislyktes. Insulinlevering er stoppet! Velg gjenoppta levering manuelt fra Omnipod-menyen. + Mislyktes trolig med å kansellere temp basal. Vennligst oppdater Pod status manuelt fra Omnipod menyen. + Endring av midlertidig basal var mislykket. En tidligere midlertidig basal kan ha blitt kansellert. Oppdater statusen på Pod manuelt fra Omnipod fanen. + Setting av temp basal kan ha feilet. Hvis en temp basal allerede var aktiv så er den nå avbrutt. Vennligst oppdater Pod status manuelt fra Omnipod menyen. + TBR varighet må være større enn null og et multiplum av %1$s minutter. + Innstilling av tid kan ha mislyktes. Insulinlevering kan være pauset! Oppdater statusen manuelt fra fanen Omnipod og gjenoppta levering hvis nødvendig. + Endring av tid mislyktes. Insulinlevering er pauset! Velg gjenoppta levering manuelt fra Omnipod-fanen. + Feilet i å lese Pulsloggen + Feilet i forsøket på å endre tid på Pod. Du må gå inn i Omnipod menyen og manuelt synkronisere tiden. + Operasjon ikke mulig.\n\n Du må konfigurere Medtronic pumpen før du kan bruke denne funksjonen. + Kan ikke kontrollere om bolusdosen ble gitt. Kontroller at Pod\'en gir bolus ved å lytte etter klikkk. Dersom du er sikker på at bolusen ikke var vellykket, bør du manuelt slette bolusoppføring fra Behandlingene, selv om du klikker \'Avbryt bolus\' nå! + Klarte ikke å bekrefte om SMB bolus (%1$.2f E) ble gitt. Hvis du er helt sikker på at Bolus ikke ble levert, da bør du manuelt slette SMB-oppføringen fra Behandlinger. + En midlertidig basal utføres på Pod, men AAPS har ingen informasjon om denne midlertidige basalen. Vennligst avbryt midlertidig basal manuelt. + RileyLink statistikk + Venter på RileyLink tilkobling… + Tilbakestill RileyLink oppsett + Les Pulslogg + Leser pulslogg… + Pulslogg + Pulslogg (kopiert til utklippstavlen) + Fyll en ny Pod med nok insulin for 3 dager.\n\nLytt etter to lydsignaler fra Pod under fyllingen. Disse indikerer at minimums volum på 85E er fylt opp. Vær nøye med å tømme fyllingssprøyten helt, selv etter at du har hørt de to lydsignalene.\n\nEtter fylling av Pod, vennligst trykk Neste.\n\nMerk: vent med å fjern kanylebeskyttelsen til Pod. \nMerk: plasser RileyLink i en stående posisjon og legg Pod kun noen cm unna denne. + Prøver å koble opp mot den nye Pod og sette påfyllingsbolus.\n\nNår alle oppstartstrinn er utført, kan du trykke Neste.\n\nMerk: plasser RileyLink i en stående posisjon og plasser Pod maks noen centimeter unna den. + usikker diff --git a/omnipod-eros/src/main/res/values-pt-rPT/strings.xml b/omnipod-eros/src/main/res/values-pt-rPT/strings.xml index bc89093c83..e43733df5d 100644 --- a/omnipod-eros/src/main/res/values-pt-rPT/strings.xml +++ b/omnipod-eros/src/main/res/values-pt-rPT/strings.xml @@ -4,10 +4,69 @@ + Configuração RileyLink + Notificações + Mostrar botão de Pulse Log no menu de Gestão do Pod + Mostrar botão de Estatísticas do RileyLink no menu de Gestão do Pod + Activar o registo de mudança da bateria em Acções + RileyLink + Som activado para notificações DBT incerto + Som activado para notificações SMB incerto + Som activado para notificações de bolús incerto + Histórico do Pod + Descrição + Fonte + Data + Tipo: + %1$.2f U + %1$.2f U, HC=%2$.1f g + Rácio: %1$.2f U, duração: %2$d minutes + RLBat: %1$d + Endereço RileyLink inválido. + Falha na comunicação: mensagem de falha de verificação de integridade + Falha na comunicação: recebeu um pacote inválido do Pod + Falha na comunicação: o Pod está em um estado errado + Falha na comunicação: recebeu uma resposta inválida do Pod + Falha na comunicação: recebeu uma mensagem com número de sequência inválido do Pod + Falha na comunicação: recebeu uma mensagem com um endereço inválido do Pod + Falha na comunicação: falha ao descodificar a mensagem do Pod + Falha na comunicação: nonce resync falhou + Falha na comunicação: nonce fora de sincronização + Falha na comunicação: não há dados suficientes recebidos do Pod + Foi detectada uma falha no Pod (%1$03d %2$s). Desactive seu Pod e active um novo + Falha na comunicação: o Pod devolveu uma resposta de erro + Sem resposta do RileyLink + RileyLink interrompido + Sem resposta do Pod + Falha na configuração do perfil basal. A administração pode estar suspensa! Por favor, actualize manualmente o estado do Pod no separador Omnipod e retome a administração, se necessário. + A configuração do perfil basal pode ter falhado. A administração pode estar suspensa! Por favor, actualize manualmente o estado do Pod no separador Omnipod e retome a administração, se necessário. + Falha na configuração do perfil basal. A administração está suspensa! Por favor, retome manualmente a administração a partir do separador Omnipod. + O cancelamento de basal temporária pode ter falhado. Por favor, actualize manualmente o estado do Pod no separador Omnipod. + Falha ao configurar basal temporária. Se uma basal temporária foi executada anteriormente, ela pode ter sido cancelada. Por favor, actualize manualmente o estado do Pod no separador Omnipod. + Configuração de basal temporária pode ter falhado basal. Se uma basal temp foi executada anteriormente, ela foi cancelada. Por favor, actualize manualmente o estado do Pod no separador Omnipod. + A duração do DBT deve ser maior que zero e um múltiplo de %1$s minutos. + Configuração da hora pode ter falhado. A administração pode estar suspensa! Por favor, actualize manualmente o estado do Pod no separador Omnipod e retome a administração, se necessário. + Configuração da Hora falhou. A administração está suspensa! Por favor, retome manualmente a administração no separador do Omnipod. + Falha ao ler o Pulse Log + Falha ao alterar automaticamente a hora no Pod. Deve sincronizar manualmente a hora no separador do Omnipod. + A operação não é possível.\n\nPrecisa configurar o Omnipod primeiro, antes de pode usar esta operação. + Não é possível verificar se o bólus foi bem sucedido. Por favor, verifique manualmente se o Pod está administrar bólus ouvindo os cliques. <b>Se tem certeza de que o bólus não foi bem sucedido, deve apagar manualmente a entrada de bólus dos Tratamentos, mesmo se clicar em \'Cancelar Bólus\' agora! <b></b> + Não é possível verificar se o bólus SMB (%1$.2f U) foi bem sucedido. Se tiver certeza de que o Bólus não foi bem sucedido, deve excluir manualmente a entrada SMB a partir de Tratamentos. + Uma basal temporária está sendo executada no Pod, mas o AAPS não está ciente desta basal temporária. Por favor, cancele sua basal temporária manualmente. + Estatísticas do RileyLink + À espera de ligação RileyLink… + Redefinir configuração RileyLink + Ler Pulse Log + A Ler Pulse Log… + Pulse Log + Pulse Log (copiado para a área de transferência) + Preencha um novo Pod com insulina suficiente para 3 dias.\n\nEscute dois beeps do Pod durante o processo de enchimento. Estes indiquem que a quantidade mínima de 85U foi inserida. Certifique-se de esvaziar completamente a seringa de preenchimento, mesmo depois de ouvir os dois beeps.\n\nDepois de preencher o Pod, por favor, pressione Seguinte\n\nNota: não remove a tampa da agulha do Pod neste momento.\nNota: por favor, coloque o RileyLink em posição vertical e coloque o Pod a alguns centímetros dele. + A tentar emparelhar com o novo Pod e purgá-lo.\n\nQuando o processo de inicialização for concluído com sucesso, pode pressionar Seguinte.\n\nNota: por favor, posicione o RileyLink na posição vertical e coloque o Pod a alguns centímetros de distância dele. + incerto
diff --git a/omnipod-eros/src/main/res/values-ru-rRU/strings.xml b/omnipod-eros/src/main/res/values-ru-rRU/strings.xml index bc89093c83..51ca0f971d 100644 --- a/omnipod-eros/src/main/res/values-ru-rRU/strings.xml +++ b/omnipod-eros/src/main/res/values-ru-rRU/strings.xml @@ -1,13 +1,73 @@ + Интеграция с помпой Omnipod Eros (более старая модель с прозрачной крышечкой иглы). Требуется устройство RileyLink, имеющее прошивку версии 2.0. и выше. + Конфигурация RileyLink + Уведомления + Показывать кнопку Pulse Log в меню управления Pod + Показывать кнопку статуса RileyLink в меню управления подом + Включить учет расхода заряда батареи + RileyLink + Звук для неопределенных TBR уведомлений включен + Звук для неопределенных SMB уведомлений включен + Звук для неопределенных уведомлений болюса включен + Журнал помпы + Описание + Источник + дата + Тип: + %1$.2f ед + %1$.2f ед, гу =%2$.1f г + Баз Скорость: %1$.2f ед, Продолжительность: %2$d мин + Батарея РЛ: %1$d + Недопустимый адрес RileyLink. + Ошибка связи: не удалось проверить целостность сообщения + Ошибка связи: получен недопустимый пакет от Pod + Ошибка связи: неверное состояние Pod + Ошибка связи: недопустимый ответ от Pod + Ошибка связи: получено сообщение с недопустимым порядковым номером от Pod + Ошибка связи: получено сообщение с некорректным адресом от Pod + Ошибка связи: не удалось декодировать сообщение от Pod + Ошибка связи: не удалось выполнить повторную синхронизацию nonce + Ошибка соединения: вне синхронизации + Ошибка связи: недостаточно данных от Pod + Обнаружена ошибка Pod (%1$03d %2$s). Деактивируйте Pod и запустите новый + Ошибка связи: Pod ответил ошибкой + Нет ответа от RileyLink + RileyLink прерван + Нет ответа от Pod + Не удалось задать базовый профиль. Подача инсулина может быть приостановлена! Обновите вручную состояние Pod на вкладке Omnipod и при необходимости возобновите процесс подачи. + Возможно не удалось задать базовый профиль. Подача инсулина может быть приостановлена! Обновите вручную состояние Pod на вкладке Omnipod и при необходимости возобновите процесс подачи. + Не удалось задать базовый профиль. Подача инсулина приостановлена! Вручную возобновите подачу с вкладки Omnipod. + Возможно, отмена временного базала завершилась неудачно. Обновите вручную состояние Pod на вкладке Omnipod. + Не удалось задать временный базал. Если ранее был запущен временный базал, он мог быть отменен. Обновите вручную состояние Pod на вкладке Omnipod. + Установка врем базала могла иметь сбой. Если tврем базал запущен, ранее, он был отменен. Вручную обновите статус Pod из вкладки Omnipod. + Продолжительность TBR должна быть больше нуля и кратной %1$s минутам. + Возможно, не удалось задать время. Подача инсулина может быть приостановлена! Обновите вручную состояние Pod на вкладке Omnipod и при необходимости возобновите подачу. + Не удалось задать время. Подача инсулина приостановлена! Вручную возобновите подачу с вкладки Omnipod. + Не удалось прочитать журнал pulse + Не удалось автоматически изменить время в Pod. Следует вручную синхронизировать время на вкладке Omnipod. + Операция невозможна.\n\n Сначала нужно настроить помпу Omnipod. + Не удалось проверить, подан ли болюс. Проверьте, издаются ли звуки подачи болюса. Если вы уверены, что болюс не подан, следует вручную удалить запись болюса из Treatments, даже если вы нажмете \'Cancel bolus\' сейчас! + Не удалось проверить, успешно ли подан микроболюс SMB (%1$.2f ед). Если вы уверены, что болюс не подан, следует вручную удалить запись SMB из Назначений. + На Поде работает временный базал, но ААПС ничего не знает об этом временном базале. Отмените временный базал вручную. + Статистика RileyLink + Ожидание соединения RileyLink… + Сбросить конфигурацию RileyLink + Читать журнал импульсов + Чтение журнала импульсов… + Журнал Pulse + Журнал отладки из буфера обмена + Заполните новый Pod инсулином на 3 дня.\n\nПоступят два звуковых сигнала от помпы во время заправки. Это означает, что минимальное количество 85U заправлено. Не забудьте опустошить заправочный шприц даже после того, как услышите два звуковых сигнала.\n\nПосле заполнения Pod нажмите Next.\n\nПримечание: Пока не снимайте с помпы колпачок с иглой.\nПримечание:поставьте RileyLink вертикально рядом с Pod. + Попытка сопряжения с новым Podом и первичного заполнения инфузионного отсека..\n\n После успешного процесса инициализации можно нажать Далее.\n\nПримечание: В это время RileyLink должен находиться в вертикальном положении рядом с Pod. + не подтверждено diff --git a/omnipod-eros/src/main/res/values/strings.xml b/omnipod-eros/src/main/res/values/strings.xml index 8fd21404c5..9e78325f0b 100644 --- a/omnipod-eros/src/main/res/values/strings.xml +++ b/omnipod-eros/src/main/res/values/strings.xml @@ -18,6 +18,10 @@ AAPS.Omnipod.tbrs_set AAPS.Omnipod.std_boluses_delivered AAPS.Omnipod.smb_boluses_delivered + common_preferences_category_confirmation_beeps_settings + omnipod_eros_preferences_category_notifications_settings + omnipod_common_preferences_category_other_settings + omnipod_preference_category_rileylink_settings PM %1$s / PI %2$s diff --git a/omnipod-eros/src/main/res/xml/omnipod_eros_preferences.xml b/omnipod-eros/src/main/res/xml/omnipod_eros_preferences.xml index 49fe2df5d6..c2b97d711d 100644 --- a/omnipod-eros/src/main/res/xml/omnipod_eros_preferences.xml +++ b/omnipod-eros/src/main/res/xml/omnipod_eros_preferences.xml @@ -1,8 +1,12 @@ - + - + - + - + - +