Merge pull request #3 from nightscout/dev

Dev
This commit is contained in:
Andreas 2020-11-25 08:58:52 +01:00 committed by GitHub
commit b2cabeb959
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
239 changed files with 7353 additions and 1521 deletions

View file

@ -128,7 +128,7 @@ android {
targetSdkVersion 28
multiDexEnabled true
versionCode 1500
version "2.7.0-dev"
version "2.7.1-dev"
buildConfigField "String", "VERSION", '"' + version + '"'
buildConfigField "String", "BUILDVERSION", '"' + generateGitBuild() + '-' + generateDate() + '"'
buildConfigField "String", "REMOTE", '"' + generateGitRemote() + '"'

View file

@ -61,6 +61,7 @@ import javax.inject.Inject
class MyPreferenceFragment : PreferenceFragmentCompat(), OnSharedPreferenceChangeListener, HasAndroidInjector {
private var pluginId = -1
private var filter = ""
@Inject lateinit var rxBus: RxBusWrapper
@Inject lateinit var resourceHelper: ResourceHelper
@ -115,11 +116,13 @@ class MyPreferenceFragment : PreferenceFragmentCompat(), OnSharedPreferenceChang
override fun setArguments(args: Bundle?) {
super.setArguments(args)
pluginId = args?.getInt("id") ?: -1
filter = args?.getString("filter") ?: ""
}
override fun onSaveInstanceState(outState: Bundle) {
super.onSaveInstanceState(outState)
outState.putInt("id", pluginId)
outState.putString("filter", filter)
}
override fun onDestroy() {
@ -148,7 +151,10 @@ class MyPreferenceFragment : PreferenceFragmentCompat(), OnSharedPreferenceChang
override fun onCreatePreferences(savedInstanceState: Bundle?, rootKey: String?) {
(savedInstanceState ?: arguments)?.let { bundle ->
if (bundle.containsKey("id")) {
pluginId = bundle.getInt("id")
pluginId = bundle.getInt("id") ?: -1
}
if (bundle.containsKey("filter")) {
filter = bundle.getString("filter") ?: ""
}
}
if (pluginId != -1) {
@ -191,6 +197,7 @@ class MyPreferenceFragment : PreferenceFragmentCompat(), OnSharedPreferenceChang
}
initSummary(preferenceScreen, pluginId != -1)
preprocessPreferences()
if (filter != "") updateFilterVisibility(filter, preferenceScreen)
}
override fun onSharedPreferenceChanged(sharedPreferences: SharedPreferences, key: String) {
@ -288,6 +295,33 @@ class MyPreferenceFragment : PreferenceFragmentCompat(), OnSharedPreferenceChang
}
}
private fun updateFilterVisibility(filter: String, p: Preference): Boolean {
var visible = false
if (p is PreferenceGroup) {
for (i in 0 until p.preferenceCount) {
visible = updateFilterVisibility(filter, p.getPreference(i)) || visible
}
if (visible && p is PreferenceCategory) {
p.initialExpandedChildrenCount = Int.MAX_VALUE
}
} else {
if (p.key != null) {
visible = visible || p.key.contains(filter, true)
}
if (p.title != null) {
visible = visible || p.title.contains(filter, true)
}
if (p.summary != null) {
visible = visible || p.summary.contains(filter, true)
}
}
p.isVisible = visible
return visible
}
private fun updatePrefSummary(pref: Preference?) {
if (pref is ListPreference) {
pref.setSummary(pref.entry)
@ -391,4 +425,9 @@ class MyPreferenceFragment : PreferenceFragmentCompat(), OnSharedPreferenceChang
}
return super.onPreferenceTreeClick(preference)
}
public fun setFilter(filter: String) {
this.filter = filter
updateFilterVisibility(filter, preferenceScreen)
}
}

View file

@ -2,11 +2,15 @@ package info.nightscout.androidaps.activities
import android.content.Context
import android.os.Bundle
import android.text.Editable
import android.text.TextWatcher
import androidx.preference.PreferenceFragmentCompat
import androidx.preference.PreferenceScreen
import info.nightscout.androidaps.R
import info.nightscout.androidaps.utils.locale.LocaleHelper
import info.nightscout.androidaps.utils.resources.ResourceHelper
import kotlinx.android.synthetic.main.activity_preferences.*
import kotlinx.android.synthetic.main.local_insight_status_item.view.*
import javax.inject.Inject
class PreferencesActivity : NoSplashAppCompatActivity(), PreferenceFragmentCompat.OnPreferenceStartScreenCallback {
@ -14,18 +18,35 @@ class PreferencesActivity : NoSplashAppCompatActivity(), PreferenceFragmentCompa
@Inject lateinit var resourceHelper: ResourceHelper
var preferenceId = 0
var myPreferenceFragment: MyPreferenceFragment? = null
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_single_fragment)
setContentView(R.layout.activity_preferences)
pref_filter.addTextChangedListener(object : TextWatcher {
override fun beforeTextChanged(s: CharSequence, start: Int, count: Int, after: Int) {}
override fun onTextChanged(s: CharSequence, start: Int, before: Int, count: Int) {
filterPreferences()
}
override fun afterTextChanged(s: Editable) {}
})
pref_filter_clear.setOnClickListener() {
pref_filter.setText("");
}
title = resourceHelper.gs(R.string.nav_preferences)
supportActionBar?.setDisplayHomeAsUpEnabled(true)
supportActionBar?.setDisplayShowHomeEnabled(true)
val myPreferenceFragment = MyPreferenceFragment()
myPreferenceFragment = MyPreferenceFragment()
preferenceId = intent.getIntExtra("id", -1)
val args = Bundle()
args.putInt("id", preferenceId)
myPreferenceFragment.arguments = args
supportFragmentManager.beginTransaction().replace(R.id.frame_layout, myPreferenceFragment).commit()
args.putString("filter", pref_filter.text.toString())
myPreferenceFragment?.arguments = args
supportFragmentManager.beginTransaction().replace(R.id.frame_layout, myPreferenceFragment!!).commit()
}
override fun onPreferenceStartScreen(caller: PreferenceFragmentCompat, pref: PreferenceScreen): Boolean {
@ -44,4 +65,8 @@ class PreferencesActivity : NoSplashAppCompatActivity(), PreferenceFragmentCompa
override fun attachBaseContext(newBase: Context) {
super.attachBaseContext(LocaleHelper.wrap(newBase))
}
private fun filterPreferences() {
myPreferenceFragment?.setFilter(pref_filter.text.toString())
}
}

View file

@ -42,6 +42,7 @@ import info.nightscout.androidaps.plugins.pump.combo.ComboPlugin
import info.nightscout.androidaps.plugins.pump.insight.LocalInsightPlugin
import info.nightscout.androidaps.plugins.pump.mdi.MDIPlugin
import info.nightscout.androidaps.plugins.pump.medtronic.MedtronicPumpPlugin
import info.nightscout.androidaps.plugins.pump.omnipod.OmnipodPumpPlugin
import info.nightscout.androidaps.plugins.pump.virtual.VirtualPumpPlugin
import info.nightscout.androidaps.plugins.sensitivity.SensitivityAAPSPlugin
import info.nightscout.androidaps.plugins.sensitivity.SensitivityOref1Plugin
@ -155,6 +156,12 @@ abstract class PluginsModule {
@IntKey(150)
abstract fun bindMedtronicPumpPlugin(plugin: MedtronicPumpPlugin): PluginBase
@Binds
@PumpDriver
@IntoMap
@IntKey(155)
abstract fun bindOmnipodPumpPlugin(plugin: OmnipodPumpPlugin): PluginBase
@Binds
@NotNSClient
@IntoMap

View file

@ -9,6 +9,7 @@ import info.nightscout.androidaps.skins.SkinButtonsOn
import info.nightscout.androidaps.skins.SkinClassic
import info.nightscout.androidaps.skins.SkinInterface
import info.nightscout.androidaps.skins.SkinLargeDisplay
import info.nightscout.androidaps.skins.SkinLowRes
import javax.inject.Qualifier
@Module
@ -32,6 +33,12 @@ open class SkinsModule {
@IntKey(20)
fun bindsSkinLargeDisplay(skinLargeDisplay: SkinLargeDisplay): SkinInterface = skinLargeDisplay
@Provides
@Skin
@IntoMap
@IntKey(30)
fun bindsSkinLowRes(skinLowRes: SkinLowRes): SkinInterface = skinLowRes
@Qualifier
annotation class Skin
}

View file

@ -7,6 +7,7 @@ import info.nightscout.androidaps.interfaces.ProfileFunction
import info.nightscout.androidaps.logging.AAPSLogger
import info.nightscout.androidaps.plugins.bus.RxBusWrapper
import info.nightscout.androidaps.plugins.general.nsclient.NSUpload
import info.nightscout.androidaps.plugins.general.nsclient.UploadQueue
import info.nightscout.androidaps.plugins.treatments.TreatmentService
import info.nightscout.androidaps.plugins.treatments.TreatmentsPlugin
import info.nightscout.androidaps.utils.DateUtil
@ -27,8 +28,10 @@ class TreatmentsPluginHistory @Inject constructor(
profileFunction: ProfileFunction,
activePlugin: ActivePluginProvider,
nsUpload: NSUpload,
fabricPrivacy: FabricPrivacy, dateUtil: DateUtil
) : TreatmentsPlugin(injector, aapsLogger, rxBus, resourceHelper, context, sp, profileFunction, activePlugin, nsUpload, fabricPrivacy, dateUtil) {
fabricPrivacy: FabricPrivacy,
dateUtil: DateUtil,
uploadQueue: UploadQueue
) : TreatmentsPlugin(injector, aapsLogger, rxBus, resourceHelper, context, sp, profileFunction, activePlugin, nsUpload, fabricPrivacy, dateUtil, uploadQueue) {
init {
onStart()

View file

@ -551,6 +551,9 @@ public class LoopPlugin extends PluginBase implements LoopInterface {
rxBus.send(new EventLoopUpdateGui());
}
});
} else {
lastRun.setTbrSetByPump(result);
lastRun.setLastTBRRequest(lastRun.getLastAPSRun());
}
rxBus.send(new EventLoopUpdateGui());
}

View file

@ -189,9 +189,9 @@ public class OpenAPSAMAPlugin extends PluginBase implements APSInterface {
}
if (!hardLimits.checkOnlyHardLimits(profile.getDia(), "dia", hardLimits.getMINDIA(), hardLimits.getMAXDIA()))
if (!hardLimits.checkOnlyHardLimits(profile.getDia(), "dia", hardLimits.minDia(), hardLimits.maxDia()))
return;
if (!hardLimits.checkOnlyHardLimits(profile.getIcTimeFromMidnight(Profile.secondsFromMidnight()), "carbratio", hardLimits.getMINIC(), hardLimits.getMAXIC()))
if (!hardLimits.checkOnlyHardLimits(profile.getIcTimeFromMidnight(Profile.secondsFromMidnight()), "carbratio", hardLimits.minIC(), hardLimits.maxIC()))
return;
if (!hardLimits.checkOnlyHardLimits(profile.getIsfMgdl(), "sens", hardLimits.getMINISF(), hardLimits.getMAXISF()))
return;

View file

@ -220,9 +220,9 @@ public class OpenAPSSMBPlugin extends PluginBase implements APSInterface, Constr
}
if (!hardLimits.checkOnlyHardLimits(profile.getDia(), "dia", hardLimits.getMINDIA(), hardLimits.getMAXDIA()))
if (!hardLimits.checkOnlyHardLimits(profile.getDia(), "dia", hardLimits.minDia(), hardLimits.maxDia()))
return;
if (!hardLimits.checkOnlyHardLimits(profile.getIcTimeFromMidnight(Profile.secondsFromMidnight()), "carbratio", hardLimits.getMINIC(), hardLimits.getMAXIC()))
if (!hardLimits.checkOnlyHardLimits(profile.getIcTimeFromMidnight(Profile.secondsFromMidnight()), "carbratio", hardLimits.minIC(), hardLimits.maxIC()))
return;
if (!hardLimits.checkOnlyHardLimits(profile.getIsfMgdl(), "sens", hardLimits.getMINISF(), hardLimits.getMAXISF()))
return;

View file

@ -2,6 +2,7 @@ package info.nightscout.androidaps.plugins.general.actions
import android.content.Intent
import android.os.Bundle
import android.util.DisplayMetrics
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
@ -9,6 +10,7 @@ import android.widget.LinearLayout
import androidx.core.content.ContextCompat
import dagger.android.support.DaggerFragment
import info.nightscout.androidaps.Config
import info.nightscout.androidaps.Constants
import info.nightscout.androidaps.MainApp
import info.nightscout.androidaps.R
import info.nightscout.androidaps.activities.ErrorHelperActivity
@ -24,6 +26,7 @@ import info.nightscout.androidaps.plugins.bus.RxBusWrapper
import info.nightscout.androidaps.plugins.general.actions.defs.CustomAction
import info.nightscout.androidaps.plugins.general.overview.StatusLightHandler
import info.nightscout.androidaps.queue.Callback
import info.nightscout.androidaps.skins.SkinProvider
import info.nightscout.androidaps.utils.FabricPrivacy
import info.nightscout.androidaps.utils.alertDialogs.OKDialog
import info.nightscout.androidaps.utils.buildHelper.BuildHelper
@ -54,16 +57,30 @@ class ActionsFragment : DaggerFragment() {
@Inject lateinit var commandQueue: CommandQueueProvider
@Inject lateinit var buildHelper: BuildHelper
@Inject lateinit var protectionCheck: ProtectionCheck
@Inject lateinit var skinProvider: SkinProvider
@Inject lateinit var config: Config
private var disposable: CompositeDisposable = CompositeDisposable()
private val pumpCustomActions = HashMap<String, CustomAction>()
private val pumpCustomButtons = ArrayList<SingleClickButton>()
private var smallWidth = false
private var smallHeight = false
private lateinit var dm: DisplayMetrics
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?,
savedInstanceState: Bundle?): View? {
return inflater.inflate(R.layout.actions_fragment, container, false)
//check screen width
dm = DisplayMetrics()
activity?.windowManager?.defaultDisplay?.getMetrics(dm)
val screenWidth = dm.widthPixels
val screenHeight = dm.heightPixels
smallWidth = screenWidth <= Constants.SMALL_WIDTH
smallHeight = screenHeight <= Constants.SMALL_HEIGHT
val landscape = screenHeight < screenWidth
return inflater.inflate(skinProvider.activeSkin().actionsLayout(landscape, smallWidth), container, false)
}
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
@ -233,15 +250,24 @@ class ActionsFragment : DaggerFragment() {
actions_canceltempbasal?.visibility = View.GONE
}
}
val activeBgSource = activePlugin.activeBgSource
actions_historybrowser.visibility = (profile != null).toVisibility()
actions_fill?.visibility = (pump.pumpDescription.isRefillingCapable && pump.isInitialized && !pump.isSuspended).toVisibility()
actions_pumpbatterychange?.visibility = pump.pumpDescription.isBatteryReplaceable.toVisibility()
actions_temptarget?.visibility = (profile != null && config.APS).toVisibility()
actions_tddstats?.visibility = pump.pumpDescription.supportsTDDs.toVisibility()
statusLightHandler.updateStatusLights(careportal_canulaage, careportal_insulinage, null, careportal_sensorage, careportal_pbage, null)
if (!config.NSCLIENT) {
statusLightHandler.updateStatusLights(careportal_canulaage, careportal_insulinage, careportal_reservoirlevel, careportal_sensorage, careportal_sensorlevel, careportal_pbage, careportal_batterylevel)
careportal_senslevellabel?.text = if (activeBgSource.sensorBatteryLevel == -1) "" else resourceHelper.gs(R.string.careportal_level_label)
} else {
statusLightHandler.updateStatusLights(careportal_canulaage, careportal_insulinage, null, careportal_sensorage, null, careportal_pbage, null)
careportal_senslevellabel?.text = ""
careportal_inslevellabel?.text = ""
careportal_pblevellabel?.text = ""
}
checkPumpCustomActions()
}
private fun checkPumpCustomActions() {

View file

@ -72,13 +72,15 @@ class ImportExportPrefs @Inject constructor(
f.activity?.let { exportSharedPreferences(it) }
}
fun verifyStoragePermissions(fragment: Fragment) {
fun verifyStoragePermissions(fragment: Fragment, onGranted: Runnable) {
fragment.context?.let {
val permission = ContextCompat.checkSelfPermission(it,
Manifest.permission.WRITE_EXTERNAL_STORAGE)
if (permission != PackageManager.PERMISSION_GRANTED) {
// We don't have permission so prompt the user
fragment.requestPermissions(PERMISSIONS_STORAGE, REQUEST_EXTERNAL_STORAGE)
} else {
onGranted.run()
}
}
}

View file

@ -46,13 +46,15 @@ class MaintenanceFragment : DaggerFragment() {
}
nav_export.setOnClickListener {
// start activity for checking permissions...
importExportPrefs.verifyStoragePermissions(this)
importExportPrefs.exportSharedPreferences(this)
importExportPrefs.verifyStoragePermissions(this) {
importExportPrefs.exportSharedPreferences(this)
}
}
nav_import.setOnClickListener {
// start activity for checking permissions...
importExportPrefs.verifyStoragePermissions(this)
importExportPrefs.importSharedPreferences(this)
importExportPrefs.verifyStoragePermissions(this) {
importExportPrefs.importSharedPreferences(this)
}
}
nav_logsettings.setOnClickListener { startActivity(Intent(activity, LogSettingActivity::class.java)) }
}

View file

@ -56,6 +56,7 @@ import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatus
import info.nightscout.androidaps.plugins.iob.iobCobCalculator.IobCobCalculatorPlugin
import info.nightscout.androidaps.plugins.iob.iobCobCalculator.events.EventAutosensCalculationFinished
import info.nightscout.androidaps.plugins.iob.iobCobCalculator.events.EventIobCalculationProgress
import info.nightscout.androidaps.plugins.pump.common.defs.PumpType
import info.nightscout.androidaps.plugins.source.DexcomPlugin
import info.nightscout.androidaps.plugins.source.XdripPlugin
import info.nightscout.androidaps.plugins.treatments.TreatmentsPlugin
@ -80,7 +81,7 @@ import kotlinx.android.synthetic.main.overview_buttons_layout.overview_quickwiza
import kotlinx.android.synthetic.main.overview_buttons_layout.overview_treatmentbutton
import kotlinx.android.synthetic.main.overview_buttons_layout.overview_wizardbutton
import kotlinx.android.synthetic.main.overview_fragment.overview_notifications
import kotlinx.android.synthetic.main.overview_fragment_nsclient_tablet.*
import kotlinx.android.synthetic.main.overview_fragment_nsclient.*
import kotlinx.android.synthetic.main.overview_graphs_layout.overview_bggraph
import kotlinx.android.synthetic.main.overview_graphs_layout.overview_chartMenuButton
import kotlinx.android.synthetic.main.overview_graphs_layout.overview_iobcalculationprogess
@ -93,6 +94,8 @@ import kotlinx.android.synthetic.main.overview_info_layout.overview_cob
import kotlinx.android.synthetic.main.overview_info_layout.overview_extendedbolus
import kotlinx.android.synthetic.main.overview_info_layout.overview_iob
import kotlinx.android.synthetic.main.overview_info_layout.overview_sensitivity
import kotlinx.android.synthetic.main.overview_info_layout.overview_time
import kotlinx.android.synthetic.main.overview_info_layout.overview_timeagoshort
import kotlinx.android.synthetic.main.overview_loop_pumpstatus_layout.*
import kotlinx.android.synthetic.main.overview_statuslights_layout.*
import kotlinx.coroutines.Dispatchers
@ -181,6 +184,9 @@ class OverviewFragment : DaggerFragment(), View.OnClickListener, OnLongClickList
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
// pre-process landscape mode
skinProvider.activeSkin().preProcessLandscapeOverviewLayout(dm, view, resourceHelper.gb(R.bool.isTablet))
overview_pumpstatus?.setBackgroundColor(resourceHelper.gc(R.color.colorInitializingBorder))
overview_notifications?.setHasFixedSize(false)
@ -318,11 +324,11 @@ class OverviewFragment : DaggerFragment(), View.OnClickListener, OnLongClickList
if (childFragmentManager.isStateSaved) return
activity?.let { activity ->
when (v.id) {
R.id.overview_treatmentbutton -> protectionCheck.queryProtection(activity, ProtectionCheck.Protection.BOLUS, UIRunnable(Runnable { TreatmentDialog().show(childFragmentManager, "Overview") }))
R.id.overview_wizardbutton -> protectionCheck.queryProtection(activity, ProtectionCheck.Protection.BOLUS, UIRunnable(Runnable { WizardDialog().show(childFragmentManager, "Overview") }))
R.id.overview_insulinbutton -> protectionCheck.queryProtection(activity, ProtectionCheck.Protection.BOLUS, UIRunnable(Runnable { InsulinDialog().show(childFragmentManager, "Overview") }))
R.id.overview_quickwizardbutton -> protectionCheck.queryProtection(activity, ProtectionCheck.Protection.BOLUS, UIRunnable(Runnable { onClickQuickWizard() }))
R.id.overview_carbsbutton -> protectionCheck.queryProtection(activity, ProtectionCheck.Protection.BOLUS, UIRunnable(Runnable { CarbsDialog().show(childFragmentManager, "Overview") }))
R.id.overview_treatmentbutton -> protectionCheck.queryProtection(activity, ProtectionCheck.Protection.BOLUS, UIRunnable { TreatmentDialog().show(childFragmentManager, "Overview") })
R.id.overview_wizardbutton -> protectionCheck.queryProtection(activity, ProtectionCheck.Protection.BOLUS, UIRunnable { WizardDialog().show(childFragmentManager, "Overview") })
R.id.overview_insulinbutton -> protectionCheck.queryProtection(activity, ProtectionCheck.Protection.BOLUS, UIRunnable { InsulinDialog().show(childFragmentManager, "Overview") })
R.id.overview_quickwizardbutton -> protectionCheck.queryProtection(activity, ProtectionCheck.Protection.BOLUS, UIRunnable { onClickQuickWizard() })
R.id.overview_carbsbutton -> protectionCheck.queryProtection(activity, ProtectionCheck.Protection.BOLUS, UIRunnable { CarbsDialog().show(childFragmentManager, "Overview") })
R.id.overview_cgmbutton -> {
if (xdripPlugin.isEnabled(PluginType.BGSOURCE))
@ -357,7 +363,7 @@ class OverviewFragment : DaggerFragment(), View.OnClickListener, OnLongClickList
loopPlugin.invoke("Accept temp button", false)
if (lastRun?.lastAPSRun != null && lastRun.constraintsProcessed?.isChangeRequested == true) {
OKDialog.showConfirmation(activity, resourceHelper.gs(R.string.tempbasal_label), lastRun.constraintsProcessed?.toSpanned()
?: "".toSpanned(), Runnable {
?: "".toSpanned(), {
aapsLogger.debug("USER ENTRY: ACCEPT TEMP BASAL")
overview_accepttempbutton?.visibility = View.GONE
(context?.getSystemService(Context.NOTIFICATION_SERVICE) as NotificationManager).cancel(Constants.notificationID)
@ -574,11 +580,9 @@ class OverviewFragment : DaggerFragment(), View.OnClickListener, OnLongClickList
val glucoseStatus = GlucoseStatus(injector).glucoseStatusData
if (glucoseStatus != null) {
overview_delta?.text = Profile.toSignedUnitsString(glucoseStatus.delta, glucoseStatus.delta * Constants.MGDL_TO_MMOLL, units)
overview_deltashort?.text = Profile.toSignedUnitsString(glucoseStatus.delta, glucoseStatus.delta * Constants.MGDL_TO_MMOLL, units)
overview_avgdelta?.text = "${Profile.toSignedUnitsString(glucoseStatus.short_avgdelta, glucoseStatus.short_avgdelta * Constants.MGDL_TO_MMOLL, units)}\n${Profile.toSignedUnitsString(glucoseStatus.long_avgdelta, glucoseStatus.long_avgdelta * Constants.MGDL_TO_MMOLL, units)}"
} else {
overview_delta?.text = "Δ " + resourceHelper.gs(R.string.notavailable)
overview_deltashort?.text = "---"
overview_avgdelta?.text = ""
}
@ -596,9 +600,10 @@ class OverviewFragment : DaggerFragment(), View.OnClickListener, OnLongClickList
}
val closedLoopEnabled = constraintChecker.isClosedLoopAllowed()
// open loop mode
// aps mode
if (config.APS && pump.pumpDescription.isTempBasalCapable) {
overview_apsmode?.visibility = View.VISIBLE
overview_time_llayout?.visibility = View.GONE
when {
loopPlugin.isEnabled() && loopPlugin.isSuperBolus -> {
overview_apsmode?.setImageResource(R.drawable.ic_loop_superbolus)
@ -616,7 +621,13 @@ class OverviewFragment : DaggerFragment(), View.OnClickListener, OnLongClickList
}
pump.isSuspended -> {
overview_apsmode?.setImageResource(R.drawable.ic_loop_paused)
overview_apsmode?.setImageResource(if (pump.pumpDescription.pumpType == PumpType.Insulet_Omnipod) {
// For Omnipod, indicate the pump as disconnected when it's suspended.
// The only way to 'reconnect' it, is through the Omnipod tab
R.drawable.ic_loop_disconnected
} else {
R.drawable.ic_loop_paused
})
overview_apsmode_text?.text = ""
}
@ -641,8 +652,10 @@ class OverviewFragment : DaggerFragment(), View.OnClickListener, OnLongClickList
}
}
} else {
//nsclient
overview_apsmode?.visibility = View.GONE
overview_apsmode_text?.visibility = View.GONE
overview_time_llayout?.visibility = View.VISIBLE
}
val lastRun = loopPlugin.lastRun
val predictionsAvailable = if (config.APS) lastRun?.request?.hasPredictions == true else config.NSCLIENT
@ -671,7 +684,7 @@ class OverviewFragment : DaggerFragment(), View.OnClickListener, OnLongClickList
// Basal, TBR
val activeTemp = treatmentsPlugin.getTempBasalFromHistory(System.currentTimeMillis())
overview_basebasal?.text = activeTemp?.let { if (resourceHelper.shortTextMode()) "T:" + activeTemp.toStringVeryShort() else activeTemp.toStringFull() }
overview_basebasal?.text = activeTemp?.let { "T:" + activeTemp.toStringVeryShort() }
?: resourceHelper.gs(R.string.pump_basebasalrate, profile.basal)
overview_basal_llayout?.setOnClickListener {
var fullText = "${resourceHelper.gs(R.string.basebasalrate_label)}: ${resourceHelper.gs(R.string.pump_basebasalrate, profile.basal)}"
@ -692,10 +705,10 @@ class OverviewFragment : DaggerFragment(), View.OnClickListener, OnLongClickList
// Extended bolus
val extendedBolus = treatmentsPlugin.getExtendedBolusFromHistory(System.currentTimeMillis())
overview_extendedbolus?.text = if (extendedBolus != null && !pump.isFakingTempsByExtendedBoluses) {
if (resourceHelper.shortTextMode()) resourceHelper.gs(R.string.pump_basebasalrate, extendedBolus.absoluteRate())
else extendedBolus.toStringMedium()
} else ""
overview_extendedbolus?.text =
if (extendedBolus != null && !pump.isFakingTempsByExtendedBoluses)
resourceHelper.gs(R.string.pump_basebasalrate, extendedBolus.absoluteRate())
else ""
overview_extendedbolus?.setOnClickListener {
if (extendedBolus != null) activity?.let {
OKDialog.show(it, resourceHelper.gs(R.string.extended_bolus), extendedBolus.toString())
@ -720,15 +733,8 @@ class OverviewFragment : DaggerFragment(), View.OnClickListener, OnLongClickList
treatmentsPlugin.updateTotalIOBTempBasals()
val bolusIob = treatmentsPlugin.lastCalculationTreatments.round()
val basalIob = treatmentsPlugin.lastCalculationTempBasals.round()
overview_iob?.text = when {
resourceHelper.shortTextMode() ->
resourceHelper.gs(R.string.formatinsulinunits, bolusIob.iob + basalIob.basaliob)
overview_iob?.text = resourceHelper.gs(R.string.formatinsulinunits, bolusIob.iob + basalIob.basaliob)
else ->
resourceHelper.gs(R.string.formatinsulinunits, bolusIob.iob + basalIob.basaliob) + " (" +
resourceHelper.gs(R.string.formatinsulinunits, bolusIob.iob) + "/" +
resourceHelper.gs(R.string.formatinsulinunits, basalIob.basaliob) + ")"
}
overview_iob_llayout?.setOnClickListener {
activity?.let {
OKDialog.show(it, resourceHelper.gs(R.string.iob),
@ -741,7 +747,7 @@ class OverviewFragment : DaggerFragment(), View.OnClickListener, OnLongClickList
// Status lights
overview_statuslights?.visibility = (sp.getBoolean(R.string.key_show_statuslights, true) || config.NSCLIENT).toVisibility()
statusLightHandler.updateStatusLights(careportal_canulaage, careportal_insulinage, careportal_reservoirlevel, careportal_sensorage, careportal_pbage, careportal_batterylevel)
statusLightHandler.updateStatusLights(careportal_canulaage, careportal_insulinage, careportal_reservoirlevel, careportal_sensorage, null, careportal_pbage, careportal_batterylevel)
// cob
var cobText: String = resourceHelper.gs(R.string.value_unavailable_short)

View file

@ -28,12 +28,12 @@ import info.nightscout.androidaps.events.EventRefreshOverview
import info.nightscout.androidaps.interfaces.ActivePluginProvider
import info.nightscout.androidaps.interfaces.CommandQueueProvider
import info.nightscout.androidaps.interfaces.PluginType
import info.nightscout.androidaps.interfaces.ProfileFunction
import info.nightscout.androidaps.interfaces.PumpDescription
import info.nightscout.androidaps.logging.AAPSLogger
import info.nightscout.androidaps.plugins.aps.loop.LoopPlugin
import info.nightscout.androidaps.plugins.bus.RxBusWrapper
import info.nightscout.androidaps.plugins.configBuilder.ConfigBuilderPlugin
import info.nightscout.androidaps.interfaces.ProfileFunction
import info.nightscout.androidaps.queue.Callback
import info.nightscout.androidaps.utils.DateUtil
import info.nightscout.androidaps.utils.DefaultValueHelper

View file

@ -27,14 +27,20 @@ class StatusLightHandler @Inject constructor(
/**
* applies the extended statusLight subview on the overview fragment
*/
fun updateStatusLights(careportal_canulaage: TextView?, careportal_insulinage: TextView?, careportal_reservoirlevel: TextView?, careportal_sensorage: TextView?, careportal_pbage: TextView?, careportal_batterylevel: TextView?) {
fun updateStatusLights(careportal_canulaage: TextView?, careportal_insulinage: TextView?, careportal_reservoirlevel: TextView?, careportal_sensorage: TextView?, careportal_sensorbatterylevel: TextView?, careportal_pbage: TextView?, careportal_batterylevel: TextView?) {
val pump = activePlugin.activePump
val bgSource = activePlugin.activeBgSource
handleAge(careportal_canulaage, CareportalEvent.SITECHANGE, R.string.key_statuslights_cage_warning, 48.0, R.string.key_statuslights_cage_critical, 72.0)
handleAge(careportal_insulinage, CareportalEvent.INSULINCHANGE, R.string.key_statuslights_iage_warning, 72.0, R.string.key_statuslights_iage_critical, 144.0)
handleAge(careportal_sensorage, CareportalEvent.SENSORCHANGE, R.string.key_statuslights_sage_warning, 216.0, R.string.key_statuslights_sage_critical, 240.0)
handleAge(careportal_pbage, CareportalEvent.PUMPBATTERYCHANGE, R.string.key_statuslights_bage_warning, 216.0, R.string.key_statuslights_bage_critical, 240.0)
if (!config.NSCLIENT)
if (!config.NSCLIENT) {
handleLevel(careportal_reservoirlevel, R.string.key_statuslights_res_critical, 10.0, R.string.key_statuslights_res_warning, 80.0, pump.reservoirLevel, "U")
if (bgSource.sensorBatteryLevel != -1)
handleLevel(careportal_sensorbatterylevel, R.string.key_statuslights_sbat_critical, 5.0, R.string.key_statuslights_sbat_warning, 20.0, bgSource.sensorBatteryLevel.toDouble(), "%")
else
careportal_sensorbatterylevel?.text = ""
}
if (!config.NSCLIENT && pump.model() != PumpType.AccuChekCombo)
handleLevel(careportal_batterylevel, R.string.key_statuslights_bat_critical, 26.0, R.string.key_statuslights_bat_warning, 51.0, pump.batteryLevel.toDouble(), "%")
}

View file

@ -23,7 +23,6 @@ import info.nightscout.androidaps.logging.LTag
import info.nightscout.androidaps.plugins.aps.loop.LoopPlugin
import info.nightscout.androidaps.plugins.bus.RxBusWrapper
import info.nightscout.androidaps.plugins.configBuilder.ConstraintChecker
import info.nightscout.androidaps.interfaces.ProfileFunction
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
@ -314,6 +313,7 @@ class SmsCommunicatorPlugin @Inject constructor(
receivedSms.processed = true
messageToConfirm = AuthRequest(injector, receivedSms, reply, passCode, object : SmsAction() {
override fun run() {
aapsLogger.debug("USER ENTRY: SMS LOOP DISABLE")
loopPlugin.setPluginEnabled(PluginType.LOOP, false)
commandQueue.cancelTempBasal(true, object : Callback() {
override fun run() {
@ -337,6 +337,7 @@ class SmsCommunicatorPlugin @Inject constructor(
receivedSms.processed = true
messageToConfirm = AuthRequest(injector, receivedSms, reply, passCode, object : SmsAction() {
override fun run() {
aapsLogger.debug("USER ENTRY: SMS LOOP ENABLE")
loopPlugin.setPluginEnabled(PluginType.LOOP, true)
sendSMS(Sms(receivedSms.phoneNumber, resourceHelper.gs(R.string.smscommunicator_loophasbeenenabled)))
rxBus.send(EventRefreshOverview("SMS_LOOP_START"))
@ -363,7 +364,18 @@ class SmsCommunicatorPlugin @Inject constructor(
receivedSms.processed = true
messageToConfirm = AuthRequest(injector, receivedSms, reply, passCode, object : SmsAction() {
override fun run() {
aapsLogger.debug("USER ENTRY: SMS LOOP RESUME")
loopPlugin.suspendTo(0L)
rxBus.send(EventRefreshOverview("SMS_LOOP_RESUME"))
commandQueue.cancelTempBasal(true, object : Callback() {
override fun run() {
if (!result.success) {
var replyText = resourceHelper.gs(R.string.smscommunicator_tempbasalfailed)
replyText += "\n" + activePlugin.activePump.shortStatus(true)
sendSMS(Sms(receivedSms.phoneNumber, replyText))
}
}
})
loopPlugin.createOfflineEvent(0)
sendSMSToAllNumbers(Sms(receivedSms.phoneNumber, resourceHelper.gs(R.string.smscommunicator_loopresumed)))
}
@ -385,6 +397,7 @@ class SmsCommunicatorPlugin @Inject constructor(
receivedSms.processed = true
messageToConfirm = AuthRequest(injector, receivedSms, reply, passCode, object : SmsAction(duration) {
override fun run() {
aapsLogger.debug("USER ENTRY: SMS LOOP SUSPEND")
commandQueue.cancelTempBasal(true, object : Callback() {
override fun run() {
if (result.success) {
@ -463,6 +476,7 @@ class SmsCommunicatorPlugin @Inject constructor(
receivedSms.processed = true
messageToConfirm = AuthRequest(injector, receivedSms, reply, passCode, object : SmsAction() {
override fun run() {
aapsLogger.debug("USER ENTRY: SMS PUMP CONNECT")
commandQueue.cancelTempBasal(true, object : Callback() {
override fun run() {
if (!result.success) {
@ -491,6 +505,7 @@ class SmsCommunicatorPlugin @Inject constructor(
receivedSms.processed = true
messageToConfirm = AuthRequest(injector, receivedSms, reply, passCode, object : SmsAction() {
override fun run() {
aapsLogger.debug("USER ENTRY: SMS PUMP DISCONNECT")
val profile = profileFunction.getProfile()
loopPlugin.disconnectPump(duration, profile)
rxBus.send(EventRefreshOverview("SMS_PUMP_DISCONNECT"))
@ -544,6 +559,7 @@ class SmsCommunicatorPlugin @Inject constructor(
val finalPercentage = percentage
messageToConfirm = AuthRequest(injector, receivedSms, reply, passCode, object : SmsAction(list[pindex - 1] as String, finalPercentage) {
override fun run() {
aapsLogger.debug("USER ENTRY: SMS PROFILE $reply")
activePlugin.activeTreatments.doProfileSwitch(store, list[pindex - 1] as String, 0, finalPercentage, 0, DateUtil.now())
sendSMS(Sms(receivedSms.phoneNumber, resourceHelper.gs(R.string.profileswitchcreated)))
}
@ -561,6 +577,7 @@ class SmsCommunicatorPlugin @Inject constructor(
receivedSms.processed = true
messageToConfirm = AuthRequest(injector, receivedSms, reply, passCode, object : SmsAction() {
override fun run() {
aapsLogger.debug("USER ENTRY: SMS BASAL $reply")
commandQueue.cancelTempBasal(true, object : Callback() {
override fun run() {
if (result.success) {
@ -578,7 +595,7 @@ class SmsCommunicatorPlugin @Inject constructor(
})
} else if (splitted[1].endsWith("%")) {
var tempBasalPct = SafeParse.stringToInt(StringUtils.removeEnd(splitted[1], "%"))
var durationStep = activePlugin.activePump.model().tbrSettings.durationStep
val durationStep = activePlugin.activePump.model().tbrSettings.durationStep
var duration = 30
if (splitted.size > 2) duration = SafeParse.stringToInt(splitted[2])
val profile = profileFunction.getProfile()
@ -592,6 +609,7 @@ class SmsCommunicatorPlugin @Inject constructor(
receivedSms.processed = true
messageToConfirm = AuthRequest(injector, receivedSms, reply, passCode, object : SmsAction(tempBasalPct, duration) {
override fun run() {
aapsLogger.debug("USER ENTRY: SMS BASAL $reply")
commandQueue.tempBasalPercent(anInteger(), secondInteger(), true, profile, object : Callback() {
override fun run() {
if (result.success) {
@ -611,7 +629,7 @@ class SmsCommunicatorPlugin @Inject constructor(
}
} else {
var tempBasal = SafeParse.stringToDouble(splitted[1])
var durationStep = activePlugin.activePump.model().tbrSettings.durationStep
val durationStep = activePlugin.activePump.model().tbrSettings.durationStep
var duration = 30
if (splitted.size > 2) duration = SafeParse.stringToInt(splitted[2])
val profile = profileFunction.getProfile()
@ -625,6 +643,7 @@ class SmsCommunicatorPlugin @Inject constructor(
receivedSms.processed = true
messageToConfirm = AuthRequest(injector, receivedSms, reply, passCode, object : SmsAction(tempBasal, duration) {
override fun run() {
aapsLogger.debug("USER ENTRY: SMS BASAL $reply")
commandQueue.tempBasalAbsolute(aDouble(), secondInteger(), true, profile, object : Callback() {
override fun run() {
if (result.success) {
@ -652,6 +671,7 @@ class SmsCommunicatorPlugin @Inject constructor(
receivedSms.processed = true
messageToConfirm = AuthRequest(injector, receivedSms, reply, passCode, object : SmsAction() {
override fun run() {
aapsLogger.debug("USER ENTRY: SMS EXTENDED $reply")
commandQueue.cancelExtended(object : Callback() {
override fun run() {
if (result.success) {
@ -680,6 +700,7 @@ class SmsCommunicatorPlugin @Inject constructor(
receivedSms.processed = true
messageToConfirm = AuthRequest(injector, receivedSms, reply, passCode, object : SmsAction(extended, duration) {
override fun run() {
aapsLogger.debug("USER ENTRY: SMS EXTENDED $reply")
commandQueue.extendedBolus(aDouble(), secondInteger(), object : Callback() {
override fun run() {
if (result.success) {
@ -715,6 +736,7 @@ class SmsCommunicatorPlugin @Inject constructor(
receivedSms.processed = true
messageToConfirm = AuthRequest(injector, receivedSms, reply, passCode, object : SmsAction(bolus) {
override fun run() {
aapsLogger.debug("USER ENTRY: SMS BOLUS $reply")
val detailedBolusInfo = DetailedBolusInfo()
detailedBolusInfo.insulin = aDouble()
detailedBolusInfo.source = Source.USER
@ -789,6 +811,7 @@ class SmsCommunicatorPlugin @Inject constructor(
receivedSms.processed = true
messageToConfirm = AuthRequest(injector, receivedSms, reply, passCode, object : SmsAction(grams, time) {
override fun run() {
aapsLogger.debug("USER ENTRY: SMS CARBS $reply")
val detailedBolusInfo = DetailedBolusInfo()
detailedBolusInfo.carbs = anInteger().toDouble()
detailedBolusInfo.source = Source.USER
@ -829,6 +852,7 @@ class SmsCommunicatorPlugin @Inject constructor(
receivedSms.processed = true
messageToConfirm = AuthRequest(injector, receivedSms, reply, passCode, object : SmsAction() {
override fun run() {
aapsLogger.debug("USER ENTRY: SMS TARGET $reply")
val units = profileFunction.getUnits()
var keyDuration = 0
var defaultTargetDuration = 0
@ -884,6 +908,7 @@ class SmsCommunicatorPlugin @Inject constructor(
receivedSms.processed = true
messageToConfirm = AuthRequest(injector, receivedSms, reply, passCode, object : SmsAction() {
override fun run() {
aapsLogger.debug("USER ENTRY: SMS TARGET $reply")
val tempTarget = TempTarget()
.source(Source.USER)
.date(DateUtil.now())
@ -908,6 +933,7 @@ class SmsCommunicatorPlugin @Inject constructor(
receivedSms.processed = true
messageToConfirm = AuthRequest(injector, receivedSms, reply, passCode, object : SmsAction() {
override fun run() {
aapsLogger.debug("USER ENTRY: SMS SMS $reply")
sp.putBoolean(R.string.key_smscommunicator_remotecommandsallowed, false)
val replyText = String.format(resourceHelper.gs(R.string.smscommunicator_stoppedsms))
sendSMSToAllNumbers(Sms(receivedSms.phoneNumber, replyText))
@ -924,6 +950,7 @@ class SmsCommunicatorPlugin @Inject constructor(
receivedSms.processed = true
messageToConfirm = AuthRequest(injector, receivedSms, reply, passCode, object : SmsAction(cal) {
override fun run() {
aapsLogger.debug("USER ENTRY: SMS CAL $reply")
val result = xdripCalibrations.sendIntent(aDouble!!)
if (result) sendSMSToAllNumbers(Sms(receivedSms.phoneNumber, resourceHelper.gs(R.string.smscommunicator_calibrationsent))) else sendSMS(Sms(receivedSms.phoneNumber, resourceHelper.gs(R.string.smscommunicator_calibrationfailed)))
}

View file

@ -106,9 +106,9 @@ class LocalProfileFragment : DaggerFragment() {
localprofile_name.removeTextChangedListener(textWatch)
localprofile_name.setText(currentProfile.name)
localprofile_name.addTextChangedListener(textWatch)
localprofile_dia.setParams(currentProfile.dia, hardLimits.MINDIA, hardLimits.MAXDIA, 0.1, DecimalFormat("0.0"), false, localprofile_save, textWatch)
localprofile_dia.setParams(currentProfile.dia, hardLimits.minDia(), hardLimits.maxDia(), 0.1, DecimalFormat("0.0"), false, localprofile_save, textWatch)
localprofile_dia.tag = "LP_DIA"
TimeListEdit(context, aapsLogger, dateUtil, view, R.id.localprofile_ic, "IC", resourceHelper.gs(R.string.ic_label), currentProfile.ic, null, hardLimits.MINIC, hardLimits.MAXIC, 0.1, DecimalFormat("0.0"), save)
TimeListEdit(context, aapsLogger, dateUtil, view, R.id.localprofile_ic, "IC", resourceHelper.gs(R.string.ic_label), currentProfile.ic, null, hardLimits.minIC(), hardLimits.maxIC(), 0.1, DecimalFormat("0.0"), save)
basalView = TimeListEdit(context, aapsLogger, dateUtil, view, R.id.localprofile_basal, "BASAL", resourceHelper.gs(R.string.basal_label) + ": " + sumLabel(), currentProfile.basal, null, pumpDescription.basalMinimumRate, 10.0, 0.01, DecimalFormat("0.00"), save)
if (units == Constants.MGDL) {
TimeListEdit(context, aapsLogger, dateUtil, view, R.id.localprofile_isf, "ISF", resourceHelper.gs(R.string.isf_label), currentProfile.isf, null, hardLimits.MINISF, hardLimits.MAXISF, 1.0, DecimalFormat("0"), save)

View file

@ -41,6 +41,8 @@ class EversensePlugin @Inject constructor(
aapsLogger, resourceHelper, injector
), BgSourceInterface {
private var sensorBatteryLevel = -1
override fun advancedFilteringSupported(): Boolean {
return false
}
@ -53,7 +55,10 @@ class EversensePlugin @Inject constructor(
if (bundle.containsKey("glucoseLevel")) aapsLogger.debug(LTag.BGSOURCE, "glucoseLevel: " + bundle.getInt("glucoseLevel"))
if (bundle.containsKey("glucoseTrendDirection")) aapsLogger.debug(LTag.BGSOURCE, "glucoseTrendDirection: " + bundle.getString("glucoseTrendDirection"))
if (bundle.containsKey("glucoseTimestamp")) aapsLogger.debug(LTag.BGSOURCE, "glucoseTimestamp: " + dateUtil.dateAndTimeString(bundle.getLong("glucoseTimestamp")))
if (bundle.containsKey("batteryLevel")) aapsLogger.debug(LTag.BGSOURCE, "batteryLevel: " + bundle.getString("batteryLevel"))
if (bundle.containsKey("batteryLevel")) {
aapsLogger.debug(LTag.BGSOURCE, "batteryLevel: " + bundle.getString("batteryLevel"))
//sensorBatteryLevel = bundle.getString("batteryLevel").toInt() // TODO: Philoul: Line to check I don't have eversens so I don't know what kind of information is sent...
}
if (bundle.containsKey("signalStrength")) aapsLogger.debug(LTag.BGSOURCE, "signalStrength: " + bundle.getString("signalStrength"))
if (bundle.containsKey("transmitterVersionNumber")) aapsLogger.debug(LTag.BGSOURCE, "transmitterVersionNumber: " + bundle.getString("transmitterVersionNumber"))
if (bundle.containsKey("isXLVersion")) aapsLogger.debug(LTag.BGSOURCE, "isXLVersion: " + bundle.getBoolean("isXLVersion"))
@ -113,4 +118,8 @@ class EversensePlugin @Inject constructor(
}
}
}
override fun getSensorBatteryLevel(): Int {
return sensorBatteryLevel
}
}

View file

@ -31,6 +31,7 @@ class XdripPlugin @Inject constructor(
), BgSourceInterface {
private var advancedFiltering = false
private var sensorBatteryLevel = -1
override fun advancedFilteringSupported(): Boolean {
return advancedFiltering
@ -45,6 +46,7 @@ class XdripPlugin @Inject constructor(
bgReading.direction = bundle.getString(Intents.EXTRA_BG_SLOPE_NAME)
bgReading.date = bundle.getLong(Intents.EXTRA_TIMESTAMP)
bgReading.raw = bundle.getDouble(Intents.EXTRA_RAW)
//if (bundle.containsKey(Intents.EXTRA_SENSOR_BATTERY)) sensorBatteryLevel = bundle.getInt(Intents.EXTRA_SENSOR_BATTERY)
val source = bundle.getString(Intents.XDRIP_DATA_SOURCE_DESCRIPTION, "no Source specified")
setSource(source)
MainApp.getDbHelper().createIfNotExists(bgReading, "XDRIP")
@ -53,4 +55,8 @@ class XdripPlugin @Inject constructor(
private fun setSource(source: String) {
advancedFiltering = source.contains("G5 Native") || source.contains("G6 Native")
}
override fun getSensorBatteryLevel(): Int {
return sensorBatteryLevel
}
}

View file

@ -30,13 +30,12 @@ import info.nightscout.androidaps.data.NonOverlappingIntervals;
import info.nightscout.androidaps.data.OverlappingIntervals;
import info.nightscout.androidaps.data.Profile;
import info.nightscout.androidaps.data.ProfileIntervals;
import info.nightscout.androidaps.db.Treatment;
import info.nightscout.androidaps.interfaces.ProfileStore;
import info.nightscout.androidaps.db.ExtendedBolus;
import info.nightscout.androidaps.db.ProfileSwitch;
import info.nightscout.androidaps.db.Source;
import info.nightscout.androidaps.db.TempTarget;
import info.nightscout.androidaps.db.TemporaryBasal;
import info.nightscout.androidaps.db.Treatment;
import info.nightscout.androidaps.events.EventReloadProfileSwitchData;
import info.nightscout.androidaps.events.EventReloadTempBasalData;
import info.nightscout.androidaps.events.EventReloadTreatmentData;
@ -45,13 +44,15 @@ import info.nightscout.androidaps.interfaces.ActivePluginProvider;
import info.nightscout.androidaps.interfaces.PluginBase;
import info.nightscout.androidaps.interfaces.PluginDescription;
import info.nightscout.androidaps.interfaces.PluginType;
import info.nightscout.androidaps.interfaces.ProfileFunction;
import info.nightscout.androidaps.interfaces.ProfileStore;
import info.nightscout.androidaps.interfaces.PumpInterface;
import info.nightscout.androidaps.interfaces.TreatmentsInterface;
import info.nightscout.androidaps.logging.AAPSLogger;
import info.nightscout.androidaps.logging.LTag;
import info.nightscout.androidaps.plugins.bus.RxBusWrapper;
import info.nightscout.androidaps.interfaces.ProfileFunction;
import info.nightscout.androidaps.plugins.general.nsclient.NSUpload;
import info.nightscout.androidaps.plugins.general.nsclient.UploadQueue;
import info.nightscout.androidaps.plugins.general.overview.events.EventDismissNotification;
import info.nightscout.androidaps.plugins.general.overview.notifications.Notification;
import info.nightscout.androidaps.plugins.iob.iobCobCalculator.AutosensResult;
@ -75,6 +76,7 @@ public class TreatmentsPlugin extends PluginBase implements TreatmentsInterface
private final ProfileFunction profileFunction;
private final ActivePluginProvider activePlugin;
private final NSUpload nsUpload;
private final UploadQueue uploadQueue;
private final FabricPrivacy fabricPrivacy;
private final DateUtil dateUtil;
@ -103,7 +105,8 @@ public class TreatmentsPlugin extends PluginBase implements TreatmentsInterface
ActivePluginProvider activePlugin,
NSUpload nsUpload,
FabricPrivacy fabricPrivacy,
DateUtil dateUtil
DateUtil dateUtil,
UploadQueue uploadQueue
) {
super(new PluginDescription()
.mainType(PluginType.TREATMENT)
@ -124,6 +127,7 @@ public class TreatmentsPlugin extends PluginBase implements TreatmentsInterface
this.fabricPrivacy = fabricPrivacy;
this.dateUtil = dateUtil;
this.nsUpload = nsUpload;
this.uploadQueue = uploadQueue;
}
@Override
@ -338,8 +342,7 @@ public class TreatmentsPlugin extends PluginBase implements TreatmentsInterface
if (last == null) {
getAapsLogger().debug(LTag.DATATREATMENTS, "Last bolus time: NOTHING FOUND");
return 0;
}
else {
} else {
getAapsLogger().debug(LTag.DATATREATMENTS, "Last bolus time: " + dateUtil.dateAndTimeString(last.date));
return last.date;
}
@ -350,8 +353,7 @@ public class TreatmentsPlugin extends PluginBase implements TreatmentsInterface
if (last == null) {
getAapsLogger().debug(LTag.DATATREATMENTS, "Last manual bolus time: NOTHING FOUND");
return 0;
}
else {
} else {
getAapsLogger().debug(LTag.DATATREATMENTS, "Last manual bolus time: " + dateUtil.dateAndTimeString(last.date));
return last.date;
}
@ -362,8 +364,7 @@ public class TreatmentsPlugin extends PluginBase implements TreatmentsInterface
if (last == null) {
getAapsLogger().debug(LTag.DATATREATMENTS, "Last Carb time: NOTHING FOUND");
return 0;
}
else {
} else {
getAapsLogger().debug(LTag.DATATREATMENTS, "Last Carb time: " + dateUtil.dateAndTimeString(last.date));
return last.date;
}
@ -387,6 +388,16 @@ public class TreatmentsPlugin extends PluginBase implements TreatmentsInterface
return getTempBasalFromHistory(System.currentTimeMillis()) != null;
}
@Override public void removeTempBasal(TemporaryBasal tempBasal) {
String tempBasalId = tempBasal._id;
if (NSUpload.isIdValid(tempBasalId)) {
nsUpload.removeCareportalEntryFromNS(tempBasalId);
} else {
uploadQueue.removeID("dbAdd", tempBasalId);
}
MainApp.getDbHelper().delete(tempBasal);
}
@Override
public boolean isInHistoryExtendedBoluslInProgress() {
return getExtendedBolusFromHistory(System.currentTimeMillis()) != null; //TODO: crosscheck here

View file

@ -11,7 +11,6 @@ import androidx.cardview.widget.CardView
import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.RecyclerView
import dagger.android.support.DaggerFragment
import info.nightscout.androidaps.MainApp
import info.nightscout.androidaps.R
import info.nightscout.androidaps.data.Intervals
import info.nightscout.androidaps.data.IobTotal
@ -19,33 +18,29 @@ import info.nightscout.androidaps.db.Source
import info.nightscout.androidaps.db.TemporaryBasal
import info.nightscout.androidaps.events.EventTempBasalChange
import info.nightscout.androidaps.interfaces.ActivePluginProvider
import info.nightscout.androidaps.plugins.bus.RxBusWrapper
import info.nightscout.androidaps.interfaces.ProfileFunction
import info.nightscout.androidaps.plugins.bus.RxBusWrapper
import info.nightscout.androidaps.plugins.general.nsclient.NSUpload
import info.nightscout.androidaps.plugins.general.nsclient.UploadQueue
import info.nightscout.androidaps.plugins.iob.iobCobCalculator.events.EventAutosensCalculationFinished
import info.nightscout.androidaps.plugins.treatments.fragments.TreatmentsTemporaryBasalsFragment.RecyclerViewAdapter.TempBasalsViewHolder
import info.nightscout.androidaps.utils.DateUtil
import info.nightscout.androidaps.utils.FabricPrivacy
import info.nightscout.androidaps.utils.alertDialogs.OKDialog.showConfirmation
import info.nightscout.androidaps.utils.resources.ResourceHelper
import info.nightscout.androidaps.utils.sharedPreferences.SP
import io.reactivex.android.schedulers.AndroidSchedulers
import io.reactivex.disposables.CompositeDisposable
import kotlinx.android.synthetic.main.treatments_tempbasals_fragment.*
import javax.inject.Inject
class TreatmentsTemporaryBasalsFragment : DaggerFragment() {
private val disposable = CompositeDisposable()
@Inject lateinit var rxBus: RxBusWrapper
@Inject lateinit var sp: SP
@Inject lateinit var resourceHelper: ResourceHelper
@Inject lateinit var fabricPrivacy: FabricPrivacy
@Inject lateinit var activePlugin: ActivePluginProvider
@Inject lateinit var profileFunction: ProfileFunction
@Inject lateinit var nsUpload: NSUpload
@Inject lateinit var uploadQueue: UploadQueue
@Inject lateinit var dateUtil: DateUtil
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?,
@ -81,6 +76,7 @@ class TreatmentsTemporaryBasalsFragment : DaggerFragment() {
}
inner class RecyclerViewAdapter internal constructor(private var tempBasalList: Intervals<TemporaryBasal>) : RecyclerView.Adapter<TempBasalsViewHolder>() {
override fun onCreateViewHolder(viewGroup: ViewGroup, viewType: Int): TempBasalsViewHolder {
val v = LayoutInflater.from(viewGroup.context).inflate(R.layout.treatments_tempbasals_item, viewGroup, false)
return TempBasalsViewHolder(v)
@ -142,6 +138,7 @@ class TreatmentsTemporaryBasalsFragment : DaggerFragment() {
}
inner class TempBasalsViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) {
var cv: CardView = itemView.findViewById(R.id.tempbasals_cardview)
var date: TextView = itemView.findViewById(R.id.tempbasals_date)
var duration: TextView = itemView.findViewById(R.id.tempbasals_duration)
@ -166,10 +163,7 @@ class TreatmentsTemporaryBasalsFragment : DaggerFragment() {
${resourceHelper.gs(R.string.date)}: ${dateUtil.dateAndTimeString(tempBasal.date)}
""".trimIndent(),
DialogInterface.OnClickListener { _: DialogInterface?, _: Int ->
val id = tempBasal._id
if (NSUpload.isIdValid(id)) nsUpload.removeCareportalEntryFromNS(id)
else uploadQueue.removeID("dbAdd", id)
MainApp.getDbHelper().delete(tempBasal)
activePlugin.activeTreatments.removeTempBasal(tempBasal)
}, null)
}
}

View file

@ -14,7 +14,6 @@ class SkinButtonsOn @Inject constructor(private val config: Config) : SkinInterf
override fun overviewLayout(isLandscape: Boolean, isTablet: Boolean, isSmallHeight: Boolean): Int =
when {
config.NSCLIENT && isTablet -> R.layout.overview_fragment_nsclient_tablet
config.NSCLIENT -> R.layout.overview_fragment_nsclient
else -> R.layout.overview_fragment
}

View file

@ -14,7 +14,6 @@ class SkinClassic @Inject constructor(private val config: Config): SkinInterface
override fun overviewLayout(isLandscape: Boolean, isTablet: Boolean, isSmallHeight: Boolean): Int =
when {
config.NSCLIENT && isTablet -> R.layout.overview_fragment_nsclient_tablet
config.NSCLIENT -> R.layout.overview_fragment_nsclient
isSmallHeight || isLandscape -> R.layout.overview_fragment_landscape
else -> R.layout.overview_fragment

View file

@ -1,12 +1,73 @@
package info.nightscout.androidaps.skins
import android.util.DisplayMetrics
import android.util.TypedValue.COMPLEX_UNIT_PX
import android.view.View
import android.widget.LinearLayout
import android.widget.TextView
import androidx.annotation.LayoutRes
import androidx.annotation.StringRes
import androidx.constraintlayout.widget.ConstraintLayout
import info.nightscout.androidaps.R
import kotlinx.android.synthetic.main.overview_fragment_nsclient.view.*
import kotlinx.android.synthetic.main.overview_info_layout.view.*
import kotlinx.android.synthetic.main.overview_statuslights_layout.view.*
interface SkinInterface {
@get:StringRes val description : Int
val mainGraphHeight : Int // in dp
val secondaryGraphHeight : Int // in dp
@LayoutRes fun overviewLayout(isLandscape : Boolean, isTablet : Boolean, isSmallHeight : Boolean): Int
@get:StringRes val description: Int
val mainGraphHeight: Int // in dp
val secondaryGraphHeight: Int // in dp
@LayoutRes
fun overviewLayout(isLandscape: Boolean, isTablet: Boolean, isSmallHeight: Boolean): Int
@LayoutRes
fun actionsLayout(isLandscape: Boolean, isSmallWidth: Boolean): Int = R.layout.actions_fragment
fun preProcessLandscapeOverviewLayout(dm: DisplayMetrics, view: View, isTablet: Boolean) {
// pre-process landscape mode
val screenWidth = dm.widthPixels
val screenHeight = dm.heightPixels
val landscape = screenHeight < screenWidth
if (landscape) {
val iobLayoutParams = view.overview_iob_llayout.layoutParams as ConstraintLayout.LayoutParams
iobLayoutParams.startToStart = ConstraintLayout.LayoutParams.UNSET
iobLayoutParams.startToEnd = view.overview_time_llayout.id
iobLayoutParams.topToBottom = ConstraintLayout.LayoutParams.UNSET
iobLayoutParams.topToTop = ConstraintLayout.LayoutParams.PARENT_ID
val timeLayoutParams = view.overview_time_llayout.layoutParams as ConstraintLayout.LayoutParams
timeLayoutParams.endToEnd = ConstraintLayout.LayoutParams.UNSET
timeLayoutParams.endToStart = view.overview_iob_llayout.id
if (isTablet) {
for (v in listOf<TextView>(
view.overview_bg,
view.overview_time,
view.overview_timeagoshort,
view.overview_iob,
view.overview_cob,
view.overview_basebasal,
view.overview_extendedbolus,
view.overview_sensitivity
)) v.setTextSize(COMPLEX_UNIT_PX, v.textSize * 1.5f)
for (v in listOf<TextView>(
view.overview_pump,
view.overview_openaps,
view.overview_uploader,
view.careportal_canulaage,
view.careportal_insulinage,
view.careportal_reservoirlevel,
view.careportal_reservoirlevel,
view.careportal_sensorage,
view.careportal_pbage,
view.careportal_batterylevel
)) v.setTextSize(COMPLEX_UNIT_PX, v.textSize * 1.3f)
view.overview_time_llayout.orientation = LinearLayout.HORIZONTAL
view.overview_timeagoshort.setTextSize(COMPLEX_UNIT_PX, view.overview_time.textSize)
}
}
}
}

View file

@ -14,7 +14,6 @@ class SkinLargeDisplay @Inject constructor(private val config: Config): SkinInte
override fun overviewLayout(isLandscape: Boolean, isTablet: Boolean, isSmallHeight: Boolean): Int =
when {
config.NSCLIENT && isTablet -> R.layout.overview_fragment_nsclient_tablet
config.NSCLIENT -> R.layout.overview_fragment_nsclient
isSmallHeight || isLandscape -> R.layout.overview_fragment_landscape
else -> R.layout.overview_fragment

View file

@ -0,0 +1,31 @@
package info.nightscout.androidaps.skins
import android.util.DisplayMetrics
import android.view.View
import info.nightscout.androidaps.Config
import info.nightscout.androidaps.R
import javax.inject.Inject
import javax.inject.Singleton
@Singleton
class SkinLowRes @Inject constructor(private val config: Config) : SkinInterface {
override val description: Int get() = R.string.lowres_description
override val mainGraphHeight: Int get() = 200
override val secondaryGraphHeight: Int get() = 100
override fun overviewLayout(isLandscape: Boolean, isTablet: Boolean, isSmallHeight: Boolean): Int =
when {
config.NSCLIENT -> R.layout.overview_fragment_nsclient
isSmallHeight || isLandscape -> R.layout.overview_fragment_landscape
else -> R.layout.overview_fragment
}
override fun actionsLayout(isLandscape: Boolean, isSmallWidth: Boolean): Int =
when {
isLandscape || !isSmallWidth -> R.layout.actions_fragment
else -> R.layout.actions_fragment_lowres
}
override fun preProcessLandscapeOverviewLayout(dm: DisplayMetrics, view: View, isTablet: Boolean) {}
}

View file

@ -24,7 +24,8 @@ class HardLimits @Inject constructor(
val TEENAGE = 1
val ADULT = 2
val RESISTANTADULT = 3
val MAXBOLUS = doubleArrayOf(5.0, 10.0, 17.0, 25.0)
val PREGNANT = 4
val MAXBOLUS = doubleArrayOf(5.0, 10.0, 17.0, 25.0, 60.0)
// Very Hard Limits Ranges
// First value is the Lowest and second value is the Highest a Limit can define
@ -36,15 +37,15 @@ class HardLimits @Inject constructor(
val VERY_HARD_LIMIT_TEMP_MIN_BG = intArrayOf(72, 180)
val VERY_HARD_LIMIT_TEMP_MAX_BG = intArrayOf(72, 270)
val VERY_HARD_LIMIT_TEMP_TARGET_BG = intArrayOf(72, 200)
val MINDIA = 5.0
val MAXDIA = 7.0
val MINIC = 2.0
val MAXIC = 100.0
val MINDIA = doubleArrayOf(5.0, 5.0, 5.0, 5.0, 5.0)
val MAXDIA = doubleArrayOf(7.0, 7.0, 7.0, 7.0, 10.0)
val MINIC = doubleArrayOf(2.0, 2.0, 2.0, 2.0, 0.3)
val MAXIC = doubleArrayOf(100.0, 100.0, 100.0, 100.0, 100.0)
val MINISF = 2.0 // mgdl
val MAXISF = 720.0 // mgdl
val MAXIOB_AMA = doubleArrayOf(3.0, 5.0, 7.0, 12.0)
val MAXIOB_SMB = doubleArrayOf(3.0, 7.0, 12.0, 25.0)
val MAXBASAL = doubleArrayOf(2.0, 5.0, 10.0, 12.0)
val MAXIOB_AMA = doubleArrayOf(3.0, 5.0, 7.0, 12.0, 25.0)
val MAXIOB_SMB = doubleArrayOf(3.0, 7.0, 12.0, 25.0, 40.0)
val MAXBASAL = doubleArrayOf(2.0, 5.0, 10.0, 12.0, 25.0)
//LGS Hard limits
//No IOB at all
@ -57,6 +58,7 @@ class HardLimits @Inject constructor(
else if (sp_age == resourceHelper.gs(R.string.key_teenage)) TEENAGE
else if (sp_age == resourceHelper.gs(R.string.key_adult)) ADULT
else if (sp_age == resourceHelper.gs(R.string.key_resistantadult)) RESISTANTADULT
else if (sp_age == resourceHelper.gs(R.string.key_pregnant)) PREGNANT
else ADULT
return age
}
@ -77,6 +79,22 @@ class HardLimits @Inject constructor(
return MAXBASAL[loadAge()]
}
fun minDia(): Double {
return MINDIA[loadAge()]
}
fun maxDia(): Double {
return MAXDIA[loadAge()]
}
fun minIC(): Double {
return MINIC[loadAge()]
}
fun maxIC(): Double {
return MAXIC[loadAge()]
}
// safety checks
fun checkOnlyHardLimits(value: Double, valueName: String?, lowLimit: Double, highLimit: Double): Boolean {
return value == verifyHardLimits(value, valueName, lowLimit, highLimit)
@ -96,4 +114,4 @@ class HardLimits @Inject constructor(
}
return newvalue
}
}
}

View file

@ -7,11 +7,12 @@ import info.nightscout.androidaps.MainApp
import info.nightscout.androidaps.R
import info.nightscout.androidaps.db.TDD
import info.nightscout.androidaps.interfaces.ActivePluginProvider
import info.nightscout.androidaps.interfaces.ProfileFunction
import info.nightscout.androidaps.logging.AAPSLogger
import info.nightscout.androidaps.logging.LTag
import info.nightscout.androidaps.plugins.bus.RxBusWrapper
import info.nightscout.androidaps.interfaces.ProfileFunction
import info.nightscout.androidaps.plugins.general.nsclient.NSUpload
import info.nightscout.androidaps.plugins.general.nsclient.UploadQueue
import info.nightscout.androidaps.plugins.treatments.TreatmentService
import info.nightscout.androidaps.plugins.treatments.TreatmentsPlugin
import info.nightscout.androidaps.utils.DateUtil
@ -34,8 +35,9 @@ class TddCalculator @Inject constructor(
val profileFunction: ProfileFunction,
fabricPrivacy: FabricPrivacy,
nsUpload: NSUpload,
private val dateUtil: DateUtil
) : TreatmentsPlugin(injector, aapsLogger, rxBus, resourceHelper, mainApp, sp, profileFunction, activePlugin, nsUpload, fabricPrivacy, dateUtil) {
private val dateUtil: DateUtil,
uploadQueue: UploadQueue
) : TreatmentsPlugin(injector, aapsLogger, rxBus, resourceHelper, mainApp, sp, profileFunction, activePlugin, nsUpload, fabricPrivacy, dateUtil, uploadQueue) {
init {
service = TreatmentService(injector) // plugin is not started
@ -62,7 +64,7 @@ class TddCalculator @Inject constructor(
val midnight = MidnightTime.calc(t)
val tdd = result[midnight] ?: TDD(midnight, 0.0, 0.0, 0.0)
val tbr = getTempBasalFromHistory(t)
val profile = profileFunction.getProfile(t) ?: continue
val profile = profileFunction.getProfile(t, this) ?: continue
val absoluteRate = tbr?.tempBasalConvertedToAbsolute(t, profile) ?: profile.getBasal(t)
tdd.basal += absoluteRate / 60.0 * 5.0

View file

@ -0,0 +1,304 @@
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".plugins.general.actions.ActionsFragment">
<LinearLayout
android:id="@+id/action_buttons_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="15dp"
android:paddingStart="15dp"
android:paddingEnd="15dp"
android:text="@string/actions" />
<androidx.gridlayout.widget.GridLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="10dip"
app:columnCount="2">
<info.nightscout.androidaps.utils.ui.SingleClickButton
android:id="@+id/actions_profileswitch"
style="@style/ButtonSmallFontStyle"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:drawableTop="@drawable/ic_actions_profileswitch"
android:paddingLeft="0dp"
android:paddingRight="0dp"
android:text="@string/careportal_profileswitch"
app:layout_column="0"
app:layout_columnWeight="1"
app:layout_gravity="fill"
app:layout_row="0" />
<info.nightscout.androidaps.utils.ui.SingleClickButton
android:id="@+id/actions_temptarget"
style="@style/ButtonSmallFontStyle"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:drawableTop="@drawable/ic_actions_temptarget"
android:paddingLeft="0dp"
android:paddingRight="0dp"
android:text="@string/careportal_temporarytarget"
app:layout_column="1"
app:layout_columnWeight="1"
app:layout_gravity="fill"
app:layout_row="0" />
<info.nightscout.androidaps.utils.ui.SingleClickButton
android:id="@+id/actions_settempbasal"
style="@style/ButtonSmallFontStyle"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:drawableTop="@drawable/ic_actions_starttempbasal"
android:paddingLeft="0dp"
android:paddingRight="0dp"
android:text="@string/overview_tempbasal_button"
app:layout_column="0"
app:layout_columnWeight="1"
app:layout_gravity="fill"
app:layout_row="1" />
<info.nightscout.androidaps.utils.ui.SingleClickButton
android:id="@+id/actions_canceltempbasal"
style="@style/ButtonSmallFontStyle"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:drawableTop="@drawable/ic_cancelbasal"
android:paddingLeft="0dp"
android:paddingRight="0dp"
android:text="@string/canceltemp"
android:visibility="gone"
app:layout_column="0"
app:layout_columnWeight="1"
app:layout_gravity="fill"
app:layout_row="1" />
<info.nightscout.androidaps.utils.ui.SingleClickButton
android:id="@+id/actions_extendedbolus"
style="@style/ButtonSmallFontStyle"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:drawableTop="@drawable/ic_actions_startextbolus"
android:paddingLeft="0dp"
android:paddingRight="0dp"
android:text="@string/overview_extendedbolus_button"
app:layout_column="1"
app:layout_columnWeight="1"
app:layout_gravity="fill"
app:layout_row="1" />
<info.nightscout.androidaps.utils.ui.SingleClickButton
android:id="@+id/actions_extendedbolus_cancel"
style="@style/ButtonSmallFontStyle"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:drawableTop="@drawable/ic_actions_cancelextbolus"
android:paddingLeft="0dp"
android:paddingRight="0dp"
android:text="@string/overview_extendedbolus_cancel_button"
android:visibility="gone"
app:layout_column="1"
app:layout_columnWeight="1"
app:layout_gravity="fill"
app:layout_row="1" />
</androidx.gridlayout.widget.GridLayout>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingStart="15dp"
android:paddingEnd="15dp"
android:text="@string/careportal" />
<include
android:id="@+id/careportal_stats"
layout="@layout/careportal_stats_fragment_lowres"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="10dp" />
<androidx.gridlayout.widget.GridLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="10dip"
app:columnCount="2">
<info.nightscout.androidaps.utils.ui.SingleClickButton
android:id="@+id/actions_bgcheck"
style="@style/ButtonSmallFontStyle"
android:layout_width="0dp"
android:layout_height="fill_parent"
android:drawableTop="@drawable/ic_cp_bgcheck"
android:paddingLeft="0dp"
android:paddingRight="0dp"
android:text="@string/careportal_bgcheck"
app:layout_column="0"
app:layout_columnWeight="1"
app:layout_gravity="fill"
app:layout_row="2" />
<info.nightscout.androidaps.utils.ui.SingleClickButton
android:id="@+id/actions_fill"
style="@style/ButtonSmallFontStyle"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:drawableTop="@drawable/ic_cp_pump_canula"
android:paddingLeft="0dp"
android:paddingRight="0dp"
android:text="@string/primefill"
app:layout_column="1"
app:layout_columnWeight="1"
app:layout_gravity="fill"
app:layout_row="2" />
<info.nightscout.androidaps.utils.ui.SingleClickButton
android:id="@+id/actions_cgmsensorinsert"
style="@style/ButtonSmallFontStyle"
android:layout_width="0dp"
android:layout_height="fill_parent"
android:drawableTop="@drawable/ic_cp_cgm_insert"
android:paddingLeft="0dp"
android:paddingRight="0dp"
android:text="@string/careportal_cgmsensorinsert"
app:layout_column="0"
app:layout_columnWeight="1"
app:layout_gravity="fill"
app:layout_row="3" />
<info.nightscout.androidaps.utils.ui.SingleClickButton
android:id="@+id/actions_pumpbatterychange"
style="@style/ButtonSmallFontStyle"
android:layout_width="0dp"
android:layout_height="fill_parent"
android:drawableTop="@drawable/ic_cp_pump_battery"
android:paddingLeft="0dp"
android:paddingRight="0dp"
android:text="@string/careportal_pumpbatterychange"
app:layout_column="1"
app:layout_columnWeight="1"
app:layout_gravity="fill"
app:layout_row="3" />
<info.nightscout.androidaps.utils.ui.SingleClickButton
android:id="@+id/actions_note"
style="@style/ButtonSmallFontStyle"
android:layout_width="0dp"
android:layout_height="fill_parent"
android:drawableTop="@drawable/ic_cp_note"
android:paddingLeft="0dp"
android:paddingRight="0dp"
android:text="@string/careportal_note"
app:layout_column="0"
app:layout_columnWeight="1"
app:layout_gravity="fill"
app:layout_row="4" />
<info.nightscout.androidaps.utils.ui.SingleClickButton
android:id="@+id/actions_exercise"
style="@style/ButtonSmallFontStyle"
android:layout_width="0dp"
android:layout_height="fill_parent"
android:drawableTop="@drawable/ic_cp_exercise"
android:paddingLeft="0dp"
android:paddingRight="0dp"
android:text="@string/careportal_exercise"
app:layout_column="1"
app:layout_columnWeight="1"
app:layout_gravity="fill"
app:layout_row="4" />
<info.nightscout.androidaps.utils.ui.SingleClickButton
android:id="@+id/actions_announcement"
style="@style/ButtonSmallFontStyle"
android:layout_width="0dp"
android:layout_height="fill_parent"
android:drawableTop="@drawable/ic_cp_announcement"
android:paddingLeft="0dp"
android:paddingRight="0dp"
android:text="@string/careportal_announcement"
app:layout_column="0"
app:layout_columnWeight="1"
app:layout_gravity="fill"
app:layout_row="5" />
<info.nightscout.androidaps.utils.ui.SingleClickButton
android:id="@+id/actions_question"
style="@style/ButtonSmallFontStyle"
android:layout_width="0dp"
android:layout_height="fill_parent"
android:drawableTop="@drawable/ic_cp_question"
android:paddingLeft="0dp"
android:paddingRight="0dp"
android:text="@string/careportal_question"
app:layout_column="1"
app:layout_columnWeight="1"
app:layout_gravity="fill"
app:layout_row="5" />
</androidx.gridlayout.widget.GridLayout>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingStart="15dp"
android:paddingEnd="15dp"
android:text="@string/tools" />
<androidx.gridlayout.widget.GridLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="10dip"
app:columnCount="2">
<info.nightscout.androidaps.utils.ui.SingleClickButton
android:id="@+id/actions_historybrowser"
style="@style/ButtonSmallFontStyle"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:drawableTop="@drawable/ic_danarhistory"
android:paddingLeft="0dp"
android:paddingRight="0dp"
android:text="@string/nav_historybrowser"
app:layout_column="0"
app:layout_columnWeight="1"
app:layout_gravity="fill"
app:layout_row="6" />
<info.nightscout.androidaps.utils.ui.SingleClickButton
android:id="@+id/actions_tddstats"
style="@style/ButtonSmallFontStyle"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:drawableTop="@drawable/ic_cp_stats"
android:paddingLeft="0dp"
android:paddingRight="0dp"
android:text="@string/tdd"
app:layout_column="1"
app:layout_columnWeight="1"
app:layout_gravity="fill"
app:layout_row="6" />
</androidx.gridlayout.widget.GridLayout>
</LinearLayout>
</ScrollView>

View file

@ -0,0 +1,55 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="10dp"
android:layout_marginEnd="10dp"
android:layout_gravity="center_vertical"
android:text="@string/filter"
android:textAppearance="@android:style/TextAppearance.Material.Medium"
android:textStyle="bold" />
<EditText
android:id="@+id/pref_filter"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:layout_gravity="center_vertical"
android:inputType="text" />
<ImageView
android:id="@+id/pref_filter_clear"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_marginStart="10dp"
android:layout_marginEnd="10dp"
app:srcCompat="@android:drawable/ic_menu_close_clear_cancel" />
</LinearLayout>
<ScrollView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fillViewport="true">
<FrameLayout
android:id="@+id/frame_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"></FrameLayout>
</ScrollView>
</LinearLayout>

View file

@ -4,7 +4,7 @@
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:paddingTop="5dp"
tools:context=".plugins.general.careportal.CareportalFragment">
tools:context=".plugins.general.actions.ActionsFragment">
<ScrollView

View file

@ -2,203 +2,305 @@
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
tools:context=".plugins.general.careportal.CareportalFragment">
tools:context=".plugins.general.actions.ActionsFragment">
<LinearLayout
android:layout_width="wrap_content"
<TableLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:orientation="vertical">
android:stretchColumns="0,2,4">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TableRow
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<TextView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1"
android:layout_width="wrap_content"
android:layout_height="25dp"
android:drawableLeft="@drawable/ic_cp_age_sensor"
android:gravity="center_vertical"
android:drawableLeft="@drawable/ic_cp_age_sensor"
android:paddingRight="5dp"
android:paddingRight="2dp"
android:paddingStart="15dp"
android:text="@string/careportal_sensorage_label"
android:text="@string/careportal_sensor_label"
android:textSize="14sp" />
<TextView
android:layout_width="5dp"
android:id="@+id/careportal_sensoragelabel"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="0"
android:gravity="center_horizontal"
android:paddingEnd="2dp"
android:paddingStart="2dp"
android:text=":"
android:gravity="center_vertical"
android:paddingStart="0dp"
android:paddingRight="0dp"
android:text="@string/careportal_age_label"
android:textSize="14sp" />
<TextView
android:id="@+id/careportal_sensorage"
android:layout_width="match_parent"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="start"
android:paddingLeft="5dp"
android:gravity="center_vertical"
android:paddingRight="2dp"
android:paddingLeft="2dp"
android:textColor="@android:color/white"
android:textSize="14sp" />
</LinearLayout>
<View
android:layout_width="fill_parent"
android:layout_height="2dip"
android:layout_marginBottom="5dp"
android:layout_marginLeft="20dp"
android:layout_marginRight="20dp"
android:layout_marginTop="5dp"
android:background="@color/listdelimiter" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1"
android:id="@+id/careportal_senslevellabel"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:drawableLeft="@drawable/ic_cp_age_insulin"
android:paddingRight="5dp"
android:paddingStart="15dp"
android:text="@string/careportal_insulinage_label"
android:paddingStart="0dp"
android:paddingRight="0dp"
android:text="@string/careportal_level_label"
android:textSize="14sp" />
<TextView
android:layout_width="5dp"
android:id="@+id/careportal_sensorlevel"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="0"
android:gravity="center_horizontal"
android:paddingEnd="2dp"
android:paddingStart="2dp"
android:text=":"
android:gravity="center_vertical"
android:layout_marginRight="20dp"
android:paddingLeft="2dp"
android:textColor="@android:color/white"
android:textSize="14sp" />
</TableRow>
<TableRow
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<View
android:layout_width="fill_parent"
android:layout_height="2dip"
android:layout_span="5"
android:layout_marginLeft="20dp"
android:layout_marginTop="2dp"
android:layout_marginRight="20dp"
android:layout_marginBottom="2dp"
android:background="@color/listdelimiter" />
</TableRow>
<TableRow
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<TextView
android:layout_width="wrap_content"
android:layout_height="25dp"
android:drawableLeft="@drawable/ic_cp_age_insulin"
android:gravity="center_vertical"
android:paddingStart="15dp"
android:paddingRight="2dp"
android:text="@string/careportal_insulin_label"
android:textSize="14sp" />
<TextView
android:id="@+id/careportal_insulinagelabel"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:paddingStart="0dp"
android:paddingRight="0dp"
android:text="@string/careportal_age_label"
android:textSize="14sp" />
<TextView
android:id="@+id/careportal_insulinage"
android:layout_width="match_parent"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="start"
android:paddingLeft="5dp"
android:gravity="center_vertical"
android:paddingRight="2dp"
android:paddingLeft="2dp"
android:textColor="@android:color/white"
android:textSize="14sp" />
</LinearLayout>
<View
android:layout_width="fill_parent"
android:layout_height="2dip"
android:layout_marginBottom="5dp"
android:layout_marginLeft="20dp"
android:layout_marginRight="20dp"
android:layout_marginTop="5dp"
android:background="@color/listdelimiter" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1"
android:id="@+id/careportal_inslevellabel"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:drawableLeft="@drawable/ic_cp_age_canula"
android:paddingRight="5dp"
android:paddingStart="15dp"
android:text="@string/careportal_canulaage_label"
android:paddingStart="0dp"
android:paddingRight="0dp"
android:text="@string/careportal_level_label"
android:textSize="14sp" />
<TextView
android:layout_width="5dp"
android:id="@+id/careportal_reservoirlevel"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="0"
android:gravity="center_horizontal"
android:paddingEnd="2dp"
android:paddingStart="2dp"
android:text=":"
android:gravity="center_vertical"
android:layout_marginRight="20dp"
android:paddingLeft="2dp"
android:textColor="@android:color/white"
android:textSize="14sp" />
</TableRow>
<TableRow
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<View
android:layout_width="fill_parent"
android:layout_height="2dip"
android:layout_span="5"
android:layout_marginLeft="20dp"
android:layout_marginTop="2dp"
android:layout_marginRight="20dp"
android:layout_marginBottom="2dp"
android:background="@color/listdelimiter" />
</TableRow>
<TableRow
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<TextView
android:layout_width="wrap_content"
android:layout_height="25dp"
android:drawableLeft="@drawable/ic_cp_age_canula"
android:gravity="center_vertical"
android:paddingStart="15dp"
android:paddingRight="2dp"
android:text="@string/careportal_canula_label"
android:textSize="14sp" />
<TextView
android:id="@+id/careportal_canulaagelabel"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:paddingStart="0dp"
android:paddingRight="0dp"
android:text="@string/careportal_age_label"
android:textSize="14sp" />
<TextView
android:id="@+id/careportal_canulaage"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1"
android:gravity="start"
android:paddingLeft="5dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:paddingRight="2dp"
android:paddingLeft="2dp"
android:textColor="@android:color/white"
android:textSize="14sp" />
</LinearLayout>
<View
android:layout_width="fill_parent"
android:layout_height="2dip"
android:layout_marginBottom="5dp"
android:layout_marginLeft="20dp"
android:layout_marginRight="20dp"
android:layout_marginTop="5dp"
android:background="@color/listdelimiter" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:drawableLeft="@drawable/ic_cp_age_battery"
android:paddingRight="5dp"
android:paddingStart="15dp"
android:text="@string/careportal_pbage_label"
android:paddingStart="0dp"
android:paddingRight="0dp"
android:textSize="14sp" />
<TextView
android:layout_width="5dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="0"
android:gravity="center_horizontal"
android:paddingEnd="2dp"
android:paddingStart="2dp"
android:text=":"
android:gravity="center_vertical"
android:layout_marginRight="20dp"
android:text=""
android:paddingLeft="2dp"
android:textColor="@android:color/white"
android:textSize="14sp" />
</TableRow>
<TableRow
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<View
android:layout_width="fill_parent"
android:layout_height="2dip"
android:layout_span="5"
android:layout_marginLeft="20dp"
android:layout_marginTop="2dp"
android:layout_marginRight="20dp"
android:layout_marginBottom="2dp"
android:background="@color/listdelimiter" />
</TableRow>
<TableRow
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<TextView
android:id="@+id/careportal_pblabel"
android:layout_width="wrap_content"
android:layout_height="25dp"
android:drawableLeft="@drawable/ic_cp_age_battery"
android:gravity="center_vertical"
android:paddingRight="2dp"
android:paddingStart="15dp"
android:text="@string/careportal_pb_label"
android:textSize="14sp" />
<TextView
android:id="@+id/careportal_pbagelabel"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:paddingStart="0dp"
android:paddingRight="0dp"
android:text="@string/careportal_age_label"
android:textSize="14sp" />
<TextView
android:id="@+id/careportal_pbage"
android:layout_width="match_parent"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="start"
android:paddingLeft="5dp"
android:gravity="center_vertical"
android:paddingRight="2dp"
android:paddingLeft="2dp"
android:textColor="@android:color/white"
android:textSize="14sp" />
</LinearLayout>
<TextView
android:id="@+id/careportal_pblevellabel"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:paddingStart="0dp"
android:paddingRight="0dp"
android:text="@string/careportal_level_label"
android:textSize="14sp" />
<View
<TextView
android:id="@+id/careportal_batterylevel"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:layout_marginRight="20dp"
android:paddingLeft="2dp"
android:textColor="@android:color/white"
android:textSize="14sp" />
</TableRow>
<TableRow
android:layout_width="fill_parent"
android:layout_height="2dip"
android:layout_marginBottom="5dp"
android:layout_marginLeft="20dp"
android:layout_marginRight="20dp"
android:layout_marginTop="5dp"
android:background="@color/listdelimiter" />
android:layout_height="wrap_content">
</LinearLayout>
<View
android:layout_width="fill_parent"
android:layout_height="2dip"
android:layout_span="5"
android:layout_marginLeft="20dp"
android:layout_marginTop="2dp"
android:layout_marginRight="20dp"
android:layout_marginBottom="2dp"
android:background="@color/listdelimiter" />
</TableRow>
</TableLayout>
</FrameLayout>

View file

@ -0,0 +1,228 @@
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
tools:context=".plugins.general.actions.ActionsFragment">
<TableLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:stretchColumns="0,2,4">
<TableRow
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<TextView
android:layout_width="wrap_content"
android:layout_height="25dp"
android:drawableLeft="@drawable/ic_cp_age_sensor"
android:gravity="center_vertical"
android:paddingRight="2dp"
android:paddingStart="15dp"
android:text="@string/careportal_sensor_label"
android:textSize="14sp" />
<TextView
android:id="@+id/careportal_sensorage"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:paddingRight="2dp"
android:paddingLeft="2dp"
android:textColor="@android:color/white"
android:textSize="14sp" />
<TextView
android:id="@+id/careportal_sensorlevel"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:layout_marginRight="20dp"
android:paddingLeft="2dp"
android:textColor="@android:color/white"
android:textSize="14sp" />
</TableRow>
<TableRow
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<View
android:layout_width="fill_parent"
android:layout_height="2dip"
android:layout_span="3"
android:layout_marginLeft="20dp"
android:layout_marginTop="2dp"
android:layout_marginRight="20dp"
android:layout_marginBottom="2dp"
android:background="@color/listdelimiter" />
</TableRow>
<TableRow
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<TextView
android:layout_width="wrap_content"
android:layout_height="25dp"
android:drawableLeft="@drawable/ic_cp_age_insulin"
android:gravity="center_vertical"
android:paddingStart="15dp"
android:paddingRight="2dp"
android:text="@string/careportal_insulin_label"
android:textSize="14sp" />
<TextView
android:id="@+id/careportal_insulinage"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:paddingRight="2dp"
android:paddingLeft="2dp"
android:textColor="@android:color/white"
android:textSize="14sp" />
<TextView
android:id="@+id/careportal_reservoirlevel"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:layout_marginRight="20dp"
android:paddingLeft="2dp"
android:textColor="@android:color/white"
android:textSize="14sp" />
</TableRow>
<TableRow
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<View
android:layout_width="fill_parent"
android:layout_height="2dip"
android:layout_span="3"
android:layout_marginLeft="20dp"
android:layout_marginTop="2dp"
android:layout_marginRight="20dp"
android:layout_marginBottom="2dp"
android:background="@color/listdelimiter" />
</TableRow>
<TableRow
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<TextView
android:layout_width="wrap_content"
android:layout_height="25dp"
android:drawableLeft="@drawable/ic_cp_age_canula"
android:gravity="center_vertical"
android:paddingStart="15dp"
android:paddingRight="2dp"
android:text="@string/careportal_canula_label"
android:textSize="14sp" />
<TextView
android:id="@+id/careportal_canulaage"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:paddingRight="2dp"
android:paddingLeft="2dp"
android:textColor="@android:color/white"
android:textSize="14sp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:layout_marginRight="20dp"
android:text=""
android:paddingLeft="2dp"
android:textColor="@android:color/white"
android:textSize="14sp" />
</TableRow>
<TableRow
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<View
android:layout_width="fill_parent"
android:layout_height="2dip"
android:layout_span="3"
android:layout_marginLeft="20dp"
android:layout_marginTop="2dp"
android:layout_marginRight="20dp"
android:layout_marginBottom="2dp"
android:background="@color/listdelimiter" />
</TableRow>
<TableRow
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<TextView
android:id="@+id/careportal_pblabel"
android:layout_width="wrap_content"
android:layout_height="25dp"
android:drawableLeft="@drawable/ic_cp_age_battery"
android:gravity="center_vertical"
android:paddingRight="2dp"
android:paddingStart="15dp"
android:text="@string/pump"
android:textSize="14sp" />
<TextView
android:id="@+id/careportal_pbage"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:paddingRight="2dp"
android:paddingLeft="2dp"
android:textColor="@android:color/white"
android:textSize="14sp" />
<TextView
android:id="@+id/careportal_batterylevel"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:layout_marginRight="20dp"
android:paddingLeft="2dp"
android:textColor="@android:color/white"
android:textSize="14sp" />
</TableRow>
<TableRow
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<View
android:layout_width="fill_parent"
android:layout_height="2dip"
android:layout_span="3"
android:layout_marginLeft="20dp"
android:layout_marginTop="2dp"
android:layout_marginRight="20dp"
android:layout_marginBottom="2dp"
android:background="@color/listdelimiter" />
</TableRow>
</TableLayout>
</FrameLayout>

View file

@ -8,11 +8,11 @@
<ScrollView
android:id="@+id/overview_toppart_scrollbar"
android:layout_weight="1"
android:layout_width="wrap_content"
android:layout_height="0dp">
android:layout_height="0dp"
android:layout_weight="1">
<LinearLayout
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
@ -28,37 +28,49 @@
<include layout="@layout/overview_statuslights_layout" />
<TextView
android:id="@+id/overview_pump"
<com.google.android.flexbox.FlexboxLayout xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingStart="4sp"
android:paddingEnd="4sp"
android:text="Pump: running"
android:textColor="@android:color/white"
android:textSize="16sp" />
android:background="?attr/colorControlHighlight"
app:alignContent="stretch"
app:alignItems="stretch"
app:flexDirection="row"
app:flexWrap="wrap"
app:justifyContent="center">
<TextView
android:id="@+id/overview_openaps"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:paddingStart="4sp"
android:paddingEnd="4sp"
android:text="OAPS: 3 min ago"
android:textColor="@android:color/white"
android:textSize="16sp" />
<TextView
android:id="@+id/overview_pump"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingStart="4sp"
android:paddingEnd="4sp"
android:text="Pump: running"
android:textColor="@android:color/white"
android:textSize="16sp" />
<TextView
android:id="@+id/overview_uploader"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:paddingStart="4sp"
android:paddingEnd="4sp"
android:text="UPLD: 84%"
android:textColor="@android:color/white"
android:textSize="16sp" />
<TextView
android:id="@+id/overview_openaps"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:paddingStart="4sp"
android:paddingEnd="4sp"
android:text="OAPS: 3 min ago"
android:textColor="@android:color/white"
android:textSize="16sp" />
<TextView
android:id="@+id/overview_uploader"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:paddingStart="4sp"
android:paddingEnd="4sp"
android:text="UPLD: 84%"
android:textColor="@android:color/white"
android:textSize="16sp" />
</com.google.android.flexbox.FlexboxLayout>
<include layout="@layout/overview_graphs_layout" />

View file

@ -1,553 +0,0 @@
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".plugins.general.overview.OverviewFragment">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<ScrollView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_above="@+id/overview_buttons"
android:fillViewport="true">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/overview_notifications"
android:layout_width="match_parent"
android:layout_height="wrap_content">
</androidx.recyclerview.widget.RecyclerView>
<include layout="@layout/overview_loop_pumpstatus_layout" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:orientation="horizontal">
<TextView
android:id="@+id/overview_bg"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:text="00.0"
android:textSize="90dp"
android:textStyle="bold" />
<ImageView
android:id="@+id/overview_arrow"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:paddingTop="18dp"
app:srcCompat="@drawable/ic_flat" />
<TextView
android:id="@+id/overview_deltashort"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:text="-0.5"
android:textSize="50sp"
android:textStyle="bold" />
<TextView
android:id="@+id/overview_sensitivity"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_weight="0.5"
android:gravity="center_vertical|center_horizontal"
android:text="100%"
android:textSize="50sp"
android:textStyle="bold" />
<TextView
android:id="@+id/overview_time"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:text="8:00 PM"
android:textSize="80dp"
android:textStyle="bold" />
<TextView
android:id="@+id/overview_timeagoshort"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:gravity="center_vertical"
android:text="(-5)"
android:textSize="50sp"
android:textStyle="bold" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="end"
android:paddingRight="5dp"
android:text="@string/basal"
android:textSize="14sp" />
<TextView
android:layout_width="5dp"
android:layout_height="wrap_content"
android:layout_weight="0"
android:gravity="center_horizontal"
android:paddingStart="2dp"
android:paddingEnd="2dp"
android:text=":"
android:textSize="14sp" />
<TextView
android:id="@+id/overview_basebasal"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="0.5"
android:gravity="start"
android:orientation="horizontal"
android:paddingLeft="5dp"
android:text="0.50U/h @17:35 1/30min - 0.40U/h"
android:textColor="@android:color/white"
android:textSize="14sp" />
</LinearLayout>
<View
android:layout_width="fill_parent"
android:layout_height="2dip"
android:layout_marginLeft="20dp"
android:layout_marginTop="5dp"
android:layout_marginRight="20dp"
android:layout_marginBottom="5dp"
android:background="@color/listdelimiter" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="end"
android:paddingRight="5dp"
android:text="@string/virtualpump_extendedbolus_label"
android:textSize="14sp" />
<TextView
android:layout_width="5dp"
android:layout_height="wrap_content"
android:layout_weight="0"
android:gravity="center_horizontal"
android:paddingStart="2dp"
android:paddingEnd="2dp"
android:text=":"
android:textSize="14sp" />
<TextView
android:id="@+id/overview_extendedbolus"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="0.5"
android:gravity="start"
android:orientation="horizontal"
android:paddingLeft="5dp"
android:text="0.50U/h @17:35 1/30min"
android:textColor="@android:color/white"
android:textSize="14sp" />
</LinearLayout>
<View
android:layout_width="fill_parent"
android:layout_height="2dip"
android:layout_marginLeft="20dp"
android:layout_marginTop="5dp"
android:layout_marginRight="20dp"
android:layout_marginBottom="5dp"
android:background="@color/listdelimiter" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="end"
android:paddingRight="5dp"
android:text="@string/iob"
android:textSize="14sp" />
<TextView
android:layout_width="5dp"
android:layout_height="wrap_content"
android:layout_weight="0"
android:gravity="center_horizontal"
android:paddingStart="2dp"
android:paddingEnd="2dp"
android:text=":"
android:textSize="14sp" />
<TextView
android:id="@+id/overview_iob"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="0.5"
android:gravity="start"
android:orientation="horizontal"
android:paddingLeft="5dp"
android:text=""
android:textColor="@android:color/white"
android:textSize="14sp" />
</LinearLayout>
<View
android:layout_width="fill_parent"
android:layout_height="2dip"
android:layout_marginLeft="20dp"
android:layout_marginTop="5dp"
android:layout_marginRight="20dp"
android:layout_marginBottom="5dp"
android:background="@color/listdelimiter" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="end"
android:paddingRight="5dp"
android:text="@string/cob"
android:textSize="14sp" />
<TextView
android:layout_width="5dp"
android:layout_height="wrap_content"
android:layout_weight="0"
android:gravity="center_horizontal"
android:paddingStart="2dp"
android:paddingEnd="2dp"
android:text=":"
android:textSize="14sp" />
<TextView
android:id="@+id/overview_cob"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="0.5"
android:gravity="start"
android:orientation="horizontal"
android:paddingLeft="5dp"
android:text=""
android:textColor="@android:color/white"
android:textSize="14sp" />
</LinearLayout>
<View
android:layout_width="fill_parent"
android:layout_height="2dip"
android:layout_marginLeft="20dp"
android:layout_marginTop="5dp"
android:layout_marginRight="20dp"
android:layout_marginBottom="5dp"
android:background="@color/listdelimiter" />
</LinearLayout>
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:orientation="vertical">
<include
layout="@layout/careportal_stats_fragment"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:id="@+id/overview_pump"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="0.5"
android:gravity="start"
android:orientation="horizontal"
android:paddingLeft="20dp"
android:text=""
android:textColor="@android:color/white"
android:textSize="14sp" />
</LinearLayout>
<View
android:layout_width="fill_parent"
android:layout_height="2dip"
android:layout_marginLeft="20dp"
android:layout_marginTop="5dp"
android:layout_marginRight="20dp"
android:layout_marginBottom="5dp"
android:background="@color/listdelimiter" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:id="@+id/overview_openaps"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="0.5"
android:gravity="start"
android:orientation="horizontal"
android:paddingLeft="20dp"
android:text=""
android:textColor="@android:color/white"
android:textSize="14sp" />
</LinearLayout>
<View
android:layout_width="fill_parent"
android:layout_height="2dip"
android:layout_marginLeft="20dp"
android:layout_marginTop="5dp"
android:layout_marginRight="20dp"
android:layout_marginBottom="5dp"
android:background="@color/listdelimiter" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:id="@+id/overview_uploader"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="0.5"
android:gravity="start"
android:orientation="horizontal"
android:paddingLeft="20dp"
android:text=""
android:textColor="@android:color/white"
android:textSize="14sp" />
</LinearLayout>
<View
android:layout_width="fill_parent"
android:layout_height="2dip"
android:layout_marginLeft="20dp"
android:layout_marginTop="5dp"
android:layout_marginRight="20dp"
android:layout_marginBottom="5dp"
android:background="@color/listdelimiter" />
</LinearLayout>
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="0dp"
android:layout_weight="1"
android:orientation="vertical">
<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="0dp"
android:layout_weight="1">
<com.jjoe64.graphview.GraphView
android:id="@+id/overview_bggraph"
android:layout_width="wrap_content"
android:layout_height="match_parent" />
<ImageButton
android:id="@+id/overview_chartMenuButton"
android:layout_width="30dp"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_alignParentEnd="true"
android:paddingTop="5dp"
app:srcCompat="@drawable/ic_arrow_drop_down_white_24dp" />
<TextView
android:id="@+id/overview_iobcalculationprogess"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:textSize="15sp" />
</RelativeLayout>
<LinearLayout
android:id="@+id/overview_iobgraph"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical" />
</LinearLayout>
</LinearLayout>
</ScrollView>
<LinearLayout
android:id="@+id/overview_buttons"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:paddingRight="5dp">
<info.nightscout.androidaps.utils.ui.SingleClickButton
android:id="@+id/overview_treatmentbutton"
style="?android:attr/buttonStyle"
android:layout_width="0px"
android:layout_height="fill_parent"
android:layout_marginRight="-4dp"
android:layout_weight="0.5"
android:drawableTop="@drawable/icon_insulin_carbs"
android:paddingLeft="0dp"
android:paddingRight="0dp"
android:text="@string/overview_treatment_label"
android:textColor="@color/colorTreatmentButton"
android:textSize="10sp" />
<info.nightscout.androidaps.utils.ui.SingleClickButton
android:id="@+id/overview_insulinbutton"
style="?android:attr/buttonStyle"
android:layout_width="0px"
android:layout_height="fill_parent"
android:layout_marginRight="-4dp"
android:layout_weight="0.5"
android:drawableTop="@drawable/ic_bolus"
android:paddingLeft="0dp"
android:paddingRight="0dp"
android:text="@string/overview_insulin_label"
android:textColor="@color/colorInsulinButton"
android:textSize="10sp"
android:visibility="gone" />
<info.nightscout.androidaps.utils.ui.SingleClickButton
android:id="@+id/overview_carbsbutton"
style="?android:attr/buttonStyle"
android:layout_width="0px"
android:layout_height="fill_parent"
android:layout_marginRight="-4dp"
android:layout_weight="0.5"
android:drawableTop="@drawable/ic_cp_bolus_carbs"
android:paddingLeft="0dp"
android:paddingRight="0dp"
android:text="@string/overview_carbs_label"
android:textColor="@color/colorCarbsButton"
android:textSize="10sp"
android:visibility="gone" />
<info.nightscout.androidaps.utils.ui.SingleClickButton
android:id="@+id/overview_wizardbutton"
style="?android:attr/buttonStyle"
android:layout_width="0px"
android:layout_height="fill_parent"
android:layout_marginRight="-4dp"
android:layout_weight="0.5"
android:drawableTop="@drawable/ic_calculator"
android:paddingLeft="0dp"
android:paddingRight="0dp"
android:text="@string/overview_calculator_label"
android:textColor="@color/colorCalculatorButton"
android:textSize="10sp"
android:visibility="gone" />
<info.nightscout.androidaps.utils.ui.SingleClickButton
android:id="@+id/overview_quickwizardbutton"
style="?android:attr/buttonStyle"
android:layout_width="0px"
android:layout_height="fill_parent"
android:layout_marginRight="-4dp"
android:layout_weight="0.5"
android:drawableTop="@drawable/ic_quickwizard"
android:paddingLeft="0dp"
android:paddingRight="0dp"
android:text="Quick wizard"
android:textColor="@color/colorQuickWizardButton"
android:textSize="10sp"
android:visibility="gone" />
</LinearLayout>
</LinearLayout>
</RelativeLayout>
</FrameLayout>

View file

@ -35,6 +35,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
app:layout_constraintBottom_toBottomOf="@+id/overview_bg"
app:layout_constraintEnd_toStartOf="@+id/overview_apsmode_llayout"
app:layout_constraintStart_toEndOf="@+id/overview_arrow"
app:layout_constraintTop_toTopOf="parent">
@ -111,7 +112,8 @@
android:layout_marginTop="5dp"
android:gravity="center_horizontal"
android:orientation="vertical"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintBottom_toBottomOf="@+id/overview_bg"
app:layout_constraintEnd_toStartOf="@id/overview_time_llayout"
app:layout_constraintStart_toEndOf="@id/overview_deltas_llayout"
app:layout_constraintTop_toTopOf="parent">
@ -135,6 +137,43 @@
android:textStyle="bold" />
</LinearLayout>
<LinearLayout
android:id="@+id/overview_time_llayout"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="5dp"
android:gravity="center_horizontal"
android:orientation="vertical"
app:layout_constraintBottom_toBottomOf="@+id/overview_bg"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@id/overview_apsmode_llayout"
app:layout_constraintTop_toTopOf="parent">
<TextView
android:id="@+id/overview_time"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginTop="-10dp"
android:layout_marginBottom="-10dp"
android:text="8:00 PM"
android:textSize="40dp"
android:textStyle="bold" />
<TextView
android:id="@+id/overview_timeagoshort"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginTop="-5dp"
android:layout_marginBottom="-5dp"
android:gravity="center_vertical"
android:text="(-5)"
android:textSize="30sp"
android:textStyle="bold" />
</LinearLayout>
<LinearLayout
android:id="@+id/overview_iob_llayout"
android:layout_width="wrap_content"
@ -142,6 +181,7 @@
android:layout_marginStart="5dp"
android:gravity="center_horizontal"
android:orientation="vertical"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@+id/overview_cob_llayout"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/overview_bg">
@ -170,15 +210,16 @@
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:orientation="vertical"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@+id/overview_basal_llayout"
app:layout_constraintStart_toEndOf="@+id/overview_iob_llayout"
app:layout_constraintTop_toBottomOf="@+id/overview_bg">
app:layout_constraintTop_toTopOf="@+id/overview_iob_llayout">
<ImageView
android:id="@+id/overview_carbs_icon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:id="@+id/overview_carbs_icon"
android:background="@drawable/anim_carbs" />
<TextView
@ -199,9 +240,10 @@
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:orientation="vertical"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@+id/overview_extended_llayout"
app:layout_constraintStart_toEndOf="@+id/overview_cob_llayout"
app:layout_constraintTop_toBottomOf="@+id/overview_bg">
app:layout_constraintTop_toTopOf="@+id/overview_iob_llayout">
<ImageView
android:id="@+id/overview_basebasal_icon"
@ -228,9 +270,10 @@
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:orientation="vertical"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@+id/overview_as_llayout"
app:layout_constraintStart_toEndOf="@+id/overview_basal_llayout"
app:layout_constraintTop_toBottomOf="@+id/overview_bg">
app:layout_constraintTop_toTopOf="@+id/overview_iob_llayout">
<ImageView
android:layout_width="wrap_content"
@ -256,9 +299,10 @@
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:orientation="vertical"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@+id/overview_extended_llayout"
app:layout_constraintTop_toBottomOf="@+id/overview_bg">
app:layout_constraintTop_toTopOf="@+id/overview_iob_llayout">
<ImageView
android:id="@+id/overview_sensitivity_icon"

View file

@ -309,12 +309,10 @@
<string name="wear_detailedIOB_title">Wys gedetailleerde IAB</string>
<string name="wear_detailedIOB_summary">Breek af IAB in bolus en basale IAB op die watchface</string>
<string name="nosuccess">nie suksesvol - Kontroleer asseblief foon</string>
<string name="patientage">Pasiënt ouderdom</string>
<string name="child">Kind</string>
<string name="teenage">Tiener</string>
<string name="adult">Volwassene</string>
<string name="resistantadult">Insulien weerstandige volwasse</string>
<string name="patientage_summary">Kies asseblief pasiënt ouderdom om veiligheids limiete te stel</string>
<string name="Glimp">Glimp</string>
<string name="needwhitelisting">%1$s benodig battery optimisering bemagtiging vir beter werksverrigting</string>
<string name="loopsuspended">Lus opgeskort</string>

View file

@ -261,7 +261,7 @@
<string name="valueoutofrange">Стойността %1$s е извън ограниченията</string>
<string name="smscommunicator_pumpconnectwithcode">За свързване с помпа отговорете с код %1$s</string>
<string name="smscommunicator_pumpconnectfail">Връзката с помпата е неуспешна</string>
<string name="smscommunicator_pumpdisconnectwithcode">За да спрете помпата за %1d минути отговорете с код %2$s</string>
<string name="smscommunicator_pumpdisconnectwithcode">За да спрете помпата за %1$d минути отговорете с код %2$s</string>
<string name="smscommunicator_pumpdisconnected">Помпата е разкачена</string>
<string name="smscommunicator_reconnect">Връзката с помпа е възстановена</string>
<string name="smscommunicator_remotecommandnotallowed">Отдалеченото управление е забранено</string>
@ -405,12 +405,11 @@
<string name="wear_detailedIOB_summary">Раздели IOB от болус и от базал на часовника</string>
<string name="nosuccess">неуспешно - моля проверете телефона</string>
<string name="notavailable">---</string>
<string name="patientage">Възраст на потребителя</string>
<string name="child">Дете</string>
<string name="teenage">Тийнейджър</string>
<string name="adult">Възрастен</string>
<string name="resistantadult">Възрастни с голяма инсулинова резистентност</string>
<string name="patientage_summary">Изберете възраст за определяне лимитите на безопасност</string>
<string name="pregnant">Бременност</string>
<string name="patient_name">Име на пациента</string>
<string name="patient_name_summary">Моля, посочете име на пациента или измислено име, за да се различават</string>
<string name="patient_name_default" comment="This is default patient display name, when user does not provide real one">Потребител</string>
@ -454,6 +453,8 @@
<string name="statuslights_iage_critical">Праг за критична инсулинова възраст [часа]</string>
<string name="statuslights_sage_warning">Праг за възраст на сензор [часа]</string>
<string name="statuslights_sage_critical">Праг за критична възраст на сензор [часа]</string>
<string name="statuslights_sbat_warning">Аларма при заряд на батерия под [%]</string>
<string name="statuslights_sbat_critical">Критично ниво на сензорната батерия под [%]</string>
<string name="statuslights_bage_warning">Аларма при възраст на батерия над [часа]</string>
<string name="statuslights_bage_critical">Праг за критична възраст на батерията над [часа]</string>
<string name="statuslights_res_warning">Ниво за аларма за останал инсулин в резервоара [Е]</string>
@ -484,6 +485,12 @@
<string name="careportal_insulinage_label">Възраст на инсулина</string>
<string name="doprofileswitch">Смени профил</string>
<string name="careportal_pbage_label">Възраст на батерията на помпата</string>
<string name="careportal_sensor_label">Сензор</string>
<string name="careportal_canula_label">Канюла</string>
<string name="careportal_insulin_label">Инсулин</string>
<string name="careportal_pb_label">Батерия на помпата</string>
<string name="careportal_age_label">възраст:</string>
<string name="careportal_level_label">ниво:</string>
<string name="ns_alarmoptions">Опции за аларми</string>
<string name="ns_alarms">Известяване при NS аларми</string>
<string name="ns_announcements">Създаване на известия от NS съобщения</string>
@ -990,6 +997,7 @@
<string name="storage">Ограничение поради липса на памет</string>
<string name="diskfull">Освободете поне %1$d Мб в паметта на телефона! Loop изключен!</string>
<string name="wrongformat">Грешен формат</string>
<string name="wrongTbrDuration">Продължителността на временния база; трябва да бъде кратна на %1$d минути и по-голяма от 0.</string>
<string name="sms_wrongcode">Грешен код. Командата не е изпълнена.</string>
<string name="notconfigured">Не е конфигуриран</string>
<string name="profileswitchcreated">Създаден запис - Промяна на профил</string>
@ -1155,6 +1163,9 @@
<string name="smscommunicator_otp_reset_title">Нулиране на ключва</string>
<string name="smscommunicator_otp_reset_prompt">Сигурни ли сте, че ще анулирате ключа на Authenticator? Той ще направи всички конфигурирани в момента аудиентикатори невалидни, и вие ще трябва да ги настроите отново.</string>
<string name="smscommunicator_otp_reset_successful">Генериран е нов ключ! Моля, използвайте актуализирания QRCode.</string>
<string name="smscommunicator_otp_export_title">Експортиране на OTP парола</string>
<string name="smscommunicator_otp_export_prompt">Сигурни ли сте, че искате да копирате OTP паролата в клипборда?\n\nВие може да се нуждаете само от това, ако вашето приложение за автентичност има проблеми със сканирането на QRCode, искате да го въведете ръчно или искате да конфигурирате хардуерен OTP токен чрез специално приложение.</string>
<string name="smscommunicator_otp_export_successful">OTP парола (във Base32 формат) е експортирана и копирана в клипборда. Поставете го в автентикатор или хардуерен OTP!</string>
<string name="smscommunicator_otp_step1_install_header">1. Инсталиране на удостоверител</string>
<string name="smscommunicator_otp_step2_provisioning_header">2. Сканиране на кода за настройка на AndroidAPS OTP </string>
<string name="smscommunicator_otp_step3_test_header">3. Тест на еднократна парола</string>
@ -1174,6 +1185,7 @@
<string name="statuslights_copy_ns">Копиране на настройки от NS</string>
<string name="copyexistingvalues">Копиране на профил от NS (ако има)?</string>
<string name="classic_description">Оригинален изглед</string>
<string name="lowres_description">Скин за ниска резолюция</string>
<string name="buttonson_description">Бутоните винаги се показват на дъното на екрана.</string>
<string name="largedisplay_description">Голям екран</string>
<string name="skin">Тема</string>
@ -1218,4 +1230,5 @@
<string name="worker_state">Статус: %s</string>
<string name="uploaded_data">Качени данни</string>
<string name="the_following_data_will_be_uploaded_to_your_open_humans_account">Следните данни ще бъдат качвани във вашия Open Humans акаунт: Глюкозни стойности, болуси, въглехидрати, удължени болуси, профилни смени, общи дневни дози, временни базали, временни цели, предпочитания, версия на AAPS, модел на телефона и размери на екрана. Тайна или лична информация, като например вашия адрес на Nightscout или API, няма да бъдат качени.</string>
<string name="setupwizard_pump_riley_link_status">RileyLink статус:</string>
</resources>

View file

@ -261,7 +261,7 @@
<string name="valueoutofrange">Hodnota %1$s je mimo přednastavený rozsah</string>
<string name="smscommunicator_pumpconnectwithcode">Chcete-li připojit pumpu, odpovězte pomocí SMS s kódem %1$s</string>
<string name="smscommunicator_pumpconnectfail">Připojení k pumpě selhalo</string>
<string name="smscommunicator_pumpdisconnectwithcode">Chcete-li odpojit pumpu na %1d minut, odpovězte pomocí SMS s kódem %2$s</string>
<string name="smscommunicator_pumpdisconnectwithcode">Chcete-li odpojit pumpu na %1$d minut, odpovězte pomocí SMS s kódem %2$s</string>
<string name="smscommunicator_pumpdisconnected">Pumpa odpojena</string>
<string name="smscommunicator_reconnect">Pumpa byla znovu připojena</string>
<string name="smscommunicator_remotecommandnotallowed">Vzdálený příkaz není povolen</string>
@ -405,12 +405,13 @@
<string name="wear_detailedIOB_summary">Rozepsat IOB do bolusového a bazálního na hodinkách</string>
<string name="nosuccess">neúspěšně - zkontrolujte mobil</string>
<string name="notavailable">n/a</string>
<string name="patientage">Stáří pacienta</string>
<string name="patientage">Typ pacienta</string>
<string name="child">Dítě</string>
<string name="teenage">Dospívající</string>
<string name="adult">Dospělý</string>
<string name="resistantadult">Dospělý s nízkou citlivostí</string>
<string name="patientage_summary">Vyberte věk pacienta pro nastavení bezpečnostních limitů</string>
<string name="pregnant">Těhotenství</string>
<string name="patientage_summary">Prosím vyberte typ pacienta pro nastavení bezpečnostních limitů</string>
<string name="patient_name">Jméno pacienta</string>
<string name="patient_name_summary">Zadejte jméno pacienta nebo přezdívku pro rozlišení mezi více nastaveními</string>
<string name="patient_name_default" comment="This is default patient display name, when user does not provide real one">Uživatel</string>
@ -454,6 +455,8 @@
<string name="statuslights_iage_critical">Úroveň kritického stáří inzulínu [h]</string>
<string name="statuslights_sage_warning">Úroveň varování stáří senzoru [h]</string>
<string name="statuslights_sage_critical">Úroveň kritického stáří senzoru [h]</string>
<string name="statuslights_sbat_warning">Úroveň varování stavu baterie senzoru [%]</string>
<string name="statuslights_sbat_critical">Úroveň kritického varování stavu baterie senzoru [%]</string>
<string name="statuslights_bage_warning">Úroveň varování stáří baterie [h]</string>
<string name="statuslights_bage_critical">Úroveň kritického varování stáří baterie [h]</string>
<string name="statuslights_res_warning">Úroveň varování stavu zásobníku [U]</string>
@ -484,6 +487,12 @@
<string name="careportal_insulinage_label">Stáří inzulínu</string>
<string name="doprofileswitch">Proveďte přepnutí profilu</string>
<string name="careportal_pbage_label">Stáří baterie v pumpě</string>
<string name="careportal_sensor_label">Senzor</string>
<string name="careportal_canula_label">Kanyla</string>
<string name="careportal_insulin_label">Inzulín</string>
<string name="careportal_pb_label">Baterie pumpy</string>
<string name="careportal_age_label">věk:</string>
<string name="careportal_level_label">úroveň:</string>
<string name="ns_alarmoptions">Nastavení alarmů</string>
<string name="ns_alarms">Vytvořit oznámení z alarmů NS</string>
<string name="ns_announcements">Vytvořit oznámení z NS upozornění </string>
@ -1156,6 +1165,9 @@
<string name="smscommunicator_otp_reset_title">Resetovat klíč pro autentikátory</string>
<string name="smscommunicator_otp_reset_prompt">Opravdu chcete obnovit ověřovací klíč? Vyresetujete všechny aktuálně nakonfigurované autentikátory a budete je muset znovu nastavit.</string>
<string name="smscommunicator_otp_reset_successful">Byl vygenerován nový klíč autentikátoru! Prosím, použijte aktualizovaný QR kód pro nastavení autentikátorů.</string>
<string name="smscommunicator_otp_export_title">Export OTP tajného klíče</string>
<string name="smscommunicator_otp_export_prompt">Jste si jisti, že chcete zkopírovat tajný OTP klíč do schránky?\n\nPravděpodobně to budete potřebovat pouze v případě, když bude mít vaše ověřovací aplikace problém se skenováním QR kodu, chcete ho zadat ručně, nebo chcete nakonfigurovat hardwarový OTP token pomocí specializované aplikace.</string>
<string name="smscommunicator_otp_export_successful">Tajné OTP heslo (ve formátu Base32) bylo vyexportováno a zkopírováno do schránky. Vložte ho do autentikátoru nebo programátoru OTP hardwaru!</string>
<string name="smscommunicator_otp_step1_install_header">1. Nainstalujte Autentikátor</string>
<string name="smscommunicator_otp_step2_provisioning_header">2. Naskenujte kód pro nastavení kódů OTP AndroidAPS</string>
<string name="smscommunicator_otp_step3_test_header">3. Otestujte jednorázové heslo</string>
@ -1175,6 +1187,7 @@
<string name="statuslights_copy_ns">Zkopírovat nastavení z NS</string>
<string name="copyexistingvalues">Zkopírovat nastavení NS (existuje-li)?</string>
<string name="classic_description">Původní vzhled</string>
<string name="lowres_description">Vzhled pro nízké rozlišení</string>
<string name="buttonson_description">Tlačítka jsou vždy zobrazena v dolní části obrazovky</string>
<string name="largedisplay_description">Velký displej</string>
<string name="skin">Vzhled</string>

View file

@ -134,8 +134,8 @@
<string name="ic_increasingvalue">Ein höheres IC-Verhältnis bedeutet, dass weniger Insulin für die selbe Menge an KH abgegeben wird.</string>
<string name="ic_decreasingvalue">Ein niedrigeres IC-Verhältnis bedeutet, dass weniger Insulin für die selbe Menge an KH abgegeben wird.</string>
<string name="ic_noeffect">Das Ändern des IC-Verhältnisses bedeutet, dass bei 0 COB eine andere Menge an Insulin zur Korrektur eines vorgegebenen BZ-Wertes abgegeben wird.</string>
<string name="ic_different">Der IC-Wert muss sich unterscheiden, je nachdem, ob Du eine BE mit 10g oder mit 12g berechnest.</string>
<string name="ic_meaning">IC bedeutet: Wie viele BE werden durch eine Einheit Insulin abgedeckt?</string>
<string name="ic_different">Der IC-Wert wird sich unterscheiden, je nachdem, ob Du eine Broteinheit (BE) mit 10g oder mit 12g berechnest.</string>
<string name="ic_meaning">IC bedeutet: Anzahl BE, die durch eine Einheit Insulin abgedeckt werden</string>
<string name="ic_hint1">https://androidaps.readthedocs.io/en/latest/CROWDIN/de/Getting-Started/FAQ.html#kh-faktor-carbohydrate-to-insulin-ratio-cr-g-ie</string>
<string name="profileswitch_label">Thema: Profilwechsel</string>
<string name="profileswitch_pctwillchange"> Durch einen Profilwechsel auf 90%…</string>

View file

@ -261,7 +261,7 @@
<string name="valueoutofrange">Wert %1$s ist außerhalb des festen Limits.</string>
<string name="smscommunicator_pumpconnectwithcode">Um die Pumpe zu verbinden, antworte mit dem Code %1$s</string>
<string name="smscommunicator_pumpconnectfail">Verbindung zur Pumpe fehlgeschlagen</string>
<string name="smscommunicator_pumpdisconnectwithcode">Um die Verbindung zur Pumpe für %1d Minuten zu trennen, antworte mit dem Code %2$s</string>
<string name="smscommunicator_pumpdisconnectwithcode">Um die Verbindung zur Pumpe für %1$d Minuten zu trennen, antworte mit dem Code %2$s</string>
<string name="smscommunicator_pumpdisconnected">Verbindung zur Pumpe getrennt</string>
<string name="smscommunicator_reconnect">Verbindung zur Pumpe wiederhergestellt</string>
<string name="smscommunicator_remotecommandnotallowed">Ferngesteuerte Befehle sind nicht erlaubt.</string>
@ -405,12 +405,13 @@
<string name="wear_detailedIOB_summary">Differenziere IOB in Bolus- und Basal-IOB auf dem Watchface</string>
<string name="nosuccess">Nicht erfolgreich - bitte Telefon prüfen</string>
<string name="notavailable">n/a</string>
<string name="patientage">Patientenalter</string>
<string name="patientage">Patiententyp</string>
<string name="child">Kind</string>
<string name="teenage">Teenager</string>
<string name="adult">Erwachsener</string>
<string name="resistantadult">Insulinresistenter Erwachsener</string>
<string name="patientage_summary">Bitte wähle das Patientenalter, um die Sicherheits-Limits festzulegen</string>
<string name="pregnant">Schwangerschaft</string>
<string name="patientage_summary">Bitte wähle den Patiententyp, um die Sicherheits-Limits festzulegen</string>
<string name="patient_name">Name des Patienten</string>
<string name="patient_name_summary">Bitte gib den Namen des Patienten oder einen Spitznamen an, um mehrere Setups unterscheiden zu können.</string>
<string name="patient_name_default" comment="This is default patient display name, when user does not provide real one">Nutzer</string>
@ -454,6 +455,8 @@
<string name="statuslights_iage_critical">Warnschwelle kritisches Insulinalter [h]</string>
<string name="statuslights_sage_warning">Warnschwelle Sensoralter [h]</string>
<string name="statuslights_sage_critical">Warnschwelle kritisches Sensoralter [h]</string>
<string name="statuslights_sbat_warning">Warnschwelle Sensor-Batteriestand [%]</string>
<string name="statuslights_sbat_critical">Warnschwelle kritischer Sensor-Batteriestand [%]</string>
<string name="statuslights_bage_warning">Warnschwelle Batteriealter [h]</string>
<string name="statuslights_bage_critical">Warnschwelle kritisches Batteriealter [h]</string>
<string name="statuslights_res_warning">Warnschwelle Reservoirstand [IE]</string>
@ -484,6 +487,12 @@
<string name="careportal_insulinage_label">Insulinalter</string>
<string name="doprofileswitch">Profilwechsel durchführen</string>
<string name="careportal_pbage_label">Batteriealter</string>
<string name="careportal_sensor_label">Sensor</string>
<string name="careportal_canula_label">Kanüle</string>
<string name="careportal_insulin_label">Insulin</string>
<string name="careportal_pb_label">Pumpenbatterie</string>
<string name="careportal_age_label">Alter:</string>
<string name="careportal_level_label">Level:</string>
<string name="ns_alarmoptions">Alarm-Optionen</string>
<string name="ns_alarms">Benachrichtigungen über NS-Alarme</string>
<string name="ns_announcements">Benachrichtigungen über NS-Ankündigungen</string>
@ -1179,6 +1188,7 @@ Unerwartetes Verhalten.</string>
<string name="statuslights_copy_ns">Einstellung aus NS kopieren</string>
<string name="copyexistingvalues">NS-Einstellungen kopieren (falls vorhanden)?</string>
<string name="classic_description">Ursprüngliches Erscheinungsbild</string>
<string name="lowres_description">Darstellung niedrige Auflösung</string>
<string name="buttonson_description">Schaltflächen werden immer am unteren Rand des Bildschirms angezeigt</string>
<string name="largedisplay_description">Großer Bildschirm</string>
<string name="skin">Erscheinungsbild</string>

View file

@ -131,8 +131,6 @@
<string name="ic_increasingvalue">Υψηλή αναλογία IC οδηγεί σε λιγότερη χορήγηση ινσουλίνης για μια δεδομένη ποσότητα υδατανθράκων.</string>
<string name="ic_decreasingvalue">Μικρή αναλογία IC οδηγεί σε λιγότερη χορήγηση ινσουλίνης για μια δεδομένη ποσότητα υδατανθράκων.</string>
<string name="ic_noeffect">Αν έχετε 0 COB Ενεργούς Υδατ., αλλάζοντας την αναλογία IC θα οδηγήσει σε μια διαφορετική ποσότητα ινσουλίνης για να διορθωθεί μια συγκεκριμένη τιμή BG.</string>
<string name="ic_different">Το IC θα είναι διαφορετικό αν υπολογίζετε το ψωμί ως 10g ή 12g.</string>
<string name="ic_meaning">Η έννοια του IC είναι: Πόσες φέτες ψωμί καλύπτονται από 1 μονάδα ινσουλίνης.</string>
<string name="ic_hint1">https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#carbohydrate-to-insulin-ratio-cr-g-u</string>
<string name="profileswitch_label">Θέμα: Αλλαγή Προφίλ</string>
<string name="profileswitch_pctwillchange"> Όταν καθορίζεται 90% στην αλλαγή προφίλ…</string>

View file

@ -311,12 +311,10 @@
<string name="wear_detailedIOB_title">Δείξε αναλυτικά IOB</string>
<string name="wear_detailedIOB_summary">Χώρισε την IOB σε bolus και βασικό στο ρολόι</string>
<string name="nosuccess">αποτυχία - ελέγξτε τηλέφωνο</string>
<string name="patientage">Ηλικία χρήστη</string>
<string name="child">Παιδί</string>
<string name="teenage">Έφηβος</string>
<string name="adult">Ενήλικας</string>
<string name="resistantadult">Αντίσταση ινσουλίνης ενηλίκων</string>
<string name="patientage_summary">Παρακαλώ επιλέξτε ηλικία χρήστη για να ορισθούν όρια ασφαλείας</string>
<string name="Glimp">Glimp</string>
<string name="needwhitelisting">%1$s χρειάζεται λίστα βελτιστοποίησης μπαταρίας για σωστή απόδοση</string>
<string name="loopsuspended">Κύκλωμα σε αναστολή</string>

View file

@ -134,8 +134,6 @@
<string name="ic_increasingvalue">Los ratios IC más altos conducen a menos insulina entregada por una cantidad determinada de carbohidratos.</string>
<string name="ic_decreasingvalue">Los ratios IC más bajos conducen a menos insulina entregada por una cantidad determinada de carbohidratos.</string>
<string name="ic_noeffect">Si tiene 0 COB, cambiar la ratio IC conducirá a una cantidad distinta de insulina para corregir un valor de glucemia determinado.</string>
<string name="ic_different">El IC será diferente si cuenta con una unidad de pan como 10g o 12g.</string>
<string name="ic_meaning">IC significa: Cuántas unidades de pan están cubiertas por 1U de insulina.</string>
<string name="ic_hint1">https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#carbohydrate-to-insulin-ratio-cr-g-u</string>
<string name="profileswitch_label">Tema: Cambio de perfil</string>
<string name="profileswitch_pctwillchange"> Especificando el 90% en el cambio de perfil…</string>

View file

@ -257,7 +257,6 @@
<string name="valueoutofrange">El valor %1$s está fuera de límites</string>
<string name="smscommunicator_pumpconnectwithcode">Para conectar la infusora responder con el código %1$s</string>
<string name="smscommunicator_pumpconnectfail">Error al conectar a la bomba</string>
<string name="smscommunicator_pumpdisconnectwithcode">Para desconectar la bomba durante %1dminutos responde con el código %2$s</string>
<string name="smscommunicator_pumpdisconnected">Bomba desconectada</string>
<string name="smscommunicator_reconnect">Bomba reconectada</string>
<string name="smscommunicator_remotecommandnotallowed">Comando remoto no permitido</string>
@ -401,12 +400,10 @@
<string name="wear_detailedIOB_summary">Separar IOB en bolo y base en el reloj</string>
<string name="nosuccess">sin efecto - por favor verificar en móvil</string>
<string name="notavailable">n/a</string>
<string name="patientage">Edad paciente</string>
<string name="child">Menor de edad</string>
<string name="teenage">Adolescente</string>
<string name="adult">Adulto</string>
<string name="resistantadult">Adulto resistente a la insulina</string>
<string name="patientage_summary">Por favor elige la edad del paciente para ajustar los límites de seguridad</string>
<string name="patient_name">Nombre del paciente</string>
<string name="patient_name_summary">Proporcione el nombre de paciente o el apodo para diferenciar entre varias configuraciones</string>
<string name="patient_name_default" comment="This is default patient display name, when user does not provide real one">Usuario</string>

View file

@ -134,8 +134,8 @@
<string name="ic_increasingvalue">Les ratios G/I plus élevés conduisent à moins d\'insuline injectée pour une quantité donnée de glucides.</string>
<string name="ic_decreasingvalue">Les ratios G/I plus faibles conduisent à moins d\'insuline injectée pour une quantité donnée de glucides.</string>
<string name="ic_noeffect">Si vous avez 0 GA, changer le ratio G/I conduira à différentes quantités d\'insuline pour corriger une valeur de glycémie donnée.</string>
<string name="ic_different">Le G/I sera différent si vous comptez l\'unité de pain à 10g ou à 12g.</string>
<string name="ic_meaning">Le G/I (Ratio Glucides/Insuline) est : combien d\'unités de pain sont couverte par 1U d\'insuline.</string>
<string name="ic_different">Le G/I sera différent si vous comptez l\'unité (d\'échange) de pain à 10g ou à 12g.</string>
<string name="ic_meaning">Le G/I (Ratio Glucides/Insuline) est : combien d\'unités (d\'échange) de pain sont couverte par 1U d\'insuline.</string>
<string name="ic_hint1">https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#carbohydrate-to-insulin-ratio-cr-g-u</string>
<string name="profileswitch_label">Rubrique : Changement de profil</string>
<string name="profileswitch_pctwillchange"> Quand on renseigne 90% dans le changement de profil…</string>

View file

@ -262,7 +262,7 @@ L\'ENSEMBLE DES RISQUES LIÉS À LA QUALITÉ ET À LA PERFORMANCE DU PROGRAMME S
<string name="valueoutofrange">La valeur %1$s est en dehors des limites</string>
<string name="smscommunicator_pumpconnectwithcode">Pour connecter la pompe, renvoyez le code %1$s</string>
<string name="smscommunicator_pumpconnectfail">Echec de la connexion pompe</string>
<string name="smscommunicator_pumpdisconnectwithcode">Pour déconnecter la pompe pendant %1d min, renvoyez le code %2$s</string>
<string name="smscommunicator_pumpdisconnectwithcode">Pour déconnecter la pompe pendant %1$d min, renvoyez le code %2$s</string>
<string name="smscommunicator_pumpdisconnected">Pompe déconnectée</string>
<string name="smscommunicator_reconnect">Pompe reconnectée</string>
<string name="smscommunicator_remotecommandnotallowed">La commande à distance n\'est pas autorisée</string>
@ -406,12 +406,13 @@ L\'ENSEMBLE DES RISQUES LIÉS À LA QUALITÉ ET À LA PERFORMANCE DU PROGRAMME S
<string name="wear_detailedIOB_summary">Sur la montre, décomposer lIA en IA bolus et IA basal</string>
<string name="nosuccess">Sans succès - vérifiez votre téléphone</string>
<string name="notavailable">s/o</string>
<string name="patientage">Age du patient</string>
<string name="patientage">Type de patient</string>
<string name="child"> Enfant</string>
<string name="teenage">Adolescent</string>
<string name="adult">Adulte</string>
<string name="resistantadult">Adulte résistant à l\'insuline</string>
<string name="patientage_summary">Veuillez svp sélectionner lâge du patient pour définir les limites de sécurité</string>
<string name="pregnant">Grossesse</string>
<string name="patientage_summary">Veuillez sélectionner le type de patient pour définir les limites de sécurité</string>
<string name="patient_name">Nom du patient</string>
<string name="patient_name_summary">Veuillez indiquer un nom ou pseudo du patient pour différencier plusieurs configurations</string>
<string name="patient_name_default" comment="This is default patient display name, when user does not provide real one">Patient</string>
@ -455,6 +456,8 @@ L\'ENSEMBLE DES RISQUES LIÉS À LA QUALITÉ ET À LA PERFORMANCE DU PROGRAMME S
<string name="statuslights_iage_critical">Seuil critique âge insuline [h]</string>
<string name="statuslights_sage_warning">Seuil d\'alerte âge capteur [h]</string>
<string name="statuslights_sage_critical">Seuil critique âge capteur [h]</string>
<string name="statuslights_sbat_warning">Seuil dalerte niveau pile capteur [%]</string>
<string name="statuslights_sbat_critical">Seuil critique niveau pile capteur [%]</string>
<string name="statuslights_bage_warning">Seuil d\'alerte âge pile [h]</string>
<string name="statuslights_bage_critical">Seuil critique âge pile [h]</string>
<string name="statuslights_res_warning">Seuil d\'alerte niveau réservoir [U]</string>
@ -485,6 +488,12 @@ L\'ENSEMBLE DES RISQUES LIÉS À LA QUALITÉ ET À LA PERFORMANCE DU PROGRAMME S
<string name="careportal_insulinage_label">Age Insuline</string>
<string name="doprofileswitch">Changer de profil</string>
<string name="careportal_pbage_label">Age Pile Pompe</string>
<string name="careportal_sensor_label">Capteur</string>
<string name="careportal_canula_label">Canule</string>
<string name="careportal_insulin_label">Insuline</string>
<string name="careportal_pb_label">Pile pompe</string>
<string name="careportal_age_label">Âge:</string>
<string name="careportal_level_label">Niveau:</string>
<string name="ns_alarmoptions">Options d\'alarme</string>
<string name="ns_alarms">Créer des notifications à partir des alarmes NS</string>
<string name="ns_announcements">Créer des notifications à partir des notifications NS</string>
@ -1157,6 +1166,9 @@ L\'ENSEMBLE DES RISQUES LIÉS À LA QUALITÉ ET À LA PERFORMANCE DU PROGRAMME S
<string name="smscommunicator_otp_reset_title">Réinitialiser la clé de l\'Authentificateur</string>
<string name="smscommunicator_otp_reset_prompt">Voulez-vous réinitialiser la clé de l\'Authenticateur ? Cela rendra tous authentificateurs configurés invalides, et vous devrez les configurer à nouveau.</string>
<string name="smscommunicator_otp_reset_successful">Nouvelle clé de l\'Authenticateur générée ! Veuillez utiliser le QRCode mis à jour pour les authentificateurs.</string>
<string name="smscommunicator_otp_export_title">Exportation de l\'OTP secret</string>
<string name="smscommunicator_otp_export_prompt">Êtes-vous sûr de vouloir copier l\'OTP secret dans le presse-papiers ?\n\nVous pouvez en avoir besoin uniquement si votre application d\'authentification a des problèmes pour scanner le QRCode, si vous voulez le saisir manuellement ou si vous voulez configurer un jeton OTP matériel en utilisant une application dédiée.</string>
<string name="smscommunicator_otp_export_successful">OTP secret (au format Base32) exporté et copié dans le presse-papiers. Collez-le dans l\'authentificateur ou le graveur OTP matériel !</string>
<string name="smscommunicator_otp_step1_install_header">1. Installation l\'Authentificateur</string>
<string name="smscommunicator_otp_step2_provisioning_header">2. Scan du code pour configurer les codes OTP AndroidAPS</string>
<string name="smscommunicator_otp_step3_test_header">3. Test Mot-de-Passe-Unique (OTP)</string>
@ -1176,6 +1188,7 @@ L\'ENSEMBLE DES RISQUES LIÉS À LA QUALITÉ ET À LA PERFORMANCE DU PROGRAMME S
<string name="statuslights_copy_ns">Copier les paramètres depuis NS</string>
<string name="copyexistingvalues">Copier les paramètres NS (s\'ils existent)?</string>
<string name="classic_description">Thème d\'origine</string>
<string name="lowres_description">Basse résolution</string>
<string name="buttonson_description">Boutons toujours en bas</string>
<string name="largedisplay_description">Grand écran</string>
<string name="skin">Thème</string>

View file

@ -261,7 +261,7 @@
<string name="valueoutofrange">Il valore %1$s è fuori limite massimo</string>
<string name="smscommunicator_pumpconnectwithcode">Per connettere il micro rispondi col codice %1$s</string>
<string name="smscommunicator_pumpconnectfail">Connessione al micro fallita</string>
<string name="smscommunicator_pumpdisconnectwithcode">Per disconnettere il micro per %1d minuti rispondi col codice %2$s</string>
<string name="smscommunicator_pumpdisconnectwithcode">Per disconnettere il micro per %1$d minuti rispondi col codice %2$s</string>
<string name="smscommunicator_pumpdisconnected">Micro disconnesso</string>
<string name="smscommunicator_reconnect">Micro riconnesso</string>
<string name="smscommunicator_remotecommandnotallowed">Il comando da remoto non è permesso</string>
@ -405,12 +405,13 @@
<string name="wear_detailedIOB_summary">Dividi IOB in bolo e basale sulla watchface</string>
<string name="nosuccess">non riuscito - controlla il telefono</string>
<string name="notavailable">n/a</string>
<string name="patientage">Età del paziente</string>
<string name="patientage">Tipo paziente</string>
<string name="child">Bambino</string>
<string name="teenage">Adolescente</string>
<string name="adult">Adulto</string>
<string name="resistantadult">Adulto insulino-resistente</string>
<string name="patientage_summary">Seleziona l\'età del paziente per impostare i limiti di sicurezza</string>
<string name="pregnant">Gravidanza</string>
<string name="patientage_summary">Seleziona il tipo di paziente per configurare i limiti di sicurezza</string>
<string name="patient_name">Nome paziente</string>
<string name="patient_name_summary">Fornisci il nome del paziente o il nickname per distinguere questa configurazione tra altre</string>
<string name="patient_name_default" comment="This is default patient display name, when user does not provide real one">Utente</string>
@ -454,6 +455,8 @@
<string name="statuslights_iage_critical">Soglia età insulina critica [h]</string>
<string name="statuslights_sage_warning">Soglia di avviso età sensore [h]</string>
<string name="statuslights_sage_critical">Soglia età sensore critica [h]</string>
<string name="statuslights_sbat_warning">Soglia di avviso livello batteria sensore [%]</string>
<string name="statuslights_sbat_critical">Soglia livello batteria sensore critico [%]</string>
<string name="statuslights_bage_warning">Soglia di avviso età batteria [h]</string>
<string name="statuslights_bage_critical">Soglia età batteria critica [h]</string>
<string name="statuslights_res_warning">Soglia di avviso livello serbatoio [U]</string>
@ -484,6 +487,12 @@
<string name="careportal_insulinage_label">Età insulina</string>
<string name="doprofileswitch">Cambia profilo</string>
<string name="careportal_pbage_label">Età batteria micro</string>
<string name="careportal_sensor_label">Sensore</string>
<string name="careportal_canula_label">Cannula</string>
<string name="careportal_insulin_label">Insulina</string>
<string name="careportal_pb_label">Batteria micro</string>
<string name="careportal_age_label">età:</string>
<string name="careportal_level_label">livello:</string>
<string name="ns_alarmoptions">Opzioni allarme</string>
<string name="ns_alarms">Crea notifiche da allarmi NS</string>
<string name="ns_announcements">Crea notifiche da avvisi NS</string>
@ -1156,6 +1165,9 @@
<string name="smscommunicator_otp_reset_title">Resetta chiave autenticatore</string>
<string name="smscommunicator_otp_reset_prompt">Sei sicuro di resettare la chiave autenticatore? Renderà non validi tutti gli autenticatori attualmente configurati e sarà necessario configurarli nuovamente.</string>
<string name="smscommunicator_otp_reset_successful">La nuova chiave autenticatore è stata generata! Utilizza il QRCode aggiornato per fornire gli autenticatori.</string>
<string name="smscommunicator_otp_export_title">Esportazione OTP secret</string>
<string name="smscommunicator_otp_export_prompt">Sei sicuro di voler copiare l\'OTP secret negli appunti?\n\nPotresti averne bisogno solo se la tua app autenticatore ha problemi con la scansione del QRCode, vuoi inserirlo manualmente o vuoi configurare un token OTP hardware usando un\'app dedicata.</string>
<string name="smscommunicator_otp_export_successful">OTP secret (in formato Base32) esportato e copiato negli appunti. Incollalo nell\'autenticatore o nel configuratore hardware di OTP!</string>
<string name="smscommunicator_otp_step1_install_header">1. Installa l\'autenticatore</string>
<string name="smscommunicator_otp_step2_provisioning_header">2. Scansione il codice per configurare i codici OTP di AndroidAPS</string>
<string name="smscommunicator_otp_step3_test_header">3. Testa OTP</string>
@ -1175,6 +1187,7 @@
<string name="statuslights_copy_ns">Copia impostazioni da NS</string>
<string name="copyexistingvalues">Copiare impostazioni NS (se esiste)?</string>
<string name="classic_description">Tema originale</string>
<string name="lowres_description">Tema a bassa risoluzione</string>
<string name="buttonson_description">I tasti vengono sempre visualizzati nella parte inferiore dello schermo</string>
<string name="largedisplay_description">Visualizzazione ampia</string>
<string name="skin">Tema</string>

View file

@ -1,2 +1,168 @@
<?xml version="1.0" encoding="utf-8"?>
<resources></resources>
<resources>
<string name="dia_whatmeansdia">מה נכון לגבי משך פעילות אינסולין (DIA)?</string>
<string name="dia_label_exam">נושא: משך פעילות אינסולין</string>
<string name="dia_minimumis3h">הערך המינימלי הוא 3 שעות.</string>
<string name="dia_minimumis5h">הערך המינימלי הוא 5 שעות.</string>
<string name="dia_hint1">https://androidaps.readthedocs.io/en/latest/EN/Configuration/Config-Builder.html?#insulin</string>
<string name="dia_meaningisequaltodiapump">המשמעות שווה לערך ה-DIA שמשמש את המשאבה.</string>
<string name="dia_valuemustbedetermined">עליכם לקבוע את הערך האישי לכם (עליו להיות לכל הפחות 5 שעות).</string>
<string name="hypott_label">נושא: ערך מטרה זמני בהיפוגליקמיה</string>
<string name="hypott_whenhypott">מהי הסיבה העיקרית להגדרת ערך \"ערך מטרה זמני בהיפו\" ?</string>
<string name="hypott_goinglow">כדי למנוע מרמת הסוכר מלרדת נמוך אם יש כבר מינון בזאלי זמני אפס.</string>
<string name="hypott_preventoversmb">כדי למנוע מ-AAPS להזריק יותר מדי אינסולין לאחר עלייה ברמת הגלוקוז כתוצאה מפחמימות פשוטות שנאכלו כטיפול בהיפו.</string>
<string name="hypott_hint1">https://androidaps.readthedocs.io/en/latest/EN/Usage/temptarget.html</string>
<string name="offlineprofile_whatprofile">באיזה פרופיל אפשר להשתמש ולהגדיר במצב לא מקוון?</string>
<string name="offlineprofile_label">נושא: פרופיל לא מקוון</string>
<string name="offlineprofile_nsprofile">ניתן להשתמש ב-Nightscout אך לא ניתן להגדירו.</string>
<string name="offlineprofile_hint1">https://androidaps.readthedocs.io/en/latest/EN/Configuration/Config-Builder.html#profile</string>
<string name="pumpdisconnect_label">נושא: התנתקות מהמשאבה</string>
<string name="pumpdisconnect_whattodo">מה לעשות כשמתנתקים מהמשאבה?</string>
<string name="pumpdisconnect_letknow">לחצו \"ניתוק משאבה\" כדי ש-AAPS יידע שלא יינתן איסולין.</string>
<string name="pumpdisconnect_suspend">לחצו \"השהיית לולאה\" כדי ש-AAPS יעצור את הלולאה בזמן שהמשאבה מנותקת.</string>
<string name="pumpdisconnect_dontchnage">לא לשנות דבר ב-AAPS, רק לנתק את המשאבה.</string>
<string name="pumpdisconnect_hint1">https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#other-settings</string>
<string name="objectives_label">נושא: הגדרות AndroidAPS</string>
<string name="objectives_howtosave">מהן שיטות העבודה המומלצות לגיבוי ההגדרות שלכם?</string>
<string name="objectives_exportsettings">ייצוא ההגדרות בתפריט התחזוקה אל מכשירכם.</string>
<string name="objectives_storeelsewhere">גיבוי הקובץ המיוצא למקום נוסף כמו דוא\"ל, דרופבוקס, גוגל דרייב…</string>
<string name="objectives_doexportonstart">ייצוא ההגדרות מיד לאחר התקנת AAPS.</string>
<string name="objectives_doexportafterchange">ייצוא לאחר שינוי בהגדרות.</string>
<string name="objectives_doexportafterobjective">ייצוא ההגדרות לאחר סיום משימה.</string>
<string name="objectives_doexportafterfirtssettings">ייצוא לאחר סיום ההגדרה הראשונית.</string>
<string name="objectives_hint1">https://androidaps.readthedocs.io/en/latest/EN/Usage/ExportImportSettings.html</string>
<string name="objectives_hint2">https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#what-emergency-equipment-is-recommended-to-take-with-me</string>
<string name="noisycgm_label">נושא: קריאות סנסור לא יציבות</string>
<string name="noisycgm_whattodo">מה לעשות אם נתוני הסנסור לא יציבים?</string>
<string name="nothing">שום דבר. AAPS יטפל בזה בעצמו.</string>
<string name="noisycgm_pause">להשבית את הלולאה כדי למנוע מינון יתר.</string>
<string name="noisycgm_replacesensor">להחליף את הסנסור.</string>
<string name="noisycgm_turnoffphone">כבה את הטלפון.</string>
<string name="noisycgm_hint1">https://androidaps.readthedocs.io/en/latest/EN/Usage/Smoothing-Blood-Glucose-Data-in-xDrip.html#smoothing-blood-glucose-data</string>
<string name="noisycgm_checksmoothing">לוודא שאפליקציית הסנסור מתקנת את נתוני הקריאה.</string>
<string name="exercise_label">נושא: התעמלות</string>
<string name="exercise_whattodo">איך עוזרים למערכת להתמודד עם התעמלות?</string>
<string name="exercise_setactivitytt">שימוש בפונקציית ערך מטרה זמני.</string>
<string name="exercise_switchprofilebelow100">בחירת פרופיל עם אחוז נמוך מ-100%.</string>
<string name="exercise_switchprofileabove100">בחירת פרופיל עם אחוז גבוה מ-100%.</string>
<string name="exercise_stoploop">הפסק את הלולאה.</string>
<string name="exercise_doitbeforestart">הגדרת ערך מטרה של התעמלות לפני תחילת האימון.</string>
<string name="exercise_afterstart">הגדרת ערך מטרה של התעמלות אחרי תחילת האימון מובילה לתוצאות טובות פחות מאשר הגדרה לפני תחילת אימון.</string>
<string name="exercise_hint1">https://androidaps.readthedocs.io/en/latest/EN/Usage/temptarget.html#activity-temp-target</string>
<string name="suspendloop_label">נושא: לולאה מושבתת\מושהית</string>
<string name="suspendloop_doigetinsulin">האם אני מקבל\ת אינסולין כאשר הלולאה מושבתת/מושהית?</string>
<string name="suspendloop_yes">כן, אינסולין בזאלי ממשיך להינתן.</string>
<string name="suspendloop_no">לא, אספקת האינסולין נפסקת.</string>
<string name="basaltest_label">נושא: מדידת בזאלי, יחס תיקון ויחס פחמימות</string>
<string name="basaltest_when">מתי עלי לאמת את ערכי הבזאלי ואת יחסי התיקון והפחמימות?</string>
<string name="basaltest_beforeloop">לפני שאני מתחיל\ה לולאה.</string>
<string name="basaltest_havingregularhypo">כאשר יש היפוגליקמיה לעיתים קרובות.</string>
<string name="basaltest_havingregularhyper">כאשר יש היפרגליקמיה לעיתים קרובות.</string>
<string name="basaltest_hint1">https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#androidaps-settings</string>
<string name="prerequisites_label">נושא: דרישות מוקדמות</string>
<string name="prerequisites_what">מה אני צריך\ה?</string>
<string name="prerequisites_determinedcorrectprofile">הגדרת פרופיל אישי (מינון בזאלי-Basal, יחס אינסולין\פחמימה- IC, פקטור תיקון-ISF, משך פעילות אינסולין-DIA).</string>
<string name="prerequisites_computer">מחשב ליצירת קובץ ה-APK.</string>
<string name="prerequisites_phone">טלפון נתמך.</string>
<string name="prerequisites_car">מכונית.</string>
<string name="prerequisites_nightscout">Nightscout לצורך הגדרת ערכים.</string>
<string name="prerequisites_tidepoolaccount">חשבון Tidepool.</string>
<string name="prerequisites_googleaccount">חשבון Google.</string>
<string name="prerequisites_githubaccount">חשבון Github.</string>
<string name="prerequisites_beanandroiddeveloper">ניסיון בפיתוח אנדרואיד.</string>
<string name="prerequisites_own670g">משאבת מנימד 670G.</string>
<string name="prerequisites_hint1">https://androidaps.readthedocs.io/en/latest/EN/Module/module.html</string>
<string name="prerequisites_smartwatch">שעון חכם.</string>
<string name="prerequisites_supportedcgm">סנסור נתמך.</string>
<string name="update_label">נושא: עדכון AndroidAPS</string>
<string name="whatistrue">מה נכון?</string>
<string name="update_git">על Git להיות מותקן.</string>
<string name="update_asap">עדכנו כשיש גרסה חדשה ועשו זאת כשיש לכם זמן.</string>
<string name="update_keys">השתמשו באותם מפתחות חתימה.</string>
<string name="update_neverupdate">לעולם לא לעדכן את האפליקציה אם היא פועלת כראוי.</string>
<string name="update_askfriend">בקשו עזרה מחבר להשגת קובץ ה-APK החדש.</string>
<string name="update_hint1">https://androidaps.readthedocs.io/en/latest/EN/Installing-AndroidAPS/Update-to-new-version.html#update-to-a-new-version-or-branch</string>
<string name="troubleshooting_label">נושא: פתרון בעיות</string>
<string name="troubleshooting_wheretoask">איפה לחפש עזרה?</string>
<string name="troubleshooting_fb">הצטרפו לקבוצת AndroidAPS בפייסבוק.</string>
<string name="troubleshooting_wiki">קראו את הוראות AndroidAPS.</string>
<string name="troubleshooting_gitter">בקרו בחדר ה-Gitter של AndroidAPS.</string>
<string name="troubleshooting_googlesupport">בקשו תמיכה ל-AndroidAPS ב-Google</string>
<string name="troubleshooting_yourendo">דברו עם האנדוקרינולוג שלכם.</string>
<string name="troubleshooting_hint1">https://androidaps.readthedocs.io/en/latest/EN/Installing-AndroidAPS/Update-to-new-version.html#troubleshooting</string>
<string name="troubleshooting_hint2">https://www.facebook.com/groups/AndroidAPSUsers/</string>
<string name="troubleshooting_hint3">https://gitter.im/MilosKozak/AndroidAPS</string>
<string name="insulin_label">נושא: תוספי אינסולין</string>
<string name="insulin_ultrarapid">באיזה סוג של אינסולין מתאים לתוסף \"Ultra-Rapid-Oref\"?</string>
<string name="insulin_fiasp">Fiasp®</string>
<string name="insulin_novorapid">NovoRapid®</string>
<string name="insulin_humalog">Humalog®</string>
<string name="insulin_actrapid">Actrapid®</string>
<string name="insulin_hint1">https://androidaps.readthedocs.io/en/latest/EN/Configuration/Config-Builder.html#insulin</string>
<string name="sensitivity_label">נושא: תוספי רגישות</string>
<string name="sensitivity_which">לאיזה אלגוריתם רגישות יש טווח זמן הניתן להגדרה?</string>
<string name="sensitivity_hint1">https://androidaps.readthedocs.io/en/latest/EN/Configuration/Sensitivity-detection-and-COB.html</string>
<string name="sensitivityuam_which">באיזה תוסף רגישות חייבים להתשמש כדי לאפשר את פונקציית \"ארוחות לא מוכרזות\" (UAM)?</string>
<string name="wrongcarbs_label">נושא: שגיאות רישום פחמימות</string>
<string name="wrongcarbs_whattodo">מה לעשות אם טעית ברישום הפחמימות?</string>
<string name="wrongcarbs_treatmentstab">ב\"טיפולים\", מחקו את רשומת הפחימות השגויה. רשמו פחמימות מחדש.</string>
<string name="wrongcarbs_addfakeinsulin">הזרקת אינסולין מדומה באמצעות הפונקציה \"מילוי חדש\"</string>
<string name="extendedcarbs_label">נושא: מזון עם שומן וחלבון</string>
<string name="extendedcarbs_handling">מה לעשות אם האוכל שלך מכיל כמות גדולה של שומן ו\או חלבונים?</string>
<string name="extendedcarbs_useextendedcarbs">לחשב מחדש שומן וחלבונים כפחמימות והשתמש בפונקציית \"פחמימות ממושכות\".</string>
<string name="extendedcarbs_add">חשב מחדש את השומן והחלבונים כפחמימות והוסף לבולוס.</string>
<string name="extendedcarbs_useextendedbolus">השתמש בבולוס ממושך לכיסוי שומן וחלבונים.</string>
<string name="extendedcarbs_hint1">https://androidaps.readthedocs.io/en/latest/EN/Usage/Extended-Carbs.html</string>
<string name="nsclient_label">נושא: ניטור מרוחק</string>
<string name="nsclient_howcanyou">איך אפשר לפקח על AAPS של הילד שלך מרחוק?</string>
<string name="nsclient_nightscout">באמצעות אתר Nightscout.</string>
<string name="nsclient_dexcomfollow">Dexcom Follow במקרה ומשתמשים באפליקציית Dexcom המקורית (לערכי סוכר בלבד).</string>
<string name="nsclient_dexcomfollowxdrip">שימוש ב-Dexcom Follow אם משתמשים באפליקציית xDrip.</string>
<string name="nsclient_xdripfollower">xDrip פועל במצב עוקב.</string>
<string name="nsclient_looponiphone">אפליקציית Loop על iPhone.</string>
<string name="nsclient_spikeiphone">אפליקציית Spike על iPhone.</string>
<string name="nsclient_hint1">https://androidaps.readthedocs.io/en/latest/EN/Children/Children.html</string>
<string name="isf_label_exam">נושא: פקטור רגישות של אינסולין (יחס תיקון-ISF)</string>
<string name="isf_increasingvalue">פקטור תיקון גבוה גורם להזרקה של פחות אינסולין בעת תיקון ערכי סוכר גבוהים</string>
<string name="isf_decreasingvalue">פקטור תיקון נמוך גורם להזרקה של פחות אינסולין בעת תיקון ערכי סוכר גבוהים.</string>
<string name="isf_noeffect">שינוי פקטור תיקון אינו משפיע על כמות האינסולין שמוזרקת כאשר AAPS מתקן את ערכי הסוכר הגבוהים.</string>
<string name="isf_preferences">עליכם לציין את פקטור התיקון (ISF) בהעדפות.</string>
<string name="isf_profile">שינוי ערך ISF בפרופיל שלכם מספיק כדי להחיל את השינוי.</string>
<string name="isf_hint1">https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#insulin-sensitivity-factor-isf-mmol-l-u-or-mg-dl-u</string>
<string name="isf_hint2">https://androidaps.readthedocs.io/en/latest/EN/Usage/Profiles.html</string>
<string name="ic_label_exam">נושא: יחס אינסולין פחמימה (IC)</string>
<string name="ic_increasingvalue">יחס אינסולין פחמימה גבוה גורם להזרקת פחות אינסולין עבור כל פחמימה.</string>
<string name="ic_decreasingvalue">יחס אינסולין פחמימה נמוך גורם להזרקת פחות אינסולין עבור כל פחמימה.</string>
<string name="ic_noeffect">כאשר יש 0 פחמ\', שינוי יחס הפחמימות (IC) יוביל למינון שונה של אינסולין כדי לתקן ערך סוכר נתון.</string>
<string name="ic_different">יחס הפחמימות (IC) יהיה שונה אם ערך יחידת לחם ייספר כ-10 או 12 גר\'.</string>
<string name="ic_meaning">יחס הפחמימות (IC) הוא: כמה יחידות לחם מכוסות ע\"י יחידת אינסולין אחת.</string>
<string name="ic_hint1">https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#carbohydrate-to-insulin-ratio-cr-g-u</string>
<string name="profileswitch_label">נושא: החלפת פרופילים</string>
<string name="profileswitch_pctwillchange"> כאשר בוחרים 90% בעת החלפת הפרופיל…</string>
<string name="profileswitch_basalhigher">הבזאלי יהיה גבוה ב-10%.</string>
<string name="profileswitch_basallower">הבזאלי יהיה נמוך ב-10%.</string>
<string name="profileswitch_ichigher">ערך יחס אינסולין פחמימה (IC) יהיה גבוה ב-10%.</string>
<string name="profileswitch_iclower">ערך יחס אינסולין פחמימה (IC) יהיה נמוך ב-10%.</string>
<string name="profileswitch_isfhigher">ערך פקטור התיקון (ISF) יהיה גבוה ב-10%.</string>
<string name="profileswitch_isflower">ערך פקטור התיקון (ISF) יהיה נמוך ב-10%.</string>
<string name="profileswitch_overall">תקבלו בערך 10% פחות אינסולין.</string>
<string name="profileswitch_targethigher">ערך המטרה יהיה גבוה ב-10%.</string>
<string name="profileswitch_targetlower">ערך המטרה יהיה נמוך ב-10%.</string>
<string name="profileswitch_targetbottom">רק ערך המטרה התחתון יהיה נמוך ב-10%.</string>
<string name="profileswitch_hint1" formatted="false">https://androidaps.readthedocs.io/en/latest/EN/Usage/Profiles.html?highlight=profile%20switch#profile-switch</string>
<string name="profileswitchtime_iwant">איך תעדכן את AAPS אם קמת שעה מוקדם?</string>
<string name="profileswitchtime_1">אפעיל מצב פרופיל זמני עם היסט זמן של 1+</string>
<string name="profileswitchtime__1">אפעיל מצב פרופיל זמני עם היסט זמן של 1-</string>
<string name="profileswitchtime_hint1">https://androidaps.readthedocs.io/en/latest/EN/Usage/Profiles.html?highlight=profile%20switch#timeshift</string>
<string name="profileswitchtime_60">אפעיל מצב פרופיל זמני עם היסט זמן של 60+</string>
<string name="profileswitchtime__60">אפעיל מצב פרופיל זמני עם היסט זמן של 60-</string>
<string name="basalhelp_hint1">https://androidaps.readthedocs.io/en/latest/EN/Module/module.html#good-individual-dosage-algorithm-for-your-diabetes-therapy</string>
<string name="basalhelp_label">נושא: עזרה עם בזאלים</string>
<string name="basalhelp_where">היכן ניתן לקבל עזרה בנושא מינון בזאלי וכו\'.</string>
<string name="basalhelp_diabetesteam">צוות הסוכרת שלכם</string>
<string name="basalhelp_google">Google</string>
<string name="basalhelp_facebook">Facebook</string>
<string name="other_medication_label">תרופה אחרת</string>
<string name="other_medication_text">AAPS מוריד את הבזאלי כדי להעלות את רמת הגלוקוז בדם. תרופות מקבוצת מעכבי SGLT2 (גליפלוזינים) יכולים למנוע עלייה צפויה בסוכר וייתכן שייצרו חסר אינסולין מסוכן (DKA).
\nשמותיהם המסחריים מוכרים הם: Invokana®, Forxiga®, Jardiance®, Steglatro®, Suglat®, Apleway®, Deberza®, Synjardy®, Vokanamet®, Xigduo®.\n\nאני מתחייב\ת שלא לקחת את התרופות הללו תוך שימוש ב-AAPS או שלא אאפשר את הלולאה לפני לקיחת התרופות הנ\"ל.</string>
</resources>

View file

@ -1,2 +1,29 @@
<?xml version="1.0" encoding="utf-8"?>
<resources></resources>
<resources>
<string name="alert_r1_code">תזכורת R1</string>
<string name="alert_r2_code">תזכורת R2</string>
<string name="alert_r3_code">תזכורת R3</string>
<string name="alert_r4_code">תזכורת R4</string>
<string name="alert_r7_code">תזכורת R7</string>
<string name="alert_w31_code">אזהרה W31</string>
<string name="alert_w32_code">אזהרה W32</string>
<string name="alert_w33_code">אזהרה W33</string>
<string name="alert_w34_code">אזהרה W34</string>
<string name="alert_w36_code">אזהרה W36</string>
<string name="alert_w38_code">אזהרה W38</string>
<string name="alert_w39_code">אזהרה W39</string>
<string name="alert_m20_code">תחזוקה M20</string>
<string name="alert_m21_code">תחזוקה M21</string>
<string name="alert_m22_code">תחזוקה M22</string>
<string name="alert_m23_code">תחזוקה M23</string>
<string name="alert_m24_code">תחזוקה M24</string>
<string name="alert_m25_code">תחזוקה M25</string>
<string name="alert_m26_code">תחזוקה M26</string>
<string name="alert_m27_code">תחזוקה M27</string>
<string name="alert_m28_code">תחזוקה M28</string>
<string name="alert_m29_code">תחזוקה M29</string>
<string name="alert_m30_code">תחזוקה M30</string>
<string name="alert_e6_code">שגיאה E6</string>
<string name="alert_e10_code">שגיאה E10</string>
<string name="alert_e13_code">שגיאה E13</string>
</resources>

View file

@ -1,2 +1,24 @@
<?xml version="1.0" encoding="utf-8"?>
<resources></resources>
<resources>
<string name="alert_r7_description"><![CDATA[כמות: <b>%1$d%%</b>\nמשך: <b>%2$s h</b>]]></string>
<string name="alert_w31_description"><![CDATA[תכולת מיכל: <b>%1$s U</b>]]></string>
<string name="alert_w32_description">החלף סוללה.</string>
<string name="alert_w33_description">קבע זמן/תאריך.</string>
<string name="alert_w34_description">צור קשר עם תמיכת Accu-Chek.</string>
<string name="alert_w36_description"><![CDATA[כמות: <b>%1$d%%</b>\nמשך: <b>%2$s h</b>]]></string>
<string name="alert_w38_description"><![CDATA[כמות מתוכננת: <b>%1$s U</b><br/>כמות שניתנה: <b>%2$s U</b>]]></string>
<string name="alert_m20_description">הכנס מיכל.</string>
<string name="alert_m21_description">החלף מיכל.</string>
<string name="alert_m22_description">החלף סוללה.</string>
<string name="alert_m23_description">בדוק סטטוס משאבה.</string>
<string name="alert_m24_description">החלף פרפרית.</string>
<string name="alert_m25_description">צור קשר עם תמיכת Accu-Chek.</string>
<string name="alert_m26_description">החלף מיכל.</string>
<string name="alert_m27_description">הפעילו מחדש את הורדת הנתונים.</string>
<string name="alert_m28_description">בדוק סטטוס משאבה.</string>
<string name="alert_m29_description">קבע סוג סוללה.</string>
<string name="alert_m30_description">קבע סוג מיכל.</string>
<string name="alert_e6_description">החלף סוללה ומיכל.</string>
<string name="alert_e10_description">החלף מיכל.</string>
<string name="alert_e13_description">שנה שפה.</string>
</resources>

View file

@ -1,2 +1,29 @@
<?xml version="1.0" encoding="utf-8"?>
<resources></resources>
<resources>
<string name="alert_r1_title">הזרק בולוס</string>
<string name="alert_r2_title">בולוס הוחמץ</string>
<string name="alert_r3_title">תזכורת</string>
<string name="alert_r4_title">החלף פרפרית</string>
<string name="alert_r7_title">בזאלי זמני הסתיים</string>
<string name="alert_w31_title">מכל מתרוקן</string>
<string name="alert_w32_title">סוללה חלשה</string>
<string name="alert_w33_title">תאריך/זמן לא תקין</string>
<string name="alert_w34_title">תמה תקופת האחריות</string>
<string name="alert_w36_title">בזאלי זמני בוטל</string>
<string name="alert_w38_title">בולוס בוטל</string>
<string name="alert_w39_title">אזהרת זמן השאלה</string>
<string name="alert_m20_title">מכל לא הוכנס</string>
<string name="alert_m21_title">מיכל ריק</string>
<string name="alert_m22_title">סוללה ריקה</string>
<string name="alert_m23_title">כיבוי אוטומטי - משאבה נעצרה</string>
<string name="alert_m24_title">חסימה</string>
<string name="alert_m25_title">נגמרה תקופת ההשאלה - סיום פעולה</string>
<string name="alert_m26_title">החלפת מיכל לא הושלמה</string>
<string name="alert_m27_title">הורדת הנתונים נכשלה</string>
<string name="alert_m28_title">מצב השהייה הסתיים</string>
<string name="alert_m29_title">סוג הסוללה לא נקבע</string>
<string name="alert_m30_title">סוג המיכל לא נקבע</string>
<string name="alert_e6_title">תקלה מכנית</string>
<string name="alert_e10_title">תקלה בהחזרת הבוכנה לאחור</string>
<string name="alert_e13_title">תקלת שפה</string>
</resources>

View file

@ -1,2 +1,14 @@
<?xml version="1.0" encoding="utf-8"?>
<resources></resources>
<resources>
<string name="connection_failed">החיבור נכשל</string>
<string name="connection_lost">החיבור נותק</string>
<string name="pairing_rejected">התחברות נדחתה</string>
<string name="socket_creation_failed">יצירת סוקט נכשלה</string>
<string name="timeout">פג הזמן</string>
<string name="maximum_number_of_bolus_type_already_running">מספר מרבי של סוגי בולוס מופעל</string>
<string name="no_active_tbr_to_cancel">לא קיים בזאלי זמני לביטול</string>
<string name="no_active_tbr_to_change">לא קיים בזאלי זמני לשינוי</string>
<string name="no_such_bolus_to_cancel">לא קיים בולוס לביטול</string>
<string name="pump_already_in_that_state_exception">משאבה כבר במצב זה</string>
<string name="run_mode_not_allowed">מצב הפעלה לא מורשה</string>
</resources>

View file

@ -1,2 +1,75 @@
<?xml version="1.0" encoding="utf-8"?>
<resources></resources>
<resources>
<string name="objectives_button_back">חזרה</string>
<string name="objectives_button_start">התחל</string>
<string name="objectives_button_verify">אמת</string>
<string name="nth_objective">%1$d. משימה</string>
<string name="objectivenotstarted">מטרה %1$d לא החלה</string>
<string name="objectivenotfinished">משימה %1$d לא בוצעה במלואה</string>
<string name="objectives_0_objective">מגדיר ויזואליזציה, ניטור, נתוח של מינון בזאלי ויחסים</string>
<string name="objectives_0_gate">ודא כי רמת סוכר זמינה ב- Nightscout, ושנתוני האינסולין מהמשאבה נשלחים</string>
<string name="objectives_openloop_objective">התחלה עם לולאה פתוחה</string>
<string name="objectives_openloop_gate">השתמשו במצב לולאה פתוחה במשך מס\' ימים, וקבעו באופן ידני מס\' רב של פרופילי בזאלי זמניים. הגדירו והשתמשו במטרות זמניות ובמטרות ברירת מחדל (לדוגמא פעילות גופנית, או מתן פחמימות בהיפו)</string>
<string name="objectives_maxbasal_objective">הבנה של הלולאה הפתוחה שלך, לרבות הבזאלים הזמניים וההמלצות</string>
<string name="objectives_maxbasal_gate">בהתבסס על ניסיון זה, קבעו את הערך הבזאלי המקסימלי והגדירו אותו במשאבה</string>
<string name="objectives_maxiobzero_objective">מתחילים לסגור את הלולאה עם השהיה עקב רמת גלוקוז נמוכה</string>
<string name="objectives_maxiobzero_gate">הרץ בלולאה סגורה עם ערך IOB מקסימלי = 0 למשך מספר ימים, עם מעט ארועי השהיה עקב גלוקוז נמוך (LGS)</string>
<string name="objectives_maxiob_objective">כוונון הלולאה הסגורה, תוך העלאה של ערך ה- IOB מעל 0 ובסופו של דבר הורדת ערכי המטרה של רמת הסוכר</string>
<string name="objectives_maxiob_gate">לפני הורדת ערך רמת הסוכר, הפעל במשך מס\' ימים, עם לפחות לילה אחד ללא התרעת רמת סוכר נמוכה</string>
<string name="objectives_autosens_objective">במידת הצורך, בצעו התאמת בזאלי ויחסים, ולאחר מכן הפעילו את Autosens</string>
<string name="objectives_autosens_gate">שבוע של הפעלה מוצלחת של הלולאה במשך היום, עם הוספת ערכי פחמימות רגילים</string>
<string name="objectives_ama_objective">הפעלת פונקציות נוספות לשימוש במשך היום, לדוגמה AMA (סיוע ארוחות מתקדם)</string>
<string name="objectives_smb_objective">הפעלת פונקציות נוספות לשימוש במשך היום, כגון סופר מיקרו בולוסים (SMB)</string>
<string name="objectives_auto_objective">הפעלת אוטומציה</string>
<string name="objectives_smb_gate">חובה לקרוא את הויקי ולהעלות את ערך ה-maxIOB כדי להפעיל את ה- SMB כראוי. התחלה טובה תהיה maxIOB=בולוס ממוצע + 3 פעמים ערך הבזאלי היומי המקסימלי</string>
<string name="objectives_auto_gate">קראו את המסמכים על כיצד האוטומציה פועלת. הגדירו את הכללים הפשוטים הראשונים שלכם. במקום פעולה, תנו ל-AAPS להציג הודעה בלבד. כאשר אתם בטוחים שהאוטומציה מופעלת כראוי, החליפו את ההודעה בפעולה אמיתית. (https://androidaps.readthedocs.io/en/latest/EN/Usage/Automation.html)</string>
<string name="objectives_bgavailableinns">ערך הסוכר זמין ב-Nightscout</string>
<string name="objectives_pumpstatusavailableinns">סטטוס המשאבה זמין ב-Nightscout</string>
<string name="objectives_manualenacts">קביעות ידניות</string>
<string name="accomplished">הושלמו: %1$s</string>
<string name="objectives_usage_objective">למדו כיצד לשלוט ב-AndoridAPS</string>
<string name="objectives_usage_gate">בצעו פעולות שונות ב-AndroidAPS</string>
<string name="objectives_useprofileswitch">הגדירו פרופיל 90% למשך 10 דקות (לחיצה ארוכה על שם הפרופיל במסך הסקירה הכללית)</string>
<string name="objectives_usedisconnectpump">דמו מקלחת. הגדירו ניתוק משאבה במשך שעה אחת (לחיצה ארוכה על לולאה פתוחה)</string>
<string name="objectives_usereconnectpump">... והתחברו מחדש באותה הדרך</string>
<string name="objectives_usetemptarget">צרו ערך מטרה זמני מותאם אישית במשך 10 דקות (לחיצה ארוכה על ערך המטרה הנוכחי)</string>
<string name="objectives_useactions">ב-בונה התצורה יש להפעיל את תוסף הפעולות, להפוך אותו לגלוי ולהציג את תוכנו בתפריט העליון</string>
<string name="objectives_useloop">הצג תוכן של תוסף לולאה</string>
<string name="objectives_usescale">השתמשו בפונקציית קנה המידה ע\"י לחיצה ארוכה על תרשים הסוכר</string>
<string name="objectives_button_enter">הכנס</string>
<string name="enter_code_obtained_from_developers_to_bypass_the_rest_of_objectives">אם השתמשתם בלולאה סגורה במשך שלושה חודשים לפחות עם מערכות אחרות, תוכלו לבקש קוד לדילוג על המטרות. ראו: https://androidaps.readthedocs.io/en/latest/EN/Usage/Objectives.html#skip-objectives לפרטים נוספים.</string>
<string name="codeaccepted">קוד אושר</string>
<string name="codeinvalid">קוד בלתי חוקי</string>
<string name="objectives_exam_objective">הוכח את הידע שלך</string>
<string name="objectives_exam_gate">למדו וענו נכונה על שאלות</string>
<string name="answerdisabledto">השבת תשובה מושבתת עד: %1$s</string>
<string name="wronganswer">תשובה שגויה!</string>
<string name="unfinshed_button">הבא שלא נעשה</string>
<string name="requestcode">בקשת קוד: %1$s</string>
<string name="objectives_hint">(בדקו את כל התשובות הנכונות)</string>
<string name="disconnectpump_hint" formatted="false">https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#what-to-do-when-taking-a-shower-or-bath</string>
<string name="usetemptarget_hint" formatted="false">https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/Screenshots.html#the-homescreen</string>
<string name="useaction_hint" formatted="false">https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/Screenshots.html#config-builder</string>
<string name="usescale_hint" formatted="false">https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/Screenshots.html#the-homescreen</string>
<string name="notconnected">אין חיבור לאינטרנט</string>
<string name="failedretrievetime">אחזור השעה נכשל</string>
<string name="requirementnotmet">דרישות המשימה לא נענו</string>
<plurals name="objective_days">
<item quantity="one">%1$d יום</item>
<item quantity="two">%1$d ימים</item>
<item quantity="many">%1$d ימים</item>
<item quantity="other">%1$d ימים</item>
</plurals>
<plurals name="objective_hours">
<item quantity="one">%1$d שעה</item>
<item quantity="two">%1$d שעות</item>
<item quantity="many">%1$d שעות</item>
<item quantity="other">%1$d שעות</item>
</plurals>
<plurals name="objective_minutes">
<item quantity="one">%1$d דקה</item>
<item quantity="two">%1$d דקות</item>
<item quantity="many">%1$d דקות</item>
<item quantity="other">%1$d דקות</item>
</plurals>
</resources>

File diff suppressed because it is too large Load diff

View file

@ -131,8 +131,6 @@
<string name="ic_increasingvalue">높은 IC 비율은 탄수화물 섭취시 인슐린이 보다 덜 주입되게 합니다.</string>
<string name="ic_decreasingvalue">낮은 IC 비율은 탄수화물 섭취시 인슐린이 보다 덜 주입되게 합니다.</string>
<string name="ic_noeffect">COB가 0 인 경우 IC 비율을 변경하면 혈당을 교정하기 위해 다른 양의 인슐린이 주입됩니다.</string>
<string name="ic_different">빵유닛(Bread Unit)을 10g 혹은 12g으로 계산한다면 IC 값도 달라집니다.</string>
<string name="ic_meaning">IC의 의미는 다음과 같습니다: 1U의 인슐린으로 얼마나 많은 빵유닛(Bread Units)이 처리되는지.</string>
<string name="ic_hint1">https://androidaps.readthedocs.io/en/latest/CROWDIN/ko/Getting-Started/FAQ.html#carbohydrate-to-insulin-ratio-cr-g-u</string>
<string name="profileswitch_label">주제: 프로파일 변경</string>
<string name="profileswitch_pctwillchange">프로파일을 90%로 설정하면 어떻게 됩니까?</string>

View file

@ -330,12 +330,10 @@
<string name="wear_detailedIOB_title">IOB 자세하게 보여주기</string>
<string name="wear_detailedIOB_summary">워치페이스에 IOB를 Bolus IOB와 Basal IOB로 나누어서 보여줍니다.</string>
<string name="nosuccess">성공하지 못했습니다. 폰을 확인하세요</string>
<string name="patientage">나이</string>
<string name="child">어린이</string>
<string name="teenage">청소년</string>
<string name="adult">성인</string>
<string name="resistantadult">인슐린 저항성 높은 성인</string>
<string name="patientage_summary">안전제한을 설정하기 위해 당뇨인의 나이를 선택하세요</string>
<string name="Glimp">Glimp</string>
<string name="needwhitelisting">최적의 성능을 위해 %1$s에서 배터리 최적화를 해제해야합니다.</string>
<string name="loopsuspended">Loop 일시중지</string>

View file

@ -134,8 +134,6 @@
<string name="ic_increasingvalue">Didesnis insulino ir angliavandenių IA santykis reiškia, kad mažiau insulino reikia padengti tam tikram angliavandenių kiekiui.</string>
<string name="ic_decreasingvalue">Mažesnis insulino ir angliavandenių IA santykis reiškia, kad mažiau insulino reikia padengti tam tikram angliavandenių kiekiui.</string>
<string name="ic_noeffect">Jei turite 0 AAO (aktyvių angliavandenių organizme), pakeitus IA, glikemija bus koreguojama kitokiu insulino kiekiu.</string>
<string name="ic_different">IA vertė skirsis priklausomai nuo to, ar duonos vienetui skaičiuojate 10g, ar 12g angliavandenių.</string>
<string name="ic_meaning">IA reiškia: kiek vienas vienetas insulino dengia duonos vienetų.</string>
<string name="ic_hint1">https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#carbohydrate-to-insulin-ratio-cr-g-u</string>
<string name="profileswitch_label">Tema: Profilio keitimas</string>
<string name="profileswitch_pctwillchange"> Kai profilio keitime nustatote 90%…</string>

View file

@ -261,7 +261,6 @@
<string name="valueoutofrange">Vertė %1$s viršija griežtą limitą</string>
<string name="smscommunicator_pumpconnectwithcode">Pompos prijungimui atsakykite su kodu %1$s</string>
<string name="smscommunicator_pumpconnectfail">Nepavyko prisijungti prie pompos</string>
<string name="smscommunicator_pumpdisconnectwithcode">Norėdami atjungti pompą %1d min., atsakykite kodu %2$s</string>
<string name="smscommunicator_pumpdisconnected">Pompa atjungta</string>
<string name="smscommunicator_reconnect">Pompa prijungta</string>
<string name="smscommunicator_remotecommandnotallowed">Nuotolinis valdymas negalimas</string>
@ -405,12 +404,10 @@
<string name="wear_detailedIOB_summary">Rodyti laikrodyje bazės ir bolusų AIO</string>
<string name="nosuccess">Bandymas nesėkmingas - pasitikrinkite telefoną</string>
<string name="notavailable">n/a</string>
<string name="patientage">Paciento amžius</string>
<string name="child">Vaikas</string>
<string name="teenage">Paauglys</string>
<string name="adult">Suaugęs</string>
<string name="resistantadult">Insulinui rezistentiškas suaugęs</string>
<string name="patientage_summary">Pasirinkite paciento amžių saugumo riboms nustatyti</string>
<string name="patient_name">Paciento vardas</string>
<string name="patient_name_summary">Pateikite paciento vardą arba slapyvardį, kad galima būtų atskirti tarp skirtingų konfigūracijų.</string>
<string name="patient_name_default" comment="This is default patient display name, when user does not provide real one">Vartotojas</string>
@ -990,6 +987,7 @@
<string name="storage">vidinės saugyklos apribojimas</string>
<string name="diskfull">Atlaisvinkite ne mažiau kaip %1$d MB iš vidinės atminties! Ciklas išjungtas!</string>
<string name="wrongformat">Neteisingas formatas</string>
<string name="wrongTbrDuration">Laikinos bazės trukmė turi būti kartotinė %1$d minučių ir didesnė nei 0.</string>
<string name="sms_wrongcode">Neteisingas kodas. Komanda atšaukta.</string>
<string name="notconfigured">Nesukonfigūruota</string>
<string name="profileswitchcreated">Profilio perjungimas sukurtas</string>
@ -1155,6 +1153,9 @@
<string name="smscommunicator_otp_reset_title">Atstatyti autentifikatoriaus kodą</string>
<string name="smscommunicator_otp_reset_prompt">Ar tikrai norite iš naujo nustatyti autentifikatoriaus raktą? Dėl to visi šiuo metu konfigūruojami autentifikatoriai negalios, ir jums reikės juos nustatyti dar kartą.</string>
<string name="smscommunicator_otp_reset_successful">Sukurtas naujas autentifikavimo raktas! Autentifikatoriams pateikti naudokite atnaujintą QR kodą.</string>
<string name="smscommunicator_otp_export_title">Eksportuojamas OTP kodas</string>
<string name="smscommunicator_otp_export_prompt">Ar tikrai norite nukopijuoti OTP slaptažodį į mainų sritį?\n\nTai gali būti reikalinga tik tuo atveju, jei jūsų programai kyla problemų identifikuojant nuskaitant QR kodą. Arba norite jį įvesti rankiniu būdu ar sukonfigūruoti įrangos OTP prieigos raktą naudodami specialią programą.</string>
<string name="smscommunicator_otp_export_successful">OTP kodas (Base32 formatas) eksportuotas ir nukopijuotas į mainų sritį. Įklijuokite jį į autentifikatorių arba OTP programą!</string>
<string name="smscommunicator_otp_step1_install_header">1. Įdiegti Authenticator</string>
<string name="smscommunicator_otp_step2_provisioning_header">2. Nuskanuoti kodą AndroidAPS OTP kodų nustatymyu</string>
<string name="smscommunicator_otp_step3_test_header">3. Patikrinti vienkartinį slaptažodį</string>
@ -1218,4 +1219,5 @@
<string name="worker_state">Darbinė Būklė: %s</string>
<string name="uploaded_data">Įkelti duomenis</string>
<string name="the_following_data_will_be_uploaded_to_your_open_humans_account">Į jūsų Open Humans paskyrą bus įkelti šie duomenys: glikemijos reikšmės, bolusai, angliavandeniai, priežiūros portalo įvykiai (išskyrus pastabas), ištęstiniai bolusai, profilio pakeitimai, visos paros dozės, laikinos valandinės bazės, laikini tikslai, nustatymai, programos versija, įrenginio modelis ir ekrano matmenys. Konfidenciali ar privati informacija, pvz., Jūsų Nightscout URL arba API slaptažodis, nebus įkelta.</string>
<string name="setupwizard_pump_riley_link_status">RileyLink statusas:</string>
</resources>

View file

@ -134,8 +134,6 @@
<string name="ic_increasingvalue">Hogere KH ratios leiden tot minder insuline afgifte voor een bepaalde hoeveelheid koolhydraten.</string>
<string name="ic_decreasingvalue">Lagere KH ratios leiden tot minder insuline afgifte voor een bepaalde hoeveelheid koolhydraten.</string>
<string name="ic_noeffect">Als je 0 COB hebt zal het veranderen van KH ratio leiden tot een andere hoeveelheid insuline om jouw BG te corrigeren.</string>
<string name="ic_different">KH ratio zal anders zijn als je een brood-eenheid telt als 10g of 12g.</string>
<string name="ic_meaning">KH ratio betekent: Hoeveel brood-eenheden gebruik je voor 1U insuline.</string>
<string name="ic_hint1">https://androidaps.readthedocs.io/en/latest/CROWDIN/nl/Getting-Started/FAQ.html#Koolhydraat-ratio-KH-g-E</string>
<string name="profileswitch_label">Onderwerp: Profiel wissels</string>
<string name="profileswitch_pctwillchange"> Bij het opgeven van 90% in je profiel wissel…</string>

View file

@ -261,7 +261,6 @@
<string name="valueoutofrange">Waarde %1$s valt buiten de toegestane harde limieten</string>
<string name="smscommunicator_pumpconnectwithcode">Om verbinding te maken met pomp antwoord met code %1$s</string>
<string name="smscommunicator_pumpconnectfail">Verbinding maken met pomp is mislukt</string>
<string name="smscommunicator_pumpdisconnectwithcode">Om verbinding te verbreken met pomp gedurende %1d minuten antwoord met code %2$s</string>
<string name="smscommunicator_pumpdisconnected">Pomp verbinding verbroken</string>
<string name="smscommunicator_reconnect">Pomp opnieuw verbonden</string>
<string name="smscommunicator_remotecommandnotallowed">Commando\'s op afstand zijn niet toegestaan</string>
@ -405,12 +404,10 @@
<string name="wear_detailedIOB_summary">Splits IOB in bolus en basaal op de watchface</string>
<string name="nosuccess">Niet geslaagd - controleer de telefoon</string>
<string name="notavailable">n.v.t.</string>
<string name="patientage">Leeftijd Patient</string>
<string name="child">Kind</string>
<string name="teenage">Tiener</string>
<string name="adult">Volwassene</string>
<string name="resistantadult">insuline resistente volwassene</string>
<string name="patientage_summary">Kies leeftijd van de patient voor veiligheids limieten</string>
<string name="patient_name">Naam patiënt</string>
<string name="patient_name_summary">Geef de naam of roepnaam van de patiënt op om onderscheid te maken tussen meerdere setups</string>
<string name="patient_name_default" comment="This is default patient display name, when user does not provide real one">Gebruiker</string>

View file

@ -53,15 +53,15 @@
<string name="suspendloop_doigetinsulin">Får jag insulin når loop er stanset/pauset?</string>
<string name="suspendloop_yes">Ja, basal insulin vil fortsatt bli levert.</string>
<string name="suspendloop_no">Nei, levering av insulin er stanset.</string>
<string name="basaltest_label">Tema: Basal, ISF og IC testing</string>
<string name="basaltest_when">Når bør jeg validere basal, ISF og IC verdier?</string>
<string name="basaltest_label">Tema: Basal, ISF og IK testing</string>
<string name="basaltest_when">Når bør jeg validere basal, ISF og IK verdier?</string>
<string name="basaltest_beforeloop">Før jeg begynner å loope.</string>
<string name="basaltest_havingregularhypo">Om du ofte opplever lave BS verdier.</string>
<string name="basaltest_havingregularhyper">Om du ofte opplever høye BS verdier.</string>
<string name="basaltest_hint1">https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#androidaps-settings</string>
<string name="prerequisites_label">Tema: Forutsetninger før oppstart</string>
<string name="prerequisites_what">Hva trenger jeg?</string>
<string name="prerequisites_determinedcorrectprofile">Validert profil informasjon (basal, IC, ISF, DIA).</string>
<string name="prerequisites_determinedcorrectprofile">Validert profil informasjon (basal, IK, ISF, DIA).</string>
<string name="prerequisites_computer">En datamaskin for å lage en APK.</string>
<string name="prerequisites_phone">En telefon som støttes.</string>
<string name="prerequisites_car">En bil.</string>
@ -131,18 +131,18 @@
<string name="isf_hint1">https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#insulin-sensitivity-factor-isf-mmol-l-u-or-mg-dl-u</string>
<string name="isf_hint2">https://androidaps.readthedocs.io/en/latest/EN/Usage/Profiles.html</string>
<string name="ic_label_exam">Tema: Insulin-karbo (IK) forholdet</string>
<string name="ic_increasingvalue">Høyere IC forhold fører til at mindre insulin leveres for en gitt mengde karbohydrater.</string>
<string name="ic_decreasingvalue">Lavere IC forhold fører til at mindre insulin leveres for en gitt mengde karbohydrater.</string>
<string name="ic_noeffect">Hvis du har 0 COB, vil endring av IC forholdet føre til endring av insulinmengden som trengs for å korrigere ditt BS nivå.</string>
<string name="ic_different">IC vil være forskjellig hvis du regner en skive brød som 10g eller 12g.</string>
<string name="ic_meaning">IC betyr: Hvor mange brødenheter som dekkes av 1E insulin.</string>
<string name="ic_increasingvalue">Høyere IK forhold fører til at mindre insulin leveres for en gitt mengde karbohydrater.</string>
<string name="ic_decreasingvalue">Lavere IK forhold fører til at mindre insulin leveres for en gitt mengde karbohydrater.</string>
<string name="ic_noeffect">Hvis du har 0 COB, vil endring av IK forholdet føre til endring av insulinmengden som trengs for å korrigere ditt BS nivå.</string>
<string name="ic_different">IK vil være forskjellig hvis du regner en skive brød som 10g eller 12g.</string>
<string name="ic_meaning">IK betyr: Hvor mange brødenheter som dekkes av 1E insulin.</string>
<string name="ic_hint1">https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#carbohydrate-to-insulin-ratio-cr-g-u</string>
<string name="profileswitch_label">Tema: Profilbytte</string>
<string name="profileswitch_pctwillchange"> Når man angir 90% i profilbytte…</string>
<string name="profileswitch_basalhigher">Basal vil være 10% høyere.</string>
<string name="profileswitch_basallower">Basal vil være 10% lavere.</string>
<string name="profileswitch_ichigher">IC verdien vil være 10% høyere.</string>
<string name="profileswitch_iclower">IC verdien vil være 10% lavere.</string>
<string name="profileswitch_ichigher">IK verdien vil være 10% høyere.</string>
<string name="profileswitch_iclower">IK verdien vil være 10% lavere.</string>
<string name="profileswitch_isfhigher">ISF verdien vil være 10% høyere.</string>
<string name="profileswitch_isflower">ISF verdien vil være 10% lavere.</string>
<string name="profileswitch_overall">Du vil få omtrent 10% mindre insulin totalt.</string>

View file

@ -261,7 +261,7 @@
<string name="valueoutofrange">Verdien %1$s er utenfor angitt begrensning</string>
<string name="smscommunicator_pumpconnectwithcode">For å koble til pumpen, svar med kode %1$s</string>
<string name="smscommunicator_pumpconnectfail">Tilkobling til pumpen mislyktes</string>
<string name="smscommunicator_pumpdisconnectwithcode">For å koble fra pumpen i %1d minutter, svar med koden %2$s</string>
<string name="smscommunicator_pumpdisconnectwithcode">For å koble fra pumpen i %1$d minutter, svar med koden %2$s</string>
<string name="smscommunicator_pumpdisconnected">Pumpe frakoblet</string>
<string name="smscommunicator_reconnect">Pumpen tilkoblet igjen</string>
<string name="smscommunicator_remotecommandnotallowed">Fjernstyringskommando er ikke tillatt</string>
@ -405,12 +405,13 @@
<string name="wear_detailedIOB_summary">Vis IOB med bolus och basal IOB på klokke</string>
<string name="nosuccess">mislykket - sjekk telefonen</string>
<string name="notavailable">n/a</string>
<string name="patientage">Pasientens alder</string>
<string name="patientage">Pasient type</string>
<string name="child">Barn</string>
<string name="teenage">Tenåring</string>
<string name="adult">Voksen</string>
<string name="resistantadult">Insulin resistent voksen</string>
<string name="patientage_summary">Velg pasientens alder for oppsett av sikkerhetsgrenser</string>
<string name="pregnant">Graviditet</string>
<string name="patientage_summary">Velg pasientens type for oppsett av sikkerhetsgrenser</string>
<string name="patient_name">Pasientens navn</string>
<string name="patient_name_summary">Angi pasientnavn eller kallenavn for å kunne skille mellom flere oppsett</string>
<string name="patient_name_default" comment="This is default patient display name, when user does not provide real one">Bruker</string>
@ -454,6 +455,8 @@
<string name="statuslights_iage_critical">Advarsel: alder insulin [h]</string>
<string name="statuslights_sage_warning">OBS: alder CGM [h]</string>
<string name="statuslights_sage_critical">Advarsel: alder CGM [h]</string>
<string name="statuslights_sbat_warning">Nivå for når batterivarsel skal gis [%]</string>
<string name="statuslights_sbat_critical">Nivå for når kritisk batteriadvarsel skal gis [%]</string>
<string name="statuslights_bage_warning">OBS: alder batteri [h]</string>
<string name="statuslights_bage_critical">Advarsel: alder batteri [h]</string>
<string name="statuslights_res_warning">OBS: nivå insulinreservoar [U]</string>
@ -484,6 +487,12 @@
<string name="careportal_insulinage_label">Insulin alder</string>
<string name="doprofileswitch">Gjør profilbytte</string>
<string name="careportal_pbage_label">Alder pumpebatteri</string>
<string name="careportal_sensor_label">Sensor</string>
<string name="careportal_canula_label">Kanyle</string>
<string name="careportal_insulin_label">Insulin</string>
<string name="careportal_pb_label">Pumpe batteri</string>
<string name="careportal_age_label">alder:</string>
<string name="careportal_level_label">nivå:</string>
<string name="ns_alarmoptions">Alarm valg</string>
<string name="ns_alarms">Opprett varsler fra NS alarmer</string>
<string name="ns_announcements">Opprett varsler fra NS meldinger</string>
@ -1156,6 +1165,9 @@
<string name="smscommunicator_otp_reset_title">Tilbakestill Authenticator nøkkel</string>
<string name="smscommunicator_otp_reset_prompt">Er du sikker på at du vil tilbakestille Authenticator nøkkel? Dette vil gjøre alle lagrede Authenticators ugyldige, og du må sette dem opp på nytt igjen.</string>
<string name="smscommunicator_otp_reset_successful">Ny Authenticator nøkkel ble generert! Vennligst bruk oppdatert QR kode til å aktivere autentiserere.</string>
<string name="smscommunicator_otp_export_title">Eksporterer OTP hemmelig kode</string>
<string name="smscommunicator_otp_export_prompt">Er du sikker på at du vil kopiere OTP hemmelig kode til utklippstavlen?\n\nDu trenger bare det hvis din Authenticator app har problemer med skanning av QRCode og du ønsker å legge den inn manuelt, eller du ønsker å konfigurere maskinvare OTP-kode ved hjelp av dedikert app.</string>
<string name="smscommunicator_otp_export_successful">OTP hemmelig kode (i base32-format) er eksportert og kopiert til utklippstavlen. Lim den inn i Authenticator app eller hardware OTP system!</string>
<string name="smscommunicator_otp_step1_install_header">1. Installer Authenticator</string>
<string name="smscommunicator_otp_step2_provisioning_header">2. Skann kode for å sette opp AndroidAPS OTP koder</string>
<string name="smscommunicator_otp_step3_test_header">3. Test engangspassord</string>
@ -1175,6 +1187,7 @@
<string name="statuslights_copy_ns">Kopier innstillingene fra NS</string>
<string name="copyexistingvalues">Kopiere NS innstillinger (hvis de eksisterer)?</string>
<string name="classic_description">Opprinnelig visningstema</string>
<string name="lowres_description">Tema for lav oppløsning</string>
<string name="buttonson_description">Knapper vises alltid på bunnen av skjermen</string>
<string name="largedisplay_description">Stor skjerm</string>
<string name="skin">Tema</string>

View file

@ -134,8 +134,8 @@
<string name="ic_increasingvalue">Wyższe wartości ICprowadzą do mniejszej ilości insuliny dostarczonej do podanej ilości węglowodanów.</string>
<string name="ic_decreasingvalue">Niższe wartości IC prowadzą do mniejszej ilości insuliny podanej do wprowadzonej ilości węglowodanów.</string>
<string name="ic_noeffect">Załóżmy, że masz 0 COB. Zmiana IC doprowadzi do podania innej ilości insuliny w celu skorygowania twojej wartości BG.</string>
<string name="ic_different">IC będzie inny, jeśli policzysz jednostkę chleba jako 10 g lub 12 g.</string>
<string name="ic_meaning">Znaczenie IC to: Ile jednostek chleba jest pokrytych 1U insuliny.</string>
<string name="ic_different">IC będzie inny, jeśli policzysz jednostkę chlebową (wymiennik węglowodanów) jako 10g lub 12g.</string>
<string name="ic_meaning">Znaczenie IC to: Ile jednostek chlebowych (wymienników węglowodanowych) jest pokrytych 1U insuliny.</string>
<string name="ic_hint1">https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#carbohydrate-to-insulin-ratio-cr-g-u</string>
<string name="profileswitch_label">Temat: Przełączanie profili</string>
<string name="profileswitch_pctwillchange"> Jeśli podasz 90% podczas zmiany profilu… </string>

View file

@ -261,7 +261,7 @@
<string name="valueoutofrange">Wartość %1$s jest poza dopuszczalną granicą</string>
<string name="smscommunicator_pumpconnectwithcode">Aby podłączyć pompę odpowiedz kodem %1$s</string>
<string name="smscommunicator_pumpconnectfail">Połączenie z pompą nie powiodło się</string>
<string name="smscommunicator_pumpdisconnectwithcode">Aby odłączyć pompę na %1d minut odpowiedz kodem %2$s</string>
<string name="smscommunicator_pumpdisconnectwithcode">Aby odłączyć pompę na %1$d minut odpowiedz kodem %2$s</string>
<string name="smscommunicator_pumpdisconnected">Pompa odłączona</string>
<string name="smscommunicator_reconnect">Pompa ponownie podłączona</string>
<string name="smscommunicator_remotecommandnotallowed">Zdalne komendy nie są dozwolone</string>
@ -405,12 +405,13 @@
<string name="wear_detailedIOB_summary">Rozłóż IOB na bolus i IOB bazy na zegarku</string>
<string name="nosuccess">nie udało się - proszę sprawdzić telefon</string>
<string name="notavailable">n/a</string>
<string name="patientage">Wiek pacjenta</string>
<string name="patientage">Typ pacjenta</string>
<string name="child">Dziecko</string>
<string name="teenage">Nastolatek</string>
<string name="adult">Osoba dorosła</string>
<string name="resistantadult">Osoba dorosła insulinooporna</string>
<string name="patientage_summary">Proszę wybierz wiek pacjenta w celu ustawienia wartości limitów bezpieczeństwa</string>
<string name="pregnant">Ciąża</string>
<string name="patientage_summary">Wybierz typ pacjenta, aby ustawić limity bezpieczeństwa</string>
<string name="patient_name">Nazwa pacjenta</string>
<string name="patient_name_summary">Proszę podać nazwę pacjenta lub pseudonim w celu rozróżnienia pomiędzy różnymi konfiguracjami</string>
<string name="patient_name_default" comment="This is default patient display name, when user does not provide real one">Użytkownik</string>
@ -454,6 +455,8 @@
<string name="statuslights_iage_critical">Krytyczny czas insuliny [h]</string>
<string name="statuslights_sage_warning">Ostrzeżenie o czasie sensora CGM [h]</string>
<string name="statuslights_sage_critical">Krytyczny czas sensora CGM [h]</string>
<string name="statuslights_sbat_warning">Próg ostrzeżenia o poziomie baterii sensora [%]</string>
<string name="statuslights_sbat_critical">Próg ostrzeżenia o krytycznym poziomie baterii sensora [%]</string>
<string name="statuslights_bage_warning">Ostrzeżenie o czasie baterii [h]</string>
<string name="statuslights_bage_critical">Krytyczny czas baterii [h]</string>
<string name="statuslights_res_warning">Próg ostrzeżenia o poziomie zbiornika [U]</string>
@ -485,6 +488,12 @@
<string name="careportal_insulinage_label">Czas insuliny</string>
<string name="doprofileswitch">Zmień profil</string>
<string name="careportal_pbage_label">Czas baterii pompy</string>
<string name="careportal_sensor_label">Sensor</string>
<string name="careportal_canula_label">Kaniula</string>
<string name="careportal_insulin_label">Insulina</string>
<string name="careportal_pb_label">Bateria pompy</string>
<string name="careportal_age_label">wiek:</string>
<string name="careportal_level_label">poziom:</string>
<string name="ns_alarmoptions">Opcje alarmu</string>
<string name="ns_alarms">Utwórz powiadomienia z alarmów NS</string>
<string name="ns_announcements">Utwórz powiadomienia z komunikatów NS</string>
@ -1179,6 +1188,7 @@
<string name="statuslights_copy_ns">Kopiowanie ustawień z NS</string>
<string name="copyexistingvalues">Czy skopiować ustawienia NS (jeśli istnieją)?</string>
<string name="classic_description">Motyw oryginalny</string>
<string name="lowres_description">Mały ekran</string>
<string name="buttonson_description">Przyciski są zawsze wyświetlane na dole ekranu</string>
<string name="largedisplay_description">Duży ekran</string>
<string name="skin">Motyw</string>

View file

@ -134,8 +134,6 @@
<string name="ic_increasingvalue">Proporções IC mais altos levam a menos insulina entregue para uma dada quantidade de carboidratos.</string>
<string name="ic_decreasingvalue">Proporções IC mais baixos levam a menos insulina entregue para uma dada quantidade de carboidratos.</string>
<string name="ic_noeffect">Se tiver 0 COB, alterar a proporção IC irá levar a uma quantidade diferente de insulina para corrigir um determinado valor da glicemia.</string>
<string name="ic_different">O IC será diferente se você contar a unidade de pão como 10g ou 12g.</string>
<string name="ic_meaning">O significado do IC é: Quantos pães são cobertas por 1U de insulina.</string>
<string name="ic_hint1">https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#carbohydrate-to-insulin-ratio-cr-g-u</string>
<string name="profileswitch_label">Tópico: Alternando Perfil</string>
<string name="profileswitch_pctwillchange"> Ao especificar 90% na mudança de perfil…</string>

View file

@ -381,12 +381,10 @@
<string name="wear_detailedIOB_summary">Dividir IOB entre IOB de bolus e de basal na face do relógio</string>
<string name="nosuccess">não foi bem sucedido - por favor, verifique o telefone</string>
<string name="notavailable">n/a</string>
<string name="patientage">Idade do Paciente</string>
<string name="child">Criança</string>
<string name="teenage">Adolescente</string>
<string name="adult">Adulto</string>
<string name="resistantadult">Adulto resistente insulina</string>
<string name="patientage_summary">Por favor seleccione a idade do diabético para definir os limites de segurança</string>
<string name="patient_name">Nome do Paciente</string>
<string name="patient_name_summary">Por favor, forneça nome do paciente ou apelido para diferenciar entre várias configurações</string>
<string name="patient_name_default" comment="This is default patient display name, when user does not provide real one">Usuário</string>

View file

@ -134,8 +134,6 @@
<string name="ic_increasingvalue">Rácios IC mais altos levam a menos insulina administrada para uma dada quantidade de hidratos.</string>
<string name="ic_decreasingvalue">Rácios IC mais baixos levam a menos insulina administrada para uma dada quantidade de hidratos.</string>
<string name="ic_noeffect">Se tiver 0 COB, alterar o rácio IC irá levar a uma quantidade diferente de insulina para corrigir um determinado valor da Glic.</string>
<string name="ic_different">IC será diferente se contar a unidade de pão como 10g ou 12g.</string>
<string name="ic_meaning">O significado do IC é: Quantas unidades de pão são cobertas por 1U de insulina.</string>
<string name="ic_hint1">https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#carbohydrate-to-insulin-ratio-cr-g-u</string>
<string name="profileswitch_label">Tópico: Mudança De Perfil</string>
<string name="profileswitch_pctwillchange"> Ao especificar 90% na mudança de perfil…</string>

View file

@ -261,7 +261,6 @@
<string name="valueoutofrange">O valor %1$s está fora dos limites permitidos</string>
<string name="smscommunicator_pumpconnectwithcode">Para ligar a bomba responda com o código %1$s</string>
<string name="smscommunicator_pumpconnectfail">Ligação à bomba falhou</string>
<string name="smscommunicator_pumpdisconnectwithcode">Para desligar a bomba por %1d minutos responda com o código %2$s</string>
<string name="smscommunicator_pumpdisconnected">Bomba desligada</string>
<string name="smscommunicator_reconnect">Bomba ligada novamente</string>
<string name="smscommunicator_remotecommandnotallowed">O comando remoto não é permitido</string>
@ -405,12 +404,10 @@
<string name="wear_detailedIOB_summary">Dividir IOB entre IOB de bolus e de basal na face do relógio</string>
<string name="nosuccess">sem efeito - por favor verifique no telemóvel</string>
<string name="notavailable">n/d</string>
<string name="patientage">Idade do Paciente</string>
<string name="child">Criança</string>
<string name="teenage">Adolescente</string>
<string name="adult">Adulto</string>
<string name="resistantadult">Adulto resistente insulina</string>
<string name="patientage_summary">Por favor seleccione a idade do diabético para definir os limites de segurança</string>
<string name="patient_name">Nome do Paciente</string>
<string name="patient_name_summary">Por favor, forneça nome do paciente ou alcunha para diferenciar entre várias configurações</string>
<string name="patient_name_default" comment="This is default patient display name, when user does not provide real one">Utilizador</string>

View file

@ -134,8 +134,6 @@
<string name="ic_increasingvalue">Valorile IC mai mari determină o cantitate mai mică de insulină livrată pentru o cantitate dată de carbohidrați.</string>
<string name="ic_decreasingvalue">Valorile IC mai mici determină o cantitate mai mică de insulină livrată pentru o cantitate dată de carbohidrați.</string>
<string name="ic_noeffect">Dacă aveți 0 CoB (carbohidrați activi), schimbarea IC va determina modificarea cantității de insulină livrată pentru a corecta glicemia.</string>
<string name="ic_different">Valoarea IC va fi diferita dacă considerați 1BE (unitate de pâine) ca 10g sau 12g glucide.</string>
<string name="ic_meaning">IC înseamnă: Câte unități de pâine sunt acoperite de 1 unitate de insulină.</string>
<string name="ic_hint1">https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#carbohydrate-to-insulin-ratio-cr-g-u</string>
<string name="profileswitch_label">Subiect: Schimbarea de profil</string>
<string name="profileswitch_pctwillchange"> Atunci când se specifică 90% la schimbarea de profil…</string>

View file

@ -261,7 +261,6 @@
<string name="valueoutofrange">Valoarea %1$s este mai mare decât limita stabilită</string>
<string name="smscommunicator_pumpconnectwithcode">Pentru a conecta pompa raspundeti cu codul %1$s</string>
<string name="smscommunicator_pumpconnectfail">Conectarea cu pompa a esuat</string>
<string name="smscommunicator_pumpdisconnectwithcode">Pentru a deconecta pompa timp de %1d minute, raspundeti cu: %2$s</string>
<string name="smscommunicator_pumpdisconnected">Pompă deconectată</string>
<string name="smscommunicator_reconnect">Pompă reconectată</string>
<string name="smscommunicator_remotecommandnotallowed">Comanda de la distanță nu este permisă</string>
@ -405,12 +404,10 @@
<string name="wear_detailedIOB_summary">Separă IOB în bolus și IOB bazal pe ceas</string>
<string name="nosuccess">fără succes - verificați telefonul</string>
<string name="notavailable">indisponibil</string>
<string name="patientage">Vârsta pacientului</string>
<string name="child">Copil</string>
<string name="teenage">Adolescent</string>
<string name="adult">Adult</string>
<string name="resistantadult">Adult rezistent la insulină</string>
<string name="patientage_summary">Vă rog să selectați vârsta pacientului în vederea stabilirii valorilor maxime admise de siguranță</string>
<string name="patient_name">Numele pacientului</string>
<string name="patient_name_summary">Vă rugăm să furnizați numele sau porecla pacientului pentru a diferenția între configurări</string>
<string name="patient_name_default" comment="This is default patient display name, when user does not provide real one">Utilizator</string>

View file

@ -136,7 +136,7 @@ Context | Edit Context</string>
<string name="ic_increasingvalue">Более высокие коэффициенты инсулин-углеводы IC приводят к уменьшению инсулина на данное количество углеводов.</string>
<string name="ic_decreasingvalue">Более низкие коэффициенты инсулин-углеводы IC приводят к уменьшению инсулина на данное количество углеводов.</string>
<string name="ic_noeffect">Если у вас 0 активных углеводов COB, изменение соотношения инсулин-углеводы IC приведет к иному количеству инсулина на коррекцию данной ГК.</string>
<string name="ic_different">Соотношение инсулин-углеводы изменится если принимать ХЕ за 10 или 12г.</string>
<string name="ic_different">Соотношение инсулин-углеводы IC изменится если принимать ХЕ за 10 или 12г.</string>
<string name="ic_meaning">Смысл соотношения инсулин-углеводы IC таков: сколько хлебных единиц покрываются одной ед. инсулина.</string>
<string name="ic_hint1">https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#carbohydrate-to-insulin-ratio-cr-g-u</string>
<string name="profileswitch_label">Тема: Переключение Профиля</string>

View file

@ -261,7 +261,7 @@
<string name="valueoutofrange">Значение %1$s недопустимо</string>
<string name="smscommunicator_pumpconnectwithcode">Чтобы подсоединить помпу ответьте кодом %1$s</string>
<string name="smscommunicator_pumpconnectfail">Ошибка подключения к помпе</string>
<string name="smscommunicator_pumpdisconnectwithcode">Для разъединения с помпой на %1d мин ответьте кодом %2$s</string>
<string name="smscommunicator_pumpdisconnectwithcode">Для разъединения с помпой на %1$d мин ответьте кодом %2$s</string>
<string name="smscommunicator_pumpdisconnected">Помпа отключена</string>
<string name="smscommunicator_reconnect">Связь с помпой возобновлена</string>
<string name="smscommunicator_remotecommandnotallowed">удаленная команда не разрешена</string>
@ -405,12 +405,13 @@
<string name="wear_detailedIOB_summary">разбивка IOB на болюсный и базальный IOB на циферблате смарт-часов</string>
<string name="nosuccess">неудача - проверьте телефон</string>
<string name="notavailable">н/д</string>
<string name="patientage">Возраст пациента</string>
<string name="patientage">Тип пациента</string>
<string name="child">ребенок</string>
<string name="teenage">подросток</string>
<string name="adult">взрослый</string>
<string name="resistantadult">Инсулинорезистентный взрослый</string>
<string name="patientage_summary">выберите возраст пациента для определения ограничителей безопасности</string>
<string name="pregnant">Беременность</string>
<string name="patientage_summary">Пожалуйста, выберите тип пациента для установки лимитов безопасности</string>
<string name="patient_name">Имя пациента</string>
<string name="patient_name_summary">Укажите имя или псевдоним пациента, чтобы распознавать разные настройки</string>
<string name="patient_name_default" comment="This is default patient display name, when user does not provide real one">Пользователь</string>
@ -454,6 +455,8 @@
<string name="statuslights_iage_critical">Критический порог предупреждения о времени, отработанном инсулином [h]</string>
<string name="statuslights_sage_warning">Порог предупреждения о времени, отработанном сенсором [h]</string>
<string name="statuslights_sage_critical">Критический порог предупреждения о времени, отработанном сенсором [h]</string>
<string name="statuslights_sbat_warning">Порог предупреждения о разрядке батареи [%]</string>
<string name="statuslights_sbat_critical">Порог предупреждения о критическом уровне разрядки батареи [%]</string>
<string name="statuslights_bage_warning">Порог предупреждения о разрядке батареи [h]</string>
<string name="statuslights_bage_critical">Порог предупреждения о критическом уровне разрядки батареи [h]</string>
<string name="statuslights_res_warning">Порог уровня наполненности резервуара для оповещения [ед.]</string>
@ -484,6 +487,12 @@
<string name="careportal_insulinage_label">Инсулин проработал</string>
<string name="doprofileswitch">Переключить профиль</string>
<string name="careportal_pbage_label">Батарея помпы работает</string>
<string name="careportal_sensor_label">Сенсор</string>
<string name="careportal_canula_label">Канюля</string>
<string name="careportal_insulin_label">Инсулин</string>
<string name="careportal_pb_label">Батарея помпы</string>
<string name="careportal_age_label">Возраст:</string>
<string name="careportal_level_label">Уровень:</string>
<string name="ns_alarmoptions">опции оповещения</string>
<string name="ns_alarms">Создать уведомления из оповещений NS</string>
<string name="ns_announcements">Создать уведомления из оповещений NS</string>
@ -1158,6 +1167,9 @@ Context | Edit Context</string>
<string name="smscommunicator_otp_reset_title">Сбросить ключ идентификации</string>
<string name="smscommunicator_otp_reset_prompt">Вы действительно хотите сбросить ключ аутентификации? Все сконфигурированные в настоящее время ключи станут недопустимы, и придется их настроить заново.</string>
<string name="smscommunicator_otp_reset_successful">Создан новый ключ аутентификации! Для идентификации используйте обновленный QRCode.</string>
<string name="smscommunicator_otp_export_title">Экспорт секретного кода OTP</string>
<string name="smscommunicator_otp_export_prompt">Вы действительно хотите скопировать пароль OTP в буфер обмена?\n\nЭто может потребоваться только в том случае, если у вашего приложения идентификации проблемы при сканировании QR кода, вы хотите ввести его вручную или настроить аппаратный маркер OTP с помощью специального приложения.</string>
<string name="smscommunicator_otp_export_successful">Секретный одноразовый код OTP (в формате Base32) экспортирован и скопирован в буфер обмена. Вставьте его в систему идентификации или аппаратный маркер OTP!</string>
<string name="smscommunicator_otp_step1_install_header">1. Установить Аутентификатор</string>
<string name="smscommunicator_otp_step2_provisioning_header">2. Код сканирования для настройки кодов OTP AndroidAPS</string>
<string name="smscommunicator_otp_step3_test_header">3. Одноразовый Пароль</string>
@ -1177,6 +1189,7 @@ Context | Edit Context</string>
<string name="statuslights_copy_ns">Копировать параметры из NS</string>
<string name="copyexistingvalues">Копировать настройки NS (если есть)?</string>
<string name="classic_description">Исходная тема оформления</string>
<string name="lowres_description">Скин для низкого разрешения</string>
<string name="buttonson_description">Кнопки всегда отображаются в нижней части экрана</string>
<string name="largedisplay_description">Большой дисплей</string>
<string name="skin">Тема оформления</string>

View file

@ -260,7 +260,6 @@
<string name="valueoutofrange">Hodnota %1$s je mimo prednastavený rozsah</string>
<string name="smscommunicator_pumpconnectwithcode">Ak chcete pripojiť pumpu, odpovedzte pomocou SMS s kódom %1$s</string>
<string name="smscommunicator_pumpconnectfail">Pripojenie k pumpe zlyhalo</string>
<string name="smscommunicator_pumpdisconnectwithcode">Ak chcete odpojiť pumpu na %1d minút, odpovedzte pomocou SMS s kódom %2$s</string>
<string name="smscommunicator_pumpdisconnected">Pumpa odpojená</string>
<string name="smscommunicator_reconnect">Pumpa bola znovu pripojená</string>
<string name="smscommunicator_remotecommandnotallowed">Príkazy na diaľku nie sú povolené</string>
@ -404,12 +403,10 @@
<string name="wear_detailedIOB_summary">Rozpísať IOB na hodinkách do bolusového a bazálneho</string>
<string name="nosuccess">Neúspešné - skontrolujte telefón</string>
<string name="notavailable">nie je k dispozícii</string>
<string name="patientage">Vek pacienta</string>
<string name="child">Dieťa</string>
<string name="teenage">Dospievajúci</string>
<string name="adult">Dospelý</string>
<string name="resistantadult">Dospelý s nízkou citlivosťou</string>
<string name="patientage_summary">Vyberte vek pacienta pre nastavenie bezpečnostných limitov</string>
<string name="patient_name">Meno pacienta</string>
<string name="patient_name_summary">Zadajte meno pacienta, alebo prezývku pre rozlíšenie medzi viacerými nastaveniami</string>
<string name="patient_name_default" comment="This is default patient display name, when user does not provide real one">Používateľ</string>

View file

@ -134,8 +134,8 @@
<string name="ic_increasingvalue">Högre IC-kvot leder till mindre insulin som levereras för en given mängd kolhydrater.</string>
<string name="ic_decreasingvalue">Lägre IC-kvot leder till mindre insulin som levereras för en given mängd kolhydrater.</string>
<string name="ic_noeffect">Om du har 0 COB, kommer en förändring av IC-kvoten leda till en annan mängd insulin för att korrigera din BG-nivå.</string>
<string name="ic_different">IC kommer att vara annorlunda om du räknar en skiva bröd som 10g eller 12g.</string>
<string name="ic_meaning">IC-betydelsen är: Hur många skivor bröd omfattas av 1U insulin.</string>
<string name="ic_different">IC kommer att vara annorlunda om du räknar brödenheter (utbytesenhet) som 10g eller 12g.</string>
<string name="ic_meaning">IC betyder: Hur många brödenheter (utbytesenheter) som omfattas av 1U insulin.</string>
<string name="ic_hint1">https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#carbohydrate-to-insulin-ratio-cr-g-u</string>
<string name="profileswitch_label">Ämne: Profilbyte</string>
<string name="profileswitch_pctwillchange"> När du anger 90% i profilbytet…</string>

View file

@ -21,6 +21,7 @@
<string name="description_food">Visar förutbestämda inställningar för mat i Nightscout</string>
<string name="description_insulin_rapid">Insulininställning för vanliga direktverkande insuliner som Humalog, Lispro, Apidra och Novorapid/Novolog</string>
<string name="description_insulin_ultra_rapid">Insulininställning för ultrasnabba insuliner, t ex Fiasp</string>
<string name="description_insulin_lyumjev">Insulininställning för Lyumjev</string>
<string name="description_insulin_free_peak">Låter dig ställa in tidpunkten för toppen på insulinets aktivitet. Bör bara användas av avancerade användare</string>
<string name="description_loop">Aktivera eller inaktivera implementationen som kör loopen.</string>
<string name="description_ns_client">Synkroniserar dina data med Nightscout</string>
@ -261,7 +262,7 @@ Eversense-appen.</string>
<string name="valueoutofrange">Värdet %1$s är utanför hård begränsning</string>
<string name="smscommunicator_pumpconnectwithcode">För att ansluta pumpen, svara med kod %1$s</string>
<string name="smscommunicator_pumpconnectfail">Anslutning till pump misslyckades</string>
<string name="smscommunicator_pumpdisconnectwithcode">För att koppla från pumpen i %1d minuter, svara med kod %2$s</string>
<string name="smscommunicator_pumpdisconnectwithcode">För att koppla från pumpen i %1$d minuter, svara med kod %2$s</string>
<string name="smscommunicator_pumpdisconnected">Pump frånkopplad</string>
<string name="smscommunicator_reconnect">Pump återansluten</string>
<string name="smscommunicator_remotecommandnotallowed">Otillåtet fjärrkommando</string>
@ -405,12 +406,13 @@ Eversense-appen.</string>
<string name="wear_detailedIOB_summary">Visa IOB med bolus och basal på klocka</string>
<string name="nosuccess">misslyckat - kontrollera telefonen</string>
<string name="notavailable">-</string>
<string name="patientage">Personens ålder</string>
<string name="patientage">Patienttyp</string>
<string name="child">Barn</string>
<string name="teenage">Tonåring</string>
<string name="adult">Vuxen</string>
<string name="resistantadult">Insulinresistent vuxen</string>
<string name="patientage_summary">Vg ange personens ålder för inställningar av gränser</string>
<string name="pregnant">Gravid</string>
<string name="patientage_summary">Välj en patienttyp för att ställa in säkerhetsgränser</string>
<string name="patient_name">Patientens namn</string>
<string name="patient_name_summary">Vänligen ange patientens namn eller smeknamn för att kunna skilja mellan flera uppsättningar av inställningar</string>
<string name="patient_name_default" comment="This is default patient display name, when user does not provide real one">Ditt namn</string>
@ -454,6 +456,8 @@ Eversense-appen.</string>
<string name="statuslights_iage_critical">Insulinålder - akut varning: [h]</string>
<string name="statuslights_sage_warning">Sensorålder - varning: [h]</string>
<string name="statuslights_sage_critical">Sensorålder - akut varning: [h]</string>
<string name="statuslights_sbat_warning">Varningsnivå sensorbatteri [%]</string>
<string name="statuslights_sbat_critical">Kritisk nivå sensorbatteri [%]</string>
<string name="statuslights_bage_warning">Batteriålder - varning: [h]</string>
<string name="statuslights_bage_critical">Batteriålder - akut varning: [h]</string>
<string name="statuslights_res_warning">Varningsnivå för reservoar [U]</string>
@ -484,6 +488,12 @@ Eversense-appen.</string>
<string name="careportal_insulinage_label">Insulinålder</string>
<string name="doprofileswitch">Genomför profilbyte</string>
<string name="careportal_pbage_label">Pumpbatteri ålder</string>
<string name="careportal_sensor_label">Sensor</string>
<string name="careportal_canula_label">Kanyl</string>
<string name="careportal_insulin_label">Insulin</string>
<string name="careportal_pb_label">Pumpbatteri</string>
<string name="careportal_age_label">ålder:</string>
<string name="careportal_level_label">nivå:</string>
<string name="ns_alarmoptions">Larminställningar</string>
<string name="ns_alarms">Skapa aviseringar från NS-larm</string>
<string name="ns_announcements">Skapa aviseringar från NS-meddelanden</string>
@ -536,6 +546,7 @@ Eversense-appen.</string>
<string name="free_peak_oref">Free-Peak Oref</string>
<string name="rapid_acting_oref">Rapid-Acting Oref</string>
<string name="ultrarapid_oref">Ultra-Rapid Oref</string>
<string name="lyumjev">Lyumjev</string>
<string name="dia_too_short">%1$f tim DIA är för kort. Använder %2$f istället!</string>
<string name="activate_profile">Aktivera profil</string>
<string name="invalid">OGILTIG</string>
@ -798,6 +809,8 @@ Eversense-appen.</string>
<string name="bgsourcesetup">Konfigurera BG-källa</string>
<string name="setupwizard_profile_description">Vänligen välj källa för profil. Om patienten är ett barn bör du använda NS profil. Om ingen följer dig på Nightscout kommer du förmodligen föredra lokal profil. Kom ihåg att du endast väljer profilkälla här. För att använda den måste du aktivera den genom att köra ”Byt Profil”</string>
<string name="setupwizard_aps_description">Välj en av dessa algoritmer. De sorteras från den äldsta till nyaste. Nyare algoritm är oftast mer kraftfull och mer aggressiv. Om du är ny som loopanvändare vill du förmodligen börja med AMA och inte med senaste. Glöm inte att läsa dokumentationen om OpenAPS och konfigurera algoritmen innan användning.</string>
<string name="setupwizard_pump_waiting_for_riley_link_connection">Väntar på Riley Link-anslutning...\n</string>
<string name="setupwizard_pump_pump_not_initialized">Du kan fortsätta installationen först när pumpen har initierats.\n</string>
<string name="startobjective">Påbörja ditt första mål</string>
<string name="permission">Behörighet</string>
<string name="askforpermission">Be om behörighet</string>
@ -987,6 +1000,7 @@ Eversense-appen.</string>
<string name="storage">intern lagringsbegränsning</string>
<string name="diskfull">Frigör minst %1$d MB från internminnet. Loop inaktiverad!</string>
<string name="wrongformat">Felaktigt format</string>
<string name="wrongTbrDuration">Durationen måste vara större än 0 och en multipel av %1$d minuter.</string>
<string name="sms_wrongcode">Fel kod. Kommandot avbrutet.</string>
<string name="notconfigured">Inte konfigurerad</string>
<string name="profileswitchcreated">Skapade ett profilbyte</string>
@ -1152,6 +1166,9 @@ Eversense-appen.</string>
<string name="smscommunicator_otp_reset_title">Återställ autentiseringsnyckel</string>
<string name="smscommunicator_otp_reset_prompt">Är du säker på att återställa autentiseringsnyckeln? Det gör alla konfigurerade autentiseringsappar ogiltiga och du kommer behöva ställa in dem igen.</string>
<string name="smscommunicator_otp_reset_successful">Ny autentiseringsnyckel genererades! Använd uppdaterad QR-kod till att aktivera autentiserare.</string>
<string name="smscommunicator_otp_export_title">Exporterar OTP-hemlighet</string>
<string name="smscommunicator_otp_export_prompt">Är du säker på att du vill kopiera OTP-hemligheten till Urklipp?\n\nDu behöver bara göra detta om din autentiseringsapp har problem QR-koder så du vill ange den manuellt eller om du vill konfigurera OTP-token med hjälp av en dedikerad app.</string>
<string name="smscommunicator_otp_export_successful">OTP-hemligheten exporteras och kopieras till klippbordet i Base32-format. Klistra in den i autentiseringsfunktionen eller OTP-brännaren!</string>
<string name="smscommunicator_otp_step1_install_header">1. Installera autentiseringsapp</string>
<string name="smscommunicator_otp_step2_provisioning_header">2. Scanna koden för att ställa in engångslösenord för AndroidAPS</string>
<string name="smscommunicator_otp_step3_test_header">3. Testa engångslösenord</string>
@ -1171,6 +1188,7 @@ Eversense-appen.</string>
<string name="statuslights_copy_ns">Kopiera inställningar från NS</string>
<string name="copyexistingvalues">Kopiera NS-inställningar (om det finns)?</string>
<string name="classic_description">Ursprungligt tema</string>
<string name="lowres_description">Lågupplöst tema</string>
<string name="buttonson_description">Knappar visas alltid längst ned på skärmen</string>
<string name="largedisplay_description">Stor skärm</string>
<string name="skin">Tema</string>
@ -1215,4 +1233,5 @@ Eversense-appen.</string>
<string name="worker_state">Jobbstatus: %s</string>
<string name="uploaded_data">Uppladdad data</string>
<string name="the_following_data_will_be_uploaded_to_your_open_humans_account">Följande data kommer att överföras till ditt Open Humans-konto: Glukosvärden, careportalhändelser (utom anteckningar), utökade bolusar, profilbyten, totala dagliga doser, temp basaler, temp mål, inställningar, appversion, enhetsmodell och skärmstorlek. Hemlig eller privat information, t. ex. din Nightscout-adress eller API-hemlighet, kommer inte att överföras.</string>
<string name="setupwizard_pump_riley_link_status">Riley Link-status:</string>
</resources>

View file

@ -293,12 +293,10 @@ Aktif Karbonhidratın ne kadar hızlı sindirildiğine ve KŞ\'nin beklenenden d
<string name="wear_detailedIOB_title">Ayrıntılı IOB göster</string>
<string name="wear_detailedIOB_summary">Watchface üzerinde IOB\'yi bolus ve bazal IOB\'ye ayırın</string>
<string name="nosuccess">başarısız - lütfen telefonu kontrol edin</string>
<string name="patientage">Hasta yaşı</string>
<string name="child">Çocuk</string>
<string name="teenage">Ergen</string>
<string name="adult">Yetişkin</string>
<string name="resistantadult">Yetişkin İnsülin direnci</string>
<string name="patientage_summary">Güvenlik sınırlarını ayarlamak için lütfen hasta yaşını seçiniz</string>
<string name="Glimp">Glimp</string>
<string name="loopsuspended">Döngü durduldu</string>
<string name="loopsuspendedfor">Askıya alındı (%1$d m)</string>

View file

@ -308,12 +308,10 @@
<string name="wear_detailedIOB_title">显示详细 IOB</string>
<string name="wear_detailedIOB_summary">在手表的表盘上分别显示大剂量IOB和基础IOB</string>
<string name="nosuccess">未成功-请检查手机</string>
<string name="patientage">病人年龄</string>
<string name="child">儿童</string>
<string name="teenage">青少年</string>
<string name="adult">成人</string>
<string name="resistantadult">胰岛素抵抗成人</string>
<string name="patientage_summary">请选择患者年龄以设置安全限制</string>
<string name="Glimp">Glimp</string>
<string name="needwhitelisting">%1$s 需要加入电池优化白名单才能正常运行</string>
<string name="loopsuspended">闭环暂停了</string>

View file

@ -77,12 +77,14 @@
<item>@string/teenage</item>
<item>@string/adult</item>
<item>@string/resistantadult</item>
<item>@string/pregnant</item>
</string-array>
<string-array name="ageValues" translatable="false">
<item>@string/key_child</item>
<item>@string/key_teenage</item>
<item>@string/key_adult</item>
<item>@string/key_resistantadult</item>
<item>@string/key_pregnant</item>
</string-array>
<string-array name="quickWizardYesNo">

View file

@ -134,8 +134,8 @@
<string name="ic_increasingvalue">Higher IC ratios lead to less insulin delivered for a given amount of carbs.</string>
<string name="ic_decreasingvalue">Lower IC ratios lead to less insulin delivered for a given amount of carbs.</string>
<string name="ic_noeffect">If you have 0 COB, changing the IC ratio will lead to a different amount of insulin to correct a given BG value.</string>
<string name="ic_different">IC will be different if you count bread unit as 10g or 12g.</string>
<string name="ic_meaning">IC meaning is: How many bread units are covered by 1U of insulin.</string>
<string name="ic_different">IC will be different if you count bread (exchange) unit as 10g or 12g.</string>
<string name="ic_meaning">IC meaning is: How many bread (exchange) units are covered by 1U of insulin.</string>
<string name="ic_hint1">https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#carbohydrate-to-insulin-ratio-cr-g-u</string>
<string name="profileswitch_label">Topic: Profile Switching</string>
<string name="profileswitch_pctwillchange"> When specifying 90% in profile switch…</string>

View file

@ -306,7 +306,7 @@
<string name="valueoutofrange">Value %1$s is out of hard limits</string>
<string name="smscommunicator_pumpconnectwithcode">To connect pump reply with code %1$s</string>
<string name="smscommunicator_pumpconnectfail">Connection to pump failed</string>
<string name="smscommunicator_pumpdisconnectwithcode">To disconnect pump for %1d minutes reply with code %2$s</string>
<string name="smscommunicator_pumpdisconnectwithcode">To disconnect pump for %1$d minutes reply with code %2$s</string>
<string name="smscommunicator_pumpdisconnected">Pump disconnected</string>
<string name="smscommunicator_reconnect">Pump reconnected</string>
<string name="smscommunicator_remotecommandnotallowed">Remote command is not allowed</string>
@ -464,17 +464,19 @@
<string name="notavailable">n/a</string>
<string name="key_smscommunicator_allowednumbers" translatable="false">smscommunicator_allowednumbers</string>
<string name="key_smscommunicator_remotecommandsallowed" translatable="false">smscommunicator_remotecommandsallowed</string>
<string name="patientage">Patient age</string>
<string name="patientage">Patient type</string>
<string name="child">Child</string>
<string name="teenage">Teenage</string>
<string name="adult">Adult</string>
<string name="resistantadult">Insulin resistant adult</string>
<string name="pregnant">Pregnancy</string>
<string name="key_age" translatable="false">age</string>
<string name="key_child" translatable="false">child</string>
<string name="key_teenage" translatable="false">teenage</string>
<string name="key_adult" translatable="false">adult</string>
<string name="key_resistantadult" translatable="false">resistantadult</string>
<string name="patientage_summary">Please select patient age to setup safety limits</string>
<string name="key_pregnant" translatable="false">pregnant</string>
<string name="patientage_summary">Please select patient type to setup safety limits</string>
<string name="patient_name">Patient name</string>
<string name="patient_name_summary">Please provide patient name or nickname to differentiate among multiple setups</string>
<string name="patient_name_default" comment="This is default patient display name, when user does not provide real one">User</string>
@ -528,6 +530,10 @@
<string name="statuslights_sage_warning">Threshold warning sensor age [h]</string>
<string name="key_statuslights_sage_critical" translatable="false">statuslights_sage_critical</string>
<string name="statuslights_sage_critical">Threshold critical sensor age [h]</string>
<string name="key_statuslights_sbat_warning" translatable="false">statuslights_sbat_warning</string>
<string name="statuslights_sbat_warning">Threshold warning sensor battery level [%]</string>
<string name="key_statuslights_sbat_critical" translatable="false">statuslights_sbat_critical</string>
<string name="statuslights_sbat_critical">Threshold critical sensor battery level [%]</string>
<string name="key_statuslights_bage_warning" translatable="false">statuslights_bage_warning</string>
<string name="statuslights_bage_warning">Threshold warning battery age [h]</string>
<string name="key_statuslights_bage_critical" translatable="false">statuslights_bage_critical</string>
@ -566,6 +572,12 @@
<string name="careportal_insulinage_label">Insulin age</string>
<string name="doprofileswitch">Do Profile Switch</string>
<string name="careportal_pbage_label">Pump battery age</string>
<string name="careportal_sensor_label">Sensor</string>
<string name="careportal_canula_label">Canula</string>
<string name="careportal_insulin_label">Insulin</string>
<string name="careportal_pb_label">Pump battery</string>
<string name="careportal_age_label">age:</string>
<string name="careportal_level_label">level:</string>
<string name="ns_alarmoptions">Alarm options</string>
<string name="key_ns_announcements" translatable="false">ns_announcements</string>
<string name="key_ns_alarms" translatable="false">ns_alarms</string>
@ -1405,6 +1417,7 @@
<string name="copyexistingvalues">Copy NS settings (if exists)?</string>
<string name="key_statuslights_overview_advanced" translatable="false">statuslights_overview_advanced</string>
<string name="classic_description">Original skin</string>
<string name="lowres_description">Low Resolution skin</string>
<string name="buttonson_description">Buttons are always displayed on bottom of screen</string>
<string name="largedisplay_description">Large display</string>
<string name="key_skin" translatable="false">skin</string>
@ -1453,4 +1466,6 @@
<string name="uploaded_data">Uploaded Data</string>
<string name="the_following_data_will_be_uploaded_to_your_open_humans_account">The following data will be uploaded to your Open Humans account: Glucose values, boluses, carbs, careportal events (except notes), extended boluses, profile switches, total daily doses, temporary basals, temp targets, preferences, application version, device model and screen dimensions. Secret or private information such as your Nightscout URL or API secret will not be uploaded.</string>
<string name="setupwizard_pump_riley_link_status">RileyLink status:</string>
<string name="filter">Filter</string>
</resources>

View file

@ -360,6 +360,32 @@
validate:minNumber="24"
validate:testType="numericRange" />
<info.nightscout.androidaps.utils.textValidator.ValidatingEditTextPreference
android:defaultValue="25"
android:dependency="@string/key_show_statuslights"
android:inputType="numberSigned"
android:key="@string/key_statuslights_sbat_warning"
android:maxLines="20"
android:selectAllOnFocus="true"
android:singleLine="true"
android:title="@string/statuslights_sbat_warning"
validate:maxNumber="100"
validate:minNumber="0"
validate:testType="numericRange" />
<info.nightscout.androidaps.utils.textValidator.ValidatingEditTextPreference
android:defaultValue="5"
android:dependency="@string/key_show_statuslights"
android:inputType="numberSigned"
android:key="@string/key_statuslights_sbat_critical"
android:maxLines="20"
android:selectAllOnFocus="true"
android:singleLine="true"
android:title="@string/statuslights_sbat_critical"
validate:maxNumber="100"
validate:minNumber="0"
validate:testType="numericRange" />
<info.nightscout.androidaps.utils.textValidator.ValidatingEditTextPreference
android:defaultValue="216"
android:dependency="@string/key_show_statuslights"

View file

@ -8,6 +8,7 @@ import info.nightscout.androidaps.TestBaseWithProfile
import info.nightscout.androidaps.db.DatabaseHelper
import info.nightscout.androidaps.db.TemporaryBasal
import info.nightscout.androidaps.plugins.general.nsclient.NSUpload
import info.nightscout.androidaps.plugins.general.nsclient.UploadQueue
import info.nightscout.androidaps.plugins.insulin.InsulinOrefRapidActingPlugin
import info.nightscout.androidaps.utils.DateUtil
import info.nightscout.androidaps.utils.FabricPrivacy
@ -33,6 +34,7 @@ class TreatmentsPluginTest : TestBaseWithProfile() {
@Mock lateinit var databaseHelper: DatabaseHelper
@Mock lateinit var treatmentService: TreatmentService
@Mock lateinit var nsUpload: NSUpload
@Mock lateinit var uploadQueue: UploadQueue
val injector = HasAndroidInjector {
AndroidInjector {
@ -58,7 +60,7 @@ class TreatmentsPluginTest : TestBaseWithProfile() {
`when`(profileFunction.getProfile(ArgumentMatchers.anyLong())).thenReturn(validProfile)
`when`(activePluginProvider.activeInsulin).thenReturn(insulinOrefRapidActingPlugin)
sot = TreatmentsPlugin(profileInjector, aapsLogger, rxBus, resourceHelper, context, sp, profileFunction, activePluginProvider, nsUpload, fabricPrivacy, dateUtil)
sot = TreatmentsPlugin(profileInjector, aapsLogger, rxBus, resourceHelper, context, sp, profileFunction, activePluginProvider, nsUpload, fabricPrivacy, dateUtil, uploadQueue)
sot.service = treatmentService
}

View file

@ -29,7 +29,7 @@ buildscript {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:4.1.0'
classpath 'com.android.tools.build:gradle:4.1.1'
classpath 'com.google.gms:google-services:4.3.4'
classpath 'com.google.firebase:firebase-crashlytics-gradle:2.3.0'

View file

@ -170,7 +170,8 @@ public class PumpEnactResult {
ret += "<br><b>" + resourceHelper.gs(R.string.absolute) + "</b>: " + DecimalFormatter.to2Decimal(absolute) + " U/h";
}
} else {
ret += "<br><b>" + resourceHelper.gs(R.string.comment) + "</b>: " + comment;
if (!comment.isEmpty())
ret += "<br><b>" + resourceHelper.gs(R.string.comment) + "</b>: " + comment;
}
return ret;
}

View file

@ -9,4 +9,8 @@ public interface BgSourceInterface {
boolean advancedFilteringSupported();
void handleNewData(Intent intent);
default int getSensorBatteryLevel() {
return -1;
}
}

View file

@ -13,5 +13,6 @@ interface ProfileFunction {
fun getProfile(): Profile?
fun getUnits(): String
fun getProfile(time: Long): Profile?
fun getProfile(time: Long, activeTreatments: TreatmentsInterface): Profile?
fun prepareProfileSwitch(profileStore: ProfileStore, profileName: String, duration: Int, percentage: Int, timeShift: Int, date: Long): ProfileSwitch
}

View file

@ -55,6 +55,8 @@ public interface TreatmentsInterface {
NonOverlappingIntervals<TemporaryBasal> getTemporaryBasalsFromHistory();
void removeTempBasal(TemporaryBasal temporaryBasal);
boolean isInHistoryExtendedBoluslInProgress();
ExtendedBolus getExtendedBolusFromHistory(long time);

View file

@ -11,6 +11,7 @@ import info.nightscout.androidaps.db.Source
import info.nightscout.androidaps.interfaces.ProfileStore
import info.nightscout.androidaps.interfaces.ActivePluginProvider
import info.nightscout.androidaps.interfaces.ProfileFunction
import info.nightscout.androidaps.interfaces.TreatmentsInterface
import info.nightscout.androidaps.logging.AAPSLogger
import info.nightscout.androidaps.utils.DateUtil
import info.nightscout.androidaps.utils.FabricPrivacy
@ -70,8 +71,9 @@ class ProfileFunctionImplementation @Inject constructor(
override fun getProfile(): Profile? =
getProfile(System.currentTimeMillis())
override fun getProfile(time: Long): Profile? {
val activeTreatments = activePlugin.activeTreatments
override fun getProfile(time: Long): Profile? = getProfile(time, activePlugin.activeTreatments)
override fun getProfile(time: Long, activeTreatments: TreatmentsInterface): Profile? {
val activeProfile = activePlugin.activeProfileInterface
//log.debug("Profile for: " + new Date(time).toLocaleString() + " : " + getProfileName(time));

View file

@ -73,6 +73,7 @@ public class Notification {
public static final int CARBS_REQUIRED = 60;
public static final int OMNIPOD_POD_SUSPENDED = 61;
public static final int OMNIPOD_POD_ALERTS_UPDATED = 62;
public static final int OMNIPOD_POD_ALERTS = 63;
public static final int IMPORTANCE_HIGH = 2;

View file

@ -170,7 +170,6 @@
<string name="waitingforpumpresult">Изчаква резултат от помпата</string>
<string name="smb_shortname">SMB</string>
<!-- CarbsReq-->
<string name="carbsreq">%dгр допълнителни въглехидрати ще са необходими до %d минути</string>
<!-- TDDStatsActivity-->
<string name="stats">Статистика</string>
<string name="cumulative_tdd">Комулативна TDD</string>

View file

@ -170,7 +170,7 @@
<string name="waitingforpumpresult">Čekání na výsledek</string>
<string name="smb_shortname">SMB</string>
<!-- CarbsReq-->
<string name="carbsreq">Požadováno dalších %d g sacharidů během %d minut</string>
<string name="carbsreq">Požadováno dalších %1$d g sacharidů během %2$d minut</string>
<!-- TDDStatsActivity-->
<string name="stats">Statistiky</string>
<string name="cumulative_tdd">Kumulativní CDD</string>

View file

@ -170,7 +170,7 @@
<string name="waitingforpumpresult">Auf Pumpenergebnis warten</string>
<string name="smb_shortname">SMB</string>
<!-- CarbsReq-->
<string name="carbsreq">%d g zusätzliche Kohlenhydrate innerhalb von %d Minuten erforderlich</string>
<string name="carbsreq">%1$d g zusätzliche Kohlenhydrate innerhalb von %2$d Minuten erforderlich</string>
<!-- TDDStatsActivity-->
<string name="stats">Statistik</string>
<string name="cumulative_tdd">Kumulative TDD</string>

View file

@ -170,7 +170,6 @@
<string name="waitingforpumpresult">Esperando resultado</string>
<string name="smb_shortname">SMB</string>
<!-- CarbsReq-->
<string name="carbsreq">%dg Carbohidratos adicionales necesarios dentro De %d minutos</string>
<!-- TDDStatsActivity-->
<string name="stats">Estadísticas</string>
<string name="cumulative_tdd">TDD acumulativa</string>

View file

@ -170,7 +170,7 @@
<string name="waitingforpumpresult">Attente de résultat</string>
<string name="smb_shortname">SMB</string>
<!-- CarbsReq-->
<string name="carbsreq">%d g de glucides supplémentaires requis d\'ici %d minutes</string>
<string name="carbsreq">%1$dg de glucides requis dans %2$d min.</string>
<!-- TDDStatsActivity-->
<string name="stats">Stats</string>
<string name="cumulative_tdd">DTI cumulé</string>

View file

@ -170,7 +170,7 @@
<string name="waitingforpumpresult">In attesa del risultato</string>
<string name="smb_shortname">SMB</string>
<!-- CarbsReq-->
<string name="carbsreq">%d g di CHO aggiuntivi richiesti entro %d minuti</string>
<string name="carbsreq">%1$d g di CHO aggiuntivi richiesti entro %2$d minuti</string>
<!-- TDDStatsActivity-->
<string name="stats">Statistiche</string>
<string name="cumulative_tdd">TDD cumulativo</string>

View file

@ -2,27 +2,216 @@
<resources>
<!-- Keys-->
<!-- General-->
<string name="error">שגיאה</string>
<string name="not_set_short">לא הוגדר</string>
<string name="failedupdatebasalprofile">עדכון הפרופיל הבזאלי נכשל</string>
<string name="profile_set_ok">הפרופיל הבזאלי עודכן במשאבה</string>
<string name="invalidinput">קלט לא חוקי</string>
<string name="tempbasaldeliveryerror">שגיאת אספקה של בזאלי זמני</string>
<string name="goingtodeliver">עומד להזריק %1$.2f יח\'</string>
<string name="waitingforpump">ממתין למשאבה</string>
<string name="connectingfor">מתחבר במשך %1$d שניות</string>
<string name="bolusdelivering">מזריק כעת %1$.2f יח\'</string>
<string name="handshaking">לוחץ יד</string>
<string name="connecting">מתחבר</string>
<string name="connected">מחובר</string>
<string name="disconnected">מנותק</string>
<string name="disconnecting">מתנתק</string>
<string name="androidaps_start">AndroidAPS הופעל</string>
<string name="formatinsulinunits1">%1$.1f יח\'</string>
<string name="formatinsulinunits">%1$.2f יח\'</string>
<string name="formatsignedinsulinunits">%1$+.2f יח\'</string>
<string name="format_carbs">%1$d גר\'</string>
<string name="reservoirvalue">%1$.0f / %2$d יח\'</string>
<string name="pump_basebasalrate">%1$.2f יח\' לשעה</string>
<string name="format_hours">%1$.2f שע\'</string>
<string name="format_mins">%1$d דק\'</string>
<string name="pumpbusy">המשאבה אינה פנויה</string>
<string name="connectionerror">שגיאה בחיבור המשאבה</string>
<string name="youareonallowedlimit">הגיעתם למגבלה המותרת</string>
<string name="objectives">משימות</string>
<string name="close">סגור</string>
<string name="please_wait">נא להמתין…</string>
<string name="mute">השתק</string>
<string name="reload">טען מחדש</string>
<string name="stoppressed">נלחץ עצור</string>
<string name="stop">עצור</string>
<string name="carbs">פחמימות</string>
<string name="invalidprofile">פרופיל לא חוקי !!!</string>
<string name="noprofileset">לא הוגדר פרופיל</string>
<string name="date">תאריך</string>
<string name="units_label">יחידות</string>
<string name="dia_label">DIA</string>
<string name="ic_label">IC</string>
<string name="isf_label">ISF</string>
<string name="basal_label">אינסולין בזאלי</string>
<string name="target_label">ערך מטרה</string>
<string name="initializing">מאתחל...</string>
<string name="serialnumber">מספר סידורי</string>
<string name="battery_label">סוללה</string>
<string name="lastconnection_label">התחברות אחרונה</string>
<string name="lastbolus_label">בולוס אחרון</string>
<string name="dailyunits">יחידות יומיות</string>
<string name="basebasalrate_label">בזאלי בסיסי</string>
<string name="tempbasal_label">בזאלי זמני</string>
<string name="virtualpump_extendedbolus_label">בולוס ממושך</string>
<string name="reservoir_label">מכל</string>
<string name="pumphistory">היסטוריית המשאבה</string>
<string name="viewprofile">הצג פרופיל</string>
<string name="eventtype">סוג האירוע</string>
<string name="mgdl">mg/dL</string>
<string name="mmol">mmol/L</string>
<string name="advancedsettings_title">הגדרות מתקדמות</string>
<string name="bluetooth">בלוטות\'</string>
<string name="btwatchdog_title">BT Watchdog</string>
<string name="btwatchdog_summary">מכבה את הבלוטות\' של הטלפון לשנייה אחת אם לא ניתן לתקשר עם המשאבה. זה עשוי לעזור במס\' דגמי טלפונים שבהם מערכת הבלוטות\' קופאת.</string>
<string name="pairing">מזווג</string>
<!-- Constraints-->
<string name="limitingbasalratio">מגביל את הקצב הבזאלי המרבי ל-%1$.2f יח\' לשעה בגלל %2$s</string>
<string name="pumplimit">מגבלת משאבה</string>
<string name="limitingpercentrate">מגביל את אחוז הקצב הבזאלי המרבי ל-%1$d%% בגלל %2$s</string>
<string name="itmustbepositivevalue">זה חייב להיות ערך חיובי</string>
<string name="limitingbolus">מגביל בולוס ל-%1$.1f יח\' בגלל %2$s</string>
<string name="pumpNotInitializedProfileNotSet">משאבה לא אותחלה! לא נקבע פרופיל!</string>
<!-- Dialogs-->
<string name="confirmation">אישור</string>
<string name="message">הודעה</string>
<string name="ok">אישור</string>
<string name="cancel">ביטול</string>
<string name="dismiss">בטל</string>
<!-- BlePreCheck-->
<string name="ble_not_supported">בלוטות\' באנרגיה נמוכה לא נתמך.</string>
<string name="ble_not_enabled">בלוטות\' כבוי.</string>
<string name="location_not_found_title">המיקום אינו מופעל</string>
<string name="location_not_found_message">בכדי שסריקת בלוטות\' תעבוד יש לאפשר את שירות המיקום. AAPS לא עוקב אחר המיקום שלכם וניתן להפסיק את השירות לאחר סיום הזיווג.</string>
<!-- DateUtil-->
<string name="minago">לפני %1$d דקות</string>
<string name="hoursago">לפני %1$.1f שעות</string>
<string name="shorthour">ש\'</string>
<string name="days">ימים</string>
<string name="hours">שעות</string>
<string name="unit_second">שניה</string>
<string name="unit_minute">דקה</string>
<string name="unit_hour">שעה</string>
<string name="unit_day">יום</string>
<string name="unit_week">שבוע</string>
<string name="unit_seconds">שניות</string>
<string name="unit_minutes">דקות</string>
<string name="unit_hours">שעות</string>
<string name="unit_days">ימים</string>
<string name="unit_weeks">שבועות</string>
<string name="shortminute">דק\'</string>
<string name="shortday">י\'</string>
<!-- Protection-->
<string name="wrongpassword">סיסמה שגויה</string>
<string name="passwords_dont_match">הסיסמאות אינן תואמות</string>
<!-- Profile-->
<string name="basalprofilenotaligned">ערכי הבזאלי לא מותאמים לשעות: %1$s</string>
<string name="minimalbasalvaluereplaced">ערכי הבזאלי הוחלפו בהערכים המינימליים שנתמכים: %1$s</string>
<string name="maximumbasalvaluereplaced">ערכי הבזאלי הוחלפו בערכים הנתמכים המינימליים: %1$s</string>
<string name="profile_per_unit">/יח\'</string>
<string name="profile_ins_units_per_hour">יח\'\שע\'</string>
<string name="profile_carbs_per_unit">גר\'\יח\'</string>
<!-- ProfileFunction-->
<string name="noprofileselected">לא נבחר פרופיל</string>
<!-- PumpType-->
<string name="def_extended_note">* רק ערכים בדידים, טווחים אינם נתמכים עבור ערכי בזאלי ובולוס במשאבה וירטואלית.</string>
<!-- APSResult-->
<string name="canceltemp">ביטול בזאלי זמני</string>
<string name="let_temp_basal_run">אפשר לבזאלי זמני לרוץ</string>
<string name="rate">דרג</string>
<string name="duration">משך</string>
<string name="reason">סיבה</string>
<string name="nochangerequested">אין בקשות החלפה</string>
<!-- ProfileSwitch-->
<string name="zerovalueinprofile">פרופיל לא חוקי: %1$s</string>
<!-- Temptarget-->
<string name="mins">%1$d דק\'</string>
<!-- TDD-->
<string name="tddformat"><![CDATA[<b>%1$s:</b> ∑: <b>%2$.2f יחידות</b> בולוס: <b>%3$.2f יחידות</b> בזאלי: <b>%4$.2f יחידות(%5$.0f%%)</b>]]></string>
<string name="tddwithcarbsformat"><![CDATA[<b>%1$s:</b> ∑: <b>%2$.2f יחידות</b> בולוס: <b>%3$.2f יחידות</b> בזאלי: <b>%4$.2f יחידות(%5$.0f%%)</b> פחמ: <b>%6$.0f גרם</b>]]></string>
<!-- Translator-->
<string name="careportal_bgcheck">בדיקת רמת סוכר בדם</string>
<string name="careportal_mbg">רמת סוכר ידנית או כיול</string>
<string name="careportal_announcement">הודעה</string>
<string name="careportal_note">הערה</string>
<string name="careportal_question">שאלה</string>
<string name="careportal_exercise">פעילות גופנית</string>
<string name="careportal_pumpsitechange">החלפת פרפרית</string>
<string name="careportal_cgmsensorinsert">חיבור סנסור</string>
<string name="careportal_cgmsensorstart">התחלת סנסור חדש</string>
<string name="careportal_insulincartridgechange">החלפת מחסנית אינסולין</string>
<string name="careportal_profileswitch">החלפת פרופיל</string>
<string name="careportal_snackbolus">בולוס חטיף</string>
<string name="careportal_mealbolus">בולוס ארוחה</string>
<string name="careportal_correctionbolus">בולוס תיקון</string>
<string name="careportal_combobolus">בולוס משולב</string>
<string name="careportal_tempbasalstart">התחלת בזאלי זמני</string>
<string name="careportal_tempbasalend">סיום בזאלי זמני</string>
<string name="careportal_carbscorrection">תיקון פחמימות</string>
<string name="careportal_openapsoffline">OpenAPS במצב לא מקוון</string>
<string name="careportal_pumpbatterychange">החלפת סוללת משאבה</string>
<string name="careportal_temporarytarget">ערך מטרה זמני</string>
<string name="careportal_temporarytargetcancel">ביטול ערך מטרה זמני</string>
<string name="glucosetype_finger">אצבע</string>
<string name="glucosetype_sensor">חיישן</string>
<string name="manual">ידני</string>
<string name="unknown">לא ידוע</string>
<!-- Command-->
<string name="connectiontimedout">החיבור חרג ממגבלת הזמן</string>
<!-- PumpEnactResult-->
<string name="enacted">נקבע</string>
<string name="comment">תגובה</string>
<string name="success">הצלחה</string>
<string name="percent">אחוז</string>
<string name="absolute">מוחלט</string>
<string name="configbuilder_insulin">אינסולין</string>
<string name="insulin_unit_shortname">יחידות</string>
<string name="waitingforpumpresult">ממתין לתוצאות</string>
<string name="smb_shortname">SMB</string>
<!-- CarbsReq-->
<string name="carbsreq">%1$d גר\' פחמימות דרושות ב-%2$d הדקות הקרובות</string>
<!-- TDDStatsActivity-->
<string name="stats">סטטיסטיקה</string>
<string name="cumulative_tdd">מינון יומי מצטבר (TDD)</string>
<string name="expweight">TDD משוקלל אקספוננציאלי</string>
<string name="basalrate">בזאלי</string>
<string name="bolus">בולוס</string>
<string name="tdd">מינון יומי כולל (TDD)</string>
<string name="ratio">יחס</string>
<string name="amount_days"># ימים</string>
<string name="weight">משקל</string>
<string name="warning_Message">שימוש בבולוס למילוי / פריימינג עשוי לגרום לחוסר דיוק!</string>
<string name="olddata_Message">הנתונים ישנים. לרענון לחצו \"טען מחדש\"</string>
<string name="tbb">סה\"כ בזאלי בסיסי</string>
<string name="tbb2">סה\"כ בזאלי בסיסי * 2</string>
<!-- Ntp-->
<string name="timedetection">זיהוי שעה</string>
<string name="format_hour_minute">%1$d ש\' %2$d דק\'</string>
<!-- PumoCommon - Pump Abstract -->
<string name="pump_operation_not_supported_by_pump_driver">הפעולה לא נתמכת ע\"י המשאבה ו\או מנהל התקן.</string>
<string name="pump_operation_not_yet_supported_by_pump">הפעולה עוד לא נתמכת על ידי המשאבה.</string>
<string name="common_resultok">אישור</string>
<!-- PumoCommon - Pump Status -->
<string name="pump_status_never_contacted">מעולם לא נוצר קשר</string>
<string name="pump_status_waking_up">מתעורר</string>
<string name="pump_status_error_comm">שגיאת תקשורת</string>
<string name="pump_status_timeout_comm">חריגה ממגבלת הזמן בתקשורת</string>
<string name="pump_status_pump_unreachable">המשאבה לא זמינה</string>
<string name="pump_status_invalid_config">קונפיגורציה לא חוקית</string>
<string name="pump_status_active">פעיל</string>
<string name="pump_status_sleeping">ישן</string>
<!-- PumpCommon - History Group -->
<string name="history_group_basal">בזאלים</string>
<string name="history_group_configuration">קונפיגורציות</string>
<string name="history_group_notification">התראות</string>
<string name="history_group_statistic">סטטיסטיקה</string>
<string name="history_group_unknown">לא ידועים</string>
<string name="history_group_all">כל</string>
<string name="history_group_bolus">בולוסים</string>
<string name="history_group_prime">מילוי</string>
<string name="history_group_alarm">התראות</string>
<string name="history_group_glucose">גלוקוז</string>
<!-- <string name="medtronic_pump_status_never_contacted">Never contacted</string>-->
<!-- <string name="medtronic_pump_status_waking_up">Waking up</string>-->
<!-- <string name="medtronic_pump_status_error_comm">Error with communication</string>-->

View file

@ -170,7 +170,6 @@
<string name="waitingforpumpresult">Laukiama rezultato</string>
<string name="smb_shortname">SMB</string>
<!-- CarbsReq-->
<string name="carbsreq">Būtina suvartoti %d g papildomų AV per %d min</string>
<!-- TDDStatsActivity-->
<string name="stats">Statistika</string>
<string name="cumulative_tdd">BPD viso</string>

View file

@ -170,7 +170,6 @@
<string name="waitingforpumpresult">Wachtend op resultaat</string>
<string name="smb_shortname">SMB</string>
<!-- CarbsReq-->
<string name="carbsreq">%d g extra koolhydraten nodig binnen %d minuten</string>
<!-- TDDStatsActivity-->
<string name="stats">Statistieken</string>
<string name="cumulative_tdd">Cumulatieve TDD</string>

View file

@ -170,7 +170,7 @@
<string name="waitingforpumpresult">Venter på resultat</string>
<string name="smb_shortname">SMB</string>
<!-- CarbsReq-->
<string name="carbsreq">%d g ekstra karbo kreves innen %d minutter</string>
<string name="carbsreq">%1$d g ekstra karbohydrater kreves innen %2$d minutter</string>
<!-- TDDStatsActivity-->
<string name="stats">Statistikk</string>
<string name="cumulative_tdd">Akkumulert TDD</string>

Some files were not shown because too many files have changed in this diff Show more