diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 880752f3a8..b40188688c 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -123,15 +123,7 @@ - - - - - - @@ -161,7 +153,8 @@ + android:exported="false" + android:permission="android.permission.BIND_JOB_SERVICE"/> @@ -180,7 +173,7 @@ + android:exported="false" /> @@ -247,11 +240,11 @@ + android:exported="false" /> + android:exported="false" /> @@ -292,7 +285,7 @@ + android:exported="false" /> diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/receivers/RestartReceiver.java b/app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/receivers/RestartReceiver.java deleted file mode 100644 index 5024801827..0000000000 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/receivers/RestartReceiver.java +++ /dev/null @@ -1,24 +0,0 @@ -package info.nightscout.androidaps.plugins.general.nsclient.receivers; - -import android.content.Context; -import android.content.Intent; -import androidx.legacy.content.WakefulBroadcastReceiver; - -import info.nightscout.androidaps.MainApp; -import info.nightscout.androidaps.plugins.general.nsclient.events.EventNSClientRestart; -import info.nightscout.androidaps.plugins.general.nsclient.services.NSClientService; - -public class RestartReceiver extends WakefulBroadcastReceiver { - public RestartReceiver() { - } - - @Override - public void onReceive(Context context, Intent intent) { - startWakefulService(context, new Intent(context, NSClientService.class) - .setAction(intent.getAction()) - .putExtras(intent)); - - MainApp.bus().post(new EventNSClientRestart()); - completeWakefulIntent(intent); - } -} diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/smsCommunicator/SmsCommunicatorPlugin.java b/app/src/main/java/info/nightscout/androidaps/plugins/general/smsCommunicator/SmsCommunicatorPlugin.java index 4d6975bb77..14dcb169c4 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/smsCommunicator/SmsCommunicatorPlugin.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/smsCommunicator/SmsCommunicatorPlugin.java @@ -1,7 +1,6 @@ package info.nightscout.androidaps.plugins.general.smsCommunicator; import android.content.Intent; -import android.content.pm.ResolveInfo; import android.os.Bundle; import android.telephony.SmsManager; import android.telephony.SmsMessage; @@ -20,7 +19,6 @@ import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.R; import info.nightscout.androidaps.data.DetailedBolusInfo; -import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatus; import info.nightscout.androidaps.data.IobTotal; import info.nightscout.androidaps.data.Profile; import info.nightscout.androidaps.data.ProfileStore; @@ -40,14 +38,15 @@ import info.nightscout.androidaps.plugins.aps.loop.LoopPlugin; import info.nightscout.androidaps.plugins.configBuilder.ConfigBuilderPlugin; import info.nightscout.androidaps.plugins.configBuilder.ProfileFunctions; import info.nightscout.androidaps.plugins.general.nsclient.NSUpload; +import info.nightscout.androidaps.plugins.general.nsclient.events.EventNSClientRestart; import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification; import info.nightscout.androidaps.plugins.general.overview.notifications.Notification; import info.nightscout.androidaps.plugins.general.smsCommunicator.events.EventSmsCommunicatorUpdateGui; import info.nightscout.androidaps.plugins.iob.iobCobCalculator.CobInfo; +import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatus; import info.nightscout.androidaps.plugins.iob.iobCobCalculator.IobCobCalculatorPlugin; import info.nightscout.androidaps.plugins.treatments.TreatmentsPlugin; import info.nightscout.androidaps.queue.Callback; -import info.nightscout.androidaps.services.Intents; import info.nightscout.androidaps.utils.DateUtil; import info.nightscout.androidaps.utils.DecimalFormatter; import info.nightscout.androidaps.utils.SP; @@ -400,12 +399,9 @@ public class SmsCommunicatorPlugin extends PluginBase { private void processTREATMENTS(String[] splitted, Sms receivedSms) { if (splitted[1].toUpperCase().equals("REFRESH")) { - Intent restartNSClient = new Intent(Intents.ACTION_RESTART); TreatmentsPlugin.getPlugin().getService().resetTreatments(); - MainApp.instance().getApplicationContext().sendBroadcast(restartNSClient); - List q = MainApp.instance().getApplicationContext().getPackageManager().queryBroadcastReceivers(restartNSClient, 0); - String reply = "TREATMENTS REFRESH " + q.size() + " receivers"; - sendSMS(new Sms(receivedSms.phoneNumber, reply)); + MainApp.bus().post(new EventNSClientRestart()); + sendSMS(new Sms(receivedSms.phoneNumber, "TREATMENTS REFRESH SENT")); receivedSms.processed = true; } else sendSMS(new Sms(receivedSms.phoneNumber, R.string.wrongformat)); @@ -413,11 +409,8 @@ public class SmsCommunicatorPlugin extends PluginBase { private void processNSCLIENT(String[] splitted, Sms receivedSms) { if (splitted[1].toUpperCase().equals("RESTART")) { - Intent restartNSClient = new Intent(Intents.ACTION_RESTART); - MainApp.instance().getApplicationContext().sendBroadcast(restartNSClient); - List q = MainApp.instance().getApplicationContext().getPackageManager().queryBroadcastReceivers(restartNSClient, 0); - String reply = "NSCLIENT RESTART " + q.size() + " receivers"; - sendSMS(new Sms(receivedSms.phoneNumber, reply)); + MainApp.bus().post(new EventNSClientRestart()); + sendSMS(new Sms(receivedSms.phoneNumber, "NSCLIENT RESTART SENT")); receivedSms.processed = true; } else sendSMS(new Sms(receivedSms.phoneNumber, R.string.wrongformat)); diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/profile/ns/NSProfilePlugin.java b/app/src/main/java/info/nightscout/androidaps/plugins/profile/ns/NSProfilePlugin.java index 9daad17ef8..88faee377a 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/profile/ns/NSProfilePlugin.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/profile/ns/NSProfilePlugin.java @@ -2,6 +2,7 @@ package info.nightscout.androidaps.plugins.profile.ns; import android.content.Intent; import android.os.Bundle; + import androidx.annotation.Nullable; import org.json.JSONException; @@ -13,15 +14,15 @@ import info.nightscout.androidaps.Config; import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.R; -import info.nightscout.androidaps.logging.L; -import info.nightscout.androidaps.plugins.bus.RxBus; -import info.nightscout.androidaps.services.Intents; import info.nightscout.androidaps.data.ProfileStore; import info.nightscout.androidaps.events.EventProfileStoreChanged; import info.nightscout.androidaps.interfaces.PluginBase; import info.nightscout.androidaps.interfaces.PluginDescription; import info.nightscout.androidaps.interfaces.PluginType; import info.nightscout.androidaps.interfaces.ProfileInterface; +import info.nightscout.androidaps.logging.L; +import info.nightscout.androidaps.plugins.bus.RxBus; +import info.nightscout.androidaps.plugins.general.nsclient.events.EventNSClientRestart; import info.nightscout.androidaps.plugins.profile.ns.events.EventNSProfileUpdateGUI; import info.nightscout.androidaps.utils.SP; @@ -109,8 +110,7 @@ public class NSProfilePlugin extends PluginBase implements ProfileInterface { if (L.isEnabled(L.PROFILE)) log.debug("Stored profile not found"); // force restart of nsclient to fetch profile - Intent restartNSClient = new Intent(Intents.ACTION_RESTART); - MainApp.instance().getApplicationContext().sendBroadcast(restartNSClient); + MainApp.bus().post(new EventNSClientRestart()); } } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/treatments/fragments/TreatmentsBolusFragment.java b/app/src/main/java/info/nightscout/androidaps/plugins/treatments/fragments/TreatmentsBolusFragment.java index c2320fc3ce..556d80f321 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/treatments/fragments/TreatmentsBolusFragment.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/treatments/fragments/TreatmentsBolusFragment.java @@ -3,21 +3,21 @@ package info.nightscout.androidaps.plugins.treatments.fragments; import android.app.Activity; import android.content.Context; import android.content.DialogInterface; -import android.content.Intent; import android.graphics.Paint; import android.os.Bundle; -import androidx.fragment.app.FragmentManager; -import androidx.core.content.ContextCompat; -import androidx.appcompat.app.AlertDialog; -import androidx.cardview.widget.CardView; -import androidx.recyclerview.widget.LinearLayoutManager; -import androidx.recyclerview.widget.RecyclerView; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.Button; import android.widget.TextView; +import androidx.appcompat.app.AlertDialog; +import androidx.cardview.widget.CardView; +import androidx.core.content.ContextCompat; +import androidx.fragment.app.FragmentManager; +import androidx.recyclerview.widget.LinearLayoutManager; +import androidx.recyclerview.widget.RecyclerView; + import com.squareup.otto.Subscribe; import java.util.List; @@ -32,11 +32,11 @@ import info.nightscout.androidaps.plugins.common.SubscriberFragment; import info.nightscout.androidaps.plugins.configBuilder.ProfileFunctions; import info.nightscout.androidaps.plugins.general.nsclient.NSUpload; import info.nightscout.androidaps.plugins.general.nsclient.UploadQueue; +import info.nightscout.androidaps.plugins.general.nsclient.events.EventNSClientRestart; import info.nightscout.androidaps.plugins.iob.iobCobCalculator.events.EventAutosensCalculationFinished; import info.nightscout.androidaps.plugins.treatments.Treatment; import info.nightscout.androidaps.plugins.treatments.TreatmentsPlugin; import info.nightscout.androidaps.plugins.treatments.dialogs.WizardInfoDialog; -import info.nightscout.androidaps.services.Intents; import info.nightscout.androidaps.utils.DateUtil; import info.nightscout.androidaps.utils.DecimalFormatter; import info.nightscout.androidaps.utils.SP; @@ -227,8 +227,7 @@ public class TreatmentsBolusFragment extends SubscriberFragment implements View. builder.setMessage(MainApp.gs(R.string.refresheventsfromnightscout) + "?"); builder.setPositiveButton(MainApp.gs(R.string.ok), (dialog, id) -> { TreatmentsPlugin.getPlugin().getService().resetTreatments(); - Intent restartNSClient = new Intent(Intents.ACTION_RESTART); - MainApp.instance().getApplicationContext().sendBroadcast(restartNSClient); + MainApp.bus().post(new EventNSClientRestart()); }); builder.setNegativeButton(MainApp.gs(R.string.cancel), null); builder.show(); diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/treatments/fragments/TreatmentsCareportalFragment.java b/app/src/main/java/info/nightscout/androidaps/plugins/treatments/fragments/TreatmentsCareportalFragment.java index 2ec61597d7..4a0e767cbb 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/treatments/fragments/TreatmentsCareportalFragment.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/treatments/fragments/TreatmentsCareportalFragment.java @@ -3,32 +3,32 @@ package info.nightscout.androidaps.plugins.treatments.fragments; import android.app.Activity; import android.content.Context; import android.content.DialogInterface; -import android.content.Intent; import android.graphics.Paint; import android.os.Bundle; -import androidx.appcompat.app.AlertDialog; -import androidx.cardview.widget.CardView; -import androidx.recyclerview.widget.LinearLayoutManager; -import androidx.recyclerview.widget.RecyclerView; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.Button; import android.widget.TextView; +import androidx.appcompat.app.AlertDialog; +import androidx.cardview.widget.CardView; +import androidx.recyclerview.widget.LinearLayoutManager; +import androidx.recyclerview.widget.RecyclerView; + import com.squareup.otto.Subscribe; import java.util.List; import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.R; -import info.nightscout.androidaps.services.Intents; import info.nightscout.androidaps.db.CareportalEvent; import info.nightscout.androidaps.events.EventCareportalEventChange; import info.nightscout.androidaps.plugins.common.SubscriberFragment; -import info.nightscout.androidaps.plugins.general.nsclient.UploadQueue; -import info.nightscout.androidaps.utils.DateUtil; import info.nightscout.androidaps.plugins.general.nsclient.NSUpload; +import info.nightscout.androidaps.plugins.general.nsclient.UploadQueue; +import info.nightscout.androidaps.plugins.general.nsclient.events.EventNSClientRestart; +import info.nightscout.androidaps.utils.DateUtil; import info.nightscout.androidaps.utils.SP; import info.nightscout.androidaps.utils.Translator; @@ -162,8 +162,7 @@ public class TreatmentsCareportalFragment extends SubscriberFragment implements builder.setPositiveButton(MainApp.gs(R.string.ok), new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int id) { MainApp.getDbHelper().resetCareportalEvents(); - Intent restartNSClient = new Intent(Intents.ACTION_RESTART); - MainApp.instance().getApplicationContext().sendBroadcast(restartNSClient); + MainApp.bus().post(new EventNSClientRestart()); } }); builder.setNegativeButton(MainApp.gs(R.string.cancel), null); diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/treatments/fragments/TreatmentsProfileSwitchFragment.java b/app/src/main/java/info/nightscout/androidaps/plugins/treatments/fragments/TreatmentsProfileSwitchFragment.java index 46ee065ed7..71d8eb2b18 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/treatments/fragments/TreatmentsProfileSwitchFragment.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/treatments/fragments/TreatmentsProfileSwitchFragment.java @@ -3,21 +3,21 @@ package info.nightscout.androidaps.plugins.treatments.fragments; import android.app.Activity; import android.content.Context; import android.content.DialogInterface; -import android.content.Intent; import android.graphics.Paint; import android.os.Bundle; -import androidx.fragment.app.FragmentManager; -import androidx.core.content.ContextCompat; -import androidx.appcompat.app.AlertDialog; -import androidx.cardview.widget.CardView; -import androidx.recyclerview.widget.LinearLayoutManager; -import androidx.recyclerview.widget.RecyclerView; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.Button; import android.widget.TextView; +import androidx.appcompat.app.AlertDialog; +import androidx.cardview.widget.CardView; +import androidx.core.content.ContextCompat; +import androidx.fragment.app.FragmentManager; +import androidx.recyclerview.widget.LinearLayoutManager; +import androidx.recyclerview.widget.RecyclerView; + import com.squareup.otto.Subscribe; import org.slf4j.Logger; @@ -27,18 +27,18 @@ import java.util.List; import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.R; -import info.nightscout.androidaps.events.EventProfileNeedsUpdate; -import info.nightscout.androidaps.logging.L; -import info.nightscout.androidaps.plugins.configBuilder.ProfileFunctions; -import info.nightscout.androidaps.services.Intents; import info.nightscout.androidaps.data.Profile; import info.nightscout.androidaps.db.ProfileSwitch; import info.nightscout.androidaps.db.Source; +import info.nightscout.androidaps.events.EventProfileNeedsUpdate; +import info.nightscout.androidaps.logging.L; import info.nightscout.androidaps.plugins.common.SubscriberFragment; +import info.nightscout.androidaps.plugins.configBuilder.ProfileFunctions; +import info.nightscout.androidaps.plugins.general.nsclient.NSUpload; import info.nightscout.androidaps.plugins.general.nsclient.UploadQueue; +import info.nightscout.androidaps.plugins.general.nsclient.events.EventNSClientRestart; import info.nightscout.androidaps.utils.DateUtil; import info.nightscout.androidaps.utils.DecimalFormatter; -import info.nightscout.androidaps.plugins.general.nsclient.NSUpload; import info.nightscout.androidaps.utils.SP; /** @@ -209,8 +209,7 @@ public class TreatmentsProfileSwitchFragment extends SubscriberFragment implemen builder.setPositiveButton(MainApp.gs(R.string.ok), new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int id) { MainApp.getDbHelper().resetProfileSwitch(); - Intent restartNSClient = new Intent(Intents.ACTION_RESTART); - MainApp.instance().getApplicationContext().sendBroadcast(restartNSClient); + MainApp.bus().post(new EventNSClientRestart()); } }); builder.setNegativeButton(MainApp.gs(R.string.cancel), null); diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/treatments/fragments/TreatmentsTempTargetFragment.java b/app/src/main/java/info/nightscout/androidaps/plugins/treatments/fragments/TreatmentsTempTargetFragment.java index 56b887c295..3c17e7b762 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/treatments/fragments/TreatmentsTempTargetFragment.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/treatments/fragments/TreatmentsTempTargetFragment.java @@ -3,36 +3,36 @@ package info.nightscout.androidaps.plugins.treatments.fragments; import android.app.Activity; import android.content.Context; import android.content.DialogInterface; -import android.content.Intent; import android.graphics.Paint; import android.os.Bundle; -import androidx.core.content.ContextCompat; -import androidx.appcompat.app.AlertDialog; -import androidx.cardview.widget.CardView; -import androidx.recyclerview.widget.LinearLayoutManager; -import androidx.recyclerview.widget.RecyclerView; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.Button; import android.widget.TextView; +import androidx.appcompat.app.AlertDialog; +import androidx.cardview.widget.CardView; +import androidx.core.content.ContextCompat; +import androidx.recyclerview.widget.LinearLayoutManager; +import androidx.recyclerview.widget.RecyclerView; + import com.squareup.otto.Subscribe; import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.R; -import info.nightscout.androidaps.plugins.configBuilder.ProfileFunctions; -import info.nightscout.androidaps.services.Intents; import info.nightscout.androidaps.data.Intervals; import info.nightscout.androidaps.db.Source; import info.nightscout.androidaps.db.TempTarget; import info.nightscout.androidaps.events.EventTempTargetChange; import info.nightscout.androidaps.plugins.common.SubscriberFragment; +import info.nightscout.androidaps.plugins.configBuilder.ProfileFunctions; +import info.nightscout.androidaps.plugins.general.nsclient.NSUpload; import info.nightscout.androidaps.plugins.general.nsclient.UploadQueue; +import info.nightscout.androidaps.plugins.general.nsclient.events.EventNSClientRestart; import info.nightscout.androidaps.plugins.treatments.TreatmentsPlugin; import info.nightscout.androidaps.utils.DateUtil; import info.nightscout.androidaps.utils.DecimalFormatter; -import info.nightscout.androidaps.plugins.general.nsclient.NSUpload; import info.nightscout.androidaps.utils.SP; /** @@ -198,8 +198,7 @@ public class TreatmentsTempTargetFragment extends SubscriberFragment implements builder.setPositiveButton(MainApp.gs(R.string.ok), new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int id) { MainApp.getDbHelper().resetTempTargets(); - Intent restartNSClient = new Intent(Intents.ACTION_RESTART); - MainApp.instance().getApplicationContext().sendBroadcast(restartNSClient); + MainApp.bus().post(new EventNSClientRestart()); } }); builder.setNegativeButton(MainApp.gs(R.string.cancel), null); diff --git a/app/src/main/java/info/nightscout/androidaps/receivers/DataReceiver.java b/app/src/main/java/info/nightscout/androidaps/receivers/DataReceiver.java index 6c2e7c6920..95fd6bfb09 100644 --- a/app/src/main/java/info/nightscout/androidaps/receivers/DataReceiver.java +++ b/app/src/main/java/info/nightscout/androidaps/receivers/DataReceiver.java @@ -1,8 +1,9 @@ package info.nightscout.androidaps.receivers; +import android.content.BroadcastReceiver; +import android.content.ComponentName; import android.content.Context; import android.content.Intent; -import androidx.legacy.content.WakefulBroadcastReceiver; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -10,15 +11,16 @@ import org.slf4j.LoggerFactory; import info.nightscout.androidaps.logging.L; import info.nightscout.androidaps.services.DataService; -public class DataReceiver extends WakefulBroadcastReceiver { +public class DataReceiver extends BroadcastReceiver { private static Logger log = LoggerFactory.getLogger(L.DATASERVICE); @Override public void onReceive(Context context, Intent intent) { if (L.isEnabled(L.DATASERVICE)) log.debug("onReceive " + intent); - startWakefulService(context, new Intent(context, DataService.class) - .setAction(intent.getAction()) - .putExtras(intent)); + // Explicitly specify that GcmIntentService will handle the intent. + ComponentName comp = new ComponentName(context.getPackageName(), + DataService.class.getName()); + DataService.enqueueWork(context, intent.setComponent(comp)); } } diff --git a/app/src/main/java/info/nightscout/androidaps/services/DataService.java b/app/src/main/java/info/nightscout/androidaps/services/DataService.java index 6b8ac46f11..24a7698e9a 100644 --- a/app/src/main/java/info/nightscout/androidaps/services/DataService.java +++ b/app/src/main/java/info/nightscout/androidaps/services/DataService.java @@ -1,10 +1,13 @@ package info.nightscout.androidaps.services; -import android.app.IntentService; +import android.content.Context; import android.content.Intent; import android.os.Bundle; import android.provider.Telephony; +import androidx.annotation.NonNull; +import androidx.core.app.JobIntentService; + import org.json.JSONArray; import org.json.JSONException; import org.json.JSONObject; @@ -16,15 +19,16 @@ import info.nightscout.androidaps.R; import info.nightscout.androidaps.db.CareportalEvent; import info.nightscout.androidaps.events.EventNsFood; import info.nightscout.androidaps.events.EventNsTreatment; +import info.nightscout.androidaps.logging.BundleLogger; import info.nightscout.androidaps.logging.L; import info.nightscout.androidaps.plugins.general.nsclient.data.NSDeviceStatus; import info.nightscout.androidaps.plugins.general.nsclient.data.NSMbg; import info.nightscout.androidaps.plugins.general.nsclient.data.NSSettingsStatus; import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification; import info.nightscout.androidaps.plugins.general.overview.notifications.Notification; +import info.nightscout.androidaps.plugins.general.smsCommunicator.SmsCommunicatorPlugin; import info.nightscout.androidaps.plugins.profile.ns.NSProfilePlugin; import info.nightscout.androidaps.plugins.pump.danaR.activities.DanaRNSHistorySync; -import info.nightscout.androidaps.plugins.general.smsCommunicator.SmsCommunicatorPlugin; import info.nightscout.androidaps.plugins.source.SourceDexcomPlugin; import info.nightscout.androidaps.plugins.source.SourceEversensePlugin; import info.nightscout.androidaps.plugins.source.SourceGlimpPlugin; @@ -34,21 +38,30 @@ import info.nightscout.androidaps.plugins.source.SourcePoctechPlugin; import info.nightscout.androidaps.plugins.source.SourceTomatoPlugin; import info.nightscout.androidaps.plugins.source.SourceXdripPlugin; import info.nightscout.androidaps.receivers.DataReceiver; -import info.nightscout.androidaps.logging.BundleLogger; import info.nightscout.androidaps.utils.JsonHelper; import info.nightscout.androidaps.utils.SP; -public class DataService extends IntentService { +public class DataService extends JobIntentService { private Logger log = LoggerFactory.getLogger(L.DATASERVICE); - public DataService() { - super("DataService"); - registerBus(); + // Service unique ID + static final int SERVICE_JOB_ID = 4378; + + // Enqueuing work in to this service. + public static void enqueueWork(Context context, Intent work) { + enqueueWork(context, DataService.class, SERVICE_JOB_ID, work); } @Override - protected void onHandleIntent(final Intent intent) { + public void onDestroy() { + super.onDestroy(); + if (L.isEnabled(L.DATASERVICE)) + log.debug("All work complete"); + } + + @Override + protected void onHandleWork(@NonNull Intent intent) { if (L.isEnabled(L.DATASERVICE)) { log.debug("onHandleIntent " + intent); log.debug("onHandleIntent " + BundleLogger.log(intent.getExtras())); @@ -100,7 +113,7 @@ public class DataService extends IntentService { Intents.ACTION_REMOVED_TREATMENT.equals(action) || Intents.ACTION_NEW_CAL.equals(action) || Intents.ACTION_NEW_MBG.equals(action)) - ) { + ) { handleNewDataFromNSClient(intent); } else if (Telephony.Sms.Intents.SMS_RECEIVED_ACTION.equals(action)) { SmsCommunicatorPlugin.getPlugin().handleNewData(intent); @@ -108,22 +121,6 @@ public class DataService extends IntentService { if (L.isEnabled(L.DATASERVICE)) log.debug("onHandleIntent exit " + intent); - DataReceiver.completeWakefulIntent(intent); - } - - @Override - public void onDestroy() { - super.onDestroy(); - MainApp.bus().unregister(this); - } - - private void registerBus() { - try { - MainApp.bus().unregister(this); - } catch (RuntimeException x) { - // Ignore - } - MainApp.bus().register(this); } private void handleNewDataFromNSClient(Intent intent) { diff --git a/app/src/main/java/info/nightscout/androidaps/services/Intents.java b/app/src/main/java/info/nightscout/androidaps/services/Intents.java index a5b26561b5..98c2355a4f 100644 --- a/app/src/main/java/info/nightscout/androidaps/services/Intents.java +++ b/app/src/main/java/info/nightscout/androidaps/services/Intents.java @@ -23,8 +23,6 @@ public interface Intents { // App -> NSClient String ACTION_DATABASE = "info.nightscout.client.DBACCESS"; - String ACTION_RESTART = "info.nightscout.client.RESTART"; - String ACTION_RESEND = "info.nightscout.client.RESEND"; String ACTION_ACK_ALARM = "info.nightscout.client.ACK_ALARM"; // xDrip -> App diff --git a/app/src/main/res/values-af-rZA/strings.xml b/app/src/main/res/values-af-rZA/strings.xml index d257ea02c8..667df57ed7 100644 --- a/app/src/main/res/values-af-rZA/strings.xml +++ b/app/src/main/res/values-af-rZA/strings.xml @@ -146,6 +146,7 @@ Laaste per hand OK Kanselleer + Sluit GEEN APS GEKIES OF UITSLAG VERSKAF Veiligheid Plugin is gedeaktiveer @@ -830,6 +831,7 @@ Onaanpasbaar sekonde minuut + %1$.2f h uur dag week @@ -1079,6 +1081,7 @@ Spoedfout Insulien limiet skending Minimale versoek verandering [%] + Oop lus sal nuwe verandering versoek as die %. Verstek waarde is 20% Verbind asseblief jou pomp met jou selfoon! Soek vir toestelle… Wag asseblief… @@ -1154,10 +1157,17 @@ Woens Dins Maan + Gebruiker outomatiesasie aksies + Verskaf asb \'n aksie. Gee asseblief ten minste een sneller. + Spesifisieer ten minste een aksie. Reeds aangeskakel Reeds afgeskakel + Alreeds opgeskort Hervat lus + Nie opgeskort + Tydelike teiken begin + Tydelike teiken gestop is minder as is ewe of groter as is gelyk aan @@ -1181,7 +1191,7 @@ Outo Outomatisasie == ∑ %1$s U - U/h + U/h g/U /U Log sensor verander na NS @@ -1251,23 +1261,41 @@ Profiel persentasie Persentasie [%]: Begin profiele%1$d%% vir %2$d min + Begin profiel %1$d%% bestaan bestaan nie + Tydelike teiken %1$s WiFi SSID %1$s %2$s + Autosens %1$s %2$s %% Outosens % + %3$s %1$s %2$s BG verskil + Huidige Ligging + Ligging Breedte: Lengte: Afst [m]: Naam: + Ligging is %1$s + Laaste bolus + Laaste bolus tyd %1$s %2$s min terug KOB KOB %1$s %2$.0f + Aksie naam + Gebeurtenis naam + WYSIG + Kies asb \'n aksie tipe: + Kies \'n sneller tipe: As: Dan: Snellers: VERWYDER + Vereistes: + Operasie nie ondersteun deur pomp en/of drywer. + Operasie nog nie ondersteun deur pomp. + Pomp integrasie vir Medtronic vereis RileyLink en spesifieke modelle Pomp Reeks Nommer Pomp Tipe @@ -1281,7 +1309,12 @@ Sagteware 4b6b Enkodeerding Hardeware 4b6b Enkodeerding RileyLink MAC Adres + Wek en stel in + Vee Bolus Blok Herstel RileyLink Konfig + Battery Tipe(Krag Oorsig) + Nie gekies (Eenvoudige oorsig) + Alkaliese (Uitgebreide modus) Lithium (Uitgebreide modus) SKAN @@ -1289,9 +1322,16 @@ Verkose Skan RileyLink Skan + Soek RileyLink + Bluetooth Low Energy word nie ondersteun. + Bluetooth nie aan. + Location nie aan + Vir Bluetooth ontdek om te werk op nuwer toestelle, lokaliteit moet aan wees. AAPS speur nie jou lokaliteit en kan afgeskakel na paring. Aktiveer Nee Skandeer + Skandering voltooi + Skaderings fout: %1$d Instellings Geskiedenis @@ -1301,6 +1341,7 @@ RileyLink Instellings RileyLink Instellings RileyLink + Adres opgestel Gekoppelde toestel Verbindingstatus Verbindingsfout @@ -1311,9 +1352,23 @@ Laaste toestel verbinding RL Firmware + Bluetooth Inisiasie… + Bluetooth Fout + Bluetooth Gereed + Nie Begin + RileyLink inisiasie… + RileyLink Fout + Stel RileyLink en pomp in + Probleel om met pomp te praat Gekoppel + Toestel is nie RileyLink + RileyLink onverkry + Bluetooth afgeskakel Geen Bluetooth Toestel + Opstel het gefaal + Pomp onbereikbaar + Pod onbereikbaar Nie gestel nie Medtronic Pomp @@ -1322,15 +1377,47 @@ Foute Reeksno # nie gestel. Reeksno # is ongeldig. + Pomp tipe nie gestel. + Pomp tipe word nie ondersteun nie. + Pomp frekwensie nie gestel. + Pomp frekwensie word nie ondersteun. + RileyLink Adres ongeldig. + Pomp tipe bespeur en is nie dieselfde as gestelde. + Basale Profiele is nie aan op pomp. + Basale profiel is verkeerd op pomp (moet STD wees). + Verkeerde TBR op pomp (Moet Absoluut wees). + Verkeerde Maks Bolus gestel op Pomp(moet %1$.2f wees). + Verkeerde Maks Basale op Pomp (moet %1$.2f %1$.2f wees),. + Operasie nie moontlik.\n\n Jy moet jou Medtronic pomp opstel voordat jy die operasie kan gebruik. + Oor 24h Tyd was versoek. Basale + Konfigurasies Kennisgewings Statistiek + Onbekend Alle + Medtronic Pomp Geskiedenis + Nooit gekontak nie + Besig om te wek + Fout met kommunikasie + Te lank op kommunikasie gewag + Probleem om Pomp te kontak + Pomp onbeskikbaar + Ongeldige konfigirasie Aktief Slaap + U het Bolus gekanselleer nadat dit reeds gestel was op pomp. Aangesien Medtronic pomp nie kansellasie ondesteun sal jy dit self moet kanselleer. Sit pomp in Suspend en hervat(Resume) (as jy steeds wil kanselleer). Spplikasie sal die verandering sppor op volgende opdatering in minder as 5 minute. + Kon nie huidige TBR lees. + Kon nie TBR kanselleer. Operasie is gestaak. + Profiel stel gefaal want die patroon het \'n te groot basale koers: %1$s + Bolus kon nie gelewer word nie. + TBR Kon nie stel. + Kon nie huidige TBR staak. + Basale profiel kon nie stel. + Basal profiel is dieselfde, so dit is so gelos. Verkry Geskiedenis - Bladsy %1$d (%2$d/16) Verkry Geskiedenis - Bladsy %1$d Verkry Geskiedenis - Bladsy %1$d @@ -1342,6 +1429,12 @@ Verkry Tydelike Basale Stel Tydelike Basale Stel Bolus + Geen konneksie vir %1$d ure %2$d min + Geen konneksie na %1$d dae %2$d ure + %2$.1fg %3$.2fU]]> + Bolus beperking aangewend: %2$.2fU to %3$.2fU]]> + !!!!! Stadige Karbs gespeur: %2$d%% van die tyd Gaan u berekeninge na,. KOB Kan verkeerd wees !!!!!]]> + %1$.0f / %2$d U %1$d dae %1$d dae diff --git a/app/src/main/res/values-bg-rBG/strings.xml b/app/src/main/res/values-bg-rBG/strings.xml index c9a25c5b18..338945ade3 100644 --- a/app/src/main/res/values-bg-rBG/strings.xml +++ b/app/src/main/res/values-bg-rBG/strings.xml @@ -1189,7 +1189,6 @@ Автом Автоматизация Общо %1$s Е - Е/ч гр/Е Записвай смяната на сензор в NS diff --git a/app/src/main/res/values-cs-rCZ/strings.xml b/app/src/main/res/values-cs-rCZ/strings.xml index d5a04781dd..0f48920c7f 100644 --- a/app/src/main/res/values-cs-rCZ/strings.xml +++ b/app/src/main/res/values-cs-rCZ/strings.xml @@ -146,6 +146,7 @@ Poslední provedení OK Zrušit + Zavřít ŽÁDNÉ APS NEVYBRÁNO NEBO NEVRÁTILO VÝSLEDEK Bezpečnost Modul zakázán @@ -830,6 +831,7 @@ Nekompatibilní sekund minut + %1$.2f h hodin dní týdnů @@ -1189,7 +1191,7 @@ Auto Automatizace == ∑ %1$s U - U/h + U/h g/U /U Zaznamenávat výměnu senzoru do NS @@ -1432,6 +1434,7 @@ %2$.1fg %3$.2fU]]> Aplikováno omezení bolusu: %2$.2fU na %3$.2fU]]> !!!!! Detekována pomalá absorbce sacharidů: %2$d%% času. Překontrolujte kalkulaci. COB může být o hodně jinak !!!!!]]> + %1$.0f / %2$d U %1$d den %1$d dnů diff --git a/app/src/main/res/values-de-rDE/strings.xml b/app/src/main/res/values-de-rDE/strings.xml index 6f0032a27b..213ea07a79 100644 --- a/app/src/main/res/values-de-rDE/strings.xml +++ b/app/src/main/res/values-de-rDE/strings.xml @@ -146,6 +146,7 @@ Zuletzt abgegeben OK Abbrechen + Schliessen KEIN APS AUSGEWÄHLT ODER KEIN ERGEBNIS VORHANDEN Sicherheit Plugin ist deaktiviert @@ -831,6 +832,7 @@ maxIOB = durchschnittlicher Essensbolus + 3 x maximale Basalrate Inkompatibel Sekunde Minute + %1$.2f h Stunde Tag Woche @@ -1191,7 +1193,7 @@ Unerwartetes Verhalten. Automatisch Automatisierung == ∑ %1$s IE - IE/h + IE/h g/IE /IE Speichere Sensor Wechsel in Nightscout @@ -1434,6 +1436,7 @@ Unerwartetes Verhalten. %2$.1fg %3$.2fU]]> Bolus-Einschränkung angewendet: %2$.2fU zu %3$.2fU]]> !! Langsamer Kohlyenhydrate-Abbau erkannt: %2$d%% der Zeit. Überprüfe deine Berechnung. COB könnte sehr falsch sein !!!!!]]> + %1$.0f / %2$d IE %1$d Tag %1$d Tage diff --git a/app/src/main/res/values-el-rGR/strings.xml b/app/src/main/res/values-el-rGR/strings.xml index 14f978ce10..68e5bf76ed 100644 --- a/app/src/main/res/values-el-rGR/strings.xml +++ b/app/src/main/res/values-el-rGR/strings.xml @@ -1188,7 +1188,6 @@ Αυτόματο Αυτοματισμός == ∑ %1$s U - U/h g/U /U Αλλαγή αρχείου αισθητήρα σε NS diff --git a/app/src/main/res/values-es-rES/strings.xml b/app/src/main/res/values-es-rES/strings.xml index d2fd02e017..630bd6c274 100644 --- a/app/src/main/res/values-es-rES/strings.xml +++ b/app/src/main/res/values-es-rES/strings.xml @@ -1143,7 +1143,6 @@ Duración de recuperación Tiempo excedido durante el sacudido de mano - reiniciar bluetooth == ∑%1$s U - U/h g/U /U Registro de cambio de sensor a NS diff --git a/app/src/main/res/values-fr-rFR/strings.xml b/app/src/main/res/values-fr-rFR/strings.xml index 8c58b4c307..fa94aa359b 100644 --- a/app/src/main/res/values-fr-rFR/strings.xml +++ b/app/src/main/res/values-fr-rFR/strings.xml @@ -146,6 +146,7 @@ Dernière activation OK Annuler + Fermer Pas d\'APS séléctionné ou pas de résultat fourni Sécurité Plugin désactivé @@ -831,6 +832,7 @@ L\'ENSEMBLE DES RISQUES LIÉS À LA QUALITÉ ET À LA PERFORMANCE DU PROGRAMME S Incompatible seconde minute + %1$.2f h heure jour semaine @@ -1080,6 +1082,7 @@ L\'ENSEMBLE DES RISQUES LIÉS À LA QUALITÉ ET À LA PERFORMANCE DU PROGRAMME S Erreur de vitesse Violation d\'une limite d\'insuline Changement minimum possible [%] + Le fonctionnement de la Boucle demandera une confirmation uniquement si le changement est supérieur à cette valeur en %. Par défaut, la valeur est 20% Appairez SVP votre pompe avec votre téléphone ! Recherche d\'appareils en cours… Merci de patienter... @@ -1189,7 +1192,7 @@ L\'ENSEMBLE DES RISQUES LIÉS À LA QUALITÉ ET À LA PERFORMANCE DU PROGRAMME S Auto Automatisation == ∑ %1$s U - U/h + U/h g/U /U Enreg. du changement de capteur sur NS @@ -1432,6 +1435,7 @@ L\'ENSEMBLE DES RISQUES LIÉS À LA QUALITÉ ET À LA PERFORMANCE DU PROGRAMME S %2$.1fg %3$.2fU]]> Contraintes de Bolus appliquées : %2$.2fU à %3$.2f]]> !!!!! Absorption lente des glucides détectée : %2$d%% du temps. Vérifiez de nouveau votre calcul. COB peut être vraiment désactivé !!!!!]]> + %1$.0f / %2$d U %1$d jour %1$d jours diff --git a/app/src/main/res/values-it-rIT/strings.xml b/app/src/main/res/values-it-rIT/strings.xml index 8d7ebf8c2b..d6b51552c4 100644 --- a/app/src/main/res/values-it-rIT/strings.xml +++ b/app/src/main/res/values-it-rIT/strings.xml @@ -146,6 +146,7 @@ Ultimo attuato OK Annulla + Chiudi NESSUN APS SELEZIONATO O RISULTATO FORNITO Sicurezza Plugin disabilitato @@ -830,6 +831,7 @@ Incompatibile secondo minuto + %1$.2f h ora giorno settimana @@ -1189,7 +1191,7 @@ Auto Automazione == ∑ %1$s U - U/h + U/h g/U /U Registra cambio sensore in NS @@ -1432,6 +1434,7 @@ %2$.1fg %3$.2fU]]> Vincolo Bolo applicato: %2$.2fU a %3$.2fU]]> !!!!! Rilevato assorbimento lento dei carboidrati: %2$d%% del tempo. Ricontrolla il tuo calcolo. COB può essere davvero fuori !!!!!]]> + %1$.0f / %2$d U %1$d giorno %1$d giorni diff --git a/app/src/main/res/values-ko-rKR/strings.xml b/app/src/main/res/values-ko-rKR/strings.xml index 1ba4b7cbef..8151f100d6 100644 --- a/app/src/main/res/values-ko-rKR/strings.xml +++ b/app/src/main/res/values-ko-rKR/strings.xml @@ -1152,7 +1152,6 @@ == ∑ %1$s U - U/h g/U /U 센서 교체 NS에 기록하기 diff --git a/app/src/main/res/values-lt-rLT/strings.xml b/app/src/main/res/values-lt-rLT/strings.xml index 0fd261e45e..d392d52cfc 100644 --- a/app/src/main/res/values-lt-rLT/strings.xml +++ b/app/src/main/res/values-lt-rLT/strings.xml @@ -1143,7 +1143,6 @@ Atkūrimo trukmė Ryšio užmezgimui skirtas laikas baigėsi - iš naujo nustatykite bluetooth == ∑ %1$s vv - vv/val g/vv /vv Registruoti sensoriaus keitimą NS diff --git a/app/src/main/res/values-nl-rNL/strings.xml b/app/src/main/res/values-nl-rNL/strings.xml index 4f40941ca0..acd31fbd10 100644 --- a/app/src/main/res/values-nl-rNL/strings.xml +++ b/app/src/main/res/values-nl-rNL/strings.xml @@ -1190,7 +1190,6 @@ Stel in en gebruik tijdelijk en standaard tijdelijke streefdoelen (bv. bij sport Auto Automatisering == ∑ %1$s E - E/uur g/E /E Noteer sensor wissel in NS diff --git a/app/src/main/res/values-pl-rPL/strings.xml b/app/src/main/res/values-pl-rPL/strings.xml index 4c634ec9ce..cf8df22345 100644 --- a/app/src/main/res/values-pl-rPL/strings.xml +++ b/app/src/main/res/values-pl-rPL/strings.xml @@ -1190,7 +1190,6 @@ Auto Automatyzacja == ∑ %1$s U - U/h g/U /U Prześlij zmianę sensora do NS diff --git a/app/src/main/res/values-pt-rBR/strings.xml b/app/src/main/res/values-pt-rBR/strings.xml index a4848c66fc..367202e02c 100644 --- a/app/src/main/res/values-pt-rBR/strings.xml +++ b/app/src/main/res/values-pt-rBR/strings.xml @@ -26,16 +26,16 @@ Predefinição de Insulina para Humalog e NovoRapid / NovoLog Pré-ajuste de Insulina para Fiasp Permite que você defina o pico da atividade de insulina, deve ser usado apenas por usuários avançados - Activar ou desactivar a aplicação que desencadeia o loop. + Ative ou desative a implementação ativando o loop. Sincroniza seus dados com o Nightscout Estado do algoritmo em 2016 Estado do algoritmo em 2017 Algoritmo mais recente para usuários avançados Exibe o estado atual do seu loop e botões para ações mais comuns Mostra uma notificação em curso com um breve resumo do que o seu loop está a fazer - Definir um perfil que está disponível offline. + Defina um perfil que está disponível offline. Fornece o perfil definido no Nightscout - Definir um perfil com apenas um bloco de tempo. + Defina um perfil com apenas um bloco de cada vez. Integração para bombas Accu-Chek Combo, requer ter o ruffy instalado Integração para bombas DANA Diabecare R Integração para bombas DANA Diabecare R Coreanas @@ -51,15 +51,15 @@ Receber valores de Glucose da aplicação Dexcom G5 modificada. Receber valores de Glicose da aplicação Dexcom G6 modificada. Receber valores de Glicose da aplicação Eversense modificada. - Receber valores Glucose do Glimp. + Receber valores BG do Glimp. Receber valores de Glucose do 600SeriesAndroidUploader. - Descarrega dados de Glucose do Nightscout - Receber valores de Glucose do xDrip. - Guarda todos os tratamentos que foram feitos - Monitorizar e controlar o AndroidAPS usando o seu relógio WearOS. + Downloads de dados de Glicose do Nightscout + Receber valores BG de xDrip. + Salva todos os tratamentos que foram feitos + Monitore e controle AndroidAPS usando seu relógio WearOS. Mostrar informações sobre o loop no watchface do xDrip+. Controlar remotamente o AndroidAPS usando comandos SMS. - Anterior + Voltar Iniciar Verificar Unidades @@ -67,51 +67,51 @@ IC ISF Basal - Alvo + Meta SEM PERFIL DEFINIDO Insulina: - Hidratos de Carbono: + Carboidratos: IOB: IOB: - Actividade: + Atividade: IOB Total: - Actividade Total IOB: + Atividade Total IOB: Dur: Rácio: Ins: IOB: IOB Total: Insulina - Hidratos - GLIC + Carbos + BG TT - Hidratos + Carbos Corr U - Bólus IOB + IOB Bolus Executar agora BOMBA VIRTUAL Taxa Basal de base - Basal temp + Basal temporaria Bólus estendido Bateria Reservatório OK Última execução Parâmetros de entrada - Status de Glicose - Temp actual + Status da Glicose + Temp atual Dados de IOB Perfil Dados de refeição Resultado - Sem dados de glucose disponíveis + Sem dados de glicose disponíveis Nenhuma alteração solicitada - Pedido + Solicitar Rácio Duração Motivo - Glucose + Glicose Delta Delta: Configurador @@ -120,7 +120,7 @@ Visão geral Perfil NS Perfil simples - Basal Temporária + BasalTemp Tratamentos Bomba virtual Careportal @@ -129,7 +129,7 @@ Tratamentos Qual o plugin que deve ser usado para os tratamentos? Perfil - Que perfil deverá ser usado pelo AndroidAPS? + Qual perfil o AndroidAPS deve usar? APS Qual é o algoritmo do APS que deve fazer ajustes na terapia? Geral @@ -146,14 +146,15 @@ Ultima execução OK Cancelar - NÃO EXISTE NENHUM APS SELECIONADO OU RESULTADO FORNECIDO + Fechar + SEM APS SELECIONADO OU RESULTADO FORNECIDO Segurança Plugin está desativado Violação das restrições Erro na entrega do bolus Erro na entrega da basal temporária Valor da Basal [%%] - %% (100%% = actual) + %% (100%% = atual) Aceitar nova basal temporária: Tratamento Calculadora @@ -164,32 +165,32 @@ Bolus: Basal Basal: - Hidratos de Carbono - Altere o seu input! - Configure um novo bolus prolongado: - Origem dos valores de Glucose - De onde deve o AndroidAPS obter os dados? + Carboidratos + Altere sua entrada! + Definir novo bolus estendido: + Fonte de BG + De onde o AndroidAPS deve obter os dados? xDrip Modo APS - Closed Loop - Open Loop - Loop Desactivado - Desactivar Loop - Activar Loop - Disponível nova sugestão - Versão não suportada do NSCliente - Versão sem suporte do Nightscout - NSCliente em falta. Perdido registo! - Glic disponível no NS + Loop Fechado + Loop Aberto + Loop Desativado + Desativar loop + Ativar loop + Nova sugestão disponível + Versão não suportada do NSClient + Versão não suportada do Nightscout + NSClient não instalado. Registro perdido! + BG disponível no NS Status da Bomba está disponível no NS Execução manual LOOP DESATIVADO POR RESTRIÇÕES - Basal IOB + IOB Basal Restrição de bólus aplicada - Restrição de hidratos de carbono aplicada - Verificar Glic + Restrições de carbs aplicada + Verificação BG Anúncio - Nota + Anotação Pergunta Exercício Alteração do local do cateter @@ -201,36 +202,36 @@ Bólus Refeição Bólus Correcção Bólus Combo - Início Temp Basal - Fim Temp Basal - Correcção Hidratos + Início Basal Temp + Fim de Basal Temp + Correção Carbos OpenAPS Offline Tipo de evento Outro Medidor Sensor - Hidratos de Carbono + Carboidratos Insulina - Tempo Hidratos + Hora do Carbo Dividir Duração - Percentagem + Porcentagem Absoluto Notas Tempo do evento Perfil Introduzido por Tipo de glicose - Sem perfil carregado do NS - BasalTemp + Nenhum perfil carregado de NS ainda + Basal Temporária Bólus estendido - Versão Nightscout: - Em falta + Versão do Nightscout: + Faltando Preferências exportadas Exportar configurações para Importar configurações de Configurações importadas - Ficheiro não encontrado + Arquivo não encontrado Exportar configurações Importar configurações Max U/hr em que uma Temp Basal pode ser definida @@ -239,22 +240,22 @@ Este valor é denominado Max IOB em contexto OpenAPS \nEste é o valor máximo de insulina em [U] que APS pode dar de uma vez. Dispensar DanaR - A ligar - Ligado - Desligado + Conectando + Conectado + Desconectado Definições bomba DanaR Condições de Utilização NÃO DEVE SER USADO PARA FAZER DECISÕES MÉDICAS. NÃO HÁ NENHUMA GARANTIA PARA O PROGRAMA, NA EXTENSÃO PERMITIDA PELA LEGISLAÇÃO APLICÁVEL. EXCETO QUANDO DE OUTRA FORMA, POR ESCRITO, OS TITULARES DOS DIREITOS DE AUTOR E / OU OUTRAS PARTES FORNECEM O PROGRAMA “TAL COMO ESTÁ”, SEM GARANTIA DE QUALQUER TIPO, EXPRESSA OU IMPLÍCITA, INCLUINDO, MAS NÃO SE LIMITANDO, ÀS GARANTIAS IMPLÍCITAS DE COMERCIALIZAÇÃO E ADEQUAÇÃO A UMA FINALIDADE ESPECÍFICA. TODO O RISCO QUANTO À QUALIDADE E DESEMPENHO DO PROGRAMA É COM VOCÊ. CASO O PROGRAMA SEJA DEFEITUOSO, VOCÊ ASSUME O CUSTO DE TODOS OS SERVIÇOS, REPAROS OU CORREÇÕES NECESSÁRIOS. EU ENTENDO E CONCORDO - Guardar + Salvar Nenhum dispositivo bluetooth encontrado - Dispositivo seleccionado não foi encontrado - Erro de conexão da bomba + Dispositivo selecionado não foi encontrado + Erro de conexão com a bomba IOB Bomba Unidades diárias - Último bólus + Último Bolus %1$.1fh atrás - Entrada Inválida + Dados de entrada inválidos Valor não definido corretamente Recarregar perfil Ver perfil @@ -263,18 +264,18 @@ Sucesso Percentagem Absoluto - Cancelar basal temp + Cancelar basal temporária Comunicador SMS - À espera de resultado - Número de telefones permitidos + Aguardando resultados + Números de telefone permitidos +XXXXXXXXXX;+YYYYYYYYYY Para dar bolus %1$.2fU responder com código %2$s Para enviar calibração %1$.2f responder com código %2$s - Bólus falhado - Bólus %1$.2fU enviado com êxito - Vai ser enviado %1$.2fU + Bolus falhou + Bolus %1$.2fU entregue com sucesso + Vão ser administradas %1$.2fU Bólus %1$.2fU enviado com êxito - A enviar %1$.2fU + Administrando %1$.2fU Permitir comandos remotos via SMS Dedo Sensor @@ -283,47 +284,47 @@ Cancelar alvo temporário Definições perfil DanaR DIA [h] - Duração da Insulina Activa - Falha a actualizar perfil da basal + Duração da Insulina Ativa + Falha ao atualizar o perfil basal Recarregar - A enviar - E bólus + Enviando + E bolus DS Bólus DE Bólus erro recarregar hora basal glicose - hidratos de carbono + carboidrato alarme - Total de %1$d registos carregados + Total de %1$d registros enviados S bolus Alarmes Horas de Basal Bolus - Hidratos de Carbono + Carboidratos Insulina diária Erros Glicose Reabastecimento Suspender - A ligar durante %1$d s + Conectando para %1$d Senha da bomba Senha da bomba incorrecta! A bomba está ocupada Entregue Parado - O bolus parou - A parar o bolus + Bolus parado + Parando o bolus Oclusão Parar STOP PRESSIONADO - À espera da bomba + Aguardando a bomba Vão ser administradas %1$.2fU Configuração da visualização e monitoramento, e análise de rácios e basals Verificar se a BG está disponível no Nightscout, e se os dados de insulina da bomba estão a ser carregados A iniciar um open loop - Utilizar em modo de open loop por alguns dias e dar manualmente muitas basais temporárias. Configurar e usar alvos temporários e alvos padrão temporários (por exemplo, para atividade ou tratamentos de hipo com Hcs) + Execute no Modo de Loop aberto por alguns dias e execute manualmente muitos basais de temp. Configure e use alvos temporários e padrão (por exemplo, para atividades ou tratamento hipos com carboidratos) Compreender o seu open loop, incluindo as suas recomendações de basais temporárias Com base nessa experiência, decidir qual deve ser a basal máxima e configurá-la na bomba e nas preferências Começaro close loop com Suspensão por Baixa Glicose @@ -336,15 +337,15 @@ Ativando recursos adicionais para uso durante o dia, como SMB Deverá ler a wiki e aumentar a IOB máx para que os SMBs funcionem devidamente! Inicialmente poderá considerar maxIOB= média dos bolus + 3 x a basal máxima Atingiu o limite autorizado - Nenhum perfil seleccionado - Loop foi desactivado - Loop foi activado - Loop desactivado - Loop activado + Nenhum perfil selecionado + Loop foi desativado + Loop foi ativado + Loop Desativado + Loop ativado %1$.2f limitado a %2$.2f O valor %1$s está fora dos limites permitidos O comando remoto não é permitido - O bólus remoto não está disponível. Tente novamente mais tarde. + O bolus remoto não está disponível. Tente novamente mais tarde. Para começar a basal %1$.2fU/h durante%2$d min responda com o código %3$s Para mudar o perfil para %1$s %2$d%% responda com o código %3$s Para começar o bólus estendido %1$.2fU/h para %2$d min responda com o código %3$s @@ -353,28 +354,28 @@ Basal temporária %1$.2fU/h para %2$d min iniciada com êxito Bólus estendido %1$.2fU/h para %2$d min iniciado com êxito Basal temporária %1$d% U/h durante%2$d min iniciada com êxito - Início basal temp falhou - Falha ao iniciar o bólus estendido + Falha ao iniciar basal temp + Falha ao iniciar o bolus estendido Para parar a basal temporária responda com o código %1$s Para parar o bólus temporário responda com o código %1$s - Basal temp cancelada + basal temporária cancelada Bólus estendido cancelado - Não foi possivel cancelar a basal temp + Cancelamento do basal temporário falhou Falhou o cancelamento do bolus extendido Comando desconhecido ou resposta errada Assistente Rápido Definições do Assistente Rápido Texto do botão: - Hidratos: + Carbos: Válido: Adicionar Editar Remover Refeição - Corr - Acções + Correção + Ações AndroidAPS iniciado - Envio NS apenas (sincronização desactivada) + Envio do NS apenas (sincronização desativada) Apenas upload para NS. Não é eficaz em SGV a menos que uma fonte local como xDrip esteja selecionada. Não é eficaz em perfis enquanto NS-Profiles é usado. Bomba não inicializada! Bomba não inicializada, perfil não definido! @@ -391,15 +392,15 @@ DIA: Intervalo Alvo: Intervalo para visualização - Marca Alto e Baixo para os gráficos em Sumário e Smartwatch + Marca alta e baixa para as cartas em Visão geral e Smartwatch Marca Baixo Marca ALTO Wear Reenviar Todos os Dados Abrir Definições em Wear - Erro Bomba + Erro da Bomba Bateria fraca - Encerrar Bomba + Bomba desligada Bateria da Bomba Descarregada DanaR Coreana Valor da Basal: @@ -409,8 +410,8 @@ Habilitar bolus estendido na bomba Mudar de modo U/d para U/h na bomba Valor da basal abaixo do mínimo. Perfil não definido! - GLIC: - Ultima Gli: + BG: + Último BG: MDI MM640g Notificação em curso @@ -427,25 +428,25 @@ Usar função Autosens Actualizar tratamentos do NS Apagar tratamentos do futuro - Comer brevemente + Comer em breve Hipo - Actividade + Atividade Remover registo: Estatísticas DanaR Dose diária acumulativa Dose diária exponencialmente ponderada Basal - Bólus + Bolus TDD Data - Rácio + Média # Dias Peso Possivelmente impreciso se foram usados bolus para purgar/preencher! Dados antigos, pressione \"Recarregar\" Basal Diária Total Basal diária * 2 - A inicializar ... + Inicializando... ACÇ CONF LOOP @@ -479,7 +480,7 @@ Apenas dígitos numéricos são permitidos. Apenas são permitidos valores entre %1$s e %2$s. Este campo não deve estar vazio - Número de telefone não é válido + Número de telefone inválido SMS número de telefone inválido Calibração Enviar calibração %1$.1f para o xDrip? @@ -495,7 +496,7 @@ Parando bolus prolongado Atualizar valores das basais A desligar - A Executar + Executando Definições da bomba virtual Enviar estado para NS Senha incorrecta @@ -515,16 +516,16 @@ Insira NS API secret (min 12 caract.) Entregar agora Limpar fila de espera - Mostrar file de espera - Fila de espera: - Estado: - Em pausa - Limpar Registo - Cliente NS sem permissões para alterar dados. Tem a senha API correta? + Mostrar fila + Fila: + Status: + Pausado + Limpar Log + NSCLIENT não tem permissão de escrita. Senha da API errada? Definições Wear - Mostrar IOB detalhada + Mostrar IOB detalhado Dividir IOB entre IOB de bolus e de basal na face do relógio - sem efeito - por favor verifique no telemóvel + não foi bem sucedido - por favor, verifique o telefone Indisponível Idade do Paciente Criança @@ -548,8 +549,8 @@ Desligar bomba por 1 h Desligar bomba por 2 h Desligar bomba por 3 h - Retomar - Re-ligar a Bomba + Continuar + Reconectar Bomba Duração errada Loop suspenso Loop retomado @@ -593,19 +594,19 @@ BólusEstendido AlvoTemp Cancelar Bólus Estendido - Idade Sensor - Idade Canula - Idade Insulina + Idade do sensor + Idade da Canula + Idade de Insulina horas Tipo de Basal Perfil inválido !!! - TrocaPerfil + TrocarPerfil Idade bateria bomba - Troca bateria bomba + Mudança de Bateria Opções Alarme Urgência hiperglicemia - Alto - Baixo + Alta + Baixa Urgência hipoglicemia Dados Obsoletos Dados obsoletos urgentes @@ -634,7 +635,7 @@ UPLD BAS EST - Manter ecrã ligado + Manter a tela ligada Impedir Android de desligar o ecrã. Isto irá consumir muita bateria quando não ligado ao carregador. Ao activar a função Autosense lembre-se de introduzir todos os hidratos de carbono (carbs) que comeu. Caso contra contrário os desvios de carbs serão erroneamente identificados como uma variação da sensibilidade!! Média ponderada da Sensibilidade @@ -644,8 +645,8 @@ Valores não guardados! Activar partilha para outras aplicações (como xDrip). Activar partilha local. - ACTIVIDADE & FEEDBACK - HIDRATOS & BÓLUS + ATIVIDADE & FEEDBACK + CARBOS & BOLUS CGM & OPENAPS BOMBA Valor da Basal [U/h] @@ -685,8 +686,8 @@ Alvo-Temp padrão duração comerbreve alvo comerbreve - duração actividade - alvo actividade + duração da atividade + alvo da atividade duração hipo alvo hipo Purge/Encha @@ -762,7 +763,7 @@ A programar a bomba para injectar o bolus Actualizar Estado - Actividade + Atividades Sem conexão há %1$d min %1$d%% (%2$d min restantes) A iniciar @@ -778,9 +779,9 @@ Utilização insegura: A bomba utiliza uma perfil de basal diferente do primeiro. O loop foi desactivado. Seleccionar o primeiro perfil da bomba e reinicie. Um bolus com o mesmo valor foi introduzido nos 2 últimos minutos. Para evitar introduções acidentais e segurança contra bugs existentes o bolus foi cancelado. Agora - A ler histórico bomba + Lendo histórico da bomba histórico bomba - A definir perfil basal + Configurando perfil basal Nível cartucho da bomba está baixo Bateria da bomba está fraca A bomba está a dar o erro E%1$d: %2$s @@ -830,6 +831,7 @@ Incompativel segundo minuto + %1$.2f h hora dia semana @@ -842,7 +844,7 @@ Não é recomendado devido ao gasto de bateria SMB sempre activado SMB sempre activo independentemente dos bolus. Possível apenas quando o medidor tive um bom filtro de dados como o G5 - Activar SMB após hidratos + Ativar SMB após carbos SMB activo por 6h após carbs, mesmo com 0 COB. Possível apenas quando o medidor tive um bom filtro de dados como o G5 Activar SMB com COB Activar SMB quando tem COB activo. @@ -853,7 +855,7 @@ Permitir basal temp correr Silêncio Insulina - Hidratos + Carbos Botões Enviar calibrações para o xDrip+ ou abrir sistema de calibração do G5 Abre xDrip+, botão retorcer volta ao AAPS @@ -882,7 +884,7 @@ O bolus apenas será gravado Preencher glicemias em falta com NS SMB definido pela bomba - Actividade + Atividade Sensibilidade Desvios Carboidratos a bordo @@ -894,14 +896,14 @@ Modo engenheiro activado Modo de engenharia não habilitado e não no na versão mestra %1$.2f U/h - A ler perfil basal + Lendo perfil basal O histórico da bomba foi alterado após o cálculo do bolo ter sido realizado. O bolus não foi injectado. Por favor, verifique se bolus ainda é necessário. O bolus foi injectado, mas não foi possível adicionar ao histórico. Isto é possível se dois bolus do mesmo valor baixo foram administrados nos últimos dois minutos. Por favor verifique o histórico da bomba e use o Careportal para adicionar os dados em falta caso necessário. Cuidado para não adicionar dados com o mesmo valor no mesmo minuto. A rejeitar a temporal alta uma vez que o cálculo não considerou as mudanças do histórico da bomba - A actualizar estado bomba + Atualizando estado da bomba O rácio da basal foi alterado na bomba e vai ser actualizado em breve Rácio da basal foi alterado na bomba, mas a leitura falhou - A verificar se há alterações de histórico + Verificando alterações de histórico Bólus múltiplos, com a mesma quantidade e no mesmo minuto acabaram de ser importados. Apenas um registo pôde ser adicionado aos tratamentos. Por favor confirma na bomba e adicione o registo de bólus manualmente, utilizando o separador do Careportal. Tenha em atenção que deve criar um bólus com um tempo em que nã oexistem outros registos de bólus. \n\nhttp://www.androidaps.org\nhttp://www.androidaps.de (de)\n\nfacebook:\nhttp://facebook.androidaps.org\nhttp://facebook.androidaps.de (de) O último bólus tem mais de 24 horas ou está no futuro. Por favor verifique se a data está definida correctamente na bomba. @@ -963,7 +965,7 @@ Primeiro incremento insulina Segundo incremento insulina Terceiro incremento insulina - Primeiro incremento hidratos + Primeiro incremento carbos Segundo incremento hidratos Terceiro incremento hidratos CGM @@ -1079,6 +1081,7 @@ Erro velocidade Transgressão limite insulina Pedido de mudança mínima [%] + A app mostrará um pedido de alteração apenas se a mudança for superior a este valor em %. O valor padrão é 20% Emparelhe a sua bomba com o seu telefone! A pesquisar dispositivos… Por favor aguarde… @@ -1154,6 +1157,7 @@ Qua Ter Seg + Tarefas de automação definidas pelo utilizador Insira um nome da tarefa. Especifique pelo menos um gatilho. Especifique pelo menos uma acção. @@ -1187,7 +1191,7 @@ Auto Automatização == ∑ %1$s U - U/h + U/h g/U /U Registar mudança de sensor para NS @@ -1245,7 +1249,7 @@ versão antiga versão muito antiga Nova versão para pelo menos %1$d dias disponíveis! Voltar para o LGS após 60 dias, o loop será desativado após 90 dias - Actividade de insulina em escala gráfica [U/min] + Atividade de insulina em escala gráfica [U/min] 2h %1$.2fU App Dexcom (com patch) @@ -1298,7 +1302,7 @@ Frequência da Bomba Atraso antes que o Bólus seja iniciado (s) Max Bolus na Bomba (U) - Máx Basal na Bomba (U/h) + Máxima Basal na Bomba (U/h) Codificação Medtronic EUA & Canadá (916 MHz) Em todo o Mundo (868 Mhz) @@ -1322,6 +1326,7 @@ Bluetooth de energia baixa (LE) não suportado. Bluetooth não está activado. Localização Não Está Activada + Para que a procura de Bluetooth funcione em aparelhos mais recentes, a localização tem que ser activada. A app não rastreia a sua localização e pode ser desativada depois de um emparelhamento bem sucedido. Activar Não A procurar @@ -1334,7 +1339,7 @@ Estado do RileyLink Estado da Bomba Definições do RileyLink - Definições do RileyLink + Configurações do RileyLink RileyLink Endereço Configurado Dispositivo Ligado @@ -1377,9 +1382,13 @@ Frequência de Bomba não definida. Frequência da Bomba não suportada. Endereço RileyLink inválido. - Perfis de Basal não estão activos na Bomba. + A bomba detectada não é a mesma que a bomba configurada. + Perfis de Basal não estão ativos na Bomba. Perfil Basal definido na Bomba está incorrecto (deve ser STD). + Tipo de DBT errado definido na bomba (deve ser Absoluto). + Máx. Basal definida na Bomba está incorreta (deve ser %1$.2f). Máx. Basal definido errado na Bomba (deve ser %1$.2f). + Operação não é possível.\n\n Você precisa configurar a Bomba Medtronic antes de poder usar esta operação. Solicitada uma alteração de tempo de mais de 24h. Basais @@ -1400,8 +1409,10 @@ Activo A dormir + Cancelou o Bolus, depois de ele já ter sido definido na Bomba. Uma vez que a Bomba Medtronic não suporta cancelamento, precisará de cancelar manualmente. Coloque a Bomba no modo de Suspender e depois Retome (se ainda quiser cancelar). A aplicação irá obter as alterações, na próxima actualização (em menos de 5 minutos). Não foi possível ler a TBR actual. Não foi possível cancelar a TBR atual. A parar a operação. + Falhou Definir Perfil devido aos seguintes padrões, tem uma taxa de basal muito grande: %1$s O bólus não pôde ser entregue. TBR não pode ser definida. Não foi possível cancelar a TBR atual. @@ -1415,14 +1426,15 @@ Obter Modelo de Bomba Obter Perfil Basal Definir Perfil Basal - Obter Basal Temporária - Definir Basal Temporária + Obter Basal temporário + Definir Basal temporário Definir Bólus Sem ligação por %1$d hora(s) %2$d min Sem ligação por %1$d dia(s) %2$d horas %2$.1fg %3$.2fU]]> Restrição de Bolus aplicada: %2$.2fU para %3$.2fU]]> !!!!! Absorção lenta de hidratos detectada: %2$d%% do tempo. Verifique o seu cálculo. COB podem ser estar desajustados !!!]]> + %1$.0f / %2$d U %1$d dia %1$d dias diff --git a/app/src/main/res/values-pt-rPT/strings.xml b/app/src/main/res/values-pt-rPT/strings.xml index e80256a092..40d8cbff15 100644 --- a/app/src/main/res/values-pt-rPT/strings.xml +++ b/app/src/main/res/values-pt-rPT/strings.xml @@ -146,6 +146,7 @@ Ultima execução OK Cancelar + Fechar NÃO EXISTE NENHUM APS SELECIONADO OU RESULTADO FORNECIDO Segurança Plugin está desativado @@ -326,7 +327,7 @@ Utilizar em modo de open loop por alguns dias e dar manualmente muitas basais temporárias. Configurar e usar alvos temporários e alvos padrão temporários (por exemplo, para atividade ou tratamentos de hipo com Hcs) Compreender o seu open loop, incluindo as suas recomendações de basais temporárias Com base nessa experiência, decidir qual deve ser a basal máxima e configurá-la na bomba e nas preferências - Começaro close loop com Suspensão por Baixa Glicose + Começar o close loop com Suspensão por Glicose Baixa. Utilizar em close loop com IOB máx = 0 por alguns dias sem muitas situações de Suspensão por Baixa Glicose Ajustar o close loop, levantar a IOB máxima acima de 0 e reduzir gradualmente os alvos de valor glicémico Utilizar por alguns dias e pelo menos uma noite sem alarmes de valores glicémicos baixos, antes de baixar os valores @@ -830,6 +831,7 @@ Incompativel segundo minuto + %1$.2f h hora dia semana @@ -1079,6 +1081,7 @@ Erro velocidade Transgressão limite insulina Pedido de mudança mínima [%] + A app mostrará um pedido de alteração apenas se a mudança for superior a este valor em %. O valor padrão é 20% Emparelhe a sua bomba com o seu telefone! A pesquisar dispositivos… Por favor aguarde… @@ -1154,6 +1157,7 @@ Qua Ter Seg + Tarefas de automação definidas pelo utilizador Insira um nome da tarefa. Especifique pelo menos um gatilho. Especifique pelo menos uma acção. @@ -1187,7 +1191,7 @@ Auto Automatização == ∑ %1$s U - U/h + U/h g/U /U Registar mudança de sensor para NS @@ -1322,6 +1326,7 @@ Bluetooth de energia baixa (LE) não suportado. Bluetooth não está activado. Localização Não Está Activada + Para que a procura de Bluetooth funcione em aparelhos mais recentes, a localização tem que ser activada. A app não rastreia a sua localização e pode ser desativada depois de um emparelhamento bem sucedido. Activar Não A procurar @@ -1377,9 +1382,13 @@ Frequência de Bomba não definida. Frequência da Bomba não suportada. Endereço RileyLink inválido. + A bomba detectada não é a mesma que a bomba configurada. Perfis de Basal não estão activos na Bomba. Perfil Basal definido na Bomba está incorrecto (deve ser STD). + Tipo de DBT errado definido na bomba (deve ser Absoluto). + Máx. Basal definida na Bomba está incorreta (deve ser %1$.2f). Máx. Basal definido errado na Bomba (deve ser %1$.2f). + Operação não é possível.\n\n Você precisa configurar a Bomba Medtronic antes de poder usar esta operação. Solicitada uma alteração de tempo de mais de 24h. Basais @@ -1400,8 +1409,10 @@ Activo A dormir + Cancelou o Bolus, depois de ele já ter sido definido na Bomba. Uma vez que a Bomba Medtronic não suporta cancelamento, precisará de cancelar manualmente. Coloque a Bomba no modo de Suspender e depois Retome (se ainda quiser cancelar). A aplicação irá obter as alterações, na próxima actualização (em menos de 5 minutos). Não foi possível ler a TBR actual. Não foi possível cancelar a TBR atual. A parar a operação. + Falhou Definir Perfil devido aos seguintes padrões, tem uma taxa de basal muito grande: %1$s O bólus não pôde ser entregue. TBR não pode ser definida. Não foi possível cancelar a TBR atual. @@ -1423,6 +1434,7 @@ %2$.1fg %3$.2fU]]> Restrição de Bolus aplicada: %2$.2fU para %3$.2fU]]> !!!!! Absorção lenta de hidratos detectada: %2$d%% do tempo. Verifique o seu cálculo. COB podem ser estar desajustados !!!]]> + %1$.0f / %2$d U %1$d dia %1$d dias diff --git a/app/src/main/res/values-ro-rRO/strings.xml b/app/src/main/res/values-ro-rRO/strings.xml index 8258668469..5240568649 100644 --- a/app/src/main/res/values-ro-rRO/strings.xml +++ b/app/src/main/res/values-ro-rRO/strings.xml @@ -1143,7 +1143,6 @@ Durata restabilirii Durată timp expirat pe timpul negocierii - resetare bluetooth == ∑ %1$s U - U/h g/U /U Înregistrează schimbarea senzorului în NS diff --git a/app/src/main/res/values-ru-rRU/strings.xml b/app/src/main/res/values-ru-rRU/strings.xml index 9895315ba1..c5a17d45e9 100644 --- a/app/src/main/res/values-ru-rRU/strings.xml +++ b/app/src/main/res/values-ru-rRU/strings.xml @@ -146,6 +146,7 @@ Последнее предпринятое OK Отменить + Закрыть APS не выбрана или не выдала результат безопасность модуль не активен @@ -830,6 +831,7 @@ Несовместима сек. мин. + %1$.2f ч ч. дн. нед. @@ -1191,7 +1193,7 @@ Context | Edit Context Авто Автоматизация == ∑ %1$s ед - Ед/ч + ед/ч г/ед /ед Внести замену сенсора в лог NS @@ -1434,6 +1436,7 @@ Context | Edit Context %2$.1fг %3$.2fU]]> Применено ограничение на болюс: %2$.2fед до %3$.2fед]]> !!!!! Обнаружено медленное всасывание углеводов: %2$d%% времени. Еще раз проверьте свои расчеты. Возможно акт углеводы COB вне диапазона !!!!!]]> + %1$.0f/%2$d ед %1$d день %1$d дня diff --git a/app/src/main/res/values-sk-rSK/strings.xml b/app/src/main/res/values-sk-rSK/strings.xml index b6675ebb84..eafbba0f3d 100644 --- a/app/src/main/res/values-sk-rSK/strings.xml +++ b/app/src/main/res/values-sk-rSK/strings.xml @@ -146,6 +146,7 @@ Naposledy podané OK Zrušiť + Zatvoriť NEVYBRANÉ ŽIADNE APS, ALEBO NEVRÁTILO VÝSLEDOK Bezpečnosť Modul je deaktivovaný @@ -830,6 +831,7 @@ Nekompatibilný sekunda minút + %1$.2f h hodín dní týždňov @@ -1189,7 +1191,7 @@ Auto Automatika == ∑ %1$s JI - JI/h + JI/h g/JI /JI Ulož výmenu senzora do NS @@ -1432,6 +1434,7 @@ %2$.1fg %3$.2fJI]]> Aplikované obmedzenie bolusu: %2$.2fJI na %3$.2fJI]]> !!!!! Detekovaná pomalá absorbcia sacharidov: %2$d%% času. Prekontrolujte kalkuláciu. COB môže byť úplne iné !!!!!]]> + %1$.0f / %2$d JI %1$d deň %1$d dní diff --git a/app/src/main/res/values-sv-rSE/strings.xml b/app/src/main/res/values-sv-rSE/strings.xml index 9a7d23a66e..13fb071027 100644 --- a/app/src/main/res/values-sv-rSE/strings.xml +++ b/app/src/main/res/values-sv-rSE/strings.xml @@ -147,6 +147,7 @@ Eversense-appen. Senaste justering OK Avbryt + Stäng INGEN APS VALD Säkerhet Insticksprogram avaktiverat @@ -831,6 +832,7 @@ Eversense-appen. Inkompatibel sek min + %1$.2f h tim dag vecka @@ -1190,7 +1192,7 @@ Eversense-appen. Auto Automation == ∑ %1$s U - U/h + U/h g/U /U Logga sensorbyte till Nightscout @@ -1433,6 +1435,7 @@ Eversense-appen. %2$.1fg %3$.2fU]]> Bolusbegränsning: %2$.2fU till %3$.2fU]]> Varning! Långsam KH-absorption upptäckt %2$d%% av tiden. Dubbelkolla din beräkning. COB kan vara väldigt missvisande!]]> + %1$.0f / %2$d U %1$d dag %1$d dagar diff --git a/app/src/main/res/values-tr-rTR/strings.xml b/app/src/main/res/values-tr-rTR/strings.xml index cc33dce70e..c5cca2711d 100644 --- a/app/src/main/res/values-tr-rTR/strings.xml +++ b/app/src/main/res/values-tr-rTR/strings.xml @@ -508,6 +508,7 @@ Aktif Karbonhidratın ne kadar hızlı sindirildiğine ve KŞ\'nin beklenenden d Döngü durduldu Askıya alındı (%1$d m) Superbolus (%1$d m) + Döngüyü duraklat Döngü 1s\'liğine askıya alındı Döngü 2s\'liğine askıya alındı Döngü 3s\'liğine askıya alındı @@ -1030,7 +1031,6 @@ Aktif Karbonhidratın ne kadar hızlı sindirildiğine ve KŞ\'nin beklenenden d Minimum istek değişikliği [%] Lütfen pompanızı telefonunuzla bağlayın! == ∑ %1$s U - Ü/s g/U /U Tomato (MiaoMiao) diff --git a/app/src/main/res/values-zh-rCN/strings.xml b/app/src/main/res/values-zh-rCN/strings.xml index d24cf69716..31ed4b57d4 100644 --- a/app/src/main/res/values-zh-rCN/strings.xml +++ b/app/src/main/res/values-zh-rCN/strings.xml @@ -1145,7 +1145,6 @@ 恢复持续时间 握手时超时-重启蓝牙 == ∑ %1$s U - U/h 克/U /U 记录传感器更换至NS服务器