Merge branch 'dev' into feature/sync
@@ -20,7 +20,7 @@
|
||||
*/
|
||||
|
||||
plugins {
|
||||
id("com.github.triplet.play") version "3.2.0"
|
||||
id("com.github.triplet.play") version "3.5.0"
|
||||
id("com.android.application")
|
||||
id("org.jetbrains.kotlin.android")
|
||||
id("org.jetbrains.kotlin.kapt")
|
||||
@@ -37,8 +37,8 @@ android {
|
||||
compileSdkVersion(30)
|
||||
|
||||
defaultConfig {
|
||||
versionCode(20001)
|
||||
versionName("2.0.1")
|
||||
versionCode(20003)
|
||||
versionName("2.0.3")
|
||||
minSdkVersion(23)
|
||||
targetSdkVersion(30)
|
||||
applicationId("org.isoron.uhabits")
|
||||
@@ -88,11 +88,11 @@ android {
|
||||
}
|
||||
|
||||
dependencies {
|
||||
val daggerVersion = "2.35.1"
|
||||
val kotlinVersion = "1.5.0"
|
||||
val kxCoroutinesVersion = "1.4.2"
|
||||
val ktorVersion = "1.5.4"
|
||||
val espressoVersion = "3.3.0"
|
||||
val daggerVersion = "2.38.1"
|
||||
val kotlinVersion = "1.5.21"
|
||||
val kxCoroutinesVersion = "1.5.1"
|
||||
val ktorVersion = "1.6.2"
|
||||
val espressoVersion = "3.4.0"
|
||||
|
||||
androidTestImplementation("androidx.test.espresso:espresso-contrib:$espressoVersion")
|
||||
androidTestImplementation("androidx.test.espresso:espresso-core:$espressoVersion")
|
||||
@@ -101,9 +101,9 @@ dependencies {
|
||||
androidTestImplementation("io.ktor:ktor-client-mock:$ktorVersion")
|
||||
androidTestImplementation("io.ktor:ktor-jackson:$ktorVersion")
|
||||
androidTestImplementation("androidx.annotation:annotation:1.2.0")
|
||||
androidTestImplementation("androidx.test.ext:junit:1.1.2")
|
||||
androidTestImplementation("androidx.test.ext:junit:1.1.3")
|
||||
androidTestImplementation("androidx.test.uiautomator:uiautomator:2.2.0")
|
||||
androidTestImplementation("androidx.test:rules:1.3.0")
|
||||
androidTestImplementation("androidx.test:rules:1.4.0")
|
||||
androidTestImplementation("com.nhaarman.mockitokotlin2:mockito-kotlin:2.2.0")
|
||||
compileOnly("javax.annotation:jsr250-api:1.0")
|
||||
coreLibraryDesugaring("com.android.tools:desugar_jdk_libs:1.1.5")
|
||||
@@ -118,12 +118,12 @@ dependencies {
|
||||
implementation("org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlinVersion")
|
||||
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-android:$kxCoroutinesVersion")
|
||||
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:$kxCoroutinesVersion")
|
||||
implementation("androidx.appcompat:appcompat:1.2.0")
|
||||
implementation("androidx.appcompat:appcompat:1.3.1")
|
||||
implementation("androidx.legacy:legacy-preference-v14:1.0.0")
|
||||
implementation("androidx.legacy:legacy-support-v4:1.0.0")
|
||||
implementation("com.google.android.material:material:1.3.0")
|
||||
implementation("com.google.android.material:material:1.4.0")
|
||||
implementation("com.google.zxing:core:3.4.1")
|
||||
implementation("com.opencsv:opencsv:5.4")
|
||||
implementation("com.opencsv:opencsv:5.5.1")
|
||||
implementation(project(":uhabits-core"))
|
||||
kapt("com.google.dagger:dagger-compiler:$daggerVersion")
|
||||
kaptAndroidTest("com.google.dagger:dagger-compiler:$daggerVersion")
|
||||
|
||||
|
Before Width: | Height: | Size: 6.9 KiB After Width: | Height: | Size: 7.6 KiB |
|
Before Width: | Height: | Size: 8.6 KiB After Width: | Height: | Size: 8.9 KiB |
|
Before Width: | Height: | Size: 18 KiB After Width: | Height: | Size: 20 KiB |
|
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 15 KiB |
@@ -23,10 +23,10 @@ import org.isoron.uhabits.core.models.Entry.Companion.YES_MANUAL
|
||||
import org.isoron.uhabits.core.models.Frequency
|
||||
import org.isoron.uhabits.core.models.Frequency.Companion.DAILY
|
||||
import org.isoron.uhabits.core.models.Habit
|
||||
import org.isoron.uhabits.core.models.Habit.Companion.AT_LEAST
|
||||
import org.isoron.uhabits.core.models.Habit.Companion.NUMBER_HABIT
|
||||
import org.isoron.uhabits.core.models.HabitList
|
||||
import org.isoron.uhabits.core.models.HabitType
|
||||
import org.isoron.uhabits.core.models.ModelFactory
|
||||
import org.isoron.uhabits.core.models.NumericalHabitType
|
||||
import org.isoron.uhabits.core.models.PaletteColor
|
||||
import org.isoron.uhabits.core.models.Timestamp
|
||||
import org.isoron.uhabits.core.utils.DateUtils.Companion.getToday
|
||||
@@ -102,8 +102,8 @@ class HabitFixtures(private val modelFactory: ModelFactory, private val habitLis
|
||||
val habit = modelFactory.buildHabit().apply {
|
||||
name = "Read"
|
||||
question = "How many pages did you walk today?"
|
||||
type = NUMBER_HABIT
|
||||
targetType = AT_LEAST
|
||||
type = HabitType.NUMERICAL
|
||||
targetType = NumericalHabitType.AT_LEAST
|
||||
targetValue = 200.0
|
||||
unit = "pages"
|
||||
}
|
||||
|
||||
@@ -23,6 +23,7 @@ import androidx.test.filters.MediumTest
|
||||
import org.isoron.uhabits.BaseViewTest
|
||||
import org.isoron.uhabits.core.models.Habit
|
||||
import org.isoron.uhabits.core.ui.screens.habits.show.views.ScoreCardPresenter.Companion.buildState
|
||||
import org.isoron.uhabits.core.ui.views.LightTheme
|
||||
import org.isoron.uhabits.utils.toFixedAndroidColor
|
||||
import org.junit.Before
|
||||
import org.junit.Test
|
||||
@@ -39,7 +40,12 @@ class ScoreChartTest : BaseViewTest() {
|
||||
super.setUp()
|
||||
fixtures.purgeHabits(habitList)
|
||||
habit = fixtures.createLongHabit()
|
||||
val state = buildState(habit, prefs.firstWeekdayInt, 0)
|
||||
val state = buildState(
|
||||
habit = habit,
|
||||
firstWeekday = prefs.firstWeekdayInt,
|
||||
spinnerPosition = 0,
|
||||
theme = LightTheme(),
|
||||
)
|
||||
view = ScoreChart(targetContext).apply {
|
||||
setScores(state.scores)
|
||||
setColor(state.color.toFixedAndroidColor())
|
||||
@@ -72,7 +78,7 @@ class ScoreChartTest : BaseViewTest() {
|
||||
@Test
|
||||
@Throws(Throwable::class)
|
||||
fun testRender_withMonthlyBucket() {
|
||||
val (scores, bucketSize) = buildState(habit, prefs.firstWeekdayInt, 2)
|
||||
val (scores, bucketSize) = buildState(habit, prefs.firstWeekdayInt, 2, LightTheme())
|
||||
view.setScores(scores)
|
||||
view.setBucketSize(bucketSize)
|
||||
view.invalidate()
|
||||
@@ -89,7 +95,7 @@ class ScoreChartTest : BaseViewTest() {
|
||||
@Test
|
||||
@Throws(Throwable::class)
|
||||
fun testRender_withYearlyBucket() {
|
||||
val state = buildState(habit, prefs.firstWeekdayInt, 4)
|
||||
val state = buildState(habit, prefs.firstWeekdayInt, 4, LightTheme())
|
||||
view.setScores(state.scores)
|
||||
view.setBucketSize(state.bucketSize)
|
||||
view.invalidate()
|
||||
|
||||
@@ -25,6 +25,7 @@ import androidx.test.filters.MediumTest
|
||||
import org.isoron.uhabits.BaseViewTest
|
||||
import org.isoron.uhabits.R
|
||||
import org.isoron.uhabits.core.ui.screens.habits.show.views.FrequencyCardPresenter
|
||||
import org.isoron.uhabits.core.ui.views.LightTheme
|
||||
import org.junit.Before
|
||||
import org.junit.Test
|
||||
import org.junit.runner.RunWith
|
||||
@@ -43,7 +44,13 @@ class FrequencyCardViewTest : BaseViewTest() {
|
||||
.from(targetContext)
|
||||
.inflate(R.layout.show_habit, null)
|
||||
.findViewById<View>(R.id.frequencyCard) as FrequencyCardView
|
||||
view.setState(FrequencyCardPresenter.buildState(habit = habit, firstWeekday = 0))
|
||||
view.setState(
|
||||
FrequencyCardPresenter.buildState(
|
||||
habit = habit,
|
||||
firstWeekday = 0,
|
||||
theme = LightTheme(),
|
||||
)
|
||||
)
|
||||
measureView(view, 800f, 600f)
|
||||
}
|
||||
|
||||
|
||||
@@ -26,6 +26,7 @@ import org.isoron.uhabits.BaseViewTest
|
||||
import org.isoron.uhabits.R
|
||||
import org.isoron.uhabits.core.models.PaletteColor
|
||||
import org.isoron.uhabits.core.ui.screens.habits.show.views.OverviewCardState
|
||||
import org.isoron.uhabits.core.ui.views.LightTheme
|
||||
import org.junit.Before
|
||||
import org.junit.Test
|
||||
import org.junit.runner.RunWith
|
||||
@@ -50,6 +51,7 @@ class OverviewCardViewTest : BaseViewTest() {
|
||||
scoreYearDiff = 0.74f,
|
||||
totalCount = 44,
|
||||
color = PaletteColor(7),
|
||||
theme = LightTheme(),
|
||||
)
|
||||
)
|
||||
measureView(view, 800f, 300f)
|
||||
|
||||
@@ -25,6 +25,7 @@ import androidx.test.filters.MediumTest
|
||||
import org.isoron.uhabits.BaseViewTest
|
||||
import org.isoron.uhabits.R
|
||||
import org.isoron.uhabits.core.ui.screens.habits.show.views.ScoreCardPresenter.Companion.buildState
|
||||
import org.isoron.uhabits.core.ui.views.LightTheme
|
||||
import org.junit.Before
|
||||
import org.junit.Test
|
||||
import org.junit.runner.RunWith
|
||||
@@ -43,7 +44,14 @@ class ScoreCardViewTest : BaseViewTest() {
|
||||
.from(targetContext)
|
||||
.inflate(R.layout.show_habit, null)
|
||||
.findViewById<View>(R.id.scoreCard) as ScoreCardView
|
||||
view.setState(buildState(habit = habit, firstWeekday = 0, spinnerPosition = 0))
|
||||
view.setState(
|
||||
buildState(
|
||||
habit = habit,
|
||||
firstWeekday = 0,
|
||||
spinnerPosition = 0,
|
||||
theme = LightTheme(),
|
||||
)
|
||||
)
|
||||
measureView(view, 800f, 600f)
|
||||
}
|
||||
|
||||
|
||||
@@ -25,6 +25,7 @@ import androidx.test.filters.MediumTest
|
||||
import org.isoron.uhabits.BaseViewTest
|
||||
import org.isoron.uhabits.R
|
||||
import org.isoron.uhabits.core.ui.screens.habits.show.views.StreakCardState
|
||||
import org.isoron.uhabits.core.ui.views.LightTheme
|
||||
import org.junit.Before
|
||||
import org.junit.Test
|
||||
import org.junit.runner.RunWith
|
||||
@@ -47,6 +48,7 @@ class StreakCardViewTest : BaseViewTest() {
|
||||
StreakCardState(
|
||||
bestStreaks = habit.streaks.getBest(10),
|
||||
color = habit.color,
|
||||
theme = LightTheme(),
|
||||
)
|
||||
)
|
||||
measureView(view, 800f, 600f)
|
||||
|
||||
@@ -28,6 +28,7 @@ import org.isoron.uhabits.core.models.PaletteColor
|
||||
import org.isoron.uhabits.core.models.Reminder
|
||||
import org.isoron.uhabits.core.models.WeekdayList.Companion.EVERY_DAY
|
||||
import org.isoron.uhabits.core.ui.screens.habits.show.views.SubtitleCardState
|
||||
import org.isoron.uhabits.core.ui.views.LightTheme
|
||||
import org.junit.Before
|
||||
import org.junit.Test
|
||||
import org.junit.runner.RunWith
|
||||
@@ -54,6 +55,7 @@ class SubtitleCardViewTest : BaseViewTest() {
|
||||
reminder = Reminder(8, 30, EVERY_DAY),
|
||||
unit = "",
|
||||
targetValue = 0.0,
|
||||
theme = LightTheme(),
|
||||
)
|
||||
)
|
||||
measureView(view, 800f, 200f)
|
||||
|
||||
@@ -50,7 +50,7 @@ class CheckmarkWidgetViewTest : BaseViewTest() {
|
||||
name = habit.name
|
||||
}
|
||||
view.refresh()
|
||||
measureView(view, dpToPixels(100), dpToPixels(200))
|
||||
measureView(view, dpToPixels(100), dpToPixels(125))
|
||||
}
|
||||
|
||||
@Test
|
||||
|
||||
@@ -36,6 +36,7 @@ class AndroidCanvas : Canvas {
|
||||
var innerDensity = 1.0
|
||||
var innerWidth = 0
|
||||
var innerHeight = 0
|
||||
var mHeight = 15
|
||||
|
||||
var paint = Paint().apply {
|
||||
isAntiAlias = true
|
||||
@@ -64,11 +65,10 @@ class AndroidCanvas : Canvas {
|
||||
}
|
||||
|
||||
override fun drawText(text: String, x: Double, y: Double) {
|
||||
textPaint.getTextBounds(text, 0, text.length, textBounds)
|
||||
innerCanvas.drawText(
|
||||
text,
|
||||
x.toDp(),
|
||||
y.toDp() - textBounds.exactCenterY(),
|
||||
y.toDp() + 0.6f * mHeight,
|
||||
textPaint,
|
||||
)
|
||||
}
|
||||
@@ -126,10 +126,17 @@ class AndroidCanvas : Canvas {
|
||||
Font.BOLD -> Typeface.DEFAULT_BOLD
|
||||
Font.FONT_AWESOME -> getFontAwesome(context)
|
||||
}
|
||||
updateMHeight()
|
||||
}
|
||||
|
||||
override fun setFontSize(size: Double) {
|
||||
textPaint.textSize = size.toDp()
|
||||
updateMHeight()
|
||||
}
|
||||
|
||||
private fun updateMHeight() {
|
||||
textPaint.getTextBounds("m", 0, 1, textBounds)
|
||||
mHeight = textBounds.height()
|
||||
}
|
||||
|
||||
override fun setStrokeWidth(size: Double) {
|
||||
|
||||
@@ -30,6 +30,7 @@ import org.isoron.uhabits.core.preferences.Preferences
|
||||
import org.isoron.uhabits.core.ui.ThemeSwitcher
|
||||
import org.isoron.uhabits.core.ui.views.DarkTheme
|
||||
import org.isoron.uhabits.core.ui.views.LightTheme
|
||||
import org.isoron.uhabits.core.ui.views.PureBlackTheme
|
||||
import org.isoron.uhabits.core.ui.views.Theme
|
||||
import org.isoron.uhabits.inject.ActivityContext
|
||||
import org.isoron.uhabits.inject.ActivityScope
|
||||
@@ -66,7 +67,7 @@ constructor(
|
||||
}
|
||||
|
||||
override fun applyPureBlackTheme() {
|
||||
currentTheme = DarkTheme()
|
||||
currentTheme = PureBlackTheme()
|
||||
context.setTheme(R.style.AppBaseThemeDark_PureBlack)
|
||||
(context as Activity).window.navigationBarColor =
|
||||
ContextCompat.getColor(context, R.color.black)
|
||||
|
||||
@@ -26,6 +26,7 @@ import org.isoron.uhabits.BuildConfig
|
||||
import org.isoron.uhabits.R
|
||||
import org.isoron.uhabits.core.models.PaletteColor
|
||||
import org.isoron.uhabits.databinding.AboutBinding
|
||||
import org.isoron.uhabits.utils.currentTheme
|
||||
import org.isoron.uhabits.utils.setupToolbar
|
||||
|
||||
@SuppressLint("ViewConstructor")
|
||||
@@ -41,7 +42,8 @@ class AboutView(
|
||||
setupToolbar(
|
||||
toolbar = binding.toolbar,
|
||||
color = PaletteColor(11),
|
||||
title = resources.getString(R.string.about)
|
||||
title = resources.getString(R.string.about),
|
||||
theme = currentTheme(),
|
||||
)
|
||||
val version = resources.getString(R.string.version_n)
|
||||
binding.tvContributors.setOnClickListener { screen.showCodeContributorsWebsite() }
|
||||
|
||||
@@ -19,20 +19,21 @@
|
||||
package org.isoron.uhabits.activities.common.dialogs
|
||||
|
||||
import android.content.Context
|
||||
import org.isoron.platform.gui.toInt
|
||||
import org.isoron.uhabits.R
|
||||
import org.isoron.uhabits.core.models.PaletteColor
|
||||
import org.isoron.uhabits.core.ui.views.Theme
|
||||
import org.isoron.uhabits.inject.ActivityContext
|
||||
import org.isoron.uhabits.inject.ActivityScope
|
||||
import org.isoron.uhabits.utils.StyledResources
|
||||
import org.isoron.uhabits.utils.toThemedAndroidColor
|
||||
import javax.inject.Inject
|
||||
|
||||
@ActivityScope
|
||||
class ColorPickerDialogFactory @Inject constructor(@param:ActivityContext private val context: Context) {
|
||||
fun create(color: PaletteColor): ColorPickerDialog {
|
||||
fun create(color: PaletteColor, theme: Theme): ColorPickerDialog {
|
||||
val dialog = ColorPickerDialog()
|
||||
val res = StyledResources(context)
|
||||
val androidColor = color.toThemedAndroidColor(context)
|
||||
val androidColor = theme.color(color).toInt()
|
||||
dialog.initialize(
|
||||
R.string.color_picker_default_title,
|
||||
res.getPalette(),
|
||||
|
||||
@@ -160,26 +160,28 @@ class FrequencyPickerDialog(
|
||||
|
||||
private fun populateViews() {
|
||||
uncheckAll()
|
||||
if (freqNumerator == 1) {
|
||||
if (freqDenominator == 1) {
|
||||
contentView.everyDayRadioButton.isChecked = true
|
||||
} else {
|
||||
contentView.everyXDaysRadioButton.isChecked = true
|
||||
contentView.everyXDaysTextView.setText(freqDenominator.toString())
|
||||
focus(contentView.everyXDaysTextView)
|
||||
}
|
||||
if (freqDenominator == 30 || freqDenominator == 31) {
|
||||
contentView.xTimesPerMonthRadioButton.isChecked = true
|
||||
contentView.xTimesPerMonthTextView.setText(freqNumerator.toString())
|
||||
focus(contentView.xTimesPerMonthTextView)
|
||||
} else {
|
||||
if (freqDenominator == 7) {
|
||||
contentView.xTimesPerWeekRadioButton.isChecked = true
|
||||
contentView.xTimesPerWeekTextView.setText(freqNumerator.toString())
|
||||
focus(contentView.xTimesPerWeekTextView)
|
||||
} else if (freqDenominator == 30 || freqDenominator == 31) {
|
||||
contentView.xTimesPerMonthRadioButton.isChecked = true
|
||||
contentView.xTimesPerMonthTextView.setText(freqNumerator.toString())
|
||||
focus(contentView.xTimesPerMonthTextView)
|
||||
if (freqNumerator == 1) {
|
||||
if (freqDenominator == 1) {
|
||||
contentView.everyDayRadioButton.isChecked = true
|
||||
} else {
|
||||
contentView.everyXDaysRadioButton.isChecked = true
|
||||
contentView.everyXDaysTextView.setText(freqDenominator.toString())
|
||||
focus(contentView.everyXDaysTextView)
|
||||
}
|
||||
} else {
|
||||
Log.w("FrequencyPickerDialog", "Unknown frequency: $freqNumerator/$freqDenominator")
|
||||
contentView.everyDayRadioButton.isChecked = true
|
||||
if (freqDenominator == 7) {
|
||||
contentView.xTimesPerWeekRadioButton.isChecked = true
|
||||
contentView.xTimesPerWeekTextView.setText(freqNumerator.toString())
|
||||
focus(contentView.xTimesPerWeekTextView)
|
||||
} else {
|
||||
Log.w("FrequencyPickerDialog", "Unknown frequency: $freqNumerator/$freqDenominator")
|
||||
contentView.everyDayRadioButton.isChecked = true
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -41,7 +41,7 @@ class BundleSavedState : AbsSavedState {
|
||||
}
|
||||
|
||||
companion object {
|
||||
val CREATOR: Parcelable.Creator<BundleSavedState> =
|
||||
@JvmField val CREATOR: Parcelable.Creator<BundleSavedState> =
|
||||
object : ClassLoaderCreator<BundleSavedState> {
|
||||
override fun createFromParcel(
|
||||
source: Parcel,
|
||||
|
||||
@@ -41,6 +41,7 @@ import org.isoron.uhabits.utils.InterfaceUtils.getFontAwesome
|
||||
import org.isoron.uhabits.utils.InterfaceUtils.spToPixels
|
||||
import org.isoron.uhabits.utils.PaletteUtils.getAndroidTestColor
|
||||
import org.isoron.uhabits.utils.StyledResources
|
||||
import kotlin.math.max
|
||||
import kotlin.math.min
|
||||
import kotlin.math.roundToLong
|
||||
|
||||
@@ -48,7 +49,7 @@ class RingView : View {
|
||||
private var color: Int
|
||||
private var precision: Float
|
||||
private var percentage: Float
|
||||
private var diameter = 0
|
||||
private var diameter = 1
|
||||
private var thickness: Float
|
||||
private var rect: RectF? = null
|
||||
private var pRing: TextPaint? = null
|
||||
@@ -169,7 +170,7 @@ class RingView : View {
|
||||
super.onMeasure(widthMeasureSpec, heightMeasureSpec)
|
||||
val width = MeasureSpec.getSize(widthMeasureSpec)
|
||||
val height = MeasureSpec.getSize(heightMeasureSpec)
|
||||
diameter = min(height, width)
|
||||
diameter = max(1, min(height, width))
|
||||
pRing!!.textSize = textSize
|
||||
em = pRing!!.measureText("M")
|
||||
setMeasuredDimension(diameter, diameter)
|
||||
|
||||
@@ -117,7 +117,11 @@ class TargetChart : View {
|
||||
barRect[rect.left + stop + padding, rect.top + baseSize * 0.05f, rect.right - padding] =
|
||||
rect.bottom - baseSize * 0.05f
|
||||
canvas.drawRoundRect(barRect, round, round, paint!!)
|
||||
var percentage = (values[row] / targets[row]).toFloat()
|
||||
var percentage = if (targets[row] > 0) {
|
||||
(values[row] / targets[row]).toFloat()
|
||||
} else {
|
||||
1.0f
|
||||
}
|
||||
percentage = min(1.0f, percentage)
|
||||
|
||||
// Draw completed box
|
||||
|
||||
@@ -29,10 +29,10 @@ class TaskProgressBar(
|
||||
context: Context,
|
||||
private val runner: TaskRunner
|
||||
) : ProgressBar(
|
||||
context,
|
||||
null,
|
||||
android.R.attr.progressBarStyleHorizontal
|
||||
),
|
||||
context,
|
||||
null,
|
||||
android.R.attr.progressBarStyleHorizontal
|
||||
),
|
||||
TaskRunner.Listener {
|
||||
|
||||
init {
|
||||
|
||||
@@ -21,6 +21,7 @@ package org.isoron.uhabits.activities.habits.edit
|
||||
|
||||
import android.annotation.SuppressLint
|
||||
import android.content.res.ColorStateList
|
||||
import android.content.res.Resources
|
||||
import android.graphics.Color
|
||||
import android.os.Bundle
|
||||
import android.text.Html
|
||||
@@ -39,6 +40,7 @@ import kotlinx.android.synthetic.main.activity_edit_habit.notesInput
|
||||
import kotlinx.android.synthetic.main.activity_edit_habit.questionInput
|
||||
import kotlinx.android.synthetic.main.activity_edit_habit.targetInput
|
||||
import kotlinx.android.synthetic.main.activity_edit_habit.unitInput
|
||||
import org.isoron.platform.gui.toInt
|
||||
import org.isoron.uhabits.HabitsApplication
|
||||
import org.isoron.uhabits.R
|
||||
import org.isoron.uhabits.activities.AndroidThemeSwitcher
|
||||
@@ -50,6 +52,8 @@ import org.isoron.uhabits.core.commands.CreateHabitCommand
|
||||
import org.isoron.uhabits.core.commands.EditHabitCommand
|
||||
import org.isoron.uhabits.core.models.Frequency
|
||||
import org.isoron.uhabits.core.models.Habit
|
||||
import org.isoron.uhabits.core.models.HabitType
|
||||
import org.isoron.uhabits.core.models.NumericalHabitType
|
||||
import org.isoron.uhabits.core.models.PaletteColor
|
||||
import org.isoron.uhabits.core.models.Reminder
|
||||
import org.isoron.uhabits.core.models.WeekdayList
|
||||
@@ -57,7 +61,16 @@ import org.isoron.uhabits.databinding.ActivityEditHabitBinding
|
||||
import org.isoron.uhabits.utils.ColorUtils
|
||||
import org.isoron.uhabits.utils.formatTime
|
||||
import org.isoron.uhabits.utils.toFormattedString
|
||||
import org.isoron.uhabits.utils.toThemedAndroidColor
|
||||
|
||||
fun formatFrequency(freqNum: Int, freqDen: Int, resources: Resources) = when {
|
||||
freqNum == 1 && (freqDen == 30 || freqDen == 31) -> resources.getString(R.string.every_month)
|
||||
freqDen == 30 || freqDen == 31 -> resources.getString(R.string.x_times_per_month, freqNum)
|
||||
freqNum == 1 && freqDen == 1 -> resources.getString(R.string.every_day)
|
||||
freqNum == 1 && freqDen == 7 -> resources.getString(R.string.every_week)
|
||||
freqNum == 1 && freqDen > 1 -> resources.getString(R.string.every_x_days, freqDen)
|
||||
freqDen == 7 -> resources.getString(R.string.x_times_per_week, freqNum)
|
||||
else -> "$freqNum/$freqDen"
|
||||
}
|
||||
|
||||
class EditHabitActivity : AppCompatActivity() {
|
||||
|
||||
@@ -66,7 +79,7 @@ class EditHabitActivity : AppCompatActivity() {
|
||||
private lateinit var commandRunner: CommandRunner
|
||||
|
||||
var habitId = -1L
|
||||
var habitType = -1
|
||||
lateinit var habitType: HabitType
|
||||
var unit = ""
|
||||
var color = PaletteColor(11)
|
||||
var androidColor = 0
|
||||
@@ -105,12 +118,12 @@ class EditHabitActivity : AppCompatActivity() {
|
||||
binding.unitInput.setText(habit.unit)
|
||||
binding.targetInput.setText(habit.targetValue.toString())
|
||||
} else {
|
||||
habitType = intent.getIntExtra("habitType", Habit.YES_NO_HABIT)
|
||||
habitType = HabitType.fromInt(intent.getIntExtra("habitType", HabitType.YES_NO.value))
|
||||
}
|
||||
|
||||
if (state != null) {
|
||||
habitId = state.getLong("habitId")
|
||||
habitType = state.getInt("habitType")
|
||||
habitType = HabitType.fromInt(state.getInt("habitType"))
|
||||
color = PaletteColor(state.getInt("paletteColor"))
|
||||
freqNum = state.getInt("freqNum")
|
||||
freqDen = state.getInt("freqDen")
|
||||
@@ -121,13 +134,16 @@ class EditHabitActivity : AppCompatActivity() {
|
||||
|
||||
updateColors()
|
||||
|
||||
if (habitType == Habit.YES_NO_HABIT) {
|
||||
binding.unitOuterBox.visibility = View.GONE
|
||||
binding.targetOuterBox.visibility = View.GONE
|
||||
} else {
|
||||
binding.nameInput.hint = getString(R.string.measurable_short_example)
|
||||
binding.questionInput.hint = getString(R.string.measurable_question_example)
|
||||
binding.frequencyOuterBox.visibility = View.GONE
|
||||
when (habitType) {
|
||||
HabitType.YES_NO -> {
|
||||
binding.unitOuterBox.visibility = View.GONE
|
||||
binding.targetOuterBox.visibility = View.GONE
|
||||
}
|
||||
HabitType.NUMERICAL -> {
|
||||
binding.nameInput.hint = getString(R.string.measurable_short_example)
|
||||
binding.questionInput.hint = getString(R.string.measurable_question_example)
|
||||
binding.frequencyOuterBox.visibility = View.GONE
|
||||
}
|
||||
}
|
||||
|
||||
setSupportActionBar(binding.toolbar)
|
||||
@@ -137,7 +153,7 @@ class EditHabitActivity : AppCompatActivity() {
|
||||
|
||||
val colorPickerDialogFactory = ColorPickerDialogFactory(this)
|
||||
binding.colorButton.setOnClickListener {
|
||||
val dialog = colorPickerDialogFactory.create(color)
|
||||
val dialog = colorPickerDialogFactory.create(color, themeSwitcher.currentTheme)
|
||||
dialog.setListener { paletteColor ->
|
||||
this.color = paletteColor
|
||||
updateColors()
|
||||
@@ -244,9 +260,9 @@ class EditHabitActivity : AppCompatActivity() {
|
||||
}
|
||||
|
||||
habit.frequency = Frequency(freqNum, freqDen)
|
||||
if (habitType == Habit.NUMBER_HABIT) {
|
||||
if (habitType == HabitType.NUMERICAL) {
|
||||
habit.targetValue = targetInput.text.toString().toDouble()
|
||||
habit.targetType = Habit.AT_LEAST
|
||||
habit.targetType = NumericalHabitType.AT_LEAST
|
||||
habit.unit = unitInput.text.trim().toString()
|
||||
}
|
||||
habit.type = habitType
|
||||
@@ -274,7 +290,7 @@ class EditHabitActivity : AppCompatActivity() {
|
||||
nameInput.error = getFormattedValidationError(R.string.validation_cannot_be_blank)
|
||||
isValid = false
|
||||
}
|
||||
if (habitType == Habit.NUMBER_HABIT) {
|
||||
if (habitType == HabitType.NUMERICAL) {
|
||||
if (targetInput.text.isEmpty()) {
|
||||
targetInput.error = getString(R.string.validation_cannot_be_blank)
|
||||
isValid = false
|
||||
@@ -299,14 +315,7 @@ class EditHabitActivity : AppCompatActivity() {
|
||||
|
||||
@SuppressLint("StringFormatMatches")
|
||||
private fun populateFrequency() {
|
||||
binding.booleanFrequencyPicker.text = when {
|
||||
freqNum == 1 && freqDen == 1 -> getString(R.string.every_day)
|
||||
freqNum == 1 && freqDen == 7 -> getString(R.string.every_week)
|
||||
freqNum == 1 && freqDen > 1 -> getString(R.string.every_x_days, freqDen)
|
||||
freqDen == 7 -> getString(R.string.x_times_per_week, freqNum)
|
||||
freqDen == 30 || freqDen == 31 -> getString(R.string.x_times_per_month, freqNum)
|
||||
else -> "$freqNum/$freqDen"
|
||||
}
|
||||
binding.booleanFrequencyPicker.text = formatFrequency(freqNum, freqDen, resources)
|
||||
binding.numericalFrequencyPicker.text = when (freqDen) {
|
||||
1 -> getString(R.string.every_day)
|
||||
7 -> getString(R.string.every_week)
|
||||
@@ -316,7 +325,7 @@ class EditHabitActivity : AppCompatActivity() {
|
||||
}
|
||||
|
||||
private fun updateColors() {
|
||||
androidColor = color.toThemedAndroidColor(this)
|
||||
androidColor = themeSwitcher.currentTheme.color(color).toInt()
|
||||
binding.colorButton.backgroundTintList = ColorStateList.valueOf(androidColor)
|
||||
if (!themeSwitcher.isNightMode) {
|
||||
val darkerAndroidColor = ColorUtils.mixColors(Color.BLACK, androidColor, 0.15f)
|
||||
@@ -334,7 +343,7 @@ class EditHabitActivity : AppCompatActivity() {
|
||||
super.onSaveInstanceState(state)
|
||||
with(state) {
|
||||
putLong("habitId", habitId)
|
||||
putInt("habitType", habitType)
|
||||
putInt("habitType", habitType.value)
|
||||
putInt("paletteColor", color.paletteIndex)
|
||||
putInt("androidColor", androidColor)
|
||||
putInt("freqNum", freqNum)
|
||||
|
||||
@@ -25,7 +25,7 @@ import android.view.View
|
||||
import android.view.ViewGroup
|
||||
import androidx.appcompat.app.AppCompatDialogFragment
|
||||
import org.isoron.uhabits.R
|
||||
import org.isoron.uhabits.core.models.Habit
|
||||
import org.isoron.uhabits.core.models.HabitType
|
||||
import org.isoron.uhabits.databinding.SelectHabitTypeBinding
|
||||
import org.isoron.uhabits.intents.IntentFactory
|
||||
|
||||
@@ -40,13 +40,13 @@ class HabitTypeDialog : AppCompatDialogFragment() {
|
||||
val binding = SelectHabitTypeBinding.inflate(inflater, container, false)
|
||||
|
||||
binding.buttonYesNo.setOnClickListener {
|
||||
val intent = IntentFactory().startEditActivity(activity!!, Habit.YES_NO_HABIT)
|
||||
val intent = IntentFactory().startEditActivity(activity!!, HabitType.YES_NO.value)
|
||||
startActivity(intent)
|
||||
dismiss()
|
||||
}
|
||||
|
||||
binding.buttonMeasurable.setOnClickListener {
|
||||
val intent = IntentFactory().startEditActivity(activity!!, Habit.NUMBER_HABIT)
|
||||
val intent = IntentFactory().startEditActivity(activity!!, HabitType.NUMERICAL.value)
|
||||
startActivity(intent)
|
||||
dismiss()
|
||||
}
|
||||
|
||||
@@ -40,7 +40,7 @@ import org.isoron.uhabits.inject.ActivityContextModule
|
||||
import org.isoron.uhabits.inject.DaggerHabitsActivityComponent
|
||||
import org.isoron.uhabits.utils.restartWithFade
|
||||
|
||||
class ListHabitsActivity : AppCompatActivity() {
|
||||
class ListHabitsActivity : AppCompatActivity(), Preferences.Listener {
|
||||
|
||||
var pureBlack: Boolean = false
|
||||
lateinit var taskRunner: TaskRunner
|
||||
@@ -54,6 +54,10 @@ class ListHabitsActivity : AppCompatActivity() {
|
||||
|
||||
private lateinit var menu: ListHabitsMenu
|
||||
|
||||
override fun onQuestionMarksChanged() {
|
||||
invalidateOptionsMenu()
|
||||
}
|
||||
|
||||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
super.onCreate(savedInstanceState)
|
||||
|
||||
@@ -66,6 +70,7 @@ class ListHabitsActivity : AppCompatActivity() {
|
||||
component.themeSwitcher.apply()
|
||||
|
||||
prefs = appComponent.preferences
|
||||
prefs.addListener(this)
|
||||
syncManager = appComponent.syncManager
|
||||
pureBlack = prefs.isPureBlackEnabled
|
||||
midnightTimer = appComponent.midnightTimer
|
||||
|
||||
@@ -52,6 +52,11 @@ class ListHabitsMenu @Inject constructor(
|
||||
nightModeItem.isChecked = themeSwitcher.isNightMode
|
||||
hideArchivedItem.isChecked = !preferences.showArchived
|
||||
hideCompletedItem.isChecked = !preferences.showCompleted
|
||||
if (preferences.areQuestionMarksEnabled || preferences.isSkipEnabled) {
|
||||
hideCompletedItem.title = activity.resources.getString(R.string.hide_entered)
|
||||
} else {
|
||||
hideCompletedItem.title = activity.resources.getString(R.string.hide_completed)
|
||||
}
|
||||
updateArrows(menu)
|
||||
}
|
||||
|
||||
|
||||
@@ -44,6 +44,7 @@ import org.isoron.uhabits.utils.addAtBottom
|
||||
import org.isoron.uhabits.utils.addAtTop
|
||||
import org.isoron.uhabits.utils.addBelow
|
||||
import org.isoron.uhabits.utils.buildToolbar
|
||||
import org.isoron.uhabits.utils.currentTheme
|
||||
import org.isoron.uhabits.utils.dim
|
||||
import org.isoron.uhabits.utils.dp
|
||||
import org.isoron.uhabits.utils.setupToolbar
|
||||
@@ -93,6 +94,7 @@ class ListHabitsRootView @Inject constructor(
|
||||
title = resources.getString(R.string.main_activity_title),
|
||||
color = PaletteColor(17),
|
||||
displayHomeAsUpEnabled = false,
|
||||
theme = currentTheme(),
|
||||
)
|
||||
addView(rootView, MATCH_PARENT, MATCH_PARENT)
|
||||
listAdapter.setListView(listView)
|
||||
|
||||
@@ -231,7 +231,7 @@ class ListHabitsScreen
|
||||
}
|
||||
|
||||
override fun showColorPicker(defaultColor: PaletteColor, callback: OnColorPickedCallback) {
|
||||
val picker = colorPickerFactory.create(defaultColor)
|
||||
val picker = colorPickerFactory.create(defaultColor, themeSwitcher.currentTheme!!)
|
||||
picker.setListener(callback)
|
||||
picker.show(activity.supportFragmentManager, "picker")
|
||||
}
|
||||
|
||||
@@ -131,7 +131,7 @@ class CheckmarkButtonView(
|
||||
paint.color = when (value) {
|
||||
YES_MANUAL, YES_AUTO, SKIP -> color
|
||||
NO -> {
|
||||
if (preferences.areQuestionMarksEnabled()) mediumContrastColor
|
||||
if (preferences.areQuestionMarksEnabled) mediumContrastColor
|
||||
else lowContrastColor
|
||||
}
|
||||
else -> lowContrastColor
|
||||
@@ -140,7 +140,7 @@ class CheckmarkButtonView(
|
||||
SKIP -> R.string.fa_skipped
|
||||
NO -> R.string.fa_times
|
||||
UNKNOWN -> {
|
||||
if (preferences.areQuestionMarksEnabled()) R.string.fa_question
|
||||
if (preferences.areQuestionMarksEnabled) R.string.fa_question
|
||||
else R.string.fa_times
|
||||
}
|
||||
else -> R.string.fa_check
|
||||
@@ -153,7 +153,7 @@ class CheckmarkButtonView(
|
||||
paint.style = Paint.Style.FILL
|
||||
}
|
||||
|
||||
paint.textSize = when (value) {
|
||||
paint.textSize = when (id) {
|
||||
UNKNOWN -> dim(R.dimen.smallerTextSize)
|
||||
else -> dim(R.dimen.smallTextSize)
|
||||
}
|
||||
|
||||
@@ -33,6 +33,7 @@ import android.view.ViewGroup.LayoutParams.WRAP_CONTENT
|
||||
import android.widget.FrameLayout
|
||||
import android.widget.LinearLayout
|
||||
import android.widget.TextView
|
||||
import org.isoron.platform.gui.toInt
|
||||
import org.isoron.uhabits.R
|
||||
import org.isoron.uhabits.activities.common.views.RingView
|
||||
import org.isoron.uhabits.core.models.Habit
|
||||
@@ -41,9 +42,9 @@ import org.isoron.uhabits.core.models.Timestamp
|
||||
import org.isoron.uhabits.core.ui.screens.habits.list.ListHabitsBehavior
|
||||
import org.isoron.uhabits.core.utils.DateUtils
|
||||
import org.isoron.uhabits.inject.ActivityContext
|
||||
import org.isoron.uhabits.utils.currentTheme
|
||||
import org.isoron.uhabits.utils.dp
|
||||
import org.isoron.uhabits.utils.sres
|
||||
import org.isoron.uhabits.utils.toThemedAndroidColor
|
||||
import javax.inject.Inject
|
||||
|
||||
class HabitCardViewFactory
|
||||
@@ -213,7 +214,7 @@ class HabitCardView(
|
||||
fun getActiveColor(habit: Habit): Int {
|
||||
return when (habit.isArchived) {
|
||||
true -> sres.getColor(R.attr.contrast60)
|
||||
false -> habit.color.toThemedAndroidColor(context)
|
||||
false -> currentTheme().color(habit.color).toInt()
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -169,7 +169,7 @@ class NumberButtonView(
|
||||
typeface = BOLD_TYPEFACE
|
||||
textSize = dim(R.dimen.smallTextSize)
|
||||
}
|
||||
preferences.areQuestionMarksEnabled() -> {
|
||||
preferences.areQuestionMarksEnabled -> {
|
||||
label = resources.getString(R.string.fa_question)
|
||||
typeface = getFontAwesome()
|
||||
textSize = dim(R.dimen.smallerTextSize)
|
||||
|
||||
@@ -35,7 +35,12 @@ class ShowHabitView(context: Context) : FrameLayout(context) {
|
||||
}
|
||||
|
||||
fun setState(data: ShowHabitState) {
|
||||
setupToolbar(binding.toolbar, title = data.title, color = data.color)
|
||||
setupToolbar(
|
||||
binding.toolbar,
|
||||
title = data.title,
|
||||
color = data.color,
|
||||
theme = data.theme,
|
||||
)
|
||||
binding.subtitleCard.setState(data.subtitle)
|
||||
binding.overviewCard.setState(data.overview)
|
||||
binding.notesCard.setState(data.notes)
|
||||
|
||||
@@ -24,12 +24,12 @@ import android.view.LayoutInflater
|
||||
import android.view.View
|
||||
import android.widget.AdapterView
|
||||
import android.widget.LinearLayout
|
||||
import org.isoron.platform.gui.toInt
|
||||
import org.isoron.platform.time.JavaLocalDateFormatter
|
||||
import org.isoron.uhabits.core.ui.screens.habits.show.views.BarCardPresenter
|
||||
import org.isoron.uhabits.core.ui.screens.habits.show.views.BarCardState
|
||||
import org.isoron.uhabits.core.ui.views.BarChart
|
||||
import org.isoron.uhabits.databinding.ShowHabitBarBinding
|
||||
import org.isoron.uhabits.utils.toThemedAndroidColor
|
||||
import java.util.Locale
|
||||
|
||||
class BarCardView(context: Context, attrs: AttributeSet) : LinearLayout(context, attrs) {
|
||||
@@ -37,7 +37,7 @@ class BarCardView(context: Context, attrs: AttributeSet) : LinearLayout(context,
|
||||
private var binding = ShowHabitBarBinding.inflate(LayoutInflater.from(context), this)
|
||||
|
||||
fun setState(state: BarCardState) {
|
||||
val androidColor = state.color.toThemedAndroidColor(context)
|
||||
val androidColor = state.theme.color(state.color).toInt()
|
||||
binding.chart.view = BarChart(state.theme, JavaLocalDateFormatter(Locale.US)).apply {
|
||||
series = mutableListOf(state.entries.map { it.value / 1000.0 })
|
||||
colors = mutableListOf(theme.color(state.color.paletteIndex))
|
||||
|
||||
@@ -22,16 +22,16 @@ import android.content.Context
|
||||
import android.util.AttributeSet
|
||||
import android.view.LayoutInflater
|
||||
import android.widget.LinearLayout
|
||||
import org.isoron.platform.gui.toInt
|
||||
import org.isoron.uhabits.core.ui.screens.habits.show.views.FrequencyCardState
|
||||
import org.isoron.uhabits.databinding.ShowHabitFrequencyBinding
|
||||
import org.isoron.uhabits.utils.toThemedAndroidColor
|
||||
|
||||
class FrequencyCardView(context: Context, attrs: AttributeSet) : LinearLayout(context, attrs) {
|
||||
|
||||
private var binding = ShowHabitFrequencyBinding.inflate(LayoutInflater.from(context), this)
|
||||
|
||||
fun setState(state: FrequencyCardState) {
|
||||
val androidColor = state.color.toThemedAndroidColor(context)
|
||||
val androidColor = state.theme.color(state.color).toInt()
|
||||
binding.frequencyChart.setFrequency(state.frequency)
|
||||
binding.frequencyChart.setFirstWeekday(state.firstWeekday)
|
||||
binding.title.setTextColor(androidColor)
|
||||
|
||||
@@ -22,12 +22,12 @@ import android.content.Context
|
||||
import android.util.AttributeSet
|
||||
import android.view.LayoutInflater
|
||||
import android.widget.LinearLayout
|
||||
import org.isoron.platform.gui.toInt
|
||||
import org.isoron.platform.time.JavaLocalDateFormatter
|
||||
import org.isoron.uhabits.core.ui.screens.habits.show.views.HistoryCardPresenter
|
||||
import org.isoron.uhabits.core.ui.screens.habits.show.views.HistoryCardState
|
||||
import org.isoron.uhabits.core.ui.views.HistoryChart
|
||||
import org.isoron.uhabits.databinding.ShowHabitHistoryBinding
|
||||
import org.isoron.uhabits.utils.toThemedAndroidColor
|
||||
import java.util.Locale
|
||||
|
||||
class HistoryCardView(context: Context, attrs: AttributeSet) : LinearLayout(context, attrs) {
|
||||
@@ -35,7 +35,7 @@ class HistoryCardView(context: Context, attrs: AttributeSet) : LinearLayout(cont
|
||||
private var binding = ShowHabitHistoryBinding.inflate(LayoutInflater.from(context), this)
|
||||
|
||||
fun setState(state: HistoryCardState) {
|
||||
val androidColor = state.color.toThemedAndroidColor(context)
|
||||
val androidColor = state.theme.color(state.color).toInt()
|
||||
binding.title.setTextColor(androidColor)
|
||||
binding.chart.view = HistoryChart(
|
||||
today = state.today,
|
||||
|
||||
@@ -22,11 +22,11 @@ import android.content.Context
|
||||
import android.util.AttributeSet
|
||||
import android.view.LayoutInflater
|
||||
import android.widget.LinearLayout
|
||||
import org.isoron.platform.gui.toInt
|
||||
import org.isoron.uhabits.R
|
||||
import org.isoron.uhabits.core.ui.screens.habits.show.views.OverviewCardState
|
||||
import org.isoron.uhabits.databinding.ShowHabitOverviewBinding
|
||||
import org.isoron.uhabits.utils.StyledResources
|
||||
import org.isoron.uhabits.utils.toThemedAndroidColor
|
||||
import kotlin.math.abs
|
||||
|
||||
class OverviewCardView(context: Context, attrs: AttributeSet) : LinearLayout(context, attrs) {
|
||||
@@ -42,7 +42,7 @@ class OverviewCardView(context: Context, attrs: AttributeSet) : LinearLayout(con
|
||||
}
|
||||
|
||||
fun setState(state: OverviewCardState) {
|
||||
val androidColor = state.color.toThemedAndroidColor(context)
|
||||
val androidColor = state.theme.color(state.color).toInt()
|
||||
val res = StyledResources(context)
|
||||
val inactiveColor = res.getColor(R.attr.contrast60)
|
||||
binding.monthDiffLabel.setTextColor(if (state.scoreMonthDiff >= 0) androidColor else inactiveColor)
|
||||
|
||||
@@ -24,16 +24,16 @@ import android.view.LayoutInflater
|
||||
import android.view.View
|
||||
import android.widget.AdapterView
|
||||
import android.widget.LinearLayout
|
||||
import org.isoron.platform.gui.toInt
|
||||
import org.isoron.uhabits.core.ui.screens.habits.show.views.ScoreCardPresenter
|
||||
import org.isoron.uhabits.core.ui.screens.habits.show.views.ScoreCardState
|
||||
import org.isoron.uhabits.databinding.ShowHabitScoreBinding
|
||||
import org.isoron.uhabits.utils.toThemedAndroidColor
|
||||
|
||||
class ScoreCardView(context: Context, attrs: AttributeSet) : LinearLayout(context, attrs) {
|
||||
private var binding = ShowHabitScoreBinding.inflate(LayoutInflater.from(context), this)
|
||||
|
||||
fun setState(state: ScoreCardState) {
|
||||
val androidColor = state.color.toThemedAndroidColor(context)
|
||||
val androidColor = state.theme.color(state.color).toInt()
|
||||
binding.title.setTextColor(androidColor)
|
||||
binding.spinner.setSelection(state.spinnerPosition)
|
||||
binding.scoreView.setScores(state.scores)
|
||||
|
||||
@@ -22,16 +22,16 @@ import android.content.Context
|
||||
import android.util.AttributeSet
|
||||
import android.view.LayoutInflater
|
||||
import android.widget.LinearLayout
|
||||
import org.isoron.platform.gui.toInt
|
||||
import org.isoron.uhabits.core.ui.screens.habits.show.views.StreakCardState
|
||||
import org.isoron.uhabits.databinding.ShowHabitStreakBinding
|
||||
import org.isoron.uhabits.utils.toThemedAndroidColor
|
||||
|
||||
class StreakCardView(context: Context, attrs: AttributeSet) : LinearLayout(context, attrs) {
|
||||
private val binding = ShowHabitStreakBinding.inflate(LayoutInflater.from(context), this)
|
||||
fun setState(state: StreakCardState) {
|
||||
val color = state.color.toThemedAndroidColor(context)
|
||||
binding.title.setTextColor(color)
|
||||
binding.streakChart.setColor(color)
|
||||
val androidColor = state.theme.color(state.color).toInt()
|
||||
binding.title.setTextColor(androidColor)
|
||||
binding.streakChart.setColor(androidColor)
|
||||
binding.streakChart.setStreaks(state.bestStreaks)
|
||||
postInvalidate()
|
||||
}
|
||||
|
||||
@@ -20,19 +20,18 @@ package org.isoron.uhabits.activities.habits.show.views
|
||||
|
||||
import android.annotation.SuppressLint
|
||||
import android.content.Context
|
||||
import android.content.res.Resources
|
||||
import android.util.AttributeSet
|
||||
import android.view.LayoutInflater
|
||||
import android.view.View
|
||||
import android.widget.LinearLayout
|
||||
import org.isoron.platform.gui.toInt
|
||||
import org.isoron.uhabits.R
|
||||
import org.isoron.uhabits.activities.habits.edit.formatFrequency
|
||||
import org.isoron.uhabits.activities.habits.list.views.toShortString
|
||||
import org.isoron.uhabits.core.models.Frequency
|
||||
import org.isoron.uhabits.core.ui.screens.habits.show.views.SubtitleCardState
|
||||
import org.isoron.uhabits.databinding.ShowHabitSubtitleBinding
|
||||
import org.isoron.uhabits.utils.InterfaceUtils
|
||||
import org.isoron.uhabits.utils.formatTime
|
||||
import org.isoron.uhabits.utils.toThemedAndroidColor
|
||||
|
||||
class SubtitleCardView(context: Context, attrs: AttributeSet) : LinearLayout(context, attrs) {
|
||||
|
||||
@@ -47,9 +46,13 @@ class SubtitleCardView(context: Context, attrs: AttributeSet) : LinearLayout(con
|
||||
|
||||
@SuppressLint("SetTextI18n")
|
||||
fun setState(state: SubtitleCardState) {
|
||||
val color = state.color.toThemedAndroidColor(context)
|
||||
val color = state.theme.color(state.color).toInt()
|
||||
val reminder = state.reminder
|
||||
binding.frequencyLabel.text = state.frequency.format(resources)
|
||||
binding.frequencyLabel.text = formatFrequency(
|
||||
state.frequency.numerator,
|
||||
state.frequency.denominator,
|
||||
resources,
|
||||
)
|
||||
binding.questionLabel.setTextColor(color)
|
||||
binding.questionLabel.text = state.question
|
||||
binding.reminderLabel.text = if (reminder != null) {
|
||||
@@ -72,32 +75,4 @@ class SubtitleCardView(context: Context, attrs: AttributeSet) : LinearLayout(con
|
||||
|
||||
postInvalidate()
|
||||
}
|
||||
|
||||
@SuppressLint("StringFormatMatches")
|
||||
private fun Frequency.format(resources: Resources): String {
|
||||
val num = this.numerator
|
||||
val den = this.denominator
|
||||
if (num == den) {
|
||||
return resources.getString(R.string.every_day)
|
||||
}
|
||||
if (den == 7) {
|
||||
return resources.getString(R.string.x_times_per_week, num)
|
||||
}
|
||||
if (den == 30 || den == 31) {
|
||||
return resources.getString(R.string.x_times_per_month, num)
|
||||
}
|
||||
if (num == 1) {
|
||||
if (den == 7) {
|
||||
return resources.getString(R.string.every_week)
|
||||
}
|
||||
if (den % 7 == 0) {
|
||||
return resources.getString(R.string.every_x_weeks, den / 7)
|
||||
}
|
||||
if (den == 30 || den == 31) {
|
||||
return resources.getString(R.string.every_month)
|
||||
}
|
||||
return resources.getString(R.string.every_x_days, den)
|
||||
}
|
||||
return "$num/$den"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -23,15 +23,15 @@ import android.content.res.Resources
|
||||
import android.util.AttributeSet
|
||||
import android.view.LayoutInflater
|
||||
import android.widget.LinearLayout
|
||||
import org.isoron.platform.gui.toInt
|
||||
import org.isoron.uhabits.R
|
||||
import org.isoron.uhabits.core.ui.screens.habits.show.views.TargetCardState
|
||||
import org.isoron.uhabits.databinding.ShowHabitTargetBinding
|
||||
import org.isoron.uhabits.utils.toThemedAndroidColor
|
||||
|
||||
class TargetCardView(context: Context, attrs: AttributeSet) : LinearLayout(context, attrs) {
|
||||
private val binding = ShowHabitTargetBinding.inflate(LayoutInflater.from(context), this)
|
||||
fun setState(state: TargetCardState) {
|
||||
val androidColor = state.color.toThemedAndroidColor(context)
|
||||
val androidColor = state.theme.color(state.color).toInt()
|
||||
binding.targetChart.setValues(state.values)
|
||||
binding.targetChart.setTargets(state.targets)
|
||||
binding.targetChart.setLabels(state.intervals.map { intervalToLabel(resources, it) })
|
||||
|
||||
@@ -32,13 +32,15 @@ class SettingsActivity : AppCompatActivity() {
|
||||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
super.onCreate(savedInstanceState)
|
||||
val component = (application as HabitsApplication).component
|
||||
AndroidThemeSwitcher(this, component.preferences).apply()
|
||||
val themeSwitcher = AndroidThemeSwitcher(this, component.preferences)
|
||||
themeSwitcher.apply()
|
||||
|
||||
val binding = SettingsActivityBinding.inflate(LayoutInflater.from(this))
|
||||
binding.root.setupToolbar(
|
||||
toolbar = binding.toolbar,
|
||||
title = resources.getString(R.string.settings),
|
||||
color = PaletteColor(11),
|
||||
theme = themeSwitcher.currentTheme,
|
||||
)
|
||||
setContentView(binding.root)
|
||||
}
|
||||
|
||||
@@ -57,7 +57,8 @@ class SyncActivity : AppCompatActivity(), SyncBehavior.Screen {
|
||||
val component = (application as HabitsApplication).component
|
||||
val preferences = component.preferences
|
||||
val server = RemoteSyncServer(preferences = preferences)
|
||||
AndroidThemeSwitcher(this, component.preferences).apply()
|
||||
val themeSwitcher = AndroidThemeSwitcher(this, component.preferences)
|
||||
themeSwitcher.apply()
|
||||
|
||||
behavior = SyncBehavior(this, preferences, server, component.logging)
|
||||
binding = ActivitySyncBinding.inflate(layoutInflater)
|
||||
@@ -66,6 +67,7 @@ class SyncActivity : AppCompatActivity(), SyncBehavior.Screen {
|
||||
toolbar = binding.toolbar,
|
||||
color = PaletteColor(11),
|
||||
title = resources.getString(R.string.device_sync),
|
||||
theme = themeSwitcher.currentTheme,
|
||||
)
|
||||
binding.syncLink.setOnClickListener { copyToClipboard() }
|
||||
binding.instructions.text = Html.fromHtml(resources.getString(R.string.sync_instructions))
|
||||
|
||||
@@ -33,6 +33,7 @@ import org.isoron.uhabits.core.models.Habit
|
||||
import org.isoron.uhabits.core.models.HabitList
|
||||
import org.isoron.uhabits.core.models.PaletteColor
|
||||
import org.isoron.uhabits.databinding.AutomationBinding
|
||||
import org.isoron.uhabits.utils.currentTheme
|
||||
import org.isoron.uhabits.utils.setupToolbar
|
||||
import java.util.LinkedList
|
||||
|
||||
@@ -53,6 +54,7 @@ class EditSettingRootView(
|
||||
title = resources.getString(R.string.app_name),
|
||||
color = PaletteColor(11),
|
||||
displayHomeAsUpEnabled = false,
|
||||
theme = currentTheme(),
|
||||
)
|
||||
populateHabitSpinner()
|
||||
binding.habitSpinner.onItemSelectedListener = object : AdapterView.OnItemSelectedListener {
|
||||
|
||||
@@ -63,13 +63,14 @@ class PendingIntentFactory
|
||||
FLAG_UPDATE_CURRENT
|
||||
)
|
||||
|
||||
fun removeRepetition(habit: Habit): PendingIntent =
|
||||
fun removeRepetition(habit: Habit, timestamp: Timestamp?): PendingIntent =
|
||||
getBroadcast(
|
||||
context,
|
||||
3,
|
||||
Intent(context, WidgetReceiver::class.java).apply {
|
||||
action = WidgetReceiver.ACTION_REMOVE_REPETITION
|
||||
data = Uri.parse(habit.uriString)
|
||||
if (timestamp != null) putExtra("timestamp", timestamp.unixTime)
|
||||
},
|
||||
FLAG_UPDATE_CURRENT
|
||||
)
|
||||
@@ -132,17 +133,17 @@ class PendingIntentFactory
|
||||
timestamp: Long?
|
||||
):
|
||||
PendingIntent =
|
||||
getBroadcast(
|
||||
widgetContext,
|
||||
2,
|
||||
Intent(widgetContext, WidgetReceiver::class.java).apply {
|
||||
data = Uri.parse(habit.uriString)
|
||||
action = WidgetReceiver.ACTION_SET_NUMERICAL_VALUE
|
||||
putExtra("numericalValue", numericalValue)
|
||||
if (timestamp != null) putExtra("timestamp", timestamp)
|
||||
},
|
||||
FLAG_UPDATE_CURRENT
|
||||
)
|
||||
getBroadcast(
|
||||
widgetContext,
|
||||
2,
|
||||
Intent(widgetContext, WidgetReceiver::class.java).apply {
|
||||
data = Uri.parse(habit.uriString)
|
||||
action = WidgetReceiver.ACTION_SET_NUMERICAL_VALUE
|
||||
putExtra("numericalValue", numericalValue)
|
||||
if (timestamp != null) putExtra("timestamp", timestamp)
|
||||
},
|
||||
FLAG_UPDATE_CURRENT
|
||||
)
|
||||
|
||||
fun updateWidgets(): PendingIntent =
|
||||
getBroadcast(
|
||||
|
||||
@@ -107,7 +107,7 @@ class AndroidNotificationTray
|
||||
val removeRepetitionAction = Action(
|
||||
R.drawable.ic_action_cancel,
|
||||
context.getString(R.string.no),
|
||||
pendingIntents.removeRepetition(habit)
|
||||
pendingIntents.removeRepetition(habit, timestamp)
|
||||
)
|
||||
|
||||
val enterAction = Action(
|
||||
|
||||
@@ -28,6 +28,7 @@ import android.widget.AdapterView.OnItemClickListener
|
||||
import androidx.fragment.app.FragmentActivity
|
||||
import com.android.datetimepicker.time.RadialPickerLayout
|
||||
import com.android.datetimepicker.time.TimePickerDialog
|
||||
import org.isoron.platform.gui.toInt
|
||||
import org.isoron.uhabits.HabitsApplication
|
||||
import org.isoron.uhabits.R
|
||||
import org.isoron.uhabits.activities.AndroidThemeSwitcher
|
||||
@@ -35,14 +36,13 @@ import org.isoron.uhabits.core.models.Habit
|
||||
import org.isoron.uhabits.core.ui.ThemeSwitcher.Companion.THEME_LIGHT
|
||||
import org.isoron.uhabits.receivers.ReminderController
|
||||
import org.isoron.uhabits.utils.SystemUtils
|
||||
import org.isoron.uhabits.utils.toThemedAndroidColor
|
||||
import java.util.Calendar
|
||||
|
||||
class SnoozeDelayPickerActivity : FragmentActivity(), OnItemClickListener {
|
||||
private var habit: Habit? = null
|
||||
private var reminderController: ReminderController? = null
|
||||
private var dialog: AlertDialog? = null
|
||||
private var color: Int = 0
|
||||
private var androidColor: Int = 0
|
||||
|
||||
override fun onCreate(bundle: Bundle?) {
|
||||
super.onCreate(bundle)
|
||||
@@ -63,7 +63,7 @@ class SnoozeDelayPickerActivity : FragmentActivity(), OnItemClickListener {
|
||||
habit = appComponent.habitList.getById(ContentUris.parseId(data))
|
||||
}
|
||||
if (habit == null) finish()
|
||||
color = habit!!.color.toThemedAndroidColor(this)
|
||||
androidColor = themeSwitcher.currentTheme.color(habit!!.color).toInt()
|
||||
reminderController = appComponent.reminderController
|
||||
dialog = AlertDialog.Builder(this)
|
||||
.setTitle(R.string.select_snooze_delay)
|
||||
@@ -85,7 +85,7 @@ class SnoozeDelayPickerActivity : FragmentActivity(), OnItemClickListener {
|
||||
calendar[Calendar.HOUR_OF_DAY],
|
||||
calendar[Calendar.MINUTE],
|
||||
DateFormat.is24HourFormat(this),
|
||||
color
|
||||
androidColor
|
||||
)
|
||||
dialog.show(supportFragmentManager, "timePicker")
|
||||
}
|
||||
|
||||
@@ -92,6 +92,9 @@ class SharedPreferencesStorage
|
||||
preferences.setNotificationsSticky(getBoolean(key, false))
|
||||
"pref_led_notifications" ->
|
||||
preferences.setNotificationsLed(getBoolean(key, false))
|
||||
"pref_unknown_enabled" -> {
|
||||
preferences.areQuestionMarksEnabled = getBoolean(key, false)
|
||||
}
|
||||
}
|
||||
sharedPreferences.registerOnSharedPreferenceChangeListener(this)
|
||||
}
|
||||
|
||||
@@ -21,7 +21,6 @@ package org.isoron.uhabits.utils
|
||||
|
||||
import android.content.Context
|
||||
import android.graphics.Color
|
||||
import android.util.Log
|
||||
import org.isoron.uhabits.core.models.PaletteColor
|
||||
|
||||
object PaletteUtils {
|
||||
@@ -29,16 +28,6 @@ object PaletteUtils {
|
||||
fun getAndroidTestColor(index: Int) = PaletteColor(index).toFixedAndroidColor()
|
||||
}
|
||||
|
||||
fun PaletteColor.toThemedAndroidColor(context: Context): Int {
|
||||
val palette = StyledResources(context).getPalette()
|
||||
return if (paletteIndex in palette.indices) {
|
||||
palette[paletteIndex]
|
||||
} else {
|
||||
Log.w("ColorHelper", "Invalid color: $paletteIndex. Returning default.")
|
||||
palette[0]
|
||||
}
|
||||
}
|
||||
|
||||
fun PaletteColor.toFixedAndroidColor(): Int {
|
||||
return intArrayOf(
|
||||
Color.parseColor("#D32F2F"), // 0 red
|
||||
|
||||
@@ -40,8 +40,12 @@ import androidx.appcompat.app.AppCompatActivity
|
||||
import androidx.appcompat.widget.Toolbar
|
||||
import androidx.core.content.FileProvider
|
||||
import com.google.android.material.snackbar.Snackbar
|
||||
import org.isoron.platform.gui.toInt
|
||||
import org.isoron.uhabits.HabitsApplication
|
||||
import org.isoron.uhabits.R
|
||||
import org.isoron.uhabits.activities.AndroidThemeSwitcher
|
||||
import org.isoron.uhabits.core.models.PaletteColor
|
||||
import org.isoron.uhabits.core.ui.views.Theme
|
||||
import java.io.File
|
||||
|
||||
fun RelativeLayout.addBelow(
|
||||
@@ -157,6 +161,7 @@ fun View.setupToolbar(
|
||||
toolbar: Toolbar,
|
||||
title: String,
|
||||
color: PaletteColor,
|
||||
theme: Theme,
|
||||
displayHomeAsUpEnabled: Boolean = true,
|
||||
) {
|
||||
toolbar.elevation = InterfaceUtils.dpToPixels(context, 2f)
|
||||
@@ -165,7 +170,7 @@ fun View.setupToolbar(
|
||||
val toolbarColor = if (!res.getBoolean(R.attr.useHabitColorAsPrimary)) {
|
||||
StyledResources(context).getColor(R.attr.colorPrimary)
|
||||
} else {
|
||||
color.toThemedAndroidColor(context)
|
||||
theme.color(color).toInt()
|
||||
}
|
||||
val darkerColor = ColorUtils.mixColors(toolbarColor, Color.BLACK, 0.75f)
|
||||
toolbar.background = ColorDrawable(toolbarColor)
|
||||
@@ -175,6 +180,13 @@ fun View.setupToolbar(
|
||||
activity.supportActionBar?.setDisplayHomeAsUpEnabled(displayHomeAsUpEnabled)
|
||||
}
|
||||
|
||||
fun View.currentTheme(): Theme {
|
||||
val component = (context.applicationContext as HabitsApplication).component
|
||||
val themeSwitcher = AndroidThemeSwitcher(context, component.preferences)
|
||||
themeSwitcher.apply()
|
||||
return themeSwitcher.currentTheme
|
||||
}
|
||||
|
||||
fun Int.toMeasureSpec(mode: Int) =
|
||||
View.MeasureSpec.makeMeasureSpec(this, mode)
|
||||
|
||||
|
||||
@@ -32,6 +32,7 @@ import org.isoron.uhabits.core.commands.CommandRunner
|
||||
import org.isoron.uhabits.core.preferences.Preferences
|
||||
import org.isoron.uhabits.core.preferences.WidgetPreferences
|
||||
import org.isoron.uhabits.intents.PendingIntentFactory
|
||||
import kotlin.math.max
|
||||
|
||||
abstract class BaseWidget(val context: Context, val id: Int, val stacked: Boolean) {
|
||||
private val widgetPrefs: WidgetPreferences
|
||||
@@ -103,8 +104,8 @@ abstract class BaseWidget(val context: Context, val id: Int, val stacked: Boolea
|
||||
|
||||
private fun getBitmapFromView(view: View): Bitmap {
|
||||
view.invalidate()
|
||||
val width = view.measuredWidth
|
||||
val height = view.measuredHeight
|
||||
val width = max(1, view.measuredWidth)
|
||||
val height = max(1, view.measuredHeight)
|
||||
val bitmap = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888)
|
||||
val canvas = Canvas(bitmap)
|
||||
view.draw(canvas)
|
||||
|
||||
@@ -109,7 +109,7 @@ abstract class BaseWidgetProvider : AppWidgetProvider() {
|
||||
}
|
||||
|
||||
protected fun getHabitsFromWidgetId(widgetId: Int): List<Habit> {
|
||||
val selectedIds = widgetPrefs.getHabitIdsFromWidgetId(widgetId)!!
|
||||
val selectedIds = widgetPrefs.getHabitIdsFromWidgetId(widgetId)
|
||||
val selectedHabits = ArrayList<Habit>(selectedIds.size)
|
||||
for (id in selectedIds) {
|
||||
val h = habits.getById(id) ?: throw HabitNotFoundException()
|
||||
|
||||
@@ -24,10 +24,11 @@ import android.content.Context
|
||||
import android.os.Build
|
||||
import android.view.View
|
||||
import androidx.annotation.RequiresApi
|
||||
import org.isoron.platform.gui.toInt
|
||||
import org.isoron.uhabits.core.models.Entry
|
||||
import org.isoron.uhabits.core.models.Habit
|
||||
import org.isoron.uhabits.core.ui.views.WidgetTheme
|
||||
import org.isoron.uhabits.core.utils.DateUtils
|
||||
import org.isoron.uhabits.utils.toThemedAndroidColor
|
||||
import org.isoron.uhabits.widgets.views.CheckmarkWidgetView
|
||||
|
||||
open class CheckmarkWidget(
|
||||
@@ -53,7 +54,7 @@ open class CheckmarkWidget(
|
||||
(widgetView as CheckmarkWidgetView).apply {
|
||||
val today = DateUtils.getTodayWithOffset()
|
||||
setBackgroundAlpha(preferedBackgroundAlpha)
|
||||
activeColor = habit.color.toThemedAndroidColor(context)
|
||||
activeColor = WidgetTheme().color(habit.color).toInt()
|
||||
name = habit.name
|
||||
entryValue = habit.computedEntries.get(today).value
|
||||
if (habit.isNumerical) {
|
||||
|
||||
@@ -22,9 +22,10 @@ package org.isoron.uhabits.widgets
|
||||
import android.app.PendingIntent
|
||||
import android.content.Context
|
||||
import android.view.View
|
||||
import org.isoron.platform.gui.toInt
|
||||
import org.isoron.uhabits.activities.common.views.FrequencyChart
|
||||
import org.isoron.uhabits.core.models.Habit
|
||||
import org.isoron.uhabits.utils.toThemedAndroidColor
|
||||
import org.isoron.uhabits.core.ui.views.WidgetTheme
|
||||
import org.isoron.uhabits.widgets.views.GraphWidgetView
|
||||
|
||||
class FrequencyWidget(
|
||||
@@ -47,7 +48,7 @@ class FrequencyWidget(
|
||||
if (preferedBackgroundAlpha >= 255) widgetView.setShadowAlpha(0x4f)
|
||||
(widgetView.dataView as FrequencyChart).apply {
|
||||
setFirstWeekday(firstWeekday)
|
||||
setColor(habit.color.toThemedAndroidColor(context))
|
||||
setColor(WidgetTheme().color(habit.color).toInt())
|
||||
setFrequency(habit.originalEntries.computeWeekdayFrequency(habit.isNumerical))
|
||||
}
|
||||
}
|
||||
|
||||
@@ -22,10 +22,11 @@ package org.isoron.uhabits.widgets
|
||||
import android.app.PendingIntent
|
||||
import android.content.Context
|
||||
import android.view.View
|
||||
import org.isoron.platform.gui.toInt
|
||||
import org.isoron.uhabits.activities.common.views.ScoreChart
|
||||
import org.isoron.uhabits.core.models.Habit
|
||||
import org.isoron.uhabits.core.ui.screens.habits.show.views.ScoreCardPresenter
|
||||
import org.isoron.uhabits.utils.toThemedAndroidColor
|
||||
import org.isoron.uhabits.core.ui.views.WidgetTheme
|
||||
import org.isoron.uhabits.widgets.views.GraphWidgetView
|
||||
|
||||
class ScoreWidget(
|
||||
@@ -44,7 +45,8 @@ class ScoreWidget(
|
||||
val viewModel = ScoreCardPresenter.buildState(
|
||||
habit = habit,
|
||||
firstWeekday = prefs.firstWeekdayInt,
|
||||
spinnerPosition = prefs.scoreCardSpinnerPosition
|
||||
spinnerPosition = prefs.scoreCardSpinnerPosition,
|
||||
theme = WidgetTheme(),
|
||||
)
|
||||
val widgetView = view as GraphWidgetView
|
||||
widgetView.setBackgroundAlpha(preferedBackgroundAlpha)
|
||||
@@ -52,7 +54,7 @@ class ScoreWidget(
|
||||
(widgetView.dataView as ScoreChart).apply {
|
||||
setIsTransparencyEnabled(true)
|
||||
setBucketSize(viewModel.bucketSize)
|
||||
setColor(habit.color.toThemedAndroidColor(context))
|
||||
setColor(WidgetTheme().color(habit.color).toInt())
|
||||
setScores(viewModel.scores)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -53,7 +53,7 @@ internal class StackRemoteViewsFactory(private val context: Context, intent: Int
|
||||
AppWidgetManager.INVALID_APPWIDGET_ID
|
||||
)
|
||||
private val habitIds: LongArray
|
||||
private val widgetType: StackWidgetType?
|
||||
private val widgetType: StackWidgetType
|
||||
private var remoteViews = ArrayList<RemoteViews>()
|
||||
override fun onCreate() {}
|
||||
override fun onDestroy() {}
|
||||
@@ -86,27 +86,27 @@ internal class StackRemoteViewsFactory(private val context: Context, intent: Int
|
||||
|
||||
override fun getViewAt(position: Int): RemoteViews? {
|
||||
Log.i("StackRemoteViewsFactory", "getViewAt $position")
|
||||
return if (position < 0 || position > remoteViews.size) null else remoteViews[position]
|
||||
return if (0 <= position && position < remoteViews.size) remoteViews[position] else null
|
||||
}
|
||||
|
||||
private fun constructWidget(
|
||||
habit: Habit,
|
||||
prefs: Preferences
|
||||
): BaseWidget {
|
||||
when (widgetType) {
|
||||
StackWidgetType.CHECKMARK -> return CheckmarkWidget(context, widgetId, habit, true)
|
||||
StackWidgetType.FREQUENCY -> return FrequencyWidget(
|
||||
return when (widgetType) {
|
||||
StackWidgetType.CHECKMARK -> CheckmarkWidget(context, widgetId, habit, true)
|
||||
StackWidgetType.FREQUENCY -> FrequencyWidget(
|
||||
context,
|
||||
widgetId,
|
||||
habit,
|
||||
prefs.firstWeekdayInt,
|
||||
true
|
||||
)
|
||||
StackWidgetType.SCORE -> return ScoreWidget(context, widgetId, habit, true)
|
||||
StackWidgetType.HISTORY -> return HistoryWidget(context, widgetId, habit, true)
|
||||
StackWidgetType.STREAKS -> return StreakWidget(context, widgetId, habit, true)
|
||||
StackWidgetType.SCORE -> ScoreWidget(context, widgetId, habit, true)
|
||||
StackWidgetType.HISTORY -> HistoryWidget(context, widgetId, habit, true)
|
||||
StackWidgetType.STREAKS -> StreakWidget(context, widgetId, habit, true)
|
||||
StackWidgetType.TARGET -> TargetWidget(context, widgetId, habit, true)
|
||||
}
|
||||
throw IllegalStateException()
|
||||
}
|
||||
|
||||
override fun getLoadingView(): RemoteViews {
|
||||
@@ -157,6 +157,7 @@ internal class StackRemoteViewsFactory(private val context: Context, intent: Int
|
||||
if (widgetTypeValue < 0) throw RuntimeException("invalid widget type")
|
||||
if (habitIdsStr == null) throw RuntimeException("habitIdsStr is null")
|
||||
widgetType = StackWidgetType.getWidgetTypeFromValue(widgetTypeValue)
|
||||
?: throw RuntimeException("unknown widget type value: $widgetTypeValue")
|
||||
habitIds = splitLongs(habitIdsStr)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -19,61 +19,59 @@
|
||||
package org.isoron.uhabits.widgets
|
||||
|
||||
import org.isoron.uhabits.R
|
||||
import java.lang.IllegalStateException
|
||||
|
||||
/**
|
||||
* Created by victoryu on 11/3/17.
|
||||
*/
|
||||
enum class StackWidgetType(val value: Int) {
|
||||
CHECKMARK(0), FREQUENCY(1), SCORE(2), // habit strength widget
|
||||
HISTORY(3), STREAKS(4), TARGET(5);
|
||||
|
||||
companion object {
|
||||
fun getWidgetTypeFromValue(value: Int): StackWidgetType? {
|
||||
return when {
|
||||
CHECKMARK.value == value -> CHECKMARK
|
||||
FREQUENCY.value == value -> FREQUENCY
|
||||
SCORE.value == value -> SCORE
|
||||
HISTORY.value == value -> HISTORY
|
||||
STREAKS.value == value -> STREAKS
|
||||
TARGET.value == value -> TARGET
|
||||
return when (value) {
|
||||
CHECKMARK.value -> CHECKMARK
|
||||
FREQUENCY.value -> FREQUENCY
|
||||
SCORE.value -> SCORE
|
||||
HISTORY.value -> HISTORY
|
||||
STREAKS.value -> STREAKS
|
||||
TARGET.value -> TARGET
|
||||
else -> null
|
||||
}
|
||||
}
|
||||
|
||||
fun getStackWidgetLayoutId(type: StackWidgetType?): Int {
|
||||
when (type) {
|
||||
CHECKMARK -> return R.layout.checkmark_stackview_widget
|
||||
FREQUENCY -> return R.layout.frequency_stackview_widget
|
||||
SCORE -> return R.layout.score_stackview_widget
|
||||
HISTORY -> return R.layout.history_stackview_widget
|
||||
STREAKS -> return R.layout.streak_stackview_widget
|
||||
TARGET -> return R.layout.target_stackview_widget
|
||||
return when (type) {
|
||||
CHECKMARK -> R.layout.checkmark_stackview_widget
|
||||
FREQUENCY -> R.layout.frequency_stackview_widget
|
||||
SCORE -> R.layout.score_stackview_widget
|
||||
HISTORY -> R.layout.history_stackview_widget
|
||||
STREAKS -> R.layout.streak_stackview_widget
|
||||
TARGET -> R.layout.target_stackview_widget
|
||||
else -> throw IllegalStateException()
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
fun getStackWidgetAdapterViewId(type: StackWidgetType?): Int {
|
||||
when (type) {
|
||||
CHECKMARK -> return R.id.checkmarkStackWidgetView
|
||||
FREQUENCY -> return R.id.frequencyStackWidgetView
|
||||
SCORE -> return R.id.scoreStackWidgetView
|
||||
HISTORY -> return R.id.historyStackWidgetView
|
||||
STREAKS -> return R.id.streakStackWidgetView
|
||||
TARGET -> return R.id.targetStackWidgetView
|
||||
return when (type) {
|
||||
CHECKMARK -> R.id.checkmarkStackWidgetView
|
||||
FREQUENCY -> R.id.frequencyStackWidgetView
|
||||
SCORE -> R.id.scoreStackWidgetView
|
||||
HISTORY -> R.id.historyStackWidgetView
|
||||
STREAKS -> R.id.streakStackWidgetView
|
||||
TARGET -> R.id.targetStackWidgetView
|
||||
else -> throw IllegalStateException()
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
fun getStackWidgetEmptyViewId(type: StackWidgetType?): Int {
|
||||
when (type) {
|
||||
CHECKMARK -> return R.id.checkmarkStackWidgetEmptyView
|
||||
FREQUENCY -> return R.id.frequencyStackWidgetEmptyView
|
||||
SCORE -> return R.id.scoreStackWidgetEmptyView
|
||||
HISTORY -> return R.id.historyStackWidgetEmptyView
|
||||
STREAKS -> return R.id.streakStackWidgetEmptyView
|
||||
TARGET -> return R.id.targetStackWidgetEmptyView
|
||||
return when (type) {
|
||||
CHECKMARK -> R.id.checkmarkStackWidgetEmptyView
|
||||
FREQUENCY -> R.id.frequencyStackWidgetEmptyView
|
||||
SCORE -> R.id.scoreStackWidgetEmptyView
|
||||
HISTORY -> R.id.historyStackWidgetEmptyView
|
||||
STREAKS -> R.id.streakStackWidgetEmptyView
|
||||
TARGET -> R.id.targetStackWidgetEmptyView
|
||||
else -> throw IllegalStateException()
|
||||
}
|
||||
return 0
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -24,9 +24,10 @@ import android.content.Context
|
||||
import android.view.View
|
||||
import android.view.ViewGroup.LayoutParams
|
||||
import android.view.ViewGroup.LayoutParams.MATCH_PARENT
|
||||
import org.isoron.platform.gui.toInt
|
||||
import org.isoron.uhabits.activities.common.views.StreakChart
|
||||
import org.isoron.uhabits.core.models.Habit
|
||||
import org.isoron.uhabits.utils.toThemedAndroidColor
|
||||
import org.isoron.uhabits.core.ui.views.WidgetTheme
|
||||
import org.isoron.uhabits.widgets.views.GraphWidgetView
|
||||
|
||||
class StreakWidget(
|
||||
@@ -46,7 +47,7 @@ class StreakWidget(
|
||||
widgetView.setBackgroundAlpha(preferedBackgroundAlpha)
|
||||
if (preferedBackgroundAlpha >= 255) widgetView.setShadowAlpha(0x4f)
|
||||
(widgetView.dataView as StreakChart).apply {
|
||||
setColor(habit.color.toThemedAndroidColor(context))
|
||||
setColor(WidgetTheme().color(habit.color).toInt())
|
||||
setStreaks(habit.streaks.getBest(maxStreakCount))
|
||||
}
|
||||
}
|
||||
|
||||
@@ -25,11 +25,12 @@ import android.view.View
|
||||
import android.view.ViewGroup.LayoutParams
|
||||
import android.view.ViewGroup.LayoutParams.MATCH_PARENT
|
||||
import kotlinx.coroutines.runBlocking
|
||||
import org.isoron.platform.gui.toInt
|
||||
import org.isoron.uhabits.activities.common.views.TargetChart
|
||||
import org.isoron.uhabits.activities.habits.show.views.TargetCardView.Companion.intervalToLabel
|
||||
import org.isoron.uhabits.core.models.Habit
|
||||
import org.isoron.uhabits.core.ui.screens.habits.show.views.TargetCardPresenter
|
||||
import org.isoron.uhabits.utils.toThemedAndroidColor
|
||||
import org.isoron.uhabits.core.ui.views.WidgetTheme
|
||||
import org.isoron.uhabits.widgets.views.GraphWidgetView
|
||||
|
||||
class TargetWidget(
|
||||
@@ -49,8 +50,12 @@ class TargetWidget(
|
||||
widgetView.setBackgroundAlpha(preferedBackgroundAlpha)
|
||||
if (preferedBackgroundAlpha >= 255) widgetView.setShadowAlpha(0x4f)
|
||||
val chart = (widgetView.dataView as TargetChart)
|
||||
val data = TargetCardPresenter.buildState(habit, prefs.firstWeekdayInt)
|
||||
chart.setColor(data.color.toThemedAndroidColor(context))
|
||||
val data = TargetCardPresenter.buildState(
|
||||
habit = habit,
|
||||
firstWeekday = prefs.firstWeekdayInt,
|
||||
theme = WidgetTheme(),
|
||||
)
|
||||
chart.setColor(WidgetTheme().color(habit.color).toInt())
|
||||
chart.setTargets(data.targets)
|
||||
chart.setLabels(data.intervals.map { intervalToLabel(context.resources, it) })
|
||||
chart.setValues(data.values)
|
||||
|
||||
@@ -95,7 +95,7 @@ class WidgetUpdater
|
||||
val modifiedWidgetIds = when (modifiedHabitId) {
|
||||
null -> widgetIds.toList()
|
||||
else -> widgetIds.filter { w ->
|
||||
widgetPrefs.getHabitIdsFromWidgetId(w)!!.contains(modifiedHabitId)
|
||||
widgetPrefs.getHabitIdsFromWidgetId(w).contains(modifiedHabitId)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -31,6 +31,7 @@ import android.widget.ListView
|
||||
import android.widget.TextView
|
||||
import org.isoron.uhabits.HabitsApplication
|
||||
import org.isoron.uhabits.R
|
||||
import org.isoron.uhabits.activities.AndroidThemeSwitcher
|
||||
import org.isoron.uhabits.core.preferences.WidgetPreferences
|
||||
import org.isoron.uhabits.widgets.WidgetUpdater
|
||||
import java.util.ArrayList
|
||||
@@ -58,6 +59,7 @@ open class HabitPickerDialog : Activity() {
|
||||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
super.onCreate(savedInstanceState)
|
||||
val component = (applicationContext as HabitsApplication).component
|
||||
AndroidThemeSwitcher(this, component.preferences).apply()
|
||||
val habitList = component.habitList
|
||||
widgetPreferences = component.widgetPreferences
|
||||
widgetUpdater = component.widgetUpdater
|
||||
|
||||
@@ -39,6 +39,7 @@ import org.isoron.uhabits.utils.PaletteUtils.getAndroidTestColor
|
||||
import org.isoron.uhabits.utils.StyledResources
|
||||
import kotlin.math.max
|
||||
import kotlin.math.min
|
||||
import kotlin.math.roundToInt
|
||||
|
||||
class CheckmarkWidgetView : HabitWidgetView {
|
||||
var activeColor: Int = 0
|
||||
@@ -102,7 +103,7 @@ class CheckmarkWidgetView : HabitWidgetView {
|
||||
SKIP -> resources.getString(R.string.fa_skipped)
|
||||
UNKNOWN -> {
|
||||
run {
|
||||
if (preferences!!.areQuestionMarksEnabled()) {
|
||||
if (preferences!!.areQuestionMarksEnabled) {
|
||||
return resources.getString(R.string.fa_question)
|
||||
} else {
|
||||
resources.getString(R.string.fa_times)
|
||||
@@ -118,26 +119,25 @@ class CheckmarkWidgetView : HabitWidgetView {
|
||||
get() = R.layout.widget_checkmark
|
||||
|
||||
override fun onMeasure(widthMeasureSpec: Int, heightMeasureSpec: Int) {
|
||||
val width = MeasureSpec.getSize(widthMeasureSpec)
|
||||
val height = MeasureSpec.getSize(heightMeasureSpec)
|
||||
var w = width.toFloat()
|
||||
var h = width * 1.25f
|
||||
val scale = min(width / w, height / h)
|
||||
w *= scale
|
||||
h *= scale
|
||||
val newWidthMeasureSpec = MeasureSpec.makeMeasureSpec(w.toInt(), MeasureSpec.EXACTLY)
|
||||
val newHeightMeasureSpec = MeasureSpec.makeMeasureSpec(h.toInt(), MeasureSpec.EXACTLY)
|
||||
var textSize = 0.15f * h
|
||||
val maxTextSize = getDimension(context, R.dimen.smallerTextSize)
|
||||
textSize = min(textSize, maxTextSize)
|
||||
var width = MeasureSpec.getSize(widthMeasureSpec)
|
||||
var height = MeasureSpec.getSize(heightMeasureSpec)
|
||||
if (height >= width) {
|
||||
height = min(height, (width * 1.5).roundToInt())
|
||||
} else {
|
||||
width = min(width, height)
|
||||
}
|
||||
val textSize = min(0.2f * width, getDimension(context, R.dimen.smallerTextSize))
|
||||
label.setTextSize(TypedValue.COMPLEX_UNIT_PX, textSize)
|
||||
if (isNumerical) {
|
||||
ring.setTextSize(textSize * 0.75f)
|
||||
ring.setTextSize(textSize * 0.9f)
|
||||
} else {
|
||||
ring.setTextSize(textSize)
|
||||
}
|
||||
ring.setThickness(0.15f * textSize)
|
||||
super.onMeasure(newWidthMeasureSpec, newHeightMeasureSpec)
|
||||
ring.setThickness(0.03f * width)
|
||||
super.onMeasure(
|
||||
MeasureSpec.makeMeasureSpec(width, MeasureSpec.EXACTLY),
|
||||
MeasureSpec.makeMeasureSpec(height, MeasureSpec.EXACTLY)
|
||||
)
|
||||
}
|
||||
|
||||
private fun init() {
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
Loop Seguiment d'hàbits t'ajuda a crear i mantenir en la teva vida hàbits positius de llarg termini. Estadístiques i gràfiques detallades et donen una imatge clara de com els teus hàbits han millorat en el temps. L'app és completament sense anuncis, de codi obert i respecta la teva privadesa.
|
||||
Loop Seguiment d'hàbits t'ajuda a crear i mantenir en la teva vida hàbits positius de llarg termini. Gràfics i estadístiques detallades us proporcionen una imatge clara de com els vostres hàbits han millorat amb el pas del temps. L'aplicació Blokada és totalment lliure de publicitat, de codi obert i respecta la vostra privadesa.
|
||||
|
||||
<b>Interfície minimalista, lleugera i bonica</b>
|
||||
Loop té una interfície elegant i minimalista que es molt fàcil d'usar, inclús per als usuaris primerencs. Altament optimitzada per a que sigui ràpida, l'app funciona bé inclús en telèfons antics.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
Loop Habit Tracker hilft dir dabei, positive Gewohnheiten in dein Leben zu integrieren und sie dauerhaft zu verfolgen. Detaillierte Diagramme und Statistiken geben Aufschluss darüber, wie sich die Gewohnheiten über die Zeit verändern und verbessern. Die App ist werbefrei, open source und respektiert die Privatsphäre.
|
||||
Loop Habit Tracker hilft dir dabei gute Gewohnheiten zu erlangen und sie ein Leben lang zu pflegen. Detaillierte Diagramme und Statistiken geben Aufschluss darüber, wie sich die Gewohnheiten über die Zeit verändern und verbessern. Die App ist werbefrei, open source und respektiert die Privatsphäre.
|
||||
|
||||
<b>Schöne, minimalistisch und übersichtliche Benutzeroberfläche</b>
|
||||
Loop hat eine elegante und minimalistische Benutzeroberfläche, die selbst für Erstnutzer eine einfache Verwendung möglich macht. Dank vieler Geschwindigkeitsoptimierungen funktioniert die App auch auf älteren Geräten einwandfrei.
|
||||
|
||||
@@ -1 +1 @@
|
||||
Erstelle gute Gewohnheiten und verfolge ihren Fortschritt (ohne Werbung)
|
||||
Erlange gute Gewohnheiten und verfolge dessen Fortschritte (ohne Werbung)
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
Loop Habit Tracker te ayuda a crear y mantener hábitos positivos y a largo plazo en tu vida. Gráficos detallados y las estadísticas te dan una idea clara de cómo tus hábitos han mejorado con el tiempo. La aplicación es completamente gratis, de código abierto y respeta tu privacidad.
|
||||
Loop Habit Tracker te ayuda a crear y mantener hábitos positivos de largo plazo en tu vida. Gráficos detallados y estadísticas te dan una idea clara de cómo tus hábitos han mejorado con el tiempo. La aplicación es completamente gratis, de código abierto y respeta tu privacidad.
|
||||
|
||||
<b>Interfase hermosa, minimalista y liviana</b>
|
||||
Loop tiene una interfaz elegante y minimalista que es muy fácil de usar, incluso para usuarios nuevos. Muy optimizada para la velocidad, la aplicación funciona bien incluso en teléfonos más antiguos.
|
||||
<b>Interfaz hermosa, minimalista y liviana</b>
|
||||
Loop tiene una interfaz elegante y minimalista que es muy fácil de usar, incluso para usuarios nuevos. Altamente optimizada para la velocidad, la aplicación funciona bien incluso en teléfonos más antiguos.
|
||||
|
||||
<b>Puntaje de hábitos</b>
|
||||
Loop tiene una fórmula avanzada para calcular la fuerza de tus hábitos. Cada repetición fortalece tu hábito y cada día perdido lo debilita. Sin embargo, unos días perdidos después de una larga racha no destruirán por completo tu progreso, a diferencia de muchas otras aplicaciones del tipo "no rompas la cadena".
|
||||
@@ -13,15 +13,15 @@ Además de los hábitos diarios, Loop admite hábitos con horarios más complejo
|
||||
Programa notificaciones para recordarte tus hábitos. Cada hábito puede tener su propio recordatorio, a la hora elegida del día. Marca o descarta fácilmente tu hábito directamente de la notificación.
|
||||
|
||||
<b>Widgets</b>
|
||||
Recuerda tus hábitos apenas desbloqueando el teléfono. Los widgets de colores te permiten rastrear tus hábitos directamente desde tu pantalla de inicio, sin siquiera abrir la aplicación.
|
||||
Recuerde sus hábitos cada vez que desbloquee su teléfono. Los widgets de colores te permiten rastrear tus hábitos directamente desde tu pantalla de inicio, sin siquiera abrir la aplicación.
|
||||
|
||||
<b>Toma el control de tus datos</b>
|
||||
Si quieres analizar más tus datos o moverlos a otro servicio, Loop le permite exportarlo a hojas de cálculo, (CSV) o a un archivo de base de datos (SQLite). Para usuarios avanzados, se pueden marcar hábitos a través de otras aplicaciones, como Tasker.
|
||||
Si deseas analizar más sus datos o moverlos a otro servicio, Loop te permite exportarlos a hojas de cálculo (CSV) o a un archivo de base de datos (SQLite). Para usuarios avanzados, se pueden marcar hábitos a través de otras aplicaciones, como Tasker.
|
||||
|
||||
<b>Sin limitaciones</b>
|
||||
Rastrea tantos hábitos como desees. Loop no impone límites artificiales sobre cuántos hábitos puedes tener. Todas las características están disponibles para todos los usuarios. No hay compras dentro de la aplicación.
|
||||
|
||||
<b>Completamente sin publicidades y código abierto</b>
|
||||
<b>Completamente sin anuncios y código abierto</b>
|
||||
No hay publicidades, notificaciones molestas o permisos intrusivos en esta aplicación, y nunca los habrá. La aplicación es completamente de código abierto (Licencia GPLv3).
|
||||
|
||||
<b>Funciona sin conexión y respeta tu privacidad</b>
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
Loop Habit Tracker به شما کمک میکند تا عادتهای مثبت طولانیمدت را در زندگی ایجاد و حفظ کنید. نمودارها و آمارهای دقیق، تصویری واضح از چگونگی بهبود عادتهای شما در طول زمان به شما میدهد. این برنامه کاملاً بدون تبلیغات و منبعباز است و به حریم خصوصی شما احترام میگذارد.
|
||||
عادتسنج لوپ به شما کمک میکند تا عادتهای مثبت طولانیمدت را در زندگی ایجاد و حفظ کنید. نمودارها و آمارهای دقیق، تصویری واضح از چگونگی بهبود عادتهای شما در طول زمان به شما میدهد. این برنامه کاملاً بدون تبلیغات و منبعباز است و به حریم خصوصی شما احترام میگذارد.
|
||||
|
||||
<b>رابط کاربری زیبا، مینیمال و سبک</b>
|
||||
Loop دارای یک رابط زیبا و مینیمال است که استفاده از آن حتی برای کاربرانی که برای بار اول استفاده میکنند بسیار آسان است. این برنامه از نظر سرعت عملکرد بسیار بهینه شده و حتی در تلفنهای قدیمی نیز به خوبی کار میکند.
|
||||
|
||||
<b>نمره عادت</b>
|
||||
Loop فرمول پیشرفتهای برای محاسبه قدرت عادتهای شما دارد. هر تکرار عادت شما را قویتر میکند و هر روز فراموششده آن را ضعیف میکند. چند روز از دست رفته پس از یک رشته طولانی ، برخلاف بسیاری از برنامه های شکننده نشده ، پیشرفت شما را به طور کامل از بین نمی برد.
|
||||
لوپ فرمول پیشرفتهای برای محاسبه قدرت عادتهای شما دارد. هر تکرار عادت شما را قویتر میکند و هر روز فراموششده آن را ضعیف میکند. ولی برخلاف دیگر برنامههای عادتسنج، اگر بعد از یک روند طولانی حفظ عادت، چند روز آن عادت را انجام ندهید، پیشرفت شما به صورت کامل نابود نخواهد شد.
|
||||
|
||||
برنامهریزی با دست باز
|
||||
<b>برنامهریزی منعطف</b>
|
||||
علاوه بر علاوه بر عادتهایی که هر روز باید تکرار شوند، شما میتوانید برنامهریزیهای متنوعی دیگری را تنظیم کنید، مثلا هفته ای سه بار یا روز در میان
|
||||
|
||||
یاداوری
|
||||
@@ -19,11 +19,11 @@ Loop فرمول پیشرفتهای برای محاسبه قدرت عادت
|
||||
اگر می خواهید داده های خود را بیشتر تجزیه و تحلیل کنید ، یا آنها را به سرویس دیگری منتقل کنید ، Loop به شما امکان می دهد آنها را به صفحه گسترده (CSV) یا یک پرونده پایگاه داده (SQLite) صادر کنید. برای کاربران قدرت ، علامت های تأیید را می توان از طریق برنامه های دیگر مانند Tasker اضافه کرد.
|
||||
|
||||
<b>بدون محدودیت</b>
|
||||
هر تعداد که می خواهید عادت ها را دنبال کنید. حلقه محدودیتی مصنوعی در تعداد عادت های شما ایجاد نمی کند. همه ویژگی ها در دسترس همه کاربران است. هیچ خرید درون برنامه ای وجود ندارد.
|
||||
هر تعداد که می خواهید عادت ها را دنبال کنید. حلقه محدودیتی مصنوعی در تعداد عادت های شما ایجاد نمی کند. همه ویژگیها برای همه کاربران در دسترس هستند. هیچ خرید درونبرنامهای وجود ندارد.
|
||||
|
||||
<b>کاملاً بدون آگهی و منبع آزاد</b>
|
||||
هیچ تبلیغی ، اعلان آزار دهنده یا مجوز سرزده در این برنامه وجود ندارد و هرگز وجود نخواهد داشت. برنامه کاملاً منبع باز (GPLv3) است.
|
||||
<b>کاملاً بدون آگهی و منبع باز</b>
|
||||
هیچ تبلیغ، اعلان آزاردهنده یا مجوز بیاجازه در این برنامه وجود ندارد و هرگز وجود نخواهد داشت. برنامه کاملاً منبع باز (GPLv3) است.
|
||||
|
||||
<b>بصورت آفلاین کار می کند و به حریم خصوصی شما احترام می گذارد</b>
|
||||
حلقه به اتصال اینترنت یا ثبت نام آنلاین حساب نیاز ندارد. اطلاعات محرمانه شما هرگز برای کسی ارسال نمی شود. نه توسعه دهندگان و نه اشخاص ثالث به آن دسترسی ندارند.
|
||||
<b>به صورت آفلاین کار میکند و به حریم خصوصی شما احترام می گذارد</b>
|
||||
لوپ به اینترنت یا ثبتنام آنلاین نیاز ندارد. اطلاعات محرمانه شما هرگز به جایی ارسال نمیشود. نه توسعهدهندگان و نه اشخاص ثالث به آن دسترسی ندارند.
|
||||
|
||||
|
||||
@@ -1 +1 @@
|
||||
ایجاد عادت های خوب و پیگیری پیشرفت آنها در طول زمان (بدون تبلیغ)
|
||||
عادتهای خوب ایجاد کنید و پیشرفت آنها را در طول زمان پیگیری کنید (بدون تبلیغ)
|
||||
|
||||
@@ -1,29 +1,29 @@
|
||||
אפליקצית Loop Habit Tracker עוזרת לך ליצור ולשמר הרגלים חיוביים וארוכי טווח בחייך. תרשימים וסטטיסטיקה מפורטים נותנים לך תמונה ברורה כיצד ההרגלים שלך השתפרו לאורך זמן. האפליקציה הינה נטולת פרסומות לחלוטין, כתובה בקוד פתוח וכן מכבדת את הפרטיות שלך.
|
||||
„Loop למעקב אחר ההרגלים” מסייע לך ביצירה ובשימור הרגלים טובים וארוכי טווח. תרשימים וסטטיסטיקה מפורטים נותנים לך תמונה ברורה כיצד ההרגלים שלך השתפרו לאורך זמן. היישום נטול פרסומות לחלוטין, קוד המקור שלו פתוח והוא מכבד את הפרטיות שלך.
|
||||
|
||||
<b>ממשק יפה, מינימלי וקליל</b>
|
||||
ל־Loop ממשק מינימלי וקל לשימוש, כבר בשימוש הראשון. האפליקציה מותאמת מאוד לפעולה מהירה, ופועלת היטב גם בטלפונים ישנים.
|
||||
<b>ממשק יפה, חסכוני וקליל</b>
|
||||
ל־Loop ממשק אלגנטי, חסכוני וקל לשימוש אפילו בפעם הראשונה. היישום מותאם במיוחד למהירות, ועובד היטב גם בטלפונים ישנים.
|
||||
|
||||
<b>ציון הרגל</b>
|
||||
ל־Loop יש נוסחה מתקדמת לחישוב חוזק ההרגלים שלך. כל חזרה הופכת את ההרגל שלכם לחזק יותר, וכל יום שהוחמץ הופך אותו לחלש יותר. כמה ימים שהוחמצו לאחר רצף ארוך, לעומת זאת, לא יהרסו לחלוטין את ההתקדמות, בניגוד להרבה אפליקציות אחרות מסוג "אל תשברו את השרשרת".
|
||||
ל־Loop יש נוסחה מתקדמת לחישוב חוזק ההרגלים שלך. כל חזרה על ההרגל מחזקת אותו, וכל יום שהוחמץ מחליש אותו. כמה ימים שהוחמצו לאחר רצף ארוך, לעומת זאת, לא יהרסו לחלוטין את ההתקדמות, בניגוד ליישומים רבים אחרים מסוג „לא לשבור את השרשרת”.
|
||||
|
||||
<b>לוחות זמנים גמישים</b>
|
||||
בנוסף להרגלים יומיומיים, Loop תומכת בהרגלים עם לוחות זמנים מורכבים יותר, כמו 3 פעמים בשבוע או "יום כן יום לא".
|
||||
בנוסף להרגלים יומיומיים, Loop תומך בהרגלים עם לוחות זמנים מורכבים יותר, כמו 3 פעמים בשבוע או „יום כן יום לא”.
|
||||
|
||||
<b>תזכורות</b>
|
||||
אפשר לתזמן התראות קבועות עם תזכורות לגבי ההרגלים שלך. לכל הרגל יכולה להיות תזכורת משלו, בשעה שנבחרה ביום. אפשר לסמן או לדחות את עשיית ההרגל ישירות מההתראה בקלות.
|
||||
|
||||
<b>ווידג'טים</b>
|
||||
היזכרו בהרגלים בכל שחרור נעילת הטלפון. ווידג'טים צבעוניים מאפשרים לך לעקוב אחר הרגליך ישירות ממסך הבית שלך, מבלי לפתוח את האפליקציה אפילו.
|
||||
<b>יישומונים</b>
|
||||
להיזכר בהרגלים בכל שחרור נעילת הטלפון. יישומונים צבעוניים שמאפשרים לך לעקוב אחר ההרגלים ישירות ממסך הבית, מבלי לפתוח אפילו את היישום.
|
||||
|
||||
<b>השליטה בנתונים היא בידיים שלך</b>
|
||||
אם ברצונך לנתח עוד יותר את הנתונים שלך, או להעביר אותם לשירות אחר, Loop מאפשרת לך לייצא אותם לגיליונות אלקטרוניים (CSV) או לקובץ מסד נתונים (SQLite). עבור משתמשים מובילים, ישנה יכולת להוסיף ביקורת באמצעות אפליקציות אחרות, כגון Tasker.
|
||||
אם ברצונך לנתח יותר לעומק את הנתונים שלך, או להעבירם לשירות אחר, Loop מאפשרת לך לייצא אותם לגיליונות אלקטרוניים (CSV) או לקובץ מסד נתונים (SQLite). למשתמשים מתקדמים, אפשר לסמן הרגלים דרך יישומים אחרים, כגון Tasker.
|
||||
|
||||
<b>בלי הגבלות</b>
|
||||
עקבו אחר כמה הרגלים שתרצו. Loop לא מגבילה את כמות ההרגלים שאפשר להוסיף. כל התכונות זמינות לכל המשתמשים. אין רכישות מתוך האפליקציה.
|
||||
אפשר לעקוב אחר כמה הרגלים שרוצים. Loop לא מגבילה את כמות ההרגלים שאפשר להוסיף. כל התכונות זמינות לכל המשתמשים. אין רכישות מתוך היישום.
|
||||
|
||||
<b>נטול פרסומות במלואו ובקוד פתוח</b>
|
||||
אין שום פרסומות, התראות מעצבנות או הרשאות פולשניות ביישום הזה, ולעולם לא יהיו. הקוד של היישום הזה פתוח במלואו (GPLv3).
|
||||
<b>היישום נטול פרסומות במלואו וקוד המקור שלו פתוח</b>
|
||||
אין שום פרסומות, התראות מעצבנות או הרשאות פולשניות ביישום הזה, ולעולם לא יהיו. קוד היישום הזה פתוח לחלוטין (GPLv3).
|
||||
|
||||
<b>עובד במצב לא מקוון ומכבד את פרטיותך</b>
|
||||
ל־Loop לא נחוצים חיבור לאינטרנט או הרשמה לחשבון מקוון. הנתונים הסודיים שלך לא נשלחים לאחרים בכלל. גם למפתחים וגם לגורמי צד שלישי כלשהם אין גישה אליהם.
|
||||
ל־Loop לא נחוצים חיבור לאינטרנט או הרשמה לחשבון מקוון. הנתונים הסודיים שלך לא נשלחים לאחרים כלל. גם למפתחים וגם לגורמי צד שלישי כלשהם אין גישה אליהם.
|
||||
|
||||
|
||||
@@ -1 +1 @@
|
||||
התחלת הרגלים טובים ומעקב אחר ההתקדמות בעשייתם למשך זמן (ללא פרסומות)
|
||||
התחלת הרגלים טובים ומעקב אחר ההתקדמות בעשייתם לאורך זמן (ללא פרסומות)
|
||||
|
||||
@@ -15,7 +15,7 @@ Plan notificaties om jezelf te herinneren aan je gewoontes. Elke gewoonte kan zi
|
||||
<b>Widgets</b>
|
||||
Wordt bij elke telefoonontgrendeling herinnerd aan je gewoontes. Kleurrijke widgets maken het mogelijk je gewoontes direct vanuit het startscherm te tracken, zonder de app te openen.
|
||||
|
||||
<b>Neem controle over uw gegevens</b>
|
||||
<b>Neem controle over je gegevens</b>
|
||||
Als je jouw gegevens verder wilt analyseren, of wil verplaatsen in een andere service, dan geeft Loop je de mogelijkheid het te exporteren naar spreadsheets (CSV) of naar een databasebestand (SQlite). Voor hoofdgebruikers kunnen vinkjes worden toegevoegd via andere apps, zoals Tasker.
|
||||
|
||||
<b>Geen beperkingen</b>
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
Трекер привычек Loop помогает вам создавать и поддерживать долгосрочные позитивные привычки в своей жизни. Подробные графики и статистика дадут вам чёткое представление о том, как ваши привычки улучшились с течением времени. Приложение полностью без рекламы, с открытым исходным кодом и с уважением к вашей конфиденциальности.
|
||||
|
||||
<b>Красивый, минималистичный и лёгкий интерфейс</b>
|
||||
У Loop изящный и минималистичный интерфейс, который очень прост в использовании даже для начинающих пользователей. Высокооптимизированное для скорости, приложение хорошо работает даже на старых телефонах.
|
||||
У Loop изящный и минималистичный интерфейс, который очень прост в использовании даже для начинающих пользователей. Оптимизированное по скорости приложение хорошо работает даже на старых телефонах.
|
||||
|
||||
<b>Показатель привычек</b>
|
||||
<b>Показатель устойчивости привычки</b>
|
||||
У Loop есть продвинутая формула для расчёта силы ваших привычек. Каждое повторение делает вашу привычку сильнее, а каждый пропущенный день - слабее. Однако несколько пропущенных дней после долгой полосы не погубят ваш прогресс в отличие от многих других приложений типа "не разрывай цепь".
|
||||
|
||||
<b>Гибкий график</b>
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
Loop 习惯记录(以下简称“Loop”)可以帮助您建立好习惯且随着时间记录你的进步。 详细的图表和统计数据,可以使您更清楚地看到自己的进步。 该应用是完全无广告的开源软件,并且它尊重您的隐私。
|
||||
Loop 习惯记录(以下简称“Loop”)能帮你养成和长期保持好习惯。 详细的图表和统计数据能让您更清楚地看到自己的进步。 这是一个完全无广告的开源应用,它尊重您的隐私。
|
||||
|
||||
<b>优雅、简约、轻巧</b>
|
||||
Loop 具有优雅而简约的界面,即使对于初次使用的用户,也非常易于使用。 该应用针对速度进行了高度优化,即使在较旧的手机上也可以正常运行。
|
||||
@@ -12,7 +12,7 @@ Loop 有高级的公式来计算您习惯的强度。 多多重复会使你的
|
||||
<b>提醒</b>
|
||||
设定通知以提醒您完成习惯。 每一种习惯都有属于自己的通知,您可以选定当天的某个时间提醒该习惯。 同时从通知中轻松地检查或取消您的习惯。
|
||||
|
||||
<b>小部件</b>
|
||||
<b>微件</b>
|
||||
当您解锁手机时, 多彩的小部件可让您直接从主屏幕记录自己的习惯,而无需打开应用程序。
|
||||
|
||||
<b>掌控您的数据</b>
|
||||
@@ -22,7 +22,7 @@ Loop 有高级的公式来计算您习惯的强度。 多多重复会使你的
|
||||
想记录多少习惯都没问题! Loop 对您的习惯没有任何限制, 所有用户均可使用所有功能, 并且没有应用内购买。
|
||||
|
||||
<b>完全无广告的开源软件</b>
|
||||
此应用程序中永远没有任何广告,烦人的通知或侵入性权限, 应用程序是完全开源的,完整的代码在GPLv3。
|
||||
本应用永远都不会有广告和烦人的通知,也不会索取侵入性权限。 本应用是完全开源的(GPLv3)。
|
||||
|
||||
<b>脱机工作并尊重您的隐私</b>
|
||||
Loop 不需要网络连接或在线帐户注册。 您的用户数据永远不会发送给任何人, 包括开发人员和任何第三方都无法访问它。
|
||||
|
||||
@@ -1 +1 @@
|
||||
建立好习惯且随着时间记录你的进步(无广告)
|
||||
养成好习惯并随时记录你的进步(无广告)
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
2.0.3:
|
||||
* Bug fixes
|
||||
2.0:
|
||||
* Track numeric habits (e.g. how many pages did you read?)
|
||||
* Skip days without breaking your streak
|
||||
|
||||
@@ -30,9 +30,11 @@
|
||||
<TextView style="@style/About.Item" android:text="tat bz" />
|
||||
<TextView style="@style/About.Item.Language" android:text="Español" />
|
||||
<TextView style="@style/About.Item" android:text="Ander Raso Vazquez" />
|
||||
<TextView style="@style/About.Item" android:text="Eilif Adelvice" />
|
||||
<TextView style="@style/About.Item" android:text="Iabin Arteaga" />
|
||||
<TextView style="@style/About.Item" android:text="Sebastian05067" />
|
||||
<TextView style="@style/About.Item" android:text="luiandresgonzalez" />
|
||||
<TextView style="@style/About.Item" android:text="oscfd" />
|
||||
<TextView style="@style/About.Item.Language" android:text="Esperanto" />
|
||||
<TextView style="@style/About.Item" android:text="4001982248998" />
|
||||
<TextView style="@style/About.Item" android:text="marco.baturan" />
|
||||
@@ -48,11 +50,14 @@
|
||||
<TextView style="@style/About.Item" android:text="Samuel Guay" />
|
||||
<TextView style="@style/About.Item" android:text="Thibaut Girka" />
|
||||
<TextView style="@style/About.Item" android:text="Tiralka" />
|
||||
<TextView style="@style/About.Item" android:text="_translator" />
|
||||
<TextView style="@style/About.Item" android:text="roptat" />
|
||||
<TextView style="@style/About.Item.Language" android:text="Fārsi" />
|
||||
<TextView style="@style/About.Item" android:text="Behnood HRazy" />
|
||||
<TextView style="@style/About.Item" android:text="Eman" />
|
||||
<TextView style="@style/About.Item" android:text="Saeed Esmaili" />
|
||||
<TextView style="@style/About.Item.Language" android:text="Hindi" />
|
||||
<TextView style="@style/About.Item" android:text="Vijaykumar Borkar" />
|
||||
<TextView style="@style/About.Item.Language" android:text="Hrvatski" />
|
||||
<TextView style="@style/About.Item" android:text="Ivan Krušlin" />
|
||||
<TextView style="@style/About.Item.Language" android:text="Italiano" />
|
||||
@@ -63,6 +68,7 @@
|
||||
<TextView style="@style/About.Item" android:text="Isti" />
|
||||
<TextView style="@style/About.Item" android:text="gapszi" />
|
||||
<TextView style="@style/About.Item.Language" android:text="Nederlands" />
|
||||
<TextView style="@style/About.Item" android:text="Blinkin" />
|
||||
<TextView style="@style/About.Item" android:text="Bryanx" />
|
||||
<TextView style="@style/About.Item" android:text="Jelle den Butter" />
|
||||
<TextView style="@style/About.Item" android:text="Mark Macaré" />
|
||||
@@ -91,6 +97,7 @@
|
||||
<TextView style="@style/About.Item" android:text="Dušan Strgar" />
|
||||
<TextView style="@style/About.Item.Language" android:text="Suomen kieli" />
|
||||
<TextView style="@style/About.Item" android:text="2kaafone" />
|
||||
<TextView style="@style/About.Item" android:text="Antti Kallio" />
|
||||
<TextView style="@style/About.Item" android:text="Elina Salminen" />
|
||||
<TextView style="@style/About.Item" android:text="Sofia Veijonen" />
|
||||
<TextView style="@style/About.Item.Language" android:text="Svenska" />
|
||||
@@ -104,6 +111,7 @@
|
||||
<TextView style="@style/About.Item" android:text="Huy Ngo" />
|
||||
<TextView style="@style/About.Item" android:text="Lương Vĩnh Khang" />
|
||||
<TextView style="@style/About.Item" android:text="Trần Thái" />
|
||||
<TextView style="@style/About.Item" android:text="bruhwut" />
|
||||
<TextView style="@style/About.Item" android:text="pnhpnh" />
|
||||
<TextView style="@style/About.Item.Language" android:text="Türkçe" />
|
||||
<TextView style="@style/About.Item" android:text="Caner Başaran" />
|
||||
@@ -124,6 +132,7 @@
|
||||
<TextView style="@style/About.Item" android:text="Diana Karaseva" />
|
||||
<TextView style="@style/About.Item" android:text="Dmitriy Bogdanov" />
|
||||
<TextView style="@style/About.Item" android:text="Tanya" />
|
||||
<TextView style="@style/About.Item" android:text="engineeringforgood" />
|
||||
<TextView style="@style/About.Item.Language" android:text="Українська" />
|
||||
<TextView style="@style/About.Item" android:text="Oglaigh Rystard" />
|
||||
<TextView style="@style/About.Item" android:text="Prosta4ok_ua" />
|
||||
@@ -136,6 +145,7 @@
|
||||
<TextView style="@style/About.Item" android:text="Slobodan Simić" />
|
||||
<TextView style="@style/About.Item" android:text="Đorđe Vasiljević" />
|
||||
<TextView style="@style/About.Item.Language" android:text="עברית" />
|
||||
<TextView style="@style/About.Item" android:text="Ohad Edri" />
|
||||
<TextView style="@style/About.Item" android:text="Omer I.S." />
|
||||
<TextView style="@style/About.Item" android:text="Omry Cohen" />
|
||||
<TextView style="@style/About.Item" android:text="Yoav Argov" />
|
||||
@@ -147,6 +157,7 @@
|
||||
<TextView style="@style/About.Item" android:text="Michael Malak" />
|
||||
<TextView style="@style/About.Item" android:text="Saeed Esmaili" />
|
||||
<TextView style="@style/About.Item" android:text="Sief Tarek" />
|
||||
<TextView style="@style/About.Item" android:text="alalloush" />
|
||||
<TextView style="@style/About.Item" android:text="mohmans" />
|
||||
<TextView style="@style/About.Item" android:text="reyhoon" />
|
||||
<TextView style="@style/About.Item.Language" android:text="فارسی" />
|
||||
@@ -171,6 +182,7 @@
|
||||
<TextView style="@style/About.Item" android:text="QWERT" />
|
||||
<TextView style="@style/About.Item" android:text="Ting-Hua" />
|
||||
<TextView style="@style/About.Item" android:text="XuToTo" />
|
||||
<TextView style="@style/About.Item" android:text="yoding" />
|
||||
<TextView style="@style/About.Item" android:text="黄克" />
|
||||
<TextView style="@style/About.Item.Language" android:text="日本語" />
|
||||
<TextView style="@style/About.Item" android:text="Naofumi F" />
|
||||
|
||||
@@ -185,7 +185,7 @@
|
||||
style="@style/FormInput"
|
||||
android:id="@+id/targetInput"
|
||||
android:maxLines="1"
|
||||
android:inputType="number"
|
||||
android:inputType="numberDecimal"
|
||||
android:hint="@string/example_target"/>
|
||||
</LinearLayout>
|
||||
</FrameLayout>
|
||||
@@ -248,4 +248,4 @@
|
||||
</LinearLayout>
|
||||
</ScrollView>
|
||||
|
||||
</androidx.coordinatorlayout.widget.CoordinatorLayout>
|
||||
</androidx.coordinatorlayout.widget.CoordinatorLayout>
|
||||
|
||||
@@ -31,19 +31,19 @@
|
||||
android:id="@+id/scoreRing"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="0dp"
|
||||
android:layout_weight="1"
|
||||
android:layout_weight="0.9"
|
||||
habit:thickness="2"
|
||||
habit:textSize="16"
|
||||
habit:enableFontAwesome="true"
|
||||
android:layout_marginTop="8dp"
|
||||
android:layout_marginLeft="12dp"
|
||||
android:layout_marginRight="12dp"/>
|
||||
android:layout_marginLeft="4dp"
|
||||
android:layout_marginRight="4dp"/>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/label"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="0"
|
||||
android:layout_weight="0.1"
|
||||
android:textSize="12sp"
|
||||
android:textColor="@color/white"
|
||||
android:layout_marginLeft="6dp"
|
||||
|
||||
@@ -17,9 +17,7 @@
|
||||
~ You should have received a copy of the GNU General Public License along
|
||||
~ with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
-->
|
||||
|
||||
<!--Generated by crowdin.com-->
|
||||
<resources>
|
||||
<resources xmlns:tools="http://schemas.android.com/tools" tools:ignore="MissingTranslation">
|
||||
<string name="app_name">Loop - Gewoonte Boekhouer</string>
|
||||
<string name="main_activity_title">Gewoontes</string>
|
||||
<string name="action_settings">Instellings</string>
|
||||
@@ -30,12 +28,7 @@
|
||||
<string name="add_habit">Voeg gewoonte by</string>
|
||||
<string name="color_picker_default_title">Verander kleur</string>
|
||||
<string name="toast_habit_created">Gewoonte geskep</string>
|
||||
<string name="toast_habit_deleted">Gewoontes verwyder</string>
|
||||
<string name="toast_habit_changed">Gewoonte verander</string>
|
||||
<string name="toast_habit_archived">Gewoontes geargiveer</string>
|
||||
<string name="toast_habit_unarchived">Gewoontes gedeargiveer</string>
|
||||
<string name="overview">Oorsig</string>
|
||||
<!-- App introduction -->
|
||||
<string name="intro_title_1">Welkom</string>
|
||||
<string name="interval_15_minutes">15 minute</string>
|
||||
<string name="interval_30_minutes">30 minute</string>
|
||||
@@ -45,6 +38,4 @@
|
||||
<string name="interval_8_hour">8 ure</string>
|
||||
<string name="interval_24_hour">24 ure</string>
|
||||
<string name="settings">Instellings</string>
|
||||
<!-- Different types of habits -->
|
||||
<!-- Middle part of the sentence '1 time in xx days' -->
|
||||
</resources>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
~ Copyright (C) 2016 Álinson Santos Xavier <isoron@gmail.com>
|
||||
~ Copyright (C) 2016-2021 Álinson Santos Xavier <git@axavier.org>
|
||||
~
|
||||
~ This file is part of Loop Habit Tracker.
|
||||
~
|
||||
@@ -17,7 +17,7 @@
|
||||
~ You should have received a copy of the GNU General Public License along
|
||||
~ with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
-->
|
||||
<resources>
|
||||
<resources xmlns:tools="http://schemas.android.com/tools" tools:ignore="MissingTranslation">
|
||||
<string name="app_name">Loop Habit Tracker</string>
|
||||
<string name="main_activity_title">عادات</string>
|
||||
<string name="action_settings">إعدادات</string>
|
||||
@@ -28,19 +28,15 @@
|
||||
<string name="add_habit">إضافة عادة</string>
|
||||
<string name="color_picker_default_title">تغيير اللون</string>
|
||||
<string name="toast_habit_created">تم إنشاء عادة</string>
|
||||
<string name="toast_habit_deleted">تم حذف العادات</string>
|
||||
<string name="toast_habit_changed">تم تغيير عادة</string>
|
||||
<string name="toast_habit_archived">تم أرشفه العادات </string>
|
||||
<string name="toast_habit_unarchived">تم الغاء ارشفه العادات </string>
|
||||
<string name="overview">نظرة عامة</string>
|
||||
<string name="habit_strength">قوة العادة</string>
|
||||
<string name="history">السجل</string>
|
||||
<string name="clear">إزالة</string>
|
||||
<string name="days">أيام</string>
|
||||
<string name="reminder">تذكير</string>
|
||||
<string name="save">حفظ</string>
|
||||
<string name="streaks">الإنجازات </string>
|
||||
<string name="no_habits_found"> لا يوجد لديك عادات مفعله</string>
|
||||
<string name="no_habits_left_to_do">لقد أنهيت ألعمل لليوم</string>
|
||||
<string name="long_press_to_toggle">إلمس و إستمر لتحقق أو ازل. </string>
|
||||
<string name="reminder_off">إيقاف</string>
|
||||
<string name="create_habit">انشاء العادة</string>
|
||||
@@ -64,20 +60,16 @@
|
||||
<string name="interval_custom">مخصص... </string>
|
||||
<string name="pref_toggle_title">تبديل وضعية العادة بضغطة قصيرة </string>
|
||||
<string name="pref_toggle_description">وضع علامات الاختيار الموجودة بنقرة واحدة بدلاً من الصحافة وعقد. أكثر ملاءمة، ولكن قد يتسبب في تبديل عرضي. </string>
|
||||
<string name="pref_snooze_interval_title">فترتي الغفوى على التذكير </string>
|
||||
<string name="pref_rate_this_app">تقييم هذا التطبيق على جوجل بلاي </string>
|
||||
<string name="pref_send_feedback">أرسل الملاحظات إلى المطور </string>
|
||||
<string name="pref_view_source_code">إفحص التعليمات البرمجية على GitHub </string>
|
||||
<string name="links">روابط </string>
|
||||
<string name="name">اسم </string>
|
||||
<string name="settings">إعدادات</string>
|
||||
<string name="snooze_interval">فترتي الغفوه </string>
|
||||
<string name="select_snooze_delay">حدد تأخير الغفوة </string>
|
||||
<string name="hint_title">هل كنت تعلم؟ </string>
|
||||
<string name="hint_drag">لإعادة ترتيب القوائم، أضغط اسم من هذه العادة، ثم اسحبه إلى المكان الصحيح. </string>
|
||||
<string name="hint_landscape">يمكنك ان ترى المزيد أيام عن طريق وضع الهاتف في وضع أفقي. </string>
|
||||
<string name="delete_habits">حذف عادات </string>
|
||||
<string name="delete_habits_message">سيتم حذف عادات بشكل دائم. هذا العمل لا يمكن التراجع عنه. </string>
|
||||
<string name="habit_not_found">العادة حذفت/لم يتم العثور عليها </string>
|
||||
<string name="weekends">عطلة نهاية الأسبوع </string>
|
||||
<string name="any_weekday">أيام الأسبوع. </string>
|
||||
@@ -111,7 +103,7 @@
|
||||
<string name="generate_bug_report">توليد تقرير الاعطال. </string>
|
||||
<string name="troubleshooting">استكشاف الأخطاء وإصلاحها. </string>
|
||||
<string name="help_translate">المساعدة في ترجمة هذا البرنامج. </string>
|
||||
<string name="night_mode">الوضع الليلي. </string>
|
||||
<string name="night_mode" comment="dark_theme">الوضع الليلي. </string>
|
||||
<string name="use_pure_black">استخدام أسود نقي في الوضع الليلي. </string>
|
||||
<string name="pure_black_description">يستبدل خلفيات رمادية مع أسود نقي في الوضع الليلي. يقلل من استهلاك البطارية في الهواتف مع شاشة AMOLED. .</string>
|
||||
<string name="interface_preferences">السطح البيني. </string>
|
||||
@@ -147,6 +139,7 @@
|
||||
<string name="by_name">حسب الإسم </string>
|
||||
<string name="by_color">حسب اللون </string>
|
||||
<string name="by_score">حسب النقاط </string>
|
||||
<string name="by_status">حسب الحالة</string>
|
||||
<string name="export">استخراج </string>
|
||||
<string name="long_press_to_edit">اضغط مع الاستمرار لتغيرالقيمه</string>
|
||||
<string name="change_value">تغيير القيمة </string>
|
||||
@@ -170,16 +163,29 @@
|
||||
<string name="example_notes">(اختياري)</string>
|
||||
<string name="yes_or_no_example">مثلا: هل استيقظت باكرا اليوم؟ هل مارست الرياضة؟ هل لعبت الشطرنج؟</string>
|
||||
<string name="measurable">قابل للقياس</string>
|
||||
<string name="measurable_example" comment="Feel free to replace "miles" by "km"">مثلا: كم كيلومتراً قطعته اليوم؟ كم صفحة قرأتها؟ كم عدد السعرات الحرارية التي أكلتها؟</string>
|
||||
<string name="measurable_example">مثال، كم ميلاً قطعته اليوم؟ كم عدد الصفحات التي قرأتها؟</string>
|
||||
<string name="x_times_per_week">%d مرة في الأسبوع</string>
|
||||
<string name="x_times_per_month">%d مرة في الشهر</string>
|
||||
<string name="yes_or_no_short_example">مثال: التمرين</string>
|
||||
<string name="color">اللون</string>
|
||||
<string name="example_target">مثال: 15</string>
|
||||
<string name="measurable_short_example">مثلا: الجري</string>
|
||||
<string name="measurable_question_example" comment="Feel free to replace "miles" by "km" if that is more common in your country">مثلا: كم كيلومترًا جريته اليوم؟</string>
|
||||
<string name="measurable_units_example" comment="Feel free to replace by "km" if that is more common in your country">مثلا: كيلومترات</string>
|
||||
<string name="measurable_question_example">مثلا: كم كيلومترًا جريته اليوم؟</string>
|
||||
<string name="measurable_units_example">مثلا: كيلومترات</string>
|
||||
<string name="every_month">كل شهر</string>
|
||||
<string name="validation_cannot_be_blank">لا يمكن أن يكون الإسم فارغًا</string>
|
||||
<string name="today">اليوم</string>
|
||||
<string name="enter">ادخل</string>
|
||||
<string name="no_habits">لا توجد عادات</string>
|
||||
<string name="no_numerical_habits">لا توجد عادات قابلة للقياس</string>
|
||||
<string name="no_boolean_habits">لا توجد عادات تجاوب بنعم أو لا</string>
|
||||
<string name="increment">زيادة</string>
|
||||
<string name="decrement">إنقاص</string>
|
||||
<string name="pref_skip_title">تمكين أيام التخطي</string>
|
||||
<string name="pref_skip_description">بدّل مرتين لإضافة تخطي بدلاً من علامة اختيار. التخطيات تحافظ على درجاتك دون تغيير أو خسارة سلسلة الانتصارات.</string>
|
||||
<string name="pref_unknown_title">إظهار علامات الاستفهام للبيانات المفقودة</string>
|
||||
<string name="you_are_now_a_developer">أنت الآن مطوَِر برمجيات!</string>
|
||||
<string name="activity_not_found">لم يتم العثور على تطبيق لإتمام هذا الإجراء</string>
|
||||
<string name="pref_midnight_delay_title">تمديد اليوم بضع ساعات بعد منتصف الليل</string>
|
||||
<string name="pref_midnight_delay_description">انتظر حتى 3:00 صباحاً لعرض يوم جديد. مفيد إذا كنت عادة تذهب إلى السكون بعد منتصف الليل. يتطلب إعادة تشغيل التطبيق.</string>
|
||||
</resources>
|
||||
|
||||
@@ -17,9 +17,7 @@
|
||||
~ You should have received a copy of the GNU General Public License along
|
||||
~ with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
-->
|
||||
|
||||
<!--Generated by crowdin.com-->
|
||||
<resources>
|
||||
<resources xmlns:tools="http://schemas.android.com/tools" tools:ignore="MissingTranslation">
|
||||
<string name="app_name">Loop Следене на навици</string>
|
||||
<string name="main_activity_title">Навици</string>
|
||||
<string name="action_settings">Настройки</string>
|
||||
@@ -30,16 +28,10 @@
|
||||
<string name="add_habit">Добавяне на навик</string>
|
||||
<string name="color_picker_default_title">Промяна на цвят</string>
|
||||
<string name="toast_habit_created">Навикът е създаден</string>
|
||||
<string name="toast_habit_deleted">Навиците са изтрити</string>
|
||||
<string name="toast_habit_changed">Навикът е променен</string>
|
||||
<string name="toast_habit_archived">Навиците са архивирани</string>
|
||||
<string name="toast_habit_unarchived">Навиците са разархивирани</string>
|
||||
<string name="overview">Обзор</string>
|
||||
<string name="habit_strength">Сила на навика</string>
|
||||
<string name="history">История</string>
|
||||
<string name="clear">Изчистване</string>
|
||||
<string name="times_every">пъти в период от</string>
|
||||
<string name="days">дни</string>
|
||||
<string name="reminder">Напомняне</string>
|
||||
<string name="save">Запазване</string>
|
||||
<string name="streaks">Поредици</string>
|
||||
@@ -50,7 +42,6 @@
|
||||
<string name="edit_habit">Редактиране на навик</string>
|
||||
<string name="check">Поставяне на отметка</string>
|
||||
<string name="snooze">По-късно</string>
|
||||
<!-- App introduction -->
|
||||
<string name="intro_title_1">Добре дошли</string>
|
||||
<string name="intro_description_1">Loop Следене на навици ви помага да създавате и поддържате добри навици.</string>
|
||||
<string name="intro_title_2">Създайте нови навици</string>
|
||||
@@ -75,8 +66,6 @@
|
||||
<string name="hint_title">Знаете ли че?</string>
|
||||
<string name="hint_drag">За да пренаредите записите, натиснете и задръжте върху името на навика и го придърпайте до правилното място.</string>
|
||||
<string name="hint_landscape">Може да виждате повече дни като обърнете телефона си в хоризонтално положение.</string>
|
||||
<string name="delete_habits">Изтриване на навици</string>
|
||||
<string name="delete_habits_message">Навиците ще се изтрият перманентно. Това действие не може да бъде отменено.</string>
|
||||
<string name="habit_not_found">Навикът е изтрит / не е намерен</string>
|
||||
<string name="weekends">Събота и неделя</string>
|
||||
<string name="any_weekday">От понеделник до петък</string>
|
||||
@@ -110,7 +99,7 @@
|
||||
<string name="generate_bug_report">Генериране на доклад за грешки</string>
|
||||
<string name="troubleshooting">Отстраняване на проблеми</string>
|
||||
<string name="help_translate">Помагане за превода на това приложение</string>
|
||||
<string name="night_mode">Нощен режим</string>
|
||||
<string name="night_mode" comment="dark_theme">Нощен режим</string>
|
||||
<string name="use_pure_black">Използване на чисто черно при нощен режим</string>
|
||||
<string name="pure_black_description">Заменя сивите фонове с чисто черни при нощен режим. Намаля разхода на батерията при телефони с AMOLED дисплеи.</string>
|
||||
<string name="interface_preferences">Интерфейс</string>
|
||||
@@ -122,8 +111,6 @@
|
||||
<string name="quarter">Тримесечие</string>
|
||||
<string name="year">Година</string>
|
||||
<string name="total">Общо</string>
|
||||
<!-- Different types of habits -->
|
||||
<!-- Middle part of the sentence '1 time in xx days' -->
|
||||
<string name="every_x_days">На всеки %d дни</string>
|
||||
<string name="every_x_weeks">На всеки %d седмици</string>
|
||||
<string name="score">Сила</string>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
~ Copyright (C) 2016 Álinson Santos Xavier <isoron@gmail.com>
|
||||
~ Copyright (C) 2016-2021 Álinson Santos Xavier <git@axavier.org>
|
||||
~
|
||||
~ This file is part of Loop Habit Tracker.
|
||||
~
|
||||
@@ -17,7 +17,7 @@
|
||||
~ You should have received a copy of the GNU General Public License along
|
||||
~ with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
-->
|
||||
<resources>
|
||||
<resources xmlns:tools="http://schemas.android.com/tools" tools:ignore="MissingTranslation">
|
||||
<string name="app_name">Loop - Hàbit Rastrejador</string>
|
||||
<string name="main_activity_title">Hàbits</string>
|
||||
<string name="action_settings">Configuració</string>
|
||||
@@ -28,19 +28,23 @@
|
||||
<string name="add_habit">Afegir hàbit</string>
|
||||
<string name="color_picker_default_title">Canviar color</string>
|
||||
<string name="toast_habit_created">Hàbit creat.</string>
|
||||
<string name="toast_habit_deleted">Hàbits esborrats.</string>
|
||||
<string name="toast_habit_changed">Hàbit modificat.</string>
|
||||
<string name="toast_habit_archived">Hàbits arxivats.</string>
|
||||
<string name="toast_habit_unarchived">Hàbits trets de l\'arxiu.</string>
|
||||
<plurals name="toast_habits_changed">
|
||||
<item quantity="one">Hàbit modificat.</item>
|
||||
<item quantity="other">Hàbit modificat.</item>
|
||||
</plurals>
|
||||
<plurals name="toast_habits_unarchived">
|
||||
<item quantity="one">Hàbit no arxivat</item>
|
||||
<item quantity="other">Hàbit no arxivat</item>
|
||||
</plurals>
|
||||
<string name="overview">Visió general</string>
|
||||
<string name="habit_strength">Fortalesa de l\'hàbit</string>
|
||||
<string name="history">Història</string>
|
||||
<string name="clear">Netejar</string>
|
||||
<string name="days">dies</string>
|
||||
<string name="reminder">Recordatori</string>
|
||||
<string name="save">Desar</string>
|
||||
<string name="streaks">Ratxa</string>
|
||||
<string name="no_habits_found">No tens hàbits actius</string>
|
||||
<string name="no_habits_left_to_do">Ja heu acabat per avui!</string>
|
||||
<string name="long_press_to_toggle">Prem i manté per a marcar o desmarcar</string>
|
||||
<string name="reminder_off">Desactivat</string>
|
||||
<string name="create_habit">Crear hàbit</string>
|
||||
@@ -64,20 +68,20 @@
|
||||
<string name="interval_custom">Personalitza...</string>
|
||||
<string name="pref_toggle_title">Activar/desactivar repeticions prement curt</string>
|
||||
<string name="pref_toggle_description">Posar les marques de verificació amb un sol toc enlloc de prémer i mantenir. Més adequat, però pot causar activacions accidentals.</string>
|
||||
<string name="pref_snooze_interval_title">Interval d\'endarreriment en recordatoris</string>
|
||||
<string name="pref_rate_this_app">Valora aquesta app a Google Play</string>
|
||||
<string name="pref_send_feedback">Enviar resposta al desenvolupador</string>
|
||||
<string name="pref_view_source_code">Veure codi font a Github</string>
|
||||
<string name="links">Enllaços</string>
|
||||
<string name="name">Nom</string>
|
||||
<string name="settings">Ajustaments</string>
|
||||
<string name="snooze_interval">Interval d\'endarreriment</string>
|
||||
<string name="select_snooze_delay">Selecciona el retard de l\'endarreriment</string>
|
||||
<string name="hint_title">Ho sabies?</string>
|
||||
<string name="hint_drag">Per a ordenar les entrades, prem i mantè sobre el nom de l\'hàbit, després arrossega\'l al lloc correcte.</string>
|
||||
<string name="hint_landscape">Pots veure més dies posant el teu telèfon en orientació apaisada.</string>
|
||||
<string name="delete_habits">Esborrar hàbits</string>
|
||||
<string name="delete_habits_message">Els hàbits seran esborrats permanentment. Aquesta acció no es pot desfer.</string>
|
||||
<plurals name="delete_habits_title">
|
||||
<item quantity="one">Esborrar hàbit</item>
|
||||
<item quantity="other">Esborrar hàbit</item>
|
||||
</plurals>
|
||||
<string name="habit_not_found">Hàbit suprimit / no trobat</string>
|
||||
<string name="weekends">Caps de setmana</string>
|
||||
<string name="any_weekday">Dilluns a divendres</string>
|
||||
@@ -111,7 +115,7 @@
|
||||
<string name="generate_bug_report">Generar informe d\'error</string>
|
||||
<string name="troubleshooting">Resolució de problemes</string>
|
||||
<string name="help_translate">Ajuda a traduïr aquesta app</string>
|
||||
<string name="night_mode">Mode nocturn</string>
|
||||
<string name="night_mode" comment="dark_theme">Mode nocturn</string>
|
||||
<string name="use_pure_black">Utilitzar negre pur en el mode nocturn</string>
|
||||
<string name="pure_black_description">Reemplaça fons grisos per negre pur en el mode nocturn. Redueix consum de bateria en telèfons amb pantalla AMOLED.</string>
|
||||
<string name="interface_preferences">Interfície</string>
|
||||
@@ -147,6 +151,7 @@
|
||||
<string name="by_name">Per nom</string>
|
||||
<string name="by_color">Pel color</string>
|
||||
<string name="by_score">Per marcador</string>
|
||||
<string name="by_status">Per estat</string>
|
||||
<string name="export">Exportar</string>
|
||||
<string name="long_press_to_edit">Prémer i mantenir per a canviar el valor</string>
|
||||
<string name="change_value">Canviar el valor</string>
|
||||
@@ -170,15 +175,14 @@
|
||||
<string name="example_notes">Opcional</string>
|
||||
<string name="yes_or_no_example">Per exemple, us heu despertat aviat? Heu fet exercici? Heu jugat a escacs?</string>
|
||||
<string name="measurable">Mesurable</string>
|
||||
<string name="measurable_example" comment="Feel free to replace "miles" by "km"">Per exemple, quants quilòmetres heu recorregut avui? Quantes pàgines heu llegit? Quantes calories heu menjat?</string>
|
||||
<string name="x_times_per_week">%d vegades per setmana</string>
|
||||
<string name="x_times_per_month">%d vegades al mes</string>
|
||||
<string name="yes_or_no_short_example">Ex. Exercici</string>
|
||||
<string name="color">Color</string>
|
||||
<string name="example_target">ex. 15</string>
|
||||
<string name="measurable_short_example">Per exemple: córrer</string>
|
||||
<string name="measurable_question_example" comment="Feel free to replace "miles" by "km" if that is more common in your country">Per exemple, quants quilòmetres heu recorregut avui?</string>
|
||||
<string name="measurable_units_example" comment="Feel free to replace by "km" if that is more common in your country">per exemple, quilòmetres</string>
|
||||
<string name="measurable_question_example">Per exemple, quants quilòmetres heu recorregut avui?</string>
|
||||
<string name="measurable_units_example">per exemple, quilòmetres</string>
|
||||
<string name="every_month">Cada mes</string>
|
||||
<string name="validation_cannot_be_blank">No es pot deixar en blanc</string>
|
||||
<string name="today">Avui</string>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
~ Copyright (C) 2016 Álinson Santos Xavier <isoron@gmail.com>
|
||||
~ Copyright (C) 2016-2021 Álinson Santos Xavier <git@axavier.org>
|
||||
~
|
||||
~ This file is part of Loop Habit Tracker.
|
||||
~
|
||||
@@ -17,7 +17,7 @@
|
||||
~ You should have received a copy of the GNU General Public License along
|
||||
~ with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
-->
|
||||
<resources>
|
||||
<resources xmlns:tools="http://schemas.android.com/tools" tools:ignore="MissingTranslation">
|
||||
<string name="app_name">Loop Habit Tracker</string>
|
||||
<string name="main_activity_title">Zvyky</string>
|
||||
<string name="action_settings">Nastavení</string>
|
||||
@@ -28,15 +28,10 @@
|
||||
<string name="add_habit">Přidat zvyk</string>
|
||||
<string name="color_picker_default_title">Změnit barvu</string>
|
||||
<string name="toast_habit_created">Zvyk vytvořen.</string>
|
||||
<string name="toast_habit_deleted">Zvyky smazány.</string>
|
||||
<string name="toast_habit_changed">Zvyk změněn.</string>
|
||||
<string name="toast_habit_archived">Archivováno.</string>
|
||||
<string name="toast_habit_unarchived">Zvyky obnoveny.</string>
|
||||
<string name="overview">Přehled</string>
|
||||
<string name="habit_strength">Síla zvyku</string>
|
||||
<string name="history">Historie</string>
|
||||
<string name="clear">Smazat</string>
|
||||
<string name="days">dní</string>
|
||||
<string name="reminder">Připomenutí</string>
|
||||
<string name="save">Uložit</string>
|
||||
<string name="streaks">Série</string>
|
||||
@@ -64,20 +59,16 @@
|
||||
<string name="interval_custom">Vlastní...</string>
|
||||
<string name="pref_toggle_title">Označte opakování krátkým stisknutím</string>
|
||||
<string name="pref_toggle_description">Praktičtější, ale může způsobit nechtěné označení.</string>
|
||||
<string name="pref_snooze_interval_title">Doba odložení upomínky</string>
|
||||
<string name="pref_rate_this_app">Ohodnoťte nás v Google Play</string>
|
||||
<string name="pref_send_feedback">Zpětná vazba vývojáři</string>
|
||||
<string name="pref_view_source_code">Zobrazit zdroj. kód na GitHub</string>
|
||||
<string name="links">Odkazy</string>
|
||||
<string name="name">Jméno</string>
|
||||
<string name="settings">Nastavení</string>
|
||||
<string name="snooze_interval">Interval odkladu</string>
|
||||
<string name="select_snooze_delay">Nastavit délku odložení</string>
|
||||
<string name="hint_title">Věděli jste?</string>
|
||||
<string name="hint_drag">Přeřazení záznamů proveď stisknutím a podržením názvu zvyku a poté přesunutím na správné místo.</string>
|
||||
<string name="hint_landscape">Můžeš vidět více dnů otočením telefonu na šířku.</string>
|
||||
<string name="delete_habits">Smazat zvyky</string>
|
||||
<string name="delete_habits_message">Označené zvyky budou navždy odstraněny. Toto nelze vzít zpět.</string>
|
||||
<string name="habit_not_found">Zvyk smazán / nenalezen</string>
|
||||
<string name="weekends">Víkendy</string>
|
||||
<string name="any_weekday">Pondělí až pátek</string>
|
||||
@@ -111,7 +102,7 @@
|
||||
<string name="generate_bug_report">Generovat výpis chyb</string>
|
||||
<string name="troubleshooting">Řešení problémů</string>
|
||||
<string name="help_translate">Pomozte s překladem aplikace</string>
|
||||
<string name="night_mode">Noční téma</string>
|
||||
<string name="night_mode" comment="dark_theme">Noční téma</string>
|
||||
<string name="use_pure_black">Zobrazit čistě černou v nočním tématu</string>
|
||||
<string name="pure_black_description">Nahradí šedé pozadí čistou černou v nočním tématu. Snižuje spotřebu baterie v telefonech s AMOLED displejem.</string>
|
||||
<string name="interface_preferences">Rozhraní</string>
|
||||
@@ -170,16 +161,16 @@
|
||||
<string name="example_notes">(nepovinné)</string>
|
||||
<string name="yes_or_no_example">např. Vzbudil ses dnes brzy? Cvičil jsi dnes? Hrál jsi šachy?</string>
|
||||
<string name="measurable">Měřitelný</string>
|
||||
<string name="measurable_example" comment="Feel free to replace "miles" by "km"">např. Kolik kilometrů jsi dnes uběhl? Kolik stránek jsi přečetl? Kolik kalorií jsi snědl?</string>
|
||||
<string name="x_times_per_week">%d krát týdně</string>
|
||||
<string name="x_times_per_month">%d krát za měsíc</string>
|
||||
<string name="yes_or_no_short_example">např. Cvičení</string>
|
||||
<string name="color">Barva</string>
|
||||
<string name="example_target">např. 15</string>
|
||||
<string name="measurable_short_example">např. Běh</string>
|
||||
<string name="measurable_question_example" comment="Feel free to replace "miles" by "km" if that is more common in your country">Např. kolik mil jste dnes uběhl?</string>
|
||||
<string name="measurable_units_example" comment="Feel free to replace by "km" if that is more common in your country">např. míle</string>
|
||||
<string name="measurable_question_example">Např. kolik mil jste dnes uběhl?</string>
|
||||
<string name="measurable_units_example">např. míle</string>
|
||||
<string name="every_month">Každý měsíc</string>
|
||||
<string name="validation_cannot_be_blank">Musíte vyplnit</string>
|
||||
<string name="today">Dnes</string>
|
||||
<string name="you_are_now_a_developer">Nyní jste vývojář</string>
|
||||
</resources>
|
||||
|
||||
@@ -17,9 +17,7 @@
|
||||
~ You should have received a copy of the GNU General Public License along
|
||||
~ with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
-->
|
||||
|
||||
<!--Generated by crowdin.com-->
|
||||
<resources>
|
||||
<resources xmlns:tools="http://schemas.android.com/tools" tools:ignore="MissingTranslation">
|
||||
<string name="app_name">Loop Vane Tracker</string>
|
||||
<string name="main_activity_title">Vaner</string>
|
||||
<string name="action_settings">Indstillinger</string>
|
||||
@@ -30,27 +28,37 @@
|
||||
<string name="add_habit">Tilføj vane</string>
|
||||
<string name="color_picker_default_title">Skift farve</string>
|
||||
<string name="toast_habit_created">Vanen er skabt.</string>
|
||||
<string name="toast_habit_deleted">Vaner slettet</string>
|
||||
<string name="toast_habit_changed">Vanen er ændret</string>
|
||||
<string name="toast_habit_archived">Vanerne er arkiveret</string>
|
||||
<string name="toast_habit_unarchived">Vanerne er fjernet fra arkivet</string>
|
||||
<plurals name="toast_habits_changed">
|
||||
<item quantity="one">Vanen er ændret</item>
|
||||
<item quantity="other">Vanerne er ændret</item>
|
||||
</plurals>
|
||||
<plurals name="toast_habits_deleted">
|
||||
<item quantity="one">Vanen er slettet</item>
|
||||
<item quantity="other">Vanerne er slettet</item>
|
||||
</plurals>
|
||||
<plurals name="toast_habits_archived">
|
||||
<item quantity="one">Vanen er arkiveret</item>
|
||||
<item quantity="other">Vanerne er arkiveret</item>
|
||||
</plurals>
|
||||
<plurals name="toast_habits_unarchived">
|
||||
<item quantity="one">Vane taget ud fra arkiv</item>
|
||||
<item quantity="other">Vaner taget ud fra arkiv</item>
|
||||
</plurals>
|
||||
<string name="overview">Overblik</string>
|
||||
<string name="habit_strength">Vanestyrke</string>
|
||||
<string name="history">Historie</string>
|
||||
<string name="clear">Ryd</string>
|
||||
<string name="times_every">gange på</string>
|
||||
<string name="days">dage</string>
|
||||
<string name="reminder">Påmindelse</string>
|
||||
<string name="save">Gem</string>
|
||||
<string name="streaks">Streaks</string>
|
||||
<string name="no_habits_found">Du har ingen aktive vaner</string>
|
||||
<string name="no_habits_left_to_do">Du har klaret alt for i dag!</string>
|
||||
<string name="long_press_to_toggle">Tryk og hold nede for at afkrydse</string>
|
||||
<string name="reminder_off">Fra</string>
|
||||
<string name="create_habit">Opret vane</string>
|
||||
<string name="edit_habit">Rediger vane</string>
|
||||
<string name="check">Afkryds</string>
|
||||
<string name="snooze">Senere</string>
|
||||
<!-- App introduction -->
|
||||
<string name="intro_title_1">Velkommen</string>
|
||||
<string name="intro_description_1">Loop Habit Tracker hjælper dig med at holde gode vaner.</string>
|
||||
<string name="intro_title_2">Skab nogle nye vaner</string>
|
||||
@@ -64,6 +72,8 @@
|
||||
<string name="interval_4_hour">4 timer</string>
|
||||
<string name="interval_8_hour">8 timer</string>
|
||||
<string name="interval_24_hour">24 timer</string>
|
||||
<string name="interval_always_ask">Spørg altid</string>
|
||||
<string name="interval_custom">Brugerdefineret...</string>
|
||||
<string name="pref_toggle_title">Tjek vaner med kort tryk</string>
|
||||
<string name="pref_toggle_description">Sæt tjekmærker med et enkelt tryk i stedet for tryk-og-hold. Mere bekvemmeligt, men kan forårsage uhensigtede tryk.</string>
|
||||
<string name="pref_rate_this_app">Bedøm denne app på Google Play</string>
|
||||
@@ -72,11 +82,18 @@
|
||||
<string name="links">Henvisninger</string>
|
||||
<string name="name">Navn</string>
|
||||
<string name="settings">Indstillinger</string>
|
||||
<string name="select_snooze_delay">Vælg snooze-forsinkelse</string>
|
||||
<string name="hint_title">Vidste du?</string>
|
||||
<string name="hint_drag">For at omarrangere poster, tryk og hold på navnet på den vane, og træk den til det korrekte sted.</string>
|
||||
<string name="hint_landscape">Du kan se flere dage ved at sætte telefonen i liggende tilstand.</string>
|
||||
<string name="delete_habits">Slet vaner</string>
|
||||
<string name="delete_habits_message">Vanerne vil blive slettet permanent. Denne handling kan ikke fortrydes.</string>
|
||||
<plurals name="delete_habits_title">
|
||||
<item quantity="one">Slet vane?</item>
|
||||
<item quantity="other">Slet vaner?</item>
|
||||
</plurals>
|
||||
<plurals name="delete_habits_message">
|
||||
<item quantity="one">Vanen vil blive slettet permanent. Denne handling kan ikke fortrydes.</item>
|
||||
<item quantity="other">Vanerne vil blive slettet permanent. Denne handling kan ikke fortrydes.</item>
|
||||
</plurals>
|
||||
<string name="habit_not_found">Vane slettet / ikke fundet</string>
|
||||
<string name="weekends">Weekender</string>
|
||||
<string name="any_weekday">Mandag til Fredag</string>
|
||||
@@ -87,13 +104,22 @@
|
||||
<string name="clear_label">Fjern</string>
|
||||
<string name="select_hours">Vælg timer</string>
|
||||
<string name="select_minutes">Vælg minutter</string>
|
||||
<string-array name="hints">
|
||||
<item>hints</item>
|
||||
<item>hints</item>
|
||||
</string-array>
|
||||
<string name="about">Om</string>
|
||||
<string name="translators">Oversættere</string>
|
||||
<string name="developers">Udviklere</string>
|
||||
<string name="version_n">Version %s</string>
|
||||
<string name="frequency">Hyppighed</string>
|
||||
<string name="checkmark">Afkrydsning</string>
|
||||
<string name="best_streaks">Bedste striber</string>
|
||||
<string name="checkmark_stack_widget" formatted="false">Afkryds stakkontrol</string>
|
||||
<string name="frequency_stack_widget" formatted="false">Frekvens stakkontrol</string>
|
||||
<string name="score_stack_widget" formatted="false">Score stakkontrol</string>
|
||||
<string name="history_stack_widget" formatted="false">Historik stakkontrol</string>
|
||||
<string name="streaks_stack_widget" formatted="false">Uafbrudt række stakkontrol</string>
|
||||
<string name="best_streaks">Bedste streak</string>
|
||||
<string name="every_day">Hver dag</string>
|
||||
<string name="every_week">Hver uge</string>
|
||||
<string name="help">Hjælp & FAQ</string>
|
||||
@@ -110,7 +136,7 @@
|
||||
<string name="generate_bug_report">Generer fejlrapport</string>
|
||||
<string name="troubleshooting">Fejlfinding</string>
|
||||
<string name="help_translate">Hjælpe med at oversætte denne app</string>
|
||||
<string name="night_mode">Nat-tilstand</string>
|
||||
<string name="night_mode" comment="dark_theme">Nat-tilstand</string>
|
||||
<string name="use_pure_black">Brug ren sort i nat-tilstand</string>
|
||||
<string name="pure_black_description">Erstatter grå baggrunde med ren sort i nat-tilstand. Reducerer batteriforbruget i telefoner med AMOLED skærm.</string>
|
||||
<string name="interface_preferences">Grænseflade</string>
|
||||
@@ -122,8 +148,7 @@
|
||||
<string name="quarter">Kvartal</string>
|
||||
<string name="year">År</string>
|
||||
<string name="total">I alt</string>
|
||||
<!-- Different types of habits -->
|
||||
<!-- Middle part of the sentence '1 time in xx days' -->
|
||||
<string name="yes_or_no">Ja eller nej</string>
|
||||
<string name="every_x_days">Hver %d dage</string>
|
||||
<string name="every_x_weeks">Hver %d uger</string>
|
||||
<string name="score">Point</string>
|
||||
@@ -134,6 +159,8 @@
|
||||
<string name="hide_archived">Skjul arkiverede</string>
|
||||
<string name="sticky_notifications">Fastgør notifikationer</string>
|
||||
<string name="sticky_notifications_description">Forhindrer notifikationer i at blive swipet væk.</string>
|
||||
<string name="led_notifications">Notifikationslys</string>
|
||||
<string name="led_notifications_description">Viser et blinkende lys til påmindelser. Kun tilgængelig i telefoner med LED-notifikationslyskilder.</string>
|
||||
<string name="repair_database">Reparer database</string>
|
||||
<string name="database_repaired">Database repareret.</string>
|
||||
<string name="uncheck">Fjern afkrydsning</string>
|
||||
@@ -145,5 +172,54 @@
|
||||
<string name="by_name">Efter navn</string>
|
||||
<string name="by_color">Efter farve</string>
|
||||
<string name="by_score">Efter score</string>
|
||||
<string name="by_status">Efter status</string>
|
||||
<string name="export">Eksporter</string>
|
||||
<string name="long_press_to_edit">Tryk-og-hold for at ændre værdien</string>
|
||||
<string name="change_value">Skift værdi</string>
|
||||
<string name="calendar">Kalender</string>
|
||||
<string name="unit">Enhed</string>
|
||||
<string name="example_question_boolean">f.eks. Har du trænet i dag?</string>
|
||||
<string name="question">Spørgsmål</string>
|
||||
<string name="target">Mål</string>
|
||||
<string name="yes">Ja</string>
|
||||
<string name="no">Nej</string>
|
||||
<string name="customize_notification_summary">Skift lyd-, vibrations-, lys- og andre notifikationsindstillinger</string>
|
||||
<string name="customize_notification">Tilpas notifikationer</string>
|
||||
<string name="pref_view_privacy">Se privatlivspolitik</string>
|
||||
<string name="view_all_contributors">Se alle bidragsydere…</string>
|
||||
<string name="database">Database</string>
|
||||
<string name="widget_opacity_title">Gennemsigtighed af widget</string>
|
||||
<string name="widget_opacity_description">Gør widgets mere gennemsigtige eller mere uigennemsigtige på din startskærm.</string>
|
||||
<string name="first_day_of_the_week">Første dag i ugen</string>
|
||||
<string name="default_reminder_question">Har du fuldført denne vane i dag?</string>
|
||||
<string name="notes">Noter</string>
|
||||
<string name="example_notes">(Valgfrit)</string>
|
||||
<string name="yes_or_no_example">F.eks. vågnede du tidligt i dag? Har du motioneret? Spillede du skak?</string>
|
||||
<string name="measurable">Målbar</string>
|
||||
<string name="measurable_example">f.eks Hvor mange kilometer kørte du i dag? Hvor mange sider læste du?</string>
|
||||
<string name="x_times_per_week">%d gange om ugen</string>
|
||||
<string name="x_times_per_month">%d gange om måneden</string>
|
||||
<string name="yes_or_no_short_example">f.eks. Motion</string>
|
||||
<string name="color">Farve</string>
|
||||
<string name="example_target">f.eks. 15</string>
|
||||
<string name="measurable_short_example">f.eks. Løb</string>
|
||||
<string name="measurable_question_example">F.eks. Hvor mange kilometer har du løbet i dag?</string>
|
||||
<string name="measurable_units_example">f.eks. kilometer</string>
|
||||
<string name="every_month">Hver måned</string>
|
||||
<string name="validation_cannot_be_blank">skal udfyldes</string>
|
||||
<string name="today">I dag</string>
|
||||
<string name="enter">Angiv</string>
|
||||
<string name="no_habits">Ingen vaner fundet</string>
|
||||
<string name="no_numerical_habits">Ingen målbare vaner fundet</string>
|
||||
<string name="no_boolean_habits">Ingen ja-eller-nej vaner fundet</string>
|
||||
<string name="increment">Forøgelse</string>
|
||||
<string name="decrement">Formindskelse</string>
|
||||
<string name="pref_skip_title">Slå overspring af dage til</string>
|
||||
<string name="pref_skip_description">Skift to gange for at tilføje et overspring i stedet for et flueben. Spring over holder din score uændret og bryder ikke din række.</string>
|
||||
<string name="pref_unknown_title">Vis spørgsmålstegn for manglende data</string>
|
||||
<string name="pref_unknown_description">Differentiér dage uden data fra faktiske udeladelser. For at indtaste en udeladelse, skiftes to gange.</string>
|
||||
<string name="you_are_now_a_developer">Du er nu udvikler</string>
|
||||
<string name="activity_not_found">Ingen app fundet til at understøtte denne handling</string>
|
||||
<string name="pref_midnight_delay_title">Forlæng dagen et par timer efter midnat</string>
|
||||
<string name="pref_midnight_delay_description">Vent til 3:00 for at vise en ny dag. Nyttigt, hvis du typisk går i seng efter midnat. Kræver genstart af app.</string>
|
||||
</resources>
|
||||
|
||||
@@ -99,7 +99,7 @@
|
||||
<string name="any_weekday">Montag bis Freitag</string>
|
||||
<string name="any_day">Jeden Tag</string>
|
||||
<string name="select_weekdays">Tage auswählen</string>
|
||||
<string name="export_to_csv">Daten als CSV exportieren</string>
|
||||
<string name="export_to_csv">Exportiere als CSV</string>
|
||||
<string name="done_label">Fertig</string>
|
||||
<string name="clear_label">Löschen</string>
|
||||
<string name="select_hours">Stunden auswählen</string>
|
||||
@@ -118,18 +118,18 @@
|
||||
<string name="could_not_import">Fehler beim Importieren der Daten.</string>
|
||||
<string name="file_not_recognized">Datei nicht erkannt.</string>
|
||||
<string name="habits_imported">Gewohnheiten erfolgreich importiert.</string>
|
||||
<string name="import_data">Importiere Daten</string>
|
||||
<string name="import_data">Daten importieren</string>
|
||||
<string name="export_full_backup">Exportiere vollständige Sicherung</string>
|
||||
<string name="import_data_summary">Unterstützt vollständige Sicherungen dieser App, sowie von Tickmate, HabitBull und Rewire erzeugte Sicherungen. Siehe FAQ für weitere Informationen.</string>
|
||||
<string name="import_data_summary">Unterstützt vollständige Sicherungen dieser App, als auch von Tickmate, HabitBull und Rewire. Siehe FAQ für weitere Informationen.</string>
|
||||
<string name="export_as_csv_summary">Erstellt Dateien, die von Tabellenkalkulationsprogrammen wie Microsoft Excel oder LibreOffice Calc geöffnet werden können. Diese Dateien können nicht wieder importiert werden.</string>
|
||||
<string name="export_full_backup_summary">Erstellt eine Datei, die alle deine Daten enthält. Diese Datei kann wieder importiert werden.</string>
|
||||
<string name="bug_report_failed">Fehler beim Erstellen eines Fehlerberichts.</string>
|
||||
<string name="generate_bug_report">Erstelle einen Fehlerbericht</string>
|
||||
<string name="troubleshooting">Fehlerbehebung</string>
|
||||
<string name="help_translate">Hilf mit, diese App zu übersetzen</string>
|
||||
<string name="night_mode">Nachtmodus</string>
|
||||
<string name="night_mode" comment="dark_theme">Nachtmodus</string>
|
||||
<string name="use_pure_black">Verwende reines Schwarz im Nachtmodus</string>
|
||||
<string name="pure_black_description">Ersetzt im Nachtmodus das Grau des Hintergrunds durch ein reines Schwarz. Reduziert den Stromverbrauch von Smartphones mit einem AMOLED Display.</string>
|
||||
<string name="pure_black_description">Ersetzt im Nachtmodus das Grau des Hintergrunds durch Schwarz. Reduziert den Stromverbrauch von Smartphones mit AMOLED Displays.</string>
|
||||
<string name="interface_preferences">Oberfläche</string>
|
||||
<string name="reverse_days">Kehre die Tagesreihenfolge um</string>
|
||||
<string name="reverse_days_description">Zeigt die Tage im Hauptfenster in umgekehrter Reihenfolge an.</string>
|
||||
@@ -211,6 +211,6 @@
|
||||
<string name="pref_unknown_description">Tage ohne Daten von tatsächlichen Lücken unterscheiden. Um eine Lücke einzutragen zweimal markieren.</string>
|
||||
<string name="you_are_now_a_developer">Du bist nun ein Entwickler</string>
|
||||
<string name="activity_not_found">Für diese Aktion wurde keine App gefunden.</string>
|
||||
<string name="pref_midnight_delay_title">Den Tag um ein paar Stunden nach Mitternacht verlängern</string>
|
||||
<string name="pref_midnight_delay_title">Verlängere den Tag um ein paar Stunden nach Mitternacht</string>
|
||||
<string name="pref_midnight_delay_description">Bis 3:00 Uhr warten, bevor ein neuer Tag angezeigt wird. Nützlich, wenn du normalerweise nach Mitternacht schlafen gehst. Benötigt einen Neustart der App.</string>
|
||||
</resources>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
~ Copyright (C) 2016 Álinson Santos Xavier <isoron@gmail.com>
|
||||
~ Copyright (C) 2016-2021 Álinson Santos Xavier <git@axavier.org>
|
||||
~
|
||||
~ This file is part of Loop Habit Tracker.
|
||||
~
|
||||
@@ -17,7 +17,7 @@
|
||||
~ You should have received a copy of the GNU General Public License along
|
||||
~ with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
-->
|
||||
<resources>
|
||||
<resources xmlns:tools="http://schemas.android.com/tools" tools:ignore="MissingTranslation">
|
||||
<string name="app_name">Loop - Καταγραφή Συνηθειών</string>
|
||||
<string name="main_activity_title">Συνήθειες</string>
|
||||
<string name="action_settings">Ρυθμίσεις</string>
|
||||
@@ -28,15 +28,10 @@
|
||||
<string name="add_habit">Νέα συνήθεια</string>
|
||||
<string name="color_picker_default_title">Αλλαγή χρώματος</string>
|
||||
<string name="toast_habit_created">Η συνήθεια δημιουργήθηκε</string>
|
||||
<string name="toast_habit_deleted">Οι συνήθειες διαγράφηκαν</string>
|
||||
<string name="toast_habit_changed">Η συνήθεια άλλαξε</string>
|
||||
<string name="toast_habit_archived">Η συνήθεια αρχειοθετήθηκε.</string>
|
||||
<string name="toast_habit_unarchived">Έγινε αφαίρεση αρχειοθέτησης.</string>
|
||||
<string name="overview">Επισκόπηση</string>
|
||||
<string name="habit_strength">Δύναμη συνήθειας</string>
|
||||
<string name="history">Ιστορικό</string>
|
||||
<string name="clear">Εκκαθάριση</string>
|
||||
<string name="days">ημέρες</string>
|
||||
<string name="reminder">Υπενθύμιση</string>
|
||||
<string name="save">Αποθήκευση</string>
|
||||
<string name="streaks">Σερί</string>
|
||||
@@ -64,20 +59,16 @@
|
||||
<string name="interval_custom">Προσαρμογή</string>
|
||||
<string name="pref_toggle_title">Κάντε εναλλαγή των επαναλήψεων με σύντομο πάτημα</string>
|
||||
<string name="pref_toggle_description">Βολικότερο, αλλά ίσως προκαλέσει ακούσιες εναλλαγές.</string>
|
||||
<string name="pref_snooze_interval_title">Διάστημα αναβολής υπενθυμίσεων</string>
|
||||
<string name="pref_rate_this_app">Βαθμολογήστε αυτή την εφαρμογή στο Google Play</string>
|
||||
<string name="pref_send_feedback">Στείλετε σχόλια</string>
|
||||
<string name="pref_view_source_code">Δείτε τον πηγαίο κώδικα στο GitHub</string>
|
||||
<string name="links">Σύνδεσμοι</string>
|
||||
<string name="name">Όνομα</string>
|
||||
<string name="settings">Ρυθμίσεις</string>
|
||||
<string name="snooze_interval">Διάστημα αναβολής</string>
|
||||
<string name="select_snooze_delay">Επιλογή καθυστέρησης αναβολής</string>
|
||||
<string name="hint_title">Γνωρίζατε;</string>
|
||||
<string name="hint_drag">Αναδιατάξετε τις συνήθειες πατώντας παρατεταμένα στο όνομα και σύροντας στην σωστή θέση.</string>
|
||||
<string name="hint_landscape">Μπορείτε να δείτε περισσότερες ημέρες στην οριζόντια προβολή.</string>
|
||||
<string name="delete_habits">Διαγραφή συνηθειών</string>
|
||||
<string name="delete_habits_message">Οι συνήθειες θα διαγραφτούν οριστικά. Αυτό δεν μπορεί να αναιρεθεί.</string>
|
||||
<string name="habit_not_found">Η συνήθεια διαγράφηκε / δεν βρέθηκε</string>
|
||||
<string name="weekends">Σαββατοκύριακα</string>
|
||||
<string name="any_weekday">Δευτέρα μέχρι Παρασκευή</string>
|
||||
@@ -111,7 +102,7 @@
|
||||
<string name="generate_bug_report">Παραγωγή αναφοράς bug.</string>
|
||||
<string name="troubleshooting">Αντιμετ.Προβλημάτων</string>
|
||||
<string name="help_translate">Βοηθήστε στην μετάφραση</string>
|
||||
<string name="night_mode">Νυχτ.Λειτ.</string>
|
||||
<string name="night_mode" comment="dark_theme">Νυχτ.Λειτ.</string>
|
||||
<string name="use_pure_black">Χρήση απόλυτου μαύρου στη νυχτ.λειτουργία</string>
|
||||
<string name="pure_black_description">Αντικαθιστά τα γκρί υπόβαθρα με απόλυτα μαύρα σε νυχτ.λειτουργία. Μειώνει την κατανάλωση μπαταρίας σε συσκευές με οθόνη AMOLED.</string>
|
||||
<string name="interface_preferences">Διεπιφάνεια</string>
|
||||
@@ -170,15 +161,14 @@
|
||||
<string name="example_notes">(Προαιρετικό)</string>
|
||||
<string name="yes_or_no_example">π.χ. Ξύπνησες νωρίς σήμερα; Ασκήθηκες; Έπαιξες σκάκι;</string>
|
||||
<string name="measurable">Μετρήσιμο</string>
|
||||
<string name="measurable_example" comment="Feel free to replace "miles" by "km"">π.χ. Πόσα χιλιόμετρα έτρεξες Πόσες σελίδες διάβασες; Πόσες θερμίδες έφαγες;</string>
|
||||
<string name="x_times_per_week">%d φορές την εβδομάδα</string>
|
||||
<string name="x_times_per_month">%d φορές το μήνα</string>
|
||||
<string name="yes_or_no_short_example">π.χ. Σωματική άσκηση</string>
|
||||
<string name="color">Χρώμα</string>
|
||||
<string name="example_target">π.χ. 15</string>
|
||||
<string name="measurable_short_example">π.χ. Τρέξιμο</string>
|
||||
<string name="measurable_question_example" comment="Feel free to replace "miles" by "km" if that is more common in your country">π.χ. Πόσα χιλιόμετρα έτρεξες σήμερα?</string>
|
||||
<string name="measurable_units_example" comment="Feel free to replace by "km" if that is more common in your country">π.χ. χιλιόμετρα</string>
|
||||
<string name="measurable_question_example">π.χ. Πόσα χιλιόμετρα έτρεξες σήμερα?</string>
|
||||
<string name="measurable_units_example">π.χ. χιλιόμετρα</string>
|
||||
<string name="every_month">Κάθε μήνα</string>
|
||||
<string name="validation_cannot_be_blank">Δεν μπορεί να είναι κενό</string>
|
||||
<string name="today">Σήμερα</string>
|
||||
|
||||
@@ -17,9 +17,7 @@
|
||||
~ You should have received a copy of the GNU General Public License along
|
||||
~ with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
-->
|
||||
|
||||
<!--Generated by crowdin.com-->
|
||||
<resources>
|
||||
<resources xmlns:tools="http://schemas.android.com/tools" tools:ignore="MissingTranslation">
|
||||
<string name="app_name">Loop Habit Tracker</string>
|
||||
<string name="main_activity_title">Kutimoj</string>
|
||||
<string name="action_settings">Agordoj</string>
|
||||
@@ -29,27 +27,56 @@
|
||||
<string name="unarchive">Elarĥivigi</string>
|
||||
<string name="add_habit">Aldonu kutimon</string>
|
||||
<string name="color_picker_default_title">Ŝanĝi koloron</string>
|
||||
<string name="toast_habit_changed">Kutimo ŝanĝita</string>
|
||||
<string name="toast_habit_archived">Kutimo arĥivita</string>
|
||||
<string name="toast_habit_created">Kutimo kreita</string>
|
||||
<string name="overview">Generala vidado</string>
|
||||
<string name="habit_strength">Kutimo forteco</string>
|
||||
<string name="days">tagoj</string>
|
||||
<string name="history">Historio</string>
|
||||
<string name="clear">Liberigi</string>
|
||||
<string name="reminder">Memorigaĵoj</string>
|
||||
<string name="save">Konservi</string>
|
||||
<string name="streaks">Strioj</string>
|
||||
<string name="no_habits_found">Vi ne havas aktivajn kutimojn</string>
|
||||
<string name="long_press_to_toggle">Premu kaj tenu por kontroli aŭ malmarki</string>
|
||||
<string name="reminder_off">Neaktiva</string>
|
||||
<string name="create_habit">Krei kutimon</string>
|
||||
<string name="edit_habit">Eldoni kutimon</string>
|
||||
<string name="check">Kontrolu</string>
|
||||
<string name="snooze">Poste</string>
|
||||
<!-- App introduction -->
|
||||
<string name="intro_title_1">Bonvenon</string>
|
||||
<string name="intro_description_1">Loop Habit Tracker helpas vin krei kaj konservi bonajn kutimojn.</string>
|
||||
<string name="intro_title_2">Krei kelkajn novajn kutimojn</string>
|
||||
<string name="intro_description_2">Ĉiutage, post plenumi vian kutimon, metu markostampon en la app.</string>
|
||||
<string name="intro_title_4">Por atenti vian progreson:</string>
|
||||
<string name="intro_description_4">Detalaj grafikaĵoj montras al vi kiel viaj kutimoj pliboniĝis kun la tempo.</string>
|
||||
<string name="interval_15_minutes">15 minutoj</string>
|
||||
<string name="interval_30_minutes">30 minutoj</string>
|
||||
<string name="interval_1_hour">1 horo</string>
|
||||
<string name="interval_2_hour">2 horoj</string>
|
||||
<string name="interval_4_hour">4 horoj</string>
|
||||
<string name="interval_8_hour">4 horoj</string>
|
||||
<string name="interval_24_hour">24 horoj</string>
|
||||
<string name="interval_always_ask">Ĉiam demandu</string>
|
||||
<string name="interval_custom">Kutimo</string>
|
||||
<string name="pref_toggle_title">Ŝalti per mallonga gazetaro</string>
|
||||
<string name="pref_toggle_description">Metu markilojn per sola frapeto anstataŭ premi kaj teni. Pli oportune, sed eble kaŭzas hazardajn ŝanĝojn.</string>
|
||||
<string name="pref_rate_this_app">Taksu ĉi tiun aplikaĵon en Google Play</string>
|
||||
<string name="pref_send_feedback">Sendu reagojn al programisto</string>
|
||||
<string name="pref_view_source_code">Vidu fontkodon ĉe GitHub</string>
|
||||
<string name="links">Ligilo</string>
|
||||
<string name="name">Nomo</string>
|
||||
<string name="settings">Agordoj</string>
|
||||
<string name="delete_habits">Forigi kutimojn</string>
|
||||
<string name="select_snooze_delay">Elektu dormetigas prokrasti</string>
|
||||
<string name="hint_title">Ĉu vi sciis?</string>
|
||||
<string name="hint_drag">Por reordigi la enskribojn, premi kaj tenu la nomon de la kutimo, poste trenu ĝin al la ĝusta loko.</string>
|
||||
<string name="hint_landscape">Vi povas vidi pliajn tagojn enmetante vian telefonon en pejzaĝa reĝimo.</string>
|
||||
<string name="habit_not_found">Kutimo forigita / ne trovita</string>
|
||||
<string name="weekends">Semajnfinoj</string>
|
||||
<string name="any_weekday">Lundo al vendredo</string>
|
||||
<string name="any_day">Io semajntago</string>
|
||||
<string name="select_weekdays">Elekti tagojn</string>
|
||||
<string name="export_to_csv">Eksporti kiel CSV</string>
|
||||
<string name="done_label">Farite</string>
|
||||
<string name="clear_label">Liberigi</string>
|
||||
<string name="select_hours">Elekti horojn</string>
|
||||
<string name="select_minutes">Elekti minutojn</string>
|
||||
<string name="about">Pri programo</string>
|
||||
@@ -57,29 +84,73 @@
|
||||
<string name="developers">Evoluigantoj</string>
|
||||
<string name="version_n">Versio %s</string>
|
||||
<string name="frequency">Frekvenco</string>
|
||||
<string name="checkmark">Markobutono</string>
|
||||
<string name="best_streaks">Plej bonaj strioj</string>
|
||||
<string name="every_day">Ĉiu tago</string>
|
||||
<string name="every_week">Ĉiu semajno</string>
|
||||
<string name="help">Helpo & Ofte Demandite</string>
|
||||
<string name="could_not_export">Malsukcesis eksporti datumojn.</string>
|
||||
<string name="could_not_import">Malsukcesis importi datumojn.</string>
|
||||
<string name="file_not_recognized">Dosiero ne rekonita.</string>
|
||||
<string name="habits_imported">Kutimoj importitaj sukcese.</string>
|
||||
<string name="import_data">Importi datumojn</string>
|
||||
<string name="export_full_backup">Eksporti plenan sekurkopion</string>
|
||||
<string name="import_data_summary">Elportas plenajn sekurkopiojn eksportitajn de ĉi tiu aplikaĵo, same kiel dosierojn generitajn de Tickmate, HabitBull aŭ Rewire. Vidu DPO por pliaj informoj.</string>
|
||||
<string name="export_as_csv_summary">Generas dosierojn, kiujn oni povas malfermi per kalkultabelaj programoj kiel Microsoft Excel aŭ OpenOffice Calc. Ĉi tiu dosiero ne povas esti importita reen.</string>
|
||||
<string name="export_full_backup_summary">Generas dosieron, kiu enhavas ĉiujn viajn datumojn. Ĉi tiu dosiero povas esti importita reen.</string>
|
||||
<string name="bug_report_failed">Malsukcesis generi raporton pri eraroj.</string>
|
||||
<string name="generate_bug_report">Generu raporton pri eraroj</string>
|
||||
<string name="troubleshooting">Problemserĉado</string>
|
||||
<string name="night_mode">Nokta reĝimo</string>
|
||||
<string name="help_translate">Helpu traduki ĉi tiun aplikon</string>
|
||||
<string name="night_mode" comment="dark_theme">Nokta reĝimo</string>
|
||||
<string name="use_pure_black">Uzu puran nigron en malhela temo</string>
|
||||
<string name="pure_black_description">Anstataŭigas grizajn fonojn per pura nigra en malhela temo. Reduktas baterian uzon en telefonoj kun AMOLED-ekrano.</string>
|
||||
<string name="interface_preferences">Intervizago</string>
|
||||
<string name="reverse_days">Reversa ordo de tagoj</string>
|
||||
<string name="reverse_days_description">Montri tagojn en inversa ordo sur la ĉefa ekrano.</string>
|
||||
<string name="day">Tago</string>
|
||||
<string name="week">Semajno</string>
|
||||
<string name="month">Monato</string>
|
||||
<string name="quarter">Jarkvarono</string>
|
||||
<string name="year">Jaro</string>
|
||||
<!-- Different types of habits -->
|
||||
<!-- Middle part of the sentence '1 time in xx days' -->
|
||||
<string name="total">Totalo</string>
|
||||
<string name="yes_or_no">Jes aŭ ne</string>
|
||||
<string name="every_x_days">Ĉiujn %d tagojn</string>
|
||||
<string name="every_x_weeks">Ĉiuj %d semajnoj</string>
|
||||
<string name="score">Poentaroj</string>
|
||||
<string name="reminder_sound">rememor-sonorilo</string>
|
||||
<string name="none">Nenio</string>
|
||||
<string name="filter">Filtrilo</string>
|
||||
<string name="hide_completed">Kaŝi kompletajn</string>
|
||||
<string name="hide_archived">Kaŝi arĥivitajn</string>
|
||||
<string name="sticky_notifications">Faru sciigojn gluaj</string>
|
||||
<string name="sticky_notifications_description">Malhelpas, ke sciigoj estu forglititaj.</string>
|
||||
<string name="led_notifications">Atentiga lumo</string>
|
||||
<string name="led_notifications_description">Montras palpebrumantan lumon por memorigiloj. Nur havebla en telefonoj kun LED-sciigaj lumoj.</string>
|
||||
<string name="repair_database">Ripari datumbazon</string>
|
||||
<string name="database_repaired">Datumbazon riparita.</string>
|
||||
<string name="uncheck">Malmarku</string>
|
||||
<string name="toggle">Ŝalti</string>
|
||||
<string name="action">Ago</string>
|
||||
<string name="habit">Kutimo</string>
|
||||
<string name="sort">Enkursigi</string>
|
||||
<string name="manually">Mane</string>
|
||||
<string name="by_name">Laŭ nomo</string>
|
||||
<string name="by_color">Laŭ koloro</string>
|
||||
<string name="by_score">Laŭ poentaro</string>
|
||||
<string name="export">Eksporti</string>
|
||||
<string name="long_press_to_edit">Premu kaj tenu por ŝanĝi la valoron</string>
|
||||
<string name="change_value">Ŝanĝi valoron</string>
|
||||
<string name="calendar">Kalendaro:</string>
|
||||
<string name="unit">Unueco</string>
|
||||
<string name="example_question_boolean">ekz. Ĉu vi ekzercis hodiaŭ?</string>
|
||||
<string name="question">Demando</string>
|
||||
<string name="target">Celo</string>
|
||||
<string name="yes">Jes</string>
|
||||
<string name="no">Ne</string>
|
||||
<string name="customize_notification_summary">Ŝanĝu sonon, vibron, lumon kaj aliajn sciigajn agordojn</string>
|
||||
<string name="customize_notification">Adaptitaj sciigoj</string>
|
||||
<string name="pref_view_privacy">Vidu privatecan politikon</string>
|
||||
<string name="view_all_contributors">Rigardi ĉiujn kontribuantojn…</string>
|
||||
<string name="database">Datumbazo</string>
|
||||
</resources>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
~ Copyright (C) 2016 Álinson Santos Xavier <isoron@gmail.com>
|
||||
~ Copyright (C) 2016-2021 Álinson Santos Xavier <git@axavier.org>
|
||||
~
|
||||
~ This file is part of Loop Habit Tracker.
|
||||
~
|
||||
@@ -17,7 +17,7 @@
|
||||
~ You should have received a copy of the GNU General Public License along
|
||||
~ with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
-->
|
||||
<resources>
|
||||
<resources xmlns:tools="http://schemas.android.com/tools" tools:ignore="MissingTranslation">
|
||||
<string name="app_name">Loop Analizador de Hábitos</string>
|
||||
<string name="main_activity_title">Hábitos</string>
|
||||
<string name="action_settings">Configuración</string>
|
||||
@@ -28,19 +28,31 @@
|
||||
<string name="add_habit">Agregar hábito</string>
|
||||
<string name="color_picker_default_title">Cambiar color</string>
|
||||
<string name="toast_habit_created">Hábito creado</string>
|
||||
<string name="toast_habit_deleted">Hábitos eliminados</string>
|
||||
<string name="toast_habit_changed">Hábito cambiado</string>
|
||||
<string name="toast_habit_archived">Hábitos archivados</string>
|
||||
<string name="toast_habit_unarchived">Hábitos desarchivados</string>
|
||||
<plurals name="toast_habits_changed">
|
||||
<item quantity="one">Hábito cambiado</item>
|
||||
<item quantity="other">Hábitos cambiados</item>
|
||||
</plurals>
|
||||
<plurals name="toast_habits_deleted">
|
||||
<item quantity="one">Hábito eliminado</item>
|
||||
<item quantity="other">Hábitos eliminados</item>
|
||||
</plurals>
|
||||
<plurals name="toast_habits_archived">
|
||||
<item quantity="one">Hábito archivado</item>
|
||||
<item quantity="other">Hábitos archivados</item>
|
||||
</plurals>
|
||||
<plurals name="toast_habits_unarchived">
|
||||
<item quantity="one">Hábito desarchivado</item>
|
||||
<item quantity="other">Hábitos desarchivados</item>
|
||||
</plurals>
|
||||
<string name="overview">Resumen</string>
|
||||
<string name="habit_strength">Fuerza del hábito</string>
|
||||
<string name="history">Historial</string>
|
||||
<string name="clear">Borrar</string>
|
||||
<string name="days">días</string>
|
||||
<string name="reminder">Recordatorio</string>
|
||||
<string name="save">Guardar</string>
|
||||
<string name="streaks">Rachas</string>
|
||||
<string name="no_habits_found">No tienes hábitos activos</string>
|
||||
<string name="no_habits_left_to_do">¡Ya terminaste todo por hoy!</string>
|
||||
<string name="long_press_to_toggle">Mantener apretado para marcar o desmarcar</string>
|
||||
<string name="reminder_off">Apagado</string>
|
||||
<string name="create_habit">Crear hábito</string>
|
||||
@@ -64,20 +76,24 @@
|
||||
<string name="interval_custom">Personalizar...</string>
|
||||
<string name="pref_toggle_title">Marca las repeticiones con una pulsación corta</string>
|
||||
<string name="pref_toggle_description">Más cómodo, pero puede causar marcas accidentales.</string>
|
||||
<string name="pref_snooze_interval_title">Tiempo de espera al aplazar recordatorios</string>
|
||||
<string name="pref_rate_this_app">Valora esta aplicación en Google Play</string>
|
||||
<string name="pref_send_feedback">Enviar sugerencias al desarrollador</string>
|
||||
<string name="pref_view_source_code">Ver código fuente en GitHub</string>
|
||||
<string name="links">Enlaces</string>
|
||||
<string name="name">Nombre</string>
|
||||
<string name="settings">Configuración</string>
|
||||
<string name="snooze_interval">Intervalo de espera</string>
|
||||
<string name="select_snooze_delay">Seleccione el retardo de la interrupción</string>
|
||||
<string name="hint_title">¿Sabías qué?</string>
|
||||
<string name="hint_drag">Para reordenar las entradas, mantén la pulsado sobre el nombre del hábito, después arrástralo a su posición correcta.</string>
|
||||
<string name="hint_landscape">Puedes ver más días al poner tu teléfono en modo horizontal.</string>
|
||||
<string name="delete_habits">Eliminar Hábitos</string>
|
||||
<string name="delete_habits_message">Los hábitos serán eliminados permanentemente. Esta acción no se puede deshacer.</string>
|
||||
<plurals name="delete_habits_title">
|
||||
<item quantity="one">¿Eliminar hábito?</item>
|
||||
<item quantity="other">¿Eliminar hábitos?</item>
|
||||
</plurals>
|
||||
<plurals name="delete_habits_message">
|
||||
<item quantity="one">El hábito se eliminará permanentemente. Esta acción no se puede deshacer.</item>
|
||||
<item quantity="other">Los hábitos se eliminarán permanentemente. Esta acción no se puede deshacer.</item>
|
||||
</plurals>
|
||||
<string name="habit_not_found">Hábito eliminado / no encontrado</string>
|
||||
<string name="weekends">Fines de semana</string>
|
||||
<string name="any_weekday">De lunes a viernes</string>
|
||||
@@ -111,7 +127,7 @@
|
||||
<string name="generate_bug_report">Generar reporte de errores</string>
|
||||
<string name="troubleshooting">Solución de problemas</string>
|
||||
<string name="help_translate">Ayuda a traducir esta app</string>
|
||||
<string name="night_mode">Modo nocturno</string>
|
||||
<string name="night_mode" comment="dark_theme">Modo nocturno</string>
|
||||
<string name="use_pure_black">Utilizar color negro en modo nocturno</string>
|
||||
<string name="pure_black_description">Reemplaza fondos grises por color negro en modo nocturno. Reduce el consumo de batería en teléfonos con pantalla AMOLED.</string>
|
||||
<string name="interface_preferences">Interfície</string>
|
||||
@@ -147,6 +163,7 @@
|
||||
<string name="by_name">Por nombre</string>
|
||||
<string name="by_color">Por color</string>
|
||||
<string name="by_score">Por puntuación</string>
|
||||
<string name="by_status">Por estado</string>
|
||||
<string name="export">Exportar</string>
|
||||
<string name="long_press_to_edit">Mantenga presionado para cambiar el valor</string>
|
||||
<string name="change_value">Cambiar valor</string>
|
||||
@@ -170,16 +187,30 @@
|
||||
<string name="example_notes">(Opcional)</string>
|
||||
<string name="yes_or_no_example">por ejemplo, ¿te despertaste temprano hoy? ¿Hiciste ejercicio? ¿Jugaste al ajedrez?</string>
|
||||
<string name="measurable">Medible</string>
|
||||
<string name="measurable_example" comment="Feel free to replace "miles" by "km"">por ejemplo, ¿cuántos quilómetros has corrido hoy? ¿Cuántas páginas has leído? ¿Cuántas calorías has comido?</string>
|
||||
<string name="measurable_example">ej. ¿Cuántas millas ha corrido hoy? ¿Cuántas páginas ha leído?</string>
|
||||
<string name="x_times_per_week">%d veces por semana</string>
|
||||
<string name="x_times_per_month">%d veces al mes</string>
|
||||
<string name="yes_or_no_short_example">ej. Ejercicio</string>
|
||||
<string name="color">Color</string>
|
||||
<string name="example_target">ej. 15</string>
|
||||
<string name="measurable_short_example">por ejemplo, correr</string>
|
||||
<string name="measurable_question_example" comment="Feel free to replace "miles" by "km" if that is more common in your country">ej. ¿Cuántos quilómetros has corrido hoy?</string>
|
||||
<string name="measurable_units_example" comment="Feel free to replace by "km" if that is more common in your country">ej. millas</string>
|
||||
<string name="measurable_question_example">ej. ¿Cuántos quilómetros has corrido hoy?</string>
|
||||
<string name="measurable_units_example">ej. millas</string>
|
||||
<string name="every_month">Cada mes</string>
|
||||
<string name="validation_cannot_be_blank">No puede estar en blanco</string>
|
||||
<string name="today">Hoy</string>
|
||||
<string name="enter">Introducir</string>
|
||||
<string name="no_habits">No se encontraron hábitos</string>
|
||||
<string name="no_numerical_habits">No se encontraron hábitos medibles</string>
|
||||
<string name="no_boolean_habits">No se encontraron hábitos de sí o no</string>
|
||||
<string name="increment">Incrementar</string>
|
||||
<string name="decrement">Decrementar</string>
|
||||
<string name="pref_skip_title">Habilitar días libres</string>
|
||||
<string name="pref_skip_description">Alternar dos veces para agregar un salto en lugar de una marca de verificación. Los saltos mantienen su puntaje sin cambios y no rompen su racha.</string>
|
||||
<string name="pref_unknown_title">Mostrar interrogantes para datos faltantes</string>
|
||||
<string name="pref_unknown_description">Diferenciar los días sin datos de los lapsos reales. Para ingresar un lapso, alternar dos veces.</string>
|
||||
<string name="you_are_now_a_developer">Ahora eres desarrollador</string>
|
||||
<string name="activity_not_found">No se encontró ninguna aplicación que admita esta acción</string>
|
||||
<string name="pref_midnight_delay_title">Ampliar día unas horas después de medianoche</string>
|
||||
<string name="pref_midnight_delay_description">Esperar hasta las 3:00 AM para mostrar un nuevo día. Útil si normalmente vas a dormir después de medianoche. Requiere reiniciar la aplicación.</string>
|
||||
</resources>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
~ Copyright (C) 2016 Álinson Santos Xavier <isoron@gmail.com>
|
||||
~ Copyright (C) 2016-2021 Álinson Santos Xavier <git@axavier.org>
|
||||
~
|
||||
~ This file is part of Loop Habit Tracker.
|
||||
~
|
||||
@@ -17,7 +17,7 @@
|
||||
~ You should have received a copy of the GNU General Public License along
|
||||
~ with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
-->
|
||||
<resources>
|
||||
<resources xmlns:tools="http://schemas.android.com/tools" tools:ignore="MissingTranslation">
|
||||
<string name="app_name">Loop Habit Tracker</string>
|
||||
<string name="main_activity_title">Ohiturak</string>
|
||||
<string name="action_settings">Ezarpenak</string>
|
||||
@@ -28,15 +28,10 @@
|
||||
<string name="add_habit">Gehitu ohitura</string>
|
||||
<string name="color_picker_default_title">Kolorea aldatu</string>
|
||||
<string name="toast_habit_created">Ohitura sortu da</string>
|
||||
<string name="toast_habit_deleted">Ohiturak ezabatu dira</string>
|
||||
<string name="toast_habit_changed">Ohitura aldatu egin da</string>
|
||||
<string name="toast_habit_archived">Ohiturak artxibatu dira</string>
|
||||
<string name="toast_habit_unarchived">Ohiturak desartxibatu dira</string>
|
||||
<string name="overview">Ikuspegi orokorra</string>
|
||||
<string name="habit_strength">Ohituraren indarra</string>
|
||||
<string name="history">Historia</string>
|
||||
<string name="clear">Garbitu</string>
|
||||
<string name="days">egunetan</string>
|
||||
<string name="reminder">Oroigarria</string>
|
||||
<string name="save">Gorde</string>
|
||||
<string name="streaks">Boladak</string>
|
||||
@@ -64,20 +59,16 @@
|
||||
<string name="interval_custom">Pertsonalizatua...</string>
|
||||
<string name="pref_toggle_title">Ukitze laburrarekin markatu</string>
|
||||
<string name="pref_toggle_description">Ukitze bakar batekin marka jartzen du ukitu eta mantendu egin beharrean. Erosoagoa, baina nahi gabeko markak ekar litzake.</string>
|
||||
<string name="pref_snooze_interval_title">Atzeratze tartea oroigarrietan</string>
|
||||
<string name="pref_rate_this_app">Aplikazio hau Google Playen puntuatu</string>
|
||||
<string name="pref_send_feedback">Zure iritzia garatzaileari bidali</string>
|
||||
<string name="pref_view_source_code">Iturburu kodea GitHuben ikusi</string>
|
||||
<string name="links">Loturak</string>
|
||||
<string name="name">Izena</string>
|
||||
<string name="settings">Ezarpenak</string>
|
||||
<string name="snooze_interval">Atzeratze tartea</string>
|
||||
<string name="select_snooze_delay">Aukeratu atzerapen denbora</string>
|
||||
<string name="hint_title">Ba al zenekien?</string>
|
||||
<string name="hint_drag">Sarrerak berrantolatzeko, sakatu eta mantendu ohituraren izena, ondoren mugi ezazu leku aproposera.</string>
|
||||
<string name="hint_landscape">Egun gehiago ikus ditzakezu zure gailua paisai moduan jarriz.</string>
|
||||
<string name="delete_habits">Ohiturak ezabatu</string>
|
||||
<string name="delete_habits_message">Ohiturak betirako ezabatuko dira. Ekintza hau ezin da desegin.</string>
|
||||
<string name="habit_not_found">Ohitura ezabatua / ez aurkitua</string>
|
||||
<string name="weekends">Asteburuak</string>
|
||||
<string name="any_weekday">Astelehenetik ostiralera</string>
|
||||
@@ -111,7 +102,7 @@
|
||||
<string name="generate_bug_report">Akats txostena sortu</string>
|
||||
<string name="troubleshooting">Arazoen konponketa</string>
|
||||
<string name="help_translate">Lagundu aplikazio hau itzultzen</string>
|
||||
<string name="night_mode">Azal iluna</string>
|
||||
<string name="night_mode" comment="dark_theme">Azal iluna</string>
|
||||
<string name="use_pure_black">erabili beltz hutsa azal ilunean</string>
|
||||
<string name="pure_black_description">Atzeko plano grisak beltz hutsez aldatzen ditu azal ilunean. Bateriaren erabilera gutxitzen du AMOLED duten gailuetan.</string>
|
||||
<string name="interface_preferences">Interfazea</string>
|
||||
@@ -170,15 +161,14 @@
|
||||
<string name="example_notes">(Aukerazkoa)</string>
|
||||
<string name="yes_or_no_example">adib. Gaur goiz esnatu zara? Ariketa fisikoa egin al duzu? Xakean jolastu al duzu?</string>
|
||||
<string name="measurable">Neurgarria</string>
|
||||
<string name="measurable_example" comment="Feel free to replace "miles" by "km"">adib. Zenbat kilometro egin dituzu korrika gaur? Zenbat orrialde irakurri dituzu? Zenbat kaloria jan dituzu?</string>
|
||||
<string name="x_times_per_week">Astean %d aldiz</string>
|
||||
<string name="x_times_per_month">Hilean %d aldiz</string>
|
||||
<string name="yes_or_no_short_example">adib. Ariketa</string>
|
||||
<string name="color">Kolorea</string>
|
||||
<string name="example_target">adib. 15</string>
|
||||
<string name="measurable_short_example">adib. Korrika egin</string>
|
||||
<string name="measurable_question_example" comment="Feel free to replace "miles" by "km" if that is more common in your country">adib. Zenbat kilometro egin dituzu korrika gaur?</string>
|
||||
<string name="measurable_units_example" comment="Feel free to replace by "km" if that is more common in your country">adib. Kilometroak</string>
|
||||
<string name="measurable_question_example">adib. Zenbat kilometro egin dituzu korrika gaur?</string>
|
||||
<string name="measurable_units_example">adib. Kilometroak</string>
|
||||
<string name="every_month">Hilabetero</string>
|
||||
<string name="validation_cannot_be_blank">Ezin da hutsik egon</string>
|
||||
<string name="today">Gaur</string>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
~ Copyright (C) 2016 Álinson Santos Xavier <isoron@gmail.com>
|
||||
~ Copyright (C) 2016-2021 Álinson Santos Xavier <git@axavier.org>
|
||||
~
|
||||
~ This file is part of Loop Habit Tracker.
|
||||
~
|
||||
@@ -17,73 +17,89 @@
|
||||
~ You should have received a copy of the GNU General Public License along
|
||||
~ with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
-->
|
||||
<resources>
|
||||
<resources xmlns:tools="http://schemas.android.com/tools" tools:ignore="MissingTranslation">
|
||||
<string name="app_name">Loop Habit Tracker</string>
|
||||
<string name="main_activity_title">عادتها</string>
|
||||
<string name="action_settings">تنظیمات</string>
|
||||
<string name="edit">ویرایش</string>
|
||||
<string name="delete">حذف</string>
|
||||
<string name="archive">بایگانی کن</string>
|
||||
<string name="archive">بایگانی کردن</string>
|
||||
<string name="unarchive">خارج کردن از بایگانی</string>
|
||||
<string name="add_habit">افزودن عادت</string>
|
||||
<string name="color_picker_default_title">تغییر رنگ</string>
|
||||
<string name="toast_habit_created">عادت ایجاد شد</string>
|
||||
<string name="toast_habit_deleted">عادت حذف شد</string>
|
||||
<string name="toast_habit_changed">عادت تغییر کرد.</string>
|
||||
<string name="toast_habit_archived">عادتها بایگانی شدند</string>
|
||||
<string name="toast_habit_unarchived">عادتها از بایگانی خارج شدند</string>
|
||||
<plurals name="toast_habits_changed">
|
||||
<item quantity="one">عادت تغییر داده شد</item>
|
||||
<item quantity="other">عادتها تغییر داده شدند</item>
|
||||
</plurals>
|
||||
<plurals name="toast_habits_deleted">
|
||||
<item quantity="one">عادت حذف شد.</item>
|
||||
<item quantity="other">عادتها حذف شدند.</item>
|
||||
</plurals>
|
||||
<plurals name="toast_habits_archived">
|
||||
<item quantity="one">عادت بایگانی شد.</item>
|
||||
<item quantity="other">عادتها بایگانی شدند.</item>
|
||||
</plurals>
|
||||
<plurals name="toast_habits_unarchived">
|
||||
<item quantity="one">عادت از بایگانی خارج شد.</item>
|
||||
<item quantity="other">عادتها از بایگانی خارج شدند.</item>
|
||||
</plurals>
|
||||
<string name="overview">مرور</string>
|
||||
<string name="habit_strength">قدرت عادت</string>
|
||||
<string name="history">تاریخچه </string>
|
||||
<string name="clear">پاک کردن</string>
|
||||
<string name="days">روز ها</string>
|
||||
<string name="reminder">یادآور</string>
|
||||
<string name="reminder">یادآوری</string>
|
||||
<string name="save">ذخیره</string>
|
||||
<string name="streaks">روزهای پیوسته</string>
|
||||
<string name="streaks">استمرارها</string>
|
||||
<string name="no_habits_found">شما هیچ عادت فعالی ندارید</string>
|
||||
<string name="long_press_to_toggle">برای تیک زدن یا برداشتن، ضربه بزنید و نگه دارید</string>
|
||||
<string name="reminder_off">خاموش</string>
|
||||
<string name="no_habits_left_to_do">شما همه موارد مربوط به امروز را انجام دادهاید!</string>
|
||||
<string name="long_press_to_toggle">برای تیک زدن یا برداشتن، تپ کنید و نگه دارید</string>
|
||||
<string name="reminder_off">غیرفعال</string>
|
||||
<string name="create_habit">ساخت عادت جدید</string>
|
||||
<string name="edit_habit">ویرایش عادت</string>
|
||||
<string name="check">تیک زدن</string>
|
||||
<string name="snooze">بعداً </string>
|
||||
<string name="intro_title_1">خوش آمدید</string>
|
||||
<string name="intro_description_1">رهگیر عادت لوپ به شما کمک میکند تا برای خودتان عادتهای خوبی بسازید. </string>
|
||||
<string name="intro_description_1">عادتسنج لوپ به شما کمک میکند تا برای خودتان عادتهای خوبی بسازید. </string>
|
||||
<string name="intro_title_2">ساخت چند عادت جدید</string>
|
||||
<string name="intro_description_2">هر روز، بعد از انجام عادت، آن را در برنامه تیک بزنید. </string>
|
||||
<string name="intro_title_4">پیشرفت خود را رهگیری کنید</string>
|
||||
<string name="intro_description_2">هر روز بعد از انجام عادت، آن را در برنامه تیک بزنید. </string>
|
||||
<string name="intro_title_4">پیشرفت خود را پیگیری کنید</string>
|
||||
<string name="intro_description_4">نمودار جزئیات به شما نشان میدهد که چطور عادتهایتان با گذشت زمان بهبود پیدا کردهاند.</string>
|
||||
<string name="interval_15_minutes">۱۵ دقیقه</string>
|
||||
<string name="interval_30_minutes">۳۰ دقیقه</string>
|
||||
<string name="interval_1_hour">۱ ساعتذ</string>
|
||||
<string name="interval_1_hour">۱ ساعت</string>
|
||||
<string name="interval_2_hour">۲ ساعت</string>
|
||||
<string name="interval_4_hour">۴ ساعت</string>
|
||||
<string name="interval_8_hour">۸ ساعت</string>
|
||||
<string name="interval_24_hour">۲۴ ساعت </string>
|
||||
<string name="interval_always_ask">همیشه پرسیده شود </string>
|
||||
<string name="interval_custom">سفارشی سازی </string>
|
||||
<string name="interval_custom">سفارشیسازی </string>
|
||||
<string name="pref_toggle_title">با اشارهی کوتاهمدت وضعیت عادت را تغییر بده</string>
|
||||
<string name="pref_toggle_description">تیک زدن با تکضربه در مقابل ضربهزدن و نگهداشتن راحتتر است ولی ممکن است باعث شود اشتباهی عادتی را تیک بزنید. </string>
|
||||
<string name="pref_snooze_interval_title">بازه به تعویق انداختن یادآورها </string>
|
||||
<string name="pref_rate_this_app">به این برنامه در گوگلپلی امتیاز بدهید </string>
|
||||
<string name="pref_send_feedback">ارسال بازخورد به توسعهدهنده</string>
|
||||
<string name="pref_view_source_code">دیدن منبع برنامه در گیتهاب </string>
|
||||
<string name="links">لینکها</string>
|
||||
<string name="links">پیوندها</string>
|
||||
<string name="name">نام</string>
|
||||
<string name="settings">تنظیمات</string>
|
||||
<string name="snooze_interval">بازه به تعویق انداختن </string>
|
||||
<string name="select_snooze_delay">تأخیر تعویق را انتخاب کنید </string>
|
||||
<string name="hint_title">آیا می دانستید؟ </string>
|
||||
<string name="hint_title">آیا میدانستید؟ </string>
|
||||
<string name="hint_drag">برای جابجایی عناوین، انگشتتان را روی نام عادت مورد نظر بگذارید و نگه دارید، سپس آن را به محل صحیح بکشید. </string>
|
||||
<string name="hint_landscape">با قرار دادن گوشی در حالت افقی میتوانید روزهای بیشتری را ببینید. </string>
|
||||
<string name="delete_habits">حذف عادتها </string>
|
||||
<string name="delete_habits_message">عادتها برای همیشه حذف خواهد شد. این عمل قابل بازگشت نیست. </string>
|
||||
<string name="habit_not_found">عادت حذف شده/ پیدا نشد </string>
|
||||
<plurals name="delete_habits_title">
|
||||
<item quantity="one">حذف عادت؟</item>
|
||||
<item quantity="other">حذف عادتها؟</item>
|
||||
</plurals>
|
||||
<plurals name="delete_habits_message">
|
||||
<item quantity="one">این عادت برای همیشه حذف خواهد شد و قابل بازیابی نخواهد بود.</item>
|
||||
<item quantity="other">این عادتها برای همیشه حذف خواهند شد و قابل بازیابی نخواهند بود.</item>
|
||||
</plurals>
|
||||
<string name="habit_not_found">عادت حذف شده / پیدا نشد </string>
|
||||
<string name="weekends">آخر هفتهها </string>
|
||||
<string name="any_weekday">دوشنبه تا جمعه </string>
|
||||
<string name="any_day">هر روز هفته </string>
|
||||
<string name="select_weekdays">انتخاب روزها </string>
|
||||
<string name="export_to_csv">صدور فایل CSV </string>
|
||||
<string name="export_to_csv">خروجی فایل CSV </string>
|
||||
<string name="done_label">انجام شد </string>
|
||||
<string name="clear_label">پاک کردن</string>
|
||||
<string name="select_hours">انتخاب ساعت </string>
|
||||
@@ -98,12 +114,12 @@
|
||||
<string name="every_day">هر روز </string>
|
||||
<string name="every_week">هر هفته </string>
|
||||
<string name="help">راهنما و سوالات متداول </string>
|
||||
<string name="could_not_export">خطا در صدور اطلاعات.</string>
|
||||
<string name="could_not_import">خطا در وارد کردن اطلاعات.</string>
|
||||
<string name="file_not_recognized">پرونده شناخته شده نیست.</string>
|
||||
<string name="could_not_export">خطا در خروجی گرفتن از دیتا.</string>
|
||||
<string name="could_not_import">خطا در وارد کردن دیتا.</string>
|
||||
<string name="file_not_recognized">فایل شناخته شده نیست.</string>
|
||||
<string name="habits_imported">عادتها با موفقیت وارد شدند.</string>
|
||||
<string name="import_data">ورود اطلاعات</string>
|
||||
<string name="export_full_backup">پشتیبان گیری کامل</string>
|
||||
<string name="import_data">وارد کردن دیتا</string>
|
||||
<string name="export_full_backup">پشتیبانگیری کامل</string>
|
||||
<string name="import_data_summary">علاوه بر پشتیبان کامل تهیه شده توسط این برنامه، از پروندههای تولید شده توسط Tickmate، HabitbBull و یا Rewire هم پشتیبانی میشود. برای اطلاعات بیشتر سوالات متداول را ببینید.</string>
|
||||
<string name="export_as_csv_summary">پروندهای تولید میکند که میتوان توسط برنامههای صفحه گسترده مانند Microsoft Excel و یا OpenOffice Calc بازشان کرد. این پرونده قابلیت وارد کردن مجدد به این برنامه را ندارد.</string>
|
||||
<string name="export_full_backup_summary">پروندهای تولید میکند که شامل تمام اطلاعات شما است. این پرونده قابل بازیابی توسط این برنامه میباشد.</string>
|
||||
@@ -111,12 +127,12 @@
|
||||
<string name="generate_bug_report">ایجاد گزارش مشکلات</string>
|
||||
<string name="troubleshooting">ایرادیابی</string>
|
||||
<string name="help_translate">کمک برای ترجمه این برنامه</string>
|
||||
<string name="night_mode">حالت شب</string>
|
||||
<string name="use_pure_black">استفاده از رنگ سیاه خالص در حالت شبانه</string>
|
||||
<string name="pure_black_description">جایگزینی پس زمینه خاکستری با سیاه خالص در حالت شب. استفاده از باتری در گوشیهای با صفحه نمایش AMOLED را کاهش میدهد.</string>
|
||||
<string name="night_mode" comment="dark_theme">حالت تیره</string>
|
||||
<string name="use_pure_black">استفاده از رنگ سیاه خالص در حالت تیره</string>
|
||||
<string name="pure_black_description">جایگزینی پسزمینه خاکستری با سیاه خالص در حالت تیره. استفاده از باتری را در گوشیهای با صفحه نمایش AMOLED کاهش میدهد.</string>
|
||||
<string name="interface_preferences">رابط کاربری</string>
|
||||
<string name="reverse_days">معکوس کردن ترتیب روزها</string>
|
||||
<string name="reverse_days_description">روزها را در صفحه اصلی با ترتیب معکوس نمایش میدهد</string>
|
||||
<string name="reverse_days_description">روزها را در صفحه اصلی با ترتیب معکوس نمایش میدهد.</string>
|
||||
<string name="day">روز</string>
|
||||
<string name="week">هفته</string>
|
||||
<string name="month">ماه</string>
|
||||
@@ -130,56 +146,71 @@
|
||||
<string name="reminder_sound">صدای یادآور</string>
|
||||
<string name="none">هیچکدام</string>
|
||||
<string name="filter">فیلتر</string>
|
||||
<string name="hide_completed">مخفی کردن کامل شدهها</string>
|
||||
<string name="hide_archived">مخفی کردن بایگانی شدهها</string>
|
||||
<string name="hide_completed">مخفی کردن کاملشدهها</string>
|
||||
<string name="hide_archived">مخفی کردن بایگانیشدهها</string>
|
||||
<string name="sticky_notifications">چسبناک کردن اعلانها</string>
|
||||
<string name="sticky_notifications_description">از رد کردن اعلان با کشیدن جلوگیری میکند.</string>
|
||||
<string name="led_notifications">چراغ اعلان</string>
|
||||
<string name="led_notifications_description">یک چراغ چشمک زن برای یادآوری ها نشان می دهد. فقط در تلفن های دارای چراغ های اعلان ال ای دی موجود است.</string>
|
||||
<string name="repair_database">تعمیر پایگاه داده</string>
|
||||
<string name="database_repaired">پایگاه داده تعمیر شد.</string>
|
||||
<string name="led_notifications_description">یک چراغ چشمکزن برای یادآوریها نشان میدهد. فقط در گوشیهای دارای چراغهای اعلان LED موجود است.</string>
|
||||
<string name="repair_database">تعمیر دیتابیس</string>
|
||||
<string name="database_repaired">دیتابیس تعمیر شد.</string>
|
||||
<string name="uncheck">برداشتن تیک</string>
|
||||
<string name="toggle">تغییر وضعیت</string>
|
||||
<string name="action">اقدام</string>
|
||||
<string name="habit">عادت</string>
|
||||
<string name="sort">مرتبسازی</string>
|
||||
<string name="manually">دستی</string>
|
||||
<string name="by_name">بر اساس نام</string>
|
||||
<string name="by_color">بر اساس رنگ</string>
|
||||
<string name="by_score">بر اساس امتیاز</string>
|
||||
<string name="export">صدور</string>
|
||||
<string name="long_press_to_edit">فشار و نگه دارید تا مقدار را تغییر دهید</string>
|
||||
<string name="by_name">براساس نام</string>
|
||||
<string name="by_color">براساس رنگ</string>
|
||||
<string name="by_score">براساس امتیاز</string>
|
||||
<string name="by_status">براساس وضعیت</string>
|
||||
<string name="export">خروجی گرفتن</string>
|
||||
<string name="long_press_to_edit">فشار دهید و نگه دارید تا مقدار را تغییر دهید</string>
|
||||
<string name="change_value">تغییر مقدار</string>
|
||||
<string name="calendar">تقویم</string>
|
||||
<string name="unit">Unit</string>
|
||||
<string name="example_question_boolean">مثلا امروز ورزش کردید؟</string>
|
||||
<string name="question">پرسش</string>
|
||||
<string name="unit">واحد</string>
|
||||
<string name="example_question_boolean">مثلا آیا امروز ورزش کردید؟</string>
|
||||
<string name="question">سوال</string>
|
||||
<string name="target">هدف</string>
|
||||
<string name="yes">بله</string>
|
||||
<string name="no">نه</string>
|
||||
<string name="customize_notification_summary">تنظیمات صدا ، لرزش ، نور و سایر تنظیمات را تغییر دهید</string>
|
||||
<string name="customize_notification">اعلان ها را سفارشی کنید</string>
|
||||
<string name="customize_notification_summary">صدا، لرزش، نور و سایر تنظیمات را تغییر دهید</string>
|
||||
<string name="customize_notification">اعلانها را سفارشیسازی کنید</string>
|
||||
<string name="pref_view_privacy">مشاهده سیاست حفظ حریم خصوصی</string>
|
||||
<string name="view_all_contributors">مشاهده همه همکاران…</string>
|
||||
<string name="database">پایگاه داده</string>
|
||||
<string name="database">دیتابیس</string>
|
||||
<string name="widget_opacity_title">تیرگی ویجت</string>
|
||||
<string name="widget_opacity_description">ویجت ها را در صفحه اصلی شفاف تر یا مات می کند.</string>
|
||||
<string name="widget_opacity_description">ویجتها را در صفحه اصلی شفافتر یا ماتتر میکند.</string>
|
||||
<string name="first_day_of_the_week">روز اول هفته</string>
|
||||
<string name="default_reminder_question">آیا امروز این عادت را کامل کرده اید؟</string>
|
||||
<string name="notes">یادداشت</string>
|
||||
<string name="default_reminder_question">آیا امروز این عادت را انجام دادهاید؟</string>
|
||||
<string name="notes">یادداشتها</string>
|
||||
<string name="example_notes">(اختیاری)</string>
|
||||
<string name="yes_or_no_example">آیا امروز زود بیدار شدید؟ ورزش کردی؟ شطرنج بازی کردی؟</string>
|
||||
<string name="measurable">قابل اندازه گیری</string>
|
||||
<string name="measurable_example" comment="Feel free to replace "miles" by "km"">امروز چند مایل را طی کردید؟ چند صفحه خواندید؟ چند کالری خوردید؟</string>
|
||||
<string name="yes_or_no_example">آیا امروز زود بیدار شدید؟ ورزش کردید؟ شطرنج بازی کردید؟</string>
|
||||
<string name="measurable">قابل اندازهگیری</string>
|
||||
<string name="measurable_example">مثلاً امروز چند کیلومتر دویدید؟ چند صفحه مطالعه کردید؟</string>
|
||||
<string name="x_times_per_week">%d بار در هفته</string>
|
||||
<string name="x_times_per_month">%d بار در ماه</string>
|
||||
<string name="yes_or_no_short_example">مثلاً ورزش کنید</string>
|
||||
<string name="color">رنگ</string>
|
||||
<string name="example_target">مثلاً 15</string>
|
||||
<string name="measurable_short_example">مثلاً اجرا کنید</string>
|
||||
<string name="measurable_question_example" comment="Feel free to replace "miles" by "km" if that is more common in your country">امروز چند مایل را طی کردید؟</string>
|
||||
<string name="measurable_units_example" comment="Feel free to replace by "km" if that is more common in your country">مایل ها</string>
|
||||
<string name="measurable_short_example">مثلاً دویدن</string>
|
||||
<string name="measurable_question_example">مثلاً امروز چند کیلومتر دویدید؟</string>
|
||||
<string name="measurable_units_example">مثلاً کیلومتر</string>
|
||||
<string name="every_month">هر ماه</string>
|
||||
<string name="validation_cannot_be_blank">نمیتواند خالی باشد</string>
|
||||
<string name="validation_cannot_be_blank">نمیتواند خالی باشد</string>
|
||||
<string name="today">امروز</string>
|
||||
<string name="enter">وارد کردن</string>
|
||||
<string name="no_habits">عادتی یافت نشد</string>
|
||||
<string name="no_numerical_habits">عادت قابلاندازهگیری یافت نشد</string>
|
||||
<string name="no_boolean_habits">عادت بله/خیر یافت نشد</string>
|
||||
<string name="increment">افزایش</string>
|
||||
<string name="decrement">کاهش</string>
|
||||
<string name="pref_skip_title">فعال کردن پریدن از روزها</string>
|
||||
<string name="pref_skip_description">دو بار تپ کنید تا به جای تیک زدن، از آن روز بپرید. پریدن از یک روز، امتیاز شما را دستنخورده نگهمیدارد و استمرار عادت را خراب نمیکند.</string>
|
||||
<string name="pref_unknown_title">نمایش علامت سوال برای مواردی که دیتایی وجود ندارد</string>
|
||||
<string name="pref_unknown_description">روزهایی که دیتا ندارند و آنهایی که از رویشان پریدهاید را متفاوت نشان میدهد. برای پریدن از روی یک روز، دو بار روی آن تپ کنید.</string>
|
||||
<string name="you_are_now_a_developer">شما اکنون یک توسعهدهنده هستید</string>
|
||||
<string name="activity_not_found">هیچ برنامهای برای انجام این کار یافت نشد.</string>
|
||||
<string name="pref_midnight_delay_title">تمدید کردن روز تا چند ساعت بعد از نیمهشب</string>
|
||||
<string name="pref_midnight_delay_description">تا ساعت ۳ نیمهشب برای نمایش یک روز جدید صبر میکند. اگر معمولاً بعد از نیمهشب میخوابید، برای شما میتواند مفید باشد. نیازمند راهاندازی مجدد برنامه است.</string>
|
||||
</resources>
|
||||
|
||||
@@ -17,39 +17,48 @@
|
||||
~ You should have received a copy of the GNU General Public License along
|
||||
~ with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
-->
|
||||
|
||||
<!--Generated by crowdin.com-->
|
||||
<resources>
|
||||
<resources xmlns:tools="http://schemas.android.com/tools" tools:ignore="MissingTranslation">
|
||||
<string name="app_name">Loop Habit Tracker</string>
|
||||
<string name="main_activity_title">Rutiinit</string>
|
||||
<string name="action_settings">Asetukset</string>
|
||||
<string name="edit">Muokkaa</string>
|
||||
<string name="delete">Poista</string>
|
||||
<string name="archive">Arkistoi</string>
|
||||
<string name="unarchive">Kumoa arkistointi</string>
|
||||
<string name="add_habit">Lisää rutiini</string>
|
||||
<string name="color_picker_default_title">Vaihda väriä</string>
|
||||
<string name="toast_habit_created">Rutiini luotu</string>
|
||||
<string name="toast_habit_deleted">Rutiinit poistettu</string>
|
||||
<string name="toast_habit_changed">Rutiini muutettu</string>
|
||||
<string name="toast_habit_archived">Rutiinit arkistoitu</string>
|
||||
<string name="toast_habit_unarchived">Rutiinit palautettu arkistosta</string>
|
||||
<plurals name="toast_habits_changed">
|
||||
<item quantity="one">Rutiini muutettu</item>
|
||||
<item quantity="other">Rutiinit muutettu</item>
|
||||
</plurals>
|
||||
<plurals name="toast_habits_deleted">
|
||||
<item quantity="one">Rutiini poistettu</item>
|
||||
<item quantity="other">Rutiinit poistettu</item>
|
||||
</plurals>
|
||||
<plurals name="toast_habits_archived">
|
||||
<item quantity="one">Rutiini arkistoitu</item>
|
||||
<item quantity="other">Rutiinit arkistoitu</item>
|
||||
</plurals>
|
||||
<plurals name="toast_habits_unarchived">
|
||||
<item quantity="one">Rutiini palautettu arkistosta</item>
|
||||
<item quantity="other">Rutiinit palautettu arkistosta</item>
|
||||
</plurals>
|
||||
<string name="overview">Yleiskatsaus</string>
|
||||
<string name="habit_strength">Rutiinin vahvuus</string>
|
||||
<string name="history">Historia</string>
|
||||
<string name="clear">Tyhjennä</string>
|
||||
<string name="times_every">kertaa</string>
|
||||
<string name="days">päivässä</string>
|
||||
<string name="reminder">Muistutus</string>
|
||||
<string name="save">Tallenna</string>
|
||||
<string name="streaks">Pisimmät toistot</string>
|
||||
<string name="no_habits_found">Ei aktiivisia rutiineja</string>
|
||||
<string name="long_press_to_toggle">Paina pitkään merkitäksesi suoritetuksi tai postaaksesi suorituksen</string>
|
||||
<string name="no_habits_left_to_do">Olet tältä päivältä valmis!</string>
|
||||
<string name="long_press_to_toggle">Paina pitkään merkitäksesi suoritetuksi tai poistaaksesi suorituksen</string>
|
||||
<string name="reminder_off">Pois päältä</string>
|
||||
<string name="create_habit">Luo rutiini</string>
|
||||
<string name="edit_habit">Muokkaa rutiinia</string>
|
||||
<string name="check">Tehty</string>
|
||||
<string name="check">Merkitse tehdyksi</string>
|
||||
<string name="snooze">Lykkää</string>
|
||||
<!-- App introduction -->
|
||||
<string name="intro_title_1">Tervetuloa</string>
|
||||
<string name="intro_description_1">Loop Habit Tracker auttaa sinua luomaan ja ylläpitämään hyviä rutiineja.</string>
|
||||
<string name="intro_title_2">Merkitse uusia rutiineja</string>
|
||||
@@ -63,6 +72,8 @@
|
||||
<string name="interval_4_hour">4 tuntia</string>
|
||||
<string name="interval_8_hour">8 tuntia</string>
|
||||
<string name="interval_24_hour">24 tuntia</string>
|
||||
<string name="interval_always_ask">Kysy aina</string>
|
||||
<string name="interval_custom">Muu</string>
|
||||
<string name="pref_toggle_title">Vaihda merkintää lyhyellä painalluksella</string>
|
||||
<string name="pref_toggle_description">Tee merkit yhdellä painalluksella pitkän painalluksen sijaan. Kätevämpi, mutta saattaa aiheuttaa vahingossa painamista.</string>
|
||||
<string name="pref_rate_this_app">Arvostele Google Playssä</string>
|
||||
@@ -71,22 +82,135 @@
|
||||
<string name="links">Linkit</string>
|
||||
<string name="name">Nimi</string>
|
||||
<string name="settings">Asetukset</string>
|
||||
<string name="select_snooze_delay">Aseta torkkuaika</string>
|
||||
<string name="hint_title">Tiesitkö?</string>
|
||||
<string name="hint_drag">Muokkaa merkintöjen järjestystä: valitse tavan nimi ja vedä se oikeaan paikkaan.</string>
|
||||
<string name="hint_landscape">Näe lisää päiviä kääntämällä puhelimesi pitkittäin.</string>
|
||||
<plurals name="delete_habits_title">
|
||||
<item quantity="one">Poista rutiini?</item>
|
||||
<item quantity="other">Poista rutiinit?</item>
|
||||
</plurals>
|
||||
<plurals name="delete_habits_message">
|
||||
<item quantity="one">Rutiini poistetaan pysyvästi. Toimintoa ei voi peruuttaa.</item>
|
||||
<item quantity="other">Rutiinit poistetaan pysyvästi. Toimintoa ei voi peruuttaa.</item>
|
||||
</plurals>
|
||||
<string name="habit_not_found">Tapa on poistettu tai sitä ei löydy</string>
|
||||
<string name="weekends">Viikonloppuisin</string>
|
||||
<string name="any_weekday">Maanantaista perjantaihin</string>
|
||||
<string name="any_day">Mikä tahansa viikonpäivä</string>
|
||||
<string name="select_weekdays">Valitse päivät</string>
|
||||
<string name="export_to_csv">Vie CSV-muodossa</string>
|
||||
<string name="done_label">Valmis</string>
|
||||
<string name="clear_label">Tyhjennä</string>
|
||||
<string name="select_hours">Valitse tunnit</string>
|
||||
<string name="select_minutes">Valitse minuutit</string>
|
||||
<string name="about">Tietoa sovelluksesta</string>
|
||||
<string name="translators">Kääntäjät</string>
|
||||
<string name="developers">Kehittäjät</string>
|
||||
<string name="version_n">Versio %s</string>
|
||||
<string name="frequency">Toistuvuus</string>
|
||||
<string name="checkmark">Valintamerkki</string>
|
||||
<string name="best_streaks">Parhaat putket</string>
|
||||
<string name="every_day">Joka päivä</string>
|
||||
<string name="every_week">Joka viikko</string>
|
||||
<string name="night_mode">Yötila</string>
|
||||
<string name="help">Ohjeita ja usein kysyttyä</string>
|
||||
<string name="could_not_export">Tietojen vienti ei onnistunut.</string>
|
||||
<string name="could_not_import">Tietojen tuominen ei onnistunut.</string>
|
||||
<string name="file_not_recognized">Tiedostoa ei tunnistettu.</string>
|
||||
<string name="habits_imported">Rutiinit tuotu onnistuneesti.</string>
|
||||
<string name="import_data">Tuo tiedot</string>
|
||||
<string name="export_full_backup">Vie täysi varmuuskopio</string>
|
||||
<string name="import_data_summary">Tukee tästä sovelluksesta vietyjä täysiä varmuuskopioita, sekä tiedostoja jotka on luotu sovelluksissa Tickmate, HabitBull ja Rewire. Katso usein kysytyistä kysymyksistä lisätietoa.</string>
|
||||
<string name="export_as_csv_summary">Luo tiedostoja jotka voidaan avata taulukkolaskentaohjelmistolla, kuten Microsoft Excel tai OpenOffice Calc. Tätä tiedostoa ei voi tuoda takaisin.</string>
|
||||
<string name="export_full_backup_summary">Luo tiedoston jossa on kaikki tietosi. Tämä tiedosto voidaan tuoda takaisin.</string>
|
||||
<string name="bug_report_failed">Virheraportin luonti epäonnistui.</string>
|
||||
<string name="generate_bug_report">Luo virheraportti</string>
|
||||
<string name="troubleshooting">Apua</string>
|
||||
<string name="help_translate">Auta kääntämään tämä sovellus</string>
|
||||
<string name="night_mode" comment="dark_theme">Yötila</string>
|
||||
<string name="use_pure_black">Käytä puhdasta mustaa yötilassa</string>
|
||||
<string name="pure_black_description">Korvaa harmaat taustat puhtaalla mustalla tummalla teemalla. Vähentää akun käyttöä puhelimissa AMOLED-näytöllä.</string>
|
||||
<string name="interface_preferences">Käyttöliittymä</string>
|
||||
<string name="reverse_days">Päivät käänteisessä järjestyksessä</string>
|
||||
<string name="reverse_days_description">Näytä päivät käänteisessä järjestyksessä päänäytöllä.</string>
|
||||
<string name="day">Päivä</string>
|
||||
<string name="week">Viikko</string>
|
||||
<string name="month">Kuukausi</string>
|
||||
<string name="quarter">Kvartaali</string>
|
||||
<string name="year">Vuosi</string>
|
||||
<string name="total">Yhteensä</string>
|
||||
<!-- Different types of habits -->
|
||||
<!-- Middle part of the sentence '1 time in xx days' -->
|
||||
<string name="yes_or_no">Kyllä vai ei?</string>
|
||||
<string name="every_x_days">%d päivän välein</string>
|
||||
<string name="every_x_weeks">%d viikon välein</string>
|
||||
<string name="score">Pisteet</string>
|
||||
<string name="reminder_sound">Muistutusääni</string>
|
||||
<string name="none">Ei mitään</string>
|
||||
<string name="filter">Suodata</string>
|
||||
<string name="hide_completed">Piilota suoritetut</string>
|
||||
<string name="hide_archived">Piilota arkistoidut</string>
|
||||
<string name="sticky_notifications">Tee ilmoituksesta kiinnitettyjä</string>
|
||||
<string name="sticky_notifications_description">Estää ilmoitusten pois pyyhkäisemisen.</string>
|
||||
<string name="led_notifications">Ilmoitusvalo</string>
|
||||
<string name="led_notifications_description">Näyttää vilkkuvan valon ilmoituksista. Vain puhelimissa joissa on LED-ilmoitusvalo.</string>
|
||||
<string name="repair_database">Korjaa tietokanta</string>
|
||||
<string name="database_repaired">Tietokanta korjattu.</string>
|
||||
<string name="uncheck">Poista tehdyksi merkintä</string>
|
||||
<string name="toggle">Tilanvaihto</string>
|
||||
<string name="action">Toiminta</string>
|
||||
<string name="habit">Rutiini</string>
|
||||
<string name="sort">Järjestä</string>
|
||||
<string name="manually">Käsin</string>
|
||||
<string name="by_name">Nimen mukaan</string>
|
||||
<string name="by_color">Värin mukaan</string>
|
||||
<string name="by_score">Pisteiden mukaan</string>
|
||||
<string name="by_status">Tilan mukaan</string>
|
||||
<string name="export">Vie</string>
|
||||
<string name="long_press_to_edit">Pidä painettuna muuttaaksesi arvoa</string>
|
||||
<string name="change_value">Muuta arvo</string>
|
||||
<string name="calendar">Kalenteri</string>
|
||||
<string name="unit">Yksikkö</string>
|
||||
<string name="example_question_boolean">esim. Harrastitko tänään liikuntaa?</string>
|
||||
<string name="question">Kysymys</string>
|
||||
<string name="target">Tavoite</string>
|
||||
<string name="yes">Kyllä</string>
|
||||
<string name="no">Ei</string>
|
||||
<string name="customize_notification_summary">Muuta ilmoitusten ääntä, värinää, valoa ja muita asetuksia</string>
|
||||
<string name="customize_notification">Mukauta ilmoituksia</string>
|
||||
<string name="pref_view_privacy">Katso tietosuojakäytäntö</string>
|
||||
<string name="view_all_contributors">Näytä kaikki osallistujat…</string>
|
||||
<string name="database">Tietokanta</string>
|
||||
<string name="widget_opacity_title">Widgetin läpinäkyvyys</string>
|
||||
<string name="widget_opacity_description">Muuttaa kotinäkymän widgettien läpinäkyvyyttä.</string>
|
||||
<string name="first_day_of_the_week">Viikon ensimmäinen päivä</string>
|
||||
<string name="default_reminder_question">Oletko suorittanut tämän tavan tänään?</string>
|
||||
<string name="notes">Muistiinpanot</string>
|
||||
<string name="example_notes">(Valinnainen)</string>
|
||||
<string name="yes_or_no_example">Esim. heräsitkö tänään aikaisin? Kuntoilitko? Pelasitko sakkia?</string>
|
||||
<string name="measurable">Mitattava</string>
|
||||
<string name="measurable_example">esim. Montako kilometriä juoksit tänään? Montako sivua luit?</string>
|
||||
<string name="x_times_per_week">%d kertaa viikossa</string>
|
||||
<string name="x_times_per_month">%d kertaa kuukaudessa</string>
|
||||
<string name="yes_or_no_short_example">Esim. kuntoilu</string>
|
||||
<string name="color">Väri</string>
|
||||
<string name="example_target">Esim. 15</string>
|
||||
<string name="measurable_short_example">Esim. juokse</string>
|
||||
<string name="measurable_question_example">Esim. kuinka monta kilometriä juoksit tänään?</string>
|
||||
<string name="measurable_units_example">Esim. kilometriä</string>
|
||||
<string name="every_month">Joka kuukausi</string>
|
||||
<string name="validation_cannot_be_blank">Tätä ei voi jättää tyhjäksi</string>
|
||||
<string name="today">Tänään</string>
|
||||
<string name="enter">Syötä</string>
|
||||
<string name="no_habits">Rutiineja ei löydetty</string>
|
||||
<string name="no_numerical_habits">Mitattavia rutiineja ei löytynyt</string>
|
||||
<string name="no_boolean_habits">Kyllä-tai-ei-rutiineja ei löytynyt</string>
|
||||
<string name="increment">Nosta</string>
|
||||
<string name="decrement">Laske</string>
|
||||
<string name="pref_skip_title">Ota ohituspäivät käyttöön</string>
|
||||
<string name="pref_skip_description">Valitse kahdesti lisätäksesi ohituksen valinnan sijaan. Ohitukset pitävät pisteesi muuttumattomana eivätkä riko suoritusputkeasi.</string>
|
||||
<string name="pref_unknown_title">Näytä kysymysmerkki puuttuvan tiedon kohdalla</string>
|
||||
<string name="pref_unknown_description">Erota päivät ilman tietoja todellisista väliin jäämisistä. Lisätäksesi väliin jäämisen, valitse kahdesti.</string>
|
||||
<string name="you_are_now_a_developer">Olet nyt kehittäjä</string>
|
||||
<string name="activity_not_found">Tälle toiminnolle ei löytynyt yhtään sovellusta</string>
|
||||
<string name="pref_midnight_delay_title">Pidennä päivää muutama tunti keskiyön jälkeen</string>
|
||||
<string name="pref_midnight_delay_description">Odota kello 3.00 asti ennen uuden päivän näyttämistä. Hyödyllinen jos menet nukkumaan yleensä keskiyön jälkeen. Vaatii sovelluksen uudelleenkäynnistyksen.</string>
|
||||
</resources>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
~ Copyright (C) 2016 Álinson Santos Xavier <isoron@gmail.com>
|
||||
~ Copyright (C) 2016-2021 Álinson Santos Xavier <git@axavier.org>
|
||||
~
|
||||
~ This file is part of Loop Habit Tracker.
|
||||
~
|
||||
@@ -17,7 +17,7 @@
|
||||
~ You should have received a copy of the GNU General Public License along
|
||||
~ with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
-->
|
||||
<resources>
|
||||
<resources xmlns:tools="http://schemas.android.com/tools" tools:ignore="MissingTranslation">
|
||||
<string name="app_name">Loop - Suivi d\'habitudes</string>
|
||||
<string name="main_activity_title">Habitudes</string>
|
||||
<string name="action_settings">Paramètres</string>
|
||||
@@ -28,19 +28,31 @@
|
||||
<string name="add_habit">Ajouter une habitude</string>
|
||||
<string name="color_picker_default_title">Changer la couleur</string>
|
||||
<string name="toast_habit_created">Habitude créée</string>
|
||||
<string name="toast_habit_deleted">Habitudes supprimées</string>
|
||||
<string name="toast_habit_changed">Habitude changée</string>
|
||||
<string name="toast_habit_archived">Habitudes archivées</string>
|
||||
<string name="toast_habit_unarchived">Habitudes désarchivées</string>
|
||||
<plurals name="toast_habits_changed">
|
||||
<item quantity="one">Habitude modifiée</item>
|
||||
<item quantity="other">Habitudes modifiées</item>
|
||||
</plurals>
|
||||
<plurals name="toast_habits_deleted">
|
||||
<item quantity="one">Habitude supprimée</item>
|
||||
<item quantity="other">Habitudes supprimées</item>
|
||||
</plurals>
|
||||
<plurals name="toast_habits_archived">
|
||||
<item quantity="one">Habitude archivée</item>
|
||||
<item quantity="other">Habitudes archivées</item>
|
||||
</plurals>
|
||||
<plurals name="toast_habits_unarchived">
|
||||
<item quantity="one">Habitude désarchivée</item>
|
||||
<item quantity="other">Habitudes désarchivées</item>
|
||||
</plurals>
|
||||
<string name="overview">Vue d\'ensemble</string>
|
||||
<string name="habit_strength">Force de l\'habitude</string>
|
||||
<string name="history">Historique</string>
|
||||
<string name="clear">Supprimer</string>
|
||||
<string name="days">jours</string>
|
||||
<string name="reminder">Rappel</string>
|
||||
<string name="save">Sauvegarder</string>
|
||||
<string name="streaks">Séries</string>
|
||||
<string name="no_habits_found">Vous n\'avez pas d\'habitudes actives</string>
|
||||
<string name="no_habits_left_to_do">Vous avez fait toutes vos habitudes d\'aujourd\'hui !</string>
|
||||
<string name="long_press_to_toggle">Appuyez longtemps pour cocher ou décocher</string>
|
||||
<string name="reminder_off">Aucun</string>
|
||||
<string name="create_habit">Créer une habitude</string>
|
||||
@@ -64,20 +76,24 @@
|
||||
<string name="interval_custom">Personnaliser...</string>
|
||||
<string name="pref_toggle_title">Valider l\'habitude avec un appui court</string>
|
||||
<string name="pref_toggle_description">Valide l\'habitude avec un appui court plutôt qu\'un appuie long. Plus pratique, mais peut causer des activations accidentelles.</string>
|
||||
<string name="pref_snooze_interval_title">Intervalle de report des rappels</string>
|
||||
<string name="pref_rate_this_app">Notez cette app sur le Google Play Store</string>
|
||||
<string name="pref_send_feedback">Envoyez un avis au développeur</string>
|
||||
<string name="pref_view_source_code">Voir le code source sur GitHub</string>
|
||||
<string name="links">Liens</string>
|
||||
<string name="name">Nom</string>
|
||||
<string name="settings">Paramètres</string>
|
||||
<string name="snooze_interval">Intervalle de report</string>
|
||||
<string name="select_snooze_delay">Définir le délai de répétition</string>
|
||||
<string name="hint_title">Le saviez-vous ?</string>
|
||||
<string name="hint_drag">Pour réordonner les habitudes, faites un appui long sur le nom de l\'habitude et placez-la à la bonne place.</string>
|
||||
<string name="hint_landscape">Vous pouvez voir plus de jours en mettant votre téléphone en mode paysage.</string>
|
||||
<string name="delete_habits">Supprimer des habitudes</string>
|
||||
<string name="delete_habits_message">Les habitudes seront supprimées définitivement. Cette action est irréversible.</string>
|
||||
<plurals name="delete_habits_title">
|
||||
<item quantity="one">Supprimer cette habitude ?</item>
|
||||
<item quantity="other">Supprimer ces habitudes ?</item>
|
||||
</plurals>
|
||||
<plurals name="delete_habits_message">
|
||||
<item quantity="one">L\'habitude va être supprimée définitivement. Cette action ne peut pas être annulée.</item>
|
||||
<item quantity="other">Les habitudes vont être supprimées définitivements. Cette action ne peut pas être annulée.</item>
|
||||
</plurals>
|
||||
<string name="habit_not_found">Habitude supprimée / introuvable</string>
|
||||
<string name="weekends">Weekends</string>
|
||||
<string name="any_weekday">Du lundi au vendredi</string>
|
||||
@@ -111,7 +127,7 @@
|
||||
<string name="generate_bug_report">Générer un rapport de bug.</string>
|
||||
<string name="troubleshooting">Résolution de problèmes</string>
|
||||
<string name="help_translate">Aider à traduire cette application</string>
|
||||
<string name="night_mode">Mode Nuit</string>
|
||||
<string name="night_mode" comment="dark_theme">Mode Nuit</string>
|
||||
<string name="use_pure_black">Utiliser un noir pur dans le mode nuit</string>
|
||||
<string name="pure_black_description">Remplace le fond gris par un noir pur dans le mode nuit ; cela réduit l’usage de la batterie des appareils ayant un écran AMOLED.</string>
|
||||
<string name="interface_preferences">Interface</string>
|
||||
@@ -147,6 +163,7 @@
|
||||
<string name="by_name">Par nom</string>
|
||||
<string name="by_color">Par couleur</string>
|
||||
<string name="by_score">Par score</string>
|
||||
<string name="by_status">Par statut</string>
|
||||
<string name="export">Exporter</string>
|
||||
<string name="long_press_to_edit">Appuyez et maintenez pour changer la valeur</string>
|
||||
<string name="change_value">Modifier la valeur</string>
|
||||
@@ -170,16 +187,31 @@
|
||||
<string name="example_notes">(Facultatif) </string>
|
||||
<string name="yes_or_no_example">Par exemple, vous êtes-vous réveillé tôt aujourd\'hui ? Avez-vous fait de l\'exercice ? Avez-vous joué aux échecs ? </string>
|
||||
<string name="measurable">Quantifiable</string>
|
||||
<string name="measurable_example" comment="Feel free to replace "miles" by "km"">Par exemple, combien de km avez-vous couru aujourd\'hui ? Combien de pages avez-vous lu ? Combien de calories avez-vous mangé ? </string>
|
||||
<string name="measurable_example">Par exemple : Quelle distance avez vous parcouru aujourd\'hui ?
|
||||
Combien de pages avez-vous lu ?</string>
|
||||
<string name="x_times_per_week">%d fois par semaine</string>
|
||||
<string name="x_times_per_month">%d fois par mois</string>
|
||||
<string name="yes_or_no_short_example">Par ex, Entrainement</string>
|
||||
<string name="color">Couleur</string>
|
||||
<string name="example_target">Par ex, 15</string>
|
||||
<string name="measurable_short_example">Par ex, Courir</string>
|
||||
<string name="measurable_question_example" comment="Feel free to replace "miles" by "km" if that is more common in your country">Par ex, Combien de km avez-vous couru aujourd\'hui? </string>
|
||||
<string name="measurable_units_example" comment="Feel free to replace by "km" if that is more common in your country">Par ex, km</string>
|
||||
<string name="measurable_question_example">Par ex, Combien de km avez-vous couru aujourd\'hui? </string>
|
||||
<string name="measurable_units_example">Par ex, km</string>
|
||||
<string name="every_month">Tous les mois</string>
|
||||
<string name="validation_cannot_be_blank">Ne peut pas être vide</string>
|
||||
<string name="today">Aujourd\'hui</string>
|
||||
<string name="enter">Inscrire</string>
|
||||
<string name="no_habits">Aucune habitude trouvée :(</string>
|
||||
<string name="no_numerical_habits">Aucune habitude quantifiable trouvée</string>
|
||||
<string name="no_boolean_habits">Aucune habitude binaire trouvée</string>
|
||||
<string name="increment">Augmenter</string>
|
||||
<string name="decrement">Diminuer</string>
|
||||
<string name="pref_skip_title">Pouvoir passer des jours</string>
|
||||
<string name="pref_skip_description">Appuyer deux fois pour passer un jour au lieu de valider. Passer des jours ne change pas votre score et ne brise pas votre série.</string>
|
||||
<string name="pref_unknown_title">Afficher des points d\'interrogations pour les données manquantes</string>
|
||||
<string name="pref_unknown_description">Différentié les jours sans donnée des jours sans avoir fait les habitudes. Pour passer un jour, appuyez deux fois longtemps au lieu d\'une seul fois.</string>
|
||||
<string name="you_are_now_a_developer">Vous êtes désormais un développeur !</string>
|
||||
<string name="activity_not_found">Aucune application trouvée pour faire cette action</string>
|
||||
<string name="pref_midnight_delay_title">Prolonger les jours de quelques heures après minuit </string>
|
||||
<string name="pref_midnight_delay_description">Attendre jusqu\'à trois heures du matin pour changer de jour. Très utile si vous avez l\'habitude d\'aller dormir après minuit. (Redémarrage nécessaire)</string>
|
||||
</resources>
|
||||
|
||||
@@ -17,42 +17,45 @@
|
||||
~ You should have received a copy of the GNU General Public License along
|
||||
~ with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
-->
|
||||
|
||||
<!--Generated by crowdin.com-->
|
||||
<resources>
|
||||
<resources xmlns:tools="http://schemas.android.com/tools" tools:ignore="MissingTranslation">
|
||||
<string name="app_name">Loop - आदत पर नजर</string>
|
||||
<string name="main_activity_title">आदतें</string>
|
||||
<string name="action_settings">सेटिंग्स</string>
|
||||
<string name="edit">संपादित करें</string>
|
||||
<string name="delete">हटाएँ</string>
|
||||
<string name="archive">संग्रहीत करें</string>
|
||||
<string name="unarchive">असंगृहीत करें</string>
|
||||
<string name="archive">संग्रहित करें</string>
|
||||
<string name="unarchive">असंग्रहीत करें</string>
|
||||
<string name="add_habit">आदत जोड़ें</string>
|
||||
<string name="color_picker_default_title">रंग बदलें</string>
|
||||
<string name="toast_habit_created">आदत बनायी गई</string>
|
||||
<string name="toast_habit_deleted">आदत हटाई गई</string>
|
||||
<string name="toast_habit_changed">आदत बहाल</string>
|
||||
<string name="toast_habit_archived">आदत संग्रहीत</string>
|
||||
<string name="toast_habit_unarchived">आदत असंग्रहीत</string>
|
||||
<plurals name="toast_habits_deleted">
|
||||
<item quantity="one">आदत हटाई गई</item>
|
||||
<item quantity="other">आदतें हटाई गई</item>
|
||||
</plurals>
|
||||
<plurals name="toast_habits_archived">
|
||||
<item quantity="one">आदत संग्रहित की गई</item>
|
||||
<item quantity="other">आदतें संग्रहीत की गई</item>
|
||||
</plurals>
|
||||
<plurals name="toast_habits_unarchived">
|
||||
<item quantity="one">आदत असंग्रहीत की गई</item>
|
||||
<item quantity="other">आदतें असंग्रहीत की गई</item>
|
||||
</plurals>
|
||||
<string name="overview">अवलोकन</string>
|
||||
<string name="habit_strength">आदत शक्ति</string>
|
||||
<string name="history">पूर्वलेख</string>
|
||||
<string name="clear">साफ करें</string>
|
||||
<string name="times_every">बार</string>
|
||||
<string name="days">दिन</string>
|
||||
<string name="reminder">अनुस्मारक</string>
|
||||
<string name="save">सहेजें</string>
|
||||
<string name="streaks">प्रवर्ति</string>
|
||||
<string name="no_habits_found">\"आपकी कोई सक्रिय आदत नही है
|
||||
\"</string>
|
||||
<string name="no_habits_left_to_do">आप के आज के सभी कार्य समाप्त होते हैं </string>
|
||||
<string name="long_press_to_toggle">चेक या अनचेक करने के लिए दबाएँ व दबाएँ रखें </string>
|
||||
<string name="reminder_off">बंद</string>
|
||||
<string name="create_habit">आदत उत्पन्न करें</string>
|
||||
<string name="edit_habit">आदत संपादित करें</string>
|
||||
<string name="check">\"
|
||||
चेक\"</string>
|
||||
<string name="create_habit">नयी आदत बनाएं </string>
|
||||
<string name="edit_habit">आदत में बद्लाव करें </string>
|
||||
<string name="check">अंकित करें</string>
|
||||
<string name="snooze">बाद में</string>
|
||||
<!-- App introduction -->
|
||||
<string name="intro_title_1">\"
|
||||
स्वागत हे\"</string>
|
||||
<string name="intro_description_1">लूप हैबिट ट्रैकर नई और अच्छी आदतों को बनाए रखने मे मदद करता है ।</string>
|
||||
@@ -62,13 +65,15 @@
|
||||
अपनी प्रगति को ट्रैक करें\"</string>
|
||||
<string name="intro_description_4">\"
|
||||
विस्तृत रेखांकन आपको बताएंगे कि कैसे अपनी आदतों में समय के साथ सुधार करें\"</string>
|
||||
<string name="interval_15_minutes">15 मिनिट</string>
|
||||
<string name="interval_30_minutes">30 मिनिट</string>
|
||||
<string name="interval_1_hour">1 घंटा</string>
|
||||
<string name="interval_2_hour">2 घंटा</string>
|
||||
<string name="interval_15_minutes">१५ मिनट</string>
|
||||
<string name="interval_30_minutes">३० मिनट</string>
|
||||
<string name="interval_1_hour">१ घंटा</string>
|
||||
<string name="interval_2_hour">२ घंटे</string>
|
||||
<string name="interval_4_hour">4 घंटा</string>
|
||||
<string name="interval_8_hour">8 घंटा</string>
|
||||
<string name="interval_24_hour">24 घंटे</string>
|
||||
<string name="interval_always_ask">हमेशा पूछें</string>
|
||||
<string name="interval_custom">अपने तरीके से बनाएं</string>
|
||||
<string name="pref_toggle_title">टॉगल पुनरावृत्ति हल्का दबाने से</string>
|
||||
<string name="pref_toggle_description">\"
|
||||
अधिक सुविधाजनक है, लेकिन आकस्मिक टॉगल हो सकता है ।\"</string>
|
||||
@@ -79,14 +84,20 @@
|
||||
<string name="links">लिंक</string>
|
||||
<string name="name">नाम</string>
|
||||
<string name="settings">सेटिंग्स</string>
|
||||
<string name="select_snooze_delay">स्नूज़ देरी का चयन करें</string>
|
||||
<string name="hint_title">क्या आप जानते .?</string>
|
||||
<string name="hint_drag">\"
|
||||
प्रविष्टियों को पुनर्व्यवस्थित करने के लिए, आदत के नाम पर प्रेस करें और सही जगह पर खींचें।\"</string>
|
||||
<string name="hint_landscape">\"
|
||||
अपने फोन को लांडसकपे मोड मे रख कर आप अधिक दिनों से देख सकते हैं\"</string>
|
||||
<string name="delete_habits">आदत हटाएँ</string>
|
||||
<string name="delete_habits_message">\"
|
||||
आदतों को स्थायी रूप से हटा दिया जाएगा। इस क्रिया को पूर्ववत नहीं किया जा सकता है।\"</string>
|
||||
<plurals name="delete_habits_title">
|
||||
<item quantity="one">आदत हटाये?</item>
|
||||
<item quantity="other">आदत हटाएँ</item>
|
||||
</plurals>
|
||||
<plurals name="delete_habits_message">
|
||||
<item quantity="one">आदत हमेशा के लिये हटा दी जाएगी। इसे वापस नहीं लाया जा सकता।</item>
|
||||
<item quantity="other">आदतें हमेशा के लिये हटा दी जाएगी। उन्हे वापस नहीं लाया जा सकता।</item>
|
||||
</plurals>
|
||||
<string name="habit_not_found">आदत हटाई गई / नहीं मिली</string>
|
||||
<string name="weekends">\"
|
||||
सप्ताहांत\"</string>
|
||||
@@ -138,7 +149,7 @@
|
||||
समस्या निवारण\"</string>
|
||||
<string name="help_translate">\"
|
||||
इस एप्लिकेशन का अनुवाद करने में मदद करें\"</string>
|
||||
<string name="night_mode">नाइट मोड</string>
|
||||
<string name="night_mode" comment="dark_theme">नाइट मोड</string>
|
||||
<string name="use_pure_black">नाइट मोड मे पूरा काला यूज़ करें</string>
|
||||
<string name="pure_black_description">\"
|
||||
रात मोड में शुद्ध काले रंग के साथ ग्रे पृष्ठभूमि में बदलें. अमोलेड प्रदर्शन के साथ फोन में बैटरी उपयोग कम कर देता है ।\"</string>
|
||||
@@ -152,8 +163,7 @@
|
||||
<string name="quarter">तिमाही</string>
|
||||
<string name="year">साल</string>
|
||||
<string name="total">कुल</string>
|
||||
<!-- Different types of habits -->
|
||||
<!-- Middle part of the sentence '1 time in xx days' -->
|
||||
<string name="yes_or_no">हाँ या नहीं</string>
|
||||
<string name="every_x_days">\"
|
||||
हर %d दिन\"</string>
|
||||
<string name="every_x_weeks">\"
|
||||
@@ -167,6 +177,8 @@
|
||||
<string name="hide_archived">संग्रहीत छुपाएं</string>
|
||||
<string name="sticky_notifications">सुचनाए स्थयी रखे</string>
|
||||
<string name="sticky_notifications_description">नोटिफिकेशन को स्वाइप करने से रोकता है!</string>
|
||||
<string name="led_notifications">नोटिफिकेशन लाइट</string>
|
||||
<string name="led_notifications_description">स्मरण के लिए एक चमकती रोशनी दिखाता है। यह केवल एलईडी नोटिफिकेशन लाइट वाले फोन में उपलब्ध है।</string>
|
||||
<string name="repair_database">डेटाबेस को रिपेयर करें</string>
|
||||
<string name="database_repaired">डेटाबेस रिपेयर सफल</string>
|
||||
<string name="uncheck">निशान हटाएँ</string>
|
||||
@@ -178,5 +190,56 @@
|
||||
<string name="by_name">नाम द्वारा</string>
|
||||
<string name="by_color">रंग द्वारा</string>
|
||||
<string name="by_score">स्कोर से</string>
|
||||
<string name="by_status">स्थिति से</string>
|
||||
<string name="export">एक्सपोर्ट करे</string>
|
||||
<string name="long_press_to_edit">बदलने के लिए दबाकर रखें</string>
|
||||
<string name="change_value">वैल्यू बदलें</string>
|
||||
<string name="calendar">कैलेंडर</string>
|
||||
<string name="unit">इकाई</string>
|
||||
<string name="example_question_boolean">जैसे आपने आज व्यायाम किया?</string>
|
||||
<string name="question">प्रश्न</string>
|
||||
<string name="target">लक्ष्य</string>
|
||||
<string name="yes">हाँ</string>
|
||||
<string name="no">नहीं</string>
|
||||
<string name="customize_notification_summary">ध्वनि, कंपन, प्रकाश और अन्य अधिसूचना सेटिंग्स बदलें</string>
|
||||
<string name="customize_notification">सूचनाएं कस्टमाइज़ करें</string>
|
||||
<string name="pref_view_privacy">गोपनीयता नीति देखें</string>
|
||||
<string name="view_all_contributors">सभी योगदानकर्ता देखें…</string>
|
||||
<string name="database">डेटाबेस</string>
|
||||
<string name="widget_opacity_title">विजेट अपारदर्शिता</string>
|
||||
<string name="widget_opacity_description">आपके होम स्क्रीन में अधिक पारदर्शी या अधिक अपारदर्शी बनाता है।</string>
|
||||
<string name="first_day_of_the_week">सप्ताह का पहला दिन</string>
|
||||
<string name="default_reminder_question">क्या आपने आज यह आदत पूरी कर ली है?</string>
|
||||
<string name="notes">नोट्स</string>
|
||||
<string name="example_notes">वैकल्पिक</string>
|
||||
<string name="yes_or_no_example">उदा। क्या आप आज जल्दी उठ गए? क्या आपने व्यायाम किया? क्या आपने शतरंज खेला?</string>
|
||||
<string name="measurable">मापें</string>
|
||||
<string name="measurable_example">जैसे आज आप कितने मील दौड़े? आपने कितने पन्ने पढ़े?</string>
|
||||
<string name="x_times_per_week">\"
|
||||
प्रति सप्ताह %d बार\"</string>
|
||||
<string name="x_times_per_month">\"
|
||||
प्रति माह %d बार\"</string>
|
||||
<string name="yes_or_no_short_example">जैसे व्यायाम</string>
|
||||
<string name="color">रंग</string>
|
||||
<string name="example_target">जैसे १५</string>
|
||||
<string name="measurable_short_example">जैसे दौड</string>
|
||||
<string name="measurable_question_example">जैसे आज आप कितने मील दौड़े?</string>
|
||||
<string name="measurable_units_example">जैसे मील</string>
|
||||
<string name="every_month">प्रति माह</string>
|
||||
<string name="validation_cannot_be_blank">इसे खाली नहीं रखा जा सकता</string>
|
||||
<string name="today">आज</string>
|
||||
<string name="enter">दर्ज करें</string>
|
||||
<string name="no_habits">कोई आदत नहीं मिली</string>
|
||||
<string name="no_numerical_habits">कोई मापने योग्य आदत नहीं मिली</string>
|
||||
<string name="no_boolean_habits">हां - या - ना में आदत नहीं मिली</string>
|
||||
<string name="increment">वृद्धि (Increment)</string>
|
||||
<string name="decrement">घटौंती</string>
|
||||
<string name="pref_skip_title">दिन छोड़ना सक्षम करें</string>
|
||||
<string name="pref_skip_description">चेकमार्क के बजाय स्किप जोड़ने के लिए दो बार टॉगल करें। स्किप आपके स्कोर को जारी रखते हैं और आपकी स्ट्रीक को नहीं तोड़ते हैं।</string>
|
||||
<string name="pref_unknown_title">खोयी जानकारी के लिए प्रश्न चिह्न दिखाएं</string>
|
||||
<string name="pref_unknown_description">वास्तविक चूकों और बिना जानकारीवाले दिनों में अंतर करें। चूक दर्ज करने के लिए, दो बार टॉगल करें।</string>
|
||||
<string name="you_are_now_a_developer">अब आप एक विकसक हैं</string>
|
||||
<string name="activity_not_found">इस कार्रवाई को संभालने के लिए कोई ऐप नहीं मिला</string>
|
||||
<string name="pref_midnight_delay_title">मध्यरात्रि से कुछ घंटे बाद तक दिन बढ़ाएँ</string>
|
||||
<string name="pref_midnight_delay_description">नया दिन दिखाने के लिए सुबह 3:00 बजे तक प्रतीक्षा करें। उपयोगी अगर आप आमतौर पर आधी रात के बाद सोने जाते हैं। ऐप पुनरारंभ की आवश्यकता होगी।</string>
|
||||
</resources>
|
||||
|
||||
@@ -17,9 +17,7 @@
|
||||
~ You should have received a copy of the GNU General Public License along
|
||||
~ with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
-->
|
||||
|
||||
<!--Generated by crowdin.com-->
|
||||
<resources>
|
||||
<resources xmlns:tools="http://schemas.android.com/tools" tools:ignore="MissingTranslation">
|
||||
<string name="app_name">Loop Habit Tracker</string>
|
||||
<string name="main_activity_title">Navike</string>
|
||||
<string name="action_settings">Postavke</string>
|
||||
@@ -30,16 +28,10 @@
|
||||
<string name="add_habit">Dodaj naviku</string>
|
||||
<string name="color_picker_default_title">Promijeni boju</string>
|
||||
<string name="toast_habit_created">Navika je stvorena</string>
|
||||
<string name="toast_habit_deleted">Navike su izbrisane</string>
|
||||
<string name="toast_habit_changed">Navika je promijenjena</string>
|
||||
<string name="toast_habit_archived">Navike su arhivirane</string>
|
||||
<string name="toast_habit_unarchived">Navike su dearhivirane</string>
|
||||
<string name="overview">Pregled</string>
|
||||
<string name="habit_strength">Snaga navike</string>
|
||||
<string name="history">Povijest</string>
|
||||
<string name="clear">Očisti</string>
|
||||
<string name="times_every">puta u</string>
|
||||
<string name="days">dani</string>
|
||||
<string name="reminder">Podsjetnik</string>
|
||||
<string name="save">Spremi</string>
|
||||
<string name="streaks">Niz</string>
|
||||
@@ -50,7 +42,6 @@
|
||||
<string name="edit_habit">Uredi naviku</string>
|
||||
<string name="check">Potvrdi</string>
|
||||
<string name="snooze">Kasnije</string>
|
||||
<!-- App introduction -->
|
||||
<string name="intro_title_1">Dobrodošli</string>
|
||||
<string name="intro_description_1">Loop Habit Tracker vam pomaže stvoriti i održavati dobre navike.</string>
|
||||
<string name="intro_title_2">Stvorite neke nove navike</string>
|
||||
@@ -75,8 +66,6 @@
|
||||
<string name="hint_title">Jeste li znali?</string>
|
||||
<string name="hint_drag">Za razmještanje unosa, pritisnite i držite naziv navike, pa ih premjestite na točno mjesto.</string>
|
||||
<string name="hint_landscape">Možete vidjeti više dana prebacivanjem uređaja u vodoravnu orijentaciju.</string>
|
||||
<string name="delete_habits">Izbriši Navike</string>
|
||||
<string name="delete_habits_message">Navike će biti trajno izbrisane. Ova radnja se ne može poništiti.</string>
|
||||
<string name="habit_not_found">Navika je izbrisana / nije pronađena</string>
|
||||
<string name="weekends">Vikendi</string>
|
||||
<string name="any_weekday">Ponedjeljak do Petak</string>
|
||||
@@ -110,7 +99,7 @@
|
||||
<string name="generate_bug_report">Generiraj izvješće o pogreški</string>
|
||||
<string name="troubleshooting">Rješavanje problema</string>
|
||||
<string name="help_translate">Pomozi prevesti ovu aplikaciju</string>
|
||||
<string name="night_mode">Noćni način</string>
|
||||
<string name="night_mode" comment="dark_theme">Noćni način</string>
|
||||
<string name="use_pure_black">Koristi crnu boju za noćni način</string>
|
||||
<string name="pure_black_description">Zamjenjuje sivu pozadinu sa crnom u noćnom načinu. To smanjuje potrošnju bateriju na uređajima s AMOLED zaslonima.</string>
|
||||
<string name="interface_preferences">Sučelje</string>
|
||||
@@ -122,8 +111,6 @@
|
||||
<string name="quarter">Četvrtina</string>
|
||||
<string name="year">Godina</string>
|
||||
<string name="total">Ukupno</string>
|
||||
<!-- Different types of habits -->
|
||||
<!-- Middle part of the sentence '1 time in xx days' -->
|
||||
<string name="every_x_days">Svaka %d dana</string>
|
||||
<string name="every_x_weeks">Svaka %d tjedna</string>
|
||||
<string name="score">Rezultat</string>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
~ Copyright (C) 2016 Álinson Santos Xavier <isoron@gmail.com>
|
||||
~ Copyright (C) 2016-2021 Álinson Santos Xavier <git@axavier.org>
|
||||
~
|
||||
~ This file is part of Loop Habit Tracker.
|
||||
~
|
||||
@@ -17,7 +17,7 @@
|
||||
~ You should have received a copy of the GNU General Public License along
|
||||
~ with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
-->
|
||||
<resources>
|
||||
<resources xmlns:tools="http://schemas.android.com/tools" tools:ignore="MissingTranslation">
|
||||
<string name="app_name">Loop Szokásrögzítő</string>
|
||||
<string name="main_activity_title">Szokások</string>
|
||||
<string name="action_settings">Beállítások</string>
|
||||
@@ -28,15 +28,10 @@
|
||||
<string name="add_habit">Új szokás</string>
|
||||
<string name="color_picker_default_title">Szín módosítása</string>
|
||||
<string name="toast_habit_created">Szokás létrehozva</string>
|
||||
<string name="toast_habit_deleted">Szokás törölve</string>
|
||||
<string name="toast_habit_changed">Szokás módosítva</string>
|
||||
<string name="toast_habit_archived">Szokás archiválva</string>
|
||||
<string name="toast_habit_unarchived">Szokás újraaktiválva</string>
|
||||
<string name="overview">Áttekintés</string>
|
||||
<string name="habit_strength">Szokás erőssége</string>
|
||||
<string name="history">Napló</string>
|
||||
<string name="clear">Törlés</string>
|
||||
<string name="days">nap</string>
|
||||
<string name="reminder">Emlékeztető</string>
|
||||
<string name="save">Mentés</string>
|
||||
<string name="streaks">Szériák</string>
|
||||
@@ -64,20 +59,16 @@
|
||||
<string name="interval_custom">Egyedi...</string>
|
||||
<string name="pref_toggle_title">Bejelölés rövid koppintással</string>
|
||||
<string name="pref_toggle_description">Bejelölés koppintással nyomva tartás helyett. Kényelmesebb, de véletlen bejelöléseket okozhat.</string>
|
||||
<string name="pref_snooze_interval_title">Szundi időtartama emlékeztetőnél</string>
|
||||
<string name="pref_rate_this_app">Értékeld az alkalmazást a Google Play-en</string>
|
||||
<string name="pref_send_feedback">Visszajelzés küldése a fejlesztőnek</string>
|
||||
<string name="pref_view_source_code">Forráskód megtekintése a GitHub-on</string>
|
||||
<string name="links">Linkek</string>
|
||||
<string name="name">Megnevezés</string>
|
||||
<string name="settings">Beállítások</string>
|
||||
<string name="snooze_interval">Szundi időtartama</string>
|
||||
<string name="select_snooze_delay">Szundi beállítása</string>
|
||||
<string name="hint_title">Tudtad?</string>
|
||||
<string name="hint_drag">Az elemek újrarendezéséhez a koppints a szokás nevére, majd húzd a megfelelő helyre.</string>
|
||||
<string name="hint_landscape">Több nap válik láthatóvá, ha fekvő módba állítod a telefonod kijelzőjét.</string>
|
||||
<string name="delete_habits">Szokások törlése</string>
|
||||
<string name="delete_habits_message">A szokások véglegesen törölve lesznek. A műveletet nem lehet visszavonni.</string>
|
||||
<string name="habit_not_found">Szokás törölve / nem található</string>
|
||||
<string name="weekends">Hétvégente</string>
|
||||
<string name="any_weekday">Hétfőtől péntekig</string>
|
||||
@@ -116,7 +107,7 @@
|
||||
<string name="generate_bug_report">Hibabejelentés generálása</string>
|
||||
<string name="troubleshooting">Hibaelhárítás</string>
|
||||
<string name="help_translate">Segíts lefordítani ezt az alkalmazást</string>
|
||||
<string name="night_mode">Éjszakai mód</string>
|
||||
<string name="night_mode" comment="dark_theme">Éjszakai mód</string>
|
||||
<string name="use_pure_black">Fekete használata éjszakai módban</string>
|
||||
<string name="pure_black_description">A szürke hátteret tiszta feketére cseréli éjszakai módban. Csökkenti az energiafelhasználást AMOLED kijelzős telefonokon.</string>
|
||||
<string name="interface_preferences">Kezelőfelület</string>
|
||||
@@ -175,15 +166,14 @@
|
||||
<string name="example_notes">(opcionális)</string>
|
||||
<string name="yes_or_no_example">pl. Korán keltél ma fel? Edzettél? Sakkoztál?</string>
|
||||
<string name="measurable">Mérhető</string>
|
||||
<string name="measurable_example" comment="Feel free to replace "miles" by "km"">pl. Hány kilométert futottál ma? Hány oldalt olvastál? Hány kalória volt amit ma ettél?</string>
|
||||
<string name="x_times_per_week">Heti %d alkalommal</string>
|
||||
<string name="x_times_per_month">Havi %d alkalommal</string>
|
||||
<string name="yes_or_no_short_example">pl. Edzés</string>
|
||||
<string name="color">Szín</string>
|
||||
<string name="example_target">pl. 15</string>
|
||||
<string name="measurable_short_example">pl. Futás</string>
|
||||
<string name="measurable_question_example" comment="Feel free to replace "miles" by "km" if that is more common in your country">pl. Hány kilométert futottál ma?</string>
|
||||
<string name="measurable_units_example" comment="Feel free to replace by "km" if that is more common in your country">pl. kilométer</string>
|
||||
<string name="measurable_question_example">pl. Hány kilométert futottál ma?</string>
|
||||
<string name="measurable_units_example">pl. kilométer</string>
|
||||
<string name="every_month">Minden hónapban</string>
|
||||
<string name="validation_cannot_be_blank">Nem lehet üres</string>
|
||||
<string name="today">Ma</string>
|
||||
|
||||
@@ -130,7 +130,7 @@
|
||||
<string name="generate_bug_report">Membuat laporan masalah</string>
|
||||
<string name="troubleshooting">Troubleshoot</string>
|
||||
<string name="help_translate">Bantu menerjemahkan aplikasi ini</string>
|
||||
<string name="night_mode">Mode malam</string>
|
||||
<string name="night_mode" comment="dark_theme">Mode malam</string>
|
||||
<string name="use_pure_black">Gunakan warna hitam pekat pada mode malam</string>
|
||||
<string name="pure_black_description">Ganti warna latar abu-abu dengan warna hitam pada mode malam. Mengurangi penggunaan baterai pada layar AMOLED.</string>
|
||||
<string name="interface_preferences">Antarmuka</string>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
~ Copyright (C) 2016 Álinson Santos Xavier <isoron@gmail.com>
|
||||
~ Copyright (C) 2016-2021 Álinson Santos Xavier <git@axavier.org>
|
||||
~
|
||||
~ This file is part of Loop Habit Tracker.
|
||||
~
|
||||
@@ -17,7 +17,7 @@
|
||||
~ You should have received a copy of the GNU General Public License along
|
||||
~ with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
-->
|
||||
<resources>
|
||||
<resources xmlns:tools="http://schemas.android.com/tools" tools:ignore="MissingTranslation">
|
||||
<string name="app_name">Loop - Tracciatore di Abitudine</string>
|
||||
<string name="main_activity_title">Abitudini</string>
|
||||
<string name="action_settings">Impostazioni</string>
|
||||
@@ -28,19 +28,31 @@
|
||||
<string name="add_habit">Aggiungi abitudine</string>
|
||||
<string name="color_picker_default_title">Cambia colore</string>
|
||||
<string name="toast_habit_created">Abitudine creata</string>
|
||||
<string name="toast_habit_deleted">Abitudine rimossa</string>
|
||||
<string name="toast_habit_changed">Abitudine modificata</string>
|
||||
<string name="toast_habit_archived">Abitudine archiviata</string>
|
||||
<string name="toast_habit_unarchived">Abitudine ripristinata</string>
|
||||
<plurals name="toast_habits_changed">
|
||||
<item quantity="one">Abitudine modificata</item>
|
||||
<item quantity="other">Abitudini modificate</item>
|
||||
</plurals>
|
||||
<plurals name="toast_habits_deleted">
|
||||
<item quantity="one">Abitudine eliminata</item>
|
||||
<item quantity="other">Abitudini eliminate</item>
|
||||
</plurals>
|
||||
<plurals name="toast_habits_archived">
|
||||
<item quantity="one">Abitudine archiviata</item>
|
||||
<item quantity="other">Abitudini archiviate</item>
|
||||
</plurals>
|
||||
<plurals name="toast_habits_unarchived">
|
||||
<item quantity="one">Abitudine non archiviata</item>
|
||||
<item quantity="other">Abitudini non archiviate</item>
|
||||
</plurals>
|
||||
<string name="overview">Panoramica</string>
|
||||
<string name="habit_strength">Forza dell\'abitudine</string>
|
||||
<string name="history">Cronologia</string>
|
||||
<string name="clear">Annulla</string>
|
||||
<string name="days">giorni</string>
|
||||
<string name="reminder">Promemoria</string>
|
||||
<string name="save">Salva</string>
|
||||
<string name="streaks">Serie</string>
|
||||
<string name="no_habits_found">Non hai abitudini attive</string>
|
||||
<string name="no_habits_left_to_do">Hai finito tutto per oggi! </string>
|
||||
<string name="long_press_to_toggle">Tieni premuto per completare o annullare</string>
|
||||
<string name="reminder_off">Disabilitato</string>
|
||||
<string name="create_habit">Crea abitudine</string>
|
||||
@@ -64,20 +76,24 @@
|
||||
<string name="interval_custom">Personalizza...</string>
|
||||
<string name="pref_toggle_title">Spunta le ripetizioni velocemente</string>
|
||||
<string name="pref_toggle_description">Metti le spunte con un tocco singolo invece che tenendo premuto. Più comodo, ma potrebbe causare delle spunte accidentali.</string>
|
||||
<string name="pref_snooze_interval_title">Intervallo di ritardo dei promemoria</string>
|
||||
<string name="pref_rate_this_app">Valuta quest\'app su Google Play</string>
|
||||
<string name="pref_send_feedback">Manda un feedback allo sviluppatore</string>
|
||||
<string name="pref_view_source_code">Vedi il codice sorgente su GitHub</string>
|
||||
<string name="links">Links</string>
|
||||
<string name="name">Nome</string>
|
||||
<string name="settings">Impostazioni</string>
|
||||
<string name="snooze_interval">Snooze</string>
|
||||
<string name="select_snooze_delay">Seleziona ritardo posticipo</string>
|
||||
<string name="hint_title">Lo sapevi?</string>
|
||||
<string name="hint_drag">Per riordinare le voci, tieni premuto sul nome dell\'abitudine, poi spostala nella posizione corretta.</string>
|
||||
<string name="hint_landscape">Puoi vedere più giorni mettendo il tuo telefono orizzontale.</string>
|
||||
<string name="delete_habits">Elimina abitudine</string>
|
||||
<string name="delete_habits_message">L\'abitudine verrà cancellata definitivamente. Non sarà possibile annullare.</string>
|
||||
<plurals name="delete_habits_title">
|
||||
<item quantity="one">Eliminare l\'abitudine?</item>
|
||||
<item quantity="other">Eliminare le abitudini?</item>
|
||||
</plurals>
|
||||
<plurals name="delete_habits_message">
|
||||
<item quantity="one">L\'abitudine verrà eliminata definitivamente. Questa azione non può essere annullata.</item>
|
||||
<item quantity="other">Le abitudini verranno eliminate definitivamente. Questa azione non può essere annullata.</item>
|
||||
</plurals>
|
||||
<string name="habit_not_found">Abitudine cancellata / non trovata</string>
|
||||
<string name="weekends">Weekend</string>
|
||||
<string name="any_weekday">Giorni feriali</string>
|
||||
@@ -111,7 +127,7 @@
|
||||
<string name="generate_bug_report">Genera bug report</string>
|
||||
<string name="troubleshooting">Risoluzione dei problemi</string>
|
||||
<string name="help_translate">Aiuta a tradurre questa app</string>
|
||||
<string name="night_mode">Modalità notte</string>
|
||||
<string name="night_mode" comment="dark_theme">Modalità notte</string>
|
||||
<string name="use_pure_black">Usa nero puro nella modalità notte</string>
|
||||
<string name="pure_black_description">Sostituisce gli sfondi grigi con sfondi neri nella modalità notte. Riduce il consumo di batteria nei dispositivi con schermo AMOLED.</string>
|
||||
<string name="interface_preferences">Interfaccia</string>
|
||||
@@ -147,6 +163,7 @@
|
||||
<string name="by_name">Per nome</string>
|
||||
<string name="by_color">Per colore</string>
|
||||
<string name="by_score">Per punteggio</string>
|
||||
<string name="by_status">Per stato</string>
|
||||
<string name="export">Esporta</string>
|
||||
<string name="long_press_to_edit">Tieni premuto per cambiare il valore</string>
|
||||
<string name="change_value">Cambia valore</string>
|
||||
@@ -170,16 +187,29 @@
|
||||
<string name="example_notes">(Opzionale)</string>
|
||||
<string name="yes_or_no_example">ad es. Ti sei svegliato presto oggi? Hai fatto esercizio? Hai giocato a scacchi?</string>
|
||||
<string name="measurable">Misurabile</string>
|
||||
<string name="measurable_example" comment="Feel free to replace "miles" by "km"">ad es. Quanti chilometri hai corso oggi? Quante pagine hai letto? Quante calorie hai mangiato?</string>
|
||||
<string name="x_times_per_week">%s volte a settimana</string>
|
||||
<string name="measurable_example">es. Quanti chilometri hai percorso oggi? Quante pagine hai letto?</string>
|
||||
<string name="x_times_per_week">%d volte a settimana</string>
|
||||
<string name="x_times_per_month">%d volte al mese</string>
|
||||
<string name="yes_or_no_short_example">ad es. Esercizio</string>
|
||||
<string name="color">Colore</string>
|
||||
<string name="example_target">ad es. 15</string>
|
||||
<string name="measurable_short_example">ad es. Correre</string>
|
||||
<string name="measurable_question_example" comment="Feel free to replace "miles" by "km" if that is more common in your country">ad es. Quanti chilometri hai corso oggi?</string>
|
||||
<string name="measurable_units_example" comment="Feel free to replace by "km" if that is more common in your country">ad es: Chilometri</string>
|
||||
<string name="measurable_question_example">ad es. Quanti chilometri hai corso oggi?</string>
|
||||
<string name="measurable_units_example">ad es: Chilometri</string>
|
||||
<string name="every_month">Ogni mese</string>
|
||||
<string name="validation_cannot_be_blank">Non può essere lasciato vuoto</string>
|
||||
<string name="today">Oggi</string>
|
||||
<string name="enter">Inserisci</string>
|
||||
<string name="no_habits">Nessuna abitudine trovata</string>
|
||||
<string name="no_numerical_habits">Nessuna abitudine misurabile trovata</string>
|
||||
<string name="no_boolean_habits">Nessuna abitudine sì/no trovata</string>
|
||||
<string name="increment">Incremento</string>
|
||||
<string name="decrement">Decremento</string>
|
||||
<string name="pref_skip_title">Abilita salta giorni</string>
|
||||
<string name="pref_skip_description">Attiva/disattiva due volte per aggiungere un salto invece di una spunta. Un salto mantiene il tuo punteggio invariato e non interrompe il tuo punteggio.</string>
|
||||
<string name="pref_unknown_title">Mostra punti interrogativi per i dati mancanti</string>
|
||||
<string name="you_are_now_a_developer">Ora sei uno sviluppatore</string>
|
||||
<string name="activity_not_found">Nessuna app disponibile per gestire questa azione</string>
|
||||
<string name="pref_midnight_delay_title">Prolunga il giorno di alcune ore dopo la mezzanotte</string>
|
||||
<string name="pref_midnight_delay_description">Attendere fino alle 3:00 per mostrare il nuovo giorno. Utile se solitamente vai a dormire dopo mezzanotte. È necessario riavviare l\'app.</string>
|
||||
</resources>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
~ Copyright (C) 2016 Álinson Santos Xavier <isoron@gmail.com>
|
||||
~ Copyright (C) 2016-2021 Álinson Santos Xavier <git@axavier.org>
|
||||
~
|
||||
~ This file is part of Loop Habit Tracker.
|
||||
~
|
||||
@@ -17,80 +17,108 @@
|
||||
~ You should have received a copy of the GNU General Public License along
|
||||
~ with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
-->
|
||||
<resources>
|
||||
<string name="app_name">Loop Habit Tracker</string>
|
||||
<resources xmlns:tools="http://schemas.android.com/tools" tools:ignore="MissingTranslation">
|
||||
<string name="app_name">Loop למעקב אחר ההרגלים</string>
|
||||
<string name="main_activity_title">הרגלים</string>
|
||||
<string name="action_settings">הגדרות</string>
|
||||
<string name="edit">עריכה</string>
|
||||
<string name="delete">מחיקה</string>
|
||||
<string name="archive">העברה לארכיון</string>
|
||||
<string name="unarchive">הוצא מארכיון</string>
|
||||
<string name="unarchive">הוצאה מהארכיון</string>
|
||||
<string name="add_habit">הרגל חדש</string>
|
||||
<string name="color_picker_default_title">שינוי צבע</string>
|
||||
<string name="toast_habit_created">הרגל נוצר</string>
|
||||
<string name="toast_habit_deleted">הרגלים נמחקו</string>
|
||||
<string name="toast_habit_changed">הרגל השתנה</string>
|
||||
<string name="toast_habit_archived">הרגלים הועברו לארכיון</string>
|
||||
<string name="toast_habit_unarchived">הרגלים הוצאו מארכיון</string>
|
||||
<string name="toast_habit_created">ההרגל נוצר</string>
|
||||
<plurals name="toast_habits_changed">
|
||||
<item quantity="one">ההרגל השתנה</item>
|
||||
<item quantity="two">ההרגלים השתנו</item>
|
||||
<item quantity="many">ההרגלים השתנו</item>
|
||||
<item quantity="other">ההרגלים השתנו</item>
|
||||
</plurals>
|
||||
<plurals name="toast_habits_deleted">
|
||||
<item quantity="one">ההרגל נמחק</item>
|
||||
<item quantity="two">ההרגלים נמחקו</item>
|
||||
<item quantity="many">ההרגלים נמחקו</item>
|
||||
<item quantity="other">ההרגלים נמחקו</item>
|
||||
</plurals>
|
||||
<plurals name="toast_habits_archived">
|
||||
<item quantity="one">ההרגל הועבר לארכיון</item>
|
||||
<item quantity="two">ההרגלים הועברו לארכיון</item>
|
||||
<item quantity="many">ההרגלים הועברו לארכיון</item>
|
||||
<item quantity="other">ההרגלים הועברו לארכיון</item>
|
||||
</plurals>
|
||||
<plurals name="toast_habits_unarchived">
|
||||
<item quantity="one">ההרגל הוצא מהארכיון</item>
|
||||
<item quantity="two">ההרגלים הוצאו מארכיון</item>
|
||||
<item quantity="many">ההרגלים הוצאו מארכיון</item>
|
||||
<item quantity="other">ההרגלים הוצאו מארכיון</item>
|
||||
</plurals>
|
||||
<string name="overview">סקירה כללית</string>
|
||||
<string name="habit_strength">חוזק ההרגל</string>
|
||||
<string name="history">היסטוריה</string>
|
||||
<string name="clear">ניקוי</string>
|
||||
<string name="days">ימים</string>
|
||||
<string name="reminder">תזכורת</string>
|
||||
<string name="save">שמירה</string>
|
||||
<string name="streaks">רצף</string>
|
||||
<string name="streaks">רצפים</string>
|
||||
<string name="no_habits_found">אין לך הרגלים פעילים</string>
|
||||
<string name="no_habits_left_to_do">סיימת הכול להיום!</string>
|
||||
<string name="long_press_to_toggle">לחיצה והחזקה יסמנו או יבטלו את הסימון</string>
|
||||
<string name="reminder_off">כבוי</string>
|
||||
<string name="create_habit">יצירת הרגל</string>
|
||||
<string name="edit_habit">עריכת הרגל</string>
|
||||
<string name="check">בוצע</string>
|
||||
<string name="check">סימון</string>
|
||||
<string name="snooze">מאוחר יותר</string>
|
||||
<string name="intro_title_1">ברוך בואך</string>
|
||||
<string name="intro_description_1">Loop Habit Tracker מסייע ליצור ולשמר הרגלים טובים.</string>
|
||||
<string name="intro_title_2">ליצור הרגלים חדשים</string>
|
||||
<string name="intro_description_2">בכל יום, אחרי ביצוע ההרגל יש לסמן זאת ביישום.</string>
|
||||
<string name="intro_title_4">מעקב התקדמות</string>
|
||||
<string name="intro_description_4">גרפים מפורטים מציגים כיצד ההרגלים שלך משתפרים לאורך זמן.</string>
|
||||
<string name="intro_description_1">„Loop למעקב אחר ההרגלים” מסייע לך ביצירה ובשימור הרגלים טובים.</string>
|
||||
<string name="intro_title_2">יצירת הרגלים חדשים</string>
|
||||
<string name="intro_description_2">בכל יום, לאחר שביצעת את ההרגל, יש לסמן זאת ביישום.</string>
|
||||
<string name="intro_title_4">מעקב אחר ההתקדמות</string>
|
||||
<string name="intro_description_4">גרפים מפורטים מציגים כיצד ההרגלים שלך השתפרו לאורך זמן.</string>
|
||||
<string name="interval_15_minutes">15 דקות</string>
|
||||
<string name="interval_30_minutes">30 דקות</string>
|
||||
<string name="interval_1_hour">שעה 1</string>
|
||||
<string name="interval_2_hour">2 שעות</string>
|
||||
<string name="interval_1_hour">שעה</string>
|
||||
<string name="interval_2_hour">שעתיים</string>
|
||||
<string name="interval_4_hour">4 שעות</string>
|
||||
<string name="interval_8_hour">8 שעות</string>
|
||||
<string name="interval_24_hour">24 שעות</string>
|
||||
<string name="interval_always_ask">תמיד לשאול</string>
|
||||
<string name="interval_custom">התאמה אישית...</string>
|
||||
<string name="pref_toggle_title">סימון הרגלים בלחיצה קצרה</string>
|
||||
<string name="pref_toggle_description">סמנו יעדים בהקשה קצרה במקום לחיצה ממושכת. נוח יותר, אך יכול להוביל ללחיצות לא מכוונות.</string>
|
||||
<string name="pref_snooze_interval_title">מרווח נדנוד לתזכורות</string>
|
||||
<string name="pref_toggle_description">סימון יעדים בהקשה קצרה במקום בלחיצה ממושכת. זה נוח יותר, אך יכול להוביל לסימוני הרגלים בטעות.</string>
|
||||
<string name="pref_rate_this_app">דירוג היישום ב־Google Play</string>
|
||||
<string name="pref_send_feedback">שליחת משוב למפתחים</string>
|
||||
<string name="pref_view_source_code">צפייה בקוד המקור ב־GitHub</string>
|
||||
<string name="links">קישורים</string>
|
||||
<string name="name">שם</string>
|
||||
<string name="settings">הגדרות</string>
|
||||
<string name="snooze_interval">זמן בין נדנודים</string>
|
||||
<string name="select_snooze_delay">הגדר זמן לדחיית תזכורת</string>
|
||||
<string name="select_snooze_delay">נא לבחור זמן לדחיית התזכורת</string>
|
||||
<string name="hint_title">הידעת?</string>
|
||||
<string name="hint_drag">לשינוי סדר ההרגלים, יש ללחוץ לחיצה ארוכה על ההרגל ולגרור אותו למקום הרצוי.</string>
|
||||
<string name="hint_landscape">ניתן לראות ימים נוספים ע\"י סיבוב המסך לתצוגה רוחבית.</string>
|
||||
<string name="delete_habits">מחיקת הרגלים</string>
|
||||
<string name="delete_habits_message">ההרגלים יימחקו לצמיתות. פעולה זו אינה ניתנת לביטול.</string>
|
||||
<string name="habit_not_found">הרגל נמחק / לא נמצא</string>
|
||||
<string name="hint_landscape">אפשר לראות ימים נוספים בעזרת סיבוב המסך לתצוגה אופקית.</string>
|
||||
<plurals name="delete_habits_title">
|
||||
<item quantity="one">למחוק את ההרגל?</item>
|
||||
<item quantity="two">למחוק את ההרגלים?</item>
|
||||
<item quantity="many">למחוק את ההרגלים?</item>
|
||||
<item quantity="other">למחוק את ההרגלים?</item>
|
||||
</plurals>
|
||||
<plurals name="delete_habits_message">
|
||||
<item quantity="one">ההרגל יימחק לצמיתות. לא ניתן לבטל פעולה זו.</item>
|
||||
<item quantity="two">ההרגלים יימחקו לצמיתות. לא ניתן לבטל פעולה זו.</item>
|
||||
<item quantity="many">ההרגלים יימחקו לצמיתות. לא ניתן לבטל פעולה זו.</item>
|
||||
<item quantity="other">ההרגלים יימחקו לצמיתות. לא ניתן לבטל פעולה זו.</item>
|
||||
</plurals>
|
||||
<string name="habit_not_found">ההרגל נמחק / לא נמצא</string>
|
||||
<string name="weekends">סופי שבוע</string>
|
||||
<string name="any_weekday">ימי חול</string>
|
||||
<string name="any_day">כל יום בשבוע</string>
|
||||
<string name="any_day">כל ימות השבוע</string>
|
||||
<string name="select_weekdays">בחירת ימים</string>
|
||||
<string name="export_to_csv">ייצוא כקובץ CSV</string>
|
||||
<string name="done_label">בוצע</string>
|
||||
<string name="done_label">סיום</string>
|
||||
<string name="clear_label">ניקוי</string>
|
||||
<string name="select_hours">בחר שעות</string>
|
||||
<string name="select_minutes">בחר דקות</string>
|
||||
<string name="select_hours">בחירת שעות</string>
|
||||
<string name="select_minutes">בחירת דקות</string>
|
||||
<string name="about">על אודות</string>
|
||||
<string name="translators">מתרגמים</string>
|
||||
<string name="developers">מפתחים</string>
|
||||
<string name="translators">תרגום</string>
|
||||
<string name="developers">פיתוח</string>
|
||||
<string name="version_n">גרסה %s</string>
|
||||
<string name="frequency">תדירות</string>
|
||||
<string name="checkmark">סימון הרגל</string>
|
||||
@@ -98,31 +126,31 @@
|
||||
<string name="every_day">כל יום</string>
|
||||
<string name="every_week">כל שבוע</string>
|
||||
<string name="help">עזרה ושאלות נפוצות</string>
|
||||
<string name="could_not_export">ייצוא נתונים נכשל.</string>
|
||||
<string name="could_not_import">ייבוא נתונים נכשל.</string>
|
||||
<string name="file_not_recognized">קובץ לא מזוהה.</string>
|
||||
<string name="habits_imported">הרגלים יובאו בהצלחה.</string>
|
||||
<string name="could_not_export">ייצוא הנתונים נכשל.</string>
|
||||
<string name="could_not_import">ייבוא הנתונים נכשל.</string>
|
||||
<string name="file_not_recognized">הקובץ אינו מזוהה.</string>
|
||||
<string name="habits_imported">ההרגלים יובאו בהצלחה.</string>
|
||||
<string name="import_data">ייבוא נתונים</string>
|
||||
<string name="export_full_backup">ייצוא גיבוי מלא</string>
|
||||
<string name="import_data_summary">תומך בכל הגיבויים שיוצאו ע\"י האפליקציה. כמו גם קבצים שנוצרו ע\"י Tickmate, HabitBull או Rewire. לפרטים נוספים ראו שאלות נפוצות.</string>
|
||||
<string name="export_as_csv_summary">יוצר קבצים שניתן לפתוח על-ידי תוכנות גיליון אלקטרוני כגון Microsoft Excel או OpenOffice. אין אפשרות לייבא את הקובץ בחזרה.</string>
|
||||
<string name="export_full_backup_summary">יוצר קובץ המכיל את כל הנתונים שלך. קובץ זה ניתן לייבא בחזרה.</string>
|
||||
<string name="bug_report_failed">הפקת דוח שגיאות נכשלה.</string>
|
||||
<string name="generate_bug_report">הפקת דוח שגיאות</string>
|
||||
<string name="import_data_summary">תומך בכל הגיבויים שיוצאו על ידי היישום, כמו־גם קבצים שנוצרו על ידי Tickmate, HabitBull או Rewire. למידע נוסף נא לעיין בשאלות הנפוצות.</string>
|
||||
<string name="export_as_csv_summary">ליצירת קבצים שניתן לפתוח באמצעות תוכנת גיליון אלקטרוני כגון Microsoft Exel או OpenOffice Calc. לא ניתן לייבא את נתוני הקובץ בחזרה.</string>
|
||||
<string name="export_full_backup_summary">ליצירת קובץ שמכיל את כל הנתונים שלך. לא ניתן לייבא את נתוני הקובץ בחזרה.</string>
|
||||
<string name="bug_report_failed">יצירת דו״ח התקלה נכשלה.</string>
|
||||
<string name="generate_bug_report">יצירת דו״ח תקלה</string>
|
||||
<string name="troubleshooting">פתרון תקלות</string>
|
||||
<string name="help_translate">עזרו לנו לתרגם את האפליקציה</string>
|
||||
<string name="night_mode">מצב לילה</string>
|
||||
<string name="use_pure_black">רקע שחור למצב לילה</string>
|
||||
<string name="pure_black_description">החלפת הרקע האפור במצב לילה לשחור מוחלט. מפחית בזבוז סוללה במכשירים עם תצוגת AMOLED.</string>
|
||||
<string name="help_translate">עזרה בתרגום היישום</string>
|
||||
<string name="night_mode" comment="dark_theme">ערכת נושא כהה</string>
|
||||
<string name="use_pure_black">רקע שחור מוחלט בערכת הנושא הכהה</string>
|
||||
<string name="pure_black_description">להחלפת הרקע האפור בערכת הנושא הכהה לשחור מוחלט. זה מפחית את צריכת הסוללה במכשירים עם תצוגת AMOLED.</string>
|
||||
<string name="interface_preferences">ממשק</string>
|
||||
<string name="reverse_days">הפיכת סדר הימים</string>
|
||||
<string name="reverse_days_description">מציג ימים בסדר הפוך במסך הראשי</string>
|
||||
<string name="reverse_days">סדר ימים הפוך</string>
|
||||
<string name="reverse_days_description">הצגת ימים בסדר הפוך במסך הראשי.</string>
|
||||
<string name="day">יום</string>
|
||||
<string name="week">שבוע</string>
|
||||
<string name="month">חודש</string>
|
||||
<string name="quarter">רבעון</string>
|
||||
<string name="year">שנה</string>
|
||||
<string name="total">סה\"כ</string>
|
||||
<string name="total">בסך הכול</string>
|
||||
<string name="yes_or_no">כן או לא</string>
|
||||
<string name="every_x_days">כל %d ימים</string>
|
||||
<string name="every_x_weeks">כל %d שבועות</string>
|
||||
@@ -130,16 +158,16 @@
|
||||
<string name="reminder_sound">צליל תזכורת</string>
|
||||
<string name="none">ללא</string>
|
||||
<string name="filter">סינון</string>
|
||||
<string name="hide_completed">הסתר יעדים שהושלמו</string>
|
||||
<string name="hide_archived">הסתר ארכיון</string>
|
||||
<string name="sticky_notifications">צור תזכורות \"דביקות\"</string>
|
||||
<string name="sticky_notifications_description">מונע החלקת וביטול תזכורות.</string>
|
||||
<string name="hide_completed">הסתרת יעדים שהושגו</string>
|
||||
<string name="hide_archived">הסתרת הארכיון</string>
|
||||
<string name="sticky_notifications">יצירת תזכורות נעוצות</string>
|
||||
<string name="sticky_notifications_description">למניעת התעלמות מתזכורות.</string>
|
||||
<string name="led_notifications">תאורת התראה</string>
|
||||
<string name="led_notifications_description">הראה אור מהבהב לתזכורות. זמין רק בטלפונים עם נורות LED להתראות.</string>
|
||||
<string name="repair_database">תיקון מסד נתונים</string>
|
||||
<string name="database_repaired">מאגר נתונים תוקן.</string>
|
||||
<string name="led_notifications_description">להצגת אור מהבהב לתזכורות. זמין רק בטלפונים עם נורות LED להתראות.</string>
|
||||
<string name="repair_database">תיקון מסד הנתונים</string>
|
||||
<string name="database_repaired">מסד הנתונים תוקן.</string>
|
||||
<string name="uncheck">ביטול סימון</string>
|
||||
<string name="toggle">הפעלה \ כיבוי</string>
|
||||
<string name="toggle">סימון או ביטול הסימון</string>
|
||||
<string name="action">פעולה</string>
|
||||
<string name="habit">הרגל</string>
|
||||
<string name="sort">מיון</string>
|
||||
@@ -147,9 +175,10 @@
|
||||
<string name="by_name">לפי שם</string>
|
||||
<string name="by_color">לפי צבע</string>
|
||||
<string name="by_score">לפי ציון</string>
|
||||
<string name="by_status">לפי מצב</string>
|
||||
<string name="export">ייצוא</string>
|
||||
<string name="long_press_to_edit">לחיצה והחזקה ישנו את הערך</string>
|
||||
<string name="change_value">שנה ערך</string>
|
||||
<string name="change_value">שינוי ערך</string>
|
||||
<string name="calendar">לוח שנה</string>
|
||||
<string name="unit">יחידה</string>
|
||||
<string name="example_question_boolean">למשל: האם התעמלת היום?</string>
|
||||
@@ -157,29 +186,43 @@
|
||||
<string name="target">יעד</string>
|
||||
<string name="yes">כן</string>
|
||||
<string name="no">לא</string>
|
||||
<string name="customize_notification_summary">שנה צליל, רטט, תאורה ושאר הגדרות הקשורות להתראות</string>
|
||||
<string name="customize_notification">התאם התראות</string>
|
||||
<string name="pref_view_privacy">הצג מדיניות פרטיות</string>
|
||||
<string name="view_all_contributors">הצג את התורמים</string>
|
||||
<string name="customize_notification_summary">שינוי הצליל, הרטט, התאורה ושאר הגדרות הקשורות להתראות</string>
|
||||
<string name="customize_notification">התאמת ההתראות</string>
|
||||
<string name="pref_view_privacy">הצגת מדיניות הפרטיות</string>
|
||||
<string name="view_all_contributors">הצגת כל המתנדבים…</string>
|
||||
<string name="database">מסד נתונים</string>
|
||||
<string name="widget_opacity_title">אטימות יישומון</string>
|
||||
<string name="widget_opacity_description">להפיכת היישומונים שקופים יותר או אטומים יותר במסך הבית שלך.</string>
|
||||
<string name="widget_opacity_title">אטימות היישומונים</string>
|
||||
<string name="widget_opacity_description">להפיכת היישומונים שקופים או אטומים יותר במסך הבית שלך.</string>
|
||||
<string name="first_day_of_the_week">היום הראשון בשבוע</string>
|
||||
<string name="default_reminder_question">האם השלמת את ההרגל הזה היום?</string>
|
||||
<string name="notes">הערות</string>
|
||||
<string name="example_notes">(רשות)</string>
|
||||
<string name="yes_or_no_example">למשל: האם התעוררת מוקדם היום? האם עשית פעילות גופנית? האם שיחקת שחמט?</string>
|
||||
<string name="measurable">ניתנים למדידה</string>
|
||||
<string name="measurable_example" comment="Feel free to replace "miles" by "km"">למשל: כמה קילומטרים רצת היום? כמה עמודים קראת? כמה קלוריות צברת?</string>
|
||||
<string name="yes_or_no_example">למשל: האם התעוררת מוקדם היום? האם התעמלת? האם שיחקת שחמט?</string>
|
||||
<string name="measurable">הרגלים נמדדים</string>
|
||||
<string name="measurable_example">למשל: כמה קילומטרים רצת היום? כמה עמודים קראת?</string>
|
||||
<string name="x_times_per_week">%d פעמים בשבוע</string>
|
||||
<string name="x_times_per_month">%d פעמים בחודש</string>
|
||||
<string name="yes_or_no_short_example">למשל פעילות גופנית</string>
|
||||
<string name="yes_or_no_short_example">למשל: התעמלות</string>
|
||||
<string name="color">צבע</string>
|
||||
<string name="example_target">למשל 15</string>
|
||||
<string name="measurable_short_example">למשל ריצה</string>
|
||||
<string name="measurable_question_example" comment="Feel free to replace "miles" by "km" if that is more common in your country">למשל: כמה קילומטרים רצת היום?</string>
|
||||
<string name="measurable_units_example" comment="Feel free to replace by "km" if that is more common in your country">למשל קילומטרים</string>
|
||||
<string name="example_target">למשל: 15</string>
|
||||
<string name="measurable_short_example">למשל: ריצה</string>
|
||||
<string name="measurable_question_example">למשל: כמה קילומטרים רצת היום?</string>
|
||||
<string name="measurable_units_example">למשל: קילומטרים</string>
|
||||
<string name="every_month">כל חודש</string>
|
||||
<string name="validation_cannot_be_blank">לא יכול להיות ריק</string>
|
||||
<string name="validation_cannot_be_blank">חובה לתת שם</string>
|
||||
<string name="today">היום</string>
|
||||
<string name="enter">מילוי</string>
|
||||
<string name="no_habits">לא נמצאו הרגלים</string>
|
||||
<string name="no_numerical_habits">לא נמצאו הרגלים נמדדים</string>
|
||||
<string name="no_boolean_habits">לא נמצאו הרגלי „כן או לא”</string>
|
||||
<string name="increment">עלייה</string>
|
||||
<string name="decrement">ירידה</string>
|
||||
<string name="pref_skip_title">לאפשר דילוג על ימים</string>
|
||||
<string name="pref_skip_description">סימון כפול כדי לדלג במקום לסמן. הדילוג שומר על הציון שלך ללא שינוי ואינו שובר את הרצף שלך.</string>
|
||||
<string name="pref_unknown_title">הצגת סימני שאלה לנתונים חסרים</string>
|
||||
<string name="pref_unknown_description">הפרדת הימים ללא הנתונים מהלולאות בפועל. כדי להיכנס ללולאה, יש לסמן פעמיים.</string>
|
||||
<string name="you_are_now_a_developer">מצב הפיתוח הופעל כעת</string>
|
||||
<string name="activity_not_found">לא נמצא יישום שתומך בפעולה זו</string>
|
||||
<string name="pref_midnight_delay_title">הארכת היום בכמה שעות לאחר החצות</string>
|
||||
<string name="pref_midnight_delay_description">לחכות עד 3:00 כדי להציג יום חדש. שימושי אם לרוב הולכים לישון לאחר החצות. דורש הפעלה מחדש של היישום.</string>
|
||||
</resources>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
~ Copyright (C) 2016 Álinson Santos Xavier <isoron@gmail.com>
|
||||
~ Copyright (C) 2016-2021 Álinson Santos Xavier <git@axavier.org>
|
||||
~
|
||||
~ This file is part of Loop Habit Tracker.
|
||||
~
|
||||
@@ -17,7 +17,7 @@
|
||||
~ You should have received a copy of the GNU General Public License along
|
||||
~ with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
-->
|
||||
<resources>
|
||||
<resources xmlns:tools="http://schemas.android.com/tools" tools:ignore="MissingTranslation">
|
||||
<string name="app_name">ループ習慣トラッカー</string>
|
||||
<string name="main_activity_title">習慣</string>
|
||||
<string name="action_settings">設定</string>
|
||||
@@ -28,19 +28,24 @@
|
||||
<string name="add_habit">習慣を追加</string>
|
||||
<string name="color_picker_default_title">色の変更</string>
|
||||
<string name="toast_habit_created">習慣を作成しました</string>
|
||||
<string name="toast_habit_deleted">習慣を削除しました</string>
|
||||
<string name="toast_habit_changed">習慣を変更しました</string>
|
||||
<string name="toast_habit_archived">習慣をアーカイブしました</string>
|
||||
<string name="toast_habit_unarchived">習慣のアーカイブを解除しました</string>
|
||||
<plurals name="toast_habits_changed">
|
||||
<item quantity="other">習慣を変更しました</item>
|
||||
</plurals>
|
||||
<plurals name="toast_habits_deleted">
|
||||
<item quantity="other">習慣を削除しました</item>
|
||||
</plurals>
|
||||
<plurals name="toast_habits_archived">
|
||||
<item quantity="other">習慣をアーカイブしました</item>
|
||||
</plurals>
|
||||
<string name="overview">概要</string>
|
||||
<string name="habit_strength">習慣の強さ</string>
|
||||
<string name="history">履歴</string>
|
||||
<string name="clear">クリア</string>
|
||||
<string name="days">日</string>
|
||||
<string name="reminder">リマインダー</string>
|
||||
<string name="save">保存</string>
|
||||
<string name="streaks">連続記録</string>
|
||||
<string name="no_habits_found">習慣はありません</string>
|
||||
<string name="no_habits_left_to_do">今日は終わり!</string>
|
||||
<string name="long_press_to_toggle">長押しするとチェックを付けたり外したりできます</string>
|
||||
<string name="reminder_off">オフ</string>
|
||||
<string name="create_habit">習慣を作成</string>
|
||||
@@ -64,20 +69,22 @@
|
||||
<string name="interval_custom">カスタム...</string>
|
||||
<string name="pref_toggle_title">タップでチェックをON/OFF</string>
|
||||
<string name="pref_toggle_description">長押しではなくシングルタップでチェックを付けます。より便利ですが、誤って切り替えが起こる可能性があります。</string>
|
||||
<string name="pref_snooze_interval_title">リマインダーのスヌーズ間隔</string>
|
||||
<string name="pref_rate_this_app">Google Play でこのアプリを評価</string>
|
||||
<string name="pref_send_feedback">開発者にフィードバックを送信</string>
|
||||
<string name="pref_view_source_code">GitHub でソースコードを参照</string>
|
||||
<string name="links">リンク</string>
|
||||
<string name="name">タイトル</string>
|
||||
<string name="settings">設定</string>
|
||||
<string name="snooze_interval">スヌーズ間隔</string>
|
||||
<string name="select_snooze_delay">スヌーズの遅延時間を設定</string>
|
||||
<string name="hint_title">ご存知ですか?</string>
|
||||
<string name="hint_drag">エントリーを並べ替えるには、習慣の名前を長押しして、正しい場所にドラッグしてください。</string>
|
||||
<string name="hint_landscape">お使いの携帯電話を横置きモードにすることで、より多くの日数を見ることができます。</string>
|
||||
<string name="delete_habits">習慣を削除</string>
|
||||
<string name="delete_habits_message">習慣は完全に削除されます。この操作を元に戻すことはできません。</string>
|
||||
<plurals name="delete_habits_title">
|
||||
<item quantity="other">習慣を削除</item>
|
||||
</plurals>
|
||||
<plurals name="delete_habits_message">
|
||||
<item quantity="other">習慣は完全に削除されます。この操作を元に戻すことはできません。</item>
|
||||
</plurals>
|
||||
<string name="habit_not_found">習慣が削除されているか、見つかりませんでした</string>
|
||||
<string name="weekends">週末</string>
|
||||
<string name="any_weekday">月曜日から金曜日</string>
|
||||
@@ -111,7 +118,7 @@
|
||||
<string name="generate_bug_report">バグレポートの作成</string>
|
||||
<string name="troubleshooting">トラブルシューティング</string>
|
||||
<string name="help_translate">このアプリの翻訳を支援する</string>
|
||||
<string name="night_mode">ダークテーマ</string>
|
||||
<string name="night_mode" comment="dark_theme">ダークテーマ</string>
|
||||
<string name="use_pure_black">ダークテーマで完全な黒を使用する</string>
|
||||
<string name="pure_black_description">夜間モードで灰色の背景を完全な黒で置き換えます。AMOLED ディスプレイの電話でバッテリー使用量を抑えます。</string>
|
||||
<string name="interface_preferences">インターフェース</string>
|
||||
@@ -147,6 +154,7 @@
|
||||
<string name="by_name">名前で並び替え</string>
|
||||
<string name="by_color">色で並び替え</string>
|
||||
<string name="by_score">得点で並び替え</string>
|
||||
<string name="by_status">ステータス順</string>
|
||||
<string name="export">エクスポート</string>
|
||||
<string name="long_press_to_edit">長押しすると値を変更できます</string>
|
||||
<string name="change_value">値を変更する</string>
|
||||
@@ -170,16 +178,19 @@
|
||||
<string name="example_notes">(省略可)</string>
|
||||
<string name="yes_or_no_example">例:今日は早く起きましたか?運動しましたか?チェスをしましたか?</string>
|
||||
<string name="measurable">数えられるもの</string>
|
||||
<string name="measurable_example" comment="Feel free to replace "miles" by "km"">例:今日は何km走りましたか? 何ページ本を読みましたか? 何kcal食べましたか?</string>
|
||||
<string name="measurable_example">例:今日は何キロ走ったの?何ページ読んだの?</string>
|
||||
<string name="x_times_per_week">1 週間に %d 回</string>
|
||||
<string name="x_times_per_month">1 か月に %d 回</string>
|
||||
<string name="yes_or_no_short_example">例:運動</string>
|
||||
<string name="color">色</string>
|
||||
<string name="example_target">例:15</string>
|
||||
<string name="measurable_short_example">例:ランニング</string>
|
||||
<string name="measurable_question_example" comment="Feel free to replace "miles" by "km" if that is more common in your country">例:今日は何km走りましたか?</string>
|
||||
<string name="measurable_units_example" comment="Feel free to replace by "km" if that is more common in your country">例:km</string>
|
||||
<string name="measurable_question_example">例:今日は何km走りましたか?</string>
|
||||
<string name="measurable_units_example">例:km</string>
|
||||
<string name="every_month">毎月</string>
|
||||
<string name="validation_cannot_be_blank">空白にはできません</string>
|
||||
<string name="today">今日</string>
|
||||
<string name="enter">入力</string>
|
||||
<string name="no_habits">習慣が見つかりませんでした</string>
|
||||
<string name="you_are_now_a_developer">これで開発者になりました!</string>
|
||||
</resources>
|
||||
|
||||
@@ -17,9 +17,7 @@
|
||||
~ You should have received a copy of the GNU General Public License along
|
||||
~ with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
-->
|
||||
|
||||
<!--Generated by crowdin.com-->
|
||||
<resources>
|
||||
<resources xmlns:tools="http://schemas.android.com/tools" tools:ignore="MissingTranslation">
|
||||
<string name="app_name">Loop 습관제조기</string>
|
||||
<string name="main_activity_title">습관</string>
|
||||
<string name="action_settings">설정</string>
|
||||
@@ -30,16 +28,10 @@
|
||||
<string name="add_habit">습관 추가하기</string>
|
||||
<string name="color_picker_default_title">색상 변경</string>
|
||||
<string name="toast_habit_created">습관이 생성되었습니다.</string>
|
||||
<string name="toast_habit_deleted">습관이 삭제되었습니다.</string>
|
||||
<string name="toast_habit_changed">습관이 수정되었습니다.</string>
|
||||
<string name="toast_habit_archived">습관이 보관되었습니다.</string>
|
||||
<string name="toast_habit_unarchived">습관 보관이 해제되었습니다.</string>
|
||||
<string name="overview">개요</string>
|
||||
<string name="overview">한눈에 보기</string>
|
||||
<string name="habit_strength">습관 강도</string>
|
||||
<string name="history">이력</string>
|
||||
<string name="clear">지우기</string>
|
||||
<string name="times_every">번</string>
|
||||
<string name="days">일 동안</string>
|
||||
<string name="clear">취소</string>
|
||||
<string name="reminder">알림</string>
|
||||
<string name="save">저장</string>
|
||||
<string name="streaks">연속</string>
|
||||
@@ -50,7 +42,6 @@
|
||||
<string name="edit_habit">습관 수정하기</string>
|
||||
<string name="check">완료</string>
|
||||
<string name="snooze">나중에</string>
|
||||
<!-- App introduction -->
|
||||
<string name="intro_title_1">환영합니다</string>
|
||||
<string name="intro_description_1">Loop은 당신이 좋은 습관을 만들고 유지하도록 도와줍니다.</string>
|
||||
<string name="intro_title_2">새로운 습관을 만들어 보세요.</string>
|
||||
@@ -64,6 +55,8 @@
|
||||
<string name="interval_4_hour">4시간</string>
|
||||
<string name="interval_8_hour">8시간</string>
|
||||
<string name="interval_24_hour">24시간</string>
|
||||
<string name="interval_always_ask">항상 묻기</string>
|
||||
<string name="interval_custom">사용자 지정.</string>
|
||||
<string name="pref_toggle_title">짧게 눌러서 전환하기</string>
|
||||
<string name="pref_toggle_description">길게 누르고 있는 대신에 짧은 탭 한 번으로 체크합니다. 더 편리하지만, 실수로 전환될 수도 있습니다.</string>
|
||||
<string name="pref_rate_this_app">Google Play에서 평가</string>
|
||||
@@ -72,11 +65,10 @@
|
||||
<string name="links">링크</string>
|
||||
<string name="name">제목</string>
|
||||
<string name="settings">설정</string>
|
||||
<string name="select_snooze_delay">일시중지 시간 설정</string>
|
||||
<string name="hint_title">아시나요?</string>
|
||||
<string name="hint_drag">목록의 순서를 재배치하려면, 습관의 제목을 길게 누르고 다른 위치로 드래그하면 됩니다.</string>
|
||||
<string name="hint_landscape">가로 모드에서는 더 많은 날짜를 볼 수 있습니다.</string>
|
||||
<string name="delete_habits">습관 삭제</string>
|
||||
<string name="delete_habits_message">습관을 영구적으로 삭제합니다. 이 작업은 취소할 수 없습니다.</string>
|
||||
<string name="habit_not_found">습관 삭제 / 찾을 수 없음</string>
|
||||
<string name="weekends">주말</string>
|
||||
<string name="any_weekday">주중</string>
|
||||
@@ -96,7 +88,7 @@
|
||||
<string name="best_streaks">최고 연속 기록</string>
|
||||
<string name="every_day">매일</string>
|
||||
<string name="every_week">매주</string>
|
||||
<string name="help">도움 & FAQ</string>
|
||||
<string name="help">도움& FAQ</string>
|
||||
<string name="could_not_export">데이터 내보내기에 실패했습니다.</string>
|
||||
<string name="could_not_import">데이터 가져오기에 실패했습니다.</string>
|
||||
<string name="file_not_recognized">파일을 인식할 수 없습니다.</string>
|
||||
@@ -110,7 +102,7 @@
|
||||
<string name="generate_bug_report">오류보고서 작성하기</string>
|
||||
<string name="troubleshooting">문제 해결</string>
|
||||
<string name="help_translate">이 앱의 번역을 도와주세요</string>
|
||||
<string name="night_mode">야간 모드</string>
|
||||
<string name="night_mode" comment="dark_theme">야간 모드</string>
|
||||
<string name="use_pure_black">야간 모드에서 검정색 사용하기</string>
|
||||
<string name="pure_black_description">야간 모드의 회색 배경을 검정색으로 대체합니다. AMOLED 디스플레이를 사용하는 기기에서 배터리 사용량을 감소시킵니다.</string>
|
||||
<string name="interface_preferences">인터페이스</string>
|
||||
@@ -122,8 +114,7 @@
|
||||
<string name="quarter">분기</string>
|
||||
<string name="year">년</string>
|
||||
<string name="total">전체</string>
|
||||
<!-- Different types of habits -->
|
||||
<!-- Middle part of the sentence '1 time in xx days' -->
|
||||
<string name="yes_or_no">예 또는 아니요</string>
|
||||
<string name="every_x_days">%d일 마다</string>
|
||||
<string name="every_x_weeks">%d주 마다</string>
|
||||
<string name="score">점수</string>
|
||||
@@ -134,6 +125,8 @@
|
||||
<string name="hide_archived">보관된 항목 숨기기</string>
|
||||
<string name="sticky_notifications">알림 고정하기</string>
|
||||
<string name="sticky_notifications_description">알림을 스와이프해서 제거하는 것을 방지합니다.</string>
|
||||
<string name="led_notifications">알림 표시등</string>
|
||||
<string name="led_notifications_description">리마인더가 있으면알림 표시등이 깜박입니다. LED 알림 표시등이있는 전화기에서만 사용할 수 있습니다.</string>
|
||||
<string name="repair_database">데이터베이스 복구</string>
|
||||
<string name="database_repaired">데이터베이스가 복구되었습니다.</string>
|
||||
<string name="uncheck">선택 해제</string>
|
||||
@@ -146,4 +139,25 @@
|
||||
<string name="by_color">색상 순으로</string>
|
||||
<string name="by_score">점수 순으로</string>
|
||||
<string name="export">내보내기</string>
|
||||
<string name="long_press_to_edit">길게 누르면 값이 변경됩니다.</string>
|
||||
<string name="change_value">값 변경</string>
|
||||
<string name="calendar">캘린더</string>
|
||||
<string name="unit">단위</string>
|
||||
<string name="example_question_boolean">예 : 오늘 운동을 했습니까?</string>
|
||||
<string name="question">질문</string>
|
||||
<string name="target">목표</string>
|
||||
<string name="yes">네</string>
|
||||
<string name="no">아니요</string>
|
||||
<string name="customize_notification_summary">소리, 진동, 밝기 및 기타 알림 설정</string>
|
||||
<string name="customize_notification">알림 커스터마이징</string>
|
||||
<string name="pref_view_privacy">개인 정보 취급 방침 보기</string>
|
||||
<string name="view_all_contributors">모든 기여자보기…</string>
|
||||
<string name="database">데이터베이스</string>
|
||||
<string name="first_day_of_the_week">첫번째 요일</string>
|
||||
<string name="default_reminder_question">오늘 습관을 지키셨나요?</string>
|
||||
<string name="notes">메모</string>
|
||||
<string name="example_notes">(선택사항)</string>
|
||||
<string name="color">색</string>
|
||||
<string name="every_month">매월</string>
|
||||
<string name="today">오늘</string>
|
||||
</resources>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
~ Copyright (C) 2016 Álinson Santos Xavier <isoron@gmail.com>
|
||||
~ Copyright (C) 2016-2021 Álinson Santos Xavier <git@axavier.org>
|
||||
~
|
||||
~ This file is part of Loop Habit Tracker.
|
||||
~
|
||||
@@ -17,7 +17,7 @@
|
||||
~ You should have received a copy of the GNU General Public License along
|
||||
~ with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
-->
|
||||
<resources>
|
||||
<resources xmlns:tools="http://schemas.android.com/tools" tools:ignore="MissingTranslation">
|
||||
<string name="app_name">Loop Gewoonte tracker</string>
|
||||
<string name="main_activity_title">Gewoontes</string>
|
||||
<string name="action_settings">Instellingen</string>
|
||||
@@ -28,19 +28,27 @@
|
||||
<string name="add_habit">Nieuwe gewoonte</string>
|
||||
<string name="color_picker_default_title">Verander kleur</string>
|
||||
<string name="toast_habit_created">Gewoonte aangemaakt.</string>
|
||||
<string name="toast_habit_deleted">Gewoontes verwijderd</string>
|
||||
<string name="toast_habit_changed">Gewoonte gewijzigd.</string>
|
||||
<string name="toast_habit_archived">Gewoontes gearchiveerd</string>
|
||||
<string name="toast_habit_unarchived">Gewoontes hersteld uit archief</string>
|
||||
<plurals name="toast_habits_changed">
|
||||
<item quantity="one">Gewoonte gewijzigd</item>
|
||||
<item quantity="other">Gewoontes gewijzigd</item>
|
||||
</plurals>
|
||||
<plurals name="toast_habits_deleted">
|
||||
<item quantity="one">Gewoontes verwijderd</item>
|
||||
<item quantity="other">Gewoontes verwijderd</item>
|
||||
</plurals>
|
||||
<plurals name="toast_habits_archived">
|
||||
<item quantity="one">Gewoontes gearchiveerd</item>
|
||||
<item quantity="other">Gewoontes gearchiveerd</item>
|
||||
</plurals>
|
||||
<string name="overview">Overzicht</string>
|
||||
<string name="habit_strength">Gewoonte-sterkte</string>
|
||||
<string name="history">Geschiedenis</string>
|
||||
<string name="clear">Wis</string>
|
||||
<string name="days">dagen</string>
|
||||
<string name="reminder">Herinnering</string>
|
||||
<string name="save">Opslaan</string>
|
||||
<string name="streaks">Reeksen</string>
|
||||
<string name="no_habits_found">Je hebt geen actieve gewoontes</string>
|
||||
<string name="no_habits_left_to_do">Je bent klaar voor vandaag!</string>
|
||||
<string name="long_press_to_toggle">Houdt ingedrukt om te selecteren of deselecteren</string>
|
||||
<string name="reminder_off">Uit</string>
|
||||
<string name="create_habit">Gewoonte aanmaken</string>
|
||||
@@ -64,20 +72,16 @@
|
||||
<string name="interval_custom">Aangepast...</string>
|
||||
<string name="pref_toggle_title">Wijzig herhalingen door kort indrukken</string>
|
||||
<string name="pref_toggle_description">Zet vinkjes met een enkel tikje in plaats van ingedrukt houden. Handiger, maar kan onbedoelde wijzigingen veroorzaken.</string>
|
||||
<string name="pref_snooze_interval_title">Snooze interval voor herinneringen</string>
|
||||
<string name="pref_rate_this_app">Beoordeel deze app in Google Play</string>
|
||||
<string name="pref_send_feedback">Stuur feedback aan de ontwikkelaar</string>
|
||||
<string name="pref_view_source_code">Bekijk de broncode op GitHub</string>
|
||||
<string name="links">Links</string>
|
||||
<string name="name">Naam</string>
|
||||
<string name="settings">Instellingen</string>
|
||||
<string name="snooze_interval">Snooze interval</string>
|
||||
<string name="select_snooze_delay">Snooze vertraging selecteren</string>
|
||||
<string name="hint_title">Wist je dat?</string>
|
||||
<string name="hint_drag">Om de rijen te ordenen, houdt de gewoonte ingedrukt en sleep het naar de gewenste plek.</string>
|
||||
<string name="hint_landscape">Je kunt meer dagen zien door de telefoon in horizontale modus te zetten.</string>
|
||||
<string name="delete_habits">Verwijder gewoontes</string>
|
||||
<string name="delete_habits_message">De gewoontes zullen permanent verwijderd worden. Deze actie kan niet ongedaan gemaakt worden.</string>
|
||||
<string name="hint_landscape">Je kunt meer dagen zien door de telefoon in landschapsmodus te zetten.</string>
|
||||
<string name="habit_not_found">Gewoonte verwijderd / niet gevonden</string>
|
||||
<string name="weekends">Weekends</string>
|
||||
<string name="any_weekday">Maandag tot vrijdag</string>
|
||||
@@ -104,16 +108,16 @@
|
||||
<string name="habits_imported">Gewoontes succesvol geïmporteerd.</string>
|
||||
<string name="import_data">Importeer gegevens</string>
|
||||
<string name="export_full_backup">Exporteer volledige backup</string>
|
||||
<string name="import_data_summary">Ondersteunt volledige back-ups geëxporteerd door deze app, evenals bestanden die worden gegenereerd door Tickmate, HabitBull of Rewire. Zie FAQ voor meer informatie.</string>
|
||||
<string name="import_data_summary">Ondersteunt volledige back-ups geëxporteerd door deze app, evenals bestanden die worden gegenereerd door Tickmate, HabitBull of Rewire. Zie de veel gestelde vragen voor meer informatie.</string>
|
||||
<string name="export_as_csv_summary">Genereert bestanden die geopend kunnen worden door spreadsheet software zoals Microsoft Excel of OpenOffice Calc. Dit bestand kan niet opnieuw worden geïmporteerd.</string>
|
||||
<string name="export_full_backup_summary">Genereert een bestand met al uw gegevens. Dit bestand kan ook terug geïmporteerd worden.</string>
|
||||
<string name="bug_report_failed">Het genereren van het foutenrapport is mislukt.</string>
|
||||
<string name="generate_bug_report">Genereer foutenrapport</string>
|
||||
<string name="troubleshooting">Probleemoplossing</string>
|
||||
<string name="help_translate">Help deze app te vertalen</string>
|
||||
<string name="night_mode">Nachtmodus</string>
|
||||
<string name="use_pure_black">Gebruik puur zwart bij nachtmodus</string>
|
||||
<string name="pure_black_description">Vervangt grijze achtergronden door puur zwart in nachtmodus. Vermindert batterijgebruik bij telefoons met AMOLED scherm.</string>
|
||||
<string name="night_mode" comment="dark_theme">Nachtmodus</string>
|
||||
<string name="use_pure_black">Gebruik puur zwart bij het donkere thema</string>
|
||||
<string name="pure_black_description">Vervangt grijze achtergronden door puur zwart in het donkere thema. Vermindert batterijgebruik bij telefoons met AMOLED scherm.</string>
|
||||
<string name="interface_preferences">Interface</string>
|
||||
<string name="reverse_days">Omgekeerde volgorde van dagen</string>
|
||||
<string name="reverse_days_description">Toon dagen in omgekeerde volgorde op het hoofdscherm</string>
|
||||
@@ -139,7 +143,7 @@
|
||||
<string name="repair_database">Database repareren</string>
|
||||
<string name="database_repaired">Database gerepareerd.</string>
|
||||
<string name="uncheck">Deselecteren</string>
|
||||
<string name="toggle">Omkeren</string>
|
||||
<string name="toggle">Schakel</string>
|
||||
<string name="action">Actie</string>
|
||||
<string name="habit">Gewoonte</string>
|
||||
<string name="sort">Sorteren</string>
|
||||
@@ -147,6 +151,7 @@
|
||||
<string name="by_name">Op naam</string>
|
||||
<string name="by_color">Op kleur</string>
|
||||
<string name="by_score">Op score</string>
|
||||
<string name="by_status">Per status</string>
|
||||
<string name="export">Exporteren</string>
|
||||
<string name="long_press_to_edit">Ingedrukt houden om de waarde te wijzigen</string>
|
||||
<string name="change_value">Waarde wijzigen</string>
|
||||
@@ -159,27 +164,41 @@
|
||||
<string name="no">Nee</string>
|
||||
<string name="customize_notification_summary">Wijzig geluid, trilling, licht en andere instellingen voor meldingen</string>
|
||||
<string name="customize_notification">Meldingen aanpassen</string>
|
||||
<string name="pref_view_privacy">Bekijk privacybeleid</string>
|
||||
<string name="pref_view_privacy">Privacybeleid bekijken</string>
|
||||
<string name="view_all_contributors">Bekijk alle bijdragers…</string>
|
||||
<string name="database">Database</string>
|
||||
<string name="widget_opacity_title">Widget doorzichtigheid</string>
|
||||
<string name="widget_opacity_description">Maakt widgets transparanter of minder doorschijnend op je home screen.</string>
|
||||
<string name="widget_opacity_description">Maakt widgets transparanter of minder doorschijnend op je start scherm.</string>
|
||||
<string name="first_day_of_the_week">Eerste dag van de week</string>
|
||||
<string name="default_reminder_question">Heb je deze gewoonte vandaag voltooid?</string>
|
||||
<string name="notes">Notities</string>
|
||||
<string name="example_notes">(Optioneel)</string>
|
||||
<string name="yes_or_no_example">bijv. Ben je vandaag vroeg wakker geworden? Heb je gesport? Heb je geschaakt?</string>
|
||||
<string name="measurable">Meetbaar</string>
|
||||
<string name="measurable_example" comment="Feel free to replace "miles" by "km"">bijv. Hoeveel kilometer heb je vandaag hardgelopen? Hoeveel pagina\'s heb je gelezen? Hoeveel calorieën heb je gegeten?</string>
|
||||
<string name="measurable_example">bijv. Hoeveel kilometer heb je vandaag gelopen? Hoeveel pagina\'s heb je gelezen?</string>
|
||||
<string name="x_times_per_week">%d keer per week</string>
|
||||
<string name="x_times_per_month">%d keer per maand</string>
|
||||
<string name="yes_or_no_short_example">bijv. Sporten</string>
|
||||
<string name="color">Kleur</string>
|
||||
<string name="example_target">bijv. 15</string>
|
||||
<string name="measurable_short_example">bijv. Hardlopen</string>
|
||||
<string name="measurable_question_example" comment="Feel free to replace "miles" by "km" if that is more common in your country">bijv. Hoeveel kilometer heb je vandaag hardgelopen?</string>
|
||||
<string name="measurable_units_example" comment="Feel free to replace by "km" if that is more common in your country">bijv. kilometers</string>
|
||||
<string name="measurable_question_example">bijv. Hoeveel kilometer heb je vandaag hardgelopen?</string>
|
||||
<string name="measurable_units_example">bijv. kilometers</string>
|
||||
<string name="every_month">Elke maand</string>
|
||||
<string name="validation_cannot_be_blank">Mag niet leeg zijn</string>
|
||||
<string name="today">Vandaag</string>
|
||||
<string name="enter">Voer in</string>
|
||||
<string name="no_habits">Geen gewoontes gevonden</string>
|
||||
<string name="no_numerical_habits">Geen meetbare gewoontes gevonden</string>
|
||||
<string name="no_boolean_habits">Geen ja-of-nee-gewoontes gevonden</string>
|
||||
<string name="increment">Verhogen</string>
|
||||
<string name="decrement">Verlagen</string>
|
||||
<string name="pref_skip_title">Overgeslagen dagen inschakelen</string>
|
||||
<string name="pref_skip_description">Schakel tweemaal om een overgeslagen dag toe te voegen in plaats van een vinkje. Overgeslagen dagen houden je score ongewijzigd en verbreken je streak niet.</string>
|
||||
<string name="pref_unknown_title">Vraagtekens weergeven wanneer gegevens ontbreken</string>
|
||||
<string name="pref_unknown_description">Onderscheid dagen zonder gegevens van daadwerkelijke verlopen dagen. Klik twee keer om een verlopen dag in te voeren.</string>
|
||||
<string name="you_are_now_a_developer">Je bent nu een ontwikkelaar!</string>
|
||||
<string name="activity_not_found">Er is geen app gevonden om deze actie uit te voeren.</string>
|
||||
<string name="pref_midnight_delay_title">Verleng de dag tot een paar uur na middernacht</string>
|
||||
<string name="pref_midnight_delay_description">Wacht tot 3:00 uur om een nieuwe dag te beginnen. Handig als je normaal gesproken na middernacht gaat slapen. Dit vereist het opnieuw opstarten van de app.</string>
|
||||
</resources>
|
||||
|
||||