From fcadbe7c38ac605a2859e66c0a4a4f3be3581be8 Mon Sep 17 00:00:00 2001 From: "Alinson S. Xavier" Date: Sat, 15 May 2021 20:08:04 -0500 Subject: [PATCH 01/12] Handle numerical habits with target value of zero Fixes #903 --- CHANGELOG.md | 5 +++++ uhabits-android/build.gradle.kts | 4 ++-- .../uhabits/activities/common/views/TargetChart.kt | 6 +++++- .../src/main/play/release-notes/en-US/default.txt | 2 ++ .../java/org/isoron/uhabits/core/models/ScoreList.kt | 9 +++++++-- .../java/org/isoron/uhabits/core/models/ScoreListTest.kt | 9 +++++++++ 6 files changed, 30 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index d2602177f..6bd6da72f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,10 @@ # Changelog +## [2.0.2] - Unreleased + +### Fixed +- Fix crash caused by numerical habits with zero target (#903) + ## [2.0.1] - 2021-05-09 ### Added diff --git a/uhabits-android/build.gradle.kts b/uhabits-android/build.gradle.kts index fb5a8bbf1..949adf793 100644 --- a/uhabits-android/build.gradle.kts +++ b/uhabits-android/build.gradle.kts @@ -37,8 +37,8 @@ android { compileSdkVersion(30) defaultConfig { - versionCode(20001) - versionName("2.0.1") + versionCode(20002) + versionName("2.0.2") minSdkVersion(23) targetSdkVersion(30) applicationId("org.isoron.uhabits") diff --git a/uhabits-android/src/main/java/org/isoron/uhabits/activities/common/views/TargetChart.kt b/uhabits-android/src/main/java/org/isoron/uhabits/activities/common/views/TargetChart.kt index b03c748c1..1d19cbedb 100644 --- a/uhabits-android/src/main/java/org/isoron/uhabits/activities/common/views/TargetChart.kt +++ b/uhabits-android/src/main/java/org/isoron/uhabits/activities/common/views/TargetChart.kt @@ -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 diff --git a/uhabits-android/src/main/play/release-notes/en-US/default.txt b/uhabits-android/src/main/play/release-notes/en-US/default.txt index 6aaae23bc..70bb26533 100644 --- a/uhabits-android/src/main/play/release-notes/en-US/default.txt +++ b/uhabits-android/src/main/play/release-notes/en-US/default.txt @@ -1,3 +1,5 @@ +2.0.2: +* Bug fixes 2.0: * Track numeric habits (e.g. how many pages did you read?) * Skip days without breaking your streak diff --git a/uhabits-core/src/jvmMain/java/org/isoron/uhabits/core/models/ScoreList.kt b/uhabits-core/src/jvmMain/java/org/isoron/uhabits/core/models/ScoreList.kt index 11a2b146c..b5dff17de 100644 --- a/uhabits-core/src/jvmMain/java/org/isoron/uhabits/core/models/ScoreList.kt +++ b/uhabits-core/src/jvmMain/java/org/isoron/uhabits/core/models/ScoreList.kt @@ -22,6 +22,7 @@ import org.isoron.uhabits.core.models.Score.Companion.compute import java.util.ArrayList import java.util.HashMap import javax.annotation.concurrent.ThreadSafe +import kotlin.math.max import kotlin.math.min @ThreadSafe @@ -93,11 +94,15 @@ class ScoreList { for (i in values.indices) { val offset = values.size - i - 1 if (isNumerical) { - rollingSum += values[offset] + rollingSum += max(0, values[offset]) if (offset + denominator < values.size) { rollingSum -= values[offset + denominator] } - val percentageCompleted = min(1.0, rollingSum / 1000 / targetValue) + val percentageCompleted = if (targetValue > 0) { + min(1.0, rollingSum / 1000 / targetValue) + } else { + 1.0 + } previousValue = compute(freq, previousValue, percentageCompleted) } else { if (values[offset] == Entry.YES_MANUAL) { diff --git a/uhabits-core/src/jvmTest/java/org/isoron/uhabits/core/models/ScoreListTest.kt b/uhabits-core/src/jvmTest/java/org/isoron/uhabits/core/models/ScoreListTest.kt index c96d2ce46..f78af6d21 100644 --- a/uhabits-core/src/jvmTest/java/org/isoron/uhabits/core/models/ScoreListTest.kt +++ b/uhabits-core/src/jvmTest/java/org/isoron/uhabits/core/models/ScoreListTest.kt @@ -18,6 +18,7 @@ */ package org.isoron.uhabits.core.models +import junit.framework.Assert.assertTrue import org.hamcrest.MatcherAssert.assertThat import org.hamcrest.number.IsCloseTo import org.hamcrest.number.OrderingComparison @@ -121,6 +122,14 @@ class ScoreListTest : BaseUnitTest() { checkScoreValues(expectedValues) } + @Test + fun test_withZeroTarget() { + habit = fixtures.createNumericalHabit() + habit.targetValue = 0.0 + habit.recompute() + assertTrue(habit.scores[today].value.isFinite()) + } + @Test fun test_imperfectNonDaily() { // If the habit should be performed 3 times per week and the user misses 1 repetition From c973f93424226ec94c2449680883dffcc6dec8e1 Mon Sep 17 00:00:00 2001 From: "Alinson S. Xavier" Date: Sat, 15 May 2021 20:22:42 -0500 Subject: [PATCH 02/12] Fix small issues with font size --- CHANGELOG.md | 1 + .../uhabits/activities/habits/list/views/CheckmarkButtonView.kt | 2 +- .../jvmMain/java/org/isoron/uhabits/core/ui/views/BarChart.kt | 1 + 3 files changed, 3 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 6bd6da72f..946b44e49 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,7 @@ ### Fixed - Fix crash caused by numerical habits with zero target (#903) +- Fix small issues with font size ## [2.0.1] - 2021-05-09 diff --git a/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/list/views/CheckmarkButtonView.kt b/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/list/views/CheckmarkButtonView.kt index 913449df1..8fa15a8f0 100644 --- a/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/list/views/CheckmarkButtonView.kt +++ b/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/list/views/CheckmarkButtonView.kt @@ -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) } diff --git a/uhabits-core/src/jvmMain/java/org/isoron/uhabits/core/ui/views/BarChart.kt b/uhabits-core/src/jvmMain/java/org/isoron/uhabits/core/ui/views/BarChart.kt index 9e0c8d1d9..7e240eecb 100644 --- a/uhabits-core/src/jvmMain/java/org/isoron/uhabits/core/ui/views/BarChart.kt +++ b/uhabits-core/src/jvmMain/java/org/isoron/uhabits/core/ui/views/BarChart.kt @@ -136,6 +136,7 @@ class BarChart( canvas.drawLine(0.0, y, width, y) canvas.setColor(theme.mediumContrastTextColor) canvas.setTextAlign(TextAlign.CENTER) + canvas.setFontSize(theme.smallTextSize) var prevMonth = -1 var prevYear = -1 val isLargeInterval = axis.size < 2 || (axis[0].distanceTo(axis[1]) > 300) From b1c53bd8208507f38953df5861822be290c7a59b Mon Sep 17 00:00:00 2001 From: sumanabhi Date: Tue, 18 May 2021 03:49:16 +0530 Subject: [PATCH 03/12] Added the Decimal Support while entering target for any Habit. --- uhabits-android/src/main/res/layout/activity_edit_habit.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/uhabits-android/src/main/res/layout/activity_edit_habit.xml b/uhabits-android/src/main/res/layout/activity_edit_habit.xml index 94af404e7..b3a33c373 100644 --- a/uhabits-android/src/main/res/layout/activity_edit_habit.xml +++ b/uhabits-android/src/main/res/layout/activity_edit_habit.xml @@ -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"/> @@ -248,4 +248,4 @@ - \ No newline at end of file + From 0a91c097e8647c0d767dad099d61a5dd20a78755 Mon Sep 17 00:00:00 2001 From: "Alinson S. Xavier" Date: Fri, 21 May 2021 19:42:37 -0500 Subject: [PATCH 04/12] Update CHANGELOG --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 946b44e49..c034f926b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,7 @@ ### Fixed - Fix crash caused by numerical habits with zero target (#903) - Fix small issues with font size +- Allow fractional target values (@sumanabhi, #911) ## [2.0.1] - 2021-05-09 From 38d2606d6daab7f0c2a064838d1cf56c0f30435a Mon Sep 17 00:00:00 2001 From: "Alinson S. Xavier" Date: Sat, 22 May 2021 12:53:03 -0500 Subject: [PATCH 05/12] Fix IllegalStateException in androidx.customview.view Fixes #906 --- CHANGELOG.md | 5 +++-- .../uhabits/activities/common/views/BundleSavedState.kt | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c034f926b..7b5579a18 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,9 +3,10 @@ ## [2.0.2] - Unreleased ### Fixed -- Fix crash caused by numerical habits with zero target (#903) -- Fix small issues with font size +- Fix crash caused by numerical habits with zero target (@iSoron, #903) +- Fix small issues with font size (@iSoron) - Allow fractional target values (@sumanabhi, #911) +- Fix IllegalStateException in androidx.customview.view (@iSoron, #906) ## [2.0.1] - 2021-05-09 diff --git a/uhabits-android/src/main/java/org/isoron/uhabits/activities/common/views/BundleSavedState.kt b/uhabits-android/src/main/java/org/isoron/uhabits/activities/common/views/BundleSavedState.kt index 5f8a09395..41c5f5602 100644 --- a/uhabits-android/src/main/java/org/isoron/uhabits/activities/common/views/BundleSavedState.kt +++ b/uhabits-android/src/main/java/org/isoron/uhabits/activities/common/views/BundleSavedState.kt @@ -41,7 +41,7 @@ class BundleSavedState : AbsSavedState { } companion object { - val CREATOR: Parcelable.Creator = + @JvmField val CREATOR: Parcelable.Creator = object : ClassLoaderCreator { override fun createFromParcel( source: Parcel, From d87961d80078bf8a1450e1ec731aa362b8ba15bc Mon Sep 17 00:00:00 2001 From: "Alinson S. Xavier" Date: Sun, 23 May 2021 10:48:37 -0500 Subject: [PATCH 06/12] Fix missing placeholder in some translations; update remaining ones Fixes #926 --- CHANGELOG.md | 1 + .../play/listings/de-rDE/full-description.txt | 2 +- .../listings/de-rDE/short-description.txt | 2 +- .../play/listings/in-rID/full-description.txt | 26 +-- .../play/listings/ru-rRU/full-description.txt | 4 +- .../play/listings/zh-rCN/full-description.txt | 6 +- .../listings/zh-rCN/short-description.txt | 2 +- .../src/main/res/values-af-rZA/strings.xml | 11 +- .../src/main/res/values-ar-rSA/strings.xml | 32 ++-- .../src/main/res/values-bg-rBG/strings.xml | 17 +- .../src/main/res/values-ca-rES/strings.xml | 20 +-- .../src/main/res/values-cs-rCZ/strings.xml | 20 +-- .../src/main/res/values-da-rDK/strings.xml | 108 +++++++++++-- .../src/main/res/values-de-rDE/strings.xml | 12 +- .../src/main/res/values-el-rGR/strings.xml | 20 +-- .../src/main/res/values-eo-rUY/strings.xml | 93 +++++++++-- .../src/main/res/values-es-rES/strings.xml | 53 +++++-- .../src/main/res/values-eu-rES/strings.xml | 20 +-- .../src/main/res/values-fa-rIR/strings.xml | 20 +-- .../src/main/res/values-fi-rFI/strings.xml | 60 +++++-- .../src/main/res/values-fr-rFR/strings.xml | 20 +-- .../src/main/res/values-hi-rIN/strings.xml | 59 ++++--- .../src/main/res/values-hr-rHR/strings.xml | 17 +- .../src/main/res/values-hu-rHU/strings.xml | 20 +-- .../src/main/res/values-in-rID/strings.xml | 150 +++++++++++------- .../src/main/res/values-it-rIT/strings.xml | 61 +++++-- .../src/main/res/values-iw-rIL/strings.xml | 20 +-- .../src/main/res/values-ja-rJP/strings.xml | 39 +++-- .../src/main/res/values-ko-rKR/strings.xml | 50 +++--- .../src/main/res/values-nl-rNL/strings.xml | 20 +-- .../src/main/res/values-no-rNO/strings.xml | 21 +-- .../src/main/res/values-pl-rPL/strings.xml | 41 +++-- .../src/main/res/values-pt-rBR/strings.xml | 2 +- .../src/main/res/values-pt-rPT/strings.xml | 20 +-- .../src/main/res/values-ro-rRO/strings.xml | 37 +++-- .../src/main/res/values-ru-rRU/strings.xml | 2 +- .../src/main/res/values-sk-rSK/strings.xml | 20 +-- .../src/main/res/values-sl-rSI/strings.xml | 17 +- .../src/main/res/values-sr-rCS/strings.xml | 2 +- .../src/main/res/values-sr-rSP/strings.xml | 4 +- .../src/main/res/values-sv-rSE/strings.xml | 2 +- .../src/main/res/values-ta-rIN/strings.xml | 19 +-- .../src/main/res/values-te-rIN/strings.xml | 40 ++++- .../src/main/res/values-tr-rTR/strings.xml | 20 +-- .../src/main/res/values-ug-rCN/strings.xml | 9 +- .../src/main/res/values-uk-rUA/strings.xml | 2 +- .../src/main/res/values-vi-rVN/strings.xml | 65 +++++--- .../src/main/res/values-zh-rCN/strings.xml | 36 ++--- .../src/main/res/values-zh-rTW/strings.xml | 20 +-- 49 files changed, 765 insertions(+), 599 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7b5579a18..c9553766a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,7 @@ - Fix small issues with font size (@iSoron) - Allow fractional target values (@sumanabhi, #911) - Fix IllegalStateException in androidx.customview.view (@iSoron, #906) +- Fix crash when selecting habit frequency in some languages (@iSoron, #926) ## [2.0.1] - 2021-05-09 diff --git a/uhabits-android/src/main/play/listings/de-rDE/full-description.txt b/uhabits-android/src/main/play/listings/de-rDE/full-description.txt index 56eb25d16..d3705a7a8 100644 --- a/uhabits-android/src/main/play/listings/de-rDE/full-description.txt +++ b/uhabits-android/src/main/play/listings/de-rDE/full-description.txt @@ -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. Schöne, minimalistisch und übersichtliche Benutzeroberfläche 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. diff --git a/uhabits-android/src/main/play/listings/de-rDE/short-description.txt b/uhabits-android/src/main/play/listings/de-rDE/short-description.txt index de6c251de..229fed76b 100644 --- a/uhabits-android/src/main/play/listings/de-rDE/short-description.txt +++ b/uhabits-android/src/main/play/listings/de-rDE/short-description.txt @@ -1 +1 @@ -Erstelle gute Gewohnheiten und verfolge ihren Fortschritt (ohne Werbung) +Erlange gute Gewohnheiten und verfolge dessen Fortschritte (ohne Werbung) diff --git a/uhabits-android/src/main/play/listings/in-rID/full-description.txt b/uhabits-android/src/main/play/listings/in-rID/full-description.txt index b81c12eee..4431f3661 100644 --- a/uhabits-android/src/main/play/listings/in-rID/full-description.txt +++ b/uhabits-android/src/main/play/listings/in-rID/full-description.txt @@ -1,29 +1,29 @@ -Loop Habit Tracker membantu Anda menciptakan dan memelihara kebiasaan positif jangka panjang dalam hidup Anda. Grafik dan statistik terperinci memberi Anda gambaran yang jelas tentang bagaimana kebiasaan Anda meningkat dari waktu ke waktu. Aplikasi ini sepenuhnya bebas iklan, kode sumber terbuka dan menghargai privasi Anda. +Loop Habit Tracker membantumu menciptakan dan mempertahankan kebiasaan positif jangka panjang dalam hidupmu. Grafik dan statistik yang terperinci memberimu gambaran yang jelas tentang bagaimana kebiasaanmu meningkat dari waktu ke waktu. Aplikasi ini sepenuhnya bebas iklan, open source dan menghormati privasimu. Antarmuka yang indah, minimalis, dan ringan -Loop memiliki antarmuka yang elegan dan minimalis yang sangat mudah digunakan, bahkan untuk pengguna pertama kali. Sangat dioptimalkan untuk kecepatan, aplikasi ini bekerja dengan baik bahkan pada ponsel lama. +Loop memiliki antarmuka yang elegan dan minimalis sehingga sangat mudah untuk digunakan, bahkan bagi pengguna yang baru pertama kali. Sangat dioptimalkan untuk kecepatan, aplikasi ini bekerja dengan baik bahkan pada ponsel lama. Skor Kebiasaan -Loop memiliki formula canggih untuk menghitung kekuatan kebiasaan Anda. Setiap pengulangan membuat kebiasaan Anda lebih kuat dan setiap hari yang terlewat menjadikannya lebih lemah. Namun, beberapa hari yang terlewatkan setelah rentetan panjang, tidak akan sepenuhnya menghancurkan kemajuan Anda, tidak seperti banyak aplikasi lain yang tidak putus rantai. +Loop memiliki formula yang canggih untuk menghitung kekuatan kebiasaanmu. Setiap pengulangan membuat kebiasaanmu lebih kuat dan setiap hari yang terlewat menjadikannya lebih lemah. Namun, beberapa hari yang terlewatkan setelah sebuah rentetan panjang, tidak akan sepenuhnya menghancurkan perkembanganmu, tidak seperti banyak aplikasi lain yang jangan-putuskan-rantainya. Jadwal fleksibel -Selain kebiasaan sehari-hari, Loop mendukung kebiasaan dengan jadwal yang lebih kompleks, seperti 3 kali per minggu atau setiap hari. +Selain kebiasaan harian, Loop mendukung kebiasaan dengan jadwal yang lebih kompleks, seperti 3 kali per minggu atau berselang hari. Pengingat -Jadwalkan pemberitahuan untuk mengingatkan Anda tentang kebiasaan Anda. Setiap kebiasaan dapat memiliki pengingatnya sendiri, pada waktu yang dipilih hari itu. Periksa atau abaikan kebiasaan Anda langsung dari notifikasi. +Jadwalkan pemberitahuan untuk mengingatkanmu tentang kebiasaanmu. Setiap Kebiasaan bisa memiliki pengingatnya sendiri, pada waktu yang dipilih hari itu. Beri centang atau abaikan kebiasaanmu langsung dari notifikasi. Widget -Ingatkan kebiasaan Anda setiap kali Anda membuka kunci ponsel. Widget berwarna-warni memungkinkan Anda untuk melacak kebiasaan Anda langsung dari layar utama, bahkan tanpa membuka aplikasi. +Dapatkan pengingat mengenai kebiasaanmu setiap kali kamu membuka kunci ponsel. Widget yang berwarna-warni memungkinkanmu untuk melacak Kebiasaanmu langsung dari layar utama, bahkan tanpa membuka aplikasi. -Kendalikan data Anda -Jika Anda ingin menganalisis lebih lanjut data Anda, atau memindahkannya ke layanan lain, Loop mengizinkan Anda untuk mengekspornya ke spreadsheet (CSV) atau ke file database (SQLite). Untuk pengguna tingkat lanjut, tanda centang dapat ditambahkan melalui aplikasi lain, seperti Tasker. +Kontrol datamu +Jika kamu ingin menganalisis datamu lebih lanjut, atau memindahkannya ke layanan lain, Loop memungkinkan kamu untuk mengekspornya ke spreadsheet (CSV) atau ke file database (SQLite). Untuk pengguna tingkat lanjut, tanda centang dapat ditambahkan melalui aplikasi lain, seperti Tasker. Tidak ada batasan -Lacak kebiasaan sebanyak yang Anda inginkan. Loop tidak membatasi seberapa banyak kebiasaan yang dapat Anda miliki. Semua fitur tersedia untuk semua pengguna. Tidak ada pembelian di dalam aplikasi (IAP) +Lacak sebanyak mungkin Kebiasaan yang kamu inginkan. Loop tidak memberikan batasan pada berapa banyak Kebiasaan yang dapat kamu miliki. Semua fitur tersedia untuk semua pengguna. Tidak ada pembelian di dalam aplikasi (in-app purchases). -Bebas iklan dan open source -Tidak ada iklan, pemberitahuan yang mengganggu, atau izin yang mengganggu dalam aplikasi ini, dan tidak akan pernah ada. Aplikasi ini sepenuhnya bersumber terbuka (GPLv3). +Sepenuhnya bebas iklan dan open source +Tidak ada iklan, notifikasi yang menjengkelkan atau izin yang mengganggu dalam aplikasi ini, dan tidak akan pernah ada. Aplikasi ini sepenuhnya open-source (GPLv3). -Tidak membutuhkan koneksi internet dan menghargai privasi anda -Loop tidak membutuhkan koneksi internet atau pendaftaran akun secara online Data rahasia anda tidak akan pernah dikirim kepada siapapun Tidak juga pengembang maupun pihak ketiga punya akses pada itu +Bekerja secara offline dan menghargai privasimu +Loop tidak membutuhkan koneksi internet atau pendaftaran akun secara online. Data rahasiamu tidak akan pernah dikirim kepada siapapun. Baik pengembang maupun pihak ketiga, tidak ada yang mempunyai akses itu. diff --git a/uhabits-android/src/main/play/listings/ru-rRU/full-description.txt b/uhabits-android/src/main/play/listings/ru-rRU/full-description.txt index c5ee5b657..413cca2f2 100644 --- a/uhabits-android/src/main/play/listings/ru-rRU/full-description.txt +++ b/uhabits-android/src/main/play/listings/ru-rRU/full-description.txt @@ -1,9 +1,9 @@ Трекер привычек Loop помогает вам создавать и поддерживать долгосрочные позитивные привычки в своей жизни. Подробные графики и статистика дадут вам чёткое представление о том, как ваши привычки улучшились с течением времени. Приложение полностью без рекламы, с открытым исходным кодом и с уважением к вашей конфиденциальности. Красивый, минималистичный и лёгкий интерфейс -У Loop изящный и минималистичный интерфейс, который очень прост в использовании даже для начинающих пользователей. Высокооптимизированное для скорости, приложение хорошо работает даже на старых телефонах. +У Loop изящный и минималистичный интерфейс, который очень прост в использовании даже для начинающих пользователей. Оптимизированное по скорости приложение хорошо работает даже на старых телефонах. -Показатель привычек +Показатель устойчивости привычки У Loop есть продвинутая формула для расчёта силы ваших привычек. Каждое повторение делает вашу привычку сильнее, а каждый пропущенный день - слабее. Однако несколько пропущенных дней после долгой полосы не погубят ваш прогресс в отличие от многих других приложений типа "не разрывай цепь". Гибкий график diff --git a/uhabits-android/src/main/play/listings/zh-rCN/full-description.txt b/uhabits-android/src/main/play/listings/zh-rCN/full-description.txt index e03d6a76c..a67e3d034 100644 --- a/uhabits-android/src/main/play/listings/zh-rCN/full-description.txt +++ b/uhabits-android/src/main/play/listings/zh-rCN/full-description.txt @@ -1,4 +1,4 @@ -Loop 循环习惯记录(以下简称“Loop”)可以帮助您建立好习惯且随着时间记录你的进步。 详细的图表和统计数据,可以使您更清楚地看到自己的进步。 该应用是完全无广告的开源软件,并且它尊重您的隐私。 +Loop 习惯记录(以下简称“Loop”)可以帮助您建立好习惯且随着时间记录你的进步。 详细的图表和统计数据,可以使您更清楚地看到自己的进步。 这是一个完全无广告的开源应用,它尊重您的隐私。 优雅、简约、轻巧 Loop 具有优雅而简约的界面,即使对于初次使用的用户,也非常易于使用。 该应用针对速度进行了高度优化,即使在较旧的手机上也可以正常运行。 @@ -12,7 +12,7 @@ Loop 有高级的公式来计算您习惯的强度。 多多重复会使你的 提醒 设定通知以提醒您完成习惯。 每一种习惯都有属于自己的通知,您可以选定当天的某个时间提醒该习惯。 同时从通知中轻松地检查或取消您的习惯。 -小部件 +微件 当您解锁手机时, 多彩的小部件可让您直接从主屏幕记录自己的习惯,而无需打开应用程序。 掌控您的数据 @@ -22,7 +22,7 @@ Loop 有高级的公式来计算您习惯的强度。 多多重复会使你的 想记录多少习惯都没问题! Loop 对您的习惯没有任何限制, 所有用户均可使用所有功能, 并且没有应用内购买。 完全无广告的开源软件 -此应用程序中永远没有任何广告,烦人的通知或侵入性权限, 应用程序是完全开源的,完整的代码在GPLv3。 +本应用永远都不会有广告和烦人的通知,也不会索取侵入性权限。 本应用是完全开源的(GPLv3)。 脱机工作并尊重您的隐私 Loop 不需要网络连接或在线帐户注册。 您的用户数据永远不会发送给任何人, 包括开发人员和任何第三方都无法访问它。 diff --git a/uhabits-android/src/main/play/listings/zh-rCN/short-description.txt b/uhabits-android/src/main/play/listings/zh-rCN/short-description.txt index 70ff5eff1..8df04da02 100644 --- a/uhabits-android/src/main/play/listings/zh-rCN/short-description.txt +++ b/uhabits-android/src/main/play/listings/zh-rCN/short-description.txt @@ -1 +1 @@ -建立好习惯且随着时间记录你的进步(无广告) +养成好习惯且随着时间记录你的进步(无广告) diff --git a/uhabits-android/src/main/res/values-af-rZA/strings.xml b/uhabits-android/src/main/res/values-af-rZA/strings.xml index c84d8b77a..90c8a1697 100644 --- a/uhabits-android/src/main/res/values-af-rZA/strings.xml +++ b/uhabits-android/src/main/res/values-af-rZA/strings.xml @@ -17,9 +17,7 @@ ~ You should have received a copy of the GNU General Public License along ~ with this program. If not, see . --> - - - + Loop - Gewoonte Boekhouer Gewoontes Instellings @@ -30,12 +28,7 @@ Voeg gewoonte by Verander kleur Gewoonte geskep - Gewoontes verwyder - Gewoonte verander - Gewoontes geargiveer - Gewoontes gedeargiveer Oorsig - Welkom 15 minute 30 minute @@ -45,6 +38,4 @@ 8 ure 24 ure Instellings - - diff --git a/uhabits-android/src/main/res/values-ar-rSA/strings.xml b/uhabits-android/src/main/res/values-ar-rSA/strings.xml index c42d558d7..530f1c3d5 100644 --- a/uhabits-android/src/main/res/values-ar-rSA/strings.xml +++ b/uhabits-android/src/main/res/values-ar-rSA/strings.xml @@ -1,6 +1,6 @@ - + Loop Habit Tracker عادات إعدادات @@ -28,19 +28,15 @@ إضافة عادة تغيير اللون تم إنشاء عادة - تم حذف العادات - تم تغيير عادة - تم أرشفه العادات - تم الغاء ارشفه العادات نظرة عامة قوة العادة السجل إزالة - أيام تذكير حفظ الإنجازات لا يوجد لديك عادات مفعله + لقد أنهيت ألعمل لليوم إلمس و إستمر لتحقق أو ازل. إيقاف انشاء العادة @@ -64,20 +60,16 @@ مخصص... تبديل وضعية العادة بضغطة قصيرة وضع علامات الاختيار الموجودة بنقرة واحدة بدلاً من الصحافة وعقد. أكثر ملاءمة، ولكن قد يتسبب في تبديل عرضي. - فترتي الغفوى على التذكير تقييم هذا التطبيق على جوجل بلاي أرسل الملاحظات إلى المطور إفحص التعليمات البرمجية على GitHub روابط اسم إعدادات - فترتي الغفوه حدد تأخير الغفوة هل كنت تعلم؟ لإعادة ترتيب القوائم، أضغط اسم من هذه العادة، ثم اسحبه إلى المكان الصحيح. يمكنك ان ترى المزيد أيام عن طريق وضع الهاتف في وضع أفقي. - حذف عادات - سيتم حذف عادات بشكل دائم. هذا العمل لا يمكن التراجع عنه. العادة حذفت/لم يتم العثور عليها عطلة نهاية الأسبوع أيام الأسبوع. @@ -111,7 +103,7 @@ توليد تقرير الاعطال. استكشاف الأخطاء وإصلاحها. المساعدة في ترجمة هذا البرنامج. - الوضع الليلي. + الوضع الليلي. استخدام أسود نقي في الوضع الليلي. يستبدل خلفيات رمادية مع أسود نقي في الوضع الليلي. يقلل من استهلاك البطارية في الهواتف مع شاشة AMOLED. . السطح البيني. @@ -147,6 +139,7 @@ حسب الإسم حسب اللون حسب النقاط + حسب الحالة استخراج اضغط مع الاستمرار لتغيرالقيمه تغيير القيمة @@ -170,16 +163,25 @@ (اختياري) مثلا: هل استيقظت باكرا اليوم؟ هل مارست الرياضة؟ هل لعبت الشطرنج؟ قابل للقياس - مثلا: كم كيلومتراً قطعته اليوم؟ كم صفحة قرأتها؟ كم عدد السعرات الحرارية التي أكلتها؟ + مثال، كم ميلاً قطعته اليوم؟ كم عدد الصفحات التي قرأتها؟ %d مرة في الأسبوع %d مرة في الشهر مثال: التمرين اللون مثال: 15 مثلا: الجري - مثلا: كم كيلومترًا جريته اليوم؟ - مثلا: كيلومترات + مثلا: كم كيلومترًا جريته اليوم؟ + مثلا: كيلومترات كل شهر لا يمكن أن يكون الإسم فارغًا اليوم + ادخل + لا توجد عادات + لا توجد عادات قابلة للقياس + لا توجد عادات تجاوب بنعم أو لا + زيادة + إنقاص + تمكين أيام التخطي + بدّل مرتين لإضافة تخطي بدلاً من علامة اختيار. التخطيات تحافظ على درجاتك دون تغيير أو خسارة سلسلة الانتصارات. + إظهار علامات الاستفهام للبيانات المفقودة diff --git a/uhabits-android/src/main/res/values-bg-rBG/strings.xml b/uhabits-android/src/main/res/values-bg-rBG/strings.xml index c3019dc28..50010bb83 100644 --- a/uhabits-android/src/main/res/values-bg-rBG/strings.xml +++ b/uhabits-android/src/main/res/values-bg-rBG/strings.xml @@ -17,9 +17,7 @@ ~ You should have received a copy of the GNU General Public License along ~ with this program. If not, see . --> - - - + Loop Следене на навици Навици Настройки @@ -30,16 +28,10 @@ Добавяне на навик Промяна на цвят Навикът е създаден - Навиците са изтрити - Навикът е променен - Навиците са архивирани - Навиците са разархивирани Обзор Сила на навика История Изчистване - пъти в период от - дни Напомняне Запазване Поредици @@ -50,7 +42,6 @@ Редактиране на навик Поставяне на отметка По-късно - Добре дошли Loop Следене на навици ви помага да създавате и поддържате добри навици. Създайте нови навици @@ -75,8 +66,6 @@ Знаете ли че? За да пренаредите записите, натиснете и задръжте върху името на навика и го придърпайте до правилното място. Може да виждате повече дни като обърнете телефона си в хоризонтално положение. - Изтриване на навици - Навиците ще се изтрият перманентно. Това действие не може да бъде отменено. Навикът е изтрит / не е намерен Събота и неделя От понеделник до петък @@ -110,7 +99,7 @@ Генериране на доклад за грешки Отстраняване на проблеми Помагане за превода на това приложение - Нощен режим + Нощен режим Използване на чисто черно при нощен режим Заменя сивите фонове с чисто черни при нощен режим. Намаля разхода на батерията при телефони с AMOLED дисплеи. Интерфейс @@ -122,8 +111,6 @@ Тримесечие Година Общо - - На всеки %d дни На всеки %d седмици Сила diff --git a/uhabits-android/src/main/res/values-ca-rES/strings.xml b/uhabits-android/src/main/res/values-ca-rES/strings.xml index b91390b53..512d544d5 100644 --- a/uhabits-android/src/main/res/values-ca-rES/strings.xml +++ b/uhabits-android/src/main/res/values-ca-rES/strings.xml @@ -1,6 +1,6 @@ - + Loop - Hàbit Rastrejador Hàbits Configuració @@ -28,15 +28,10 @@ Afegir hàbit Canviar color Hàbit creat. - Hàbits esborrats. - Hàbit modificat. - Hàbits arxivats. - Hàbits trets de l\'arxiu. Visió general Fortalesa de l\'hàbit Història Netejar - dies Recordatori Desar Ratxa @@ -64,20 +59,16 @@ Personalitza... Activar/desactivar repeticions prement curt Posar les marques de verificació amb un sol toc enlloc de prémer i mantenir. Més adequat, però pot causar activacions accidentals. - Interval d\'endarreriment en recordatoris Valora aquesta app a Google Play Enviar resposta al desenvolupador Veure codi font a Github Enllaços Nom Ajustaments - Interval d\'endarreriment Selecciona el retard de l\'endarreriment Ho sabies? Per a ordenar les entrades, prem i mantè sobre el nom de l\'hàbit, després arrossega\'l al lloc correcte. Pots veure més dies posant el teu telèfon en orientació apaisada. - Esborrar hàbits - Els hàbits seran esborrats permanentment. Aquesta acció no es pot desfer. Hàbit suprimit / no trobat Caps de setmana Dilluns a divendres @@ -111,7 +102,7 @@ Generar informe d\'error Resolució de problemes Ajuda a traduïr aquesta app - Mode nocturn + Mode nocturn Utilitzar negre pur en el mode nocturn Reemplaça fons grisos per negre pur en el mode nocturn. Redueix consum de bateria en telèfons amb pantalla AMOLED. Interfície @@ -170,15 +161,14 @@ Opcional Per exemple, us heu despertat aviat? Heu fet exercici? Heu jugat a escacs? Mesurable - Per exemple, quants quilòmetres heu recorregut avui? Quantes pàgines heu llegit? Quantes calories heu menjat? %d vegades per setmana %d vegades al mes Ex. Exercici Color ex. 15 Per exemple: córrer - Per exemple, quants quilòmetres heu recorregut avui? - per exemple, quilòmetres + Per exemple, quants quilòmetres heu recorregut avui? + per exemple, quilòmetres Cada mes No es pot deixar en blanc Avui diff --git a/uhabits-android/src/main/res/values-cs-rCZ/strings.xml b/uhabits-android/src/main/res/values-cs-rCZ/strings.xml index d30d49a3f..2dda93958 100644 --- a/uhabits-android/src/main/res/values-cs-rCZ/strings.xml +++ b/uhabits-android/src/main/res/values-cs-rCZ/strings.xml @@ -1,6 +1,6 @@ - + Loop Habit Tracker Zvyky Nastavení @@ -28,15 +28,10 @@ Přidat zvyk Změnit barvu Zvyk vytvořen. - Zvyky smazány. - Zvyk změněn. - Archivováno. - Zvyky obnoveny. Přehled Síla zvyku Historie Smazat - dní Připomenutí Uložit Série @@ -64,20 +59,16 @@ Vlastní... Označte opakování krátkým stisknutím Praktičtější, ale může způsobit nechtěné označení. - Doba odložení upomínky Ohodnoťte nás v Google Play Zpětná vazba vývojáři Zobrazit zdroj. kód na GitHub Odkazy Jméno Nastavení - Interval odkladu Nastavit délku odložení Věděli jste? 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. Můžeš vidět více dnů otočením telefonu na šířku. - Smazat zvyky - Označené zvyky budou navždy odstraněny. Toto nelze vzít zpět. Zvyk smazán / nenalezen Víkendy Pondělí až pátek @@ -111,7 +102,7 @@ Generovat výpis chyb Řešení problémů Pomozte s překladem aplikace - Noční téma + Noční téma Zobrazit čistě černou v nočním tématu Nahradí šedé pozadí čistou černou v nočním tématu. Snižuje spotřebu baterie v telefonech s AMOLED displejem. Rozhraní @@ -170,15 +161,14 @@ (nepovinné) např. Vzbudil ses dnes brzy? Cvičil jsi dnes? Hrál jsi šachy? Měřitelný - např. Kolik kilometrů jsi dnes uběhl? Kolik stránek jsi přečetl? Kolik kalorií jsi snědl? %d krát týdně %d krát za měsíc např. Cvičení Barva např. 15 např. Běh - Např. kolik mil jste dnes uběhl? - např. míle + Např. kolik mil jste dnes uběhl? + např. míle Každý měsíc Musíte vyplnit Dnes diff --git a/uhabits-android/src/main/res/values-da-rDK/strings.xml b/uhabits-android/src/main/res/values-da-rDK/strings.xml index c59eae038..779054665 100644 --- a/uhabits-android/src/main/res/values-da-rDK/strings.xml +++ b/uhabits-android/src/main/res/values-da-rDK/strings.xml @@ -17,9 +17,7 @@ ~ You should have received a copy of the GNU General Public License along ~ with this program. If not, see . --> - - - + Loop Vane Tracker Vaner Indstillinger @@ -30,27 +28,37 @@ Tilføj vane Skift farve Vanen er skabt. - Vaner slettet - Vanen er ændret - Vanerne er arkiveret - Vanerne er fjernet fra arkivet + + Vanen er ændret + Vanerne er ændret + + + Vanen er slettet + Vanerne er slettet + + + Vanen er arkiveret + Vanerne er arkiveret + + + Vane taget ud fra arkiv + Vaner taget ud fra arkiv + Overblik Vanestyrke Historie Ryd - gange på - dage Påmindelse Gem Streaks Du har ingen aktive vaner + Du har klaret alt for i dag! Tryk og hold nede for at afkrydse Fra Opret vane Rediger vane Afkryds Senere - Velkommen Loop Habit Tracker hjælper dig med at holde gode vaner. Skab nogle nye vaner @@ -64,6 +72,8 @@ 4 timer 8 timer 24 timer + Spørg altid + Brugerdefineret... Tjek vaner med kort tryk Sæt tjekmærker med et enkelt tryk i stedet for tryk-og-hold. Mere bekvemmeligt, men kan forårsage uhensigtede tryk. Bedøm denne app på Google Play @@ -72,11 +82,18 @@ Henvisninger Navn Indstillinger + Vælg snooze-forsinkelse Vidste du? For at omarrangere poster, tryk og hold på navnet på den vane, og træk den til det korrekte sted. Du kan se flere dage ved at sætte telefonen i liggende tilstand. - Slet vaner - Vanerne vil blive slettet permanent. Denne handling kan ikke fortrydes. + + Slet vane? + Slet vaner? + + + Vanen vil blive slettet permanent. Denne handling kan ikke fortrydes. + Vanerne vil blive slettet permanent. Denne handling kan ikke fortrydes. + Vane slettet / ikke fundet Weekender Mandag til Fredag @@ -87,13 +104,22 @@ Fjern Vælg timer Vælg minutter + + hints + hints + Om Oversættere Udviklere Version %s Hyppighed Afkrydsning - Bedste striber + Afkryds stakkontrol + Frekvens stakkontrol + Score stakkontrol + Historik stakkontrol + Uafbrudt række stakkontrol + Bedste streak Hver dag Hver uge Hjælp & FAQ @@ -110,7 +136,7 @@ Generer fejlrapport Fejlfinding Hjælpe med at oversætte denne app - Nat-tilstand + Nat-tilstand Brug ren sort i nat-tilstand Erstatter grå baggrunde med ren sort i nat-tilstand. Reducerer batteriforbruget i telefoner med AMOLED skærm. Grænseflade @@ -122,8 +148,7 @@ Kvartal År I alt - - + Ja eller nej Hver %d dage Hver %d uger Point @@ -134,6 +159,8 @@ Skjul arkiverede Fastgør notifikationer Forhindrer notifikationer i at blive swipet væk. + Notifikationslys + Viser et blinkende lys til påmindelser. Kun tilgængelig i telefoner med LED-notifikationslyskilder. Reparer database Database repareret. Fjern afkrydsning @@ -145,5 +172,54 @@ Efter navn Efter farve Efter score + Efter status Eksporter + Tryk-og-hold for at ændre værdien + Skift værdi + Kalender + Enhed + f.eks. Har du trænet i dag? + Spørgsmål + Mål + Ja + Nej + Skift lyd-, vibrations-, lys- og andre notifikationsindstillinger + Tilpas notifikationer + Se privatlivspolitik + Se alle bidragsydere… + Database + Gennemsigtighed af widget + Gør widgets mere gennemsigtige eller mere uigennemsigtige på din startskærm. + Første dag i ugen + Har du fuldført denne vane i dag? + Noter + (Valgfrit) + F.eks. vågnede du tidligt i dag? Har du motioneret? Spillede du skak? + Målbar + f.eks Hvor mange kilometer kørte du i dag? Hvor mange sider læste du? + %d gange om ugen + %d gange om måneden + f.eks. Motion + Farve + f.eks. 15 + f.eks. Løb + F.eks. Hvor mange kilometer har du løbet i dag? + f.eks. kilometer + Hver måned + skal udfyldes + I dag + Angiv + Ingen vaner fundet + Ingen målbare vaner fundet + Ingen ja-eller-nej vaner fundet + Forøgelse + Formindskelse + Slå overspring af dage til + 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. + Vis spørgsmålstegn for manglende data + Differentiér dage uden data fra faktiske udeladelser. For at indtaste en udeladelse, skiftes to gange. + Du er nu udvikler + Ingen app fundet til at understøtte denne handling + Forlæng dagen et par timer efter midnat + 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. diff --git a/uhabits-android/src/main/res/values-de-rDE/strings.xml b/uhabits-android/src/main/res/values-de-rDE/strings.xml index d78a16617..aa21bfd11 100644 --- a/uhabits-android/src/main/res/values-de-rDE/strings.xml +++ b/uhabits-android/src/main/res/values-de-rDE/strings.xml @@ -99,7 +99,7 @@ Montag bis Freitag Jeden Tag Tage auswählen - Daten als CSV exportieren + Exportiere als CSV Fertig Löschen Stunden auswählen @@ -118,18 +118,18 @@ Fehler beim Importieren der Daten. Datei nicht erkannt. Gewohnheiten erfolgreich importiert. - Importiere Daten + Daten importieren Exportiere vollständige Sicherung - Unterstützt vollständige Sicherungen dieser App, sowie von Tickmate, HabitBull und Rewire erzeugte Sicherungen. Siehe FAQ für weitere Informationen. + Unterstützt vollständige Sicherungen dieser App, als auch von Tickmate, HabitBull und Rewire. Siehe FAQ für weitere Informationen. Erstellt Dateien, die von Tabellenkalkulationsprogrammen wie Microsoft Excel oder LibreOffice Calc geöffnet werden können. Diese Dateien können nicht wieder importiert werden. Erstellt eine Datei, die alle deine Daten enthält. Diese Datei kann wieder importiert werden. Fehler beim Erstellen eines Fehlerberichts. Erstelle einen Fehlerbericht Fehlerbehebung Hilf mit, diese App zu übersetzen - Nachtmodus + Nachtmodus Verwende reines Schwarz im Nachtmodus - Ersetzt im Nachtmodus das Grau des Hintergrunds durch ein reines Schwarz. Reduziert den Stromverbrauch von Smartphones mit einem AMOLED Display. + Ersetzt im Nachtmodus das Grau des Hintergrunds durch Schwarz. Reduziert den Stromverbrauch von Smartphones mit AMOLED Displays. Oberfläche Kehre die Tagesreihenfolge um Zeigt die Tage im Hauptfenster in umgekehrter Reihenfolge an. @@ -211,6 +211,6 @@ Tage ohne Daten von tatsächlichen Lücken unterscheiden. Um eine Lücke einzutragen zweimal markieren. Du bist nun ein Entwickler Für diese Aktion wurde keine App gefunden. - Den Tag um ein paar Stunden nach Mitternacht verlängern + Verlängere den Tag um ein paar Stunden nach Mitternacht 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. diff --git a/uhabits-android/src/main/res/values-el-rGR/strings.xml b/uhabits-android/src/main/res/values-el-rGR/strings.xml index 7e324667a..8bd41559e 100644 --- a/uhabits-android/src/main/res/values-el-rGR/strings.xml +++ b/uhabits-android/src/main/res/values-el-rGR/strings.xml @@ -1,6 +1,6 @@ - + Loop - Καταγραφή Συνηθειών Συνήθειες Ρυθμίσεις @@ -28,15 +28,10 @@ Νέα συνήθεια Αλλαγή χρώματος Η συνήθεια δημιουργήθηκε - Οι συνήθειες διαγράφηκαν - Η συνήθεια άλλαξε - Η συνήθεια αρχειοθετήθηκε. - Έγινε αφαίρεση αρχειοθέτησης. Επισκόπηση Δύναμη συνήθειας Ιστορικό Εκκαθάριση - ημέρες Υπενθύμιση Αποθήκευση Σερί @@ -64,20 +59,16 @@ Προσαρμογή Κάντε εναλλαγή των επαναλήψεων με σύντομο πάτημα Βολικότερο, αλλά ίσως προκαλέσει ακούσιες εναλλαγές. - Διάστημα αναβολής υπενθυμίσεων Βαθμολογήστε αυτή την εφαρμογή στο Google Play Στείλετε σχόλια Δείτε τον πηγαίο κώδικα στο GitHub Σύνδεσμοι Όνομα Ρυθμίσεις - Διάστημα αναβολής Επιλογή καθυστέρησης αναβολής Γνωρίζατε; Αναδιατάξετε τις συνήθειες πατώντας παρατεταμένα στο όνομα και σύροντας στην σωστή θέση. Μπορείτε να δείτε περισσότερες ημέρες στην οριζόντια προβολή. - Διαγραφή συνηθειών - Οι συνήθειες θα διαγραφτούν οριστικά. Αυτό δεν μπορεί να αναιρεθεί. Η συνήθεια διαγράφηκε / δεν βρέθηκε Σαββατοκύριακα Δευτέρα μέχρι Παρασκευή @@ -111,7 +102,7 @@ Παραγωγή αναφοράς bug. Αντιμετ.Προβλημάτων Βοηθήστε στην μετάφραση - Νυχτ.Λειτ. + Νυχτ.Λειτ. Χρήση απόλυτου μαύρου στη νυχτ.λειτουργία Αντικαθιστά τα γκρί υπόβαθρα με απόλυτα μαύρα σε νυχτ.λειτουργία. Μειώνει την κατανάλωση μπαταρίας σε συσκευές με οθόνη AMOLED. Διεπιφάνεια @@ -170,15 +161,14 @@ (Προαιρετικό) π.χ. Ξύπνησες νωρίς σήμερα; Ασκήθηκες; Έπαιξες σκάκι; Μετρήσιμο - π.χ. Πόσα χιλιόμετρα έτρεξες Πόσες σελίδες διάβασες; Πόσες θερμίδες έφαγες; %d φορές την εβδομάδα %d φορές το μήνα π.χ. Σωματική άσκηση Χρώμα π.χ. 15 π.χ. Τρέξιμο - π.χ. Πόσα χιλιόμετρα έτρεξες σήμερα? - π.χ. χιλιόμετρα + π.χ. Πόσα χιλιόμετρα έτρεξες σήμερα? + π.χ. χιλιόμετρα Κάθε μήνα Δεν μπορεί να είναι κενό Σήμερα diff --git a/uhabits-android/src/main/res/values-eo-rUY/strings.xml b/uhabits-android/src/main/res/values-eo-rUY/strings.xml index 081b4f1ad..780529432 100644 --- a/uhabits-android/src/main/res/values-eo-rUY/strings.xml +++ b/uhabits-android/src/main/res/values-eo-rUY/strings.xml @@ -17,9 +17,7 @@ ~ You should have received a copy of the GNU General Public License along ~ with this program. If not, see . --> - - - + Loop Habit Tracker Kutimoj Agordoj @@ -29,27 +27,56 @@ Elarĥivigi Aldonu kutimon Ŝanĝi koloron - Kutimo ŝanĝita - Kutimo arĥivita + Kutimo kreita + Generala vidado Kutimo forteco - tagoj + Historio + Liberigi Memorigaĵoj Konservi Strioj + Vi ne havas aktivajn kutimojn + Premu kaj tenu por kontroli aŭ malmarki Neaktiva + Krei kutimon + Eldoni kutimon + Kontrolu Poste - Bonvenon + Loop Habit Tracker helpas vin krei kaj konservi bonajn kutimojn. + Krei kelkajn novajn kutimojn + Ĉiutage, post plenumi vian kutimon, metu markostampon en la app. + Por atenti vian progreson: + Detalaj grafikaĵoj montras al vi kiel viaj kutimoj pliboniĝis kun la tempo. 15 minutoj 30 minutoj + 1 horo + 2 horoj + 4 horoj + 4 horoj + 24 horoj + Ĉiam demandu + Kutimo + Ŝalti per mallonga gazetaro + Metu markilojn per sola frapeto anstataŭ premi kaj teni. Pli oportune, sed eble kaŭzas hazardajn ŝanĝojn. + Taksu ĉi tiun aplikaĵon en Google Play + Sendu reagojn al programisto + Vidu fontkodon ĉe GitHub + Ligilo + Nomo Agordoj - Forigi kutimojn + Elektu dormetigas prokrasti + Ĉu vi sciis? + Por reordigi la enskribojn, premi kaj tenu la nomon de la kutimo, poste trenu ĝin al la ĝusta loko. + Vi povas vidi pliajn tagojn enmetante vian telefonon en pejzaĝa reĝimo. + Kutimo forigita / ne trovita Semajnfinoj Lundo al vendredo Io semajntago Elekti tagojn Eksporti kiel CSV Farite + Liberigi Elekti horojn Elekti minutojn Pri programo @@ -57,29 +84,73 @@ Evoluigantoj Versio %s Frekvenco + Markobutono + Plej bonaj strioj Ĉiu tago Ĉiu semajno Helpo & Ofte Demandite + Malsukcesis eksporti datumojn. + Malsukcesis importi datumojn. Dosiero ne rekonita. + Kutimoj importitaj sukcese. + Importi datumojn + Eksporti plenan sekurkopion + Elportas plenajn sekurkopiojn eksportitajn de ĉi tiu aplikaĵo, same kiel dosierojn generitajn de Tickmate, HabitBull aŭ Rewire. Vidu DPO por pliaj informoj. + Generas dosierojn, kiujn oni povas malfermi per kalkultabelaj programoj kiel Microsoft Excel aŭ OpenOffice Calc. Ĉi tiu dosiero ne povas esti importita reen. + Generas dosieron, kiu enhavas ĉiujn viajn datumojn. Ĉi tiu dosiero povas esti importita reen. + Malsukcesis generi raporton pri eraroj. + Generu raporton pri eraroj Problemserĉado - Nokta reĝimo + Helpu traduki ĉi tiun aplikon + Nokta reĝimo + Uzu puran nigron en malhela temo + Anstataŭigas grizajn fonojn per pura nigra en malhela temo. Reduktas baterian uzon en telefonoj kun AMOLED-ekrano. + Intervizago + Reversa ordo de tagoj + Montri tagojn en inversa ordo sur la ĉefa ekrano. Tago Semajno Monato Jarkvarono Jaro - - + Totalo + Jes aŭ ne + Ĉiujn %d tagojn + Ĉiuj %d semajnoj + Poentaroj + rememor-sonorilo Nenio Filtrilo Kaŝi kompletajn Kaŝi arĥivitajn + Faru sciigojn gluaj + Malhelpas, ke sciigoj estu forglititaj. + Atentiga lumo + Montras palpebrumantan lumon por memorigiloj. Nur havebla en telefonoj kun LED-sciigaj lumoj. Ripari datumbazon Datumbazon riparita. + Malmarku + Ŝalti Ago Kutimo Enkursigi + Mane Laŭ nomo Laŭ koloro + Laŭ poentaro Eksporti + Premu kaj tenu por ŝanĝi la valoron + Ŝanĝi valoron + Kalendaro: + Unueco + ekz. Ĉu vi ekzercis hodiaŭ? + Demando + Celo + Jes + Ne + Ŝanĝu sonon, vibron, lumon kaj aliajn sciigajn agordojn + Adaptitaj sciigoj + Vidu privatecan politikon + Rigardi ĉiujn kontribuantojn… + Datumbazo diff --git a/uhabits-android/src/main/res/values-es-rES/strings.xml b/uhabits-android/src/main/res/values-es-rES/strings.xml index c65099808..bda1b680e 100644 --- a/uhabits-android/src/main/res/values-es-rES/strings.xml +++ b/uhabits-android/src/main/res/values-es-rES/strings.xml @@ -1,6 +1,6 @@ - + Loop Analizador de Hábitos Hábitos Configuración @@ -28,19 +28,23 @@ Agregar hábito Cambiar color Hábito creado - Hábitos eliminados - Hábito cambiado - Hábitos archivados - Hábitos desarchivados + + Español + Spanish + + + Hábito desarchivado + Hábitos desarchivados + Resumen Fuerza del hábito Historial Borrar - días Recordatorio Guardar Rachas No tienes hábitos activos + ¡Ya terminaste todo por hoy! Mantener apretado para marcar o desmarcar Apagado Crear hábito @@ -64,20 +68,24 @@ Personalizar... Marca las repeticiones con una pulsación corta Más cómodo, pero puede causar marcas accidentales. - Tiempo de espera al aplazar recordatorios Valora esta aplicación en Google Play Enviar sugerencias al desarrollador Ver código fuente en GitHub Enlaces Nombre Configuración - Intervalo de espera Seleccione el retardo de la interrupción ¿Sabías qué? Para reordenar las entradas, mantén la pulsado sobre el nombre del hábito, después arrástralo a su posición correcta. Puedes ver más días al poner tu teléfono en modo horizontal. - Eliminar Hábitos - Los hábitos serán eliminados permanentemente. Esta acción no se puede deshacer. + + ¿Eliminar hábito? + ¿Eliminar hábitos? + + + El hábito se eliminará permanentemente. Esta acción no se puede deshacer. + Los hábitos se eliminarán permanentemente. Esta acción no se puede deshacer. + Hábito eliminado / no encontrado Fines de semana De lunes a viernes @@ -111,7 +119,7 @@ Generar reporte de errores Solución de problemas Ayuda a traducir esta app - Modo nocturno + Modo nocturno Utilizar color negro en modo nocturno Reemplaza fondos grises por color negro en modo nocturno. Reduce el consumo de batería en teléfonos con pantalla AMOLED. Interfície @@ -147,6 +155,7 @@ Por nombre Por color Por puntuación + Por estado Exportar Mantenga presionado para cambiar el valor Cambiar valor @@ -170,16 +179,30 @@ (Opcional) por ejemplo, ¿te despertaste temprano hoy? ¿Hiciste ejercicio? ¿Jugaste al ajedrez? Medible - por ejemplo, ¿cuántos quilómetros has corrido hoy? ¿Cuántas páginas has leído? ¿Cuántas calorías has comido? + ej. ¿Cuántas millas ha corrido hoy? ¿Cuántas páginas ha leído? %d veces por semana %d veces al mes ej. Ejercicio Color ej. 15 por ejemplo, correr - ej. ¿Cuántos quilómetros has corrido hoy? - ej. millas + ej. ¿Cuántos quilómetros has corrido hoy? + ej. millas Cada mes No puede estar en blanco Hoy + Introducir + No se encontraron hábitos + No se encontraron hábitos medibles + No se encontraron hábitos de sí o no + Incrementar + Decrementar + Habilitar días libres + 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. + Mostrar interrogantes para datos faltantes + Diferenciar los días sin datos de los lapsos reales. Para ingresar un lapso, alternar dos veces. + Ahora eres desarrollador + No se encontró ninguna aplicación que admita esta acción + Ampliar día unas horas después de medianoche + 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. diff --git a/uhabits-android/src/main/res/values-eu-rES/strings.xml b/uhabits-android/src/main/res/values-eu-rES/strings.xml index fc92b5725..cdffcab40 100644 --- a/uhabits-android/src/main/res/values-eu-rES/strings.xml +++ b/uhabits-android/src/main/res/values-eu-rES/strings.xml @@ -1,6 +1,6 @@ - + Loop Habit Tracker Ohiturak Ezarpenak @@ -28,15 +28,10 @@ Gehitu ohitura Kolorea aldatu Ohitura sortu da - Ohiturak ezabatu dira - Ohitura aldatu egin da - Ohiturak artxibatu dira - Ohiturak desartxibatu dira Ikuspegi orokorra Ohituraren indarra Historia Garbitu - egunetan Oroigarria Gorde Boladak @@ -64,20 +59,16 @@ Pertsonalizatua... Ukitze laburrarekin markatu Ukitze bakar batekin marka jartzen du ukitu eta mantendu egin beharrean. Erosoagoa, baina nahi gabeko markak ekar litzake. - Atzeratze tartea oroigarrietan Aplikazio hau Google Playen puntuatu Zure iritzia garatzaileari bidali Iturburu kodea GitHuben ikusi Loturak Izena Ezarpenak - Atzeratze tartea Aukeratu atzerapen denbora Ba al zenekien? Sarrerak berrantolatzeko, sakatu eta mantendu ohituraren izena, ondoren mugi ezazu leku aproposera. Egun gehiago ikus ditzakezu zure gailua paisai moduan jarriz. - Ohiturak ezabatu - Ohiturak betirako ezabatuko dira. Ekintza hau ezin da desegin. Ohitura ezabatua / ez aurkitua Asteburuak Astelehenetik ostiralera @@ -111,7 +102,7 @@ Akats txostena sortu Arazoen konponketa Lagundu aplikazio hau itzultzen - Azal iluna + Azal iluna erabili beltz hutsa azal ilunean Atzeko plano grisak beltz hutsez aldatzen ditu azal ilunean. Bateriaren erabilera gutxitzen du AMOLED duten gailuetan. Interfazea @@ -170,15 +161,14 @@ (Aukerazkoa) adib. Gaur goiz esnatu zara? Ariketa fisikoa egin al duzu? Xakean jolastu al duzu? Neurgarria - adib. Zenbat kilometro egin dituzu korrika gaur? Zenbat orrialde irakurri dituzu? Zenbat kaloria jan dituzu? Astean %d aldiz Hilean %d aldiz adib. Ariketa Kolorea adib. 15 adib. Korrika egin - adib. Zenbat kilometro egin dituzu korrika gaur? - adib. Kilometroak + adib. Zenbat kilometro egin dituzu korrika gaur? + adib. Kilometroak Hilabetero Ezin da hutsik egon Gaur diff --git a/uhabits-android/src/main/res/values-fa-rIR/strings.xml b/uhabits-android/src/main/res/values-fa-rIR/strings.xml index 635c6f5b9..1d6149503 100644 --- a/uhabits-android/src/main/res/values-fa-rIR/strings.xml +++ b/uhabits-android/src/main/res/values-fa-rIR/strings.xml @@ -1,6 +1,6 @@ - + Loop Habit Tracker عادت‌ها تنظیمات @@ -28,15 +28,10 @@ افزودن عادت تغییر رنگ عادت ایجاد شد - عادت حذف شد - عادت تغییر کرد. - عادت‌ها بایگانی شدند - عادت‌ها از بایگانی خارج شدند مرور قدرت عادت تاریخچه پاک کردن - روز ها یادآور ذخیره روزهای پیوسته @@ -64,20 +59,16 @@ سفارشی سازی با اشاره‌ی کوتاه‌مدت وضعیت عادت را تغییر بده تیک زدن با تک‌ضربه در مقابل ضربه‌زدن و نگه‌داشتن راحت‌تر است ولی ممکن است باعث شود اشتباهی عادتی را تیک بزنید. - بازه به تعویق انداختن یادآورها به این برنامه در گوگل‌پلی امتیاز بدهید ارسال بازخورد به توسعه‌دهنده دیدن منبع برنامه در گیت‌هاب لینک‌ها نام تنظیمات - بازه به تعویق انداختن تأخیر تعویق را انتخاب کنید آیا می دانستید؟ برای جابجایی عناوین، انگشتتان را روی نام عادت مورد نظر بگذارید و نگه دارید، سپس آن را به محل صحیح بکشید. با قرار دادن گوشی در حالت افقی می‌توانید روزهای بیشتری را ببینید. - حذف عادت‌ها - عادت‌ها برای همیشه حذف خواهد شد. این عمل قابل بازگشت نیست. عادت حذف شده/ پیدا نشد آخر هفته‌ها دوشنبه تا جمعه @@ -111,7 +102,7 @@ ایجاد گزارش مشکلات ایرادیابی کمک برای ترجمه این برنامه - حالت شب + حالت شب استفاده از رنگ سیاه خالص در حالت شبانه جایگزینی پس زمینه خاکستری با سیاه خالص در حالت شب. استفاده از باتری در گوشی‌های با صفحه نمایش AMOLED را کاهش می‌دهد. رابط کاربری @@ -170,15 +161,14 @@ (اختیاری) آیا امروز زود بیدار شدید؟ ورزش کردی؟ شطرنج بازی کردی؟ قابل اندازه گیری - امروز چند مایل را طی کردید؟ چند صفحه خواندید؟ چند کالری خوردید؟ %d بار در هفته %d بار در ماه مثلاً ورزش کنید رنگ مثلاً 15 مثلاً اجرا کنید - امروز چند مایل را طی کردید؟ - مایل ها + امروز چند مایل را طی کردید؟ + مایل ها هر ماه نمیتواند خالی باشد امروز diff --git a/uhabits-android/src/main/res/values-fi-rFI/strings.xml b/uhabits-android/src/main/res/values-fi-rFI/strings.xml index 9186ddad3..df75a879d 100644 --- a/uhabits-android/src/main/res/values-fi-rFI/strings.xml +++ b/uhabits-android/src/main/res/values-fi-rFI/strings.xml @@ -17,28 +17,21 @@ ~ You should have received a copy of the GNU General Public License along ~ with this program. If not, see . --> - - - + Loop Habit Tracker Rutiinit Asetukset Muokkaa Poista Arkistoi + Kumoa arkistointi Lisää rutiini Vaihda väriä Rutiini luotu - Rutiinit poistettu - Rutiini muutettu - Rutiinit arkistoitu - Rutiinit palautettu arkistosta Yleiskatsaus Rutiinin vahvuus Historia Tyhjennä - kertaa - päivässä Muistutus Tallenna Pisimmät toistot @@ -49,7 +42,6 @@ Muokkaa rutiinia Tehty Lykkää - Tervetuloa Loop Habit Tracker auttaa sinua luomaan ja ylläpitämään hyviä rutiineja. Merkitse uusia rutiineja @@ -63,6 +55,7 @@ 4 tuntia 8 tuntia 24 tuntia + Muu Vaihda merkintää lyhyellä painalluksella Tee merkit yhdellä painalluksella pitkän painalluksen sijaan. Kätevämpi, mutta saattaa aiheuttaa vahingossa painamista. Arvostele Google Playssä @@ -72,21 +65,62 @@ Nimi Asetukset Tiesitkö? + Muokkaa merkintöjen järjestystä: valitse tavan nimi ja vedä se oikeaan paikkaan. + Näe lisää päiviä kääntämällä puhelimesi pitkittäin. + Tapa on poistettu tai sitä ei löydy + Viikonloppuisin + Maanantaista perjantaihin + Mikä tahansa viikonpäivä + Vie CSV-muodossa Valmis Tyhjennä + Valitse minuutit + Tietoa sovelluksesta Kääntäjät Kehittäjät Versio %s + Toistuvuus Joka päivä Joka viikko - Yötila + Ohjeita ja usein kysyttyä + Virheraportin luonti epäonnistui. + Luo virheraportti + Apua + Auta kääntämään tämä sovellus + Yötila Käytä puhdasta mustaa yötilassa + Korvaa harmaat taustat puhtaalla mustalla tummalla teemalla. Vähentää akun käyttöä puhelimissa AMOLED-näytöllä. + Käyttöliittymä + Näytä päivät käänteisessä järjestyksessä päänäytöllä. Päivä Viikko Kuukausi Kvartaali Vuosi Yhteensä - - + Kyllä vai ei? + %d päivän välein + %d viikon välein + Tulos + Muistutusääni + Suodata + Piilota suoritetut + Piilota arkistoidut + Viikon ensimmäinen päivä + Oletko suorittanut tämän tavan tänään? + Muistiinpanot + (Valinnainen) + Esim. heräsitkö tänään aikaisin? Kuntoilitko? Pelasitko sakkia? + Mitattava + %d kertaa viikossa + %d kertaa kuukaudessa + Esim. kuntoilu + Väri + Esim. 15 + Esim. juokse + Esim. kuinka monta kilometriä juoksit tänään? + Esim. kilometriä + Joka kuukausi + Tätä ei voi jättää tyhjäksi + Tänään diff --git a/uhabits-android/src/main/res/values-fr-rFR/strings.xml b/uhabits-android/src/main/res/values-fr-rFR/strings.xml index 25d07bc5b..6371e45d1 100644 --- a/uhabits-android/src/main/res/values-fr-rFR/strings.xml +++ b/uhabits-android/src/main/res/values-fr-rFR/strings.xml @@ -1,6 +1,6 @@ - + Loop - Suivi d\'habitudes Habitudes Paramètres @@ -28,15 +28,10 @@ Ajouter une habitude Changer la couleur Habitude créée - Habitudes supprimées - Habitude changée - Habitudes archivées - Habitudes désarchivées Vue d\'ensemble Force de l\'habitude Historique Supprimer - jours Rappel Sauvegarder Séries @@ -64,20 +59,16 @@ Personnaliser... Valider l\'habitude avec un appui court Valide l\'habitude avec un appui court plutôt qu\'un appuie long. Plus pratique, mais peut causer des activations accidentelles. - Intervalle de report des rappels Notez cette app sur le Google Play Store Envoyez un avis au développeur Voir le code source sur GitHub Liens Nom Paramètres - Intervalle de report Définir le délai de répétition Le saviez-vous ? Pour réordonner les habitudes, faites un appui long sur le nom de l\'habitude et placez-la à la bonne place. Vous pouvez voir plus de jours en mettant votre téléphone en mode paysage. - Supprimer des habitudes - Les habitudes seront supprimées définitivement. Cette action est irréversible. Habitude supprimée / introuvable Weekends Du lundi au vendredi @@ -111,7 +102,7 @@ Générer un rapport de bug. Résolution de problèmes Aider à traduire cette application - Mode Nuit + Mode Nuit Utiliser un noir pur dans le mode nuit 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. Interface @@ -170,15 +161,14 @@ (Facultatif) Par exemple, vous êtes-vous réveillé tôt aujourd\'hui ? Avez-vous fait de l\'exercice ? Avez-vous joué aux échecs ? Quantifiable - Par exemple, combien de km avez-vous couru aujourd\'hui ? Combien de pages avez-vous lu ? Combien de calories avez-vous mangé ? %d fois par semaine %d fois par mois Par ex, Entrainement Couleur Par ex, 15 Par ex, Courir - Par ex, Combien de km avez-vous couru aujourd\'hui? - Par ex, km + Par ex, Combien de km avez-vous couru aujourd\'hui? + Par ex, km Tous les mois Ne peut pas être vide Aujourd\'hui diff --git a/uhabits-android/src/main/res/values-hi-rIN/strings.xml b/uhabits-android/src/main/res/values-hi-rIN/strings.xml index 2b9c83ccd..5aac909ed 100644 --- a/uhabits-android/src/main/res/values-hi-rIN/strings.xml +++ b/uhabits-android/src/main/res/values-hi-rIN/strings.xml @@ -17,9 +17,7 @@ ~ You should have received a copy of the GNU General Public License along ~ with this program. If not, see . --> - - - + Loop - आदत पर नजर आदतें सेटिंग्स @@ -30,16 +28,10 @@ आदत जोड़ें रंग बदलें आदत बनायी गई - आदत हटाई गई - आदत बहाल - आदत संग्रहीत - आदत असंग्रहीत अवलोकन आदत शक्ति पूर्वलेख साफ करें - बार - दिन अनुस्मारक सहेजें प्रवर्ति @@ -47,12 +39,10 @@ \" चेक या अनचेक करने के लिए दबाएँ व दबाएँ रखें बंद - आदत उत्पन्न करें - आदत संपादित करें - \" -चेक\" + नयी आदत बनाएं + आदत में बद्लाव करें + अंकित करें बाद में - \" स्वागत हे\" लूप हैबिट ट्रैकर नई और अच्छी आदतों को बनाए रखने मे मदद करता है । @@ -62,13 +52,15 @@ अपनी प्रगति को ट्रैक करें\" \" विस्तृत रेखांकन आपको बताएंगे कि कैसे अपनी आदतों में समय के साथ सुधार करें\" - 15 मिनिट - 30 मिनिट - 1 घंटा - 2 घंटा + १५ मिनट + ३० मिनट + १ घंटा + २ घंटे 4 घंटा 8 घंटा 24 घंटे + हमेशा पूछें + अपने तरीके से बनाएं टॉगल पुनरावृत्ति हल्का दबाने से \" अधिक सुविधाजनक है, लेकिन आकस्मिक टॉगल हो सकता है ।\" @@ -79,14 +71,12 @@ लिंक नाम सेटिंग्स + स्नूज़ देरी का चयन करें क्या आप जानते .? \" प्रविष्टियों को पुनर्व्यवस्थित करने के लिए, आदत के नाम पर प्रेस करें और सही जगह पर खींचें।\" \" अपने फोन को लांडसकपे मोड मे रख कर आप अधिक दिनों से देख सकते हैं\" - आदत हटाएँ - \" -आदतों को स्थायी रूप से हटा दिया जाएगा। इस क्रिया को पूर्ववत नहीं किया जा सकता है।\" आदत हटाई गई / नहीं मिली \" सप्ताहांत\" @@ -138,7 +128,7 @@ समस्या निवारण\" \" इस एप्लिकेशन का अनुवाद करने में मदद करें\" - नाइट मोड + नाइट मोड नाइट मोड मे पूरा काला यूज़ करें \" रात मोड में शुद्ध काले रंग के साथ ग्रे पृष्ठभूमि में बदलें. अमोलेड प्रदर्शन के साथ फोन में बैटरी उपयोग कम कर देता है ।\" @@ -152,8 +142,7 @@ तिमाही साल कुल - - + हाँ या नहीं \" हर %d दिन\" \" @@ -167,6 +156,7 @@ संग्रहीत छुपाएं सुचनाए स्थयी रखे नोटिफिकेशन को स्वाइप करने से रोकता है! + नोटिफिकेशन लाइट डेटाबेस को रिपेयर करें डेटाबेस रिपेयर सफल निशान हटाएँ @@ -179,4 +169,25 @@ रंग द्वारा स्कोर से एक्सपोर्ट करे + वैल्यू बदलें + कैलेंडर + इकाई + जैसे आपने आज व्यायाम किया? + प्रश्न + लक्ष्य + हाँ + नहीं + ध्वनि, कंपन, प्रकाश और अन्य अधिसूचना सेटिंग्स बदलें + सूचनाएं कस्टमाइज़ करें + गोपनीयता नीति देखें + सभी योगदानकर्ता देखें… + डेटाबेस + विजेट अपारदर्शिता + आपके होम स्क्रीन में अधिक पारदर्शी या अधिक अपारदर्शी बनाता है। + सप्ताह का पहला दिन + क्या आपने आज यह आदत पूरी कर ली है? + नोट्स + वैकल्पिक + उदा। क्या आप आज जल्दी उठ गए? क्या आपने व्यायाम किया? क्या आपने शतरंज खेला? + मापें diff --git a/uhabits-android/src/main/res/values-hr-rHR/strings.xml b/uhabits-android/src/main/res/values-hr-rHR/strings.xml index 9b75191ab..fab62ad07 100644 --- a/uhabits-android/src/main/res/values-hr-rHR/strings.xml +++ b/uhabits-android/src/main/res/values-hr-rHR/strings.xml @@ -17,9 +17,7 @@ ~ You should have received a copy of the GNU General Public License along ~ with this program. If not, see . --> - - - + Loop Habit Tracker Navike Postavke @@ -30,16 +28,10 @@ Dodaj naviku Promijeni boju Navika je stvorena - Navike su izbrisane - Navika je promijenjena - Navike su arhivirane - Navike su dearhivirane Pregled Snaga navike Povijest Očisti - puta u - dani Podsjetnik Spremi Niz @@ -50,7 +42,6 @@ Uredi naviku Potvrdi Kasnije - Dobrodošli Loop Habit Tracker vam pomaže stvoriti i održavati dobre navike. Stvorite neke nove navike @@ -75,8 +66,6 @@ Jeste li znali? Za razmještanje unosa, pritisnite i držite naziv navike, pa ih premjestite na točno mjesto. Možete vidjeti više dana prebacivanjem uređaja u vodoravnu orijentaciju. - Izbriši Navike - Navike će biti trajno izbrisane. Ova radnja se ne može poništiti. Navika je izbrisana / nije pronađena Vikendi Ponedjeljak do Petak @@ -110,7 +99,7 @@ Generiraj izvješće o pogreški Rješavanje problema Pomozi prevesti ovu aplikaciju - Noćni način + Noćni način Koristi crnu boju za noćni način Zamjenjuje sivu pozadinu sa crnom u noćnom načinu. To smanjuje potrošnju bateriju na uređajima s AMOLED zaslonima. Sučelje @@ -122,8 +111,6 @@ Četvrtina Godina Ukupno - - Svaka %d dana Svaka %d tjedna Rezultat diff --git a/uhabits-android/src/main/res/values-hu-rHU/strings.xml b/uhabits-android/src/main/res/values-hu-rHU/strings.xml index 5ff950ea2..7cba2c6ed 100644 --- a/uhabits-android/src/main/res/values-hu-rHU/strings.xml +++ b/uhabits-android/src/main/res/values-hu-rHU/strings.xml @@ -1,6 +1,6 @@ - + Loop Szokásrögzítő Szokások Beállítások @@ -28,15 +28,10 @@ Új szokás Szín módosítása Szokás létrehozva - Szokás törölve - Szokás módosítva - Szokás archiválva - Szokás újraaktiválva Áttekintés Szokás erőssége Napló Törlés - nap Emlékeztető Mentés Szériák @@ -64,20 +59,16 @@ Egyedi... Bejelölés rövid koppintással Bejelölés koppintással nyomva tartás helyett. Kényelmesebb, de véletlen bejelöléseket okozhat. - Szundi időtartama emlékeztetőnél Értékeld az alkalmazást a Google Play-en Visszajelzés küldése a fejlesztőnek Forráskód megtekintése a GitHub-on Linkek Megnevezés Beállítások - Szundi időtartama Szundi beállítása Tudtad? Az elemek újrarendezéséhez a koppints a szokás nevére, majd húzd a megfelelő helyre. Több nap válik láthatóvá, ha fekvő módba állítod a telefonod kijelzőjét. - Szokások törlése - A szokások véglegesen törölve lesznek. A műveletet nem lehet visszavonni. Szokás törölve / nem található Hétvégente Hétfőtől péntekig @@ -116,7 +107,7 @@ Hibabejelentés generálása Hibaelhárítás Segíts lefordítani ezt az alkalmazást - Éjszakai mód + Éjszakai mód Fekete használata éjszakai módban A szürke hátteret tiszta feketére cseréli éjszakai módban. Csökkenti az energiafelhasználást AMOLED kijelzős telefonokon. Kezelőfelület @@ -175,15 +166,14 @@ (opcionális) pl. Korán keltél ma fel? Edzettél? Sakkoztál? Mérhető - pl. Hány kilométert futottál ma? Hány oldalt olvastál? Hány kalória volt amit ma ettél? Heti %d alkalommal Havi %d alkalommal pl. Edzés Szín pl. 15 pl. Futás - pl. Hány kilométert futottál ma? - pl. kilométer + pl. Hány kilométert futottál ma? + pl. kilométer Minden hónapban Nem lehet üres Ma diff --git a/uhabits-android/src/main/res/values-in-rID/strings.xml b/uhabits-android/src/main/res/values-in-rID/strings.xml index 89119dea6..8a75b12ac 100644 --- a/uhabits-android/src/main/res/values-in-rID/strings.xml +++ b/uhabits-android/src/main/res/values-in-rID/strings.xml @@ -1,6 +1,6 @@ - + Loop Habit Tracker Kebiasaan Pengaturan - Sunting + Ubah Hapus Arsip Keluarkan dari arsip Tambah Kebiasaan Ganti warna - Kebiasaan ditambahkan. - Kebiasaan dihapus. - Kebiasaan diubah. - Kebiasaan diarsipkan. - Kebiasaan dikeluarkan dari arsip. + Kebiasaan ditambahkan + + Kebiasaan diubah + + + Kebiasaan dihapus + + + Kebiasaan diarsipkan + + + Kebiasaan dikeluarkan dari arsip + Ikhtisar Kekuatan Kebiasaan Riwayat Bersihkan - hari Pengingat Simpan Rentetan - Anda tidak memiliki Kebiasaan yang aktif + Kamu tidak memiliki Kebiasaan yang aktif + Kamu sudah selesai untuk hari ini! Tekan dan tahan untuk menambah atau menghapus centang Mati Buat Kebiasaan - Sunting Kebiasaan - Tanda cek + Edit Kebiasaan + Centang Tunda Selamat datang - Loop Habit Tracker membantu mencatat dan mengelola Kebiasaan baik Anda. + Loop Habit Tracker membantu menciptakan dan memelihara Kebiasaan baikmu. Buat beberapa Kebiasaan baru - Berikan tanda cek setiap kali Anda selesai melakukannya. - Lacak perkembangan Anda + Berikan tanda centang setiap kali kamu selesai melakukannya. + Lacak perkembanganmu Grafik terperinci menampilkan perkembangan Kebiasaanmu dari waktu ke waktu. 15 menit 30 menit @@ -61,39 +69,50 @@ 8 jam 24 jam Selalu bertanya - Kustom - Tandai dengan cepat. - Beri tanda cek dengan sekali ketuk bukan tekan-dan-tahan. Lebih nyaman, namun dapat menyebabkan kesalahan penandaan. - Durasi tunda sejenak pada pengingat + Kustom... + Tandai dengan cepat + Beri tanda centang dengan sekali ketuk bukan tekan-dan-tahan. Lebih nyaman, tapi dapat menyebabkan kesalahan penandaan. Berikan rating aplikasi ini di Google Play Kirimkan umpan balik kepada Developer - Lihat kode aplikasi di GitHub + Lihat kode program di GitHub Tautan Nama Pengaturan - Durasi tunda sejenak - Atur jeda penundaan - Sudahkah Anda tahu? - Untuk mengatur urutan, tekan dan tahan judul Kebiasaan lalu tempatkan pada posisi yang Anda inginkan. - Lihat lebih banyak hari dengan merubah posisi ponsel menjadi mode landscape. - Hapus Kebiasaan - Kebiasaan ini akan dihapus secara permanen. Tindakan ini tidak dapat dibatalkan. + Pilih jeda penundaan + Tahukah kamu? + Untuk mengatur urutan, tekan dan tahan judul Kebiasaan lalu tempatkan pada posisi yang kamu inginkan. + Kamu bisa melihat lebih banyak hari dengan mengubah posisi ponsel menjadi mode landscape. + + Hapus Kebiasaan? + + + Kebiasaan ini akan dihapus secara permanen. Tindakan ini tidak dapat dibatalkan. + Kebiasaan telah dihapus / tidak ditemukan Akhir pekan Senin - Jumat - Seluruh hari dalam satu minggu + Hari apapun dalam satu minggu Pilih hari - Ekspor (CSV) + Ekspor sebagai CSV Selesai Hapus Pilih jam Pilih menit + + @string/hint_drag + @string/hint_landscape + Tentang Penerjemah Developer Versi %s Frekuensi - Cek + Tanda centang + Widget susunan tanda centang + Widget susunan frekuensi + Widget susunan skor + Widget sususan riwayat + Widget susunan rentetan Rentetan terbaik Setiap hari Setiap minggu @@ -101,20 +120,20 @@ Gagal mengekspor data. Gagal mengimpor data. File tidak dikenali. - Impor data berhasil. + Impor data Kebiasaan berhasil. Impor data - Ekspor keseluruhan data - Mendukung ekspor data dan berkas dari aplikasi Tickmate, HabitBull atau Rewire. Lihat FAQ untuk informasi lebih lanjut. - Menghasilkan lembar kerja yang dapat dibuka menggunakan aplikasi seperti Microsoft Excel atau OpenOffice Calc. Berkas ini tidak dapat di-impor kembali. - Menghasilkan berkas yang berisikan seluruh data. Berkas ini dapat di-impor kembali. + Ekspor cadangan secara keseluruhan + Mendukung ekspor data dan file dari aplikasi Tickmate, HabitBull atau Rewire. Lihat FAQ untuk informasi lebih lanjut. + Menghasilkan file yang bisa dibuka menggunakan aplikasi seperti Microsoft Excel atau OpenOffice Calc. File ini tidak bisa diimpor kembali. + Menghasilkan file yang berisi seluruh datamu. File ini bisa diimpor kembali. Gagal membuat laporan masalah. Membuat laporan masalah - Penyelesaian masalah + Troubleshoot Bantu menerjemahkan aplikasi ini - Mode malam - Gunakan warna hitam pada mode malam - Ganti warna latar abu-abu dengan warna hitam pada mode gelap. Mengurangi penggunaan baterai pada layar AMOLED. - Antar muka + Mode malam + Gunakan warna hitam pekat pada mode malam + Ganti warna latar abu-abu dengan warna hitam pada mode malam. Mengurangi penggunaan baterai pada layar AMOLED. + Antarmuka Balik urutan hari Tampilkan hari dalam urutan terbalik pada layar utama. Hari @@ -129,27 +148,28 @@ Skor Suara pengingat Tidak ada - Saring + Filter Sembunyikan yang selesai - Sembunyikan arsip - Jadikan notifikasi lengket - Cegah pemberitahuan dari sapuan. - Cahaya Notifikasi - Menunjukan cahaya berkedip sebagai pengingat. Hanya tersedia di perangkat dengan LED notifikasi cahaya - Perbaiki Basis Data - Basis Data diperbaiki. + Sembunyikan yang diarsipkan + Jadikan notifikasi melekat + Mencegah notifikasi untuk terhapus. + Lampu Notifikasi + Memperlihatkan lampu yang berkedip sebagai pengingat. Hanya tersedia di perangkat dengan lampu notifikasi LED. + Perbaiki basis data + Basis data diperbaiki. Hapus centang - Alih + Toggle Tindakan Kebiasaan Urutkan Secara manual Berdasarkan nama - Berdasarkan Warna - Berdasarkan Skor + Berdasarkan warna + Berdasarkan skor + Berdasarkan status Ekspor Tekan-dan-tahan untuk mengubah nilai - Ubah nilai + Ubah nilai (value) Kalender Unit mis. Apakah kamu sudah berolahraga hari ini? @@ -158,28 +178,42 @@ Ya Tidak Ubah suara, getaran, cahaya, dan pengaturan notifikasi lainnya - Kustomisasi notifikasi + Sesuaikan notifikasi Lihat Kebijakan Privasi Lihat semua kontributor - Database + Basis data Opasitas widget - Menjadikan widget lebih transparan atau lebih pekat di layar beranda Anda. + Menjadikan widget lebih transparan atau lebih pekat di layar berandamu. Hari pertama dalam seminggu Sudahkah kamu menyelesaikan kebiasaan ini hari ini? Catatan (Opsional) mis. Apakah kamu bangun awal hari ini? Apakah kamu sudah berolahraga? Apakah kamu sudah bermain catur? Terukur - mis. Berapa km kamu berlari hari ini? Berapa halaman yang kamu baca? Berapa banyak kalori yang kamu konsumsi? + mis. Berapa km kamu berlari hari ini? Berapa lembar yang sudah kamu baca? %d kali per minggu %d kali per bulan mis. Olahraga Warna mis. 15 mis. Lari - mis. Berapa km kamu berlari hari ini? - mis. km + mis. Berapa km kamu berlari hari ini? + mis. km Setiap bulan Tidak boleh kosong Hari ini + Enter + Tidak ada Kebiasaan ditemukan + Tidak ada Kebiasaan terukur yang ditemukan + Tidak ada Kebiasaan ya-atau-tidak yang ditemukan + Kenaikan + Pengurangan + Aktifkan lewati hari + Alihkan dua kali untuk menambahkan sebuah skip, bukannya tanda centang. Skip membuat skormu tidak berubah dan tidak merusak rentetanmu. + Tampilkan tanda tanya untuk data yang hilang + Membedakan hari tanpa data dari selang waktu yang aktual. Untuk memasukkan selang waktu, alihkan dua kali. + Kamu sekarang adalah seorang developer + Aplikasi untuk mendukung tindakan ini tidak ditemukan + Perpanjang hari beberapa jam setelah tengah malam + Tunggu sampai jam 3 pagi untuk menampilkan hari yang baru. Berguna jika kamu biasanya tidur setelah tengah malam. Aplikasi perlu dimulai ulang. diff --git a/uhabits-android/src/main/res/values-it-rIT/strings.xml b/uhabits-android/src/main/res/values-it-rIT/strings.xml index 7ee88457d..87f145b9f 100644 --- a/uhabits-android/src/main/res/values-it-rIT/strings.xml +++ b/uhabits-android/src/main/res/values-it-rIT/strings.xml @@ -1,6 +1,6 @@ - + Loop - Tracciatore di Abitudine Abitudini Impostazioni @@ -28,19 +28,31 @@ Aggiungi abitudine Cambia colore Abitudine creata - Abitudine rimossa - Abitudine modificata - Abitudine archiviata - Abitudine ripristinata + + Abitudine modificata + Abitudini modificate + + + Abitudine eliminata + Abitudini eliminate + + + Abitudine archiviata + Abitudini archiviate + + + Abitudine non archiviata + Abitudini non archiviate + Panoramica Forza dell\'abitudine Cronologia Annulla - giorni Promemoria Salva Serie Non hai abitudini attive + Hai finito tutto per oggi! Tieni premuto per completare o annullare Disabilitato Crea abitudine @@ -64,20 +76,24 @@ Personalizza... Spunta le ripetizioni velocemente Metti le spunte con un tocco singolo invece che tenendo premuto. Più comodo, ma potrebbe causare delle spunte accidentali. - Intervallo di ritardo dei promemoria Valuta quest\'app su Google Play Manda un feedback allo sviluppatore Vedi il codice sorgente su GitHub Links Nome Impostazioni - Snooze Seleziona ritardo posticipo Lo sapevi? Per riordinare le voci, tieni premuto sul nome dell\'abitudine, poi spostala nella posizione corretta. Puoi vedere più giorni mettendo il tuo telefono orizzontale. - Elimina abitudine - L\'abitudine verrà cancellata definitivamente. Non sarà possibile annullare. + + Eliminare l\'abitudine? + Eliminare le abitudini? + + + L\'abitudine verrà eliminata definitivamente. Questa azione non può essere annullata. + Le abitudini verranno eliminate definitivamente. Questa azione non può essere annullata. + Abitudine cancellata / non trovata Weekend Giorni feriali @@ -111,7 +127,7 @@ Genera bug report Risoluzione dei problemi Aiuta a tradurre questa app - Modalità notte + Modalità notte Usa nero puro nella modalità notte Sostituisce gli sfondi grigi con sfondi neri nella modalità notte. Riduce il consumo di batteria nei dispositivi con schermo AMOLED. Interfaccia @@ -147,6 +163,7 @@ Per nome Per colore Per punteggio + Per stato Esporta Tieni premuto per cambiare il valore Cambia valore @@ -170,16 +187,28 @@ (Opzionale) ad es. Ti sei svegliato presto oggi? Hai fatto esercizio? Hai giocato a scacchi? Misurabile - ad es. Quanti chilometri hai corso oggi? Quante pagine hai letto? Quante calorie hai mangiato? - %s volte a settimana + es. Quanti chilometri hai percorso oggi? Quante pagine hai letto? + %d volte a settimana %d volte al mese ad es. Esercizio Colore ad es. 15 ad es. Correre - ad es. Quanti chilometri hai corso oggi? - ad es: Chilometri + ad es. Quanti chilometri hai corso oggi? + ad es: Chilometri Ogni mese Non può essere lasciato vuoto Oggi + Inserisci + Nessuna abitudine trovata + Nessuna abitudine misurabile trovata + Nessuna abitudine sì/no trovata + Incremento + Decremento + Abilita salta giorni + Mostra punti interrogativi per i dati mancanti + Ora sei uno sviluppatore + Nessuna app disponibile per gestire questa azione + Prolunga il giorno di alcune ore dopo la mezzanotte + Attendere fino alle 3:00 per mostrare il nuovo giorno. Utile se solitamente vai a dormire dopo mezzanotte. È necessario riavviare l\'app. diff --git a/uhabits-android/src/main/res/values-iw-rIL/strings.xml b/uhabits-android/src/main/res/values-iw-rIL/strings.xml index ad0d1a9d5..ca3a212b6 100644 --- a/uhabits-android/src/main/res/values-iw-rIL/strings.xml +++ b/uhabits-android/src/main/res/values-iw-rIL/strings.xml @@ -1,6 +1,6 @@ - + Loop Habit Tracker הרגלים הגדרות @@ -28,15 +28,10 @@ הרגל חדש שינוי צבע הרגל נוצר - הרגלים נמחקו - הרגל השתנה - הרגלים הועברו לארכיון - הרגלים הוצאו מארכיון סקירה כללית חוזק ההרגל היסטוריה ניקוי - ימים תזכורת שמירה רצף @@ -64,20 +59,16 @@ התאמה אישית... סימון הרגלים בלחיצה קצרה סמנו יעדים בהקשה קצרה במקום לחיצה ממושכת. נוח יותר, אך יכול להוביל ללחיצות לא מכוונות. - מרווח נדנוד לתזכורות דירוג היישום ב־Google Play שליחת משוב למפתחים צפייה בקוד המקור ב־GitHub קישורים שם הגדרות - זמן בין נדנודים הגדר זמן לדחיית תזכורת הידעת? לשינוי סדר ההרגלים, יש ללחוץ לחיצה ארוכה על ההרגל ולגרור אותו למקום הרצוי. ניתן לראות ימים נוספים ע\"י סיבוב המסך לתצוגה רוחבית. - מחיקת הרגלים - ההרגלים יימחקו לצמיתות. פעולה זו אינה ניתנת לביטול. הרגל נמחק / לא נמצא סופי שבוע ימי חול @@ -111,7 +102,7 @@ הפקת דוח שגיאות פתרון תקלות עזרו לנו לתרגם את האפליקציה - מצב לילה + מצב לילה רקע שחור למצב לילה החלפת הרקע האפור במצב לילה לשחור מוחלט. מפחית בזבוז סוללה במכשירים עם תצוגת AMOLED. ממשק @@ -170,15 +161,14 @@ (רשות) למשל: האם התעוררת מוקדם היום? האם עשית פעילות גופנית? האם שיחקת שחמט? ניתנים למדידה - למשל: כמה קילומטרים רצת היום? כמה עמודים קראת? כמה קלוריות צברת? %d פעמים בשבוע %d פעמים בחודש למשל פעילות גופנית צבע למשל 15 למשל ריצה - למשל: כמה קילומטרים רצת היום? - למשל קילומטרים + למשל: כמה קילומטרים רצת היום? + למשל קילומטרים כל חודש לא יכול להיות ריק היום diff --git a/uhabits-android/src/main/res/values-ja-rJP/strings.xml b/uhabits-android/src/main/res/values-ja-rJP/strings.xml index 2fd14886e..8bc270988 100644 --- a/uhabits-android/src/main/res/values-ja-rJP/strings.xml +++ b/uhabits-android/src/main/res/values-ja-rJP/strings.xml @@ -1,6 +1,6 @@ - + ループ習慣トラッカー 習慣 設定 @@ -28,19 +28,24 @@ 習慣を追加 色の変更 習慣を作成しました - 習慣を削除しました - 習慣を変更しました - 習慣をアーカイブしました - 習慣のアーカイブを解除しました + + 習慣を変更しました + + + 習慣を削除しました + + + 習慣をアーカイブしました + 概要 習慣の強さ 履歴 クリア - リマインダー 保存 連続記録 習慣はありません + 今日は終わり! 長押しするとチェックを付けたり外したりできます オフ 習慣を作成 @@ -64,20 +69,22 @@ カスタム... タップでチェックをON/OFF 長押しではなくシングルタップでチェックを付けます。より便利ですが、誤って切り替えが起こる可能性があります。 - リマインダーのスヌーズ間隔 Google Play でこのアプリを評価 開発者にフィードバックを送信 GitHub でソースコードを参照 リンク タイトル 設定 - スヌーズ間隔 スヌーズの遅延時間を設定 ご存知ですか? エントリーを並べ替えるには、習慣の名前を長押しして、正しい場所にドラッグしてください。 お使いの携帯電話を横置きモードにすることで、より多くの日数を見ることができます。 - 習慣を削除 - 習慣は完全に削除されます。この操作を元に戻すことはできません。 + + 習慣を削除 + + + 習慣は完全に削除されます。この操作を元に戻すことはできません。 + 習慣が削除されているか、見つかりませんでした 週末 月曜日から金曜日 @@ -111,7 +118,7 @@ バグレポートの作成 トラブルシューティング このアプリの翻訳を支援する - ダークテーマ + ダークテーマ ダークテーマで完全な黒を使用する 夜間モードで灰色の背景を完全な黒で置き換えます。AMOLED ディスプレイの電話でバッテリー使用量を抑えます。 インターフェース @@ -147,6 +154,7 @@ 名前で並び替え 色で並び替え 得点で並び替え + ステータス順 エクスポート 長押しすると値を変更できます 値を変更する @@ -170,16 +178,17 @@ (省略可) 例:今日は早く起きましたか?運動しましたか?チェスをしましたか? 数えられるもの - 例:今日は何km走りましたか? 何ページ本を読みましたか? 何kcal食べましたか? + 例:今日は何キロ走ったの?何ページ読んだの? 1 週間に %d 回 1 か月に %d 回 例:運動 例:15 例:ランニング - 例:今日は何km走りましたか? - 例:km + 例:今日は何km走りましたか? + 例:km 毎月 空白にはできません 今日 + 習慣が見つかりませんでした diff --git a/uhabits-android/src/main/res/values-ko-rKR/strings.xml b/uhabits-android/src/main/res/values-ko-rKR/strings.xml index 2ddac9155..77a169a99 100644 --- a/uhabits-android/src/main/res/values-ko-rKR/strings.xml +++ b/uhabits-android/src/main/res/values-ko-rKR/strings.xml @@ -17,9 +17,7 @@ ~ You should have received a copy of the GNU General Public License along ~ with this program. If not, see . --> - - - + Loop 습관제조기 습관 설정 @@ -30,16 +28,10 @@ 습관 추가하기 색상 변경 습관이 생성되었습니다. - 습관이 삭제되었습니다. - 습관이 수정되었습니다. - 습관이 보관되었습니다. - 습관 보관이 해제되었습니다. - 개요 + 한눈에 보기 습관 강도 이력 - 지우기 - - 일 동안 + 취소 알림 저장 연속 @@ -50,7 +42,6 @@ 습관 수정하기 완료 나중에 - 환영합니다 Loop은 당신이 좋은 습관을 만들고 유지하도록 도와줍니다. 새로운 습관을 만들어 보세요. @@ -64,6 +55,8 @@ 4시간 8시간 24시간 + 항상 묻기 + 사용자 지정. 짧게 눌러서 전환하기 길게 누르고 있는 대신에 짧은 탭 한 번으로 체크합니다. 더 편리하지만, 실수로 전환될 수도 있습니다. Google Play에서 평가 @@ -72,11 +65,10 @@ 링크 제목 설정 + 일시중지 시간 설정 아시나요? 목록의 순서를 재배치하려면, 습관의 제목을 길게 누르고 다른 위치로 드래그하면 됩니다. 가로 모드에서는 더 많은 날짜를 볼 수 있습니다. - 습관 삭제 - 습관을 영구적으로 삭제합니다. 이 작업은 취소할 수 없습니다. 습관 삭제 / 찾을 수 없음 주말 주중 @@ -96,7 +88,7 @@ 최고 연속 기록 매일 매주 - 도움 & FAQ + 도움& FAQ 데이터 내보내기에 실패했습니다. 데이터 가져오기에 실패했습니다. 파일을 인식할 수 없습니다. @@ -110,7 +102,7 @@ 오류보고서 작성하기 문제 해결 이 앱의 번역을 도와주세요 - 야간 모드 + 야간 모드 야간 모드에서 검정색 사용하기 야간 모드의 회색 배경을 검정색으로 대체합니다. AMOLED 디스플레이를 사용하는 기기에서 배터리 사용량을 감소시킵니다. 인터페이스 @@ -122,8 +114,7 @@ 분기 전체 - - + 예 또는 아니요 %d일 마다 %d주 마다 점수 @@ -134,6 +125,8 @@ 보관된 항목 숨기기 알림 고정하기 알림을 스와이프해서 제거하는 것을 방지합니다. + 알림 표시등 + 리마인더가 있으면알림 표시등이 깜박입니다. LED 알림 표시등이있는 전화기에서만 사용할 수 있습니다. 데이터베이스 복구 데이터베이스가 복구되었습니다. 선택 해제 @@ -146,4 +139,25 @@ 색상 순으로 점수 순으로 내보내기 + 길게 누르면 값이 변경됩니다. + 값 변경 + 캘린더 + 단위 + 예 : 오늘 운동을 했습니까? + 질문 + 목표 + + 아니요 + 소리, 진동, 밝기 및 기타 알림 설정 + 알림 커스터마이징 + 개인 정보 취급 방침 보기 + 모든 기여자보기… + 데이터베이스 + 첫번째 요일 + 오늘 습관을 지키셨나요? + 메모 + (선택사항) + + 매월 + 오늘 diff --git a/uhabits-android/src/main/res/values-nl-rNL/strings.xml b/uhabits-android/src/main/res/values-nl-rNL/strings.xml index f899a6007..f0f61bcfc 100644 --- a/uhabits-android/src/main/res/values-nl-rNL/strings.xml +++ b/uhabits-android/src/main/res/values-nl-rNL/strings.xml @@ -1,6 +1,6 @@ - + Loop Gewoonte tracker Gewoontes Instellingen @@ -28,15 +28,10 @@ Nieuwe gewoonte Verander kleur Gewoonte aangemaakt. - Gewoontes verwijderd - Gewoonte gewijzigd. - Gewoontes gearchiveerd - Gewoontes hersteld uit archief Overzicht Gewoonte-sterkte Geschiedenis Wis - dagen Herinnering Opslaan Reeksen @@ -64,20 +59,16 @@ Aangepast... Wijzig herhalingen door kort indrukken Zet vinkjes met een enkel tikje in plaats van ingedrukt houden. Handiger, maar kan onbedoelde wijzigingen veroorzaken. - Snooze interval voor herinneringen Beoordeel deze app in Google Play Stuur feedback aan de ontwikkelaar Bekijk de broncode op GitHub Links Naam Instellingen - Snooze interval Snooze vertraging selecteren Wist je dat? Om de rijen te ordenen, houdt de gewoonte ingedrukt en sleep het naar de gewenste plek. Je kunt meer dagen zien door de telefoon in horizontale modus te zetten. - Verwijder gewoontes - De gewoontes zullen permanent verwijderd worden. Deze actie kan niet ongedaan gemaakt worden. Gewoonte verwijderd / niet gevonden Weekends Maandag tot vrijdag @@ -111,7 +102,7 @@ Genereer foutenrapport Probleemoplossing Help deze app te vertalen - Nachtmodus + Nachtmodus Gebruik puur zwart bij nachtmodus Vervangt grijze achtergronden door puur zwart in nachtmodus. Vermindert batterijgebruik bij telefoons met AMOLED scherm. Interface @@ -170,15 +161,14 @@ (Optioneel) bijv. Ben je vandaag vroeg wakker geworden? Heb je gesport? Heb je geschaakt? Meetbaar - bijv. Hoeveel kilometer heb je vandaag hardgelopen? Hoeveel pagina\'s heb je gelezen? Hoeveel calorieën heb je gegeten? %d keer per week %d keer per maand bijv. Sporten Kleur bijv. 15 bijv. Hardlopen - bijv. Hoeveel kilometer heb je vandaag hardgelopen? - bijv. kilometers + bijv. Hoeveel kilometer heb je vandaag hardgelopen? + bijv. kilometers Elke maand Mag niet leeg zijn Vandaag diff --git a/uhabits-android/src/main/res/values-no-rNO/strings.xml b/uhabits-android/src/main/res/values-no-rNO/strings.xml index 9876174d4..6ed9097fd 100644 --- a/uhabits-android/src/main/res/values-no-rNO/strings.xml +++ b/uhabits-android/src/main/res/values-no-rNO/strings.xml @@ -17,9 +17,7 @@ ~ You should have received a copy of the GNU General Public License along ~ with this program. If not, see . --> - - - + Loop Vaneoversikt Vaner Innstillinger @@ -30,16 +28,10 @@ Legg til vane Endr farge Vane laget - Vaner slettet - Vane endret - Vaner arkivert - Vaner uarkivert Oversikt Vanestyrke Logg Fjern - ganger på - dager Påminnelse Lagr Gjentakelser @@ -50,7 +42,6 @@ Redigér vane Sjekk Senere - Velkommen Loop Vaneoversikt hjelper deg med å lage og beholde gode vaner. Lag noen nye vaner @@ -64,6 +55,7 @@ 4 timer 8 timer 1 døgn + Egendefinert... Veksl med enkelttrykk Sett på haker med et enkelttrykk i stedet for å tykke og holde. Mer praktisk, men kan forårsake utilsiktede vekslinger. Vurdér denne appen på Google Play @@ -75,8 +67,6 @@ Visste du at? For å sortere innleggene, trykk og hold på navnet til vanen, deretter dra den til det korrekte stedet. Du kan se flere dager ved å sette telefonen din i landskapsmodus. - Slett vaner - Vanene vil bli slettet permanent. Denne handlingen kan ikke angres. Vane slettet / ikke funnet Helger Hverdager @@ -110,7 +100,7 @@ Generér feilrapport Feilsøkning Hjelp med å oversette denne appen - Nattmodus + Nattmodus Bruk batterisparing i nattmodus Bytter ut grå bakgunner med helt svarte i nattmodus. Reduserer betteribruk hos telefoner med AMOLED-skjerm. Grensesnitt @@ -122,8 +112,7 @@ Kvarter År Totalt - - + Ja / Nei Hver %d. dag Hver %d. uke Poengsum @@ -146,4 +135,6 @@ Etter farge Etter poengsum Eksportér + Endre verdi + Spørsmål diff --git a/uhabits-android/src/main/res/values-pl-rPL/strings.xml b/uhabits-android/src/main/res/values-pl-rPL/strings.xml index 5c7f8f834..e3dda57ad 100644 --- a/uhabits-android/src/main/res/values-pl-rPL/strings.xml +++ b/uhabits-android/src/main/res/values-pl-rPL/strings.xml @@ -1,6 +1,6 @@ - + Śledzenie Nawyków Loop Nawyki Ustawienia @@ -28,19 +28,15 @@ Dodaj nawyk Zmień kolor Utworzono nawyk - Usunięto nawyki - Zmieniono nawyk - Nawyki zarchiwizowane - Nawyki odarchiwizowane Przegląd Siła nawyku Historia Wyczyść - dni Przypomnienie Zapisz Serie Nie masz aktywnych nawyków + Na dziś to wszystko! Naciśnij i przytrzymaj aby zaznaczyć lub odznaczyć Wyłączone Utwórz nawyk @@ -61,23 +57,19 @@ 8 godzin 24 godziny Zawsze pytaj - Niestandardowe... + Własne ustawienia... Przełącz powtarzanie krótkim naciśnięciem Wygodniejsze, ale może spowodować przypadkowe przełączenia. - Czas drzemki między przypomnieniami Oceń tę aplikację w Google Play Prześlij uwagi do programisty Zobacz kod źródłowy na GitHub\'ie Linki Nazwa Ustawienia - Czas drzemki Wybierz długość drzemki Czy wiesz że? Aby zmienić kolejność naciśnij i przytrzymaj na nazwie nawyku i przesuń go na odpowiednie miejsce. Możesz zobaczyć więcej dni trzymając telefon poziomo. - Usuń nawyki - Nawyki zostaną trwale usunięte. Tej operacji nie można cofnąć. Nawyk usunięty/nie znaleziony Weekendy Dni robocze @@ -111,7 +103,7 @@ Wygeneruj raport o błędach Rozwiązywanie problemów Pomóż w tłumaczeniu tej aplikacji - Tryb nocny + Tryb nocny Używaj pełnej czerni w trybie nocnym Zamienia szare tła na pełną czerń w trybie nocnym. Zmniejsza zużycie baterii w telefonach z ekranem AMOLED. Interfejs @@ -147,12 +139,13 @@ Według nazwy Według koloru Według wyniku + Według statusu Eksportuj Naciśnij i przytrzymaj, aby zmienić wartość Zmień wartość Kalendarz Jednostka - np, Czy ćwiczyłeś dzisiaj? + np. Czy ćwiczyłeś dzisiaj? Pytanie Cel Tak @@ -170,16 +163,30 @@ (opcjonalne) np. Czy obudziłeś się dzisiaj wcześnie? Czy ćwiczyłeś? Czy grałeś w szachy? Mierzalne - np. Ile kilometrów przejechałeś dzisiaj? Ile stron przeczytałeś? Ile kalorii zjadłeś? + np. Ile mil przejechałeś dzisiaj? Ile stron przeczytałeś? %d razy w tygodniu %d razy w miesiącu np. ćwiczenia Kolor np. 15 np. Bieg - np. Ile km przebiegłeś dzisiaj? - np. kilometry + np. Ile km przebiegłeś dzisiaj? + np. kilometry Co miesiąc Nie może być puste Dzisiaj + Wprowadź + Nie znaleziono nawyków + Nie znaleziono mierzalnych nawyków + Nie znaleziono nawyków typu tak/nie + Zwiększ + Zmniejsz + Włącz pomijanie dni + Przełącz dwukrotnie, aby dodać pominięcie zamiast znacznika wyboru. Pomijanie utrzymuje niezmieniony wynik i nie przerywa passy. + Pokaż znaki zapytania dla brakujących danych + Odróżnij dni bez danych od faktycznych przerw. Aby wprowadzić przerwę, przełącz dwukrotnie. + Jesteś teraz programistą + Nie znaleziono aplikacji obsługującej to działanie + Przedłuż dzień o kilka godzin po północy + Poczekaj do 3:00, aby pokazać nowy dzień. Przydatne, jeśli zwykle kładziesz się spać po północy. Wymaga ponownego uruchomienia aplikacji. diff --git a/uhabits-android/src/main/res/values-pt-rBR/strings.xml b/uhabits-android/src/main/res/values-pt-rBR/strings.xml index 1874041eb..ae07c2e04 100644 --- a/uhabits-android/src/main/res/values-pt-rBR/strings.xml +++ b/uhabits-android/src/main/res/values-pt-rBR/strings.xml @@ -127,7 +127,7 @@ Gerar relatório de erros. Solução de problemas Ajude a traduzir este app - Modo noturno + Modo noturno Usar preto em modo noturno Substitui os tons de cinza por preto puro em modo noturno. Economiza bateria em telefones com tela AMOLED. Interface diff --git a/uhabits-android/src/main/res/values-pt-rPT/strings.xml b/uhabits-android/src/main/res/values-pt-rPT/strings.xml index 02d8c060f..6d9b58162 100644 --- a/uhabits-android/src/main/res/values-pt-rPT/strings.xml +++ b/uhabits-android/src/main/res/values-pt-rPT/strings.xml @@ -1,6 +1,6 @@ - + Loop - Acompanhador de Hábitos Hábitos Definições @@ -28,15 +28,10 @@ Adicionar hábito Alterar a cor Hábito criado - Hábito eliminado - Hábito alterado - Hábito arquivado - Hábito desarquivado Visão geral Pontuação Histórico Limpar - dias Lembrete Guardar Séries @@ -64,20 +59,16 @@ Personalizar... Toque para alternar entre repetições Mais conveniente, mas pode causar toques acidentais - Intervalo da opção \'Mais Tarde\' nos lembretes Avaliar a app no Google Play Enviar feedback ao programador Ver código-fonte no GitHub Hiperligações Nome Definições - Intervalo da opção \'Mais Tarde\' Definir tempo de suspensão Sabia que? Para reorganizar a lista, mantenha pressionado o nome do hábito e arraste-o para o lugar certo. Pode ver mais dias se utilizar o telemóvel em modo paisagem. - Apagar hábitos - Os hábitos serão permanentemente eliminados. Esta ação é irreversível. Hábito eliminado / não encontrado Fins de Semana Segunda a Sexta @@ -111,7 +102,7 @@ Gerar relatório de erros Resolução de problemas Ajude a traduzir esta aplicação - Modo noturno + Modo noturno Usar preto puro no modo noturno Substitui os fundos cinzentos por pretos puros no modo noturno. Reduz a utilização da bateria em telemóveis com ecrã AMOLED. Interface @@ -170,15 +161,14 @@ (Opcional) ex. Acordou cedo hoje? Fez exercício? Jogou xadrez? Mensurável - ex. Quantos km você correu hoje? Quantas páginas leu? Quantas calorias ingeriu? %d vezes por semana %d vezes por mês ex. Exercício Cor ex. 15 ex. Correr - ex. Quantas km você correu hoje? - ex. km + ex. Quantas km você correu hoje? + ex. km Todos os meses Não pode ficar em branco Hoje diff --git a/uhabits-android/src/main/res/values-ro-rRO/strings.xml b/uhabits-android/src/main/res/values-ro-rRO/strings.xml index 08ffc5031..d4cc5a3f8 100644 --- a/uhabits-android/src/main/res/values-ro-rRO/strings.xml +++ b/uhabits-android/src/main/res/values-ro-rRO/strings.xml @@ -17,9 +17,7 @@ ~ You should have received a copy of the GNU General Public License along ~ with this program. If not, see . --> - - - + Loop Habit Tracker Obiceiuri Setări @@ -30,16 +28,10 @@ Adaugă un obicei Schimbă culoarea Obicei creat. - Obicei șters. - Obicei schimbat. - Obicei arhivat. - Obicei dezarhivat. Prezentare generală Graficul obiceiurilor Istoric Golește - ori în - zile Atenționare Salvează Zile consecutive @@ -50,7 +42,6 @@ Editează obiceiul Bifează Mai târziu - Bine ai venit Loop Habit Tracker te ajută să creezi și să menții obiceiurile bune. Creează noi obiceiuri @@ -64,6 +55,8 @@ 4 ore 8 ore 24 de ore + Intreaba mereu + Diferit... Comută repetițiile printr-o apăsare scurtă Mai convenabil, dar poate cauza comutări accidentale. Evaluează aplicația pe Magazin Play @@ -72,11 +65,10 @@ Aplicație Nume Setări + Selectează durata amânării Știai? Pentru a rearanja obiceiurile, apasă și ține numele obiceiului, apoi trage-l în locul corect. Poți vedea mai multe zile în modul peisaj. - Șterge obiceiurile - Obiceiurile vor fi șterse permanent. Această acțiune nu este reversibilă. Obicei șters / negăsit Weekenduri Zile de lucru @@ -110,7 +102,7 @@ Generează raport de erori Depanare Ajută la traducerea aplicației - Mod întunecat + Mod întunecat Utilizează modul întunecat Înlocuiește fundalurile gri cu negru pur în modul întunecat. Reduce utilizarea bateriei la telefoanele cu ecran AMOLED. Interfață @@ -122,8 +114,7 @@ Trimestru An Total - - + Da sau Nu La fiecare %d zile La fiecare %d săptămâni Scor @@ -134,6 +125,8 @@ Ascunde cele arhivate Notificări lipicioase Împiedică eliminarea notificărilor. + Lumină de notificare + Afișează o lumină intermitentă la notificare. Disponibil doar în telefoanele care au bec LED pentru notificări. Repară baza de date Baza de date reparată. Debifează @@ -146,4 +139,18 @@ După culoare După scor Exportă + Ține apăsat pentru a modifica valoarea + Modifică valoarea + Calendar + Unități + ex.: Ai îndeplinit exerciții fizice azi? + Întrebare + Obiectiv + Da + Nu + Schimbați setările de sunet, vibrații, lumină și altele pentru notificări + Personalizați notificările + Consultați politica de confidențialitate + Vizualizați toți colaboratorii… + Bază de date diff --git a/uhabits-android/src/main/res/values-ru-rRU/strings.xml b/uhabits-android/src/main/res/values-ru-rRU/strings.xml index 38e9e1c2f..c5e0e3583 100644 --- a/uhabits-android/src/main/res/values-ru-rRU/strings.xml +++ b/uhabits-android/src/main/res/values-ru-rRU/strings.xml @@ -139,7 +139,7 @@ Сгенерировать отчёт об ошибке Устранение неполадок Помогите перевести это приложение - Ночной режим + Ночной режим Использовать подлинный чёрный в ночном режиме Заменяет серый фон на подлинный чёрный в ночном режиме. Сокращает расход батареи в телефонах с дисплеем AMOLED. Интерфейс diff --git a/uhabits-android/src/main/res/values-sk-rSK/strings.xml b/uhabits-android/src/main/res/values-sk-rSK/strings.xml index 9977e878e..6bf7b0e50 100644 --- a/uhabits-android/src/main/res/values-sk-rSK/strings.xml +++ b/uhabits-android/src/main/res/values-sk-rSK/strings.xml @@ -1,6 +1,6 @@ - + Loop Habit Tracker Návyky Nastavenia @@ -28,15 +28,10 @@ Pridaj návyk Zmeniť farbu Návyk vytvorený - Návyky zmazané - Návyk zmenený - Návyky dosiahnuté - Návyky nedosiahnuté Prehľad Sila návyku História Zmazať - dní Pripomienka Uložiť Série @@ -64,20 +59,16 @@ Vlastné ... Prepnúť krátkym stlačením Pridajte začiarknutie jediným klepnutím namiesto stlačenia a podržania. Je to pohodlnejšie, ale môže dôjsť k náhodným prepnutiam. - Interval odloženia pripomienok Ohodnoťte túto aplikáciu na Google Play Odošlite spätnú väzbu vývojárovi Zobraziť zdrojový kód na stránke GitHub Odkazy Názov Nastavenia - Interval odloženia Nastaviť dĺžku odloženia Vedeli ste? Pre zmenu usporiadania záznamov, stlačte a podržte názov návyku a potom ho presuňte na správne miesto. Môžete vidieť viac dní otočením telefónu do režimu na šírku. - Zmazať návyky - Návyky budú natrvalo odstránené. Túto akciu nie je možné vrátiť späť. Návyk bol odstránený / nenájdený Víkendy Od pondelka do piatku @@ -111,7 +102,7 @@ Vygenerujte hlásenie o chybe Riešenie problémov Pomôžte preložiť túto aplikáciu - Tmavá téma + Tmavá téma Použite čisto čiernu farbu v tmavej téme Nahrádza sivé pozadie čisto čiernym v tmavej téme. Znižuje spotrebu batérie v telefónoch s displejom AMOLED. Rozhranie @@ -170,15 +161,14 @@ (voliteľné) napr. Zobudili ste sa dnes skoro? Cvičili ste? Hrali ste šach? Merateľné - napr. Koľko kilometrov ste dnes zabehli? Koľko stránok ste čítali? Koľko kalórií ste zjedli? %d krát týždenne %d krát za mesiac napr. Cvičenie Farba napr. 15 napr. Beh - napr. Koľko míľ ste dnes prešli? - napr. míle + napr. Koľko míľ ste dnes prešli? + napr. míle Každý mesiac Nemôže byť prázdne Dnes diff --git a/uhabits-android/src/main/res/values-sl-rSI/strings.xml b/uhabits-android/src/main/res/values-sl-rSI/strings.xml index 68d4b5da0..295c68c85 100644 --- a/uhabits-android/src/main/res/values-sl-rSI/strings.xml +++ b/uhabits-android/src/main/res/values-sl-rSI/strings.xml @@ -17,9 +17,7 @@ ~ You should have received a copy of the GNU General Public License along ~ with this program. If not, see . --> - - - + Loop Sledilnik Navad Navade Nastavitve @@ -30,16 +28,10 @@ Dodaj navado Spremeni barvo Navada ustvarjena - Navada izbrisana - Navada spremenjena. - Navada arhivirana. - Navada dearhivirana. Pregled Moč navade Zgodovina Počisti - krat v - dni Opomnik Shrani Serije @@ -50,7 +42,6 @@ Spremeni navado Označi Kasneje - Dobrodošli Loop Sledilnik Navad vam pomaga ustvariti in vzdrževati dobre navade. Ustvari nekaj novih navad @@ -75,8 +66,6 @@ Ali ste vedeli? Če želite preurediti vnose, pritisnite-in-držite na ime navade, nato pa jo povlecite na željeno mestu. Ogledate si lahko več dni, s tem da telefon postavite v ležeči načinu. - Izbriši Navade - Navade bodo trajno izbrisane. Te operacije ni možno razveljaviti. Izbrisana navada / ni najdena Vikendi Ponedeljek do Petka @@ -110,7 +99,7 @@ Ustvari poročilo o napakah Odpravljanje napak Pomagajte prevesti to aplikacijo - Nočni način + Nočni način Uporabite popolno črnino v nočnem načinu Zamenja siva ozadja s popolno črnino v nočnem načinu. Zmanjša porabo baterije na telefonih z AMOLED zasloni. Vmesnik @@ -122,8 +111,6 @@ Četrtletje Leto Skupaj - - Vsakih %d dni Vsakih %d tednov Ocena diff --git a/uhabits-android/src/main/res/values-sr-rCS/strings.xml b/uhabits-android/src/main/res/values-sr-rCS/strings.xml index 7543902d6..0c6758362 100644 --- a/uhabits-android/src/main/res/values-sr-rCS/strings.xml +++ b/uhabits-android/src/main/res/values-sr-rCS/strings.xml @@ -133,7 +133,7 @@ Napravi izveštaj o grešci Rešavanje problema Pomozite prevođenje - Tamna tema + Tamna tema Čista crna u tamnoj temi Menja sivu pozadinu sa čistom crnom u tamnoj temi. Smanjuje potrošnju baterije kod telefona sa AMOLED ekranom. Sučelje diff --git a/uhabits-android/src/main/res/values-sr-rSP/strings.xml b/uhabits-android/src/main/res/values-sr-rSP/strings.xml index 2cd879630..95e931888 100644 --- a/uhabits-android/src/main/res/values-sr-rSP/strings.xml +++ b/uhabits-android/src/main/res/values-sr-rSP/strings.xml @@ -107,7 +107,7 @@ Избор дана Извези као CSV Завршено - Очисти + Обриши Избор часова Избор минута О програму @@ -133,7 +133,7 @@ Направи извештај о грешци Решавање проблема Помозите превођење - Тамна тема + Тамна тема Чиста црна у тамној теми Мења сиву позадину са чистом црном у тамној теми. Смањује потрошњу батерије код телефона са АМОЛЕД екраном. Сучеље diff --git a/uhabits-android/src/main/res/values-sv-rSE/strings.xml b/uhabits-android/src/main/res/values-sv-rSE/strings.xml index 39ac2dad0..e0586ca77 100644 --- a/uhabits-android/src/main/res/values-sv-rSE/strings.xml +++ b/uhabits-android/src/main/res/values-sv-rSE/strings.xml @@ -136,7 +136,7 @@ Generera felrapport Felsökning Hjälp till att översätta appen - Nattläge + Nattläge Använd svart färg i nattläge Ersätter gråa bakgrunder med svart färg i nattläge. Reducerar batterianvändningen för telefoner med AMOLED-skärm. Gränssnitt diff --git a/uhabits-android/src/main/res/values-ta-rIN/strings.xml b/uhabits-android/src/main/res/values-ta-rIN/strings.xml index b232333c2..d8ecdd40c 100644 --- a/uhabits-android/src/main/res/values-ta-rIN/strings.xml +++ b/uhabits-android/src/main/res/values-ta-rIN/strings.xml @@ -17,9 +17,7 @@ ~ You should have received a copy of the GNU General Public License along ~ with this program. If not, see . --> - - - + Loop Habit Tracker பழக்கங்கள் அமைப்புகள் @@ -30,16 +28,10 @@ சேர்க்க நிறம் மாற்ற பழக்கம் உருவாக்கப்பட்டது - பழக்கம் நீக்கப்பட்டது - பழக்கம் மாற்றப்பட்டது - காப்பகப்படுத்தியப் பழக்கம் - பழக்கங்கள் ஆவண காப்பகத்தில் இருந்து நீக்கப் பட்டது மேற்பார்வை பழக்கத்தின் வலிமை வரலாறு அழி - காலங்களில் - நாட்கள் நினைவூட்டல்கள் சேமிக்கவும் சாதனைகள் @@ -50,7 +42,6 @@ பழக்கத்தை திருத்த சரிப்பார்ப்பு குறி பிறகு - வருக இந்த செயலி நல்ல பழக்க வழக்கங்களை துவங்க மற்றும் தொடர உதவுகிறது. சில புது பழக்கங்களை துவங்கவும்! @@ -64,6 +55,7 @@ 4 மணி நேரம் 8 மணி நேரம் 24 மணி நேரம் + எப்போதும் கேள் சிறிய அழுத்தலின் மூலம் தாவு சரிப் பார்ப்பு குறி யை இட அழுத்தி பிடிப்பதற்கு பதில் ஒரு முறை தட்டலாம். இது முன்னதை விட எளிமையானது. ஆனால் இது தற்செயலான தாவல்களுக்கு வழி வகுக்கும். Google Play-ல் இந்த செயலியை மதிப்பிட @@ -75,8 +67,6 @@ உங்களுக்கு தெரியுமா? பதிவுகளை மறுசீரைமக்க, தேவையான பழக்க பதிவின் மீது அழுத்தி பிடித்து பின் தேவையான இடத்திற்கு அதை இழுக்கவும். உங்கள் கைப்பேசியை அகலவாக்கில் வைக்கும்போது இன்னும் அதிக நாட்களை காண முடியும். - பழக்கங்களை நீக்கவும் - பழக்கங்கள் நிரந்தரமாக நீக்கப்படும். இந்த செயலை மீட்டமைக்க இயலாது. பழக்கம் நீக்கப்பட்டுவிட்டது / காணவில்லை வார இறுதிகள் திங்கள் முதல் வெள்ளி வரை @@ -110,7 +100,7 @@ பிழை அறிக்கை உருவாக்கு பழுது இடமறிதல் இந்த செயலியை மற்ற மொழிகளில் மொழிபெயர்க்க உதவி செய்யவும் - இருள் வண்ண பாங்கு + இருள் வண்ண பாங்கு இருள் பாங்கில் முழு கருப்பு நிறத்தை பயண்படுத்து இதன் மூலம் செயலியில் உள்ள பழுப்பு பின்புலங்கள் நீக்கப்பட்டு முழுவதும் கருப்பு நிற பின்புலங்களாக மாற்றப்படும். இது AMOLED திரை கொண்ட கைப்பேசிகளில் மின்கல பயன்பாட்டை குறைக்கும். இடைமுகம் @@ -122,8 +112,7 @@ காற் பங்கு வருடம் மொத்தம் - - + நீங்கள் செய்தீர்களா அல்லது செய்யவில்லை ஓவ்வொரு %d நாளும் ஒவ்வொரு %d வாரங்களும் மதிப்பெண்கள் diff --git a/uhabits-android/src/main/res/values-te-rIN/strings.xml b/uhabits-android/src/main/res/values-te-rIN/strings.xml index a54847b17..60fab75e4 100644 --- a/uhabits-android/src/main/res/values-te-rIN/strings.xml +++ b/uhabits-android/src/main/res/values-te-rIN/strings.xml @@ -17,10 +17,38 @@ ~ You should have received a copy of the GNU General Public License along ~ with this program. If not, see . --> - - - - - - + + అలవాట్లు + సెట్టింగులు + మార్చు + తొలగించు + ఆర్కైవ్ చేయి + అలవాటు జోడించండి + రంగు మార్చండి + అలవాటు సృష్టించబడింది + అవలోకనం + చరిత్ర + తొలగించుము + జ్ఞాపిక + సేవ్ + మీకు క్రియాశీలమైన అలవాట్లు లేవు + అలవాటు సృష్టించండి + అలవాటును సవరించండి + తనిఖీ చేయి + తరువాత + స్వాగతం + లూప్ అలవాటు ట్రాకర్ మంచి అలవాట్లను సృష్టించడానికి మరియు నిర్వహించడానికి మీకు సహాయపడుతుంది. + కొన్ని కొత్త అలవాట్లను సృష్టించండి + ప్రతి రోజు, మీ అలవాటు చేసిన తర్వాత, అనువర్తనంలో చెక్‌మార్క్ ఉంచండి. + కాలక్రమేణా మీ అలవాట్లు ఎలా మెరుగుపడ్డాయో వివరణాత్మక గ్రాఫ్‌లు మీకు చూపుతాయి. + 15 నిమిషాలు + 30 నిమిషాలు + 1 గంట + 2 గంటలు + 4 గంటలు + 8 గంటలు + 24 గంటలు + ఎల్లప్పుడూ అడుగు + సెట్టింగులు + తొలగించుము diff --git a/uhabits-android/src/main/res/values-tr-rTR/strings.xml b/uhabits-android/src/main/res/values-tr-rTR/strings.xml index a131baa40..07b0b18ff 100644 --- a/uhabits-android/src/main/res/values-tr-rTR/strings.xml +++ b/uhabits-android/src/main/res/values-tr-rTR/strings.xml @@ -1,6 +1,6 @@ - + Loop Alışkanlık Takibi Alışkanlıklar Ayarlar @@ -28,15 +28,10 @@ Alışkanlık ekle Renk Değiştir Alışkanlık oluşturuldu. - Alışkanlık silindi. - Alışkanlık değiştirildi - Alışkanlık arşivlendi. - Alışkanlık arşivden çıkarıldı. Genel Bakış Alışkanlık gücü Geçmiş Temizle - gün Hatırlatma Kaydet Seriler @@ -64,20 +59,16 @@ Özel... Tek dokunuşla işaretle veya işareti kaldır Alışkanlıklarınızı, uzun dokunuş yerine tek dokunuşla işaretlemenizi sağlar. Kullanımı daha kolaydır ancak hatalı olarak işaretleme yapılmasına neden olabilir. - Hatırlatmalardaki erteleme süresi Google Play\'de uygulamayı oyla Geliştiriciye geri bildirim gönder Github\'da kaynak kodunu gör Bağlantılar Ad Ayarlar - Erteleme süresi Erteleme süresini ayarla Biliyor muydun? Girdileri sıralamak için, alışkanlık adının üstüne basılı tut ve doğru yere sürükle. Cihazını yatay tutarak daha fazla gün görebilirsin. - Alışkanlıkları Sil - Alışkanlıklar kalıcı olarak silinecek. Bu eylem geri alınamaz. Alışkanlık silinmiş ya da bulunamadı Hafta sonları Pazartesinden Cumaya @@ -111,7 +102,7 @@ Hata raporu üret Sorun Giderme Bu uygulamanın çevirisine yardım et - Gece kipi + Gece kipi Gece kipinde saf siyah kullan Gece kipinde gri arkaplanını, saf siyah ile değiştir. AMOLED ekranlı cihazlarda pil kullanımını azaltabilir. Arayüz @@ -170,15 +161,14 @@ (Tercihe bağlı) Örneğin, Bugün erken uyandın mı? Spor yaptın mı? Satranç oynadın mı? Ölçülebilir - Örneğin, Bugün kaç km. koştunuz? Kaç sayfa kitap okudunuz? Kaç kalorilik yemek yediniz? Haftada %d kez Ayda %d kez Örneğin, Spor Renk Ör. 15 Örneğin, Koşu - Örneğin, Bugün kaç km. koştunuz? - Örneğin, Km. + Örneğin, Bugün kaç km. koştunuz? + Örneğin, Km. Her ay Boş bırakılamaz Bugün diff --git a/uhabits-android/src/main/res/values-ug-rCN/strings.xml b/uhabits-android/src/main/res/values-ug-rCN/strings.xml index dcc3da83d..88cdb3db8 100644 --- a/uhabits-android/src/main/res/values-ug-rCN/strings.xml +++ b/uhabits-android/src/main/res/values-ug-rCN/strings.xml @@ -17,9 +17,7 @@ ~ You should have received a copy of the GNU General Public License along ~ with this program. If not, see . --> - - - + ئادەت تەڭشەك تەھرىرلەش @@ -29,10 +27,5 @@ ئادەت قېتىلدى رەڭ ئۆزگەردى ئادەت قۇرۇلدى - ئادەت ئۆچۈرۈلدى - ئادەت ئۆزگەرتىلدى - تەڭشەك - - diff --git a/uhabits-android/src/main/res/values-uk-rUA/strings.xml b/uhabits-android/src/main/res/values-uk-rUA/strings.xml index dbf8eb904..e33911ce0 100644 --- a/uhabits-android/src/main/res/values-uk-rUA/strings.xml +++ b/uhabits-android/src/main/res/values-uk-rUA/strings.xml @@ -148,7 +148,7 @@ Створити звіт про помилку Усунення несправностей Допоможіть перекласти цю програму - Нічний режим + Нічний режим Користати цілком чорне тло у нічному режимі Замінює сіре тло на цілком чорне у нічному режимі. Зменшує використання батареї в телефонах із дисплеєм AMOLED. Оболонка diff --git a/uhabits-android/src/main/res/values-vi-rVN/strings.xml b/uhabits-android/src/main/res/values-vi-rVN/strings.xml index 0371155aa..82006cd8f 100644 --- a/uhabits-android/src/main/res/values-vi-rVN/strings.xml +++ b/uhabits-android/src/main/res/values-vi-rVN/strings.xml @@ -1,6 +1,6 @@ - + Trình theo dõi thói quen Loop Thói quen Cài đặt @@ -28,19 +28,27 @@ Thêm thói quen Thay đổi màu sắc Thói quen đã được tạo - Thói quen đã bị xóa - Thói quen đã được thay đổi - Thói quen đã được lưu trữ - Thói quen đã bị huỷ lưu trữ + + Thói quen đã được thay đổi + + + Thói quen đã bị xóa + + + Thói quen đã được lưu trữ + + + Thói quen đã bị huỷ lưu trữ + Tổng quan Độ mạnh của thói quen Lịch sử Xoá - ngày Nhắc nhở Lưu Mức độ Bạn có không có thói quen nào đang hoạt động + Bạn đã xong tất cả cho ngày hôm nay! Nhấn giữ để đánh dấu hoặc bỏ đánh dấu Tắt Tạo thói quen @@ -64,20 +72,22 @@ Tùy chỉnh... Bấm nhanh để chuyển trạng thái Chỉ cần chạm một lần để đánh dấu thay cho việc nhấn giữ. Tiện lợi hơn nhưng có thể đánh dấu sai. - Khoảng thời gian báo lại lời nhắc Đánh giá ứng dụng trên Google Play Gửi phản hồi cho nhà phát triển Xem mã nguồn trên Github Liên kết Tên Cài đặt - Khoảng thời gian tạm dừng Chọn độ trễ báo lại - Bạn đã biết? + Bạn có biết? Để sắp xếp lại các mục, nhấn giữ tên thói quen, sau đó kéo tới vị trí chính xác. Bạn có thể xoay ngang điện thoại để xem được nhiều ngày hơn. - Xoá bỏ thói quen - Thói quen sẽ bị xoá vĩnh viễn. Hành động này không thể khôi phục. + + Xoá thói quen? + + + Thói quen sẽ bị xoá vĩnh viễn. Hành động này không thể được hoàn tác. + Thói quen đã bị xoá hoặc không tìm thấy Cuối tuần Thứ hai đến thứ sáu @@ -94,24 +104,24 @@ Phiên bản %s Tần suất Đánh dấu - Duy trì lâu nhất + Chuỗi dài nhất Hàng ngày Hàng tuần Trợ giúp & Câu hỏi Xuất dữ liệu thất bại. Nhập dữ liệu thất bại. - Không xác nhận được file. + Không nhận ra được tệp. Thói quen được nhập thành công. Nhập dữ liệu - Xuất toàn bộ sao lưu + Xuất bản sao lưu đầy đủ Hỗ trợ các bản sao lưu đầy đủ được xuất ra bởi ứng dụng, cũng như các file được tạo bởi Tickmate, HabitBull hoặc Rewire. Xem FAQ để biết thêm thông tin. - Các file tạo ra có thể mở bằng các phần mềm bảng tính như Microsoft Excel hoặc OpenOffice Calc. Nhưng file này không thể nhập lại. + Tạo ra các tệp có thể được mở bằng các phần mềm bảng tính như Microsoft Excel hoặc OpenOffice Calc. Tệp này không thể được nhập lại. Tạo ra một tệp chứa tất cả dữ liệu của bạn. Tệp này có thể nhập lại. Tạo báo cáo về lỗi. Tạo báo cáo lỗi Xử lí sự cố Giúp dịch ứng dụng - Chế độ ban đêm + Chế độ ban đêm Sử dụng màu đen thuần trong chế độ ban đêm Thay thế nền màu xám bởi màu đen thuần trong chế độ ban đêm. Giảm thiểu việc sử dụng pin của điện thoại có màn hình AMOLED. Giao diện @@ -147,6 +157,7 @@ Theo tên Theo màu sắc Theo điểm số + Theo trạng thái Xuất dữ liệu ra Nhấn và giữ để thay đổi giá trị Thay đổi giá trị @@ -170,16 +181,30 @@ (Không bắt buộc) Ví dụ: Hôm nay bạn có dậy sớm không? Bạn có tập thể dục? Bạn có chơi cờ vua không? Có thể đo lường - Ví dụ như bạn chạy bao nhiêu dặm ngày hôm nay? Bạn đã đọc bao nhiêu trang sách? Bạn đã ăn bao nhiêu calo? + Ví dụ: Hôm nay bạn đã chạy bao nhiêu dặm? Bạn đã đọc bao nhiêu trang? %d lần mỗi tuần %d lần mỗi tháng Ví dụ: Tập thể dục Màu sắc Ví dụ: 15 Ví dụ: Chạy - Ví dụ: Bao nhiêu dặm bạn đã chạy ngày hôm nay? - Ví dụ: Dặm + Ví dụ: Bao nhiêu dặm bạn đã chạy ngày hôm nay? + Ví dụ: Dặm Hàng tháng Không thể để trống Hôm nay + Nhập + Không tìm thấy thói quen nào + Không tìm thấy thói quen có thể đo lường nào + Không tìm thấy thói quen có hoặc không nào + Tăng lên + Giảm xuống + Bật bỏ qua ngày + Bật/tắt hai lần để thêm một lần bỏ qua thay vì dấu kiểm. Bỏ qua giữ cho số điểm của bạn không thay đổi và không phá vỡ chuỗi của bạn. + Hiện dấu hỏi cho dữ liệu bị thiếu + Phân biệt những ngày không có dữ liệu với những lần trôi đi thực tế. Để nhập một lần trôi đi, hãy bật/tắt hai lần. + Bạn đã là nhà phát triển + Không tìm thấy ứng dụng nào để hỗ trợ hành động này + Kéo dài ngày thêm một vài giờ sau nửa đêm + Chờ đến 3:00 sáng để hiện một ngày mới. Rất hữu ích nếu bạn thường đi ngủ sau nửa đêm. Yêu cầu khởi động lại ứng dụng. diff --git a/uhabits-android/src/main/res/values-zh-rCN/strings.xml b/uhabits-android/src/main/res/values-zh-rCN/strings.xml index 9d609f9da..d4a0ff450 100644 --- a/uhabits-android/src/main/res/values-zh-rCN/strings.xml +++ b/uhabits-android/src/main/res/values-zh-rCN/strings.xml @@ -56,7 +56,7 @@ 标记 稍后提醒 欢迎 - Loop 习惯追踪器能帮你养成和保持好习惯。 + Loop 习惯记录能帮你养成和保持好习惯。 养成一些新习惯 每当你完成一项习惯后,就在应用上做一个标记 记录你的进步 @@ -72,7 +72,7 @@ 自定义 轻触以启动重复 更加方便,但有可能造成意外记录 - 去Play商店评价这个应用 + 去 Play 商店评价这个应用 发送反馈给开发者 在 GitHub 上查看源代码 链接 @@ -121,7 +121,7 @@ 生成错误报告 故障排除 帮助翻译这个应用 - 夜间模式 + 深色主题 在夜间模式中使用纯黑色 以纯黑色背景代替夜间模式中的灰色背景。 这可以降低 AMOLED 屏幕手机的耗电量。 @@ -155,16 +155,16 @@ 习惯 排序 手动 - 根据名称 - 根据颜色 - 根据分数 + 按名称 + 按颜色 + 按分数 按状态 导出 长按可更改值 更改值 日历 单位 - 例如:您今天锻炼了吗? + 例如:你今天锻炼了吗? 问题 目标 @@ -172,17 +172,17 @@ 更改声音、振动、灯光和其他通知设置 自定义通知 查看隐私政策 - 查看所有贡献者… - 资料库 - 部件不透明度 - 使小部件在主屏幕上更加透明或更加不透明。 + 查看所有贡献者 + 数据库 + 微件不透明度 + 使微件在主屏幕上更加透明或更加不透明。 一周的起始日 你今天养成这个习惯了吗? 备注 - (可选) - 例如,你今天早起吗? 你运动了吗? 你下国际象棋了吗? - 可计量的 - 例如,今天你跑了几公里?你阅读了几页书? + (可选) + 例如:你今天早起了吗?你锻炼了吗?你下棋了吗? + 可量化的 + 例如:今天你跑了几公里?你阅读了几页书? 每周 %d 次 每月 %d 次 例如:锻炼 @@ -196,8 +196,8 @@ 今日 输入 找不到习惯 - 找不到可测量的习惯。 - 没有找到“是或不是”的习惯 + 找不到可量化的习惯 + 找不到“是或不是”类的习惯 增量 减量 启用跳过天数 @@ -205,7 +205,7 @@ 对丢失的数据显示问号 区分没有数据和实际犯错的日子。要输一个过失,请切换两次。 你现在是一个开发者! - 没有找到支持此操作的应用 + 找不到支持此操作的应用 将一天延长到午夜过后几个小时 等到凌晨3点再展现新的一天。如果你通常在午夜后入睡,这很有用。需要重新启动应用程序。 diff --git a/uhabits-android/src/main/res/values-zh-rTW/strings.xml b/uhabits-android/src/main/res/values-zh-rTW/strings.xml index e952075a4..888daadef 100644 --- a/uhabits-android/src/main/res/values-zh-rTW/strings.xml +++ b/uhabits-android/src/main/res/values-zh-rTW/strings.xml @@ -1,6 +1,6 @@ - + Loop 習以為常 習慣 偏好設定 @@ -28,15 +28,10 @@ 加入新習慣 選擇顏色 習慣已增加 - 習慣已刪除 - 習慣已經被修改 - 習慣已封存 - 習慣已取消封存 總覽 習慣強度 歴史紀錄 清空 - 提醒 儲存 記錄 @@ -64,20 +59,16 @@ 自訂 換成輕碰來記錄習慣 雖然更方便,但有可能變成不小心就點到 - 延後提醒的間隔 在 Google Play 上評價這個 App 傳送改進意見給開發者 在 GitHub 上查看原始碼 連結 習慣名稱 偏好設定 - 延後時間間隔 選擇延後通知 你知道嗎? 如果要重新排列習慣,可以將其拖曳到理想的位置 把手機橫放可以看到更多天數 - 刪除習慣 - 此習慣會被永久刪除,而且無法復原 習慣已刪除 / 搜尋不到 週末 工作日 @@ -115,7 +106,7 @@ 製作錯誤報告 問題排除 協助翻譯本程式 - 夜間模式 + 夜間模式 在夜間模式中使用深色設定 在夜間模式中,使用黑色背景取代灰色背景。這樣可以減少 AMOLED 螢幕手機的電量消耗。 介面 @@ -174,15 +165,14 @@ (非必要的) 例如: 你今天有早起嗎?你有運動嗎?你有下棋嗎? 可測量進度 - 例如:你今天跑了幾英里?你閱讀了幾頁?你吃了多少卡路里? 每周 %d 次 每月 %d 次 例如:運動 顏色 例如:15 例如:跑步 - 例如:你今天跑了幾英里? - 例如:英里 + 例如:你今天跑了幾英里? + 例如:英里 每個月 必填 今天 From b33dd2a9944aff04033986701aa89b7bece5b31a Mon Sep 17 00:00:00 2001 From: "Alinson S. Xavier" Date: Sun, 23 May 2021 11:21:49 -0500 Subject: [PATCH 07/12] Ensure RingView.diameter is never zero In rare cases, it seems either that `onDraw` is called before `onMeasure` or that `onMeasure` is called with a view that has zero height/width. This causes `reallocateCache` to produce an IllegalArgumentException. This patch ensures that diameter is never zero. Fixes #904 --- .../org/isoron/uhabits/activities/common/views/RingView.kt | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/uhabits-android/src/main/java/org/isoron/uhabits/activities/common/views/RingView.kt b/uhabits-android/src/main/java/org/isoron/uhabits/activities/common/views/RingView.kt index 8f552f50b..4a3b10679 100644 --- a/uhabits-android/src/main/java/org/isoron/uhabits/activities/common/views/RingView.kt +++ b/uhabits-android/src/main/java/org/isoron/uhabits/activities/common/views/RingView.kt @@ -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) From 88f8581accdb2513d13d622e84df1e6de6e5d2ca Mon Sep 17 00:00:00 2001 From: "Alinson S. Xavier" Date: Sun, 23 May 2021 11:49:49 -0500 Subject: [PATCH 08/12] Make CheckmarkWidget resizable; remove fixed aspect ratio --- .../uhabits/widgets/views/CheckmarkWidgetView.kt | 11 ++--------- .../src/main/res/xml/widget_checkmark_info.xml | 2 +- 2 files changed, 3 insertions(+), 10 deletions(-) diff --git a/uhabits-android/src/main/java/org/isoron/uhabits/widgets/views/CheckmarkWidgetView.kt b/uhabits-android/src/main/java/org/isoron/uhabits/widgets/views/CheckmarkWidgetView.kt index db37cb273..1799b39c3 100644 --- a/uhabits-android/src/main/java/org/isoron/uhabits/widgets/views/CheckmarkWidgetView.kt +++ b/uhabits-android/src/main/java/org/isoron/uhabits/widgets/views/CheckmarkWidgetView.kt @@ -120,14 +120,7 @@ class CheckmarkWidgetView : HabitWidgetView { 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 + var textSize = 0.15f * height val maxTextSize = getDimension(context, R.dimen.smallerTextSize) textSize = min(textSize, maxTextSize) label.setTextSize(TypedValue.COMPLEX_UNIT_PX, textSize) @@ -137,7 +130,7 @@ class CheckmarkWidgetView : HabitWidgetView { ring.setTextSize(textSize) } ring.setThickness(0.15f * textSize) - super.onMeasure(newWidthMeasureSpec, newHeightMeasureSpec) + super.onMeasure(widthMeasureSpec, heightMeasureSpec) } private fun init() { diff --git a/uhabits-android/src/main/res/xml/widget_checkmark_info.xml b/uhabits-android/src/main/res/xml/widget_checkmark_info.xml index f4d13d90f..86172553b 100644 --- a/uhabits-android/src/main/res/xml/widget_checkmark_info.xml +++ b/uhabits-android/src/main/res/xml/widget_checkmark_info.xml @@ -23,7 +23,7 @@ android:minWidth="40dp" android:initialLayout="@layout/widget_wrapper" android:previewImage="@drawable/widget_preview_checkmark" - android:resizeMode="none" + android:resizeMode="vertical|horizontal" android:updatePeriodMillis="3600000" android:configure="org.isoron.uhabits.widgets.activities.HabitPickerDialog" android:widgetCategory="home_screen"> From 10416e40faae0c33b6fb536f47b01401a502b377 Mon Sep 17 00:00:00 2001 From: "Alinson S. Xavier" Date: Sun, 23 May 2021 11:51:39 -0500 Subject: [PATCH 09/12] Update CHANGELOG.md --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index c9553766a..9f24c45b4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,12 +2,16 @@ ## [2.0.2] - Unreleased +### Changed +- Make checkmark widget resizable + ### Fixed - Fix crash caused by numerical habits with zero target (@iSoron, #903) - Fix small issues with font size (@iSoron) - Allow fractional target values (@sumanabhi, #911) - Fix IllegalStateException in androidx.customview.view (@iSoron, #906) - Fix crash when selecting habit frequency in some languages (@iSoron, #926) +- Fix IllegalArgumentException in RingView (@iSoron, #904) ## [2.0.1] - 2021-05-09 From ece1b93f8dc7f2079d16dd1a74958a05ccfba38a Mon Sep 17 00:00:00 2001 From: "Alinson S. Xavier" Date: Sun, 23 May 2021 11:56:50 -0500 Subject: [PATCH 10/12] GitHub Actions: Increase number of attempts --- .github/workflows/main.yml | 2 +- build.sh | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 4e54ec960..b256d7b85 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -30,7 +30,7 @@ jobs: AndroidTest: needs: Build runs-on: macOS-10.15 - timeout-minutes: 45 + timeout-minutes: 60 strategy: matrix: api: [ diff --git a/build.sh b/build.sh index da9194029..f565365ac 100755 --- a/build.sh +++ b/build.sh @@ -286,7 +286,7 @@ main() { _print_usage exit 1 fi - for attempt in {1..3}; do + for attempt in {1..5}; do log_info "Running Android tests (attempt $attempt)..." android_test $1 && return 0 done From afad56ab9117fde385d4022a6808b0f0160e1316 Mon Sep 17 00:00:00 2001 From: "Alinson S. Xavier" Date: Sun, 23 May 2021 15:34:59 -0500 Subject: [PATCH 11/12] Update test screenshots; automatically fetch --- build.sh | 21 ++++-------------- .../views/widgets/CheckmarkWidget/render.png | Bin 7116 -> 7153 bytes .../widgets/CheckmarkWidgetView/checked.png | Bin 8801 -> 8866 bytes .../CheckmarkWidgetView/large_size.png | Bin 18212 -> 21126 bytes .../widgets/views/CheckmarkWidgetViewTest.kt | 2 +- 5 files changed, 5 insertions(+), 18 deletions(-) diff --git a/build.sh b/build.sh index f565365ac..b865429de 100755 --- a/build.sh +++ b/build.sh @@ -133,6 +133,9 @@ android_test() { log_error "Some $size instrumented tests failed." log_error "Saving logcat: $OUT_LOGCAT..." $ADB logcat -d > $OUT_LOGCAT + log_error "Fetching test screenshots..." + $ADB pull /sdcard/Android/data/${PACKAGE_NAME}/files/test-screenshots ${ANDROID_OUTPUTS_DIR}/ + $ADB shell rm -r /sdcard/Android/data/${PACKAGE_NAME}/files/test-screenshots/ return 1 fi log_info "$size tests passed." @@ -198,13 +201,6 @@ android_build() { return 0 } -android_fetch_images() { - log_info "Fetching images" - rm -rf ${ANDROID_OUTPUTS_DIR}/test-screenshots - $ADB pull /sdcard/Android/data/${PACKAGE_NAME}/files/test-screenshots ${ANDROID_OUTPUTS_DIR}/ - $ADB shell rm -r /sdcard/Android/data/${PACKAGE_NAME}/files/test-screenshots/ -} - android_accept_images() { find ${ANDROID_OUTPUTS_DIR}/test-screenshots -name '*.expected*' -delete rsync -av ${ANDROID_OUTPUTS_DIR}/test-screenshots/ uhabits-android/src/androidTest/assets/ @@ -233,18 +229,14 @@ CI/CD script for Loop Habit Tracker. Usage: build.sh build [options] - build.sh clean [options] build.sh android-tests [options] build.sh android-tests-parallel ... [options] - build.sh android-fetch-images [options] build.sh android-accept-images [options] Commands: build Build the app and run small tests - clean Remove all build directories android-tests Run medium and large Android tests on an emulator android-tests-parallel Tests multiple API levels simultaneously - android-fetch-images Fetch failed view test images from device android-accept-images Copy fetched images to corresponding assets folder Options: @@ -274,12 +266,10 @@ main() { case "$1" in build) shift; _parse_opts "$@" + clean core_build android_build ;; - clean) - clean - ;; android-tests) shift; _parse_opts "$@" if [ -z $1 ]; then @@ -297,9 +287,6 @@ main() { shift; _parse_opts "$@" android_test_parallel $* ;; - android-fetch-images) - android_fetch_images - ;; android-accept-images) android_accept_images ;; diff --git a/uhabits-android/src/androidTest/assets/views/widgets/CheckmarkWidget/render.png b/uhabits-android/src/androidTest/assets/views/widgets/CheckmarkWidget/render.png index 42147c832e0c19ea9b8fe04bc6570f16f75ec27d..561cf25f8dbc571f007ec4e14e24d68c1cdd42b5 100644 GIT binary patch literal 7153 zcmbt(g;x~s7x&U3Al*nVEgefKAe{os3QM}QAS@u=-JK#J&6f~Z8YPyN5JXyPVL`f7 z5JBV}fB(VzzH`pZob#NSJNJ3!-p~Df?vwD;K$D!5nG^&9k!x$I83XrR;QUBT2wX{H z7#)BczPGA2lo&XIiS6S-AeR5M)l{JVg~vq!!88tkM;~X6%~a^me)tK3!<|cGa#iJM z6_w=_K~`y|Dlmd!nnmwsU}2=;Dfc9 zzj|}TQ^k6=iuvji*h#ZHO%`d&|3x*^h8ML#%o>jh$-?{0idnU9TYfcjAx3+NbR?2~ zwQ$5g7;%?d^$z?MHFDP-ND-dW*15B_ZS96qG#+mJgUC^<3MQweV|rgfqjn!Fw)BDJ z?P6&2A8rtAaf?2go8i-SLCfCFFoP?P*SyBlY{j85-gvgeOl__*2L9$+vXIH`F zHLD+n%RrxvWP>5r59s=GwA6`X)k=$xOH3=`{mjqf@hHm@i%*b~jxGpF?##tvf=)dzR7`9{ljj3fzk zxH_CoA$+?b-8C39S_Vfv+2P`)2oyU87~p!u!;z3 zcJSapq`$CmJQ2vujqDQUg6gTK`!Ftwwq-KUB)34(8k2BwJ8SJnBy1zakYeF${pfx% zBqW@?@Zi$35o6!Nmk+|%Hfdc-hW@JnEZVst@EZj5(9$L}a>EWB z6h+4)Z*>pO=Fcy2?v%v8T%OQLf*5faEgLmJvCp|-VbNX__RSF6w)>V9z3ETUtE*Lj243(Pwj`u(8$I^d!2gC4Q%ePZw+OgIs@EXSDNKElFaNiJ(x=BLC(Y<3m$ zw_3IRqJh3L6rT;**J$`^3w7VHv|)|5xs@C|Xe=B9#cj)^FynM$B@3MNHG&q<8I!=K z4F?C4MmS`?JZ5NFV(h*(RkGgrO_R)}b*j9lU*GhSBL${Ynvi|1I}B3dRrvY}W~4;` za(siw;x}J@wH)PNUNI$Vr)i(>IMm=)BKL@eP}Fl0LmFe9 zU9@=l!W5RD%}ZpL`=c9}rJdm)g#EvlznJ`e%y|S^CA=iBQPtUO+rgeMN(aP4@f-4D z@SbzRqV*!Di}{D@{PZwxz+~mgVXs(TGOD>oVCGtxQGq|w%z9C{YZ~q%K_N!Ce=nfV z(emaHjzE-@pg`}{Jk(M`CF(Gd8o9VLg&1&m`rObF`_mvz)c2V)3Ny?NS#!gy^QQH&P-pf&ci|DRzzpz~gUCF~E4fM=a95_#G0hmU z+n6X;o0c1j;)MU3=238FJ zTTnga3x}(@E;RvIMdV0z8XYpUa!o@a*P|YNs1Qai=1{tscK0jGrbj3!oBGbb73AgO zA1y&sWM*72FzU)@hbZv-mNWZ_P}u*R7?=owp1Cs#^i*&hij5-rt`ZYrQAXoBQJ^?E zx!}KWOo8c2o5ols8KI#hgI)C8p)D7}NA;I;zkhpP-RheUfNS5z>(tvk{DkIu7RD=k z*#35~mwoWWWi}nvp_AmZGVR&^u1lWn#}6#Nj?o=uikW0{+4+R)h*$eDWHmPB!vTR# zhW}D$-Gi0;ZC>p?EicOcJEc|U%!O;)0X`V4ZDL-FD7NlYAQPyW(z^XfM-P7%`=sb3 z{yLo|GGs%DG8@IWxyW|nrf6tFR+WL|NpMT%tio2_Vye1v>s6wf%5WK& z*18k?rsd@m7q(jFKzyBytD5>nyC*J1PFCPN+qLPIsNg4z_;iOSLMGz!)|=+15=%`k zeo^59r1xb`U6iZ)znR;}D`m{8aTDUx2pOwj#||YSE9?9uDpb1_Ag2VDPqWl_J-(ls=cb(g6w zotSH3e4;Dly|%kFWKt&1roku8P@996lcA2^BxMzvU_YMGe?uJrll&f0N_)h&!svi8O4UH|LmlFgz*-* z0t&r_v2>F z$1eBj>*RW870sW~diASN_oOpqCyQQ^2?ncKWecxjW=f#)zl%`pE9oeW4$-faiqYO5 zP;Vf4Z6;T*VT4|8r`gz^1Y`Do0*MU$&-z!M0(dRG@Lyo#M9mx z;kPAr-*A=Z8e)DsaLX6%dMlU@{ZvF>zYYZ}*A`w`&w7sibs?kUq!9v-teDIp>^{%f z-D~cE?CaL*R=#x7aPBA4`FVJzNcp}M!39w@#i)} zKxK!N*VHbK$8hcy=ObbMP|I`+h*>9hZg{ZQ}4EgOs5{? z>KqN;X}(IOE6-GwK?mUfE^D?u3uS8^6vvbVnPQy{IHh60-xZ6P-#rFckIF7H={|qaX>C`O$?i^q0xSTs8T7D^#-9TjKfGno@ahxP zn3aOAck%nm0Ts`}uWALki+Wvegxc&=<|#En=P8Klo1#rJ0-DJ5Lwo} zrI8elq8P%!GpTqc=Xi({Lp!b(b%)BDI^?p9)X?OAV&Y2?B)>*9mO>UfM{ zU?Hy1w<=`2(#@|~+)7@t$V8t#H(4hgc%@||UjqxvHVZ!J>LLZp;h==N+PXL}4GcXeNYmz2tnI#}HRJo27Udn8nt2KK6S!9D``{wK$6ln-5%YN$}=6 zuD9PrC?w=~j_J6;m8hf+`!2_K+scwxxjW53XA5~3SEaEQ8F!e7;4kgNT!N7!8xJOT zhsGYm>u8RLO3NrG`aymEA2KB^T~rfEPwS~gj>?vnx&x_4(!Tp{A4)7Cci-gTR`Em1 zDDNQ&MS_qM+EeWWCR^u_nn`RIi-a6aGakCIJa&-e6y5sMl%Vp7T43j(3feuhP}RfagKB zt&p>p#R;QX$M0@QurEvReMuj{A@Uz(BaSlM{k@Q)byD|kKYctCacHe1=nN_A=L$rD zcDqMAdOTTKbPoHQ1RDgzy|NWeqVwEY*mJv{8Mm^EuIHw(85-=o5_M$6q-4skUhiTf z)7qJYX+d%z)2)M$Eq6vwaZyoX8IHA}eR{afgp8)j5*D+Ro#Ezct}~ zpH;?4*CAeb>H`+o%i1leuK3sOevSD!Xks)bP#RY(8d%|1npK61yfuW{QVi-DQdF z)h|7T$347rk6z}jwzdI@`hI=mt{YWN)M_8k|941hbDLDRznetU+hcf5J&@Xr5lR!ijcg1A}i zJ2Uqx2MugZB~z!D@u@fG$`KhLm^55|6J+Ohlvm9|DqKG586%#nDALpM*lNIDeQs~> zF=g}LZ(+{9t2p#|i?m%z+Hr(CN)?;uCQR^N-d78pVOtr8qu$li8Bs}n`!<5G z4rTqeGyMG3pU<(i^{%qdJu2yggxapI)#COF6jaBW7?M)f?KQ_x_xR;}aX@0B*`!@H z8CnUZ9P@2FF5B^dN`rlQs;NcAu+yyu?;)4ZB9|{`Thm|xB$M-z7&bVLM4!#E&|L-t zEr-N*Bt=kxb49D)kVlTFvQI@1x2URKsrz=ao}rp`;CA|5&t@Wq?bgv=6FWN!w6>fIQaZPPH<#S> z1$h)Z;ZM=9n_>qW-}oD1i}ETl_b2!OMvy#E-M4#tN=}47jasq?3mN5?o?LhXv9ewp@QeDv>z!DyyS6bt##A}U(rj5Uc|9Y?pC&x_Xs;f+n^>EmE7 zwY4x8s(nM|yf1YV^6kMhMw)>0JTLwD^1PE5(IfGv_n0~+87aqV<5|vo>fcgU+6Hb-MKps zwFlSP`iVj2ozWIH3w9nkxh*z;glm~7JfAH$HJ-B)`~9hO&k+b500o(S81#zGeull5 zBw8-dF7AZY?N(yHnUDEz&U*7J9I|Dh zgu~`DorlMQQ;#u&L_d^_@>A%Ec+*k`R_b^O$sW9^&#(j7CMsk7!-DpH20vq6?2z84kzLi^0p3*0auj0?v6*v;~ zo9Yc6=DFKKszkIfu9}p_Bwrd{f@u(EXJz6|a*T>M=S=pG{*ZgI-_QdU|LHi`KUsQk z_s&x}tudWOKM4%kujlfO>^J?lU^_Q{J=rgHwL8lGf6|d1d(5P+DWHgWZPB zuXwQjoOv}wo!QNo@P3~kHJ1IBUfqx#-7jgCt}C$WqyC~VO*-A1=3W_AGCVy+mO zd9NA*UNc=!_4`#A_i3sGz?_17e(MF#=k9Q2uq2CTUy)E6Tq%UTY6bW~9)!hYjV^Ml#9a`7KFYPQ_`Mt3uHZ^HJ8 zyxb8gQa-}34^{JWZP4>3g($k!EGJRnS9DQ1@Tp$6RrRGK67kTkh#}K}gfy=O^SK5N z=TB^Zh!lh-pJH>(#{ksjGFEx=j`a%6{;?~8U?v{yV^soR_tl!dd42&?3Qr2_J1hFh zv2*&UqmboJ@9=@F?OXweB6x*vqk6U=b*%QGr(5@Sa#7=YxMhLX$GJAh{88!l+XU|BZAC@UTG*Kwn%jb z8w&#=boZwhyyrLNT9jsSEoq|uOZgULWl~IE-q;~1il93!8Y8t+^Qp4`#S8% z|9Qbbd?3DZZso(rMMs^Skft0^^g#M$Ki0iDZY;_^yjHhexOpR2a8sXsg;_M%r;mOIO zIL6B;k@Ru*tWwH82z|X-4V&ow(dhz{`2L0a{Ff##R!d*DRbI%;m^&k@R<*i6HqURa ztY$X3@8~7^I4@NdUWofv$tb>-P|3a(KZfZAqcDY<;PqXQ!U{s!I*{k2Po51(=6_8o zR>j$vB27`u!g9G-P$VJI;wLrNJc6zo!ReGIB_#NP3jY#aI9_5DH~gi;LqPaHZ;`zE zX?upCL_W$j2go6i1?gXC0VQfX_ESwy%V-l&G^@S61Kyhofo`2nCUk)4qNG##2Q^uv zYMZyWDG<0qlg`I-GPZxt^&HTpH4(tw_^k=5yk9x`I$s=c=Gw6Bxfe&K~ z%CU@;lM}y{|DPvh6PR{wW;xQ)S{0+S=;f1?eQe<;<{Y2Ex!-ef*SY}s0sxW!jv_d$ z>YfaY|5S@0rA$wnhc@Px@49!WKUMm(_dNn`nHLffHb7s!Rh^Twn-f9h9}%yPA>g8q zV2C%vx90f&80av=#kb)hGhsvv%%p@t>SMp2cx-&VkDh`ndIby(yrwSNug1GCMs}6xiVw(;>`E2y9TYcZI2I(~nlQmkxI=8>mCE+T+26j-y zvJur%j}+dPIk=QQCWu^WV)>A|f7#c$;J@9&jnNsVpD>yBA`+>(2O|~_Gv$`HtTirB!%MF|jc7%*u$@wMiSg)#cRHuS3L6wFXt&$o~U41APww literal 7116 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 P4xpy=TCqXiGW>r4iV!&% diff --git a/uhabits-android/src/androidTest/assets/views/widgets/CheckmarkWidgetView/checked.png b/uhabits-android/src/androidTest/assets/views/widgets/CheckmarkWidgetView/checked.png index 46ac8fd037f127f350e038ba7bde48db5af3183c..9548f9994cd6cefb13b416bff8feef0fe6d7a1a2 100644 GIT binary patch literal 8866 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 V+3m1>18+J3R24N9D&?%g{|A@C^&vPN0KaE& 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 OfR@^Q)ep+nVgCm-lvacQ diff --git a/uhabits-android/src/androidTest/assets/views/widgets/CheckmarkWidgetView/large_size.png b/uhabits-android/src/androidTest/assets/views/widgets/CheckmarkWidgetView/large_size.png index 68b695bca06fd1899f098ae255a88bb7046fd62b..5d29f56c88a25e46e3a105e118cc71296ceb906c 100644 GIT binary patch literal 21126 zcma%jc|6qL7x!nz8rc%b5~2kYS<5av*|LnWPuA?R@1{bsQ}#U}``F7mNU{?{b|riG zM)vUB>GwSUKfPXFn$O(Nz31M0?m6#!&ii9;;uX787vmOI&k_iVV zQ)0aJmPbXv_DWpPU|P$NxNurpW?E1{+jwvKWWdeu8Js;w{o4n#^Er9>!cwj={1ZU1 zr$0r4ediC%ha4&})~Z6%u1zi5R3?NkhOd?U`W)x7?L%ce`}~pc{j@|~+1b|9=h2Td zlajL0%%ABsI#JWp^F$CN_u*TtNACLlHvY-|to-D?s4KHU2Msrjvf1lb%6)7e>e}HP z%5_es>zz&5Uk`VZ^R974McDcXSa*tu%b`V|I29ev)JYc2To6LYtN*_;%8$G=ZV?^t|M_Y2PE;n}m8ZfI*w zRX=_4m}%0cf(3M6d$IG&#e&hH7PPPL�Hwr;VGPtv3&CaYEb$t=?bNZn32d1gE)? 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 diff --git a/uhabits-android/src/androidTest/java/org/isoron/uhabits/widgets/views/CheckmarkWidgetViewTest.kt b/uhabits-android/src/androidTest/java/org/isoron/uhabits/widgets/views/CheckmarkWidgetViewTest.kt index 37538e758..f3a842f04 100644 --- a/uhabits-android/src/androidTest/java/org/isoron/uhabits/widgets/views/CheckmarkWidgetViewTest.kt +++ b/uhabits-android/src/androidTest/java/org/isoron/uhabits/widgets/views/CheckmarkWidgetViewTest.kt @@ -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 From 2163a2b93b2d1935365e860ce37e28226fc57e84 Mon Sep 17 00:00:00 2001 From: "Alinson S. Xavier" Date: Sun, 23 May 2021 17:39:34 -0500 Subject: [PATCH 12/12] Update CHANGELOG.md --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9f24c45b4..e87ad34a1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,6 @@ # Changelog -## [2.0.2] - Unreleased +## [2.0.2] - 2021-05-23 ### Changed - Make checkmark widget resizable