This commit is contained in:
Milos Kozak 2020-07-09 18:58:58 +02:00
commit 1d8120d051
56 changed files with 811 additions and 77 deletions

View file

@ -68,6 +68,7 @@
<activity android:name=".plugins.general.maintenance.activities.PrefImportListActivity" /> <activity android:name=".plugins.general.maintenance.activities.PrefImportListActivity" />
<activity android:name=".historyBrowser.HistoryBrowseActivity" /> <activity android:name=".historyBrowser.HistoryBrowseActivity" />
<activity android:name=".activities.SurveyActivity" /> <activity android:name=".activities.SurveyActivity" />
<activity android:name=".activities.ProfileHelperActivity" />
<activity android:name=".activities.StatsActivity" /> <activity android:name=".activities.StatsActivity" />
<!-- Receive new BG readings from other local apps --> <!-- Receive new BG readings from other local apps -->

View file

@ -27,6 +27,7 @@ import androidx.viewpager2.widget.ViewPager2
import com.google.android.material.tabs.TabLayoutMediator import com.google.android.material.tabs.TabLayoutMediator
import com.joanzapata.iconify.Iconify import com.joanzapata.iconify.Iconify
import com.joanzapata.iconify.fonts.FontAwesomeModule import com.joanzapata.iconify.fonts.FontAwesomeModule
import info.nightscout.androidaps.activities.ProfileHelperActivity
import info.nightscout.androidaps.activities.NoSplashAppCompatActivity import info.nightscout.androidaps.activities.NoSplashAppCompatActivity
import info.nightscout.androidaps.activities.PreferencesActivity import info.nightscout.androidaps.activities.PreferencesActivity
import info.nightscout.androidaps.activities.SingleFragmentActivity import info.nightscout.androidaps.activities.SingleFragmentActivity
@ -49,10 +50,10 @@ import info.nightscout.androidaps.plugins.general.smsCommunicator.SmsCommunicato
import info.nightscout.androidaps.setupwizard.SetupWizardActivity import info.nightscout.androidaps.setupwizard.SetupWizardActivity
import info.nightscout.androidaps.utils.AndroidPermission import info.nightscout.androidaps.utils.AndroidPermission
import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.androidaps.utils.FabricPrivacy
import info.nightscout.androidaps.utils.locale.LocaleHelper
import info.nightscout.androidaps.utils.alertDialogs.OKDialog import info.nightscout.androidaps.utils.alertDialogs.OKDialog
import info.nightscout.androidaps.utils.buildHelper.BuildHelper import info.nightscout.androidaps.utils.buildHelper.BuildHelper
import info.nightscout.androidaps.utils.extensions.isRunningRealPumpTest import info.nightscout.androidaps.utils.extensions.isRunningRealPumpTest
import info.nightscout.androidaps.utils.locale.LocaleHelper
import info.nightscout.androidaps.utils.protection.ProtectionCheck import info.nightscout.androidaps.utils.protection.ProtectionCheck
import info.nightscout.androidaps.utils.resources.IconsProvider import info.nightscout.androidaps.utils.resources.IconsProvider
import info.nightscout.androidaps.utils.resources.ResourceHelper import info.nightscout.androidaps.utils.resources.ResourceHelper
@ -324,6 +325,11 @@ class MainActivity : NoSplashAppCompatActivity() {
return true return true
} }
*/ */
R.id.nav_defaultprofile -> {
startActivity(Intent(this, ProfileHelperActivity::class.java))
return true
}
R.id.nav_stats -> { R.id.nav_stats -> {
startActivity(Intent(this, StatsActivity::class.java)) startActivity(Intent(this, StatsActivity::class.java))
return true return true

View file

@ -0,0 +1,66 @@
package info.nightscout.androidaps.activities
import android.os.Bundle
import info.nightscout.androidaps.R
import info.nightscout.androidaps.data.defaultProfile.DefaultProfile
import info.nightscout.androidaps.dialogs.ProfileViewerDialog
import info.nightscout.androidaps.interfaces.ProfileFunction
import info.nightscout.androidaps.logging.AAPSLogger
import info.nightscout.androidaps.utils.DateUtil
import info.nightscout.androidaps.utils.ToastUtils
import info.nightscout.androidaps.utils.resources.ResourceHelper
import info.nightscout.androidaps.utils.stats.TddCalculator
import kotlinx.android.synthetic.main.activity_profilehelper.*
import java.text.DecimalFormat
import javax.inject.Inject
class ProfileHelperActivity : NoSplashAppCompatActivity() {
@Inject lateinit var aapsLogger: AAPSLogger
@Inject lateinit var resourceHelper: ResourceHelper
@Inject lateinit var tddCalculator: TddCalculator
@Inject lateinit var profileFunction: ProfileFunction
@Inject lateinit var defaultProfile: DefaultProfile
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_profilehelper)
profilehelper_age.setParams(15.0, 1.0, 80.0, 1.0, DecimalFormat("0"), false, null)
profilehelper_weight.setParams(50.0, 5.0, 150.0, 1.0, DecimalFormat("0"), false, null)
profilehelper_tdd.setParams(50.0, 3.0, 200.0, 1.0, DecimalFormat("0"), false, null)
profilehelper_tdds.text = tddCalculator.stats()
profilehelper_profile.setOnClickListener {
val age = profilehelper_age.value
val weight = profilehelper_weight.value
val tdd = profilehelper_tdd.value
if (age < 1 || age > 120) {
ToastUtils.showToastInUiThread(this, R.string.invalidage)
return@setOnClickListener
}
if ((weight < 5 || weight > 150) && tdd == 0.0) {
ToastUtils.showToastInUiThread(this, R.string.invalidweight)
return@setOnClickListener
}
if ((tdd < 5 || tdd > 150) && weight == 0.0) {
ToastUtils.showToastInUiThread(this, R.string.invalidweight)
return@setOnClickListener
}
profileFunction.getProfile()?.let { runningProfile ->
val profile = defaultProfile.profile(age, tdd, weight, profileFunction.getUnits())
ProfileViewerDialog().also { pvd ->
pvd.arguments = Bundle().also {
it.putLong("time", DateUtil.now())
it.putInt("mode", ProfileViewerDialog.Mode.PROFILE_COMPARE.ordinal)
it.putString("customProfile", runningProfile.data.toString())
it.putString("customProfile2", profile.data.toString())
it.putString("customProfileUnits", profile.units)
it.putString("customProfileName", "Age: $age TDD: $tdd Weight: $weight")
}
}.show(supportFragmentManager, "ProfileViewDialog")
}
}
}
}

View file

@ -8,9 +8,9 @@ import info.nightscout.androidaps.R
import info.nightscout.androidaps.data.defaultProfile.DefaultProfile import info.nightscout.androidaps.data.defaultProfile.DefaultProfile
import info.nightscout.androidaps.dialogs.ProfileViewerDialog import info.nightscout.androidaps.dialogs.ProfileViewerDialog
import info.nightscout.androidaps.interfaces.ActivePluginProvider import info.nightscout.androidaps.interfaces.ActivePluginProvider
import info.nightscout.androidaps.interfaces.ProfileFunction
import info.nightscout.androidaps.logging.AAPSLogger import info.nightscout.androidaps.logging.AAPSLogger
import info.nightscout.androidaps.logging.LTag import info.nightscout.androidaps.logging.LTag
import info.nightscout.androidaps.interfaces.ProfileFunction
import info.nightscout.androidaps.utils.ActivityMonitor import info.nightscout.androidaps.utils.ActivityMonitor
import info.nightscout.androidaps.utils.DateUtil import info.nightscout.androidaps.utils.DateUtil
import info.nightscout.androidaps.utils.InstanceId import info.nightscout.androidaps.utils.InstanceId
@ -19,7 +19,7 @@ import info.nightscout.androidaps.utils.ToastUtils
import info.nightscout.androidaps.utils.resources.ResourceHelper import info.nightscout.androidaps.utils.resources.ResourceHelper
import info.nightscout.androidaps.utils.stats.TddCalculator import info.nightscout.androidaps.utils.stats.TddCalculator
import info.nightscout.androidaps.utils.stats.TirCalculator import info.nightscout.androidaps.utils.stats.TirCalculator
import kotlinx.android.synthetic.main.survey_activity.* import kotlinx.android.synthetic.main.activity_survey.*
import javax.inject.Inject import javax.inject.Inject
class SurveyActivity : NoSplashAppCompatActivity() { class SurveyActivity : NoSplashAppCompatActivity() {
@ -34,7 +34,7 @@ class SurveyActivity : NoSplashAppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) { override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState) super.onCreate(savedInstanceState)
setContentView(R.layout.survey_activity) setContentView(R.layout.activity_survey)
survey_id.text = InstanceId.instanceId() survey_id.text = InstanceId.instanceId()
@ -62,16 +62,19 @@ class SurveyActivity : NoSplashAppCompatActivity() {
ToastUtils.showToastInUiThread(this, R.string.invalidweight) ToastUtils.showToastInUiThread(this, R.string.invalidweight)
return@setOnClickListener return@setOnClickListener
} }
val profile = defaultProfile.profile(age, tdd, weight, profileFunction.getUnits()) profileFunction.getProfile()?.let { runningProfile ->
val args = Bundle() val profile = defaultProfile.profile(age, tdd, weight, profileFunction.getUnits())
args.putLong("time", DateUtil.now()) ProfileViewerDialog().also { pvd ->
args.putInt("mode", ProfileViewerDialog.Mode.CUSTOM_PROFILE.ordinal) pvd.arguments = Bundle().also {
args.putString("customProfile", profile.data.toString()) it.putLong("time", DateUtil.now())
args.putString("customProfileUnits", profile.units) it.putInt("mode", ProfileViewerDialog.Mode.PROFILE_COMPARE.ordinal)
args.putString("customProfileName", "Age: $age TDD: $tdd Weight: $weight") it.putString("customProfile", runningProfile.data.toString())
val pvd = ProfileViewerDialog() it.putString("customProfile2", profile.data.toString())
pvd.arguments = args it.putString("customProfileUnits", profile.units)
pvd.show(supportFragmentManager, "ProfileViewDialog") it.putString("customProfileName", "Age: $age TDD: $tdd Weight: $weight")
}
}.show(supportFragmentManager, "ProfileViewDialog")
}
} }
survey_submit.setOnClickListener { survey_submit.setOnClickListener {

View file

@ -38,5 +38,6 @@ abstract class ActivitiesModule {
@ContributesAndroidInjector abstract fun contributesSmsCommunicatorOtpActivity(): SmsCommunicatorOtpActivity @ContributesAndroidInjector abstract fun contributesSmsCommunicatorOtpActivity(): SmsCommunicatorOtpActivity
@ContributesAndroidInjector abstract fun contributesStatsActivity(): StatsActivity @ContributesAndroidInjector abstract fun contributesStatsActivity(): StatsActivity
@ContributesAndroidInjector abstract fun contributesSurveyActivity(): SurveyActivity @ContributesAndroidInjector abstract fun contributesSurveyActivity(): SurveyActivity
@ContributesAndroidInjector abstract fun contributesDefaultProfileActivity(): ProfileHelperActivity
@ContributesAndroidInjector abstract fun contributesPrefImportListActivity(): PrefImportListActivity @ContributesAndroidInjector abstract fun contributesPrefImportListActivity(): PrefImportListActivity
} }

View file

@ -76,7 +76,7 @@ class TempTargetDialog : DialogFragmentWithDate() {
val adapterReason = ArrayAdapter(context, R.layout.spinner_centered, reasonList) val adapterReason = ArrayAdapter(context, R.layout.spinner_centered, reasonList)
overview_temptarget_reason.adapter = adapterReason overview_temptarget_reason.adapter = adapterReason
overview_temptarget_reason.onItemSelectedListener = object : AdapterView.OnItemSelectedListener { overview_temptarget_reason.onItemSelectedListener = object : AdapterView.OnItemSelectedListener {
override fun onItemSelected(parent: AdapterView<*>?, view: View, position: Int, id: Long) { override fun onItemSelected(parent: AdapterView<*>?, view: View?, position: Int, id: Long) {
val defaultDuration: Double val defaultDuration: Double
val defaultTarget: Double val defaultTarget: Double
when (reasonList[position]) { when (reasonList[position]) {

View file

@ -74,7 +74,7 @@ class Comparator(injector: HasAndroidInjector) : Element(injector) {
spinnerParams.setMargins(0, resourceHelper.dpToPx(4), 0, resourceHelper.dpToPx(4)) spinnerParams.setMargins(0, resourceHelper.dpToPx(4), 0, resourceHelper.dpToPx(4))
spinner.layoutParams = spinnerParams spinner.layoutParams = spinnerParams
spinner.onItemSelectedListener = object : AdapterView.OnItemSelectedListener { spinner.onItemSelectedListener = object : AdapterView.OnItemSelectedListener {
override fun onItemSelected(parent: AdapterView<*>?, view: View, position: Int, id: Long) { override fun onItemSelected(parent: AdapterView<*>?, view: View?, position: Int, id: Long) {
value = Compare.values()[position] value = Compare.values()[position]
} }

View file

@ -48,7 +48,7 @@ class ComparatorConnect(injector: HasAndroidInjector) : Element(injector) {
spinnerParams.setMargins(0, resourceHelper.dpToPx(4), 0, resourceHelper.dpToPx(4)) spinnerParams.setMargins(0, resourceHelper.dpToPx(4), 0, resourceHelper.dpToPx(4))
spinner.layoutParams = spinnerParams spinner.layoutParams = spinnerParams
spinner.onItemSelectedListener = object : AdapterView.OnItemSelectedListener { spinner.onItemSelectedListener = object : AdapterView.OnItemSelectedListener {
override fun onItemSelected(parent: AdapterView<*>?, view: View, position: Int, id: Long) { override fun onItemSelected(parent: AdapterView<*>?, view: View?, position: Int, id: Long) {
value = Compare.values()[position] value = Compare.values()[position]
} }

View file

@ -48,7 +48,7 @@ class ComparatorExists(injector: HasAndroidInjector) : Element(injector) {
spinnerParams.setMargins(0, resourceHelper.dpToPx(4), 0, resourceHelper.dpToPx(4)) spinnerParams.setMargins(0, resourceHelper.dpToPx(4), 0, resourceHelper.dpToPx(4))
spinner.layoutParams = spinnerParams spinner.layoutParams = spinnerParams
spinner.onItemSelectedListener = object : AdapterView.OnItemSelectedListener { spinner.onItemSelectedListener = object : AdapterView.OnItemSelectedListener {
override fun onItemSelected(parent: AdapterView<*>?, view: View, position: Int, id: Long) { override fun onItemSelected(parent: AdapterView<*>?, view: View?, position: Int, id: Long) {
value = Compare.values()[position] value = Compare.values()[position]
} }

View file

@ -76,7 +76,7 @@ class InputDelta(injector: HasAndroidInjector) : Element(injector) {
spinnerParams.setMargins(0, resourceHelper.dpToPx(4), 0, resourceHelper.dpToPx(4)) spinnerParams.setMargins(0, resourceHelper.dpToPx(4), 0, resourceHelper.dpToPx(4))
spinner.layoutParams = spinnerParams spinner.layoutParams = spinnerParams
spinner.onItemSelectedListener = object : AdapterView.OnItemSelectedListener { spinner.onItemSelectedListener = object : AdapterView.OnItemSelectedListener {
override fun onItemSelected(parent: AdapterView<*>?, view: View, position: Int, id: Long) { override fun onItemSelected(parent: AdapterView<*>?, view: View?, position: Int, id: Long) {
deltaType = DeltaType.values()[position] deltaType = DeltaType.values()[position]
} }

View file

@ -38,7 +38,7 @@ class InputDropdownMenu(injector: HasAndroidInjector) : Element(injector) {
).also { it.setMargins(0, resourceHelper.dpToPx(4), 0, resourceHelper.dpToPx(4)) } ).also { it.setMargins(0, resourceHelper.dpToPx(4), 0, resourceHelper.dpToPx(4)) }
spinner.onItemSelectedListener = object : AdapterView.OnItemSelectedListener { spinner.onItemSelectedListener = object : AdapterView.OnItemSelectedListener {
override fun onItemSelected(parent: AdapterView<*>?, view: View, position: Int, id: Long) { override fun onItemSelected(parent: AdapterView<*>?, view: View?, position: Int, id: Long) {
setValue(itemList[position].toString()) setValue(itemList[position].toString())
} }

View file

@ -62,7 +62,7 @@ class InputLocationMode(injector: HasAndroidInjector) : Element(injector) {
spinnerParams.setMargins(0, resourceHelper.dpToPx(4), 0, resourceHelper.dpToPx(4)) spinnerParams.setMargins(0, resourceHelper.dpToPx(4), 0, resourceHelper.dpToPx(4))
spinner.layoutParams = spinnerParams spinner.layoutParams = spinnerParams
spinner.onItemSelectedListener = object : AdapterView.OnItemSelectedListener { spinner.onItemSelectedListener = object : AdapterView.OnItemSelectedListener {
override fun onItemSelected(parent: AdapterView<*>?, view: View, position: Int, id: Long) { override fun onItemSelected(parent: AdapterView<*>?, view: View?, position: Int, id: Long) {
value = Mode.values()[position] value = Mode.values()[position]
} }

View file

@ -36,7 +36,7 @@ class InputProfileName(injector: HasAndroidInjector) : Element(injector) {
spinnerParams.setMargins(0, resourceHelper.dpToPx(4), 0, resourceHelper.dpToPx(4)) spinnerParams.setMargins(0, resourceHelper.dpToPx(4), 0, resourceHelper.dpToPx(4))
spinner.layoutParams = spinnerParams spinner.layoutParams = spinnerParams
spinner.onItemSelectedListener = object : AdapterView.OnItemSelectedListener { spinner.onItemSelectedListener = object : AdapterView.OnItemSelectedListener {
override fun onItemSelected(parent: AdapterView<*>?, view: View, position: Int, id: Long) { override fun onItemSelected(parent: AdapterView<*>?, view: View?, position: Int, id: Long) {
value = profileList[position].toString() value = profileList[position].toString()
} }

View file

@ -160,7 +160,7 @@ class TriggerConnector(injector: HasAndroidInjector) : Trigger(injector) {
params.weight = 1.0f params.weight = 1.0f
spinner.layoutParams = params spinner.layoutParams = params
spinner.onItemSelectedListener = object : AdapterView.OnItemSelectedListener { spinner.onItemSelectedListener = object : AdapterView.OnItemSelectedListener {
override fun onItemSelected(parent: AdapterView<*>?, view: View, position: Int, id: Long) { override fun onItemSelected(parent: AdapterView<*>?, view: View?, position: Int, id: Long) {
setType(Type.values()[position]) setType(Type.values()[position])
} }

View file

@ -656,7 +656,7 @@ class OverviewFragment : DaggerFragment(), View.OnClickListener, OnLongClickList
// If the target is not the same as set in the profile then oref has overridden it // If the target is not the same as set in the profile then oref has overridden it
val targetUsed = lastRun?.constraintsProcessed?.targetBG ?: 0.0 val targetUsed = lastRun?.constraintsProcessed?.targetBG ?: 0.0
if (targetUsed != 0.0 && profile.targetMgdl != targetUsed) { if (targetUsed != 0.0 && abs(profile.targetMgdl-targetUsed) > 0.01) {
aapsLogger.debug("Adjusted target. Profile: ${profile.targetMgdl} APS: $targetUsed") aapsLogger.debug("Adjusted target. Profile: ${profile.targetMgdl} APS: $targetUsed")
overview_temptarget?.text = Profile.toTargetRangeString(targetUsed, targetUsed, Constants.MGDL, units) overview_temptarget?.text = Profile.toTargetRangeString(targetUsed, targetUsed, Constants.MGDL, units)
overview_temptarget?.setTextColor(resourceHelper.gc(R.color.ribbonTextWarning)) overview_temptarget?.setTextColor(resourceHelper.gc(R.color.ribbonTextWarning))

View file

@ -104,7 +104,7 @@ class EditQuickWizardDialog : DaggerDialogFragment() {
overview_editquickwizard_usetemptarget_spinner.setSelection(entry.useTempTarget()) overview_editquickwizard_usetemptarget_spinner.setSelection(entry.useTempTarget())
overview_editquickwizard_usecob_spinner.onItemSelectedListener = object : AdapterView.OnItemSelectedListener { overview_editquickwizard_usecob_spinner.onItemSelectedListener = object : AdapterView.OnItemSelectedListener {
override fun onItemSelected(parent: AdapterView<*>, view: View, position: Int, id: Long) = processCob() override fun onItemSelected(parent: AdapterView<*>, view: View?, position: Int, id: Long) = processCob()
override fun onNothingSelected(parent: AdapterView<*>) {} override fun onNothingSelected(parent: AdapterView<*>) {}
} }
processCob() processCob()

View file

@ -54,6 +54,7 @@ class TddCalculator @Inject constructor(
val midnight = MidnightTime.calc(t.date) val midnight = MidnightTime.calc(t.date)
val tdd = result[midnight] ?: TDD(midnight, 0.0, 0.0, 0.0) val tdd = result[midnight] ?: TDD(midnight, 0.0, 0.0, 0.0)
tdd.bolus += t.insulin tdd.bolus += t.insulin
tdd.carbs += t.carbs
result.put(midnight, tdd) result.put(midnight, tdd)
} }
@ -81,10 +82,12 @@ class TddCalculator @Inject constructor(
totalTdd.basal += tdd.basal totalTdd.basal += tdd.basal
totalTdd.bolus += tdd.bolus totalTdd.bolus += tdd.bolus
totalTdd.total += tdd.total totalTdd.total += tdd.total
totalTdd.carbs += tdd.carbs
} }
totalTdd.basal /= tdds.size().toDouble() totalTdd.basal /= tdds.size().toDouble()
totalTdd.bolus /= tdds.size().toDouble() totalTdd.bolus /= tdds.size().toDouble()
totalTdd.total /= tdds.size().toDouble() totalTdd.total /= tdds.size().toDouble()
totalTdd.carbs /= tdds.size().toDouble()
return totalTdd return totalTdd
} }
@ -93,16 +96,16 @@ class TddCalculator @Inject constructor(
val averageTdd = averageTDD(tdds) val averageTdd = averageTDD(tdds)
return HtmlHelper.fromHtml( return HtmlHelper.fromHtml(
"<b>" + resourceHelper.gs(R.string.tdd) + ":</b><br>" + "<b>" + resourceHelper.gs(R.string.tdd) + ":</b><br>" +
toText(tdds) + toText(tdds, true) +
"<b>" + resourceHelper.gs(R.string.average) + ":</b><br>" + "<b>" + resourceHelper.gs(R.string.average) + ":</b><br>" +
averageTdd.toText(resourceHelper, tdds.size()) averageTdd.toText(resourceHelper, tdds.size(), true)
) )
} }
private fun toText(tdds: LongSparseArray<TDD>): String { private fun toText(tdds: LongSparseArray<TDD>, includeCarbs: Boolean): String {
var t = "" var t = ""
for (i in 0 until tdds.size()) { for (i in 0 until tdds.size()) {
t += "${tdds.valueAt(i).toText(resourceHelper, dateUtil)}<br>" t += "${tdds.valueAt(i).toText(resourceHelper, dateUtil, includeCarbs)}<br>"
} }
return t return t
} }

View file

@ -0,0 +1,96 @@
<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".activities.SurveyActivity">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<TableLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TableRow
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:id="@+id/profilehelper_age_label"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="10dp"
android:labelFor="@+id/profilehelper_age"
android:text="@string/age"
android:textAppearance="@style/TextAppearance.AppCompat.Medium" />
<info.nightscout.androidaps.utils.NumberPicker
android:id="@+id/profilehelper_age"
android:layout_width="130dp"
android:layout_height="40dp" />
</TableRow>
<TableRow
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:id="@+id/profilehelper_weigth_label"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="10dp"
android:labelFor="@+id/profilehelper_weight"
android:text="@string/weight_label"
android:textAppearance="@style/TextAppearance.AppCompat.Medium" />
<info.nightscout.androidaps.utils.NumberPicker
android:id="@+id/profilehelper_weight"
android:layout_width="130dp"
android:layout_height="40dp" />
</TableRow>
<TableRow
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:id="@+id/profilehelper_tdd_label"
android:layout_width="150dp"
android:layout_height="wrap_content"
android:layout_marginStart="10dp"
android:labelFor="@+id/profilehelper_weight"
android:text="@string/tdd_total"
android:textAppearance="@style/TextAppearance.AppCompat.Medium" />
<info.nightscout.androidaps.utils.NumberPicker
android:id="@+id/profilehelper_tdd"
android:layout_width="130dp"
android:layout_height="40dp" />
</TableRow>
</TableLayout>
<TextView
android:id="@+id/profilehelper_tdds"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="10dp"
android:textAppearance="@style/TextAppearance.AppCompat.Small" />
<Button
android:id="@+id/profilehelper_profile"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/comapareprofile" />
</LinearLayout>
</ScrollView>

View file

@ -27,6 +27,10 @@
app:showAsAction="never" app:showAsAction="never"
android:title="@string/nav_survey" /> android:title="@string/nav_survey" />
--> -->
<item
android:id="@+id/nav_defaultprofile"
app:showAsAction="never"
android:title="@string/nav_profilehelper" />
<item <item
android:id="@+id/nav_about" android:id="@+id/nav_about"
app:showAsAction="never" app:showAsAction="never"

View file

@ -196,7 +196,7 @@
<string name="metadata_label_encryption">Криптиране</string> <string name="metadata_label_encryption">Криптиране</string>
<string name="metadata_format_old">Стар формат</string> <string name="metadata_format_old">Стар формат</string>
<string name="metadata_format_new">Нов формат</string> <string name="metadata_format_new">Нов формат</string>
<string name="metadata_format_debug">Нов формат (некриптирани)</string> <string name="metadata_format_debug">Нов формат (незащитен)</string>
<string name="metadata_format_other">Непознат формат</string> <string name="metadata_format_other">Непознат формат</string>
<string name="prefdecrypt_settings_tampered">Файлът с настройки е преправян</string> <string name="prefdecrypt_settings_tampered">Файлът с настройки е преправян</string>
<string name="prefdecrypt_settings_secure">Файлът с настройки е сигурен</string> <string name="prefdecrypt_settings_secure">Файлът с настройки е сигурен</string>
@ -230,8 +230,8 @@
<string name="smscommunicator_stoppedsms">Отдалечен SMS контрол е изключен. Можете да го включите от AndroidAPS телефона.</string> <string name="smscommunicator_stoppedsms">Отдалечен SMS контрол е изключен. Можете да го включите от AndroidAPS телефона.</string>
<string name="smscommunicator_calibrationreplywithcode">За да изпратите калибрация %1$.2f отговорете с код %2$s</string> <string name="smscommunicator_calibrationreplywithcode">За да изпратите калибрация %1$.2f отговорете с код %2$s</string>
<string name="smscommunicator_bolusfailed">Болус отказан</string> <string name="smscommunicator_bolusfailed">Болус отказан</string>
<string name="smscommunicator_remotebolusmindistance_summary">Минимален брой минути, в които трябва да мине между един отдалечен болус и следващия</string> <string name="smscommunicator_remotebolusmindistance_summary">Минимално време в минути, което трябва да е изминало след отдалечен болус, преди да може да бъде доставен следващият</string>
<string name="smscommunicator_remotebolusmindistance">Колко най-малко минути трябва да минат два болуса</string> <string name="smscommunicator_remotebolusmindistance">Колко най-малко минути трябва да минат между доставката на два болуса</string>
<string name="smscommunicator_remotebolusmindistance_caveat">За вашата сигурност, променете тази настройка, трябва да добавите най-малко 2 телефонни номера.</string> <string name="smscommunicator_remotebolusmindistance_caveat">За вашата сигурност, променете тази настройка, трябва да добавите най-малко 2 телефонни номера.</string>
<string name="bolusdelivered">Болус от %1$.2fЕ доставен успешно</string> <string name="bolusdelivered">Болус от %1$.2fЕ доставен успешно</string>
<string name="bolusrequested">Ще стартира %1$.2fЕ болус</string> <string name="bolusrequested">Ще стартира %1$.2fЕ болус</string>
@ -451,7 +451,7 @@
<string name="statuslights_bage_warning">Аларма при възраст на батерия над [часа]</string> <string name="statuslights_bage_warning">Аларма при възраст на батерия над [часа]</string>
<string name="statuslights_bage_critical">Праг за критична възраст на батерията над [часа]</string> <string name="statuslights_bage_critical">Праг за критична възраст на батерията над [часа]</string>
<string name="statuslights_res_warning">Ниво за аларма за останал инсулин в резервоара [Е]</string> <string name="statuslights_res_warning">Ниво за аларма за останал инсулин в резервоара [Е]</string>
<string name="statuslights_res_critical">Критично ниво на останал инсулин в резервоар [Е]</string> <string name="statuslights_res_critical">Предупреждение за критично ниво на останал инсулин в резервоар [Е]</string>
<string name="statuslights_bat_warning">Аларма при заряд на батерия под [%]</string> <string name="statuslights_bat_warning">Аларма при заряд на батерия под [%]</string>
<string name="statuslights_bat_critical">Критично ниво на батерията под [%]</string> <string name="statuslights_bat_critical">Критично ниво на батерията под [%]</string>
<string name="prediction_shortname">Предв</string> <string name="prediction_shortname">Предв</string>
@ -513,7 +513,7 @@
<string name="mdtp_cancel">Откажи</string> <string name="mdtp_cancel">Откажи</string>
<string name="notloadedplugins">Не всички профили са заредени!</string> <string name="notloadedplugins">Не всички профили са заредени!</string>
<string name="valuesnotstored">Стойностите не са запазени!</string> <string name="valuesnotstored">Стойностите не са запазени!</string>
<string name="ns_localbroadcasts">Включете излъчване към други приложения (като xDrip). Не включвайте, ако имате повече от един AAPS или имате инсталиран NSClient!</string> <string name="ns_localbroadcasts">Активирайте предаване на данни към други приложения (като xDrip). Не активирайте, ако имате повече от един AAPS или имате инсталиран NSClient!</string>
<string name="ns_localbroadcasts_title">Разреши локално предаване на данни</string> <string name="ns_localbroadcasts_title">Разреши локално предаване на данни</string>
<string name="careportal_activity_label">АКТИВНОСТ И ОБРАТНА ВРЪЗКА</string> <string name="careportal_activity_label">АКТИВНОСТ И ОБРАТНА ВРЪЗКА</string>
<string name="careportal_carbsandbolus_label">ХРАНА И БОЛУС</string> <string name="careportal_carbsandbolus_label">ХРАНА И БОЛУС</string>
@ -570,7 +570,7 @@
<string name="wear_detailed_delta_title">Показвай подробна делта</string> <string name="wear_detailed_delta_title">Показвай подробна делта</string>
<string name="wear_detailed_delta_summary">Показвай делта с още един десетичен знак</string> <string name="wear_detailed_delta_summary">Показвай делта с още един десетичен знак</string>
<string name="smbinterval_summary">Интервал между SMB в минути</string> <string name="smbinterval_summary">Интервал между SMB в минути</string>
<string name="smbmaxminutes">Максимум минути СМБ</string> <string name="smbmaxminutes">Максимум минути SMB</string>
<string name="smbmaxminutes_summary">Максимални минути за ограничаване на базала от SMB</string> <string name="smbmaxminutes_summary">Максимални минути за ограничаване на базала от SMB</string>
<string name="uamsmbmaxminutes">Максимум минути за отчитане на необявени хранения UAM</string> <string name="uamsmbmaxminutes">Максимум минути за отчитане на необявени хранения UAM</string>
<string name="uamsmbmaxminutes_summary">Максимални минути за ограничаване на базала при SMB за UAM</string> <string name="uamsmbmaxminutes_summary">Максимални минути за ограничаване на базала при SMB за UAM</string>
@ -663,9 +663,9 @@
<string name="wear_notifysmb_title">Уведомяване при SMB</string> <string name="wear_notifysmb_title">Уведомяване при SMB</string>
<string name="wear_notifysmb_summary">Покажи SMB на часовника като стандартен болус.</string> <string name="wear_notifysmb_summary">Покажи SMB на часовника като стандартен болус.</string>
<string name="ns_create_announcements_from_errors_title">Създаване на известие при грешки</string> <string name="ns_create_announcements_from_errors_title">Създаване на известие при грешки</string>
<string name="ns_create_announcements_from_carbs_req_title">Създаване на съобщения при предупреждения за нужни въглехидрати</string> <string name="ns_create_announcements_from_carbs_req_title">Създаване на известия при предупреждения за необходими въглехидрати</string>
<string name="ns_create_announcements_from_errors_summary">Създаване на Nightscout известие при грешки и локални аларми (също видими в Careportal - Treatments)</string> <string name="ns_create_announcements_from_errors_summary">Създаване на Nightscout известие при грешки и локални аларми (също видими в Careportal - Treatments)</string>
<string name="ns_create_announcements_from_carbs_req_summary">Създаване на Nightscout съобщения при аларма за нужни въглехидрати</string> <string name="ns_create_announcements_from_carbs_req_summary">Създаване на Nightscout известия при предупреждения за необходими въглехидрати</string>
<string name="wear_predictions_summary">Показвай прогнозините КЗ на часовника.</string> <string name="wear_predictions_summary">Показвай прогнозините КЗ на часовника.</string>
<string name="wear_predictions_title">Прогнозни КЗ</string> <string name="wear_predictions_title">Прогнозни КЗ</string>
<string name="data_choices">Избор на данни</string> <string name="data_choices">Избор на данни</string>
@ -1405,4 +1405,6 @@
<string name="omnipod_bolus_failed_uncertain">Не може да се провери статус на болус. Моля, уверете се, че вашият под е стартирал болус или го отменете.</string> <string name="omnipod_bolus_failed_uncertain">Не може да се провери статус на болус. Моля, уверете се, че вашият под е стартирал болус или го отменете.</string>
<string name="omnipod_rl_stats">Статистика на RL</string> <string name="omnipod_rl_stats">Статистика на RL</string>
<string name="omnipod_read_pulse_log_short">Pulse лог</string> <string name="omnipod_read_pulse_log_short">Pulse лог</string>
<string name="comapareprofile">Сравни с текущия профил</string>
<string name="nav_profilehelper">Профил съветник</string>
</resources> </resources>

View file

@ -1407,4 +1407,5 @@ Mache das nur, wenn AAPS nicht mehr mit dem Pod kommunizieren kann. Wenn dies no
<string name="omnipod_bolus_failed_uncertain">Erfolgreiche Bolusabgabe konnte nicht sicher ermittelt werden. Stelle sicher, dass der Pod Insulin abgibt oder brich den Bolus ab.</string> <string name="omnipod_bolus_failed_uncertain">Erfolgreiche Bolusabgabe konnte nicht sicher ermittelt werden. Stelle sicher, dass der Pod Insulin abgibt oder brich den Bolus ab.</string>
<string name="omnipod_rl_stats">RL Stats</string> <string name="omnipod_rl_stats">RL Stats</string>
<string name="omnipod_read_pulse_log_short">Pulse Log</string> <string name="omnipod_read_pulse_log_short">Pulse Log</string>
<string name="nav_profilehelper">Profil-Helfer</string>
</resources> </resources>

View file

@ -1339,7 +1339,10 @@
<string name="omnipod_driver_error_invalid_message_address">La comunicación ha fallado: se ha recibido un mensaje con una dirección no válida desde el Pod.</string> <string name="omnipod_driver_error_invalid_message_address">La comunicación ha fallado: se ha recibido un mensaje con una dirección no válida desde el Pod.</string>
<string name="omnipod_driver_error_message_decoding_failed">La comunicación ha fallado: no se ha podido descodificar el mensaje del Pod.</string> <string name="omnipod_driver_error_message_decoding_failed">La comunicación ha fallado: no se ha podido descodificar el mensaje del Pod.</string>
<string name="omnipod_driver_error_nonce_resync_failed">La comunicación ha fallado: nonce resync ha fallado.</string> <string name="omnipod_driver_error_nonce_resync_failed">La comunicación ha fallado: nonce resync ha fallado.</string>
<string name="omnipod_driver_error_nonce_out_of_sync">Comunicación fallida: nonce no sincronizada.</string>
<string name="omnipod_driver_error_not_enough_data">La comunicación ha fallado: no se han recibido suficientes datos del Pod.</string> <string name="omnipod_driver_error_not_enough_data">La comunicación ha fallado: no se han recibido suficientes datos del Pod.</string>
<string name="omnipod_driver_error_pod_fault">Un error de Pod (%1$03d %2$s) se ha detectado. Por favor, desactive su Pod e inicie uno nuevo.</string>
<string name="omnipod_driver_error_pod_returned_error_response">La comunicación ha fallado: el Pod ha devuelto una respuesta de error.</string>
<!-- Omnipod - Pod Mgmt --> <!-- Omnipod - Pod Mgmt -->
<string name="omnipod_pod_mgmt_title">Administración de Pod</string> <string name="omnipod_pod_mgmt_title">Administración de Pod</string>
<string name="omnipod_cmd_init_pod">Iniciar Pod</string> <string name="omnipod_cmd_init_pod">Iniciar Pod</string>
@ -1356,22 +1359,29 @@
<string name="omnipod_cmd_get_pod_info">Obtener información de Pod</string> <string name="omnipod_cmd_get_pod_info">Obtener información de Pod</string>
<string name="omnipod_cmd_set_time">Establecer hora</string> <string name="omnipod_cmd_set_time">Establecer hora</string>
<string name="omnipod_cmd_configure_alerts">Configurar alertas</string> <string name="omnipod_cmd_configure_alerts">Configurar alertas</string>
<string name="omnipod_cmd_acknowledge_alerts">Confirmar Alertas</string>
<string name="omnipod_cmd_suspend_delivery">Suspender la entrega</string> <string name="omnipod_cmd_suspend_delivery">Suspender la entrega</string>
<string name="omnipod_cmd_resume_delivery">Reanudar la entrega</string> <string name="omnipod_cmd_resume_delivery">Reanudar la entrega</string>
<string name="omnipod_cmd_unknown_entry">Entrada desconocida</string> <string name="omnipod_cmd_unknown_entry">Entrada desconocida</string>
<string name="omnipod_cmd_bolus_value">%1$.1fU</string> <string name="omnipod_cmd_bolus_value">%1$.1fU</string>
<string name="omnipod_cmd_bolus_value_with_carbs">%1$.1f U, CH=%2$.1f g</string> <string name="omnipod_cmd_bolus_value_with_carbs">%1$.1f U, CH=%2$.1f g</string>
<string name="omnipod_cmd_tbr_value">Tasa: %1$.1f U, Duración: %2$d min</string> <string name="omnipod_cmd_tbr_value">Tasa: %1$.1f U, Duración: %2$d min</string>
<string name="omnipod_cmd_reset_pod_desc">Si pulsa <b>OK</b>, el estado de Pod se restablecerá por la fuerza y ya no podrá comunicarse con el Pod. Hágalo sólo si ya no puede comunicarse con el Pod. Si todavía puede comunicarse con el Pod, utilice la opción <b>Desactivar Pod</b>.</string>
<string name="omnipod_cmd_pod_history_na">Historial del Pod no disponible en el momento.</string> <string name="omnipod_cmd_pod_history_na">Historial del Pod no disponible en el momento.</string>
<string name="omnipod_init_pod_wizard_step1_title">Llenar el Pod</string> <string name="omnipod_init_pod_wizard_step1_title">Llenar el Pod</string>
<string name="omnipod_init_pod_wizard_step1_desc">\nLlenar el nuevo Pod con suficiente insulina durante 3 días.\n\nEscucha dos pitidos del Pod durante el proceso de llenado. Esto indica que se ha insertado la cantidad mínima de 85U. Asegúrese de vaciar completamente la jeringa, incluso después de escuchar los dos pitidos.\n\nDespués de llenar el Pod, por favor pulse <b>Next</b>.\n\n<b>Nota:</b> no retire el capuchón de la aguja del Pod en este momento.</string>
<string name="omnipod_init_pod_wizard_step2_title">Cebado</string> <string name="omnipod_init_pod_wizard_step2_title">Cebado</string>
<string name="omnipod_init_pod_wizard_step2_action_header">Intentando emparejar con el nuevo Pod y primarlo.\n\nCuando todos los elementos están marcados, puedes pulsar <b>Siguiente</b>.\n\n<b>Nota:</b> por favor mantenga el Pod muy cerca del RileyLink en este momento.</string>
<string name="omnipod_init_pod_wizard_step3_title">Adherir el Pod</string> <string name="omnipod_init_pod_wizard_step3_title">Adherir el Pod</string>
<string name="omnipod_init_pod_wizard_step3_desc">\nPreparar el sitio de infusión. Retire el capuchón de la aguja del Pod y el adhesivo y aplique el Pod al sitio de perfusión.\n\nSi la cánula se queda fuera, por favor presione <b>Cancel</b> y descarte su Pod.\n\nPress <b>Next</b> para insertar la cánula y comenzar la entrega basal.</string>
<string name="omnipod_init_pod_wizard_step4_title">Insertar cánula</string> <string name="omnipod_init_pod_wizard_step4_title">Insertar cánula</string>
<string name="omnipod_init_pod_wizard_step4_action_header">Intentando establecer la programación basal inicial e insertar la cánula.\n\nCuando todos los elementos están marcados, puede pulsar <b>Siguiente</b>.</string>
<string name="omnipod_init_pod_wizard_pod_info_title">Pod Info</string> <string name="omnipod_init_pod_wizard_pod_info_title">Pod Info</string>
<string name="omnipod_init_pod_wizard_pod_info_init_pod_description">\nEl Pod ahora está activo.\n\nSu horario basal ha sido programado y la cánula ha sido insertada.\n\nPor favor, verifique que la cánula ha sido insertada correctamente y reemplace su Pod si usted siente que no lo ha hecho.</string> <string name="omnipod_init_pod_wizard_pod_info_init_pod_description">\nEl Pod ahora está activo.\n\nSu horario basal ha sido programado y la cánula ha sido insertada.\n\nPor favor, verifique que la cánula ha sido insertada correctamente y reemplace su Pod si usted siente que no lo ha hecho.</string>
<string name="omnipod_remove_pod_wizard_step1_title">Desactivar Pod</string> <string name="omnipod_remove_pod_wizard_step1_title">Desactivar Pod</string>
<string name="omnipod_remove_pod_wizard_step1_desc">\nPulsa <b>Siguiente</b> para desactivar el Pod.\n\n<b>Nota:</b> Esto suspenderá toda la entrega insulina y desactivará el Pod.</string> <string name="omnipod_remove_pod_wizard_step1_desc">\nPulsa <b>Siguiente</b> para desactivar el Pod.\n\n<b>Nota:</b> Esto suspenderá toda la entrega insulina y desactivará el Pod.</string>
<string name="omnipod_remove_pod_wizard_step2_title">Desactivando el Pod</string> <string name="omnipod_remove_pod_wizard_step2_title">Desactivando el Pod</string>
<string name="omnipod_remove_pod_wizard_step2_action_header">Desactivando el Pod.\n\nCuando se comprueban todos los elementos, puede pulsar <b>Next</b>.\n\n<b>Nota:</b> Si la desactivación falla, por favor pulse <b>Cancelar</b> y utilice la opción <b>Restablecer Pod</b> para restablecer por la fuerza el estado de Pod.</string>
<string name="omnipod_init_pod_wizard_pod_info_remove_pod_description">Pod desactivado.\n\nPor favor, retire el Pod de su cuerpo y desecharlo.</string> <string name="omnipod_init_pod_wizard_pod_info_remove_pod_description">Pod desactivado.\n\nPor favor, retire el Pod de su cuerpo y desecharlo.</string>
<string name="omnipod_init_pod_pair_pod">Emparejar Pod</string> <string name="omnipod_init_pod_pair_pod">Emparejar Pod</string>
<string name="omnipod_init_pod_prime_pod">Llenado de cánula del Pod</string> <string name="omnipod_init_pod_prime_pod">Llenado de cánula del Pod</string>
@ -1389,5 +1399,10 @@
<string name="omnipod_alert_shutdown_imminent">El apagado es inminente</string> <string name="omnipod_alert_shutdown_imminent">El apagado es inminente</string>
<string name="omnipod_alert_low_reservoir">Reservorio bajo</string> <string name="omnipod_alert_low_reservoir">Reservorio bajo</string>
<string name="omnipod_alert_unknown_alert">Alerta desconocida</string> <string name="omnipod_alert_unknown_alert">Alerta desconocida</string>
<string name="omnipod_error_set_basal_failed_uncertain">La configuración del perfil basal podría haber fallado. ¡La entrega podría ser suspendida! Por favor, actualiza el estado de Pod.</string>
<string name="omnipod_error_set_temp_basal_failed_uncertain">La configuración de basal temporal podría haber fallado. Si ya se está ejecutando una basal temporal, ¡puede que haya sido cancelada! Por favor, actualice el estado del pod.</string>
<string name="omnipod_error_set_time_failed_uncertain">Ajuste de la hora puede ser que haya fallado. La entrega puede ser suspendido! Por favor, actualizar estado de Pod.</string>
<string name="omnipod_bolus_failed_uncertain">No se puede verificar si el bolo ha sido exitoso. Por favor verifique que su Pod está poniendo bolo o cancele el bolo.</string>
<string name="omnipod_rl_stats">Estadísticas del RL</string> <string name="omnipod_rl_stats">Estadísticas del RL</string>
<string name="omnipod_read_pulse_log_short">Registro de pulso</string>
</resources> </resources>

View file

@ -1369,6 +1369,40 @@
<string name="omnipod_cmd_reset_pod_desc">Als je op <b>OK</b> klikt, zal de Pod gedwongen worden gereset en kun je niet meer communiceren met de Pod. Doe dit alleen als je al niet meer met de Pod kunt communiceren. Als je nog wel kunt communiceren met de Pod, gebruik dan de optie <b>Deactiveer Pod</b>.</string> <string name="omnipod_cmd_reset_pod_desc">Als je op <b>OK</b> klikt, zal de Pod gedwongen worden gereset en kun je niet meer communiceren met de Pod. Doe dit alleen als je al niet meer met de Pod kunt communiceren. Als je nog wel kunt communiceren met de Pod, gebruik dan de optie <b>Deactiveer Pod</b>.</string>
<string name="omnipod_cmd_pod_history_na">Pod Historie momenteel niet beschikbaar.</string> <string name="omnipod_cmd_pod_history_na">Pod Historie momenteel niet beschikbaar.</string>
<string name="omnipod_init_pod_wizard_step1_title">Vul de Pod</string> <string name="omnipod_init_pod_wizard_step1_title">Vul de Pod</string>
<string name="omnipod_init_pod_wizard_step1_desc">\nVul de nieuwe Pod met voldoende insuline voor 3 dagen.\n\nLuister of je twee piepjes hoort tijdens het vullen. Deze geven aan dat de minimum hoeveelheid van 85E is bereikt. Ook als je de twee piepjes hebt gehoord ga je verder met vullen totdat de vulspuit volledig leeg is.\n\nNa het vullen van de Pod druk je op <b>Volgende</b>.\n\n<b>Opmerking:</b> verwijder de beschermkap van de Pod naald nog niet!</string>
<string name="omnipod_init_pod_wizard_step2_title">Uitvullen</string>
<string name="omnipod_init_pod_wizard_step2_action_header">Probeer te koppelen met de nieuwe Pod en laat de Pod de naald uitvullen.\n\nWanneer alle onderdelen zijn afgerond, druk je op <b>Volgende</b>.\n\n<b>Opmerking:</b> Houd de Pod goed dicht bij de RileyLink terwijl je dit doet.</string>
<string name="omnipod_init_pod_wizard_step3_title">Plaats de Pod</string>
<string name="omnipod_init_pod_wizard_step3_desc">\nBereid het plaatsen voor. Verwijder de beschermdop van de naald en haal de papiertjes van de sticker.\n\n(Mocht je zien dat de canule uitsteekt, druk dan op <b>Annuleren</b> en begin overnieuw met een andere Pod.)\n\nBevestig de Pod op de huid. Druk op <b>Volgende</b> om de canule te gaan inschieten en de insulinetoediening te laten starten.</string>
<string name="omnipod_init_pod_wizard_step4_title">Canule inschieten</string>
<string name="omnipod_init_pod_wizard_step4_action_header">De basaalstand wordt ingesteld en de canule wordt ingeschoten.\n\nWanneer alle onderdelen zijn afgerond, druk je op <b>Volgende</b>.</string>
<string name="omnipod_init_pod_wizard_pod_info_title">Pod Info</string>
<string name="omnipod_init_pod_wizard_pod_info_init_pod_description">\nDe Pod is nu actief.\n\nJouw basaalprofiel is ingeladen in de Pod en de canule is ingebracht.\n\nControleer of de canule correct is geplaatst en vervang de Pod als je denkt dat er iets is misgegaan.</string>
<string name="omnipod_remove_pod_wizard_step1_title">Deactiveer Pod</string>
<string name="omnipod_remove_pod_wizard_step1_desc">\nDruk op <b>Volgende</b> om de Pod te deactiveren.\n\n<b>Opmerking:</b> Hiermee wordt de insuline toediening gestopt en wordt de Pod gedeactiveerd.</string>
<string name="omnipod_remove_pod_wizard_step2_title">Deactiveren van de Pod</string>
<string name="omnipod_remove_pod_wizard_step2_action_header">Deactiveren van de Pod.\n\nWanneer alle onderdelen zijn afgerond, druk je op <b>Volgende</b>.\n\n<b>Opmerking:</b> Als deactiveren herhaaldelijk niet wil lukken, druk je op <b>Annuleren</b> en gebruik de optie <b>Reset Pod</b> om de Pod-status geforceerd te deactiveren.</string>
<string name="omnipod_init_pod_wizard_pod_info_remove_pod_description">Pod gedeactiveerd.\n\nVerwijder de Pod van je lichaam en gooi hem weg.</string>
<string name="omnipod_init_pod_pair_pod">Pod Koppelen</string>
<string name="omnipod_init_pod_prime_pod">Pod Uitvullen</string>
<string name="omnipod_init_pod_fill_cannula">Canule vullen</string>
<string name="omnipod_init_pod_set_basal_profile">Instellen Basaal Profiel</string>
<string name="omnipod_deactivate_pod_cancel_delivery">Annuleer toediening</string>
<string name="omnipod_deactivate_pod_deactivate_pod">Deactiveer Pod</string>
<!-- Omnipod Dash --> <!-- Omnipod Dash -->
<!-- Omnipod - Base --> <!-- Omnipod - Base -->
<string name="description_pump_omnipod_dash">Pomp integratie voor Omnipod Dash.</string>
<string name="omnipod_alert_finish_pairing_reminder">Herinnering koppeling afronden</string>
<string name="omnipod_alert_finish_setup_reminder_reminder">Herinnering setup afronden</string>
<string name="omnipod_alert_expiration">Pod verloopt binnenkort</string>
<string name="omnipod_alert_expiration_advisory">Pod verloopt binnenkort</string>
<string name="omnipod_alert_shutdown_imminent">Schakelt zeer binnenkort uit</string>
<string name="omnipod_alert_low_reservoir">Laag reservoir</string>
<string name="omnipod_alert_unknown_alert">Onbekend alarm</string>
<string name="omnipod_error_set_basal_failed_uncertain">Het instellen van basaal profiel is mogelijk mislukt. De toediening is misschien gestopt! Vernieuw de status van Pod.</string>
<string name="omnipod_error_set_temp_basal_failed_uncertain">Het instellen van tijdelijk basaal is mogelijk mislukt. Als er al een tijdelijk basaal actief was, is dat misschien geannuleerd! Vernieuw de status van de Pod.</string>
<string name="omnipod_error_set_time_failed_uncertain">Het instellen van de tijd is mogelijk mislukt. De toediening is misschien gestopt! Vernieuw de status van Pod.</string>
<string name="omnipod_bolus_failed_uncertain">Kan niet controleren of de bolus is geslaagd. Controleer of de Pod de bolus aan het toedienen is of annuleer de bolus.</string>
<string name="omnipod_rl_stats">RL Statistieken</string>
<string name="omnipod_read_pulse_log_short">Pulsen Log</string>
</resources> </resources>

View file

@ -1405,4 +1405,6 @@
<string name="omnipod_bolus_failed_uncertain">Não é possível verificar se o bólus foi bem-sucedido. Por favor, verifique se o Pod está administrar ou cancelar o bólus.</string> <string name="omnipod_bolus_failed_uncertain">Não é possível verificar se o bólus foi bem-sucedido. Por favor, verifique se o Pod está administrar ou cancelar o bólus.</string>
<string name="omnipod_rl_stats">Estatísticas RL</string> <string name="omnipod_rl_stats">Estatísticas RL</string>
<string name="omnipod_read_pulse_log_short">Registo de Pulse</string> <string name="omnipod_read_pulse_log_short">Registo de Pulse</string>
<string name="comapareprofile">Comparar com o perfil atual</string>
<string name="nav_profilehelper">Assistente de Perfil</string>
</resources> </resources>

View file

@ -1,6 +1,7 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<resources> <resources>
<string name="dia_whatmeansdia">Care afirmații despre DIA sunt adevărate?</string> <string name="dia_whatmeansdia">Care afirmații despre DIA sunt adevărate?</string>
<string name="dia_label_exam">Subiect: Durata de acțiune a insulinei</string>
<string name="dia_minimumis3h">Valoarea minimă este de 3 ore.</string> <string name="dia_minimumis3h">Valoarea minimă este de 3 ore.</string>
<string name="dia_minimumis5h">Valoarea minimă este de 5 ore.</string> <string name="dia_minimumis5h">Valoarea minimă este de 5 ore.</string>
<string name="dia_hint1">https://androidaps.readthedocs.io/en/latest/EN/Configuration/Config-Builder.html?#insulin</string> <string name="dia_hint1">https://androidaps.readthedocs.io/en/latest/EN/Configuration/Config-Builder.html?#insulin</string>
@ -19,28 +20,149 @@
<string name="pumpdisconnect_whattodo">Ce trebuie să faceți atunci când deconectați pompa?</string> <string name="pumpdisconnect_whattodo">Ce trebuie să faceți atunci când deconectați pompa?</string>
<string name="pumpdisconnect_letknow">Apăsați Deconectează pompa astfel încât AAPS să știe că nu se va putea livra insulină.</string> <string name="pumpdisconnect_letknow">Apăsați Deconectează pompa astfel încât AAPS să știe că nu se va putea livra insulină.</string>
<string name="pumpdisconnect_suspend">Apăsați Suspendă bucla astfel încât AAPS să dezactiveze bucla atâta timp cât pompa este deconectată.</string> <string name="pumpdisconnect_suspend">Apăsați Suspendă bucla astfel încât AAPS să dezactiveze bucla atâta timp cât pompa este deconectată.</string>
<string name="pumpdisconnect_dontchnage">Nu modificați nimic în AAPS, doar deconectați pompa.</string>
<string name="pumpdisconnect_hint1">https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#other-settings</string> <string name="pumpdisconnect_hint1">https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#other-settings</string>
<string name="objectives_label">Subiect: Setări AndroidAPS</string> <string name="objectives_label">Subiect: Setări AndroidAPS</string>
<string name="objectives_howtosave">Care sunt cele mai bune metode de a păstra o copie de siguranță a setărilor AndroidAPS?</string> <string name="objectives_howtosave">Care sunt cele mai bune metode de a păstra o copie de siguranță a setărilor AndroidAPS?</string>
<string name="objectives_exportsettings">Export pe un mediu de stocare local folosind meniul Mentenanță.</string> <string name="objectives_exportsettings">Export pe un mediu de stocare local folosind meniul Mentenanță.</string>
<string name="objectives_storeelsewhere">Stocarea fișierului exportat într-un alt loc, precum email, Dropbox, Google drive…</string> <string name="objectives_storeelsewhere">Stocarea fișierului exportat într-un alt loc, precum email, Dropbox, Google drive…</string>
<string name="objectives_doexportonstart">Exportarea imedia după instalarea AAPS.</string> <string name="objectives_doexportonstart">Exportarea imedia după instalarea AAPS.</string>
<string name="objectives_doexportafterchange">Exportați-le după ce modificați setările.</string>
<string name="objectives_doexportafterobjective">Exportaţi-le după finalizarea unui obiectiv.</string>
<string name="objectives_doexportafterfirtssettings">Exportarea atunci când ați terminat setarea inițială.</string> <string name="objectives_doexportafterfirtssettings">Exportarea atunci când ați terminat setarea inițială.</string>
<string name="objectives_hint1">https://androidaps.readthedocs.io/en/latest/EN/Usage/ExportImportSettings.html</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="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">Subiect: Citiri zgomotoase ale glicemiei</string> <string name="noisycgm_label">Subiect: Citiri zgomotoase ale glicemiei</string>
<string name="noisycgm_whattodo">Ce ar trebui făcut dacă valorile CGM sunt nesigure?</string>
<string name="nothing">Nimic, AAPS se va descurca.</string>
<string name="noisycgm_pause">Dezactivați bucla închisă pentru a evita supra-dozarea.</string>
<string name="noisycgm_replacesensor">Se va înlocui senzorul CGM.</string> <string name="noisycgm_replacesensor">Se va înlocui senzorul CGM.</string>
<string name="noisycgm_turnoffphone">Se va opri telefonul.</string> <string name="noisycgm_turnoffphone">Se va opri telefonul.</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_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">Verificați dacă aplicația de senzor normalizează valorile glicemiei.</string>
<string name="exercise_label">Subiect: Exerciții fizice</string> <string name="exercise_label">Subiect: Exerciții fizice</string>
<string name="exercise_whattodo">Cum puteți ajuta sistemul să facă față exercițiilor fizice?</string> <string name="exercise_whattodo">Cum puteți ajuta sistemul să facă față exercițiilor fizice?</string>
<string name="exercise_setactivitytt">Folosirea funcționalității de țintă temporară.</string>
<string name="exercise_switchprofilebelow100">Se va face un schimb de profil de sub 100%.</string> <string name="exercise_switchprofilebelow100">Se va face un schimb de profil de sub 100%.</string>
<string name="exercise_switchprofileabove100">Se va face o schimbare de profil de peste 100%.</string> <string name="exercise_switchprofileabove100">Se va face o schimbare de profil de peste 100%.</string>
<string name="exercise_stoploop">Se va opri bucla.</string> <string name="exercise_stoploop">Se va opri bucla.</string>
<string name="exercise_doitbeforestart">Setați o valoare-țintă temporară de activitate înainte de a începe exercițiul fizic.</string>
<string name="exercise_afterstart">Setarea unei valori-țintă temporare pentru activitate după ce exercițiul fizic a început generează rezultate mai proaste decât dacă ar fi fost setată înainte.</string>
<string name="exercise_hint1">https://androidaps.readthedocs.io/en/latest/EN/Usage/temptarget.html#activity-temp-target</string> <string name="exercise_hint1">https://androidaps.readthedocs.io/en/latest/EN/Usage/temptarget.html#activity-temp-target</string>
<string name="suspendloop_label">Subiect: Dezactivarea/Suspendarea buclei închise</string>
<string name="suspendloop_doigetinsulin">Primesc insulina atunci când bucla închisă este dezactivata/suspendata?</string>
<string name="suspendloop_yes">Da, insulina bazală este livrată în continuare.</string>
<string name="suspendloop_no">Nu, livrarea de insulină este oprită.</string> <string name="suspendloop_no">Nu, livrarea de insulină este oprită.</string>
<string name="basaltest_label">Subiect: Bazală, ISF și testare IC</string> <string name="basaltest_label">Subiect: Bazală, ISF și testare IC</string>
<string name="basaltest_when">Când ar trebui să validez bazalele, ISF și valorile IC?</string> <string name="basaltest_when">Când ar trebui să validez bazalele, ISF și valorile IC?</string>
<string name="basaltest_beforeloop">Înainte de pornirea buclei.</string> <string name="basaltest_beforeloop">Înainte de pornirea buclei.</string>
<string name="basaltest_havingregularhypo">Atunci când hipoglicemiile apar frecvent.</string>
<string name="basaltest_havingregularhyper">Atunci când hiperglicemiile apar frecvent.</string>
<string name="basaltest_hint1">https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#androidaps-settings</string> <string name="basaltest_hint1">https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#androidaps-settings</string>
<string name="prerequisites_label">Subiect: Cerințe preliminare</string>
<string name="prerequisites_what">Ce am nevoie?</string>
<string name="prerequisites_determinedcorrectprofile">Profil validat (ratele bazale, IC, ISF, DIA).</string>
<string name="prerequisites_computer">Un calculator pentru a crea APK-ul.</string>
<string name="prerequisites_phone">Un telefon compatibil.</string>
<string name="prerequisites_car">O mașină.</string>
<string name="prerequisites_nightscout">Nightscout pentru a finaliza obiectivele.</string>
<string name="prerequisites_tidepoolaccount">Un cont Tidepool.</string>
<string name="prerequisites_googleaccount">Un cont de Google.</string>
<string name="prerequisites_githubaccount">Un cont de Github.</string>
<string name="prerequisites_beanandroiddeveloper">Experiență în dezvoltarea Android.</string>
<string name="prerequisites_own670g">O pompă MiniMed 670G.</string>
<string name="prerequisites_hint1">https://androidaps.readthedocs.io/en/latest/EN/Module/module.html</string>
<string name="prerequisites_smartwatch">Un ceas inteligent.</string>
<string name="prerequisites_supportedcgm">Un sistem de senzori CGM compatibil.</string>
<string name="update_label">Subiect: Actualizarea AndroidAPS</string>
<string name="whatistrue">Ce este adevărat?</string>
<string name="update_git">Aveți nevoie de Git instalat.</string>
<string name="update_asap">Actualizați când o versiune noua este lansată și aveți timp să o instalați.</string>
<string name="update_keys">Ar trebui sa folosiți aceleași chei de semnare.</string>
<string name="update_neverupdate">Nu actualizați niciodată dacă sistemul funcționează corect.</string>
<string name="update_askfriend">Cereți unui prieten noul 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">Subiect: Rezolvarea Problemelor</string>
<string name="troubleshooting_wheretoask">Unde căutați ajutor?</string>
<string name="troubleshooting_fb">Alăturaţi-vă grupului de Facebook AndroidAPS.</string>
<string name="troubleshooting_wiki">Citiți documentația AndroidAPS.</string>
<string name="troubleshooting_gitter">Vizitați canalul AndroidAPS pe Gitter.</string>
<string name="troubleshooting_googlesupport">Vizitați AndroidAPS Google support</string>
<string name="troubleshooting_yourendo">Vă consultați cu diabetologul.</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">Subiect: Plugin-uri pentru Insulină</string>
<string name="insulin_ultrarapid">Ce brand de insulină poate fi folosit cu plugin-ul 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">Subiect: Plugin-uri pentru sensibilitate</string>
<string name="sensitivity_which">Ce algoritm de sensibilitate are un interval de timp configurabil?</string>
<string name="sensitivity_hint1">https://androidaps.readthedocs.io/en/latest/EN/Configuration/Sensitivity-detection-and-COB.html</string>
<string name="sensitivityuam_which">Ce plugin de sensibilitate trebuie folosit pentru funcționalitatea UAM?</string>
<string name="wrongcarbs_label">Subiect: Erori la introducerea carbohidraților</string>
<string name="wrongcarbs_whattodo">Ce ar trebui sa faceți dacă ați introdus o cantitate de carbohidrați greșită?</string>
<string name="wrongcarbs_treatmentstab">În secțiunea Tratamente, ștergeți intrarea greșită. Introduceți din nou cantitatea de carbohidrați.</string>
<string name="wrongcarbs_addfakeinsulin">Adăugați unități false de insulina folosind funcția de Reîncărcare</string>
<string name="extendedcarbs_label">Subiect: Alimente cu Lipide și Proteine</string>
<string name="extendedcarbs_handling">Cum procedați atunci când mâncarea conține o cantitate mare de lipide și\/sau proteine?</string>
<string name="extendedcarbs_useextendedcarbs">Convertiți lipidele și proteinele în carbohidrați și folosiți funcționalitatea de \"Carbohidrați extinși\".</string>
<string name="extendedcarbs_add">Convertiți lipidele și proteinele în carbohidrați și adăugați-i la calcularea bolusului.</string>
<string name="extendedcarbs_useextendedbolus">Folosiți bolusul extins pentru a acoperi lipidele și proteinele.</string>
<string name="extendedcarbs_hint1">https://androidaps.readthedocs.io/en/latest/EN/Usage/Extended-Carbs.html</string>
<string name="nsclient_label">Subiect: Monitorizarea la distanţă</string>
<string name="nsclient_howcanyou">Cum puteți monitoriza AAPS-ul copilului dumneavoastră de la distanță?</string>
<string name="nsclient_nightscout">Folosind un site Nightscout.</string>
<string name="nsclient_dexcomfollow">Aplicația Dexcom Flollow dacă folosiți aplicația Dexcom originală (doar valorile glicemiei).</string>
<string name="nsclient_dexcomfollowxdrip">Dexcom Follow dacă folosiți aplicația xDrip.</string>
<string name="nsclient_xdripfollower">Aplicația xDrip în modul \"follower\".</string>
<string name="nsclient_looponiphone">Aplicația Loop pe iPhone.</string>
<string name="nsclient_spikeiphone">Aplicația Spike pe iPhone.</string>
<string name="nsclient_hint1">https://androidaps.readthedocs.io/en/latest/EN/Children/Children.html</string>
<string name="isf_label_exam">Subiect: Factorul de Sensibilitate la Insulină (ISF)</string>
<string name="isf_increasingvalue">Valorile ISF mai mari determina livrarea unor cantități mai mici de insulina atunci când AAPS corectează hiperglicemiile.</string>
<string name="isf_decreasingvalue">Valorile ISF mai mici determina livrarea unor cantități mai mici de insulina atunci când AAPS corectează hiperglicemiile.</string>
<string name="isf_noeffect">Modificările ISF nu au nicio influență asupra cantităților de insulina livrate atunci când AAPS corectează hiperglicemiile.</string>
<string name="isf_preferences">Trebuie sa setați ISF in Preferințe.</string>
<string name="isf_profile">Schimbarea valorii ISF în profil este suficientă pentru a produce efecte.</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">Subiect: Rația insulină-carbohidrați (IC)</string>
<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>
<string name="profileswitch_basalhigher">Ratele bazale vor fi cu 10% mai mari.</string>
<string name="profileswitch_basallower">Ratele bazale vor fi cu 10% mai mici.</string>
<string name="profileswitch_ichigher">Valoarea IC va fi cu 10% mai mare.</string>
<string name="profileswitch_iclower">Valoarea IC va fi cu 10% mai mica.</string>
<string name="profileswitch_isfhigher">Valoarea ISF va fi cu 10% mai mare.</string>
<string name="profileswitch_isflower">Valoarea ISF va fi cu 10% mai mică.</string>
<string name="profileswitch_overall">Veți primi în total cam cu 10% mai puțină insulină.</string>
<string name="profileswitch_targethigher">Intervalul-ţintă va fi cu 10% mai mare.</string>
<string name="profileswitch_targetlower">Intervalul-ţintă va fi cu 10% mai mic.</string>
<string name="profileswitch_targetbottom">Doar valoarea-ţintă inferioară va fi cu 10% mai mică.</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">Dacă va treziți cu o ora mai devreme decât de obicei, cum veți anunța AAPS de schimbarea din programul dumneavoastră?</string>
<string name="profileswitchtime_1">Inițiați o schimbare de profil cu decalaj de timp de 1</string>
<string name="profileswitchtime__1">Inițiați o schimbare de profil cu decalaj de timp de -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">Inițiați o schimbare de profil cu decalaj de timp de 60</string>
<string name="profileswitchtime__60">Inițiați o schimbare de profil cu decalaj de timp de -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">Subiect: Ajutor pentru ratele bazale</string>
<string name="basalhelp_where">Unde căutați ajutor pentru a seta ratele bazale etc.</string>
<string name="basalhelp_diabetesteam">Medicul dumneavoastră diabetolog</string>
<string name="basalhelp_google">Google</string>
<string name="basalhelp_facebook">Facebook</string>
<string name="other_medication_label">Alte tratamente</string>
<string name="other_medication_text">AAPS reduce ratele bazale pentru a crește glicemia. Medicamentele din grupa inhibitorilor SGLT2 (gliflozins) pot împiedica această creștere a glicemiei si, prin urmare, pot mări riscul de cetoacidoza diabetica (DKA).
\nBranduri comune sunt: Invokana®, Forxiga®, Jardiance®, Steglatro®, Suglat®, Apleway®, Deberza®, Synjardy®, Vokanamet®, Xigduo®.\n\nDeclar pe propria răspundere că nu voi lua asemenea medicamente cât folosesc AAPS sau că voi dezactiva bucla închisă înainte de le folosi.</string>
</resources> </resources>

View file

@ -20,7 +20,9 @@
<string name="objectives_autosens_gate">O săptămână de buclă închisă încheiată cu succes în condițiile introducerii regulate a carbohidraților</string> <string name="objectives_autosens_gate">O săptămână de buclă închisă încheiată cu succes în condițiile introducerii regulate a carbohidraților</string>
<string name="objectives_ama_objective">Activarea unor facilități adiționale pentru funcționarea în timpul zilei, cum ar fi advanced meal assist</string> <string name="objectives_ama_objective">Activarea unor facilități adiționale pentru funcționarea în timpul zilei, cum ar fi advanced meal assist</string>
<string name="objectives_smb_objective">Se activează opțiuni pentru uzul în timpul zilei, cum ar fi SMB</string> <string name="objectives_smb_objective">Se activează opțiuni pentru uzul în timpul zilei, cum ar fi SMB</string>
<string name="objectives_auto_objective">Activarea automatizării</string>
<string name="objectives_smb_gate">Trebuie sa citiți wiki și să măriți maxIOB pentru a obține SMB corect! Un start bun este maxIOB=media bolusurilor + 3x maxima bazalei din zi</string> <string name="objectives_smb_gate">Trebuie sa citiți wiki și să măriți maxIOB pentru a obține SMB corect! Un start bun este maxIOB=media bolusurilor + 3x maxima bazalei din zi</string>
<string name="objectives_auto_gate">Citiți documentația despre cum funcționează automatizarea. Setați primele reguli simple. În loc de a acționa, lăsați AAPS doar să afișeze notificări. Când sunteți siguri ca automatizarea acționează la momentul potrivit, înlocuiți notificările cu acțiuni reale.(https://androidaps.readthedocs.io/en/latest/EN/Usage/Automation.html)</string>
<string name="objectives_bgavailableinns">Glicemie disponibilă în NS</string> <string name="objectives_bgavailableinns">Glicemie disponibilă în NS</string>
<string name="objectives_pumpstatusavailableinns">Starea pompei disponibilă în NS</string> <string name="objectives_pumpstatusavailableinns">Starea pompei disponibilă în NS</string>
<string name="objectives_manualenacts">Acțiuni manuale</string> <string name="objectives_manualenacts">Acțiuni manuale</string>
@ -35,10 +37,12 @@
<string name="objectives_useloop">Afișați conținutul facilității Buclă</string> <string name="objectives_useloop">Afișați conținutul facilității Buclă</string>
<string name="objectives_usescale">Folosiți funcția scală prin apăsarea prelungă a graficului glicemiei</string> <string name="objectives_usescale">Folosiți funcția scală prin apăsarea prelungă a graficului glicemiei</string>
<string name="objectives_button_enter">Introduceţi</string> <string name="objectives_button_enter">Introduceţi</string>
<string name="enter_code_obtained_from_developers_to_bypass_the_rest_of_objectives">Dacă aveți cel puțin 3 luni de experiență cu un sistem în bucla închisă, puteți beneficia de un cod pentru a sări peste obiective. Pentru mai multe detalii vezi: https://androidaps.readthedocs.io/en/latest/EN/Usage/Objectives.html#skip-objectives.</string>
<string name="codeaccepted">Cod acceptat</string> <string name="codeaccepted">Cod acceptat</string>
<string name="codeinvalid">Cod invalid</string> <string name="codeinvalid">Cod invalid</string>
<string name="objectives_exam_objective">Dovediți-vă cunoștințele</string> <string name="objectives_exam_objective">Dovediți-vă cunoștințele</string>
<string name="objectives_exam_gate">Studiați și răspundeți corect la întrebări</string> <string name="objectives_exam_gate">Studiați și răspundeți corect la întrebări</string>
<string name="answerdisabledto">Posibilitatea de a răspunde este dezactivată până la: %1$s</string>
<string name="wronganswer">Răspuns greșit!</string> <string name="wronganswer">Răspuns greșit!</string>
<string name="unfinshed_button">Următoarea nefinalizată</string> <string name="unfinshed_button">Următoarea nefinalizată</string>
<string name="requestcode">Solicită codul: %1$s</string> <string name="requestcode">Solicită codul: %1$s</string>

View file

@ -1,2 +1,25 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<resources></resources> <resources>
<string name="biometric_title">Autentificarea este obligatorie</string>
<string name="biometric_description">Puneți degetul pe cititorul de amprente pentru a verifica identitatea</string>
<string name="settings_protection">Protecţie setări</string>
<string name="application_protection">Protecție aplicație</string>
<string name="bolus_protection">Protecție bolus</string>
<string name="master_password">Parola principală</string>
<string name="settings_password">Parolă setări</string>
<string name="application_password">Parolă aplicație</string>
<string name="bolus_password">Parolă bolus</string>
<string name="unlock_settings">Deblochează setările</string>
<string name="biometric">Biometric</string>
<string name="custom_password">Parolă personalizată</string>
<string name="noprotection">Fără protecţie</string>
<string name="protection">Protecţie</string>
<string name="master_password_missing">Parola principală nu este setată!\n\nVă rugăm să vă setaţi parola principală în Preferinţe (%1$s &#8594; %2$s)</string>
<string name="unsecure_fallback_biometric">Trecere la modul nesecurizat biometric</string>
<string name="unsecure_fallback_descriotion_biometric">Pentru a fi eficientă, protecţia biometrică are nevoie de o parolă principală pentru regresie.\n\nVă rugăm să setaţi o parolă principală!</string>
<string name="password_set">Parola a fost setată!</string>
<string name="password_not_set">Parola nu a fost setată</string>
<string name="password_not_changed">Parola nu a fost modificată</string>
<string name="password_cleared">Parolă ștearsă!</string>
<string name="password_hint">Introduceți parola aici</string>
</resources>

View file

@ -36,6 +36,7 @@
<string name="description_pump_mdi">Integrare cu pompă virtuală, pentru persoanele ce folosesc terapia cu pen</string> <string name="description_pump_mdi">Integrare cu pompă virtuală, pentru persoanele ce folosesc terapia cu pen</string>
<string name="description_pump_virtual">Integrare cu pompele ce nu au încă un driver software disponibil (Buclă Deschisă)</string> <string name="description_pump_virtual">Integrare cu pompele ce nu au încă un driver software disponibil (Buclă Deschisă)</string>
<string name="description_sensitivity_aaps">Sensibilitatea este calculată la fel ca în algoritmul Oref0, dar se poate specifica un interval de timp în trecut. Absorbția minimă de carbohidrați este calculată din parametrul echivalent, stabilit în preferințe.</string> <string name="description_sensitivity_aaps">Sensibilitatea este calculată la fel ca în algoritmul Oref0, dar se poate specifica un interval de timp în trecut. Absorbția minimă de carbohidrați este calculată din parametrul echivalent, stabilit în preferințe.</string>
<string name="description_sensitivity_oref1">Sensibilitatea este calculată folosind datele din ultimele 8 sau 24 ore (se alege cea mai mare din ele), iar carbohidrații (când nu sunt absorbiți) sunt ignorați după timpul specificat în preferințe. Plugin-ul calculează și UAM.</string>
<string name="description_sensitivity_weighted_average">Sensibilitatea este calculată ca o medie ponderată a deviațiilor. Deviațiile noi au o importanță mai mare. Absorbția minimă de carbohidrați este calculată în funcție de parametrul absorbție maximă de carbohidrați, stabilit în preferințe. Acest algoritm este cel mai rapid atunci când sensibilitatea la insulină este fluctuantă.</string> <string name="description_sensitivity_weighted_average">Sensibilitatea este calculată ca o medie ponderată a deviațiilor. Deviațiile noi au o importanță mai mare. Absorbția minimă de carbohidrați este calculată în funcție de parametrul absorbție maximă de carbohidrați, stabilit în preferințe. Acest algoritm este cel mai rapid atunci când sensibilitatea la insulină este fluctuantă.</string>
<string name="description_source_eversense">Primește valorile glicemiei din aplicația Eversense modificată.</string> <string name="description_source_eversense">Primește valorile glicemiei din aplicația Eversense modificată.</string>
<string name="description_source_glimp">Primește valorile glicemiei din aplicația Glimp.</string> <string name="description_source_glimp">Primește valorile glicemiei din aplicația Glimp.</string>
@ -73,6 +74,7 @@
<string name="openapsma_profile_label">Profil</string> <string name="openapsma_profile_label">Profil</string>
<string name="openapsma_mealdata_label">Date despre masă</string> <string name="openapsma_mealdata_label">Date despre masă</string>
<string name="result">Rezultat</string> <string name="result">Rezultat</string>
<string name="result_insulin_carbs">Rezultat: %1$s %2$s</string>
<string name="openapsma_noglucosedata">Nu există date despre glicemie</string> <string name="openapsma_noglucosedata">Nu există date despre glicemie</string>
<string name="openapsma_request_label">Solicită</string> <string name="openapsma_request_label">Solicită</string>
<string name="glucose">Glicemie</string> <string name="glucose">Glicemie</string>
@ -109,6 +111,7 @@
<string name="openapsma_disabled">Modul inactiv</string> <string name="openapsma_disabled">Modul inactiv</string>
<string name="constraints_violation">Încălcare a unei limite</string> <string name="constraints_violation">Încălcare a unei limite</string>
<string name="treatmentdeliveryerror">Eroare la livrarea bolusului</string> <string name="treatmentdeliveryerror">Eroare la livrarea bolusului</string>
<string name="overview_newtempbasal_basalpercent">Valoare bazală [%]</string>
<string name="setbasalquestion">Acceptă noua bazală temporară:</string> <string name="setbasalquestion">Acceptă noua bazală temporară:</string>
<string name="overview_treatment_label">Tratament</string> <string name="overview_treatment_label">Tratament</string>
<string name="overview_calculator_label">Calculator</string> <string name="overview_calculator_label">Calculator</string>
@ -123,10 +126,12 @@
<string name="apsmode_title">Mod APS</string> <string name="apsmode_title">Mod APS</string>
<string name="closedloop">Buclă închisă</string> <string name="closedloop">Buclă închisă</string>
<string name="openloop">Buclă deschisă</string> <string name="openloop">Buclă deschisă</string>
<string name="lowglucosesuspend">Suspendare la hipoglicemie</string>
<string name="disabledloop">Buclă inactivă</string> <string name="disabledloop">Buclă inactivă</string>
<string name="disableloop">Dezactivează bucla</string> <string name="disableloop">Dezactivează bucla</string>
<string name="enableloop">Activează bucla</string> <string name="enableloop">Activează bucla</string>
<string name="openloop_newsuggestion">O nouă sugestie este disponibilă</string> <string name="openloop_newsuggestion">O nouă sugestie este disponibilă</string>
<string name="carbssuggestion">Sugestie carbohidrați</string>
<string name="unsupportednsversion">Versiune incompatibilă de Nightscout</string> <string name="unsupportednsversion">Versiune incompatibilă de Nightscout</string>
<string name="loopdisabled">BUCLĂ DEZACTIVATĂ DATORITĂ CONSTRÂNGERILOR</string> <string name="loopdisabled">BUCLĂ DEZACTIVATĂ DATORITĂ CONSTRÂNGERILOR</string>
<string name="treatments_wizard_basaliob_label">IOB bazală</string> <string name="treatments_wizard_basaliob_label">IOB bazală</string>
@ -143,6 +148,7 @@
<string name="careportal_newnstreatment_percent_label">Procent</string> <string name="careportal_newnstreatment_percent_label">Procent</string>
<string name="careportal_newnstreatment_absolute_label">Absolut</string> <string name="careportal_newnstreatment_absolute_label">Absolut</string>
<string name="careportal_newnstreatment_notes_label">Note</string> <string name="careportal_newnstreatment_notes_label">Note</string>
<string name="event_time_label">Ora evenimentului</string>
<string name="careportal_newnstreatment_profile_label">Profil</string> <string name="careportal_newnstreatment_profile_label">Profil</string>
<string name="careportal_newnstreatment_enteredby_title">Introdus de</string> <string name="careportal_newnstreatment_enteredby_title">Introdus de</string>
<string name="careportal_newnstreatment_glucosetype">Tip glicemie</string> <string name="careportal_newnstreatment_glucosetype">Tip glicemie</string>
@ -158,9 +164,48 @@
<string name="filenotfound">Nu am găsit fișierul</string> <string name="filenotfound">Nu am găsit fișierul</string>
<string name="nav_export">Exportă setările</string> <string name="nav_export">Exportă setările</string>
<string name="nav_import">Importă setările</string> <string name="nav_import">Importă setările</string>
<string name="openapsma_maxbasal_title">Valoarea maximă în U/ora a unei rate bazale temporare poate fi setată la</string>
<string name="openapsma_maxbasal_summary">Această valoare este denumită bazală maximă în contextul OpenAPS</string> <string name="openapsma_maxbasal_summary">Această valoare este denumită bazală maximă în contextul OpenAPS</string>
<string name="openapsma_maxiob_title">Maximul de bazală IOB pe care o poate livra OpenAPS[U]</string> <string name="openapsma_maxiob_title">Maximul de bazală IOB pe care o poate livra OpenAPS[U]</string>
<string name="openapsma_maxiob_summary">Această valoare este denumită Max IOB în contextul OpenAPS\nAceastă valoare este implicit nulă (0). După câteva zile sau săptămâni, în funcție de opțiunea dumneavoastră, puteți ajusta acest număr.</string> <string name="openapsma_maxiob_summary">Această valoare este denumită Max IOB în contextul OpenAPS\nAceastă valoare este implicit nulă (0). După câteva zile sau săptămâni, în funcție de opțiunea dumneavoastră, puteți ajusta acest număr.</string>
<string name="password_preferences_encrypt_prompt">Vi se va solicita parola principală, care va fi utilizată pentru criptare la exportarea setărilor.</string>
<string name="password_preferences_decrypt_prompt">Vi se va solicita parola principală, care este necesară pentru a decripta setările importate.</string>
<string name="preferences_export_canceled">Exportarea a eșuat! Preferințele NU au fost exportate!</string>
<string name="preferences_import_canceled">Importarea a eșuat! Preferințele NU au fost importate!</string>
<string name="preferences_import_list_title">Selectați fișierul pentru import</string>
<string name="check_preferences_before_import">Verificați preferințele înainte de a le importa:</string>
<string name="check_preferences_cannot_import">Preferințele nu pot fi importate!</string>
<string name="check_preferences_dangerous_import">Preferințele nu ar trebui importate!</string>
<string name="check_preferences_details_btn">Explicații problemele de import…</string>
<string name="check_preferences_details_title">Detalii probleme de import</string>
<string name="check_preferences_import_btn">Importă</string>
<string name="check_preferences_import_anyway_btn">Importă oricum (PERICOL!)</string>
<string name="metadata_warning_different_flavour">Preferințele au fost create folosind o alta versiune de AAPS (%1$s) în timp ce versiunea curentă este: %2$s.\n\nCâteva setări pot lipsi sau pot fi invalide - după import verificați și actualizați preferințele.</string>
<string name="metadata_warning_different_device">Preferințele au fost create pe un dispozitiv diferit. Este în regulă să le importați de pe un alt telefon, dar asigurați-vă că sunt corecte!</string>
<string name="metadata_warning_outdated_format">Folosiți un format neactualizat dintr-o versiune veche de AAPS care nu este securizat! Folosiți acest format în ultima instanța, doar dacă nu aveți un export în formatul curent de JSON.</string>
<string name="metadata_warning_old_export">Preferințele importate sunt vechi de %1$s zile deja! Poate aveți preferințe mai recente sau ați ales un fișier greșit? Amintiți-vă să exportați preferințele în mod regulat!</string>
<string name="metadata_warning_date_format">Format dată invalid!</string>
<string name="metadata_warning_different_version">Preferințe dintr-o versiune minoră diferită a aplicației. Este OK dacă importați după upgrade, dar verificați după import că preferințele sunt corecte!</string>
<string name="metadata_label_format">Formatul fișierului</string>
<string name="metadata_label_created_at">Creat la</string>
<string name="metadata_label_aaps_version">Versiune AAPS</string>
<string name="metadata_label_aaps_flavour">Versiune de build</string>
<string name="metadata_label_device_name">Exporta numele dispozitivului pacientului</string>
<string name="metadata_label_device_model">Exportarea modelului dispozitivului</string>
<string name="metadata_label_encryption">Criptarea fișierului</string>
<string name="metadata_format_old">Format vechi de export</string>
<string name="metadata_format_new">Format nou criptat</string>
<string name="metadata_format_debug">Format nou pentru debug (necriptat)</string>
<string name="metadata_format_other">Format de export necunoscut</string>
<string name="prefdecrypt_settings_tampered">Fişier de setări modificat</string>
<string name="prefdecrypt_settings_secure">Fișierul de setări este securizat</string>
<string name="prefdecrypt_settings_unencrypted">Folosirea formatului nesecurizat, necriptat pentru setări</string>
<string name="prefdecrypt_wrong_json">Eroare format JSON, lipsește un câmp necesar (format, conținut, metadate sau securitate)</string>
<string name="prefdecrypt_wrong_password">Eroare la decriptare, parola dată nu poate decripta fişierul</string>
<string name="prefdecrypt_issue_missing_file_hash">Suma de control a fişierului (hash) lipseşte, nu se poate verifica autenticitatea setărilor!</string>
<string name="prefdecrypt_issue_modified">Fişierul a fost modificat după export!</string>
<string name="prefdecrypt_issue_parsing">Eroare la decriptare, parsarea preferinţelor a eşuat!</string>
<string name="prefdecrypt_issue_wrong_pass">Eroare la decriptare, parola furnizată este invalidă sau fişierul de setări a fost modificat! Se poate întâmpla ca fişierul importat să fi fost exportat cu o parolă master diferită.</string>
<string name="end_user_license_agreement">Licență utilizator final</string> <string name="end_user_license_agreement">Licență utilizator final</string>
<string name="end_user_license_agreement_text">NU FOLOSIȚI PENTRU LUAREA DE DECIZII MEDICALE. NU EXISTĂ RĂSPUNDERE LEGALĂ SAU GARANȚIE PENTRU ACEST PROGRAM, ÎN LIMITA APLICABILĂ A LEGII. CU EXCEPTIA CAZURILOR SPECIAL MENȚIONATE, AUTORUL ȘI/SAU ALTE PERSOANE IMPLICATE PUN LA DISPOZIȚIE ACEST PROGRAM FĂRĂ NICIO GARANȚIE, IMPLICITĂ SAU EXPLICITĂ, INCLUZÂND, DAR FĂRĂ A SE LIMITA LA, GARANȚIILE LEGATE DE VĂNZAREA SAU POTRIVIREA PENTRU UN ANUME SCOP. ÎNTREGUL RISC LEGAT DE CALITATEA ȘI PERFORMANȚA ACESTUI PROGRAM CAD ÎN RESPONSABILITATEA DUMNEAVOASTRĂ. DACĂ PROGRAMUL SE DOVEDEȘTE A FI DEFECT, DUMNEAVOASTRĂ VĂ ASUMAȚI ÎNTREAGA RĂSPUNDERE, PRECUM ȘI TOATE COSTURILE LEGATE DE SERVICE, REPARAȚII SAU CORECȚII.</string> <string name="end_user_license_agreement_text">NU FOLOSIȚI PENTRU LUAREA DE DECIZII MEDICALE. NU EXISTĂ RĂSPUNDERE LEGALĂ SAU GARANȚIE PENTRU ACEST PROGRAM, ÎN LIMITA APLICABILĂ A LEGII. CU EXCEPTIA CAZURILOR SPECIAL MENȚIONATE, AUTORUL ȘI/SAU ALTE PERSOANE IMPLICATE PUN LA DISPOZIȚIE ACEST PROGRAM FĂRĂ NICIO GARANȚIE, IMPLICITĂ SAU EXPLICITĂ, INCLUZÂND, DAR FĂRĂ A SE LIMITA LA, GARANȚIILE LEGATE DE VĂNZAREA SAU POTRIVIREA PENTRU UN ANUME SCOP. ÎNTREGUL RISC LEGAT DE CALITATEA ȘI PERFORMANȚA ACESTUI PROGRAM CAD ÎN RESPONSABILITATEA DUMNEAVOASTRĂ. DACĂ PROGRAMUL SE DOVEDEȘTE A FI DEFECT, DUMNEAVOASTRĂ VĂ ASUMAȚI ÎNTREAGA RĂSPUNDERE, PRECUM ȘI TOATE COSTURILE LEGATE DE SERVICE, REPARAȚII SAU CORECȚII.</string>
<string name="end_user_license_agreement_i_understand">ÎNȚELEG ȘI SUNT DE ACORD</string> <string name="end_user_license_agreement_i_understand">ÎNȚELEG ȘI SUNT DE ACORD</string>
@ -188,6 +233,8 @@
<string name="smscommunicator_loopisenabled">Bucla este activată</string> <string name="smscommunicator_loopisenabled">Bucla este activată</string>
<string name="valuelimitedto">%1$.2f este limitată la %2$.2f</string> <string name="valuelimitedto">%1$.2f este limitată la %2$.2f</string>
<string name="valueoutofrange">Valoarea %1$s este mai mare decât limita stabilită</string> <string name="valueoutofrange">Valoarea %1$s este mai mare decât limita stabilită</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> <string name="smscommunicator_remotecommandnotallowed">Comanda de la distanță nu este permisă</string>
<string name="smscommunicator_remotebolusnotallowed">Bolus de la distanță nu este disponibil. Încearcă din nou mai târziu.</string> <string name="smscommunicator_remotebolusnotallowed">Bolus de la distanță nu este disponibil. Încearcă din nou mai târziu.</string>
<string name="smscommunicator_basalreplywithcode">Pentru a iniția bazala de %1$.2fU/h pentru %2$d min trimiteți codul %3$s</string> <string name="smscommunicator_basalreplywithcode">Pentru a iniția bazala de %1$.2fU/h pentru %2$d min trimiteți codul %3$s</string>
@ -322,6 +369,7 @@
<string name="adult">Adult</string> <string name="adult">Adult</string>
<string name="resistantadult">Adult rezistent la insulină</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="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="Glimp">Glimp</string> <string name="Glimp">Glimp</string>
<string name="needwhitelisting">%1$s necesită excluderea din lista de optimizare a bateriei pentru o funcționare corespunzătoare</string> <string name="needwhitelisting">%1$s necesită excluderea din lista de optimizare a bateriei pentru o funcționare corespunzătoare</string>
<string name="loopsuspended">Buclă suspendată</string> <string name="loopsuspended">Buclă suspendată</string>
@ -891,6 +939,8 @@
<string name="longitude_short">Long:</string> <string name="longitude_short">Long:</string>
<string name="distance_short">Dist [m]:</string> <string name="distance_short">Dist [m]:</string>
<string name="name_short">Nume:</string> <string name="name_short">Nume:</string>
<string name="locationis">%1$s %2$s</string>
<string name="location_mode">Când </string>
<string name="lastboluslabel">Ultimul bolus</string> <string name="lastboluslabel">Ultimul bolus</string>
<string name="lastboluscompared">Ultimul bolus acum %1$s %2$s min</string> <string name="lastboluscompared">Ultimul bolus acum %1$s %2$s min</string>
<string name="triggercoblabel">COB</string> <string name="triggercoblabel">COB</string>
@ -1051,15 +1101,33 @@
<string name="format_percent">%1$d%%</string> <string name="format_percent">%1$d%%</string>
<string name="boluswizard">Asistent bolusare</string> <string name="boluswizard">Asistent bolusare</string>
<string name="unit_minute_short">min</string> <string name="unit_minute_short">min</string>
<string name="unitsnosemicolon">Unități</string>
<string name="format_carbs">%1$dg</string> <string name="format_carbs">%1$dg</string>
<string name="common_on">Pornit</string>
<string name="common_off">Oprit</string>
<string name="deletecurrentprofile">Ştergeţi profilul curent?</string>
<string name="age">Vârstă:</string>
<string name="weight_label">Greutate:</string>
<string name="randombg_short">Glicemie</string>
<string name="tools">Instrumente</string>
<!-- SMS Communicator & OTP Authenticator --> <!-- SMS Communicator & OTP Authenticator -->
<!-- Omnipod --> <!-- Omnipod -->
<!-- Omnipod - Base --> <!-- Omnipod - Base -->
<!-- Omnipod Configuration --> <!-- Omnipod Configuration -->
<!-- Omnipod - Fragment --> <!-- Omnipod - Fragment -->
<string name="omnipod_pod_mgmt">Pod Mgmt</string>
<string name="omnipod_reservoir_left">%1$.2f U rămase</string>
<string name="omnipod_reservoir_over50">Peste 50 U</string>
<!-- Omnipod - Dialogs --> <!-- Omnipod - Dialogs -->
<!-- Omnipod - Error --> <!-- Omnipod - Error -->
<!-- Omnipod - Pod Mgmt --> <!-- Omnipod - Pod Mgmt -->
<string name="omnipod_cmd_init_pod">Inițializare Pod</string>
<string name="omnipod_cmd_deactivate_pod">Dezactivare Pod</string>
<string name="omnipod_cmd_reset_pod">Resetare Pod</string>
<string name="omnipod_cmd_pod_history">Istoric Pod</string>
<string name="omnipod_cmd_configure_alerts">Configurare alerte</string>
<string name="omnipod_cmd_acknowledge_alerts">Confirmare alerte</string>
<string name="omnipod_init_pod_wizard_step2_title">Amorsare</string>
<!-- Omnipod Dash --> <!-- Omnipod Dash -->
<!-- Omnipod - Base --> <!-- Omnipod - Base -->
</resources> </resources>

View file

@ -1406,4 +1406,6 @@ Eversense-appen.</string>
<string name="omnipod_bolus_failed_uncertain">Det går inte att verifiera om bolusen är slutförd. Verifiera att din pod leverarar bolus eller avsluta bolus.</string> <string name="omnipod_bolus_failed_uncertain">Det går inte att verifiera om bolusen är slutförd. Verifiera att din pod leverarar bolus eller avsluta bolus.</string>
<string name="omnipod_rl_stats">RL-statistik</string> <string name="omnipod_rl_stats">RL-statistik</string>
<string name="omnipod_read_pulse_log_short">Pulslogg</string> <string name="omnipod_read_pulse_log_short">Pulslogg</string>
<string name="comapareprofile">Jämför med aktuell profil</string>
<string name="nav_profilehelper">Profilguide</string>
</resources> </resources>

View file

@ -1708,5 +1708,7 @@
<string name="omnipod_bolus_failed_uncertain">Unable to verify whether the bolus succeeded. Please verify that your Pod is bolusing or cancel the bolus.</string> <string name="omnipod_bolus_failed_uncertain">Unable to verify whether the bolus succeeded. Please verify that your Pod is bolusing or cancel the bolus.</string>
<string name="omnipod_rl_stats">RL Stats</string> <string name="omnipod_rl_stats">RL Stats</string>
<string name="omnipod_read_pulse_log_short">Pulse Log</string> <string name="omnipod_read_pulse_log_short">Pulse Log</string>
<string name="comapareprofile">Compare with current profile</string>
<string name="nav_profilehelper">Profile helper</string>
</resources> </resources>

View file

@ -57,7 +57,7 @@ class ProfileTest : TestBaseWithProfile() {
JSONAssert.assertEquals(okProfile, p.data, false) JSONAssert.assertEquals(okProfile, p.data, false)
Assert.assertEquals(3.0, p.dia, 0.01) Assert.assertEquals(3.0, p.dia, 0.01)
Assert.assertEquals(TimeZone.getTimeZone("UTC"), p.timeZone) Assert.assertEquals(TimeZone.getTimeZone("UTC"), p.timeZone)
Assert.assertEquals("00:30", p.format_HH_MM(30 * 60)) Assert.assertEquals("00:30", Profile.format_HH_MM(30 * 60))
val c = Calendar.getInstance() val c = Calendar.getInstance()
c[Calendar.HOUR_OF_DAY] = 1 c[Calendar.HOUR_OF_DAY] = 1
c[Calendar.MINUTE] = 0 c[Calendar.MINUTE] = 0

View file

@ -370,7 +370,7 @@ public class Profile {
return lastValue; return lastValue;
} }
protected String format_HH_MM(Integer timeAsSeconds) { public static String format_HH_MM(Integer timeAsSeconds) {
String time; String time;
int hour = timeAsSeconds / 60 / 60; int hour = timeAsSeconds / 60 / 60;
int minutes = (timeAsSeconds - hour * 60 * 60) / 60; int minutes = (timeAsSeconds - hour * 60 * 60) / 60;

View file

@ -126,7 +126,7 @@ class DefaultProfile @Inject constructor(val injector: HasAndroidInjector) {
return res return res
} }
fun arrayToJson(b: Array<Double>): JSONArray { private fun arrayToJson(b: Array<Double>): JSONArray {
val basals = JSONArray() val basals = JSONArray()
for (i in 0..23) { for (i in 0..23) {
val time = String.format(Locale.ENGLISH, "%02d:00", i) val time = String.format(Locale.ENGLISH, "%02d:00", i)
@ -135,7 +135,7 @@ class DefaultProfile @Inject constructor(val injector: HasAndroidInjector) {
return basals return basals
} }
fun singleValueArray(value: Double, sample: Array<Double>): JSONArray { private fun singleValueArray(value: Double, sample: Array<Double>): JSONArray {
val array = JSONArray() val array = JSONArray()
array.put(JSONObject().put("time", "00:00").put("value", value + sample[0])) array.put(JSONObject().put("time", "00:00").put("value", value + sample[0]))
array.put(JSONObject().put("time", "06:00").put("value", value + sample[1])) array.put(JSONObject().put("time", "06:00").put("value", value + sample[1]))

View file

@ -29,6 +29,7 @@ public class TDD {
@DatabaseField @DatabaseField
public double total; public double total;
public double carbs;
public double getTotal() { public double getTotal() {
return (total > 0d) ? total : (bolus + basal); return (total > 0d) ? total : (bolus + basal);
@ -56,11 +57,17 @@ public class TDD {
']'; ']';
} }
public String toText(ResourceHelper resourceHelper, DateUtil dateUtil) { public String toText(ResourceHelper resourceHelper, DateUtil dateUtil, boolean includeCarbs) {
return resourceHelper.gs(R.string.tddformat, dateUtil.dateStringShort(date), total, bolus, basal); if (includeCarbs)
return resourceHelper.gs(R.string.tddwithcarbsformat, dateUtil.dateStringShort(date), total, bolus, basal, carbs);
else
return resourceHelper.gs(R.string.tddformat, dateUtil.dateStringShort(date), total, bolus, basal);
} }
public String toText(ResourceHelper resourceHelper, int days) { public String toText(ResourceHelper resourceHelper, int days, boolean includeCarbs) {
return resourceHelper.gs(R.string.tddformat, String.format(Locale.getDefault(), "%d ", days) + resourceHelper.gs(R.string.days), total, bolus, basal); if (includeCarbs)
return resourceHelper.gs(R.string.tddwithcarbsformat, String.format(Locale.getDefault(), "%d ", days) + resourceHelper.gs(R.string.days), total, bolus, basal, carbs);
else
return resourceHelper.gs(R.string.tddformat, String.format(Locale.getDefault(), "%d ", days) + resourceHelper.gs(R.string.days), total, bolus, basal);
} }
} }

View file

@ -1,6 +1,7 @@
package info.nightscout.androidaps.dialogs package info.nightscout.androidaps.dialogs
import android.os.Bundle import android.os.Bundle
import android.text.Spanned
import android.view.LayoutInflater import android.view.LayoutInflater
import android.view.View import android.view.View
import android.view.ViewGroup import android.view.ViewGroup
@ -14,10 +15,12 @@ import info.nightscout.androidaps.data.Profile
import info.nightscout.androidaps.interfaces.ActivePluginProvider import info.nightscout.androidaps.interfaces.ActivePluginProvider
import info.nightscout.androidaps.interfaces.DatabaseHelperInterface import info.nightscout.androidaps.interfaces.DatabaseHelperInterface
import info.nightscout.androidaps.utils.DateUtil import info.nightscout.androidaps.utils.DateUtil
import info.nightscout.androidaps.utils.HtmlHelper
import info.nightscout.androidaps.utils.resources.ResourceHelper import info.nightscout.androidaps.utils.resources.ResourceHelper
import kotlinx.android.synthetic.main.close.* import kotlinx.android.synthetic.main.close.*
import kotlinx.android.synthetic.main.dialog_profileviewer.* import kotlinx.android.synthetic.main.dialog_profileviewer.*
import org.json.JSONObject import org.json.JSONObject
import java.text.DecimalFormat
import javax.inject.Inject import javax.inject.Inject
class ProfileViewerDialog : DaggerDialogFragment() { class ProfileViewerDialog : DaggerDialogFragment() {
@ -32,11 +35,13 @@ class ProfileViewerDialog : DaggerDialogFragment() {
enum class Mode(val i: Int) { enum class Mode(val i: Int) {
RUNNING_PROFILE(1), RUNNING_PROFILE(1),
CUSTOM_PROFILE(2), CUSTOM_PROFILE(2),
DB_PROFILE(3) DB_PROFILE(3),
PROFILE_COMPARE(4)
} }
private var mode: Mode = Mode.RUNNING_PROFILE private var mode: Mode = Mode.RUNNING_PROFILE
private var customProfileJson: String = "" private var customProfileJson: String = ""
private var customProfileJson2: String = ""
private var customProfileName: String = "" private var customProfileName: String = ""
private var customProfileUnits: String = Constants.MGDL private var customProfileUnits: String = Constants.MGDL
@ -49,6 +54,8 @@ class ProfileViewerDialog : DaggerDialogFragment() {
customProfileJson = bundle.getString("customProfile", "") customProfileJson = bundle.getString("customProfile", "")
customProfileUnits = bundle.getString("customProfileUnits", Constants.MGDL) customProfileUnits = bundle.getString("customProfileUnits", Constants.MGDL)
customProfileName = bundle.getString("customProfileName", "") customProfileName = bundle.getString("customProfileName", "")
if (mode == Mode.PROFILE_COMPARE)
customProfileJson2 = bundle.getString("customProfile2", "")
} }
dialog?.window?.requestFeature(Window.FEATURE_NO_TITLE) dialog?.window?.requestFeature(Window.FEATURE_NO_TITLE)
@ -65,11 +72,13 @@ class ProfileViewerDialog : DaggerDialogFragment() {
close.setOnClickListener { dismiss() } close.setOnClickListener { dismiss() }
val profile: Profile? val profile: Profile?
val profile2: Profile?
val profileName: String? val profileName: String?
val date: String? val date: String?
when (mode) { when (mode) {
Mode.RUNNING_PROFILE -> { Mode.RUNNING_PROFILE -> {
profile = activePlugin.activeTreatments.getProfileSwitchFromHistory(time)?.profileObject profile = activePlugin.activeTreatments.getProfileSwitchFromHistory(time)?.profileObject
profile2 = null
profileName = activePlugin.activeTreatments.getProfileSwitchFromHistory(time)?.customizedName profileName = activePlugin.activeTreatments.getProfileSwitchFromHistory(time)?.customizedName
date = dateUtil.dateAndTimeString(activePlugin.activeTreatments.getProfileSwitchFromHistory(time)?.date date = dateUtil.dateAndTimeString(activePlugin.activeTreatments.getProfileSwitchFromHistory(time)?.date
?: 0) ?: 0)
@ -78,6 +87,15 @@ class ProfileViewerDialog : DaggerDialogFragment() {
Mode.CUSTOM_PROFILE -> { Mode.CUSTOM_PROFILE -> {
profile = Profile(injector, JSONObject(customProfileJson), customProfileUnits) profile = Profile(injector, JSONObject(customProfileJson), customProfileUnits)
profile2 = null
profileName = customProfileName
date = ""
profileview_datelayout.visibility = View.GONE
}
Mode.PROFILE_COMPARE -> {
profile = Profile(injector, JSONObject(customProfileJson), customProfileUnits)
profile2 = Profile(injector, JSONObject(customProfileJson2), customProfileUnits)
profileName = customProfileName profileName = customProfileName
date = "" date = ""
profileview_datelayout.visibility = View.GONE profileview_datelayout.visibility = View.GONE
@ -86,6 +104,7 @@ class ProfileViewerDialog : DaggerDialogFragment() {
Mode.DB_PROFILE -> { Mode.DB_PROFILE -> {
val profileList = databaseHelper.getProfileSwitchData(time, true) val profileList = databaseHelper.getProfileSwitchData(time, true)
profile = if (profileList.isNotEmpty()) profileList[0].profileObject else null profile = if (profileList.isNotEmpty()) profileList[0].profileObject else null
profile2 = null
profileName = if (profileList.isNotEmpty()) profileList[0].customizedName else null profileName = if (profileList.isNotEmpty()) profileList[0].customizedName else null
date = if (profileList.isNotEmpty()) dateUtil.dateAndTimeString(profileList[0].date) else null date = if (profileList.isNotEmpty()) dateUtil.dateAndTimeString(profileList[0].date) else null
profileview_datelayout.visibility = View.VISIBLE profileview_datelayout.visibility = View.VISIBLE
@ -93,20 +112,38 @@ class ProfileViewerDialog : DaggerDialogFragment() {
} }
profileview_noprofile.visibility = View.VISIBLE profileview_noprofile.visibility = View.VISIBLE
profile?.let { if (mode == Mode.PROFILE_COMPARE)
profileview_units.text = it.units profile?.let { profile1 ->
profileview_dia.text = resourceHelper.gs(R.string.format_hours, it.dia) profile2?.let { profile2 ->
profileview_activeprofile.text = profileName profileview_units.text = profile1.units
profileview_date.text = date profileview_dia.text = HtmlHelper.fromHtml(formatColors("", profile1.dia, profile1.dia, DecimalFormat("0.00"), resourceHelper.gs(R.string.shorthour)))
profileview_ic.text = it.icList profileview_activeprofile.text = profileName
profileview_isf.text = it.isfList profileview_date.text = date
profileview_basal.text = it.basalList profileview_ic.text = ics(profile1, profile2)
profileview_target.text = it.targetList profileview_isf.text = isfs(profile1, profile2)
basal_graph.show(it) profileview_basal.text = basals(profile1, profile2)
profileview_target.text = HtmlHelper.fromHtml(formatColors("", profile1.targetList + "<br>", profile2.targetList, ""))
basal_graph.show(profile1, profile2)
}
profileview_noprofile.visibility = View.GONE profileview_noprofile.visibility = View.GONE
profileview_invalidprofile.visibility = if (it.isValid("ProfileViewDialog")) View.GONE else View.VISIBLE profileview_invalidprofile.visibility = if (profile1.isValid("ProfileViewDialog")) View.GONE else View.VISIBLE
} }
else
profile?.let {
profileview_units.text = it.units
profileview_dia.text = resourceHelper.gs(R.string.format_hours, it.dia)
profileview_activeprofile.text = profileName
profileview_date.text = date
profileview_ic.text = it.icList
profileview_isf.text = it.isfList
profileview_basal.text = it.basalList
profileview_target.text = it.targetList
basal_graph.show(it)
profileview_noprofile.visibility = View.GONE
profileview_invalidprofile.visibility = if (it.isValid("ProfileViewDialog")) View.GONE else View.VISIBLE
}
} }
override fun onStart() { override fun onStart() {
@ -121,6 +158,79 @@ class ProfileViewerDialog : DaggerDialogFragment() {
bundle.putString("customProfile", customProfileJson) bundle.putString("customProfile", customProfileJson)
bundle.putString("customProfileName", customProfileName) bundle.putString("customProfileName", customProfileName)
bundle.putString("customProfileUnits", customProfileUnits) bundle.putString("customProfileUnits", customProfileUnits)
if (mode == Mode.PROFILE_COMPARE)
bundle.putString("customProfile2", customProfileJson2)
} }
private fun formatColors(label: String, value1: Double, value2: Double, format: DecimalFormat, units: String): String {
return formatColors(label, format.format(value1), format.format(value2), units)
}
private fun formatColors(label: String, text1: String, text2: String, units: String): String {
var s = "<font color='${resourceHelper.gc(R.color.white)}'>$label</font>"
s += " "
s += "<font color='${resourceHelper.gc(R.color.tempbasal)}'>$text1</font>"
s += " "
s += "<font color='${resourceHelper.gc(R.color.examinedProfile)}'>$text2</font>"
s += " "
s += "<font color='${resourceHelper.gc(R.color.white)}'>$units</font>"
return s
}
private fun basals(profile1: Profile, profile2: Profile): Spanned {
var prev1 = 0.0
var prev2 = 0.0
val s = StringBuilder()
for (hour in 0..23) {
val val1 = profile1.getBasalTimeFromMidnight(hour * 60 * 60)
val val2 = profile2.getBasalTimeFromMidnight(hour * 60 * 60)
if (val1 != prev1 || val2 != prev2) {
s.append(formatColors(Profile.format_HH_MM(hour * 60 * 60), val1, val2, DecimalFormat("0.00"), resourceHelper.gs(R.string.profile_ins_units_per_hour)))
s.append("<br>")
}
prev1 = val1
prev2 = val2
}
s.append(formatColors(
"",
profile1.baseBasalSum(),
profile2.baseBasalSum(),
DecimalFormat("0.00"),
resourceHelper.gs(R.string.insulin_unit_shortname)))
return HtmlHelper.fromHtml(s.toString())
}
private fun ics(profile1: Profile, profile2: Profile): Spanned {
var prev1 = 0.0
var prev2 = 0.0
val s = StringBuilder()
for (hour in 0..23) {
val val1 = profile1.getIcTimeFromMidnight(hour * 60 * 60)
val val2 = profile2.getIcTimeFromMidnight(hour * 60 * 60)
if (val1 != prev1 || val2 != prev2) {
s.append(formatColors(Profile.format_HH_MM(hour * 60 * 60), val1, val2, DecimalFormat("0.0"), resourceHelper.gs(R.string.profile_carbs_per_unit)))
s.append("<br>")
}
prev1 = val1
prev2 = val2
}
return HtmlHelper.fromHtml(s.toString())
}
private fun isfs(profile1: Profile, profile2: Profile): Spanned {
var prev1 = 0.0
var prev2 = 0.0
val s = StringBuilder()
for (hour in 0..23) {
val val1 = Profile.fromMgdlToUnits(profile1.getIsfMgdlTimeFromMidnight(hour * 60 * 60), profile1.units)
val val2 = Profile.fromMgdlToUnits(profile2.getIsfMgdlTimeFromMidnight(hour * 60 * 60), profile1.units)
if (val1 != prev1 || val2 != prev2) {
s.append(formatColors(Profile.format_HH_MM(hour * 60 * 60), val1, val2, DecimalFormat("0.0"), resourceHelper.gs(R.string.profile_carbs_per_unit)))
s.append("<br>")
}
prev1 = val1
prev2 = val2
}
return HtmlHelper.fromHtml(s.toString())
}
} }

View file

@ -1,13 +1,16 @@
package info.nightscout.androidaps.plugins.treatments.fragments package info.nightscout.androidaps.plugins.treatments.fragments
import android.content.Context import android.content.Context
import android.graphics.Color
import android.util.AttributeSet import android.util.AttributeSet
import com.jjoe64.graphview.GraphView import com.jjoe64.graphview.GraphView
import com.jjoe64.graphview.series.DataPoint import com.jjoe64.graphview.series.DataPoint
import com.jjoe64.graphview.series.LineGraphSeries import com.jjoe64.graphview.series.LineGraphSeries
import info.nightscout.androidaps.core.R
import info.nightscout.androidaps.data.Profile import info.nightscout.androidaps.data.Profile
import info.nightscout.androidaps.utils.Round import info.nightscout.androidaps.utils.Round
import java.util.* import java.util.*
import kotlin.math.max
class ProfileGraph : GraphView { class ProfileGraph : GraphView {
@ -21,7 +24,7 @@ class ProfileGraph : GraphView {
basalArray.add(DataPoint(hour.toDouble(), profile.getBasalTimeFromMidnight(hour * 60 * 60))) basalArray.add(DataPoint(hour.toDouble(), profile.getBasalTimeFromMidnight(hour * 60 * 60)))
basalArray.add(DataPoint((hour + 1).toDouble(), profile.getBasalTimeFromMidnight(hour * 60 * 60))) basalArray.add(DataPoint((hour + 1).toDouble(), profile.getBasalTimeFromMidnight(hour * 60 * 60)))
} }
val basalDataPoints: Array<DataPoint> = Array(basalArray.size){ i-> basalArray[i]} val basalDataPoints: Array<DataPoint> = Array(basalArray.size) { i -> basalArray[i] }
val basalSeries: LineGraphSeries<DataPoint> = LineGraphSeries(basalDataPoints) val basalSeries: LineGraphSeries<DataPoint> = LineGraphSeries(basalDataPoints)
addSeries(basalSeries) addSeries(basalSeries)
basalSeries.thickness = 8 basalSeries.thickness = 8
@ -35,4 +38,40 @@ class ProfileGraph : GraphView {
gridLabelRenderer.numHorizontalLabels = 13 gridLabelRenderer.numHorizontalLabels = 13
gridLabelRenderer.verticalLabelsColor = basalSeries.color gridLabelRenderer.verticalLabelsColor = basalSeries.color
} }
fun show(profile1: Profile, profile2: Profile) {
removeAllSeries()
// profile 1
val basalArray1: MutableList<DataPoint> = ArrayList()
for (hour in 0..23) {
basalArray1.add(DataPoint(hour.toDouble(), profile1.getBasalTimeFromMidnight(hour * 60 * 60)))
basalArray1.add(DataPoint((hour + 1).toDouble(), profile1.getBasalTimeFromMidnight(hour * 60 * 60)))
}
val basalSeries1: LineGraphSeries<DataPoint> = LineGraphSeries(Array(basalArray1.size) { i -> basalArray1[i] })
addSeries(basalSeries1)
basalSeries1.thickness = 8
basalSeries1.isDrawBackground = true
// profile 2
val basalArray2: MutableList<DataPoint> = ArrayList()
for (hour in 0..23) {
basalArray2.add(DataPoint(hour.toDouble(), profile2.getBasalTimeFromMidnight(hour * 60 * 60)))
basalArray2.add(DataPoint((hour + 1).toDouble(), profile2.getBasalTimeFromMidnight(hour * 60 * 60)))
}
val basalSeries2: LineGraphSeries<DataPoint> = LineGraphSeries(Array(basalArray2.size) { i -> basalArray2[i] })
addSeries(basalSeries2)
basalSeries2.thickness = 8
basalSeries2.isDrawBackground = false
basalSeries2.color = context.getColor(R.color.examinedProfile)
basalSeries2.backgroundColor = context.getColor(R.color.examinedProfile)
viewport.isXAxisBoundsManual = true
viewport.setMinX(0.0)
viewport.setMaxX(24.0)
viewport.isYAxisBoundsManual = true
viewport.setMinY(0.0)
viewport.setMaxY(Round.ceilTo(max(profile1.maxDailyBasal, profile2.maxDailyBasal) * 1.1, 0.5))
gridLabelRenderer.numHorizontalLabels = 13
}
} }

View file

@ -122,7 +122,8 @@
<!-- Temptarget--> <!-- Temptarget-->
<string name="mins">%1$dмин</string> <string name="mins">%1$dмин</string>
<!-- TDD--> <!-- TDD-->
<string name="tddformat"><![CDATA[<b>%1$s:</b> ∑: <b>%2$.2f</b> Бол: <b>%3$.2f</b> Баз: <b>%4$.2f</b>]]></string> <string name="tddformat"><![CDATA[<b>%1$s:</b> ∑: <b>%2$.2fЕ</b> Бол: <b>%3$.2fЕ</b> Баз: <b>%4$.2fЕ</b>]]></string>
<string name="tddwithcarbsformat"><![CDATA[<b>%1$s:</b> ∑: <b>%2$.2fЕ</b> Бол: <b>%3$.2fЕ</b> Баз: <b>%4$.2fЕ</b> Въгл: <b>%5$.0fгр</b>]]></string>
<!-- Translator--> <!-- Translator-->
<string name="careportal_bgcheck">Проверка на КЗ</string> <string name="careportal_bgcheck">Проверка на КЗ</string>
<string name="careportal_announcement">Известие</string> <string name="careportal_announcement">Известие</string>

View file

@ -122,7 +122,6 @@
<!-- Temptarget--> <!-- Temptarget-->
<string name="mins">%1$d minut</string> <string name="mins">%1$d minut</string>
<!-- TDD--> <!-- TDD-->
<string name="tddformat"><![CDATA[<b>%1$s:</b> ∑: <b>%2$.2f</b> Bol: <b>%3$.2f</b> Baz: <b>%4$.2f</b>]]></string>
<!-- Translator--> <!-- Translator-->
<string name="careportal_bgcheck">Kontrola glykémie</string> <string name="careportal_bgcheck">Kontrola glykémie</string>
<string name="careportal_announcement">Oznámení</string> <string name="careportal_announcement">Oznámení</string>

View file

@ -122,7 +122,8 @@
<!-- Temptarget--> <!-- Temptarget-->
<string name="mins">%1$d Min.</string> <string name="mins">%1$d Min.</string>
<!-- TDD--> <!-- TDD-->
<string name="tddformat"><![CDATA[<b>%1$s:</b> ∑: <b>%2$.2f</b> Bol: <b>%3$.2f</b> Bas: <b>%4$.2f</b>]]></string> <string name="tddformat"><![CDATA[<b>%1$s:</b> ∑: <b>%2$.2fU</b> Bol: <b>%3$.2fU</b> Bas: <b>%4$.2fU</b>]]></string>
<string name="tddwithcarbsformat"><![CDATA[<b>%1$s:</b> ∑: <b>%2$.2fU</b> Bol: <b>%3$.2fU</b> Bas: <b>%4$.2fU</b> KH: <b>%5$.0fg</b>]]></string>
<!-- Translator--> <!-- Translator-->
<string name="careportal_bgcheck">BZ-Test</string> <string name="careportal_bgcheck">BZ-Test</string>
<string name="careportal_announcement">Ankündigung</string> <string name="careportal_announcement">Ankündigung</string>

View file

@ -61,6 +61,7 @@
<string name="mmol">mmol/l</string> <string name="mmol">mmol/l</string>
<string name="advancedsettings_title">Ajustes avanzados</string> <string name="advancedsettings_title">Ajustes avanzados</string>
<string name="bluetooth">Bluetooth</string> <string name="bluetooth">Bluetooth</string>
<string name="btwatchdog_title">Vigilante de BT</string>
<string name="btwatchdog_summary">Apaga el bluetooth del móvil por un segundo si no hay conexión con la bomba. Esto ayuda con algunos móviles con problemas para establecer conexión bluetooth estable.</string> <string name="btwatchdog_summary">Apaga el bluetooth del móvil por un segundo si no hay conexión con la bomba. Esto ayuda con algunos móviles con problemas para establecer conexión bluetooth estable.</string>
<!-- Constraints--> <!-- Constraints-->
<string name="limitingbasalratio">Limitando max basal rate a %1$.2f U/h debido a %2$s</string> <string name="limitingbasalratio">Limitando max basal rate a %1$.2f U/h debido a %2$s</string>
@ -121,7 +122,6 @@
<!-- Temptarget--> <!-- Temptarget-->
<string name="mins">%1$dmin</string> <string name="mins">%1$dmin</string>
<!-- TDD--> <!-- TDD-->
<string name="tddformat"><![CDATA[<b>%1$s:</b> ∑: <b>%2$.2f</b> Bol: <b>%3$.2f</b> Bas: <b>%4$.2f</b>]]></string>
<!-- Translator--> <!-- Translator-->
<string name="careportal_bgcheck">Medir glucosa</string> <string name="careportal_bgcheck">Medir glucosa</string>
<string name="careportal_announcement">Aviso</string> <string name="careportal_announcement">Aviso</string>

View file

@ -122,7 +122,6 @@
<!-- Temptarget--> <!-- Temptarget-->
<string name="mins">%1$dmin</string> <string name="mins">%1$dmin</string>
<!-- TDD--> <!-- TDD-->
<string name="tddformat"><![CDATA[<b>%1$s:</b> ∑: <b>%2$.2f</b> Bol: <b>%3$.2f</b> Bas: <b>%4$.2f</b>]]></string>
<!-- Translator--> <!-- Translator-->
<string name="careportal_bgcheck">Contrôle Glycémie</string> <string name="careportal_bgcheck">Contrôle Glycémie</string>
<string name="careportal_announcement">Notification</string> <string name="careportal_announcement">Notification</string>

View file

@ -122,7 +122,6 @@
<!-- Temptarget--> <!-- Temptarget-->
<string name="mins">%1$dmin</string> <string name="mins">%1$dmin</string>
<!-- TDD--> <!-- TDD-->
<string name="tddformat"><![CDATA[<b>%1$s:</b> ∑: <b>%2$.2f</b> Bol: <b>%3$.2f</b> Bas: <b>%4$.2f</b>]]></string>
<!-- Translator--> <!-- Translator-->
<string name="careportal_bgcheck">Controllo BG</string> <string name="careportal_bgcheck">Controllo BG</string>
<string name="careportal_announcement">Avviso</string> <string name="careportal_announcement">Avviso</string>

View file

@ -122,7 +122,8 @@
<!-- Temptarget--> <!-- Temptarget-->
<string name="mins">%1$dmin</string> <string name="mins">%1$dmin</string>
<!-- TDD--> <!-- TDD-->
<string name="tddformat"><![CDATA[<b>%1$s:</b> ∑: <b>%2$.2f</b> Bolusas: <b>%3$.2f</b> Bazė: <b>%4$.2f</b>]]></string> <string name="tddformat"><![CDATA[<b>%1$s:</b> ∑: <b>%2$.2fU</b> Bol: <b>%3$.2fU</b> Baz: <b>%4$.2fU</b>]]></string>
<string name="tddwithcarbsformat"><![CDATA[<b>%1$s:</b> ∑: <b>%2$.2fU</b> Bol: <b>%3$.2fU</b> Baz: <b>%4$.2fU</b> AV: <b>%5$.0fg</b>]]></string>
<!-- Translator--> <!-- Translator-->
<string name="careportal_bgcheck">KG testas</string> <string name="careportal_bgcheck">KG testas</string>
<string name="careportal_announcement">Pranešimas</string> <string name="careportal_announcement">Pranešimas</string>

View file

@ -122,7 +122,6 @@
<!-- Temptarget--> <!-- Temptarget-->
<string name="mins">%1$dmin</string> <string name="mins">%1$dmin</string>
<!-- TDD--> <!-- TDD-->
<string name="tddformat"><![CDATA[<b>%1$s:</b> ∑: <b>%2$.2f</b> Bol: <b>%3$.2f</b> Bas: <b>%4$.2f</b>]]></string>
<!-- Translator--> <!-- Translator-->
<string name="careportal_bgcheck">BG Controle</string> <string name="careportal_bgcheck">BG Controle</string>
<string name="careportal_announcement">Mededeling</string> <string name="careportal_announcement">Mededeling</string>

View file

@ -69,7 +69,6 @@
<string name="zerovalueinprofile">Nieprawidłowy profil: %1$s</string> <string name="zerovalueinprofile">Nieprawidłowy profil: %1$s</string>
<!-- Temptarget--> <!-- Temptarget-->
<!-- TDD--> <!-- TDD-->
<string name="tddformat"><![CDATA[<b>%1$s:</b> ∑: <b>%2$.2f</b> Bol: <b>%3$.2f</b> Baz: <b>%4$.2f</b>]]></string>
<!-- Translator--> <!-- Translator-->
<string name="careportal_bgcheck">Sprawdź BG</string> <string name="careportal_bgcheck">Sprawdź BG</string>
<string name="careportal_announcement">Powiadomienie</string> <string name="careportal_announcement">Powiadomienie</string>

View file

@ -122,7 +122,8 @@
<!-- Temptarget--> <!-- Temptarget-->
<string name="mins">%1$dmin</string> <string name="mins">%1$dmin</string>
<!-- TDD--> <!-- TDD-->
<string name="tddformat"><![CDATA[<b>%1$s:</b> ∑: <b>%2$.2f</b> Bol: <b>%3$.2f</b> Bas: <b>%4$.2f</b>]]></string> <string name="tddformat"><![CDATA[<b>%1$s:</b> ∑: <b>%2$.2fU</b> Bol: <b>%3$.2fU</b> Bas: <b>%4$.2fU</b>]]></string>
<string name="tddwithcarbsformat"><![CDATA[<b>%1$s:</b> ∑: <b>%2$.2fU</b> Bol: <b>%3$.2fU</b> Bas: <b>%4$.2fU</b> Hidratos: <b>%5$.0fg</b>]]></string>
<!-- Translator--> <!-- Translator-->
<string name="careportal_bgcheck">Verificar Glic</string> <string name="careportal_bgcheck">Verificar Glic</string>
<string name="careportal_announcement">Anúncio</string> <string name="careportal_announcement">Anúncio</string>

View file

@ -1,21 +1,71 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<resources> <resources>
<!-- General--> <!-- General-->
<string name="error">Eroare</string>
<string name="connecting">Se conectează</string>
<string name="connected">Conectat</string>
<string name="disconnected">Deconectat</string>
<string name="disconnecting">Se deconectează</string>
<string name="formatinsulinunits">%1$.2fU</string>
<string name="reservoirvalue">%1$.0f / %2$d U</string>
<string name="close">Închide</string>
<string name="please_wait">Așteptați…</string>
<string name="reload">Reîncărcare</string>
<string name="stop">Stop</string>
<string name="basal_label">Bazală</string>
<string name="target_label">Țintă</string>
<string name="initializing">Inițializare...</string>
<string name="serialnumber">Număr serial</string>
<string name="battery_label">Baterie</string>
<string name="lastconnection_label">Ultima conexiune</string>
<string name="lastbolus_label">Ultimul bolus</string>
<!-- Constraints--> <!-- Constraints-->
<!-- Dialogs--> <!-- Dialogs-->
<string name="confirmation">Confirmare</string>
<string name="message">Mesaj</string>
<string name="ok">OK</string>
<string name="cancel">Renunță</string>
<!-- BlePreCheck--> <!-- BlePreCheck-->
<!-- DateUtil--> <!-- DateUtil-->
<string name="days">zile</string>
<string name="hours">ore</string>
<string name="unit_second">secundă</string>
<string name="unit_minute">minut</string>
<string name="unit_hour">oră</string>
<string name="unit_day">zi</string>
<string name="unit_week">săptămână</string>
<string name="unit_seconds">secunde</string>
<string name="unit_minutes">minute</string>
<string name="unit_hours">ore</string>
<string name="unit_days">zile</string>
<string name="unit_weeks">săptămâni</string>
<string name="shortminute">min</string>
<string name="shortday">z</string>
<!-- Profile--> <!-- Profile-->
<string name="profile_per_unit">/U</string>
<string name="profile_carbs_per_unit">g/U</string>
<!-- ProfileFunction--> <!-- ProfileFunction-->
<!-- PumpType--> <!-- PumpType-->
<!-- APSResult--> <!-- APSResult-->
<string name="duration">Durată</string>
<string name="reason">Motiv</string>
<!-- ProfileSwitch--> <!-- ProfileSwitch-->
<!-- Temptarget--> <!-- Temptarget-->
<!-- TDD--> <!-- TDD-->
<!-- Translator--> <!-- Translator-->
<string name="careportal_announcement">Anunț</string>
<string name="careportal_note">Notă</string>
<string name="careportal_question">Întrebare</string>
<string name="careportal_exercise">Activitate fizică</string>
<string name="careportal_pumpsitechange">Schimbare loc pompă</string>
<!-- Command--> <!-- Command-->
<!-- PumpEnactResult--> <!-- PumpEnactResult-->
<string name="smb_shortname">SMB</string>
<!-- CarbsReq--> <!-- CarbsReq-->
<!-- TDDStatsActivity--> <!-- TDDStatsActivity-->
<string name="basalrate">Bazală</string>
<string name="bolus">Bolus</string>
<string name="tdd">TDD</string>
<string name="weight">Greutate</string>
<!-- Ntp--> <!-- Ntp-->
</resources> </resources>

View file

@ -122,7 +122,6 @@
<!-- Temptarget--> <!-- Temptarget-->
<string name="mins">%1$d мин</string> <string name="mins">%1$d мин</string>
<!-- TDD--> <!-- TDD-->
<string name="tddformat"><![CDATA[<b>%1$s</b>∑:<b>%2$.2f</b>Бол:<b>%3$.2f</b>Баз:<b>%4$.2f</b>]]></string>
<!-- Translator--> <!-- Translator-->
<string name="careportal_bgcheck">Проверка ГК</string> <string name="careportal_bgcheck">Проверка ГК</string>
<string name="careportal_announcement">Оовещение</string> <string name="careportal_announcement">Оовещение</string>

View file

@ -122,7 +122,6 @@
<!-- Temptarget--> <!-- Temptarget-->
<string name="mins">%1$dmin</string> <string name="mins">%1$dmin</string>
<!-- TDD--> <!-- TDD-->
<string name="tddformat"><![CDATA[<b>%1$s:</b> ∑: <b>%2$.2f</b> Bol: <b>%3$.2f</b> Baz: <b>%4$.2f</b>]]></string>
<!-- Translator--> <!-- Translator-->
<string name="careportal_bgcheck">Kontrola glykémie</string> <string name="careportal_bgcheck">Kontrola glykémie</string>
<string name="careportal_announcement">Oznámenie</string> <string name="careportal_announcement">Oznámenie</string>

View file

@ -122,7 +122,8 @@
<!-- Temptarget--> <!-- Temptarget-->
<string name="mins">%1$d min</string> <string name="mins">%1$d min</string>
<!-- TDD--> <!-- TDD-->
<string name="tddformat"><![CDATA[<b>%1$s:</b> ∑: <b>%2$.2f</b> Bol: <b>%3$.2f</b> Bas: <b>%4$.2f</b>]]></string> <string name="tddformat"><![CDATA[<b>%1$s:</b> ∑: <b>%2$.2fU</b> Bol: <b>%3$.2fU</b> Bas: <b>%4$.2fU</b>]]></string>
<string name="tddwithcarbsformat"><![CDATA[<b>%1$s:</b> ∑: <b>%2$.2fU</b> Bol: <b>%3$.2fU</b> Bas: <b>%4$.2fU</b> KH: <b>%5$.0fg</b>]]></string>
<!-- Translator--> <!-- Translator-->
<string name="careportal_bgcheck">BG-kontroll</string> <string name="careportal_bgcheck">BG-kontroll</string>
<string name="careportal_announcement">Meddelande</string> <string name="careportal_announcement">Meddelande</string>

View file

@ -23,6 +23,7 @@
<color name="warningAlertHeaderText">#FF000000</color> <color name="warningAlertHeaderText">#FF000000</color>
<color name="errorAlertBackground">#FFFF5555</color> <color name="errorAlertBackground">#FFFF5555</color>
<color name="errorAlertHeaderText">#FF000000</color> <color name="errorAlertHeaderText">#FF000000</color>
<color name="examinedProfile">#FFFF5555</color>
<!-- Treatment--> <!-- Treatment-->
<color name="tempbasal">#C803A9F4</color> <color name="tempbasal">#C803A9F4</color>

View file

@ -156,7 +156,8 @@
<string name="mins">%1$dmin</string> <string name="mins">%1$dmin</string>
<!-- TDD--> <!-- TDD-->
<string name="tddformat"><![CDATA[<b>%1$s:</b> ∑: <b>%2$.2f</b> Bol: <b>%3$.2f</b> Bas: <b>%4$.2f</b>]]></string> <string name="tddformat"><![CDATA[<b>%1$s:</b> ∑: <b>%2$.2fU</b> Bol: <b>%3$.2fU</b> Bas: <b>%4$.2fU</b>]]></string>
<string name="tddwithcarbsformat"><![CDATA[<b>%1$s:</b> ∑: <b>%2$.2fU</b> Bol: <b>%3$.2fU</b> Bas: <b>%4$.2fU</b> Carbs: <b>%5$.0fg</b>]]></string>
<!-- Translator--> <!-- Translator-->
<string name="careportal_bgcheck">BG Check</string> <string name="careportal_bgcheck">BG Check</string>

View file

@ -15,6 +15,8 @@
<string name="boluserrorcode">Solicitado: %1$.2fU Entregado: %2$.2fU Código de error: %3$s</string> <string name="boluserrorcode">Solicitado: %1$.2fU Entregado: %2$.2fU Código de error: %3$s</string>
<string name="danar_valuenotsetproperly">Valor no establecido correctamente</string> <string name="danar_valuenotsetproperly">Valor no establecido correctamente</string>
<string name="danar_setbasalstep001">Ajustar paso basal a 0.01 U/h</string> <string name="danar_setbasalstep001">Ajustar paso basal a 0.01 U/h</string>
<string name="resetpairing">¿Restablecer información de emparejamiento?</string>
<string name="dana_model">%1$s\nModelo: %2$02X\nProtocol: %3$02X\nCódigo: %4$02X</string>
<string name="processinghistory">Procesando evento</string> <string name="processinghistory">Procesando evento</string>
<string name="danar_enableextendedbolus">Habilitar bolos extendidos en bomba</string> <string name="danar_enableextendedbolus">Habilitar bolos extendidos en bomba</string>
<string name="overview_bolusprogress_delivered">Entregado</string> <string name="overview_bolusprogress_delivered">Entregado</string>
@ -22,14 +24,18 @@
<string name="unsupportedfirmware">Firmware de la bomba no soportado</string> <string name="unsupportedfirmware">Firmware de la bomba no soportado</string>
<string name="pumperror">Error de bomba</string> <string name="pumperror">Error de bomba</string>
<string name="lowbattery">Batería Baja</string> <string name="lowbattery">Batería Baja</string>
<string name="basalcompare">Entregar menos de la tasa basal preestablecida</string>
<string name="pumpshutdown">Bomba apagada</string> <string name="pumpshutdown">Bomba apagada</string>
<string name="batterydischarged">Batería de la bomba descargada</string> <string name="batterydischarged">Batería de la bomba descargada</string>
<string name="occlusion">Oclusión</string> <string name="occlusion">Oclusión</string>
<string name="emptyreservoir">Reservorio vacío</string> <string name="emptyreservoir">Reservorio vacío</string>
<string name="checkshaft">Comprobar eje</string>
<string name="basalmax">Basal max</string> <string name="basalmax">Basal max</string>
<string name="dailymax">Máximo diario</string> <string name="dailymax">Máximo diario</string>
<string name="bloodsugarmeasurementalert">Alerta de control de BG</string> <string name="bloodsugarmeasurementalert">Alerta de control de BG</string>
<string name="remaininsulinalert">Insulina restante en reservorio</string> <string name="remaininsulinalert">Insulina restante en reservorio</string>
<string name="missedbolus">Bolo perdido</string>
<string name="invalidpairing">Información de emparejamiento no válida. Solicitando un nuevo emparejamiento</string>
<string name="gettingpumpstatus">Recibir estado de bomba</string> <string name="gettingpumpstatus">Recibir estado de bomba</string>
<string name="gettingextendedbolusstatus">Recibiendo estado de bolo extendido</string> <string name="gettingextendedbolusstatus">Recibiendo estado de bolo extendido</string>
<string name="gettingbolusstatus">Recibiendo estado bolo</string> <string name="gettingbolusstatus">Recibiendo estado bolo</string>
@ -98,9 +104,19 @@
<string name="option_on">Activado</string> <string name="option_on">Activado</string>
<string name="option_off">Desactivado</string> <string name="option_off">Desactivado</string>
<string name="danar_bt_name_title">Dispositivo Bluetooth DanaR</string> <string name="danar_bt_name_title">Dispositivo Bluetooth DanaR</string>
<string name="danars_password_title">Bomba de contraseña (v1 solamente)</string>
<string name="danar_password_title">Contraseña de la bomba</string> <string name="danar_password_title">Contraseña de la bomba</string>
<string name="danar_useextended_title">Usar bolos extendidos para &gt;200%%</string> <string name="danar_useextended_title">Usar bolos extendidos para &gt;200%%</string>
<string name="danar_visualizeextendedaspercentage_title">Visualizar bolo extendido como %%</string> <string name="danar_visualizeextendedaspercentage_title">Visualizar bolo extendido como %%</string>
<string name="bolusspeed">Velocidad bolo</string> <string name="bolusspeed">Velocidad bolo</string>
<string name="selectedpump">Bomba seleccionada</string> <string name="selectedpump">Bomba seleccionada</string>
<string name="rs_loginsulinchange_title">Registrar cambios de reservorio</string>
<string name="rs_loginsulinchange_summary">Añadir evento \"Cambio de Insulina\" al portal de cuidados cuando se detecte en el historial</string>
<string name="rs_logcanulachange_title">Registro de cambio de cánula</string>
<string name="rs_logcanulachange_summary">Añadir evento \"Cambio de Cánula\" al portal de cuidados cuando se detecte en el historial</string>
<string name="pin1">PIN1</string>
<string name="pin2">PIN2</string>
<string name="press_ok_on_the_pump">Pulse Aceptar en la bomba\ny entre 2 números visualizados\nMantener la pantalla en la bomba ON pulsando el botón menos hasta que termine de introducir el código.</string>
<string name="num1pin">1: (12 dígitos)</string>
<string name="num2pin">2: (8 dígitos)</string>
</resources> </resources>

View file

@ -1,2 +1,45 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<resources></resources> <resources>
<string name="danarspump">DanaRS</string>
<string name="danarspump_shortname">Dana</string>
<string name="overview_bolusprogress_delivered">Livrat</string>
<string name="overview_bolusprogress_stoped">Oprit</string>
<string name="occlusion">Ocluzie</string>
<string name="emptyreservoir">Rezervor gol</string>
<string name="stoppingtempbasal">Se oprește bazala temporară</string>
<string name="stoppingextendedbolus">Se oprește bolusul extins</string>
<string name="wrongpassword">Parolă greșită</string>
<string name="wrongpumppassword">Parola pompei greșită!</string>
<string name="danar_history_alarm">Alarme</string>
<string name="danar_history_bolus">Bolusuri</string>
<string name="danar_history_carbohydrates">Carbohidrați</string>
<string name="danar_history_errors">Erori</string>
<string name="danar_history_glucose">Glicemie</string>
<string name="danar_history_refill">Reumplere</string>
<string name="danar_history_syspend">Suspendare</string>
<string name="danar_history_prime">Amorsare</string>
<string name="danar_pumpalarm">Alarmă</string>
<string name="danar_pumpalarm_sound">Sunet</string>
<string name="danar_pumpalarm_vibrate">Vibrație</string>
<string name="danar_pumpalarm_both">Ambele</string>
<string name="danar_saveuseroptions">Salvați opțiunile în pompă</string>
<string name="description_pump_dana_r">Integrare cu pompele DANA Diabcare R</string>
<string name="danarpump_shortname">DANA</string>
<string name="danarkoreanpump">DanaR din Coreea</string>
<string name="danarpump">DanaR</string>
<string name="danarv2pump">DanaRv2</string>
<string name="danar_bluetooth_status">Status Bluetooth</string>
<string name="danar_iob_label">IOB din pompă</string>
<string name="basal_step">Pas bazală</string>
<string name="bolus_step">Pas bolus</string>
<string name="virtualpump_firmware_label">Firmware</string>
<string name="danar_pump_settings">Setări pompă Dana</string>
<string name="timeformat12h">12h</string>
<string name="timeformat24h">24h</string>
<string name="option_on">Pornit</string>
<string name="option_off">Oprit</string>
<string name="pin1">PIN1</string>
<string name="pin2">PIN2</string>
<string name="num1pin">1: (12 cifre)</string>
<string name="num2pin">2: (8 cifre)</string>
</resources>

View file

@ -1,2 +1,16 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<resources></resources> <resources>
<string name="app_name">AAPS</string>
<string name="label_actions_activity">AAPS</string>
<string name="label_xdrip">AAPS</string>
<string name="label_xdrip_v2">AAPSv2</string>
<string name="label_warning_sync_aaps">Sincronizare cu AAPS!</string>
<string name="pref_on">Pornit</string>
<string name="pref_off">Oprit</string>
<string name="pref_1_hour">1 oră</string>
<string name="pref_2_hours">2 ore</string>
<string name="pref_3_hours">3 ore</string>
<string name="pref_4_hours">4 ore</string>
<string name="pref_5_hours">5 ore</string>
<string name="pref_default">Implicit</string>
</resources>