Compare commits
73 Commits
release/2.
...
897a236501
| Author | SHA1 | Date | |
|---|---|---|---|
| 897a236501 | |||
| 0cccecec77 | |||
| f1ed875256 | |||
| e82bd47aab | |||
| e9517f7378 | |||
| 12cc70a51a | |||
| fa670b19b7 | |||
| 45b100aad9 | |||
| 3c0c0b77ff | |||
| 66fa56ea62 | |||
| 951dabea8b | |||
| 76b9dd8bd9 | |||
| f68510f860 | |||
| 245b0eb4d6 | |||
| 4a0599fce4 | |||
| abbfe87260 | |||
| 3330014fa9 | |||
|
|
cc720e3dcb | ||
|
|
6e3d06cff9 | ||
|
|
d458cbd47a | ||
|
|
74ce269446 | ||
|
|
9eb8624863 | ||
|
|
c4bc301fb2 | ||
|
|
107c898f51 | ||
|
|
4a7d7ef490 | ||
|
|
13ecc2a386 | ||
|
|
2296a49999 | ||
|
|
303020a8c0 | ||
|
|
37219cb13f | ||
|
|
62d9d29e91 | ||
| 451b536e71 | |||
| 14dbf90c23 | |||
| 280a5ddceb | |||
| 22331ed364 | |||
| d0a45eb523 | |||
|
|
fec73af665 | ||
|
fc9cc423d0
|
|||
|
e7165d993f
|
|||
|
732ec1c70a
|
|||
|
e823cd5758
|
|||
| 46fe683d71 | |||
|
7f6248123c
|
|||
|
2024277ebe
|
|||
| c216fb01d6 | |||
|
7cb32f486b
|
|||
|
093591fbaf
|
|||
|
985234cdf3
|
|||
|
06090e238a
|
|||
|
e48452f724
|
|||
|
|
936986e110 | ||
|
|
4b3910aea8 | ||
|
|
10074ded32 | ||
|
|
1280e798d2
|
||
|
|
b09306e793
|
||
|
|
e30636a447
|
||
|
|
ad8738180c
|
||
|
|
08410c59d0
|
||
|
|
ab86cee70b | ||
|
|
3a0603605b
|
||
|
|
6a78b4d853 | ||
|
|
fe43b1435d | ||
|
|
12503b8a6d | ||
|
|
ef7f78bff0 | ||
|
|
53c208ded5 | ||
|
|
1bdc83e92f | ||
|
|
680c1cdc76 | ||
|
|
80916bac50 | ||
|
|
a5e3e9b3cf | ||
|
248ba50a8e
|
|||
|
|
45a82b3c2d
|
||
|
770d1293dc
|
|||
|
d10538e720
|
|||
|
|
25cff3d9b0 |
11
.github/dependabot.yml
vendored
@@ -1,11 +0,0 @@
|
||||
version: 2
|
||||
updates:
|
||||
- package-ecosystem: "gradle"
|
||||
directory: "/"
|
||||
schedule:
|
||||
interval: "monthly"
|
||||
open-pull-requests-limit: 10
|
||||
- package-ecosystem: "github-actions"
|
||||
directory: "/"
|
||||
schedule:
|
||||
interval: "monthly"
|
||||
2
.github/workflows/main.yml
vendored
@@ -22,7 +22,7 @@ jobs:
|
||||
|
||||
- name: Upload artifacts
|
||||
if: always()
|
||||
uses: actions/upload-artifact@v3
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: build
|
||||
path: |
|
||||
|
||||
24
NOTICE.md
@@ -1,6 +1,6 @@
|
||||
# Copyright Notices
|
||||
|
||||
### ActiveAndroid
|
||||
## ActiveAndroid
|
||||
|
||||
<https://github.com/pardom/ActiveAndroid>
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
|
||||
### Android Open Source Project
|
||||
## Android Open Source Project
|
||||
|
||||
<https://source.android.com/>
|
||||
|
||||
@@ -36,7 +36,7 @@
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
|
||||
### FontAwesome
|
||||
## FontAwesome
|
||||
|
||||
<http://fontawesome.io>
|
||||
|
||||
@@ -59,7 +59,7 @@ under the SIL OFL 1.1.
|
||||
requirement for fonts to remain under this license does not apply
|
||||
to any document created using the fonts or their derivatives.
|
||||
|
||||
### Material Design Icons
|
||||
## Material Design Icons
|
||||
|
||||
<https://github.com/google/material-design-icons>
|
||||
|
||||
@@ -67,7 +67,7 @@ Material design icons are the official icon set from Google that are designed
|
||||
under the material design guidelines. Available under the Creative Common
|
||||
Attribution 4.0 International License (CC-BY 4.0).
|
||||
|
||||
### Android Flow Layout
|
||||
## Android Flow Layout
|
||||
|
||||
<https://github.com/ApmeM/android-flowlayout>
|
||||
|
||||
@@ -87,7 +87,7 @@ Extended linear layout that wrap its content when there is no place in the curre
|
||||
License for the specific language governing permissions and limitations
|
||||
under the License.
|
||||
|
||||
### Dagger 2
|
||||
## Dagger 2
|
||||
|
||||
<https://github.com/google/dagger>
|
||||
|
||||
@@ -108,7 +108,7 @@ A fast dependency injector for Android and Java.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
|
||||
### AutoFactory
|
||||
## AutoFactory
|
||||
|
||||
<https://github.com/google/auto/tree/master/factory>
|
||||
|
||||
@@ -128,7 +128,7 @@ A source code generator for JSR-330-compatible factories.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
|
||||
### Retrolambda
|
||||
## Retrolambda
|
||||
|
||||
<https://github.com/orfjackal/retrolambda>
|
||||
|
||||
@@ -138,7 +138,7 @@ Backport of Java 8's lambda expressions to Java 7, 6 and 5
|
||||
This software is released under the Apache License 2.0.
|
||||
The license text is at http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
### PebbleKit SDK
|
||||
## PebbleKit SDK
|
||||
|
||||
<https://github.com/pebble/pebble-android-sdk/>
|
||||
|
||||
@@ -147,7 +147,7 @@ Android PebbleKit SDK to talk to the Pebble via Bluetooth
|
||||
The MIT License (MIT)
|
||||
Copyright (c) 2014 - 2015 Pebble Technology
|
||||
|
||||
### AppIntro
|
||||
## AppIntro
|
||||
|
||||
<https://github.com/PaoloRotolo/AppIntro>
|
||||
|
||||
@@ -168,7 +168,7 @@ Make a cool intro for your Android app.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
|
||||
### ButterKnife
|
||||
## ButterKnife
|
||||
|
||||
<https://github.com/JakeWharton/butterknife>
|
||||
|
||||
@@ -188,7 +188,7 @@ Bind Android views and callbacks to fields and methods
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
|
||||
### opencsv
|
||||
## opencsv
|
||||
|
||||
<http://opencsv.sourceforge.net/>
|
||||
|
||||
|
||||
35
README.md
@@ -1,13 +1,13 @@
|
||||
<h1 align="center">Loop Habit Tracker</h1>
|
||||
<p align="center">
|
||||
<a href="https://github.com/iSoron/uhabits/actions?query=workflow%3A%22Build+%26+Test%22">
|
||||
<img src="https://github.com/iSoron/uhabits/workflows/Build%20&%20Test/badge.svg" />
|
||||
<img alt="Build & Test" src="https://github.com/iSoron/uhabits/workflows/Build%20&%20Test/badge.svg" />
|
||||
</a>
|
||||
<a href="https://github.com/iSoron/uhabits/releases/latest">
|
||||
<img src="https://img.shields.io/github/v/release/iSoron/uhabits" />
|
||||
<img alt="release" src="https://img.shields.io/github/v/release/iSoron/uhabits" />
|
||||
</a>
|
||||
<a href="https://github.com/iSoron/uhabits/discussions">
|
||||
<img src="https://img.shields.io/badge/GitHub-Discussions-%23fc4ebc" />
|
||||
<img alt="GitHub" src="https://img.shields.io/badge/GitHub-Discussions-%23fc4ebc" />
|
||||
</a>
|
||||
</p>
|
||||
|
||||
@@ -32,32 +32,23 @@ source.
|
||||
|
||||
## Features
|
||||
|
||||
* <b>Beautiful, minimalistic and lightweight interface.</b>
|
||||
Loop has an elegant and minimalistic interface that is very easy to use, even for first-time users. Highly optimized for speed, the app works well even on older phones.
|
||||
* **Beautiful, minimalistic and lightweight interface.** Loop has an elegant and minimalistic interface that is very easy to use, even for first-time users. Highly optimized for speed, the app works well even on older phones.
|
||||
|
||||
* <b>Habit score.</b>
|
||||
Loop has an advanced formula for calculating the strength of your habits. Every repetition makes your habit stronger and every missed day makes it weaker. A few missed days after a long streak, however, will not completely destroy your progress, unlike many other don't-break-the-chain apps.
|
||||
* **Habit score.** Loop has an advanced formula for calculating the strength of your habits. Every repetition makes your habit stronger and every missed day makes it weaker. A few missed days after a long streak, however, will not completely destroy your progress, unlike many other don't-break-the-chain apps.
|
||||
|
||||
* <b>Flexible schedules.</b>
|
||||
In addition to daily habits, Loop supports habits with more complex schedules, such as 3 times per week or every other day.
|
||||
* **Flexible schedules.** In addition to daily habits, Loop supports habits with more complex schedules, such as 3 times per week or every other day.
|
||||
|
||||
* <b>Reminders.</b>
|
||||
Schedule notifications to remind you of your habits. Each habit can have its own reminder, at a chosen time of the day. Easily check or dismiss your habit directly from the notification.
|
||||
* **Reminders.** Schedule notifications to remind you of your habits. Each habit can have its own reminder, at a chosen time of the day. Easily check or dismiss your habit directly from the notification.
|
||||
|
||||
* <b>Widgets.</b>
|
||||
Be reminded of your habits whenever you unlock your phone. Colorful widgets allow you to track your habits directly from your home screen, without even opening the app.
|
||||
* **Widgets.** Be reminded of your habits whenever you unlock your phone. Colorful widgets allow you to track your habits directly from your home screen, without even opening the app.
|
||||
|
||||
* <b>Take control of your data.</b>
|
||||
If you want to further analyze your data, or move it to another service, Loop allows you to export it to spreadsheets (CSV) or to a database file (SQLite). For power users, checkmarks can be added through other apps, such as Tasker.
|
||||
* **Take control of your data.** If you want to further analyze your data, or move it to another service, Loop allows you to export it to spreadsheets (CSV) or to a database file (SQLite). For power users, checkmarks can be added through other apps, such as Tasker.
|
||||
|
||||
* <b>No limitations.</b>
|
||||
Track as many habits as you wish. Loop imposes no artificial limits on how many habits you can have. All features are available to all users. There are no in-app purchases.
|
||||
* **No limitations.** Track as many habits as you wish. Loop imposes no artificial limits on how many habits you can have. All features are available to all users. There are no in-app purchases.
|
||||
|
||||
* <b>Completely ad-free and open source.</b>
|
||||
There are no advertisements, annoying notifications or intrusive permissions in this app, and there will never be. The app is completely open-source (GPLv3).
|
||||
* **Completely ad-free and open source.** There are no advertisements, annoying notifications or intrusive permissions in this app, and there will never be. The app is completely open-source (GPLv3).
|
||||
|
||||
* <b>Works offline and respects your privacy.</b>
|
||||
Loop doesn't require an Internet connection or online account registration. Your confidential data is never sent to anyone. Neither the developers nor any third-parties have access to it.
|
||||
* **Works offline and respects your privacy.** Loop doesn't require an Internet connection or online account registration. Your confidential data is never sent to anyone. Neither the developers nor any third-parties have access to it.
|
||||
|
||||
## Installing
|
||||
|
||||
@@ -94,7 +85,7 @@ contribute, even if you are not a software developer.
|
||||
|
||||
## License
|
||||
|
||||
<img align="right" src="https://www.gnu.org/graphics/gplv3-88x31.png">
|
||||
<img align="right" alt="GPL v3" src="https://www.gnu.org/graphics/gplv3-88x31.png">
|
||||
|
||||
Copyright (C) 2016-2021 Álinson Santos Xavier <isoron@gmail.com>
|
||||
|
||||
|
||||
@@ -1,22 +1,11 @@
|
||||
plugins {
|
||||
val kotlinVersion = "1.9.21"
|
||||
id("com.android.application") version "8.1.4" apply (false)
|
||||
id("org.jetbrains.kotlin.android") version kotlinVersion apply (false)
|
||||
id("org.jetbrains.kotlin.kapt") version kotlinVersion apply (false)
|
||||
id("org.jetbrains.kotlin.multiplatform") version kotlinVersion apply (false)
|
||||
id("org.jlleitschuh.gradle.ktlint") version "11.6.1"
|
||||
alias(libs.plugins.agp) apply false
|
||||
alias(libs.plugins.kotlin.android) apply false
|
||||
alias(libs.plugins.ksp) apply false
|
||||
alias(libs.plugins.ktlint.plugin) apply false
|
||||
alias(libs.plugins.shadow) apply false
|
||||
}
|
||||
|
||||
apply {
|
||||
from("translators.gradle.kts")
|
||||
}
|
||||
|
||||
allprojects {
|
||||
repositories {
|
||||
google()
|
||||
mavenCentral()
|
||||
maven(url = "https://plugins.gradle.org/m2/")
|
||||
maven(url = "https://oss.sonatype.org/content/repositories/snapshots/")
|
||||
maven(url = "https://jitpack.io")
|
||||
}
|
||||
from("gradle/translators.gradle.kts")
|
||||
}
|
||||
|
||||
9
build.sh
@@ -21,7 +21,7 @@ ADB="${ANDROID_HOME}/platform-tools/adb"
|
||||
ANDROID_OUTPUTS_DIR="uhabits-android/build/outputs"
|
||||
AVDMANAGER="${ANDROID_HOME}/cmdline-tools/latest/bin/avdmanager"
|
||||
AVD_PREFIX="uhabitsTest"
|
||||
EMULATOR="${ANDROID_HOME}/tools/emulator"
|
||||
EMULATOR="${ANDROID_HOME}/emulator/emulator"
|
||||
GRADLE="./gradlew --stacktrace --quiet"
|
||||
PACKAGE_NAME=org.isoron.uhabits
|
||||
SDKMANAGER="${ANDROID_HOME}/cmdline-tools/latest/bin/sdkmanager"
|
||||
@@ -38,6 +38,11 @@ if [ ! -f "${ANDROID_HOME}/platform-tools/adb" ]; then
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ ! -f "$EMULATOR" ]; then
|
||||
echo "Error: Not found: $EMULATOR"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Logging
|
||||
# -----------------------------------------------------------------------------
|
||||
|
||||
@@ -64,6 +69,7 @@ fail() {
|
||||
core_build() {
|
||||
log_info "Building uhabits-core..."
|
||||
$GRADLE ktlintCheck || fail
|
||||
$GRADLE lintDebug || fail
|
||||
$GRADLE :uhabits-core:build || fail
|
||||
}
|
||||
|
||||
@@ -216,6 +222,7 @@ android_test_parallel() {
|
||||
for API in $*; do
|
||||
(
|
||||
LOG=build/android-test-$API.log
|
||||
mkdir -p build
|
||||
log_info "API $API: Running tests..."
|
||||
android_test $API 1>$LOG 2>&1
|
||||
ret_code=$?
|
||||
|
||||
@@ -9,17 +9,17 @@ This pages describes how to download and build the app from the source code. If
|
||||
|
||||
## Build using Android Studio
|
||||
|
||||
**Step 1: Install git**
|
||||
### Step 1: Install git
|
||||
|
||||
The package `git` is required for downloading the source code of the app and submitting changes GitHub. Please see [the git book](https://git-scm.com/book/en/v2/Getting-Started-Installing-Git) for further instructions. If you are planning to submit pull requests in the future, it is recommended to [generate and configure your SSH keys](https://help.github.com/en/github/authenticating-to-github/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent).
|
||||
|
||||
**Step 2: Download and install Android Studio**
|
||||
### Step 2: Download and install Android Studio
|
||||
|
||||
Although Android Studio can be downloaded [from their official website](https://developer.android.com/studio/), a much better option is to install it through [JetBrains Toolbox](https://www.jetbrains.com/toolbox-app/). This tool, developed by the same developers of Android Studio, allows you to easily upgrade and downgrade the IDE, or switch between stable, beta and canary versions. After downloading and installing JetBrains Toolbox, simply click the install button near Android Studio to install the newest stable version of IDE. Beta and canary versions have not been tested and may not work correctly.
|
||||
|
||||
After installation, launch Android Studio. If this is the first time you launch it, you will need to go through a wizard to setup the IDE. The default options should work fine. The wizard will download all additional components necessary for development, including the emulator, so it may take a while.
|
||||
|
||||
**Step 3: Download the source code**
|
||||
### Step 3: Download the source code
|
||||
|
||||
To create a complete copy of the source code repository, open the terminal (Linux/macOS) or Git Bash (Windows), navigate to the desired folder, then run:
|
||||
```bash
|
||||
@@ -27,7 +27,7 @@ git clone https://github.com/iSoron/uhabits.git
|
||||
```
|
||||
The repository will be downloaded to the directory `uhabits`.
|
||||
|
||||
**Step 4: Open and run the project on Android Studio**
|
||||
### Step 4: Open and run the project on Android Studio
|
||||
|
||||
1. Launch Android Studio and select "Open an existing Android Studio project".
|
||||
2. When the IDE asks you for the project location, select `uhabits` and click "Ok".
|
||||
@@ -41,7 +41,7 @@ The repository will be downloaded to the directory `uhabits`.
|
||||
|
||||
The following instructions were tested on **Ubuntu Linux 18.04 LTS** and may need to be modified for other operating systems.
|
||||
|
||||
**Step 1: Install basic packages**
|
||||
### Step 1: Install basic packages
|
||||
|
||||
To build the application, some basic packages are required. The package `git` is required to download the source code, while `openjdk-8-jdk-headless` is required for compiling Java and Kotlin files.
|
||||
|
||||
@@ -53,14 +53,14 @@ sudo apt-get install -y git openjdk-8-jdk-headless
|
||||
**IMPORTANT:** Newer JDK versions have not been tested and may not work correctly.
|
||||
|
||||
|
||||
**Step 2: Install Android SDK tools**
|
||||
### Step 2: Install Android SDK tools
|
||||
|
||||
The Android SDK tools contains many necessary tools for developing and debugging Android applications. It can be obtained as part of Android Studio, but, for simple command line usage, it can also be downloaded individually.
|
||||
|
||||
1. Download the file `sdk-tools-linux-4333796.zip` (or a newer version) from https://developer.android.com/studio/#downloads, and extract it somewhere. In this guide, we assume that it was extracted to `/opt/android-sdk/tools`; that is, the script `/opt/android-sdk/tools/bin/sdkmanager` should exist.
|
||||
1. Download the file `sdk-tools-linux-4333796.zip` (or a newer version) from <https://developer.android.com/studio/#downloads>, and extract it somewhere. In this guide, we assume that it was extracted to `/opt/android-sdk/tools`; that is, the script `/opt/android-sdk/tools/bin/sdkmanager` should exist.
|
||||
|
||||
2. Append the following lines to `~/.profile`, so that other tools can locate your Android SDK installation. It is necessary to restart your terminal for these changes to take effect.
|
||||
```
|
||||
```bash
|
||||
export PATH="$PATH:/opt/android-sdk/tools/bin"
|
||||
export PATH="$PATH:/opt/android-sdk/platform-tools"
|
||||
export ANDROID_HOME="/opt/android-sdk"
|
||||
@@ -71,7 +71,7 @@ export ANDROID_HOME="/opt/android-sdk"
|
||||
yes | sdkmanager --licenses
|
||||
```
|
||||
|
||||
**Step 3: Download the source code**
|
||||
### Step 3: Download the source code
|
||||
|
||||
To create a complete copy of the source code repository, navigate to your home directory and run:
|
||||
```bash
|
||||
@@ -79,13 +79,11 @@ git clone https://github.com/iSoron/uhabits.git
|
||||
```
|
||||
The repository will be downloaded to the directory `uhabits`.
|
||||
|
||||
**Step 4: Compile the source code**
|
||||
### Step 4: Compile the source code
|
||||
|
||||
1. Navigate to the directory `uhabits`
|
||||
2. Run `./gradlew assembleDebug --stacktrace`
|
||||
|
||||
If the compilation is successful, a debug APK will be generated somewhere inside the folder `uhabits-android/build/`. Currently, the full path is the following, but it may change in the future:
|
||||
If the compilation is successful, a debug APK will be generated somewhere inside the folder `uhabits-android/build/`. Currently, the full path is `./uhabits-android/build/outputs/apk/debug/uhabits-android-debug.apk`, but it may change in the future.
|
||||
|
||||
./uhabits-android/build/outputs/apk/debug/uhabits-android-debug.apk
|
||||
|
||||
The APK can be installed using the tool `adb`, which should have been automatically installed at `/opt/android-sdk/platform-tools/adb` during compilation of the project.
|
||||
|
||||
@@ -12,17 +12,6 @@
|
||||
|
||||
Please see `docs/BUILD.md` and `docs/TEST.md`
|
||||
|
||||
## Directory Layout
|
||||
|
||||
* `docs` Documentation for developers.
|
||||
* `landing` Source code for our [landing page](http://loophabits.org/).
|
||||
* `uhabits-android` Android-specific code.
|
||||
* `uhabits-core` Common code used by all platforms (Android, iOS).
|
||||
* `uhabits-core-legacy` Proof-of-concept module, developed to evaluate the feasibility of using Kotlin multiplatform for the app; not currently used, and it will be removed soon, once all useful code is ported to the other modules.
|
||||
* `uhabits-ios` Experimental iOS port of Loop. Not currently used in production.
|
||||
* `uhabits-server` Source code for any server-side components the app (for example, device sync).
|
||||
* `uhabits-web` Experimental web port of Loop. Not currently used in production.
|
||||
|
||||
## Branching Policy
|
||||
|
||||
This repository uses the [git-flow branching model](https://nvie.com/posts/a-successful-git-branching-model/). Basically, there are two main branches, `dev` and `master`. All the development takes place in the `dev` branch. After the new features have been implemented and tested, they are merged into the `master` branch and a new version of the app is released. Please submit your pull requests against the `dev` branch.
|
||||
|
||||
@@ -6,3 +6,6 @@ android.enableJetifier=true
|
||||
android.defaults.buildfeatures.buildconfig=true
|
||||
android.nonTransitiveRClass=false
|
||||
android.nonFinalResIds=false
|
||||
org.gradle.configureondemand=true
|
||||
org.gradle.warning.mode=all
|
||||
org.gradle.caching=true
|
||||
102
gradle/libs.versions.toml
Normal file
@@ -0,0 +1,102 @@
|
||||
[versions]
|
||||
agp = "8.8.0"
|
||||
annotation = "1.9.1"
|
||||
appcompat = "1.7.0"
|
||||
appintro = "6.3.1"
|
||||
commonsCodec = "1.16.0"
|
||||
commonsIo = "1.3.2"
|
||||
commonsLang3 = "3.14.0"
|
||||
dagger = "2.55"
|
||||
desugar = "2.1.4"
|
||||
dexmaker = "2.28.3"
|
||||
espresso = "3.6.1"
|
||||
guava = "33.2.1-android"
|
||||
hamcrest = "2.2"
|
||||
jsr250 = "1.0"
|
||||
jsr305 = "3.0.2"
|
||||
junit = "1.2.1"
|
||||
junitJupiter = "5.10.1"
|
||||
junitVersion = "4.13.2"
|
||||
konfetti-xml = "2.0.2"
|
||||
kotlin = "2.1.10"
|
||||
kotlinxCoroutinesCoreCommon = "1.3.8"
|
||||
ksp = "2.1.10-1.0.30"
|
||||
ktlint-plugin = "11.6.1"
|
||||
ktor = "1.6.8"
|
||||
ktxCoroutine = "1.10.1"
|
||||
legacy-support = "1.0.0"
|
||||
material = "1.12.0"
|
||||
mockito-kotlin = "5.4.0"
|
||||
opencsv = "5.9"
|
||||
rules = "1.6.1"
|
||||
shadow = "8.1.1"
|
||||
sqliteJdbc = "3.45.1.0"
|
||||
uiautomator = "2.3.0"
|
||||
|
||||
[libraries]
|
||||
annotation = { group = "androidx.annotation", name = "annotation", version.ref = "annotation" }
|
||||
appIntro = { group = "com.github.AppIntro", name = "AppIntro", version.ref = "appintro" }
|
||||
appcompat = { group = "androidx.appcompat", name = "appcompat", version.ref = "appcompat" }
|
||||
commons-codec = { module = "commons-codec:commons-codec", version.ref = "commonsCodec" }
|
||||
commons-io = { module = "org.apache.commons:commons-io", version.ref = "commonsIo" }
|
||||
commons-lang3 = { module = "org.apache.commons:commons-lang3", version.ref = "commonsLang3" }
|
||||
dagger = { group = "com.google.dagger", name = "dagger", version.ref = "dagger" }
|
||||
dagger-compiler = { group = "com.google.dagger", name = "dagger-compiler", version.ref = "dagger" }
|
||||
desugar_jdk_libs = { group = "com.android.tools", name = "desugar_jdk_libs", version.ref = "desugar" }
|
||||
dexmaker-mockito = { group = "com.linkedin.dexmaker", name = "dexmaker-mockito", version.ref = "dexmaker" }
|
||||
espresso-contrib = { group = "androidx.test.espresso", name = "espresso-contrib", version.ref = "espresso" }
|
||||
espresso-core = { group = "androidx.test.espresso", name = "espresso-core", version.ref = "espresso" }
|
||||
guava = { group = "com.google.guava", name = "guava", version.ref = "guava" }
|
||||
hamcrest = { module = "org.hamcrest:hamcrest", version.ref = "hamcrest" }
|
||||
jsr250-api = { group = "javax.annotation", name = "jsr250-api", version.ref = "jsr250" }
|
||||
jsr305 = { group = "com.google.code.findbugs", name = "jsr305", version.ref = "jsr305" }
|
||||
junit = { group = "androidx.test.ext", name = "junit", version.ref = "junit" }
|
||||
junit-junit = { module = "junit:junit", version.ref = "junitVersion" }
|
||||
junit-jupiter = { module = "org.junit.jupiter:junit-jupiter", version.ref = "junitJupiter" }
|
||||
konfetti-xml = { group = "nl.dionsegijn", name = "konfetti-xml", version.ref = "konfetti-xml" }
|
||||
kotlin-stdlib-jdk8 = { group = "org.jetbrains.kotlin", name = "kotlin-stdlib-jdk8", version.ref = "kotlin" }
|
||||
kotlinx-coroutines-android = { group = "org.jetbrains.kotlinx", name = "kotlinx-coroutines-android", version.ref = "ktxCoroutine" }
|
||||
kotlinx-coroutines-core = { group = "org.jetbrains.kotlinx", name = "kotlinx-coroutines-core", version.ref = "ktxCoroutine" }
|
||||
kotlinx-coroutines-core-common = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-core-common", version.ref = "kotlinxCoroutinesCoreCommon" }
|
||||
kotlinx-coroutines-core-jvm = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm", version.ref = "ktxCoroutine" }
|
||||
ktor-client-android = { group = "io.ktor", name = "ktor-client-android", version.ref = "ktor" }
|
||||
ktor-client-core = { group = "io.ktor", name = "ktor-client-core", version.ref = "ktor" }
|
||||
ktor-client-jackson = { group = "io.ktor", name = "ktor-client-jackson", version.ref = "ktor" }
|
||||
ktor-client-json = { group = "io.ktor", name = "ktor-client-json", version.ref = "ktor" }
|
||||
ktor-client-mock = { group = "io.ktor", name = "ktor-client-mock", version.ref = "ktor" }
|
||||
ktor-jackson = { group = "io.ktor", name = "ktor-jackson", version.ref = "ktor" }
|
||||
legacy-preference-v14 = { group = "androidx.legacy", name = "legacy-preference-v14", version.ref = "legacy-support" }
|
||||
legacy-support-v4 = { group = "androidx.legacy", name = "legacy-support-v4", version.ref = "legacy-support" }
|
||||
material = { group = "com.google.android.material", name = "material", version.ref = "material" }
|
||||
mockito-kotlin = { group = "org.mockito.kotlin", name = "mockito-kotlin", version.ref = "mockito-kotlin" }
|
||||
opencsv = { group = "com.opencsv", name = "opencsv", version.ref = "opencsv" }
|
||||
rules = { group = "androidx.test", name = "rules", version.ref = "rules" }
|
||||
sqlite-jdbc = { module = "org.xerial:sqlite-jdbc", version.ref = "sqliteJdbc" }
|
||||
uiautomator = { group = "androidx.test.uiautomator", name = "uiautomator", version.ref = "uiautomator" }
|
||||
|
||||
[bundles]
|
||||
androidTest = [
|
||||
"annotation",
|
||||
"dagger",
|
||||
"dexmaker-mockito",
|
||||
"espresso-contrib",
|
||||
"espresso-core",
|
||||
"junit",
|
||||
"ktor-client-mock",
|
||||
"ktor-jackson",
|
||||
"mockito-kotlin",
|
||||
"rules",
|
||||
"uiautomator"
|
||||
]
|
||||
test = [
|
||||
"dagger",
|
||||
"junit-junit",
|
||||
"mockito-kotlin",
|
||||
]
|
||||
|
||||
[plugins]
|
||||
agp = { id = "com.android.application", version.ref = "agp" }
|
||||
kotlin-android = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" }
|
||||
ksp = { id = "com.google.devtools.ksp", version.ref = "ksp" }
|
||||
ktlint-plugin = { id = "org.jlleitschuh.gradle.ktlint", version.ref = "ktlint-plugin" }
|
||||
shadow = { id = "com.github.johnrengelman.shadow", version.ref = "shadow" }
|
||||
2
gradle/wrapper/gradle-wrapper.properties
vendored
@@ -1,5 +1,5 @@
|
||||
distributionBase=GRADLE_USER_HOME
|
||||
distributionPath=wrapper/dists
|
||||
distributionUrl=https\://services.gradle.org/distributions/gradle-8.4-bin.zip
|
||||
distributionUrl=https\://services.gradle.org/distributions/gradle-8.10.2-bin.zip
|
||||
zipStoreBase=GRADLE_USER_HOME
|
||||
zipStorePath=wrapper/dists
|
||||
|
||||
@@ -1,13 +1,32 @@
|
||||
pluginManagement {
|
||||
repositories {
|
||||
gradlePluginPortal()
|
||||
google()
|
||||
}
|
||||
resolutionStrategy.eachPlugin {
|
||||
if (requested.id.id == "com.android.application") {
|
||||
useModule("com.android.tools.build:gradle:${requested.version}")
|
||||
google {
|
||||
content {
|
||||
includeGroupByRegex("com\\.android.*")
|
||||
includeGroupByRegex("com\\.google.*")
|
||||
includeGroupByRegex("androidx.*")
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
include(":uhabits-android", ":uhabits-core", ":uhabits-server")
|
||||
include(":uhabits-android", ":uhabits-core")
|
||||
dependencyResolutionManagement {
|
||||
@Suppress("UnstableApiUsage")
|
||||
repositories {
|
||||
google {
|
||||
content {
|
||||
includeGroupByRegex("com\\.android.*")
|
||||
includeGroupByRegex("com\\.google.*")
|
||||
includeGroupByRegex("androidx.*")
|
||||
}
|
||||
}
|
||||
mavenCentral()
|
||||
maven(url = "https://plugins.gradle.org/m2/")
|
||||
maven(url = "https://oss.sonatype.org/content/repositories/snapshots/")
|
||||
maven(url = "https://jitpack.io")
|
||||
}
|
||||
}
|
||||
|
||||
include(":uhabits-android", ":uhabits-core")
|
||||
|
||||
@@ -1,30 +0,0 @@
|
||||
#!/bin/bash
|
||||
input=$1
|
||||
locale_name=$2
|
||||
|
||||
cat <<END
|
||||
// --------------------------------------------------------------------------
|
||||
// THIS FILE WAS AUTOMATICALLY GENERATED
|
||||
//
|
||||
// Please do not submit pull request to modify it. Corrections to translations
|
||||
// may be submitted at https://translate.loophabits.org/
|
||||
// --------------------------------------------------------------------------
|
||||
|
||||
package org.isoron.uhabits.i18n
|
||||
|
||||
END
|
||||
|
||||
prefix="override "
|
||||
if [ "$locale_name" == "" ]; then
|
||||
prefix="open "
|
||||
echo "open class Strings() {"
|
||||
else
|
||||
echo "class Strings$locale_name : Strings() {"
|
||||
fi
|
||||
|
||||
grep "<string name" "$1" | \
|
||||
grep -v translatable | \
|
||||
sed 's/&/\&/g' | \
|
||||
sed 's/^.*name="\([^"]*\)">\([^<]*\)<.*/ '"$prefix"'val \1 = "\2"/'
|
||||
|
||||
echo "}"
|
||||
@@ -1,46 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
INPUT_DIR=../android/uhabits-android/src/main/res/
|
||||
OUTPUT_DIR=../core/src/commonMain/kotlin/org/isoron/uhabits/i18n/
|
||||
|
||||
convert() {
|
||||
./androidStringsToKt.sh $INPUT_DIR/$1/strings.xml "$2" > $OUTPUT_DIR/Strings$2.kt
|
||||
}
|
||||
|
||||
#convert values ""
|
||||
convert values-ar Arabic
|
||||
convert values-bg Bulgarian
|
||||
convert values-ca Catalan
|
||||
convert values-cs Czech
|
||||
convert values-da Danish
|
||||
convert values-de German
|
||||
convert values-el Greek
|
||||
convert values-eo Esperanto
|
||||
convert values-es Spanish
|
||||
convert values-eu Basque
|
||||
convert values-fa Persian
|
||||
convert values-fi Finnish
|
||||
convert values-fr French
|
||||
convert values-hi Hindi
|
||||
convert values-hr Croatian
|
||||
convert values-hu Hungarian
|
||||
convert values-in Indonesian
|
||||
convert values-it Italian
|
||||
convert values-iw Hebrew
|
||||
convert values-ja Japanese
|
||||
convert values-ko Korean
|
||||
convert values-nl Dutch
|
||||
convert values-no-rNO Norwegian
|
||||
convert values-pl Polish
|
||||
convert values-pt-rBR PortugueseBR
|
||||
convert values-pt-rPT PortuguesePT
|
||||
convert values-ro Romanian
|
||||
convert values-ru Russian
|
||||
convert values-sl Slovak
|
||||
convert values-sr Serbian
|
||||
convert values-sv Swedish
|
||||
convert values-tr Turkish
|
||||
convert values-uk Ukrainian
|
||||
convert values-vi Vietnamese
|
||||
convert values-zh-rCN ChineseCN
|
||||
convert values-zh-rTW ChineseTW
|
||||
@@ -1,415 +1,536 @@
|
||||
Name,Languages,"Translated (Words)","Target Words","Approved (Words)",Voted,"""+"" votes received","""-"" votes received","Winning (Words)",Joined
|
||||
"Alinson Xavier (iSoron)","Portuguese, Brazilian; Japanese; Chinese Simplified; Italian; Spanish; Portuguese; French; Hungarian; Chinese Traditional; Turkish; Russian; Polish; Arabic; German; Korean; Greek; Catalan; Bulgarian; Hindi; Slovenian; Ukrainian; Serbian (Cyrillic); Czech; Indonesian; Croatian; Danish; Dutch; Romanian; Swedish; Basque; Persian; Finnish; Vietnamese; Tamil; Telugu; Hebrew; Esperanto; Norwegian; Afrikaans; Slovak; Armenian; Serbian (Latin); Uyghur",15497,18825,1308,0,1896,84,4315,"2016-03-05 18:35:27"
|
||||
"Slobodan Simić (Слободан Симић) (slsimic)","Serbian (Latin); Serbian (Cyrillic)",2054,1831,2114,12,33,0,1991,"2021-02-03 14:26:07"
|
||||
"Oglaigh Rystard (oglaignaheireann)","Ukrainian; Portuguese; Catalan; Greek; Basque; Romanian; Italian",1103,1037,1327,1,13,6,954,"2017-03-31 09:13:19"
|
||||
dukelc,Slovak,1046,993,0,0,0,0,0,"2020-08-27 14:02:41"
|
||||
"David (Cliff122)",Swedish,1040,1019,725,6,0,0,700,"2020-01-21 13:56:55"
|
||||
"Omer I.S. (omeritzics)",Hebrew,1040,927,1122,14,1,0,975,"2020-10-11 20:10:51"
|
||||
"Alinson Xavier (iSoron)","Portuguese, Brazilian; Japanese; Chinese Simplified; Italian; Spanish; Portuguese; French; Hungarian; Chinese Traditional; Turkish; Russian; Arabic; Polish; German; Korean; Bulgarian; Catalan; Greek; Slovenian; Hindi; Serbian (Cyrillic); Ukrainian; Czech; Danish; Dutch; Indonesian; Croatian; Romanian; Swedish; Basque; Persian; Finnish; Vietnamese; Tamil; Telugu; Hebrew; Esperanto; Afrikaans; Norwegian; Armenian; Slovak; Serbian (Latin); Uyghur",15497,18825,1308,0,2094,111,4315,"2016-03-05 18:35:27"
|
||||
"Slobodan Simić (Слободан Симић) (slsimic)","Serbian (Latin); Serbian (Cyrillic)",2072,1852,2139,12,30,0,2015,"2021-02-03 14:26:07"
|
||||
dukelc,Slovak,1107,1052,0,0,0,0,0,"2020-08-27 14:02:41"
|
||||
"Oglaigh Rystard (oglaignaheireann)","Ukrainian; Portuguese; Catalan; Greek; Basque; Romanian; Italian",1103,1037,1327,1,22,13,954,"2017-03-31 09:13:19"
|
||||
Avalysion,Georgian,1057,895,0,0,0,0,0,"2023-06-30 20:05:15"
|
||||
"Mathew TK (mathew2006)",Malayalam,1057,1885,0,0,0,0,0,"2023-12-16 01:57:49"
|
||||
REMOVED_USER,Hebrew,1051,944,1122,14,1,0,954,"2020-10-11 20:10:51"
|
||||
"David (Cliff122)",Swedish,1040,1019,725,6,37,0,700,"2020-01-21 13:56:55"
|
||||
"Intan Ayunda (Intan_Ayunda)",Indonesian,818,811,985,0,0,0,729,"2020-10-14 07:51:58"
|
||||
"Mihail Stefanov (MStefanov)",Bulgarian,755,794,3,0,2,0,2,"2017-03-31 16:09:02"
|
||||
dusanstrgar,Slovenian,770,730,0,0,0,0,0,"2017-03-31 10:30:28"
|
||||
"Mihail Stefanov (MStefanov)",Bulgarian,755,794,3,0,2,4,2,"2017-03-31 16:09:02"
|
||||
Osoitz,Basque,751,683,0,9,0,0,3,"2018-01-23 14:07:47"
|
||||
KMakoto,"Chinese Traditional",745,1146,949,0,0,0,745,"2019-10-22 04:19:52"
|
||||
"Evren (evrenkiymaz)",Turkish,688,604,0,71,28,22,0,"2020-10-04 03:39:16"
|
||||
andaryon,Czech,681,606,0,108,0,0,0,"2021-11-25 10:20:45"
|
||||
Tomairuka,Japanese,709,1842,1033,43,12,0,585,"2020-12-12 12:14:22"
|
||||
"Evren (evrenkiymaz)",Turkish,688,604,0,71,31,22,0,"2020-10-04 03:39:16"
|
||||
andaryon,Czech,681,606,0,108,21,0,0,"2021-11-25 10:20:45"
|
||||
"Antti Kallio (antti.kallio)",Finnish,668,539,0,5,0,0,0,"2021-07-03 05:54:44"
|
||||
"David Nos (david.nos)","Catalan; Spanish",667,731,0,0,1,0,0,"2020-01-04 10:15:36"
|
||||
androide74,Italian,662,681,0,2,0,0,0,"2020-02-06 15:46:28"
|
||||
Osoitz,Basque,655,595,0,9,0,0,3,"2018-01-23 14:07:47"
|
||||
"Dmitriy Bogdanov (di72nn)",Russian,643,589,1197,0,36,0,515,"2017-03-31 10:00:48"
|
||||
Tomairuka,Japanese,633,1636,909,43,0,0,564,"2020-12-12 12:14:22"
|
||||
reyhoon,Persian,624,759,0,1,3,1,0,"2020-10-01 18:17:23"
|
||||
"Dmitriy Bogdanov (di72nn)",Russian,643,589,1197,0,50,0,515,"2017-03-31 10:00:48"
|
||||
reyhoon,Persian,624,759,0,1,3,2,0,"2020-10-01 18:17:23"
|
||||
"Saeed Esmaili (saaeed.es20)",Persian,586,795,0,5,4,0,0,"2020-11-26 15:41:15"
|
||||
fabian.bouchal,German,548,527,0,6,0,3,72,"2020-01-07 06:43:37"
|
||||
"Isti (eisti)",Hungarian,528,476,0,0,0,0,0,"2020-12-03 12:02:51"
|
||||
boban77,Czech,509,461,0,2,29,0,0,"2020-04-30 13:18:24"
|
||||
fabian.bouchal,German,548,527,0,6,4,5,72,"2020-01-07 06:43:37"
|
||||
"Isti (eisti)",Hungarian,528,476,0,0,1,0,0,"2020-12-03 12:02:51"
|
||||
Aravinth_Earth,Tamil,511,961,0,12,0,0,0,"2024-02-23 12:37:28"
|
||||
boban77,Czech,509,461,0,2,45,0,0,"2020-04-30 13:18:24"
|
||||
"Martim Parente (martimparente)",Portuguese,505,542,0,38,0,0,0,"2020-08-26 10:22:11"
|
||||
"Yoav Argov (YoavArgov)",Hebrew,501,461,0,0,1,8,91,"2017-04-28 07:23:01"
|
||||
REMOVED_USER,Norwegian,501,498,501,0,148,0,501,"2017-07-05 19:02:25"
|
||||
"chrrris1987 (Chrrris1987)",Dutch,467,478,0,23,0,0,0,"2020-02-03 05:26:04"
|
||||
"黄克 (hk13127)","Chinese Simplified",461,765,0,1,0,0,24,"2020-01-17 23:16:03"
|
||||
"黄克 (hk13127)","Chinese Simplified",461,765,0,1,0,0,22,"2020-01-17 23:16:03"
|
||||
"Huy Ngo (huyngo)",Vietnamese,461,695,0,1,0,0,0,"2020-01-26 11:58:36"
|
||||
"Arkadiusz Bubak (epitek)",Polish,458,416,52,24,9,4,0,"2020-11-05 05:11:58"
|
||||
"Arkadiusz Bubak (epitek)",Polish,458,416,52,24,15,4,0,"2020-11-05 05:11:58"
|
||||
"Radek Kuklík (kuklik.radek)",Czech,453,392,0,100,0,0,0,"2022-10-08 10:04:24"
|
||||
marco.baturan,Esperanto,452,452,0,0,0,0,0,"2020-06-23 02:49:46"
|
||||
"Sief Tarek (sieftarek135)",Arabic,447,455,0,0,0,0,0,"2021-02-07 14:35:21"
|
||||
"Alparslan Şakçi (sakci)",Turkish,436,372,0,118,1,0,0,"2022-01-14 12:03:11"
|
||||
JY3,"Chinese Simplified",427,727,295,0,1,0,222,"2021-03-08 08:53:35"
|
||||
"Sief Tarek (sieftarek135)",Arabic,447,455,0,0,1,4,0,"2021-02-07 14:35:21"
|
||||
"Alparslan Şakçi (sakci)",Turkish,436,372,0,118,2,0,0,"2022-01-14 12:03:11"
|
||||
JY3,"Chinese Simplified",432,741,298,0,2,0,227,"2021-03-08 08:53:35"
|
||||
"Samuel Guay (SamGuay)",French,426,486,0,6,0,0,0,"2020-06-25 07:14:38"
|
||||
"Diana Karaseva (Sun_Dianka)",Russian,399,373,0,10,1,0,209,"2020-01-30 06:40:02"
|
||||
"Alexander Jansson (dalecarlian)",Swedish,396,406,507,0,0,3,399,"2017-06-21 01:37:32"
|
||||
"Alexander Jansson (dalecarlian)",Swedish,396,406,507,0,29,6,399,"2017-06-21 01:37:32"
|
||||
luiandresgonzalez,Spanish,383,403,0,1,28,0,0,"2020-07-11 14:20:44"
|
||||
"Thamara Andrade (tkcandrade)","Portuguese, Brazilian",380,387,0,0,1,0,239,"2020-01-09 19:35:48"
|
||||
"Sølv Ræven (soelvraeven)",Danish,370,370,0,0,0,0,0,"2020-11-28 16:46:18"
|
||||
strikeCunny2245,Icelandic,363,368,0,0,0,0,0,"2023-08-07 08:05:53"
|
||||
"Anh Quân (dangquanuet)",Vietnamese,362,530,0,42,2,0,0,"2017-10-29 12:27:44"
|
||||
"Alexander Haronitakis (kanakis)",Greek,349,372,0,0,0,0,0,"2023-09-13 04:10:43"
|
||||
gapszi,Hungarian,348,301,0,86,0,0,0,"2019-04-08 01:35:54"
|
||||
"Mahdi Nasiri (mahdi.nasiri)",Persian,343,465,0,39,3,1,0,"2017-07-14 09:17:25"
|
||||
Seoyul,Korean,339,825,0,0,27,0,0,"2017-06-21 08:11:39"
|
||||
"Magimai Prakasam (magimai)",Tamil,336,831,0,12,0,0,0,"2018-04-15 21:16:08"
|
||||
"Michael Malak (MichaelKMalak)",Arabic,304,271,0,0,1,0,0,"2020-05-26 19:47:58"
|
||||
Blinkin,Dutch,297,334,0,5,0,0,0,"2021-06-14 10:30:05"
|
||||
"Magimai Prakasam (magimai)",Tamil,336,831,0,12,2,0,0,"2018-04-15 21:16:08"
|
||||
"Star7 (Star7-crowdin)","Chinese Simplified",330,561,0,0,0,0,0,"2025-02-10 08:41:34"
|
||||
Susanamesa,Spanish,306,342,0,11,0,0,0,"2023-01-01 23:56:35"
|
||||
"Michael Malak (MichaelKMalak)",Arabic,304,271,0,0,4,2,0,"2020-05-26 19:47:58"
|
||||
"Elina Salminen (salminen.elina.m)",Finnish,297,227,0,0,0,0,0,"2021-01-06 01:28:57"
|
||||
ayane.m,Japanese,292,863,0,1,5,0,22,"2019-11-20 03:28:26"
|
||||
"Marius Teufelweich (teufelweich)",German,267,272,611,4,13,1,146,"2021-03-12 04:11:38"
|
||||
Blinkin,Dutch,297,334,0,5,1,0,0,"2021-06-14 10:30:05"
|
||||
ayane.m,Japanese,292,863,0,1,8,0,23,"2019-11-20 03:28:26"
|
||||
c.m,Greek,276,293,0,124,0,0,0,"2024-07-13 14:49:43"
|
||||
"Marius Teufelweich (teufelweich)",German,267,272,611,4,23,3,146,"2021-03-12 04:11:38"
|
||||
"Sumin Son (todaypp)",Korean,266,221,0,7,0,0,0,"2023-06-09 05:28:30"
|
||||
hypnotichemionus,"Chinese Simplified",249,430,0,0,8,0,19,"2020-03-08 01:46:25"
|
||||
"Israa Z (sosozozo)",Arabic,240,266,0,81,14,0,3,"2017-11-27 14:10:50"
|
||||
cobalt59,German,237,234,0,1,24,1,132,"2017-06-05 05:18:33"
|
||||
beriain,Basque,234,235,0,0,2,0,0,"2017-03-31 15:42:28"
|
||||
pnhpnh,Vietnamese,225,343,0,1,3,0,0,"2017-11-27 12:06:07"
|
||||
"Dika Fitrian Dwi Putra (OsamuDazai)",Indonesian,221,215,0,0,0,0,48,"2020-07-13 04:40:27"
|
||||
easyrepro,Telugu,214,297,0,0,4,0,0,"2020-06-12 12:52:10"
|
||||
taras-ko,Ukrainian,211,183,0,1,4,0,19,"2017-10-26 16:52:22"
|
||||
"vinayak sharma (vinayak0504)",Hindi,211,456,0,0,0,0,0,"2023-05-18 18:31:51"
|
||||
sojusnik,German,207,200,1,0,30,0,66,"2017-04-03 17:11:56"
|
||||
"Andrij Mizyk (andmizyk)",Ukrainian,204,178,0,40,0,0,53,"2021-04-01 03:56:20"
|
||||
"Andrij Mizyk (andm)",Ukrainian,204,178,0,40,1,0,53,"2021-04-01 03:56:20"
|
||||
"Heru Yen (heruyen)",Indonesian,201,201,0,0,0,0,25,"2020-06-29 18:39:15"
|
||||
"Vijaykumar Borkar (vjkumar)",Hindi,200,364,0,11,0,0,0,"2021-08-06 16:12:15"
|
||||
_translator,French,199,227,0,11,0,0,0,"2021-07-06 07:54:12"
|
||||
bearsdens,Romanian,198,210,0,0,0,0,0,"2022-08-28 17:08:33"
|
||||
Ishmaeel,Turkish,193,174,0,129,17,6,0,"2017-10-04 03:54:00"
|
||||
oscfd,Spanish,192,201,0,2,4,0,0,"2021-05-21 17:58:22"
|
||||
REMOVED_USER,Spanish,192,201,0,2,5,0,0,"2021-05-21 17:58:22"
|
||||
bruhwut,Vietnamese,189,292,0,1,0,0,0,"2021-05-21 07:16:30"
|
||||
"Aputsiak Niels Janussen (aputtu)",Danish,187,200,0,0,0,0,0,"2019-08-28 05:47:42"
|
||||
fbruna17,Danish,181,179,0,1,0,0,0,"2021-01-28 15:48:47"
|
||||
Bryanx,Dutch,179,168,0,5,2,0,0,"2019-11-21 17:08:12"
|
||||
"Omry Cohen (omrycohen)",Hebrew,175,156,0,1,0,0,33,"2021-01-18 07:33:23"
|
||||
"Ivan Vlahov (vlahovivan)",Croatian,179,176,0,0,0,0,0,"2024-01-25 08:12:11"
|
||||
"Omry Cohen (omrycohen)",Hebrew,175,156,0,1,0,0,12,"2021-01-18 07:33:23"
|
||||
"Pierre GALIEGUE (pierre.galiegue)",French,171,194,0,24,4,0,0,"2020-08-16 11:41:35"
|
||||
plitwin,Polish,168,151,0,2,31,0,49,"2021-01-20 06:18:37"
|
||||
DionysosDV,Greek,165,153,0,0,0,0,0,"2021-02-27 19:05:25"
|
||||
plitwin,Polish,168,151,0,2,55,0,49,"2021-01-20 06:18:37"
|
||||
DionysosDV,Greek,165,153,0,0,27,4,0,"2021-02-27 19:05:25"
|
||||
"Gustavo Lima (GustavoLima)",Portuguese,158,177,0,1,4,10,0,"2020-08-26 10:35:05"
|
||||
"Alex V. (elvitalex)",Romanian,154,166,0,24,0,0,0,"2022-08-03 17:40:00"
|
||||
"Ravi Rami (ramiravi)",Hindi,151,248,0,0,0,0,0,"2021-10-10 09:19:40"
|
||||
"Lương Vĩnh Khang (LuongVinhKhang)",Vietnamese,144,256,0,0,46,1,0,"2017-08-10 10:05:58"
|
||||
azzamsa,Indonesian,142,136,0,48,0,1,26,"2017-06-16 18:29:45"
|
||||
"yoding (yodingc)","Chinese Traditional; Chinese Simplified",141,271,0,10,0,0,0,"2021-07-07 01:45:45"
|
||||
"Neysa Nasywa (neysanasywa)",Indonesian,140,141,0,0,0,0,60,"2020-11-18 10:32:10"
|
||||
mohmans,Arabic,139,141,0,12,1,0,0,"2020-11-23 02:48:00"
|
||||
"Eilif Adelvice (adelvice)",Spanish,139,154,0,96,1,0,0,"2021-08-05 07:20:21"
|
||||
"Mohammed Imthath (mimthath4)",Tamil,136,274,0,0,11,0,0,"2018-02-15 22:41:15"
|
||||
mohmans,Arabic,139,141,0,12,7,1,0,"2020-11-23 02:48:00"
|
||||
"Eilif Adelvice (adelvice)",Spanish,139,154,0,96,6,0,0,"2021-08-05 07:20:21"
|
||||
"Mohammed Imthath (mimthath4)",Tamil,136,274,0,0,13,1,0,"2018-02-15 22:41:15"
|
||||
carllacan,Catalan,134,155,0,2,0,0,0,"2021-11-13 13:12:07"
|
||||
roptat,French,132,154,0,112,89,5,0,"2017-04-19 16:54:47"
|
||||
"Trần Thái (tranhoangthai2001)",Vietnamese,127,186,0,8,1,0,0,"2018-03-01 10:51:39"
|
||||
"OP Smosher (teenwolffan44)","Serbian (Cyrillic)",124,122,0,0,0,0,18,"2020-11-05 09:41:35"
|
||||
"Tad Wohlrapp (TadWohlrapp)",German,124,122,0,0,2,0,0,"2022-06-28 04:55:41"
|
||||
4001982248998,Esperanto,122,119,0,0,0,0,0,"2017-10-08 04:13:02"
|
||||
"StoP4Me (Lcqp)",Romanian,121,119,0,0,3,0,0,"2018-05-06 18:51:59"
|
||||
alalloush,Arabic,118,129,0,2,14,3,0,"2017-03-31 12:37:17"
|
||||
"StoP4Me (Lcqp)",Romanian,121,119,0,0,6,0,0,"2018-05-06 18:51:59"
|
||||
alalloush,Arabic,118,129,0,2,17,6,0,"2017-03-31 12:37:17"
|
||||
"Brenda Correa (brenda.14)",Spanish,117,127,0,0,0,1,0,"2022-05-16 02:34:13"
|
||||
Sebastian05067,Spanish,114,133,0,55,32,0,0,"2017-05-14 00:48:16"
|
||||
"Tanya (MagicUnderHood)",Russian,114,98,0,19,0,0,54,"2019-04-21 10:44:03"
|
||||
Sebastian05067,Spanish,114,133,0,55,28,0,0,"2017-05-14 00:48:16"
|
||||
REMOVED_USER,Arabic,111,106,0,22,22,2,0,"2018-01-05 07:01:45"
|
||||
"Iabin Arteaga (iabin)",Spanish,108,111,0,4,21,0,0,"2017-08-26 21:08:54"
|
||||
REMOVED_USER,Arabic,111,106,0,22,23,3,0,"2018-01-05 07:01:45"
|
||||
"Ivan Krušlin (krux3r)",Croatian,108,122,503,0,0,0,108,"2017-03-31 09:15:24"
|
||||
2kaafone,Finnish,105,90,0,0,0,0,0,"2019-08-12 06:58:48"
|
||||
"Iabin Arteaga (iabin)",Spanish,108,111,0,4,21,1,0,"2017-08-26 21:08:54"
|
||||
REMOVED_USER,Finnish,105,90,0,0,0,0,0,"2019-08-12 06:58:48"
|
||||
"Adam Jurkiewicz (hasztagg)",Polish,104,105,529,0,0,0,104,"2017-03-31 09:50:51"
|
||||
"PILHA PARK (pilhaha)",Korean,101,88,0,0,0,0,0,"2023-06-30 23:51:41"
|
||||
"just a name bro (justanamebr0)",Danish,98,109,0,0,1,0,0,"2019-06-19 11:57:55"
|
||||
"Nam Nguyen (namnl2706)",Vietnamese,95,137,0,0,0,0,0,"2020-08-18 23:02:33"
|
||||
"손유정 (yuwon1213)",Korean,95,57,0,0,1,0,0,"2021-03-30 05:25:33"
|
||||
"손유정 (yuwon1213)",Korean,95,57,0,0,1,3,0,"2021-03-30 05:25:33"
|
||||
ranmagen,Hebrew,91,78,0,0,0,0,0,"2021-02-16 05:44:31"
|
||||
LoneWanderer,"Chinese Traditional",90,137,0,4,0,0,0,"2020-09-29 05:24:48"
|
||||
ikkaz,Indonesian,89,84,0,5,0,0,4,"2019-09-02 19:58:54"
|
||||
"Vo - (voyl)","Chinese Traditional",89,126,0,0,5,0,0,"2020-09-02 23:34:42"
|
||||
"Irene K (Heaun)",Korean,88,75,0,25,0,0,0,"2020-03-16 11:31:12"
|
||||
"Irene K (Heaun)",Korean,88,75,0,25,2,0,0,"2020-03-16 11:31:12"
|
||||
Prosta4ok_ua,Ukrainian,87,84,0,1,0,0,17,"2020-01-23 19:43:41"
|
||||
"Kumar Anand (kumar0500)",Hindi,87,125,0,0,0,0,0,"2020-11-07 02:46:09"
|
||||
G.kio,Russian,87,82,0,0,1,0,0,"2023-08-24 19:43:00"
|
||||
"Ohad Edri (ohadalte)",Hebrew,85,79,0,0,1,3,13,"2020-07-04 03:42:09"
|
||||
helectron,Persian,84,102,0,1,0,0,0,"2021-03-02 04:10:51"
|
||||
"Radu Cebotari (wildProgrammer)",Romanian,84,92,0,1,0,0,0,"2020-02-05 01:20:00"
|
||||
"Bruces Lee (aplusbdesign)",Korean,82,66,0,0,0,0,0,"2021-08-23 11:27:18"
|
||||
"Israa Z (sosozozo)",Arabic,79,87,0,43,14,0,3,"2017-11-27 14:10:50"
|
||||
"Sofia Neves (sofiasonev)","Portuguese, Brazilian",79,84,0,1,0,0,46,"2020-03-12 18:19:46"
|
||||
"Jacob Roller (jdr28070)",Korean,79,61,0,0,1,0,0,"2020-01-03 11:36:40"
|
||||
"Radu Cebotari (wildProgrammer)",Romanian,84,92,0,1,1,0,0,"2020-02-05 01:20:00"
|
||||
helectron,Persian,84,102,0,1,1,0,0,"2021-03-02 04:10:51"
|
||||
"Bruces Lee (aplusbdesign)",Korean,82,66,0,0,2,0,0,"2021-08-23 11:27:18"
|
||||
Tiralka,French,79,91,0,92,1,0,0,"2018-02-09 18:39:01"
|
||||
"Jacob Roller (jdr28070)",Korean,79,61,0,0,1,1,0,"2020-01-03 11:36:40"
|
||||
"Sofia Neves (sofiasonev)","Portuguese, Brazilian",79,84,0,1,0,0,46,"2020-03-12 18:19:46"
|
||||
"Toni Mustonen (toni.mustonen)",Finnish,78,72,0,0,5,0,0,"2017-09-02 05:34:12"
|
||||
"Michael (quelbs)",German,76,75,0,1,0,0,39,"2020-08-18 07:39:26"
|
||||
"Fauz Aladeem (topfauz)",Arabic,76,77,0,0,0,1,0,"2020-02-21 22:46:12"
|
||||
"Radoslaw Biernacki (radoslaw.biernacki)",Polish,70,74,0,56,1,0,1,"2020-12-15 17:55:31"
|
||||
"Oliver Gronowski (OliverGronowski)",German,70,69,0,5,2,0,0,"2021-05-14 16:37:10"
|
||||
"Michael (quelbs)",German,76,75,0,1,0,0,39,"2020-08-18 07:39:26"
|
||||
"Anna Maria Stålberg (stalberg.annamaria)",Swedish,76,77,0,111,4,0,0,"2023-01-16 04:08:25"
|
||||
"Radoslaw Biernacki (radoslaw.biernacki)",Polish,70,74,0,56,5,0,1,"2020-12-15 17:55:31"
|
||||
"Oliver Gronowski (OliverGronowski)",German,70,69,0,5,3,0,0,"2021-05-14 16:37:10"
|
||||
mimizuk,Japanese,68,193,0,0,2,1,39,"2022-05-18 10:10:38"
|
||||
Ryeore,Polish,68,61,0,66,0,0,0,"2022-07-27 12:22:33"
|
||||
RealDonald,Dutch,67,69,0,121,10,0,0,"2017-06-23 20:10:12"
|
||||
"Dpd Eng (dpdeng)",Korean,67,48,0,0,1,0,0,"2022-10-15 10:56:44"
|
||||
sirekanyan,"Armenian; Russian",66,65,0,0,0,0,0,"2020-04-18 11:32:52"
|
||||
"Константин К. (kocyak1991)",Russian,64,60,0,0,1,2,0,"2018-06-10 13:39:37"
|
||||
yukitsubaki,Japanese,64,185,0,32,0,0,36,"2020-01-01 13:17:44"
|
||||
Suuis,Hindi,64,110,0,0,0,0,0,"2023-07-02 11:50:22"
|
||||
"Laura Sophie (laurasophie20)",German,62,67,0,4,0,0,0,"2018-01-06 14:21:24"
|
||||
raden20,Indonesian,61,62,177,0,1,0,64,"2017-04-09 22:04:23"
|
||||
"Peter Williams (williamspete001)",Japanese,60,173,0,2,0,0,3,"2020-01-01 13:17:44"
|
||||
"y (veggente)",Korean,61,56,0,0,0,1,0,"2022-06-28 10:41:18"
|
||||
"Jan Wojtecki (j4nw)",Polish,58,46,0,0,0,0,26,"2017-11-02 05:42:14"
|
||||
"Deepak Bharathi (deepakbharathi1994)",Tamil,56,107,0,0,11,4,0,"2017-09-17 08:00:31"
|
||||
"Deepak Bharathi (deepakbharathi1994)",Tamil,56,107,0,0,13,4,0,"2017-09-17 08:00:31"
|
||||
"Андрій Козицький (andriikozytskyi1108)",Ukrainian,52,52,0,0,1,0,0,"2018-10-22 01:45:08"
|
||||
"Nil riera (nilriera2000)",Catalan,52,61,0,1,2,0,0,"2021-06-22 16:37:44"
|
||||
"Neoone (Neooneqq)",Romanian,51,54,0,0,0,0,0,"2022-05-05 20:42:11"
|
||||
REMOVED_USER,Italian,51,52,0,2,0,0,0,"2017-08-21 05:15:31"
|
||||
govindap,"Japanese; Hindi",51,114,0,6,1,0,0,"2020-06-02 20:15:52"
|
||||
govindap,"Japanese; Hindi",51,114,0,6,3,1,0,"2020-06-02 20:15:52"
|
||||
"Neoone (Neooneqq)",Romanian,51,54,0,0,0,0,0,"2022-05-05 20:42:11"
|
||||
"Mare Geldenhuys (mare.geldenhuys)",Afrikaans,50,57,0,0,0,0,0,"2017-10-20 18:00:14"
|
||||
"Mahmoud Magdy (M7moudManson)",Arabic,49,60,0,6,8,1,0,"2021-08-21 09:01:38"
|
||||
"Behnood HRazy (behnoodhr)",Persian,49,70,0,0,0,0,0,"2017-11-25 10:57:21"
|
||||
"Mahmoud Magdy (M7moudManson)",Arabic,49,60,0,6,12,6,0,"2021-08-21 09:01:38"
|
||||
J3ll3nl,Dutch,48,48,0,0,17,1,3,"2017-03-31 11:56:09"
|
||||
"tat bz (Tat_i)",German,48,56,0,55,0,1,27,"2021-03-26 05:12:54"
|
||||
vach,Armenian,47,36,0,0,0,0,0,"2020-04-18 16:53:12"
|
||||
"Andrew Firnes (Anechan)",Russian,47,47,0,3,0,0,29,"2019-09-18 09:51:59"
|
||||
andowero,Czech,47,38,0,0,3,0,0,"2020-01-20 02:29:01"
|
||||
andowero,Czech,47,38,0,0,8,0,0,"2020-01-20 02:29:01"
|
||||
vach,Armenian,47,36,0,0,0,0,0,"2020-04-18 16:53:12"
|
||||
"Rahul Shishodia (rahul.shishodia.10)",Hindi,46,85,0,6,5,1,0,"2018-12-24 22:18:19"
|
||||
"Coni Ragni (coni2ragnii)",Spanish,46,46,0,0,0,0,0,"2021-02-28 20:18:37"
|
||||
Cp0204,"Chinese Simplified",45,72,0,0,0,0,0,"2019-08-20 11:04:27"
|
||||
"cc (cavaz)",Italian,44,41,0,0,0,0,0,"2017-04-01 04:21:08"
|
||||
"Boban Jagertraum (boban40)",Czech,43,38,0,2,18,1,0,"2017-03-31 09:39:16"
|
||||
"Kamil Dziadek (prso94)",Polish,43,39,0,0,6,0,0,"2020-04-06 17:12:06"
|
||||
"Andrej Šutovský (16andrej.s)",Slovak,44,41,0,0,0,0,0,"2022-06-12 18:01:16"
|
||||
"Boban Jagertraum (boban40)",Czech,43,38,0,2,31,1,0,"2017-03-31 09:39:16"
|
||||
"Kamil Dziadek (prso94)",Polish,43,39,0,0,11,0,0,"2020-04-06 17:12:06"
|
||||
"Balázs Keresztury (belidzs)",Hungarian,42,41,501,0,7,0,38,"2017-04-06 02:40:24"
|
||||
andreea.muscalagiu,Romanian,42,52,0,1,0,0,0,"2017-10-22 07:19:49"
|
||||
"Me Me (gentelwom)",Arabic,42,40,0,0,0,0,0,"2020-11-08 20:44:01"
|
||||
"Balázs Keresztury (belidzs)",Hungarian,42,41,501,0,7,0,38,"2017-04-06 02:40:24"
|
||||
"Mateusz Duda (MateuszDuda)",Polish,42,42,0,0,6,0,0,"2021-08-17 11:27:11"
|
||||
"Ali Elsheikh (aelsheikh1987)",Arabic,42,41,0,0,0,0,0,"2021-06-16 10:17:26"
|
||||
"Ali Zali (stm19951995)",Persian,40,60,0,0,0,0,0,"2020-03-23 19:57:26"
|
||||
"Mateusz Duda (MateuszDuda)",Polish,42,42,0,0,20,0,0,"2021-08-17 11:27:11"
|
||||
"Mr Habti (donhabti)",Arabic,41,40,0,0,0,0,0,"2023-02-20 10:52:50"
|
||||
"Sofia Veijonen (Suklaa) (sofia.veijonen)",Finnish,40,33,0,0,0,0,0,"2018-03-07 09:24:22"
|
||||
dusanstrgar,Slovenian,39,41,0,0,0,0,0,"2017-03-31 10:30:28"
|
||||
"Neeraj Verma (verma.neeraj.in)",Hindi,40,65,0,0,1,0,0,"2018-07-23 07:16:41"
|
||||
"Ali Zali (stm19951995)",Persian,40,60,0,0,0,0,0,"2020-03-23 19:57:26"
|
||||
"Limin Lu (liminlu)","Chinese Simplified",39,79,503,0,0,0,39,"2017-03-31 09:49:35"
|
||||
Anshoe,Tamil,38,65,0,14,0,0,0,"2018-01-02 11:06:52"
|
||||
Anshoe,Tamil,38,65,0,14,3,0,0,"2018-01-02 11:06:52"
|
||||
"Pavel Protasov (pvphome)",Russian,38,33,0,0,0,0,0,"2024-02-09 03:40:33"
|
||||
anasshm,Arabic,37,36,0,9,0,0,0,"2019-01-27 04:07:22"
|
||||
hrexen,Armenian,37,37,0,0,0,0,0,"2020-12-09 02:30:34"
|
||||
"Abdulrahman (D7M)",Arabic,36,39,0,0,0,0,0,"2020-01-29 18:55:30"
|
||||
REMOVED_USER,Swedish,36,33,0,5,1,0,0,"2018-09-29 17:47:33"
|
||||
xphsis,Basque,36,31,0,0,0,0,0,"2022-01-02 08:16:19"
|
||||
REMOVED_USER,Swedish,36,33,0,5,2,0,0,"2018-09-29 17:47:33"
|
||||
"Abdulrahman (D7M)",Arabic,36,39,0,0,4,0,0,"2020-01-29 18:55:30"
|
||||
"Maria Chushnyakova (maria.ch)",Russian,36,31,0,3,0,0,0,"2021-08-17 03:23:58"
|
||||
"長谷川知里 (chase0213)",Japanese,34,138,0,13,0,0,24,"2018-12-14 10:52:44"
|
||||
"Piotr Łuczyński (peterluczynski)",Polish,33,30,0,6,10,0,2,"2020-01-29 07:27:40"
|
||||
"Luis E. Perichon (luisperichon)",Spanish,33,40,0,104,0,0,0,"2017-09-04 13:46:06"
|
||||
xphsis,Basque,36,31,0,0,0,0,0,"2022-01-02 08:16:19"
|
||||
"長谷川知里 (chase0213)",Japanese,34,138,0,13,0,0,32,"2018-12-14 10:52:44"
|
||||
"milad farahani (miladfarmahini90)",Persian,33,44,0,18,1,0,3,"2017-08-31 16:09:00"
|
||||
"Luis E. Perichon (luisperichon)",Spanish,33,40,0,104,0,0,0,"2017-09-04 13:46:06"
|
||||
"Piotr Łuczyński (peterluczynski)",Polish,33,30,0,6,17,0,2,"2020-01-29 07:27:40"
|
||||
JoeLi,"Chinese Traditional",31,70,0,12,0,0,24,"2017-06-25 05:32:48"
|
||||
andriikozytskyi2625,Ukrainian,31,23,0,0,0,0,0,"2019-07-08 00:16:41"
|
||||
REMOVED_USER,Russian,31,30,0,2,4,0,3,"2018-12-03 23:55:47"
|
||||
Moastafa,Arabic,31,25,0,0,0,0,0,"2020-07-06 11:37:53"
|
||||
"hamza gamal (hamzagamal4444)",Arabic,31,28,0,0,0,0,0,"2020-08-03 15:23:34"
|
||||
andriikozytskyi2625,Ukrainian,31,23,0,0,0,0,0,"2019-07-08 00:16:41"
|
||||
Moastafa,Arabic,31,25,0,0,0,4,0,"2020-07-06 11:37:53"
|
||||
"hamza gamal (hamzagamal4444)",Arabic,31,28,0,0,1,0,0,"2020-08-03 15:23:34"
|
||||
yancyn,"Chinese Simplified",30,40,0,0,0,0,1,"2020-05-18 20:06:03"
|
||||
"Siniša Sabljić (ssabljic)",Croatian,30,37,0,0,0,0,0,"2023-11-13 15:51:00"
|
||||
"Ruud Schouten (ruudschouten)",Dutch,29,32,0,41,3,0,0,"2017-07-22 17:49:17"
|
||||
"비니몬youtube (khj01025276475)",Korean,29,25,0,0,0,0,0,"2020-02-09 20:44:35"
|
||||
"비니몬youtube (khj01025276475)",Korean,29,25,0,0,0,1,0,"2020-02-09 20:44:35"
|
||||
avelneve,Indonesian,29,28,0,0,0,0,0,"2022-04-13 13:26:10"
|
||||
bzhn,Ukrainian,29,26,0,0,4,0,0,"2022-06-18 17:09:13"
|
||||
"Gergő Mihály (mihalygergo97)",Hungarian,28,69,0,0,0,0,0,"2024-02-13 08:35:57"
|
||||
"Niraj Yadav (neverforgetniraj)",Hindi,26,48,0,0,0,0,0,"2017-04-11 02:26:50"
|
||||
"Aaron Dalton (Perlkonig)",French,26,25,0,141,1,0,0,"2018-01-14 12:58:19"
|
||||
"Jonny I (jonny99dj)",Italian,26,26,0,5,0,0,0,"2017-10-07 07:35:34"
|
||||
"Guillaume Collic (gcollic)",French,26,28,0,126,11,0,0,"2017-05-05 16:13:00"
|
||||
Pan_Filuta,Czech,25,21,0,5,8,0,3,"2017-04-29 12:55:14"
|
||||
"Jonny I (jonny99dj)",Italian,26,26,0,5,0,0,0,"2017-10-07 07:35:34"
|
||||
"Aaron Dalton (Perlkonig)",French,26,25,0,141,1,0,0,"2018-01-14 12:58:19"
|
||||
Pan_Filuta,Czech,25,21,0,5,11,0,3,"2017-04-29 12:55:14"
|
||||
"Eddie (eddieattaboy)","Chinese Traditional",25,34,0,1,0,0,0,"2020-11-04 21:48:05"
|
||||
"eduard83 (barbany.eduard)",Catalan,24,25,0,2,0,0,0,"2019-06-26 14:59:47"
|
||||
"A Aa (ylayzlmimashisafyoutub)",Arabic,23,33,0,34,1,1,0,"2021-09-27 15:34:26"
|
||||
REMOVED_USER,Catalan,24,25,0,2,0,0,0,"2019-06-26 14:59:47"
|
||||
"Caner Başaran (basarancaner)",Turkish,23,21,0,0,26,1,0,"2017-04-09 06:34:59"
|
||||
"Ľuboš Čaky (lubos.caky)",Slovak,23,22,0,0,0,0,0,"2019-07-02 16:51:44"
|
||||
"Neeraj Verma (verma.neeraj.in)",Hindi,22,37,0,0,1,0,0,"2018-07-23 07:16:41"
|
||||
gnu-ewm,Polish,22,23,0,6,2,0,0,"2021-02-24 03:42:01"
|
||||
"A Aa (ylayzlmimashisafyoutub)",Arabic,23,33,0,34,3,2,0,"2021-09-27 15:34:26"
|
||||
hodanli,Turkish,22,26,0,0,1,0,0,"2017-11-03 14:33:41"
|
||||
REMOVED_USER,Polish,22,23,0,6,9,0,0,"2021-02-24 03:42:01"
|
||||
"Alcarkse (alexis.brusle)",French,21,25,0,7,11,0,0,"2017-08-06 09:32:29"
|
||||
"Hugo Nogueira (hfrnogueira86)",Portuguese,21,22,0,0,0,0,0,"2023-01-09 22:51:24"
|
||||
"Shashwat (goforgold)",Hindi,20,33,0,0,0,0,0,"2020-05-17 10:34:42"
|
||||
olbotta,Italian,20,25,0,2,0,0,0,"2021-06-06 04:22:55"
|
||||
can13,Turkish,19,14,0,8,0,0,0,"2021-01-03 10:39:03"
|
||||
"사자솥 (toke1597)",Korean,19,19,0,0,0,0,0,"2020-02-04 13:36:11"
|
||||
KenKailer,Arabic,19,25,0,0,0,0,0,"2022-05-10 06:16:54"
|
||||
"İsa Eş (IsaEs)",Turkish,19,17,0,0,6,2,0,"2017-06-20 07:30:22"
|
||||
"Magdalena Urbańczyk (madziia139)",Polish,19,19,0,0,0,0,0,"2017-10-21 03:01:04"
|
||||
sheeCesu,French,19,18,0,48,4,0,0,"2017-12-21 17:01:39"
|
||||
"사자솥 (toke1597)",Korean,19,19,0,0,0,0,0,"2020-02-04 13:36:11"
|
||||
can13,Turkish,19,14,0,8,0,0,0,"2021-01-03 10:39:03"
|
||||
KenKailer,Arabic,19,25,0,0,0,0,0,"2022-05-10 06:16:54"
|
||||
axikman11111,Uyghur,18,19,0,0,0,0,0,"2018-10-13 12:25:31"
|
||||
Adeline31,French,17,20,0,3,0,0,0,"2019-12-06 00:00:11"
|
||||
"Hoon Jung (hooni100)",Korean,17,10,0,0,0,0,0,"2021-01-03 02:26:54"
|
||||
takoyakibento,Korean,17,13,0,3,0,0,0,"2020-08-01 08:44:15"
|
||||
"Sanjay Krishna (sjaykh)",Malayalam,18,42,0,0,0,0,0,"2024-06-01 08:57:37"
|
||||
"Chuang-Chen Chiu (peterChiu9952)","Chinese Traditional",18,28,0,0,0,0,0,"2024-07-02 09:36:59"
|
||||
AlexanderS,German,18,16,0,8,0,0,0,"2025-02-02 16:58:09"
|
||||
"Ceara Lopez (cealopez)",Spanish,17,18,0,0,5,1,0,"2017-08-22 22:56:13"
|
||||
bretzel15,German,16,20,0,0,0,0,0,"2020-04-06 02:49:14"
|
||||
DebatablySane,Bulgarian,16,15,0,48,0,0,0,"2017-07-10 15:13:18"
|
||||
Adeline31,French,17,20,0,3,1,0,0,"2019-12-06 00:00:11"
|
||||
takoyakibento,Korean,17,13,0,3,0,0,0,"2020-08-01 08:44:15"
|
||||
"Hoon Jung (hooni100)",Korean,17,10,0,0,0,0,0,"2021-01-03 02:26:54"
|
||||
Annelotte,Dutch,17,20,0,0,0,0,0,"2022-11-09 08:33:20"
|
||||
wppoqqqi,Korean,17,18,0,4,0,0,0,"2024-11-30 04:22:21"
|
||||
"Şamil Ateşoğlu (m.samilatesoglu)",Turkish,16,22,0,11,6,3,0,"2017-07-05 18:37:08"
|
||||
DebatablySane,Bulgarian,16,15,0,48,0,0,0,"2017-07-10 15:13:18"
|
||||
bretzel15,German,16,20,0,0,1,0,0,"2020-04-06 02:49:14"
|
||||
engineeringforgood,Russian,16,15,0,0,0,0,16,"2021-01-22 03:32:35"
|
||||
"M7md Salahaddin (m7mdsalahaddin)",Arabic,16,16,0,1,0,0,0,"2024-07-17 18:49:07"
|
||||
"Bhava Tharini (bhavidanush)",Tamil,15,37,0,0,0,0,0,"2019-10-09 05:43:11"
|
||||
"Maro Chr (caprisunglasses)",Greek,14,17,0,0,0,0,0,"2021-08-17 06:53:33"
|
||||
"Zeynep Esen (nezihaesen50)",Turkish,14,13,0,0,0,0,0,"2020-01-28 07:05:15"
|
||||
"Ch. (sftblw)",Korean,15,17,0,1,0,0,0,"2023-01-25 19:22:34"
|
||||
iamsurajbobade,Hindi,14,30,0,0,0,0,0,"2018-05-21 11:23:27"
|
||||
"Faiz Ahamed (faiznewton)",Tamil,14,31,0,0,0,0,0,"2021-05-06 23:06:46"
|
||||
"Zeynep Esen (nezihaesen50)",Turkish,14,13,0,0,0,0,0,"2020-01-28 07:05:15"
|
||||
"Sanji Vinsmock (mukanzhanbolat4)",Russian,14,14,0,0,0,0,0,"2020-02-18 12:38:54"
|
||||
"Zeeshan Rabbani (Zeera)",Hindi,14,25,0,0,0,0,0,"2020-09-15 11:32:01"
|
||||
"pi hobbes (uwe_silv)",Japanese,14,46,0,0,0,0,0,"2022-01-15 02:57:14"
|
||||
"Anastasia Borchuk (al2.borchuk)",Russian,14,14,0,0,0,0,0,"2020-04-14 13:22:49"
|
||||
"Fikret Bilici (fikretbilici)",Turkish,14,13,0,0,0,0,0,"2020-06-21 17:16:11"
|
||||
"EuiHo Hwang (euiho.hwang)",Korean,14,16,0,0,0,0,0,"2020-06-23 02:40:01"
|
||||
"Uwe Mönks (schirinowski)",German,13,12,0,0,0,0,0,"2021-02-18 04:00:41"
|
||||
"Dave (xdave)",Hungarian,13,11,0,0,0,0,0,"2020-03-02 20:56:50"
|
||||
"Ana Kelly Vale (anakvale)","Portuguese, Brazilian",13,21,0,4,0,0,2,"2022-03-30 00:15:37"
|
||||
GiorgioHerbie,Italian,13,15,0,0,0,0,0,"2022-01-17 17:35:40"
|
||||
"EuiHo Hwang (euiho.hwang)",Korean,14,16,0,0,1,0,0,"2020-06-23 02:40:01"
|
||||
"Zeeshan Rabbani (Zeera)",Hindi,14,25,0,0,0,0,0,"2020-09-15 11:32:01"
|
||||
"Faiz Ahamed (faiznewton)",Tamil,14,31,0,0,0,0,0,"2021-05-06 23:06:46"
|
||||
"Maro Chr (caprisunglasses)",Greek,14,17,0,0,0,0,0,"2021-08-17 06:53:33"
|
||||
"pi hobbes (uwe_silv)",Japanese,14,46,0,0,0,0,14,"2022-01-15 02:57:14"
|
||||
"Mar Tous (mtousfernandez)",Catalan,14,18,0,0,0,0,0,"2022-08-16 17:55:28"
|
||||
Ferhatt,Turkish,14,13,0,3,0,0,0,"2022-12-13 12:52:20"
|
||||
alchemiker,German,14,13,0,0,0,0,0,"2024-09-03 10:16:04"
|
||||
"Nenad Vukotic (vukotic.nenad)","Serbian (Cyrillic)",13,13,0,1,2,6,0,"2019-01-31 14:29:15"
|
||||
soura2,Arabic,12,13,0,0,0,0,0,"2020-01-13 19:23:47"
|
||||
"Dave (xdave)",Hungarian,13,11,0,0,0,0,0,"2020-03-02 20:56:50"
|
||||
"Uwe Mönks (schirinowski)",German,13,12,0,0,0,0,0,"2021-02-18 04:00:41"
|
||||
Herbie_23,Italian,13,15,0,0,0,0,0,"2022-01-17 17:35:40"
|
||||
"Ana Kelly Vale (anakvale)","Portuguese, Brazilian",13,21,0,4,0,0,2,"2022-03-30 00:15:37"
|
||||
"Minsu (cknblue)",Korean,13,10,0,1,0,0,0,"2022-05-18 00:26:54"
|
||||
"shreyas (techiespace)",Hindi,12,20,0,0,0,0,0,"2018-06-10 01:14:26"
|
||||
soura2,Arabic,12,13,0,0,0,0,0,"2020-01-13 19:23:47"
|
||||
"Ammar Naif (Ammar_Naif)",Arabic,12,12,0,6,0,0,0,"2022-01-15 05:16:41"
|
||||
"Jo Chuang (josephch405)","Chinese Traditional",11,24,0,0,0,0,11,"2017-06-16 20:21:06"
|
||||
Vmrc,French,11,12,0,2,0,0,0,"2020-11-02 05:35:06"
|
||||
"Ammar Naif (Ammar_Naif)",Arabic,11,11,0,4,0,0,0,"2022-01-15 05:16:41"
|
||||
"Sonu Sharma (riteetude)",Hindi,11,23,0,0,0,0,0,"2021-05-30 19:38:00"
|
||||
"Lucas Depetris (lucasdepetrisd)","Spanish; Catalan; Italian; French",11,12,0,12,0,0,0,"2023-10-24 21:16:21"
|
||||
"Mihael Wagner (miha.wagner)",Slovenian,10,9,0,7,0,0,0,"2017-10-18 18:26:29"
|
||||
"Anonymous edgy nerd (yamentaad)",Arabic,10,13,0,1,0,0,0,"2018-05-06 09:23:57"
|
||||
"Edwin van Rooij (edwinvrooij)",Dutch,10,13,0,17,0,0,0,"2018-11-05 03:59:10"
|
||||
"Brian Camacho (bmcamacho)",Polish,10,11,0,0,1,1,0,"2020-08-03 02:27:28"
|
||||
"Mihael Wagner (miha.wagner)",Slovenian,10,9,0,7,0,0,0,"2017-10-18 18:26:29"
|
||||
"Hrant Hakobian (hrastgh1)",Armenian,10,9,0,0,0,0,0,"2021-08-29 15:22:10"
|
||||
"sathvic k (sathvictripleseven)",Telugu,10,17,0,0,0,0,0,"2020-09-11 08:11:32"
|
||||
"Ahmed Mosaad (ahmed.mosaad2018)",Arabic,10,12,0,6,0,0,0,"2021-02-03 18:45:43"
|
||||
"Anonymous edgy nerd (yamentaad)",Arabic,10,13,0,1,0,0,0,"2018-05-06 09:23:57"
|
||||
"Hrant Hakobian (hrastgh1)",Armenian,10,9,0,0,0,0,0,"2021-08-29 15:22:10"
|
||||
"Milan Siebenbürger (lennyd)",Czech,10,7,0,1,1,0,0,"2022-01-30 07:09:42"
|
||||
"Zesar Cebrián (Txorrota)",Spanish,10,44,0,0,0,0,0,"2022-02-09 01:34:32"
|
||||
"Milan Siebenbürger (lennyd)",Czech,10,7,0,1,0,0,0,"2022-01-30 07:09:42"
|
||||
"Suhaili Hassan (kucingsyg96)",Indonesian,9,10,0,0,0,0,0,"2018-06-10 11:55:09"
|
||||
"Слави Велчев (BRO36S) (gg13656)",Bulgarian,10,11,0,9,0,0,0,"2025-01-09 08:47:04"
|
||||
"Sourire Lucide (sourire_lucide)",Russian,9,10,0,0,1,0,0,"2018-03-22 01:37:55"
|
||||
"Martin Vostatek (martinvostatek)",Czech,9,8,0,32,2,0,0,"2019-01-21 13:52:36"
|
||||
"Seweryn Piotrowski (Draxxsx)",Polish,9,10,0,0,19,0,0,"2020-01-02 09:55:48"
|
||||
"Jakob Weickmann (jweickm)",Japanese,8,21,0,0,0,0,0,"2021-10-05 11:10:25"
|
||||
"Suhaili Hassan (kucingsyg96)",Indonesian,9,10,0,0,0,0,0,"2018-06-10 11:55:09"
|
||||
"Martin Vostatek (martinvostatek)",Czech,9,8,0,32,3,0,0,"2019-01-21 13:52:36"
|
||||
"Seweryn Piotrowski (Draxxsx)",Polish,9,10,0,0,26,0,0,"2020-01-02 09:55:48"
|
||||
omoise,French,9,11,0,1,0,0,0,"2023-12-26 14:27:17"
|
||||
Rex123,Persian,8,8,0,0,0,0,0,"2017-07-01 00:47:42"
|
||||
"Jakob Weickmann (jweickm)",Japanese,8,21,0,0,0,0,8,"2021-10-05 11:10:25"
|
||||
"Andrey ZaXeLoN (waragaa)",Russian,7,7,0,8,1,0,0,"2017-09-18 21:37:42"
|
||||
"Konstantin (KZhidovinov)",Russian,7,7,0,0,0,0,0,"2020-01-29 13:35:12"
|
||||
ftfoi,Norwegian,7,6,0,0,0,0,0,"2020-04-11 20:42:35"
|
||||
"Vladimir Pavlychev (vovs03)",Russian,7,9,0,0,0,0,0,"2017-12-18 02:46:56"
|
||||
"Felipe Chagas (chagretes)","Portuguese, Brazilian",7,8,0,0,3,0,5,"2022-01-10 12:20:25"
|
||||
"Konstantin (KZhidovinov)",Russian,7,7,0,0,0,0,0,"2020-01-29 13:35:12"
|
||||
pkorove,Greek,7,7,0,0,1,0,0,"2020-03-07 11:36:12"
|
||||
ftfoi,Norwegian,7,6,0,0,0,0,0,"2020-04-11 20:42:35"
|
||||
"Андрій Козицький (andriikozytskyi3807)",Ukrainian,7,12,0,2,0,0,0,"2020-09-26 20:31:56"
|
||||
pkorove,Greek,7,7,0,0,0,0,0,"2020-03-07 11:36:12"
|
||||
ChloeLiang,Japanese,6,22,0,0,1,0,3,"2017-08-08 05:02:59"
|
||||
"Felipe Chagas (chagretes)","Portuguese, Brazilian",7,8,0,0,3,0,5,"2022-01-10 12:20:25"
|
||||
"Tomáš Miklovič (zyppi)",Slovak,7,7,0,0,0,0,0,"2022-09-11 15:12:06"
|
||||
"Sam (SorodonSorodon)",German,6,6,0,13,0,0,0,"2017-04-14 11:09:27"
|
||||
ChloeLiang,Japanese,6,22,0,0,1,0,3,"2017-08-08 05:02:59"
|
||||
"닉닉 (seohu9466)",Korean,6,14,0,13,0,0,0,"2017-10-09 23:08:15"
|
||||
"Sarita Cajas (sarayanacajas)",Spanish,6,4,0,0,1,0,0,"2021-05-14 14:27:59"
|
||||
erfan2927,Persian,6,6,0,0,0,0,0,"2018-04-09 02:12:44"
|
||||
"Burak Ceylan (7burakceylan)",Turkish,6,6,0,0,0,0,0,"2018-05-20 17:24:19"
|
||||
andriikozytskyi2018,Ukrainian,5,5,0,0,0,0,0,"2017-09-03 05:24:43"
|
||||
"Vitor Henrique (vitorhcl)","Portuguese, Brazilian",5,8,0,1,0,0,0,"2022-03-08 20:00:59"
|
||||
"Sarita Cajas (sarayanacajas)",Spanish,6,4,0,0,1,0,0,"2021-05-14 14:27:59"
|
||||
"خالد (mkhrafi1999)",Arabic,6,3,0,6,0,0,0,"2023-06-25 00:36:13"
|
||||
"Matthias Joly (joly.matt12)",French,5,8,0,27,1,0,0,"2017-08-28 09:53:59"
|
||||
"Tomáš Hrabáček (Hrabyyy)",Czech,5,3,0,0,1,0,0,"2021-05-27 11:58:11"
|
||||
"Guerra Ivaneth (rossanaiva-04)",Spanish,5,7,0,0,0,0,0,"2019-02-03 16:48:59"
|
||||
andriikozytskyi2018,Ukrainian,5,5,0,0,0,0,0,"2017-09-03 05:24:43"
|
||||
"Дмитрий Хапенков (d.khapenkov)",Russian,5,5,0,6,4,0,2,"2018-01-06 23:00:43"
|
||||
"Guerra Ivaneth (rossanaiva-04)",Spanish,5,7,0,0,0,0,0,"2019-02-03 16:48:59"
|
||||
"Micaela Pighin (micaelapiighin)",Spanish,5,6,0,1,0,0,0,"2019-10-09 23:32:42"
|
||||
"Manuel Tassi (Mannivu)",Italian,5,6,0,0,0,0,0,"2021-01-03 11:00:33"
|
||||
"Neko123 (emandic11)","Serbian (Cyrillic)",4,4,0,57,0,0,0,"2021-04-21 15:33:29"
|
||||
"Manuel (Mannivu)",Italian,5,6,0,0,0,0,0,"2021-01-03 11:00:33"
|
||||
"Tomáš Hrabáček (Hrabyyy)",Czech,5,3,0,0,2,0,0,"2021-05-27 11:58:11"
|
||||
"Vitor Henrique (vitorhcl)","Portuguese, Brazilian",5,8,0,1,0,0,0,"2022-03-08 20:00:59"
|
||||
SubhamJena,Hindi,5,12,0,3,0,0,0,"2023-04-19 11:13:19"
|
||||
"Lopo Isaac Fernández (rocapata)",Spanish,4,3,0,0,0,0,0,"2018-09-20 11:46:22"
|
||||
"Eli Besirov (elibesirov07)",Turkish,4,4,0,0,0,0,0,"2019-03-25 07:12:34"
|
||||
bziuum,Polish,4,4,0,0,6,0,0,"2020-09-01 09:08:01"
|
||||
marmo,German,4,4,0,0,0,0,0,"2021-01-13 01:16:35"
|
||||
bziuum,Polish,4,4,0,0,3,0,0,"2020-09-01 09:08:01"
|
||||
"Craig Foobar (craig.foobar)",German,3,3,0,25,0,0,0,"2022-02-20 16:55:47"
|
||||
Katarin,Ukrainian,3,3,0,0,0,0,0,"2022-03-17 14:44:59"
|
||||
"Sarath S (CyberShark)",Tamil,3,7,0,0,0,0,0,"2020-08-27 22:43:16"
|
||||
"Neko123 (emandic11)","Serbian (Cyrillic)",4,4,0,57,0,0,1,"2021-04-21 15:33:29"
|
||||
"Mo Heydari (Mrheydari)",Dutch,4,4,0,0,0,0,0,"2023-02-21 04:54:49"
|
||||
"Srekaravarshan N K (srekaravarshan)",Tamil,4,4,0,0,0,0,0,"2023-04-22 06:08:57"
|
||||
"Thoum Ptrgnt (thomas.petrignet)",French,3,3,0,2,0,3,0,"2017-09-23 19:25:52"
|
||||
carsten_kafke,German,3,3,0,43,0,0,3,"2017-10-27 13:27:47"
|
||||
"Vagner Roberto (vagner.trompete)","Portuguese, Brazilian",3,3,0,0,0,0,0,"2017-12-30 17:54:26"
|
||||
"Igor Piskun (i_piskun)",Ukrainian,3,3,0,0,0,0,0,"2018-01-19 15:20:27"
|
||||
"Cláudio Bernardo (claudiobernardo.ti)","Portuguese, Brazilian",3,4,0,1,0,0,0,"2019-01-08 14:41:10"
|
||||
"Unnie Here (Carb)",Hindi,3,8,0,0,0,0,0,"2020-03-18 23:34:35"
|
||||
REMOVED_USER,"Portuguese, Brazilian",3,4,0,0,0,0,0,"2018-11-18 09:02:37"
|
||||
"Thoum Ptrgnt (thomas.petrignet)",French,3,3,0,2,0,3,0,"2017-09-23 19:25:52"
|
||||
"Oleg Kogut (kogut_oleg)",Ukrainian,3,3,0,0,0,0,0,"2018-12-28 14:31:02"
|
||||
carsten_kafke,German,3,3,0,43,0,0,3,"2017-10-27 13:27:47"
|
||||
Magidxz,Arabic,3,3,0,0,0,0,0,"2021-01-05 05:02:54"
|
||||
"Péter Bernát (bernatp)",Hungarian,3,2,0,0,0,0,0,"2019-11-30 15:50:33"
|
||||
"joabe gabriel (joabegabrielcma1)","Portuguese, Brazilian",3,4,0,0,0,0,0,"2018-08-21 09:08:59"
|
||||
"Gabriel Cavalcante (gabrielc.alves14)","Portuguese, Brazilian",3,4,0,0,0,0,0,"2018-08-06 22:24:54"
|
||||
"Martin Zimdahl (zimdahlmartin)",Swedish,3,2,0,0,1,0,3,"2018-09-15 04:39:22"
|
||||
atomjani,Hungarian,3,3,0,0,0,0,0,"2019-01-19 00:49:25"
|
||||
"mohammadali barati (mabaraty)",Persian,3,3,0,0,0,0,0,"2021-07-10 05:54:44"
|
||||
"Hiohana Rilary (hiohanarilary)","Portuguese, Brazilian",3,4,0,0,0,0,0,"2019-07-31 20:42:20"
|
||||
"Tejaswini Boppana (Tejaswini)",Telugu,3,1,0,0,0,0,0,"2021-08-27 23:48:55"
|
||||
"Andrea Bianchi (andreawhite1597)",Italian,3,1,0,1,0,0,0,"2018-01-21 17:45:48"
|
||||
"Ño Bí Tã (pt614553)",Arabic,2,8,0,1,0,2,0,"2021-05-22 20:41:01"
|
||||
"Judith Ayala (Azul1612)",Spanish,2,1,0,0,0,1,0,"2021-05-18 17:07:19"
|
||||
"Valerij D (vala.dobler)",German,2,2,0,0,0,0,0,"2018-09-22 09:38:27"
|
||||
"Balthazar Aubard (Balatzar)",French,2,5,0,0,1,0,0,"2017-09-23 01:42:57"
|
||||
"Ahmed Bazazo (ahmedbazazo)",Arabic,2,2,0,0,0,0,0,"2022-02-19 20:11:09"
|
||||
"Ali Zaida (alizaeda92)",Arabic,2,2,0,0,0,0,0,"2019-12-01 11:47:00"
|
||||
"FAy FAy (fayfayfay52)","Chinese Traditional",2,5,0,0,0,0,0,"2017-10-06 08:53:21"
|
||||
Soroor_SI,Persian,2,2,0,0,0,0,0,"2018-06-10 06:28:27"
|
||||
chavs1997,Russian,2,2,0,9,0,0,0,"2018-05-18 16:58:19"
|
||||
"Naveen jai krishna (njsbpolymer1)",Tamil,2,5,0,0,0,0,0,"2020-01-10 14:19:41"
|
||||
omerfarukbas,Turkish,2,3,0,19,2,0,0,"2017-08-14 16:10:35"
|
||||
"Ilyas Fekhar (il47yas)",Arabic,2,2,0,0,0,0,0,"2018-04-17 22:00:41"
|
||||
"Héctor Mañas García (hectodium)",Catalan,2,3,0,0,0,0,0,"2021-10-02 20:32:09"
|
||||
"Walid Baazia (walidbaazia2005)",Arabic,2,1,0,0,0,0,0,"2021-01-27 12:47:34"
|
||||
"fatemeh s (fargolseifoori3)",Persian,2,2,0,0,0,0,0,"2019-01-31 12:06:57"
|
||||
"hesamiranii (esam.matouri)",Persian,2,2,0,0,0,0,0,"2018-09-22 16:33:36"
|
||||
"Gabriel Cavalcante (gabrielc.alves14)","Portuguese, Brazilian",3,4,0,0,0,0,0,"2018-08-06 22:24:54"
|
||||
"joabe gabriel (joabegabrielcma1)","Portuguese, Brazilian",3,4,0,0,0,0,0,"2018-08-21 09:08:59"
|
||||
"Martin Zimdahl (zimdahlmartin)",Swedish,3,2,0,0,2,0,3,"2018-09-15 04:39:22"
|
||||
REMOVED_USER,"Portuguese, Brazilian",3,4,0,0,0,0,0,"2018-11-18 09:02:37"
|
||||
"Oleg Kogut (kogut_oleg)",Ukrainian,3,3,0,0,0,0,0,"2018-12-28 14:31:02"
|
||||
"Cláudio Bernardo (claudiobernardo.ti)","Portuguese, Brazilian",3,4,0,1,0,0,0,"2019-01-08 14:41:10"
|
||||
atomjani,Hungarian,3,3,0,0,0,0,0,"2019-01-19 00:49:25"
|
||||
"Hiohana Rilary (hiohanarilary)","Portuguese, Brazilian",3,4,0,0,0,0,0,"2019-07-31 20:42:20"
|
||||
"Péter Bernát (bernatp)",Hungarian,3,2,0,0,0,0,0,"2019-11-30 15:50:33"
|
||||
"Unnie Here (Carb)",Hindi,3,8,0,0,0,0,0,"2020-03-18 23:34:35"
|
||||
"Sarath S (CyberShark)",Tamil,3,7,0,0,0,0,0,"2020-08-27 22:43:16"
|
||||
Magidxz,Arabic,3,3,0,0,0,0,0,"2021-01-05 05:02:54"
|
||||
"mohammadali barati (mabaraty)",Persian,3,3,0,0,0,0,0,"2021-07-10 05:54:44"
|
||||
"Tejaswini Boppana (Tejaswini)",Telugu,3,1,0,0,0,0,0,"2021-08-27 23:48:55"
|
||||
"Craig Foobar (craig.foobar)",German,3,3,0,25,1,0,0,"2022-02-20 16:55:47"
|
||||
Katarin,Ukrainian,3,3,0,0,0,0,0,"2022-03-17 14:44:59"
|
||||
ayet,Arabic,3,3,0,0,0,0,0,"2023-08-16 20:18:12"
|
||||
REMOVED_USER,Ukrainian,2,2,0,0,0,0,0,"2017-06-15 12:24:44"
|
||||
"Alex Stein (diefaust1993)",Russian,2,2,0,4,4,0,2,"2017-07-13 06:56:17"
|
||||
omerfarukbas,Turkish,2,3,0,19,2,0,0,"2017-08-14 16:10:35"
|
||||
"Balthazar Aubard (Balatzar)",French,2,5,0,0,1,0,0,"2017-09-23 01:42:57"
|
||||
"FAy FAy (fayfayfay52)","Chinese Traditional",2,5,0,0,0,0,0,"2017-10-06 08:53:21"
|
||||
"Ilyas Fekhar (il47yas)",Arabic,2,2,0,0,0,0,0,"2018-04-17 22:00:41"
|
||||
amei,"Portuguese, Brazilian",2,2,0,0,0,0,0,"2018-04-19 19:42:28"
|
||||
"أم محمد تقي (souadboudia19)",Arabic,2,2,0,0,0,0,0,"2020-06-13 15:24:17"
|
||||
LNDDYL,"Chinese Traditional",2,4,0,0,0,0,2,"2018-04-22 04:00:19"
|
||||
"조화정 (yunjoo337)",Korean,2,2,0,0,0,0,0,"2019-06-16 22:25:31"
|
||||
"Sidali Aymen (sidaliaymen950)",Arabic,2,2,0,0,0,0,0,"2022-01-31 18:50:59"
|
||||
"Jimmy Young (Jimmyyoung)","Chinese Traditional",2,4,0,0,0,0,2,"2018-04-22 04:00:19"
|
||||
chavs1997,Russian,2,2,0,9,0,0,0,"2018-05-18 16:58:19"
|
||||
Soroor_SI,Persian,2,2,0,0,0,0,0,"2018-06-10 06:28:27"
|
||||
"Valerij D (vala.dobler)",German,2,2,0,0,0,0,0,"2018-09-22 09:38:27"
|
||||
"hesamiranii (esam.matouri)",Persian,2,2,0,0,0,0,0,"2018-09-22 16:33:36"
|
||||
"fatemeh s (fargolseifoori3)",Persian,2,2,0,0,0,0,0,"2019-01-31 12:06:57"
|
||||
"Danial Agh (danialagh)",Persian,2,3,0,0,0,0,0,"2019-03-30 13:24:16"
|
||||
"조화정 (yunjoo337)",Korean,2,2,0,0,0,0,0,"2019-06-16 22:25:31"
|
||||
"Ali Zaida (alizaeda92)",Arabic,2,2,0,0,0,0,0,"2019-12-01 11:47:00"
|
||||
"Naveen jai krishna (njsbpolymer1)",Tamil,2,5,0,0,1,0,0,"2020-01-10 14:19:41"
|
||||
"أم محمد تقي (souadboudia19)",Arabic,2,2,0,0,0,0,0,"2020-06-13 15:24:17"
|
||||
"Walid Baazia (walidbaazia2005)",Arabic,2,1,0,0,0,0,0,"2021-01-27 12:47:34"
|
||||
"Judith Ayala (Azul1612)",Spanish,2,1,0,0,0,1,0,"2021-05-18 17:07:19"
|
||||
"Ño Bí Tã (pt614553)",Arabic,2,8,0,1,0,2,0,"2021-05-22 20:41:01"
|
||||
"Héctor Mañas García (hectodium)",Catalan,2,3,0,0,0,0,0,"2021-10-02 20:32:09"
|
||||
"Sidali Aymen (sidaliaymen950)",Arabic,2,2,0,0,0,0,0,"2022-01-31 18:50:59"
|
||||
"Ahmed Bazazo (ahmedbazazo)",Arabic,2,2,0,0,0,0,0,"2022-02-19 20:11:09"
|
||||
"HypemanKEK (rocasta.dodvi)",Russian,2,2,0,0,0,0,0,"2023-01-13 03:45:06"
|
||||
"Gmas (gustmaes1)",Dutch,2,2,0,0,0,0,0,"2023-01-26 13:52:54"
|
||||
"Катерина Ховалкина (katerina959)",Russian,2,2,0,1,0,0,0,"2023-05-18 14:50:30"
|
||||
"Pratheba Devanathan (devprath05)",Tamil,2,2,0,0,1,0,0,"2023-06-05 12:35:45"
|
||||
"Gordon James Campbell (gordonjamescampbell)",Catalan,2,2,0,0,0,0,0,"2023-06-23 23:23:46"
|
||||
"Suren Airyanam (suren.airyanam)",Persian,2,2,0,0,0,0,0,"2023-10-21 18:01:41"
|
||||
axq,German,2,1,0,1,0,0,0,"2024-02-29 17:14:13"
|
||||
"Hades Mori (Hades_Mori)",Ukrainian,2,2,0,0,0,0,0,"2024-07-03 07:14:58"
|
||||
iSoron2,"Portuguese, Brazilian",1,1,0,0,0,0,0,"2017-03-18 17:56:29"
|
||||
"Anton (tT0NG)","Chinese Traditional",1,2,0,0,0,0,1,"2017-07-06 14:18:39"
|
||||
"Luca Gori (grolcu)",Italian,1,2,0,0,0,0,0,"2020-09-26 23:26:15"
|
||||
axd,Spanish,1,1,0,15,0,0,0,"2017-09-12 05:48:51"
|
||||
REMOVED_USER,Russian,1,2,0,6,1,0,1,"2019-12-26 05:37:01"
|
||||
jonesses,German,1,1,0,1,0,0,1,"2021-01-01 08:03:18"
|
||||
"Alan Jeon (skyisle)",Korean,1,2,0,8,0,0,0,"2018-01-09 10:46:00"
|
||||
"Maria Fefelova (mashafefel)",Russian,1,1,0,0,0,0,0,"2019-05-18 02:03:56"
|
||||
"Patrick Pimenta (trickap1)","Portuguese, Brazilian",1,1,0,0,0,0,0,"2018-12-01 14:31:21"
|
||||
"박찌 (perpact20)",Korean,1,1,0,0,0,0,0,"2018-02-10 10:11:44"
|
||||
"Kan Black (kanblack.va)",Vietnamese,1,2,0,0,0,1,0,"2019-01-15 03:50:10"
|
||||
"Anastasiia Bondarenko (nastasya.bondarenko.97)",Russian,1,1,0,0,0,0,0,"2019-06-07 17:43:08"
|
||||
axd,Spanish,1,1,0,15,1,0,0,"2017-09-12 05:48:51"
|
||||
"Wibi Cahyo (wbcahyoh)",Indonesian,1,3,0,0,0,0,0,"2017-12-14 06:35:58"
|
||||
sanyoniket,,0,0,0,0,0,0,0,"2019-07-23 12:58:40"
|
||||
"Sri Harsha Bhogi (sriharshabhogi)",,0,0,0,0,0,0,0,"2018-09-02 05:31:53"
|
||||
Irsgram,Russian,0,0,0,1,0,0,0,"2019-09-30 16:42:20"
|
||||
"Baran Özavcı (n2141n)",Turkish,0,0,0,1,0,0,0,"2022-02-26 04:32:51"
|
||||
"Masataka Yakura (myakura)",Japanese,0,0,0,1,0,0,0,"2021-09-03 22:10:36"
|
||||
ava_rfie,Persian,0,0,0,1,0,0,0,"2019-06-09 16:19:24"
|
||||
T-v-Gerwen,Dutch,0,0,0,47,0,0,0,"2018-03-02 10:26:33"
|
||||
"George Merkulov (george142.emarket)",Russian,0,0,0,11,0,0,0,"2019-06-09 19:47:02"
|
||||
philfr49,French,0,0,0,2,0,0,0,"2018-09-03 14:20:32"
|
||||
"عبد الناصر سعيد الثبيتي (asaeed)",,0,0,0,0,0,0,0,"2018-03-13 02:09:35"
|
||||
"Thomas Orlita (Thomas995)",Czech,0,0,0,1,0,0,0,"2017-12-24 04:08:27"
|
||||
"Edmunds Edmundam (edmundam)",,0,0,0,0,0,0,0,"2020-06-01 14:18:18"
|
||||
"Elmo (oberknecht)",,0,0,0,0,0,0,0,"2020-04-16 08:45:50"
|
||||
"Равиль Мифтахов (ravilmif47)",Russian,0,0,0,1,0,0,0,"2019-08-12 21:58:30"
|
||||
"Manny Farsangy (manifarsangi)",Persian,0,0,0,12,0,0,0,"2021-08-10 05:32:28"
|
||||
"Samuel Przeździęk (samek22)",Polish,0,0,0,1,0,0,0,"2021-08-01 00:49:01"
|
||||
"Saiprasath B (Saiprasath)",,0,0,0,0,0,0,0,"2021-07-11 11:10:41"
|
||||
REMOVED_USER,,0,0,0,0,0,0,0,"2018-08-24 00:17:43"
|
||||
REMOVED_USER,,0,0,0,0,0,0,0,"2020-02-01 03:47:48"
|
||||
"Arjun K. (arjunkdot)",,0,0,0,0,0,0,0,"2020-09-20 11:16:18"
|
||||
EwanB,,0,0,0,0,0,0,0,"2019-11-19 10:04:38"
|
||||
shuvo786,,0,0,0,0,0,0,0,"2019-11-13 00:18:12"
|
||||
"Pro AAA (pro1010)",Arabic,0,0,0,1,0,0,0,"2022-02-14 03:32:44"
|
||||
"manu (manuL96)",,0,0,0,0,0,0,0,"2022-05-06 23:34:55"
|
||||
"Rivo Zängov (Eraser)",,0,0,0,0,0,0,0,"2020-10-13 04:38:26"
|
||||
ashik8113,,0,0,0,0,0,0,0,"2022-04-13 11:58:26"
|
||||
deepbird,,0,0,0,0,0,0,0,"2022-04-11 03:21:05"
|
||||
REMOVED_USER,,0,0,0,0,0,0,0,"2018-10-27 15:34:36"
|
||||
Elham1361,,0,0,0,0,0,0,0,"2018-10-27 12:01:06"
|
||||
"Ahnaf Tajwar (atn4404)",,0,0,0,0,0,0,0,"2018-10-16 11:13:30"
|
||||
martyaberger,,0,0,0,0,0,0,0,"2019-01-01 18:48:08"
|
||||
AsadullahIlyas,,0,0,0,0,0,0,0,"2019-01-04 06:14:15"
|
||||
"akmal shafiq (mohdakmalshafiq)",,0,0,0,0,0,0,0,"2021-11-01 01:04:50"
|
||||
"Sylwuskak (sylwuskak)",Polish,0,0,0,1,0,0,0,"2022-01-25 04:19:53"
|
||||
"Yunsu Kim (yunsukim86)",Korean,0,0,0,2,0,0,0,"2022-01-14 06:33:43"
|
||||
"Pumpith Ungsupanit (pumpithu)",,0,0,0,0,0,0,0,"2019-01-19 23:47:57"
|
||||
"Nat Fomicheva (natac)",Russian,0,0,0,3,0,0,0,"2019-01-25 14:35:02"
|
||||
HemanthMeda,Telugu,0,0,0,4,0,0,0,"2021-12-01 14:02:14"
|
||||
"darkkingredian (rediancool)",,0,0,0,0,0,0,0,"2021-07-27 16:04:32"
|
||||
catemlitten,Japanese,0,0,0,1,0,0,0,"2021-11-17 15:06:02"
|
||||
"Said Tahsin Dane (tasomaniac)",,0,0,0,0,0,0,0,"2021-09-25 05:31:01"
|
||||
"Matus Zdansky (matuszdansky)",,0,0,0,0,0,0,0,"2019-10-20 13:52:24"
|
||||
mdrobulis,,0,0,0,0,0,0,0,"2018-05-24 01:40:42"
|
||||
valney.faria,"Portuguese, Brazilian",0,0,0,1,0,0,0,"2020-02-02 14:45:02"
|
||||
"Petros Bleyan (coolbleyan)",Russian,0,0,0,14,0,0,0,"2017-08-18 18:37:18"
|
||||
"Карлен Шаухаев (KarlenShaukhaev)",,0,0,0,0,0,0,0,"2020-04-27 08:53:49"
|
||||
"Shuvashish Sahoo (shuvashish76)",,0,0,0,0,0,0,0,"2020-09-17 09:10:09"
|
||||
REMOVED_USER,,0,0,0,0,0,0,0,"2018-01-05 16:56:12"
|
||||
"Dagna Q (dagnaq)",,0,0,0,0,0,0,0,"2017-08-06 01:42:52"
|
||||
Sandhu564.,,0,0,0,0,0,0,0,"2020-12-14 01:27:45"
|
||||
AhmedDz,Arabic,0,0,0,1,0,0,0,"2017-12-31 10:12:31"
|
||||
"Quentin Hibon (hiq)",,0,0,0,0,0,0,0,"2021-02-07 16:39:31"
|
||||
"Ahmed Nazir (ahmednazir333)",,0,0,0,0,0,0,0,"2018-05-06 12:10:27"
|
||||
"박인호 (wphestiraid)",Korean,0,0,0,2,0,0,0,"2018-01-05 00:33:14"
|
||||
Raulbertassi,,0,0,0,0,0,0,0,"2018-01-07 17:23:18"
|
||||
"Javid IRAN (twitteriran98)",Persian,0,0,0,1,0,0,0,"2017-11-25 16:47:25"
|
||||
"Wellington Ribeiro (wellington.rib)",,0,0,0,0,0,0,0,"2017-11-16 07:32:25"
|
||||
dimateos,,0,0,0,0,0,0,0,"2021-01-10 06:29:52"
|
||||
"Balaji Jayaraman (jkbalaji1103)",,0,0,0,0,0,0,0,"2017-10-30 22:12:27"
|
||||
"reza golestanzadeh (reza.golestanzadeh)",Persian,0,0,0,1,0,0,0,"2020-10-21 12:07:20"
|
||||
"Muhammet Furkan ALMACI (furkan.almaci)",Turkish,0,0,0,1,0,0,0,"2017-10-29 13:44:56"
|
||||
dongchen.yue,German,0,0,0,4,0,0,0,"2020-09-12 15:05:59"
|
||||
"Алтынбек Наурызғали (altinbeknaurizgali)",Russian,0,0,0,1,0,0,0,"2020-08-12 13:03:49"
|
||||
rooban23,,0,0,0,0,0,0,0,"2020-09-15 11:49:14"
|
||||
NairaDNV,Spanish,0,0,0,9,0,0,0,"2018-01-05 19:10:33"
|
||||
"Katherine Alexandra Flórez Ramírez (katherine.florez12)",Spanish,0,0,0,46,0,0,0,"2018-01-20 02:18:32"
|
||||
Itch,,0,0,0,0,0,0,0,"2017-10-16 09:18:42"
|
||||
"Yasin Okumus (lacivert)",Turkish,0,0,0,1,0,0,0,"2018-02-07 04:13:51"
|
||||
"Eduard Boboc (edi.boboc33)",Romanian,0,0,0,4,0,0,0,"2019-12-16 09:08:39"
|
||||
Hayder21,,0,0,0,0,0,0,0,"2019-12-31 10:56:24"
|
||||
"Eliška Roubalová (roubaeli)",Czech,0,0,0,6,0,0,0,"2019-12-31 12:47:29"
|
||||
Fazy1380,,0,0,0,0,0,0,0,"2021-04-10 11:02:53"
|
||||
"Arttu Ylhävuori (arttu.ylhavuori)",,0,0,0,0,0,0,0,"2019-07-24 15:03:42"
|
||||
"Alan Jeon (skyisle)",Korean,1,2,0,8,0,0,0,"2018-01-09 10:46:00"
|
||||
"박찌 (perpact20)",Korean,1,1,0,0,0,0,0,"2018-02-10 10:11:44"
|
||||
"Patrick Pimenta (trickap1)","Portuguese, Brazilian",1,1,0,0,0,0,0,"2018-12-01 14:31:21"
|
||||
"Kan Black (kanblack.va)",Vietnamese,1,2,0,0,0,1,0,"2019-01-15 03:50:10"
|
||||
"Maria Fefelova (mashafefel)",Russian,1,1,0,0,0,0,0,"2019-05-18 02:03:56"
|
||||
"Anastasiia Bondarenko (nastasya.bondarenko.97)",Russian,1,1,0,0,0,0,0,"2019-06-07 17:43:08"
|
||||
REMOVED_USER,Russian,1,2,0,6,1,0,1,"2019-12-26 05:37:01"
|
||||
"Luca Gori (grolcu)",Italian,1,2,0,0,0,0,0,"2020-09-26 23:26:15"
|
||||
jonesses,German,1,1,0,1,0,0,1,"2021-01-01 08:03:18"
|
||||
"monir s (ms.alam)",Persian,1,1,0,1,0,0,0,"2022-05-23 06:34:00"
|
||||
"Daniel Luque (LuqueDaniel)",Spanish,1,1,0,0,0,0,0,"2022-06-30 20:37:07"
|
||||
Liboide,Spanish,1,1,0,0,0,0,0,"2022-11-03 23:57:45"
|
||||
"K RITE (kriteshojha5)",Hindi,1,1,0,1,0,0,0,"2024-08-14 17:28:55"
|
||||
"Angelos (angelos1993)",Arabic,1,1,0,0,0,0,0,"2024-11-20 07:38:18"
|
||||
"Bora Atıcı (Brtc)",Turkish,1,2,0,0,0,0,0,"2025-03-07 20:33:19"
|
||||
EmanAmini,,0,0,0,0,0,0,0,"2017-03-31 13:27:43"
|
||||
AnggaRifandi,,0,0,0,0,0,0,0,"2017-03-31 19:28:35"
|
||||
"Lori Amico (lavodkaclyde2323)",Italian,0,0,0,1,0,0,0,"2017-04-09 10:08:13"
|
||||
"Florian Stuhlmann (stuhlmann)",German,0,0,0,10,0,0,0,"2017-04-15 04:04:00"
|
||||
Kamalakannan,,0,0,0,0,0,0,0,"2017-05-14 11:40:23"
|
||||
farbod66,Persian,0,0,0,1,0,0,0,"2018-01-20 11:04:23"
|
||||
"vi ve (VimalV)",,0,0,0,0,0,0,0,"2021-02-08 02:35:45"
|
||||
"Éjbãss Übbeî (littlebittlebottle)",Norwegian,0,0,0,152,0,0,0,"2017-07-05 21:12:02"
|
||||
"LeMeD (LeMeS)",French,0,0,0,2,0,0,0,"2021-02-06 15:35:00"
|
||||
BongTran,Vietnamese,0,0,0,2,0,0,0,"2018-04-24 05:16:07"
|
||||
REMOVED_USER,Czech,0,0,0,18,0,0,0,"2018-03-27 06:19:52"
|
||||
mushin,,0,0,0,0,0,0,0,"2020-02-02 04:08:05"
|
||||
"Mateusz Teteruk (mttet)",Polish,0,0,0,1,0,0,0,"2021-01-23 13:09:59"
|
||||
"Sarah BCNN (fsarahboucenna)",French,0,0,0,16,0,0,0,"2018-02-11 11:07:36"
|
||||
"Dagna Q (dagnaq)",,0,0,0,0,0,0,0,"2017-08-06 01:42:52"
|
||||
"Petros Bleyan (coolbleyan)",Russian,0,0,0,14,0,0,0,"2017-08-18 18:37:18"
|
||||
Itch,,0,0,0,0,0,0,0,"2017-10-16 09:18:42"
|
||||
"Muhammet Furkan ALMACI (furkan.almaci)",Turkish,0,0,0,1,0,0,0,"2017-10-29 13:44:56"
|
||||
"Balaji Jayaraman (jkbalaji1103)",,0,0,0,0,0,0,0,"2017-10-30 22:12:27"
|
||||
"Wellington Ribeiro (wellington.rib)",,0,0,0,0,0,0,0,"2017-11-16 07:32:25"
|
||||
"Javid IRAN (twitteriran98)",Persian,0,0,0,1,0,0,0,"2017-11-25 16:47:25"
|
||||
REMOVED_USER,Czech,0,0,0,1,0,0,0,"2017-12-24 04:08:27"
|
||||
AhmedDz,Arabic,0,0,0,1,0,0,0,"2017-12-31 10:12:31"
|
||||
"박인호 (wphestiraid)",Korean,0,0,0,2,0,0,0,"2018-01-05 00:33:14"
|
||||
REMOVED_USER,,0,0,0,0,0,0,0,"2018-01-05 16:56:12"
|
||||
NairaDNV,Spanish,0,0,0,9,0,0,0,"2018-01-05 19:10:33"
|
||||
Raulbertassi,,0,0,0,0,0,0,0,"2018-01-07 17:23:18"
|
||||
"Katherine Alexandra Flórez Ramírez (katherine.florez12)",Spanish,0,0,0,46,0,0,0,"2018-01-20 02:18:32"
|
||||
farbod66,Persian,0,0,0,1,0,0,0,"2018-01-20 11:04:23"
|
||||
droidahmed,Arabic,0,0,0,7,0,0,0,"2018-01-31 02:18:49"
|
||||
"Yasin Okumus (lacivert)",Turkish,0,0,0,1,0,0,0,"2018-02-07 04:13:51"
|
||||
"Sarah BCNN (fsarahboucenna)",French,0,0,0,16,0,0,0,"2018-02-11 11:07:36"
|
||||
T-v-Gerwen,Dutch,0,0,0,47,0,0,0,"2018-03-02 10:26:33"
|
||||
"عبد الناصر سعيد الثبيتي (asaeed)",,0,0,0,0,0,0,0,"2018-03-13 02:09:35"
|
||||
REMOVED_USER,Czech,0,0,0,18,0,0,0,"2018-03-27 06:19:52"
|
||||
BongTran,Vietnamese,0,0,0,2,0,0,0,"2018-04-24 05:16:07"
|
||||
"Ahmed Nazir (ahmednazir333)",,0,0,0,0,0,0,0,"2018-05-06 12:10:27"
|
||||
mdrobulis,,0,0,0,0,0,0,0,"2018-05-24 01:40:42"
|
||||
REMOVED_USER,,0,0,0,0,0,0,0,"2018-08-24 00:17:43"
|
||||
"Sri Harsha Bhogi (sriharshabhogi)",,0,0,0,0,0,0,0,"2018-09-02 05:31:53"
|
||||
philfr49,French,0,0,0,2,0,0,0,"2018-09-03 14:20:32"
|
||||
"Ahnaf Tajwar (atn4404)",,0,0,0,0,0,0,0,"2018-10-16 11:13:30"
|
||||
Elham1361,,0,0,0,0,0,0,0,"2018-10-27 12:01:06"
|
||||
REMOVED_USER,,0,0,0,0,0,0,0,"2018-10-27 15:34:36"
|
||||
"Никита Карамов (nikita.karamoff)",Russian,0,0,0,10,0,0,0,"2018-10-29 03:57:21"
|
||||
martyaberger,,0,0,0,0,0,0,0,"2019-01-01 18:48:08"
|
||||
AsadullahIlyas,,0,0,0,0,0,0,0,"2019-01-04 06:14:15"
|
||||
"Pumpith Ungsupanit (pumpithu)",,0,0,0,0,0,0,0,"2019-01-19 23:47:57"
|
||||
"Nat Fomicheva (natac)",Russian,0,0,0,3,0,0,0,"2019-01-25 14:35:02"
|
||||
ava_rfie,Persian,0,0,0,1,0,0,0,"2019-06-09 16:19:24"
|
||||
"George Merkulov (george142.emarket)",Russian,0,0,0,11,0,0,0,"2019-06-09 19:47:02"
|
||||
sanyoniket,,0,0,0,0,0,0,0,"2019-07-23 12:58:40"
|
||||
"Arttu Ylhävuori (arttu.ylhavuori)",,0,0,0,0,0,0,0,"2019-07-24 15:03:42"
|
||||
"Равиль Мифтахов (ravilmif47)",Russian,0,0,0,1,0,0,0,"2019-08-12 21:58:30"
|
||||
Irsgram,Russian,0,0,0,1,0,0,0,"2019-09-30 16:42:20"
|
||||
"Matus Zdansky (matuszdansky)",,0,0,0,0,0,0,0,"2019-10-20 13:52:24"
|
||||
shuvo786,,0,0,0,0,0,0,0,"2019-11-13 00:18:12"
|
||||
EwanB,,0,0,0,0,0,0,0,"2019-11-19 10:04:38"
|
||||
"Eduard Boboc (edi.boboc33)",Romanian,0,0,0,4,0,0,0,"2019-12-16 09:08:39"
|
||||
Hayder21,,0,0,0,0,0,0,0,"2019-12-31 10:56:24"
|
||||
"Eliška Roubalová (roubaeli)",Czech,0,0,0,6,0,0,0,"2019-12-31 12:47:29"
|
||||
REMOVED_USER,,0,0,0,0,0,0,0,"2020-02-01 03:47:48"
|
||||
mushin,,0,0,0,0,0,0,0,"2020-02-02 04:08:05"
|
||||
valney.faria,"Portuguese, Brazilian",0,0,0,1,0,0,0,"2020-02-02 14:45:02"
|
||||
"Elmo (oberknecht)",,0,0,0,0,0,0,0,"2020-04-16 08:45:50"
|
||||
"Карлен Шаухаев (KarlenShaukhaev)",,0,0,0,0,0,0,0,"2020-04-27 08:53:49"
|
||||
"Edmunds Edmundam (edmundam)",,0,0,0,0,0,0,0,"2020-06-01 14:18:18"
|
||||
"Алтынбек Наурызғали (altinbeknaurizgali)",Russian,0,0,0,1,0,0,0,"2020-08-12 13:03:49"
|
||||
dongchen.yue,German,0,0,0,4,0,0,0,"2020-09-12 15:05:59"
|
||||
rooban23,,0,0,0,0,0,0,0,"2020-09-15 11:49:14"
|
||||
REMOVED_USER,,0,0,0,0,0,0,0,"2020-09-17 09:10:09"
|
||||
"Arjun K. (arjunkdot)",,0,0,0,0,0,0,0,"2020-09-20 11:16:18"
|
||||
"Rivo Zängov (Eraser)",,0,0,0,0,0,0,0,"2020-10-13 04:38:26"
|
||||
"reza golestanzadeh (reza.golestanzadeh)",Persian,0,0,0,1,0,0,0,"2020-10-21 12:07:20"
|
||||
Sandhu564.,,0,0,0,0,0,0,0,"2020-12-14 01:27:45"
|
||||
dimateos,,0,0,0,0,0,0,0,"2021-01-10 06:29:52"
|
||||
"Mateusz Teteruk (mttet)",Polish,0,0,0,1,0,0,0,"2021-01-23 13:09:59"
|
||||
"LeMeD (LeMeS)",French,0,0,0,2,0,0,0,"2021-02-06 15:35:00"
|
||||
"Quentin Hibon (hiq)",,0,0,0,0,0,0,0,"2021-02-07 16:39:31"
|
||||
"vi ve (VimalV)",,0,0,0,0,0,0,0,"2021-02-08 02:35:45"
|
||||
Fazy1380,,0,0,0,0,0,0,0,"2021-04-10 11:02:53"
|
||||
"Saiprasath B (Saiprasath)",,0,0,0,0,0,0,0,"2021-07-11 11:10:41"
|
||||
"darkkingredian (rediancool)",,0,0,0,0,0,0,0,"2021-07-27 16:04:32"
|
||||
"Samuel Przeździęk (samek22)",Polish,0,0,0,1,0,0,0,"2021-08-01 00:49:01"
|
||||
"Manny Farsangy (manifarsangi)",Persian,0,0,0,12,0,0,0,"2021-08-10 05:32:28"
|
||||
"Masataka Yakura (myakura)",Japanese,0,0,0,1,0,0,0,"2021-09-03 22:10:36"
|
||||
"Said Tahsin Dane (tasomaniac)",,0,0,0,0,0,0,0,"2021-09-25 05:31:01"
|
||||
"akmal shafiq (mohdakmalshafiq)",,0,0,0,0,0,0,0,"2021-11-01 01:04:50"
|
||||
catemlitten,Japanese,0,0,0,1,0,0,0,"2021-11-17 15:06:02"
|
||||
HemanthMeda,Telugu,0,0,0,4,0,0,0,"2021-12-01 14:02:14"
|
||||
"Yunsu Kim (yunsukim86)",Korean,0,0,0,2,0,0,0,"2022-01-14 06:33:43"
|
||||
"Sylwuskak (sylwuskak)",Polish,0,0,0,1,0,0,0,"2022-01-25 04:19:53"
|
||||
"Pro AAA (pro1010)",Arabic,0,0,0,1,0,0,0,"2022-02-14 03:32:44"
|
||||
"Baran Özavcı (n2141n)",Turkish,0,0,0,1,0,0,0,"2022-02-26 04:32:51"
|
||||
deepbird,,0,0,0,0,0,0,0,"2022-04-11 03:21:05"
|
||||
ashik8113,,0,0,0,0,0,0,0,"2022-04-13 11:58:26"
|
||||
"manu (manuL96)",,0,0,0,0,0,0,0,"2022-05-06 23:34:55"
|
||||
"Agnel (agnelwaghela)",,0,0,0,0,0,0,0,"2022-06-19 10:32:33"
|
||||
"Ruslan Zaynetdinov (theRuslan)",Russian,0,0,0,6,0,0,0,"2022-07-06 10:48:31"
|
||||
"Marcel (flaced)",German,0,0,0,1,0,0,0,"2022-08-19 15:19:26"
|
||||
pixx1,German,0,0,0,6,0,0,0,"2022-08-22 00:38:13"
|
||||
"Onder Nuray (ondernuray)",,0,0,0,0,0,0,0,"2022-08-30 08:16:27"
|
||||
"Md Faridul Islam (mdfaridulislam509)",,0,0,0,0,0,0,0,"2022-09-04 06:25:20"
|
||||
Felone,,0,0,0,0,0,0,0,"2022-09-10 08:04:02"
|
||||
Sawwwwwplan,,0,0,0,0,0,0,0,"2022-09-10 11:35:14"
|
||||
"Fatima (fatima.a)",Arabic,0,0,0,1,0,0,0,"2022-09-20 09:48:25"
|
||||
DomiAlt,,0,0,0,0,0,0,0,"2022-10-02 15:44:26"
|
||||
Erwindly,Polish,0,0,0,1,0,0,0,"2022-11-01 04:12:58"
|
||||
"Deniz Çelik (DenizCelik)",,0,0,0,0,0,0,0,"2022-11-09 02:13:11"
|
||||
Watashiwanilli,,0,0,0,0,0,0,0,"2022-11-14 10:12:21"
|
||||
"Maxence LIGAN (Daddy_Caramel)",,0,0,0,0,0,0,0,"2022-12-23 04:43:30"
|
||||
wstroobandt,Dutch,0,0,0,1,0,0,0,"2023-01-03 17:52:42"
|
||||
"ニキホロブ蒼井 (abhigyahazra)",,0,0,0,0,0,0,0,"2023-01-08 21:37:53"
|
||||
"Afrim Kamberi (afrimkamberi)",,0,0,0,0,0,0,0,"2023-01-17 05:20:06"
|
||||
ViacheslavLabs,Ukrainian,0,0,0,5,0,0,0,"2023-01-21 15:34:40"
|
||||
Basta,,0,0,0,0,0,0,0,"2023-03-04 16:13:57"
|
||||
raselh,,0,0,0,0,0,0,0,"2023-03-15 03:33:21"
|
||||
"Adrian Miozga (AdrianMiozga)",Polish,0,0,0,13,0,0,0,"2023-03-25 17:00:53"
|
||||
"Atlas Steel (atlas.steel.erbil)",,0,0,0,0,0,0,0,"2023-05-16 05:23:32"
|
||||
"Sathyakumar Ps (sathyakumar63)",,0,0,0,0,0,0,0,"2023-05-24 11:44:23"
|
||||
"Abdul nafih (nafih_zain_)",,0,0,0,0,0,0,0,"2023-05-25 06:24:31"
|
||||
"Bernhard (bernikr)",German,0,0,0,1,0,0,0,"2023-06-12 11:18:18"
|
||||
"Anna Boda (annaboda08)",Hungarian,0,0,0,1,0,0,0,"2023-07-03 13:28:12"
|
||||
"Rubén CH (chruben45)",Spanish,0,0,0,1,0,0,0,"2023-07-24 12:39:51"
|
||||
"Vinicius (exteraDev)",,0,0,0,0,0,0,0,"2023-08-08 15:47:45"
|
||||
"mugdad alhammad (alhammad5057)",,0,0,0,0,0,0,0,"2023-08-13 22:36:01"
|
||||
"Arthur Waldes (arthurwaldes)",,0,0,0,0,0,0,0,"2023-08-22 15:38:12"
|
||||
"Mahmoud Hatem (mahmoudhatem)",Arabic,0,0,0,1,0,0,0,"2023-09-12 05:12:34"
|
||||
"Jacques Francky Salomon (jacquesfranckysalomon)",,0,0,0,0,0,0,0,"2023-10-14 20:55:30"
|
||||
"Mohammad Hashem (hashemchattogram)",,0,0,0,0,0,0,0,"2023-10-27 02:15:39"
|
||||
Aylinddd,Persian,0,0,0,1,0,0,0,"2023-11-07 22:50:37"
|
||||
Dinock,German,0,0,0,1,0,0,0,"2023-11-10 07:08:23"
|
||||
zelfoxx,German,0,0,0,12,0,0,0,"2023-11-22 11:11:44"
|
||||
REMOVED_USER,,0,0,0,0,0,0,0,"2023-11-28 17:42:55"
|
||||
"Dennis Li (Dennis_Li)","Chinese Simplified",0,0,0,1,0,0,0,"2023-12-24 21:12:43"
|
||||
REMOVED_USER,Russian,0,0,0,5,0,0,0,"2024-01-01 17:15:06"
|
||||
"Daniill l (daniill)",,0,0,0,0,0,0,0,"2024-01-12 02:42:52"
|
||||
"NONE NAME (RagnarGraves)",Spanish,0,0,0,1,0,0,0,"2024-02-18 01:39:39"
|
||||
lu21232512,,0,0,0,0,0,0,0,"2024-04-15 12:40:05"
|
||||
"Oscariño (oscarinhooo)",,0,0,0,0,0,0,0,"2024-07-07 08:47:25"
|
||||
"Vladimir Sveshnikov (proloxy)",Russian,0,0,0,6,0,0,0,"2024-07-12 03:27:39"
|
||||
L0f3n,Swedish,0,0,0,2,0,0,0,"2024-08-06 17:13:50"
|
||||
"Christer Fletcher (chrfle)",Swedish,0,0,0,2,0,0,0,"2024-08-15 04:15:49"
|
||||
"Moaid alzawy (dodoalzawy200)",Arabic,0,0,0,1,0,0,0,"2024-09-18 12:17:31"
|
||||
"Eduardo Ferreira (eduu)",,0,0,0,0,0,0,0,"2024-10-27 19:09:20"
|
||||
"عبد الملك بلكم (aboodpvp555)",Arabic,0,0,0,1,0,0,0,"2024-12-12 02:42:14"
|
||||
4Kio,Russian,0,0,0,1,0,0,0,"2024-12-12 12:31:25"
|
||||
"رودينه (rwdynh874)",Arabic,0,0,0,1,0,0,0,"2024-12-24 18:31:33"
|
||||
"zahra ghasemi (z.ghasemizahra)",Persian,0,0,0,1,0,0,0,"2024-12-29 04:36:27"
|
||||
"Mustafa Işıksız (mustafalordon27)",Turkish,0,0,0,1,0,0,0,"2025-01-15 13:52:32"
|
||||
"Ahlem Ben (ahlemben1513)",Arabic,0,0,0,1,0,0,0,"2025-02-12 11:09:57"
|
||||
"Francisco Parra (Frn_7)",Spanish,0,0,0,1,0,0,0,"2025-02-18 22:57:05"
|
||||
"mizumoto (yuta-mizumoto)",Japanese,0,0,0,2,0,0,0,"2025-03-03 18:35:56"
|
||||
|
||||
|
@@ -18,11 +18,10 @@
|
||||
*/
|
||||
|
||||
plugins {
|
||||
id("com.github.triplet.play") version "3.8.6"
|
||||
id("com.android.application") version "8.1.4"
|
||||
id("org.jetbrains.kotlin.android")
|
||||
id("org.jetbrains.kotlin.kapt")
|
||||
id("org.jlleitschuh.gradle.ktlint")
|
||||
alias(libs.plugins.agp)
|
||||
alias(libs.plugins.kotlin.android)
|
||||
alias(libs.plugins.ksp)
|
||||
alias(libs.plugins.ktlint.plugin)
|
||||
}
|
||||
|
||||
tasks.compileLint {
|
||||
@@ -41,15 +40,14 @@ kotlin {
|
||||
}
|
||||
|
||||
android {
|
||||
|
||||
namespace = "org.isoron.uhabits"
|
||||
compileSdk = 34
|
||||
compileSdk = 36
|
||||
|
||||
defaultConfig {
|
||||
versionCode = 20200
|
||||
versionName = "2.2.0"
|
||||
minSdk = 28
|
||||
targetSdk = 34
|
||||
targetSdk = 36
|
||||
applicationId = "org.isoron.uhabits"
|
||||
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
|
||||
}
|
||||
@@ -66,7 +64,7 @@ android {
|
||||
}
|
||||
|
||||
buildTypes {
|
||||
getByName("release") {
|
||||
release {
|
||||
isMinifyEnabled = true
|
||||
proguardFiles(getDefaultProguardFile("proguard-android.txt"), "proguard-rules.txt")
|
||||
if (signingConfigs.findByName("release") != null) {
|
||||
@@ -74,8 +72,8 @@ android {
|
||||
}
|
||||
}
|
||||
|
||||
getByName("debug") {
|
||||
isTestCoverageEnabled = true
|
||||
debug {
|
||||
enableUnitTestCoverage = true
|
||||
}
|
||||
}
|
||||
|
||||
@@ -84,64 +82,35 @@ android {
|
||||
targetCompatibility(JavaVersion.VERSION_11)
|
||||
sourceCompatibility(JavaVersion.VERSION_11)
|
||||
}
|
||||
kotlinOptions {
|
||||
jvmTarget = JavaVersion.VERSION_11.toString()
|
||||
}
|
||||
|
||||
buildFeatures {
|
||||
viewBinding = true
|
||||
}
|
||||
kotlinOptions.jvmTarget = JavaVersion.VERSION_11.toString()
|
||||
buildFeatures.viewBinding = true
|
||||
lint.abortOnError = false
|
||||
}
|
||||
|
||||
dependencies {
|
||||
val daggerVersion = "2.48.1"
|
||||
val kotlinVersion = "1.9.21"
|
||||
val kxCoroutinesVersion = "1.7.3"
|
||||
val ktorVersion = "1.6.8"
|
||||
val espressoVersion = "3.5.1"
|
||||
|
||||
androidTestImplementation("androidx.test.espresso:espresso-contrib:$espressoVersion")
|
||||
androidTestImplementation("androidx.test.espresso:espresso-core:$espressoVersion")
|
||||
androidTestImplementation("com.google.dagger:dagger:$daggerVersion")
|
||||
androidTestImplementation("com.linkedin.dexmaker:dexmaker-mockito:2.28.3")
|
||||
androidTestImplementation("io.ktor:ktor-client-mock:$ktorVersion")
|
||||
androidTestImplementation("io.ktor:ktor-jackson:$ktorVersion")
|
||||
androidTestImplementation("androidx.annotation:annotation:1.7.0")
|
||||
androidTestImplementation("androidx.test.ext:junit:1.1.5")
|
||||
androidTestImplementation("androidx.test.uiautomator:uiautomator:2.2.0")
|
||||
androidTestImplementation("androidx.test:rules:1.5.0")
|
||||
androidTestImplementation("org.mockito.kotlin:mockito-kotlin:5.1.0")
|
||||
compileOnly("javax.annotation:jsr250-api:1.0")
|
||||
coreLibraryDesugaring("com.android.tools:desugar_jdk_libs:2.0.4")
|
||||
implementation("com.github.AppIntro:AppIntro:6.3.1")
|
||||
implementation("com.google.code.findbugs:jsr305:3.0.2")
|
||||
implementation("com.google.dagger:dagger:$daggerVersion")
|
||||
implementation("com.google.guava:guava:32.1.3-android")
|
||||
implementation("io.ktor:ktor-client-android:$ktorVersion")
|
||||
implementation("io.ktor:ktor-client-core:$ktorVersion")
|
||||
implementation("io.ktor:ktor-client-jackson:$ktorVersion")
|
||||
implementation("io.ktor:ktor-client-json:$ktorVersion")
|
||||
implementation("org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlinVersion")
|
||||
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-android:$kxCoroutinesVersion")
|
||||
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:$kxCoroutinesVersion")
|
||||
implementation("androidx.appcompat:appcompat:1.6.1")
|
||||
implementation("androidx.legacy:legacy-preference-v14:1.0.0")
|
||||
implementation("androidx.legacy:legacy-support-v4:1.0.0")
|
||||
implementation("com.google.android.material:material:1.10.0")
|
||||
implementation("com.opencsv:opencsv:5.9")
|
||||
compileOnly(libs.jsr250.api)
|
||||
coreLibraryDesugaring(libs.desugar.jdk.libs)
|
||||
implementation(libs.appIntro)
|
||||
implementation(libs.jsr305)
|
||||
implementation(libs.dagger)
|
||||
implementation(libs.guava)
|
||||
implementation(libs.ktor.client.android)
|
||||
implementation(libs.ktor.client.core)
|
||||
implementation(libs.ktor.client.jackson)
|
||||
implementation(libs.ktor.client.json)
|
||||
implementation(libs.kotlin.stdlib.jdk8)
|
||||
implementation(libs.kotlinx.coroutines.android)
|
||||
implementation(libs.kotlinx.coroutines.core)
|
||||
implementation(libs.appcompat)
|
||||
implementation(libs.legacy.preference.v14)
|
||||
implementation(libs.legacy.support.v4)
|
||||
implementation(libs.material)
|
||||
implementation(libs.opencsv)
|
||||
implementation(libs.konfetti.xml)
|
||||
implementation(project(":uhabits-core"))
|
||||
kapt("com.google.dagger:dagger-compiler:$daggerVersion")
|
||||
kaptAndroidTest("com.google.dagger:dagger-compiler:$daggerVersion")
|
||||
testImplementation("com.google.dagger:dagger:$daggerVersion")
|
||||
testImplementation("junit:junit:4.13.2")
|
||||
testImplementation("org.mockito.kotlin:mockito-kotlin:5.1.0")
|
||||
}
|
||||
ksp(libs.dagger.compiler)
|
||||
|
||||
kapt {
|
||||
correctErrorTypes = true
|
||||
}
|
||||
|
||||
play {
|
||||
serviceAccountCredentials.set(file("../.secret/gcp-key.json"))
|
||||
track.set("alpha")
|
||||
androidTestImplementation(libs.bundles.androidTest)
|
||||
testImplementation(libs.bundles.test)
|
||||
}
|
||||
|
||||
8248
uhabits-android/lint-baseline.xml
Normal file
|
Before Width: | Height: | Size: 8.8 KiB After Width: | Height: | Size: 9.5 KiB |
|
Before Width: | Height: | Size: 10 KiB After Width: | Height: | Size: 11 KiB |
|
Before Width: | Height: | Size: 11 KiB |
|
Before Width: | Height: | Size: 22 KiB After Width: | Height: | Size: 22 KiB |
|
Before Width: | Height: | Size: 11 KiB |
|
Before Width: | Height: | Size: 22 KiB After Width: | Height: | Size: 23 KiB |
|
Before Width: | Height: | Size: 33 KiB After Width: | Height: | Size: 34 KiB |
|
Before Width: | Height: | Size: 19 KiB After Width: | Height: | Size: 20 KiB |
|
Before Width: | Height: | Size: 35 KiB After Width: | Height: | Size: 37 KiB |
|
Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 16 KiB |
@@ -132,7 +132,7 @@ object CommonSteps : BaseUserInterfaceTest() {
|
||||
}
|
||||
|
||||
@Throws(Exception::class)
|
||||
fun verifyOpensWebsite(url: String?) {
|
||||
fun verifyOpensWebsite(url: String) {
|
||||
var browserPkg = "org.chromium.webview_shell"
|
||||
if (SDK_INT <= Build.VERSION_CODES.M) {
|
||||
browserPkg = "com.android.browser"
|
||||
|
||||
@@ -26,6 +26,7 @@ import org.isoron.uhabits.BuildConfig
|
||||
import org.isoron.uhabits.R
|
||||
import org.isoron.uhabits.core.models.PaletteColor
|
||||
import org.isoron.uhabits.databinding.AboutBinding
|
||||
import org.isoron.uhabits.utils.applyRootViewInsets
|
||||
import org.isoron.uhabits.utils.currentTheme
|
||||
import org.isoron.uhabits.utils.setupToolbar
|
||||
|
||||
@@ -54,5 +55,6 @@ class AboutView(
|
||||
binding.tvTranslate.setOnClickListener { screen.showTranslationWebsite() }
|
||||
binding.tvVersion.setOnClickListener { screen.onPressDeveloperCountdown() }
|
||||
binding.tvVersion.text = String.format(version, BuildConfig.VERSION_NAME)
|
||||
applyRootViewInsets()
|
||||
}
|
||||
}
|
||||
|
||||
@@ -42,8 +42,9 @@ class CheckmarkDialog : AppCompatDialogFragment() {
|
||||
val appComponent = (requireActivity().application as HabitsApplication).component
|
||||
val prefs = appComponent.preferences
|
||||
val view = CheckmarkPopupBinding.inflate(LayoutInflater.from(context))
|
||||
val color = requireArguments().getInt("color")
|
||||
arrayOf(view.yesBtn, view.skipBtn).forEach {
|
||||
it.setTextColor(requireArguments().getInt("color"))
|
||||
it.setTextColor(color)
|
||||
}
|
||||
arrayOf(view.noBtn, view.unknownBtn).forEach {
|
||||
it.setTextColor(view.root.sres.getColor(R.attr.contrast60))
|
||||
|
||||
@@ -19,6 +19,7 @@
|
||||
package org.isoron.uhabits.activities.common.dialogs
|
||||
|
||||
import android.content.Context
|
||||
import com.android.colorpicker.ColorPickerDialog.SIZE_SMALL
|
||||
import org.isoron.platform.gui.toInt
|
||||
import org.isoron.uhabits.R
|
||||
import org.isoron.uhabits.core.models.PaletteColor
|
||||
@@ -39,7 +40,7 @@ class ColorPickerDialogFactory @Inject constructor(@param:ActivityContext privat
|
||||
res.getPalette(),
|
||||
androidColor,
|
||||
4,
|
||||
com.android.colorpicker.ColorPickerDialog.SIZE_SMALL
|
||||
SIZE_SMALL
|
||||
)
|
||||
return dialog
|
||||
}
|
||||
|
||||
@@ -15,6 +15,7 @@ import org.isoron.uhabits.R
|
||||
import org.isoron.uhabits.core.models.Entry
|
||||
import org.isoron.uhabits.databinding.CheckmarkPopupBinding
|
||||
import org.isoron.uhabits.utils.InterfaceUtils
|
||||
import org.isoron.uhabits.utils.getCenter
|
||||
import org.isoron.uhabits.utils.requestFocusWithKeyboard
|
||||
import org.isoron.uhabits.utils.sres
|
||||
import java.text.DecimalFormat
|
||||
@@ -35,16 +36,17 @@ class NumberDialog : AppCompatDialogFragment() {
|
||||
val appComponent = (requireActivity().application as HabitsApplication).component
|
||||
val prefs = appComponent.preferences
|
||||
view = CheckmarkPopupBinding.inflate(LayoutInflater.from(context))
|
||||
arrayOf(view.yesBtn, view.skipBtn).forEach {
|
||||
arrayOf(view.yesBtn).forEach {
|
||||
it.setTextColor(requireArguments().getInt("color"))
|
||||
}
|
||||
arrayOf(view.noBtn, view.unknownBtn).forEach {
|
||||
arrayOf(view.noBtn, view.unknownBtnNumber).forEach {
|
||||
it.setTextColor(view.root.sres.getColor(R.attr.contrast60))
|
||||
}
|
||||
arrayOf(view.yesBtn, view.noBtn, view.skipBtn, view.unknownBtn).forEach {
|
||||
arrayOf(view.yesBtn, view.noBtn, view.unknownBtnNumber).forEach {
|
||||
it.typeface = InterfaceUtils.getFontAwesome(requireContext())
|
||||
}
|
||||
if (!prefs.isSkipEnabled) view.skipBtnNumber.visibility = View.GONE
|
||||
if (!prefs.areQuestionMarksEnabled) view.unknownBtnNumber.visibility = View.GONE
|
||||
view.numberButtons.visibility = View.VISIBLE
|
||||
fixDecimalSeparator(view)
|
||||
originalNotes = requireArguments().getString("notes")!!
|
||||
@@ -70,6 +72,12 @@ class NumberDialog : AppCompatDialogFragment() {
|
||||
view.value.setText(DecimalFormat("#.###").format((Entry.SKIP.toDouble() / 1000)))
|
||||
save()
|
||||
}
|
||||
|
||||
view.unknownBtnNumber.setOnClickListener {
|
||||
view.value.setText(DecimalFormat("#.###").format((Entry.UNKNOWN.toDouble() / 1000)))
|
||||
save()
|
||||
}
|
||||
|
||||
view.notes.setOnEditorActionListener { v, actionId, event ->
|
||||
save()
|
||||
true
|
||||
@@ -104,11 +112,16 @@ class NumberDialog : AppCompatDialogFragment() {
|
||||
try {
|
||||
val numberFormat = NumberFormat.getInstance()
|
||||
val valueStr = view.value.text.toString()
|
||||
value = numberFormat.parse(valueStr)!!.toDouble()
|
||||
value = if (valueStr.isNotEmpty()) {
|
||||
numberFormat.parse(valueStr)!!.toDouble()
|
||||
} else {
|
||||
Entry.UNKNOWN.toDouble() / 1000
|
||||
}
|
||||
} catch (e: ParseException) {
|
||||
// NOP
|
||||
}
|
||||
val notes = view.notes.text.toString()
|
||||
val location = view.saveBtn.getCenter()
|
||||
onToggle(value, notes)
|
||||
requireDialog().dismiss()
|
||||
}
|
||||
|
||||
@@ -58,6 +58,7 @@ class RingView : View {
|
||||
private var em = 0f
|
||||
private var text: String?
|
||||
private var textSize: Float
|
||||
private var isStrokedTextEnabled: Boolean = false
|
||||
private var enableFontAwesome = false
|
||||
private var internalDrawingCache: Bitmap? = null
|
||||
private var cacheCanvas: Canvas? = null
|
||||
@@ -131,6 +132,10 @@ class RingView : View {
|
||||
invalidate()
|
||||
}
|
||||
|
||||
fun setIsStrokedTextEnabled(isStroked: Boolean) {
|
||||
this.isStrokedTextEnabled = isStroked
|
||||
}
|
||||
|
||||
override fun onDraw(canvas: Canvas) {
|
||||
super.onDraw(canvas)
|
||||
val activeCanvas: Canvas?
|
||||
@@ -159,6 +164,12 @@ class RingView : View {
|
||||
pRing!!.xfermode = null
|
||||
pRing!!.color = color
|
||||
pRing!!.textSize = textSize
|
||||
|
||||
if (isStrokedTextEnabled) {
|
||||
pRing!!.style = Paint.Style.STROKE
|
||||
pRing!!.strokeWidth = textSize / 15f
|
||||
}
|
||||
|
||||
if (enableFontAwesome) pRing!!.typeface = getFontAwesome(context)
|
||||
activeCanvas.drawText(
|
||||
text!!,
|
||||
|
||||
@@ -22,7 +22,6 @@ package org.isoron.uhabits.activities.habits.edit
|
||||
import android.annotation.SuppressLint
|
||||
import android.content.res.ColorStateList
|
||||
import android.content.res.Resources
|
||||
import android.graphics.Color
|
||||
import android.os.Bundle
|
||||
import android.text.Html
|
||||
import android.text.Spanned
|
||||
@@ -53,7 +52,8 @@ import org.isoron.uhabits.core.models.PaletteColor
|
||||
import org.isoron.uhabits.core.models.Reminder
|
||||
import org.isoron.uhabits.core.models.WeekdayList
|
||||
import org.isoron.uhabits.databinding.ActivityEditHabitBinding
|
||||
import org.isoron.uhabits.utils.ColorUtils
|
||||
import org.isoron.uhabits.utils.applyRootViewInsets
|
||||
import org.isoron.uhabits.utils.applyToolbarInsets
|
||||
import org.isoron.uhabits.utils.dismissCurrentAndShow
|
||||
import org.isoron.uhabits.utils.formatTime
|
||||
import org.isoron.uhabits.utils.toFormattedString
|
||||
@@ -94,6 +94,8 @@ class EditHabitActivity : AppCompatActivity() {
|
||||
themeSwitcher.apply()
|
||||
|
||||
binding = ActivityEditHabitBinding.inflate(layoutInflater)
|
||||
binding.root.applyRootViewInsets()
|
||||
binding.toolbar.applyToolbarInsets()
|
||||
setContentView(binding.root)
|
||||
|
||||
if (intent.hasExtra("habitId")) {
|
||||
@@ -352,8 +354,7 @@ class EditHabitActivity : AppCompatActivity() {
|
||||
androidColor = themeSwitcher.currentTheme.color(color).toInt()
|
||||
binding.colorButton.backgroundTintList = ColorStateList.valueOf(androidColor)
|
||||
if (!themeSwitcher.isNightMode) {
|
||||
val darkerAndroidColor = ColorUtils.mixColors(Color.BLACK, androidColor, 0.15f)
|
||||
window.statusBarColor = darkerAndroidColor
|
||||
window.statusBarColor = androidColor
|
||||
binding.toolbar.setBackgroundColor(androidColor)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -45,6 +45,7 @@ import org.isoron.uhabits.inject.ActivityContextModule
|
||||
import org.isoron.uhabits.inject.DaggerHabitsActivityComponent
|
||||
import org.isoron.uhabits.inject.HabitsActivityComponent
|
||||
import org.isoron.uhabits.inject.HabitsApplicationComponent
|
||||
import org.isoron.uhabits.utils.applyRootViewInsets
|
||||
import org.isoron.uhabits.utils.dismissCurrentDialog
|
||||
import org.isoron.uhabits.utils.restartWithFade
|
||||
|
||||
@@ -100,6 +101,7 @@ class ListHabitsActivity : AppCompatActivity(), Preferences.Listener {
|
||||
menu = component.listHabitsMenu
|
||||
Thread.setDefaultUncaughtExceptionHandler(BaseExceptionHandler(this))
|
||||
component.listHabitsBehavior.onStartup()
|
||||
rootView.applyRootViewInsets()
|
||||
setContentView(rootView)
|
||||
}
|
||||
|
||||
@@ -178,7 +180,7 @@ class ListHabitsActivity : AppCompatActivity(), Preferences.Listener {
|
||||
val timestamp = intent.extras?.getLong("timestamp")
|
||||
if (habitId != null && timestamp != null) {
|
||||
val habit = appComponent.habitList.getById(habitId)!!
|
||||
component.listHabitsBehavior.onEdit(habit, Timestamp(timestamp))
|
||||
component.listHabitsBehavior.onEdit(habit, Timestamp(timestamp), 0f, 0f)
|
||||
}
|
||||
}
|
||||
intent = null
|
||||
|
||||
@@ -23,6 +23,7 @@ import android.content.Context
|
||||
import android.view.ViewGroup.LayoutParams.MATCH_PARENT
|
||||
import android.widget.FrameLayout
|
||||
import android.widget.RelativeLayout
|
||||
import nl.dionsegijn.konfetti.xml.KonfettiView
|
||||
import org.isoron.uhabits.R
|
||||
import org.isoron.uhabits.activities.common.views.ScrollableChart
|
||||
import org.isoron.uhabits.activities.common.views.TaskProgressBar
|
||||
@@ -69,6 +70,9 @@ class ListHabitsRootView @Inject constructor(
|
||||
val listView: HabitCardListView = habitCardListViewFactory.create()
|
||||
val llEmpty = EmptyListView(context)
|
||||
val tbar = buildToolbar()
|
||||
val konfettiView = KonfettiView(context).apply {
|
||||
translationZ = 10f
|
||||
}
|
||||
val progressBar = TaskProgressBar(context, runner)
|
||||
val hintView: HintView
|
||||
val header = HeaderView(context, preferences, midnightTimer)
|
||||
@@ -80,6 +84,7 @@ class ListHabitsRootView @Inject constructor(
|
||||
|
||||
val rootView = RelativeLayout(context).apply {
|
||||
background = sres.getDrawable(R.attr.windowBackgroundColor)
|
||||
addAtTop(konfettiView)
|
||||
addAtTop(tbar)
|
||||
addBelow(header, tbar)
|
||||
addBelow(listView, header, height = MATCH_PARENT)
|
||||
|
||||
@@ -25,6 +25,9 @@ import android.content.Intent
|
||||
import android.os.Bundle
|
||||
import androidx.appcompat.app.AppCompatActivity
|
||||
import dagger.Lazy
|
||||
import nl.dionsegijn.konfetti.core.Party
|
||||
import nl.dionsegijn.konfetti.core.Position
|
||||
import nl.dionsegijn.konfetti.core.emitter.Emitter
|
||||
import org.isoron.platform.gui.toInt
|
||||
import org.isoron.uhabits.R
|
||||
import org.isoron.uhabits.activities.common.dialogs.CheckmarkDialog
|
||||
@@ -63,6 +66,7 @@ import org.isoron.uhabits.intents.IntentFactory
|
||||
import org.isoron.uhabits.tasks.ExportDBTaskFactory
|
||||
import org.isoron.uhabits.tasks.ImportDataTask
|
||||
import org.isoron.uhabits.tasks.ImportDataTaskFactory
|
||||
import org.isoron.uhabits.utils.ColorUtils
|
||||
import org.isoron.uhabits.utils.copyTo
|
||||
import org.isoron.uhabits.utils.currentTheme
|
||||
import org.isoron.uhabits.utils.dismissCurrentAndShow
|
||||
@@ -72,6 +76,7 @@ import org.isoron.uhabits.utils.showSendEmailScreen
|
||||
import org.isoron.uhabits.utils.showSendFileScreen
|
||||
import java.io.File
|
||||
import java.io.IOException
|
||||
import java.util.concurrent.TimeUnit
|
||||
import javax.inject.Inject
|
||||
|
||||
const val RESULT_IMPORT_DATA = 101
|
||||
@@ -218,6 +223,30 @@ class ListHabitsScreen
|
||||
activity.showSendFileScreen(filename)
|
||||
}
|
||||
|
||||
override fun showConfetti(color: PaletteColor, x: Float, y: Float) {
|
||||
if (x == 0f && y == 0f) return
|
||||
if (preferences.isConfettiAnimationDisabled) return
|
||||
val baseColor = themeSwitcher.currentTheme!!.color(color).toInt()
|
||||
rootView.get().konfettiView.start(
|
||||
Party(
|
||||
speed = 0f,
|
||||
maxSpeed = 16f,
|
||||
damping = 0.9f,
|
||||
spread = 360,
|
||||
angle = 0,
|
||||
colors = listOf(
|
||||
ColorUtils.changeHue(baseColor, 180f),
|
||||
ColorUtils.changeHue(baseColor, 20f),
|
||||
ColorUtils.changeHue(baseColor, -20f),
|
||||
baseColor
|
||||
),
|
||||
position = Position.Absolute(x, y),
|
||||
emitter = Emitter(duration = 25, TimeUnit.MILLISECONDS).max(25),
|
||||
timeToLive = 0
|
||||
)
|
||||
)
|
||||
}
|
||||
|
||||
override fun showSettingsScreen() {
|
||||
val intent = intentFactory.startSettingsActivity(activity)
|
||||
activity.startActivityForResult(intent, REQUEST_SETTINGS)
|
||||
|
||||
@@ -20,6 +20,7 @@
|
||||
package org.isoron.uhabits.activities.habits.list.views
|
||||
|
||||
import android.content.Context
|
||||
import android.graphics.PointF
|
||||
import android.graphics.text.LineBreaker.BREAK_STRATEGY_BALANCED
|
||||
import android.os.Build
|
||||
import android.os.Build.VERSION.SDK_INT
|
||||
@@ -154,11 +155,22 @@ class HabitCardView(
|
||||
checkmarkPanel = checkmarkPanelFactory.create().apply {
|
||||
onToggle = { timestamp, value, notes ->
|
||||
triggerRipple(timestamp)
|
||||
habit?.let { behavior.onToggle(it, timestamp, value, notes) }
|
||||
val location = getAbsoluteButtonLocation(timestamp)
|
||||
habit?.let {
|
||||
behavior.onToggle(
|
||||
it,
|
||||
timestamp,
|
||||
value,
|
||||
notes,
|
||||
location.x,
|
||||
location.y
|
||||
)
|
||||
}
|
||||
}
|
||||
onEdit = { timestamp ->
|
||||
triggerRipple(timestamp)
|
||||
habit?.let { behavior.onEdit(it, timestamp) }
|
||||
val location = getAbsoluteButtonLocation(timestamp)
|
||||
habit?.let { behavior.onEdit(it, timestamp, location.x, location.y) }
|
||||
}
|
||||
}
|
||||
|
||||
@@ -166,7 +178,8 @@ class HabitCardView(
|
||||
visibility = GONE
|
||||
onEdit = { timestamp ->
|
||||
triggerRipple(timestamp)
|
||||
habit?.let { behavior.onEdit(it, timestamp) }
|
||||
val location = getAbsoluteButtonLocation(timestamp)
|
||||
habit?.let { behavior.onEdit(it, timestamp, location.x, location.y) }
|
||||
}
|
||||
}
|
||||
|
||||
@@ -206,12 +219,37 @@ class HabitCardView(
|
||||
}
|
||||
|
||||
fun triggerRipple(timestamp: Timestamp) {
|
||||
val location = getRelativeButtonLocation(timestamp)
|
||||
triggerRipple(location.x, location.y)
|
||||
}
|
||||
|
||||
private fun getRelativeButtonLocation(timestamp: Timestamp): PointF {
|
||||
val today = DateUtils.getTodayWithOffset()
|
||||
val offset = timestamp.daysUntil(today) - dataOffset
|
||||
val button = checkmarkPanel.buttons[offset]
|
||||
val panel = when (habit!!.isNumerical) {
|
||||
true -> numberPanel
|
||||
false -> checkmarkPanel
|
||||
}
|
||||
val button = panel.buttons[offset]
|
||||
val y = button.height / 2.0f
|
||||
val x = checkmarkPanel.x + button.x + (button.width / 2).toFloat()
|
||||
triggerRipple(x, y)
|
||||
val x = panel.x + button.x + (button.width / 2).toFloat()
|
||||
return PointF(x, y)
|
||||
}
|
||||
|
||||
private fun getAbsoluteButtonLocation(timestamp: Timestamp): PointF {
|
||||
val containerLocation = IntArray(2)
|
||||
this.getLocationOnScreen(containerLocation)
|
||||
val relButtonLocation = getRelativeButtonLocation(timestamp)
|
||||
val windowInsets = rootWindowInsets
|
||||
val statusBarHeight = if (SDK_INT <= Build.VERSION_CODES.VANILLA_ICE_CREAM) {
|
||||
windowInsets?.systemWindowInsetTop ?: 0
|
||||
} else {
|
||||
0
|
||||
}
|
||||
return PointF(
|
||||
containerLocation[0].toFloat() + relButtonLocation.x,
|
||||
containerLocation[1].toFloat() + relButtonLocation.y - statusBarHeight
|
||||
)
|
||||
}
|
||||
|
||||
override fun onAttachedToWindow() {
|
||||
|
||||
@@ -141,7 +141,7 @@ class HeaderView(
|
||||
|
||||
val y1 = rect.centerY() - 0.25 * em
|
||||
val y2 = rect.centerY() + 1.25 * em
|
||||
val lines = DateUtils.formatHeaderDate(day).toUpperCase().split("\n")
|
||||
val lines = DateUtils.formatHeaderDate(day).uppercase().split("\n")
|
||||
canvas.drawText(lines[0], rect.centerX(), y1.toFloat(), paint)
|
||||
canvas.drawText(lines[1], rect.centerX(), y2.toFloat(), paint)
|
||||
day.add(GregorianCalendar.DAY_OF_MONTH, -1)
|
||||
|
||||
@@ -49,6 +49,7 @@ import org.isoron.uhabits.core.ui.screens.habits.show.ShowHabitMenuPresenter
|
||||
import org.isoron.uhabits.core.ui.screens.habits.show.ShowHabitPresenter
|
||||
import org.isoron.uhabits.core.ui.views.OnDateClickedListener
|
||||
import org.isoron.uhabits.intents.IntentFactory
|
||||
import org.isoron.uhabits.utils.applyRootViewInsets
|
||||
import org.isoron.uhabits.utils.currentTheme
|
||||
import org.isoron.uhabits.utils.dismissCurrentAndShow
|
||||
import org.isoron.uhabits.utils.dismissCurrentDialog
|
||||
@@ -109,6 +110,7 @@ class ShowHabitActivity : AppCompatActivity(), CommandRunner.Listener {
|
||||
)
|
||||
|
||||
view.setListener(presenter)
|
||||
view.applyRootViewInsets()
|
||||
setContentView(view)
|
||||
}
|
||||
|
||||
|
||||
@@ -25,12 +25,14 @@ import android.widget.FrameLayout
|
||||
import org.isoron.uhabits.core.ui.screens.habits.show.ShowHabitPresenter
|
||||
import org.isoron.uhabits.core.ui.screens.habits.show.ShowHabitState
|
||||
import org.isoron.uhabits.databinding.ShowHabitBinding
|
||||
import org.isoron.uhabits.utils.applyToolbarInsets
|
||||
import org.isoron.uhabits.utils.setupToolbar
|
||||
|
||||
class ShowHabitView(context: Context) : FrameLayout(context) {
|
||||
private val binding = ShowHabitBinding.inflate(LayoutInflater.from(context))
|
||||
|
||||
init {
|
||||
binding.toolbar.applyToolbarInsets()
|
||||
addView(binding.root)
|
||||
}
|
||||
|
||||
@@ -52,7 +54,6 @@ class ShowHabitView(context: Context) : FrameLayout(context) {
|
||||
binding.barCard.setState(data.bar)
|
||||
if (data.isNumerical) {
|
||||
binding.overviewCard.visibility = GONE
|
||||
binding.streakCard.visibility = GONE
|
||||
} else {
|
||||
binding.targetCard.visibility = GONE
|
||||
}
|
||||
|
||||
@@ -26,6 +26,7 @@ import org.isoron.uhabits.R
|
||||
import org.isoron.uhabits.activities.AndroidThemeSwitcher
|
||||
import org.isoron.uhabits.core.models.PaletteColor
|
||||
import org.isoron.uhabits.databinding.SettingsActivityBinding
|
||||
import org.isoron.uhabits.utils.applyRootViewInsets
|
||||
import org.isoron.uhabits.utils.setupToolbar
|
||||
|
||||
class SettingsActivity : AppCompatActivity() {
|
||||
@@ -42,6 +43,7 @@ class SettingsActivity : AppCompatActivity() {
|
||||
color = PaletteColor(11),
|
||||
theme = themeSwitcher.currentTheme
|
||||
)
|
||||
binding.root.applyRootViewInsets()
|
||||
setContentView(binding.root)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -24,6 +24,7 @@ import androidx.appcompat.app.AppCompatActivity
|
||||
import org.isoron.uhabits.HabitsApplication
|
||||
import org.isoron.uhabits.activities.AndroidThemeSwitcher
|
||||
import org.isoron.uhabits.core.models.HabitMatcher
|
||||
import org.isoron.uhabits.utils.applyRootViewInsets
|
||||
|
||||
class EditSettingActivity : AppCompatActivity() {
|
||||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
@@ -45,6 +46,7 @@ class EditSettingActivity : AppCompatActivity() {
|
||||
onSave = controller::onSave,
|
||||
args = args
|
||||
)
|
||||
view.applyRootViewInsets()
|
||||
setContentView(view)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -36,6 +36,13 @@ object ColorUtils {
|
||||
return a or r or g or b
|
||||
}
|
||||
|
||||
fun changeHue(color: Int, delta: Float): Int {
|
||||
val hsv = FloatArray(3)
|
||||
Color.colorToHSV(color, hsv)
|
||||
hsv[0] = (hsv[0] + delta).mod(360f)
|
||||
return Color.HSVToColor(hsv)
|
||||
}
|
||||
|
||||
@JvmStatic
|
||||
fun setAlpha(color: Int, newAlpha: Float): Int {
|
||||
val intAlpha = (newAlpha * 255).toInt()
|
||||
|
||||
@@ -26,6 +26,7 @@ import android.content.Intent
|
||||
import android.graphics.Canvas
|
||||
import android.graphics.Color
|
||||
import android.graphics.Paint
|
||||
import android.graphics.PointF
|
||||
import android.graphics.drawable.ColorDrawable
|
||||
import android.os.Handler
|
||||
import android.os.SystemClock
|
||||
@@ -45,6 +46,8 @@ import androidx.annotation.StringRes
|
||||
import androidx.appcompat.app.AppCompatActivity
|
||||
import androidx.appcompat.widget.Toolbar
|
||||
import androidx.core.content.FileProvider
|
||||
import androidx.core.view.ViewCompat
|
||||
import androidx.core.view.WindowInsetsCompat
|
||||
import com.google.android.material.snackbar.Snackbar
|
||||
import org.isoron.platform.gui.toInt
|
||||
import org.isoron.uhabits.HabitsApplication
|
||||
@@ -135,7 +138,11 @@ fun Activity.startActivitySafely(intent: Intent) {
|
||||
}
|
||||
}
|
||||
|
||||
fun Activity.showSendEmailScreen(@StringRes toId: Int, @StringRes subjectId: Int, content: String?) {
|
||||
fun Activity.showSendEmailScreen(
|
||||
@StringRes toId: Int,
|
||||
@StringRes subjectId: Int,
|
||||
content: String?
|
||||
) {
|
||||
val to = this.getString(toId)
|
||||
val subject = this.getString(subjectId)
|
||||
this.startActivity(
|
||||
@@ -175,10 +182,10 @@ fun View.setupToolbar(
|
||||
} else {
|
||||
theme.color(color).toInt()
|
||||
}
|
||||
val darkerColor = ColorUtils.mixColors(toolbarColor, Color.BLACK, 0.75f)
|
||||
toolbar.background = ColorDrawable(toolbarColor)
|
||||
toolbar.applyToolbarInsets()
|
||||
val activity = context as AppCompatActivity
|
||||
activity.window.statusBarColor = darkerColor
|
||||
activity.window.statusBarColor = toolbarColor
|
||||
activity.setSupportActionBar(toolbar)
|
||||
activity.supportActionBar?.setDisplayHomeAsUpEnabled(displayHomeAsUpEnabled)
|
||||
}
|
||||
@@ -232,3 +239,33 @@ fun View.requestFocusWithKeyboard() {
|
||||
dispatchTouchEvent(MotionEvent.obtain(time, time, MotionEvent.ACTION_UP, 0f, 0f, 0))
|
||||
}, 250)
|
||||
}
|
||||
|
||||
fun View.getCenter(): PointF {
|
||||
val viewLocation = IntArray(2)
|
||||
this.getLocationOnScreen(viewLocation)
|
||||
viewLocation[0] += this.width / 2
|
||||
viewLocation[1] -= this.height / 2
|
||||
return PointF(viewLocation[0].toFloat(), viewLocation[1].toFloat())
|
||||
}
|
||||
|
||||
fun View.applyRootViewInsets() {
|
||||
ViewCompat.setOnApplyWindowInsetsListener(this) { view, insets ->
|
||||
val systemBarsInsets = insets.getInsets(WindowInsetsCompat.Type.systemBars())
|
||||
val displayCutoutInsets = insets.getInsets(WindowInsetsCompat.Type.displayCutout())
|
||||
val left = maxOf(systemBarsInsets.left, displayCutoutInsets.left)
|
||||
val right = maxOf(systemBarsInsets.right, displayCutoutInsets.right)
|
||||
view.setPadding(left, 0, right, 0)
|
||||
view.background = ColorDrawable(Color.BLACK)
|
||||
insets
|
||||
}
|
||||
}
|
||||
|
||||
fun View.applyToolbarInsets() {
|
||||
ViewCompat.setOnApplyWindowInsetsListener(this) { view, insets ->
|
||||
val systemBarsInsets = insets.getInsets(WindowInsetsCompat.Type.systemBars())
|
||||
val displayCutoutInsets = insets.getInsets(WindowInsetsCompat.Type.displayCutout())
|
||||
val top = maxOf(systemBarsInsets.top, displayCutoutInsets.top)
|
||||
view.setPadding(0, top, 0, 0)
|
||||
insets
|
||||
}
|
||||
}
|
||||
|
||||
@@ -68,13 +68,13 @@ class CheckmarkWidgetView : HabitWidgetView {
|
||||
val fgColor: Int
|
||||
setShadowAlpha(0x4f)
|
||||
when (entryState) {
|
||||
YES_MANUAL, SKIP -> {
|
||||
YES_MANUAL, SKIP, YES_AUTO -> {
|
||||
bgColor = activeColor
|
||||
fgColor = res.getColor(R.attr.contrast0)
|
||||
backgroundPaint!!.color = bgColor
|
||||
frame!!.setBackgroundDrawable(background)
|
||||
}
|
||||
YES_AUTO, NO, UNKNOWN -> {
|
||||
NO, UNKNOWN -> {
|
||||
bgColor = res.getColor(R.attr.cardBgColor)
|
||||
fgColor = res.getColor(R.attr.contrast60)
|
||||
}
|
||||
@@ -87,12 +87,23 @@ class CheckmarkWidgetView : HabitWidgetView {
|
||||
ring.setColor(fgColor)
|
||||
ring.setBackgroundColor(bgColor)
|
||||
ring.setText(text)
|
||||
ring.setIsStrokedTextEnabled(strokedTextEnabled)
|
||||
label.text = name
|
||||
label.setTextColor(fgColor)
|
||||
requestLayout()
|
||||
postInvalidate()
|
||||
}
|
||||
|
||||
private val strokedTextEnabled: Boolean
|
||||
get() = if (isNumerical) {
|
||||
false
|
||||
} else {
|
||||
when (entryState) {
|
||||
YES_AUTO -> true
|
||||
else -> false
|
||||
}
|
||||
}
|
||||
|
||||
private val text: String
|
||||
get() = if (isNumerical) {
|
||||
(max(0, entryValue) / 1000.0).toShortString()
|
||||
|
||||
@@ -69,7 +69,7 @@ abstract class HabitWidgetView : FrameLayout {
|
||||
val shadowRadius = dpToPixels(context, 2f).toInt()
|
||||
val shadowOffset = dpToPixels(context, 1f).toInt()
|
||||
val shadowColor = Color.argb(shadowAlpha, 0, 0, 0)
|
||||
val cornerRadius = dpToPixels(context, 12f)
|
||||
val cornerRadius = dpToPixels(context, 18f)
|
||||
val radii = FloatArray(8)
|
||||
Arrays.fill(radii, cornerRadius)
|
||||
val shape = RoundRectShape(radii, null, null)
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
يساعدك Loop Habit Tracker على إنشاء عادات إيجابية طويلة المدى والحفاظ عليها في حياتك. تعطيكم الرسوم البيانية والإحصاءات التفصيلية صورة واضحة للكيفية التي تحسنت بها عاداتك مع مرور الوقت. التطبيق خالٍ تمامًا من الإعلانات ومفتوح المصدر ويحترم خصوصيتك.
|
||||
يساعدك Loop Habit Tracker على إنشاء عادات إيجابية طويلة المدى والحفاظ عليها في حياتك. تمنحك المخططات والإحصاءات التفصيلية صورة واضحة عن مدى تحسن عاداتك بمرور الوقت. التطبيق خالٍ تمامًا من الإعلانات ومفتوح المصدر ويحترم خصوصيتك.
|
||||
|
||||
<b>واجهة جميلة وبسيطة</b>
|
||||
يحتوي Loop على واجهة أنيقة وبسيطة وسهلة الاستخدام للغاية ، حتى للمستخدمين لأول مرة. تم تحسين التطبيق ليكون ذي سرعة عالية ، ويعمل التطبيق بشكل جيد حتى على الهواتف القديمة.
|
||||
@@ -19,11 +19,11 @@
|
||||
إذا كنت تريد إجراء مزيد من التحليل لبياناتك ، أو نقلها إلى خدمة أخرى ، فإن Loop تسمح لك بتصديرها إلى جداول البيانات (CSV) أو إلى ملف قاعدة بيانات (SQLite). بالنسبة للمستخدمين المحترفين، يمكن إضافة علامات الاختيار من خلال تطبيقات أخرى ، مثل تاسكر.
|
||||
|
||||
<b>لا قيود</b>
|
||||
تتبع العديد من العادات كما يحلو لك. Loop imposes no artificial limits on how many habits you can have. All features are available to all users. There are no in-app purchases.
|
||||
تتبع العديد من العادات كما يحلو لك. لا تفرض Loop قيودًا مصطنعة على عدد العادات التي يمكنك ممارستها. جميع الميزات متاحة لجميع المستخدمين. لا توجد عمليات شراء داخل التطبيق.
|
||||
|
||||
Arabic
|
||||
<b>خالي تماما من الإعلانات ومفتوح المصدر</b>
|
||||
لا توجد إعلانات أو إشعارات مزعجة أو أذونات تدخلية في هذا التطبيق ، ولن تكون هناك أبدًا. التطبيق مفتوح المصدر بالكامل (GPLv3).
|
||||
|
||||
<b>يعمل دون اتصال ويحترم خصوصيتك</b>
|
||||
Loop لا يتطلب اتصالاً بالإنترنت أو تسجيل حساب عبر الإنترنت. لا يتم إرسال البيانات السرية الخاصة بك إلى أي شخص. لا يتمكن المطورين ولا أي طرف ثالث من الوصول إليها.
|
||||
لا يتطلب Loop اتصالاً بالإنترنت أو تسجيل حساب عبر الإنترنت. لا يتم إرسال البيانات السرية الخاصة بك إلى أي شخص. لا يتمكن المطورين ولا أي طرف ثالث من الوصول إليها.
|
||||
|
||||
|
||||
@@ -1,2 +1 @@
|
||||
اخلق عادات جيدة وتابع تطورها مع مرور الوقت
|
||||
(خالية من الإعلانات)
|
||||
ربي عادات جيدة وتتبع تقدمها مع مرور الوقت (دون إعلانات)
|
||||
|
||||
@@ -0,0 +1,29 @@
|
||||
Loop Следене на навици ви помага да създавате и поддържате дългосрочни положителни навици във вашия живот. Подробни диаграми и статистики ви дават ясна картина как вашите навици са се подобрили във времето. Приложението е изцяло без реклами, с отворен код и зачита вашата поверителност.
|
||||
|
||||
<b>Красив, минималистичен и лек интерфейс</b>
|
||||
Loop има елегантен и минималистичен интерфейс, който е много лесен за използване, дори за нови потребители. Силно оптимизирано за скорост, приложението работи добре дори и на по-стари телефони.
|
||||
|
||||
<b>Сила на навиците</b>
|
||||
Loop има усъвършенствана формула за изчисляване на силата на вашите навици. Всяко повторение прави навика ви по-силен, а всеки пропуснат ден го прави по-слаб. Въпреки това, няколко пропуснати дни след продължителна поредица няма напълно да унищожат вашия напредък, за разлика от много други приложения, които следят поредици.
|
||||
|
||||
<b>Гъвкави графици</b>
|
||||
В допълнение на ежедневни навици, Loop поддържа навици с по-сложни графици, като 3 пъти седмично или през ден.
|
||||
|
||||
<b>Напомняния</b>
|
||||
Планирайте напомняния за да ви подсещат за вашите навици. Всеки навик може да си има собствено напомняне в избрано време от деня. Лесно потвърдете или отхвърлете вашия навик директно от известието.
|
||||
|
||||
<b>Приспособления</b>
|
||||
Напомняйте си за вашите навици винаги когато си отключите телефона. Цветни приспособления ви позволяват да следите навиците си директно от вашия начален екран без дори да отваряте приложението.
|
||||
|
||||
<b>Поемете контрол над вашите данни</b>
|
||||
Ако искате допълнително да анализирате вашите данни или да ги прехвърлите към друга услуга, Loop ви позволява да ги експортирате като електронни таблици (CSV) или като файл за база данни (SQLite). Напреднали потребители могат да добавят отметки от други приложения, като Tasker.
|
||||
|
||||
<b>Без ограничения</b>
|
||||
Следете толкова навика, колкото пожелаете. Loop не налага изкуствени ограничения на бройката навици, които може да имате. Всички функции са достъпни за всички потребители. Няма покупки в приложението.
|
||||
|
||||
<b>Изцяло без реклами и с отворен код</b>
|
||||
В това приложение няма реклами, досадни известия или натрапчиви разрешения, и никога няма да има. Приложението е изцяло с отворен код (GPLv3).
|
||||
|
||||
<b>Работи офлайн и уважава вашата поверителност</b>
|
||||
Loop не изисква интернет връзка или регистрация на онлайн акаунт Вашите поверителни данни никога не се изпращат на никого. Нито разработчиците, нито трети лица имат достъп до тях.
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
Създайте добри навици и следете напредъка им във времето (без реклами)
|
||||
@@ -1,6 +1,6 @@
|
||||
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.
|
||||
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.
|
||||
|
||||
<b>Schöne, minimalistisch und übersichtliche Benutzeroberfläche</b>
|
||||
<b>Schöne, minimalistische und übersichtliche Benutzeroberfläche</b>
|
||||
Loop hat eine elegante und minimalistische Benutzeroberfläche, die selbst für Erstnutzer eine einfache Verwendung möglich macht. Dank vieler Geschwindigkeitsoptimierungen funktioniert die App auch auf älteren Geräten einwandfrei.
|
||||
|
||||
<b>Gewohnheitserfolge</b>
|
||||
@@ -10,20 +10,20 @@ Loop berechnet mit einer ausgereiften Berechnungsart die Stärke der Gewohnheite
|
||||
Zusätzlich zu täglichen Gewohnheiten bietet Loop auch eine komplexere Zeitplanung an, wie zum Beispiel drei mal pro Woche oder jeden zweiten Tag.
|
||||
|
||||
<b>Erinnerungen</b>
|
||||
Benachrichtigungen können zeitlich konfiguriert und als Erinnerung verwendet werden. Für jede Gewohnheit kann eine individuelle Erinnerungen zu einer einstellbaren Tageszeit aktiviert werden. Die Gewohnheiten können dann einfach über die Benachrichtigung überprüft oder verworfen werden.
|
||||
Benachrichtigungen können zeitlich konfiguriert und als Erinnerung verwendet werden. Für jede Gewohnheit kann eine individuelle Erinnerung zu einer einstellbaren Tageszeit aktiviert werden. Die Gewohnheit kann dann einfach über die Benachrichtigung abgehakt oder verworfen werden.
|
||||
|
||||
<b>Widgets</b>
|
||||
Denken Sie immer an Erinnerungen, Sie ihr Telefon entsperren. Mit farbenfrohen Widgets behalten Sie Ihre Gewohnheiten immer im Überblick, direkt auf dem Homescreen ihn die App zu öffnen.
|
||||
Lassen Sie sich an Ihre Gewohnheiten erinnern, wenn Sie Ihr Telefon entsperren. Farbenfrohe Widgets ermöglichen es Ihnen, Ihre Gewohnheiten direkt von Ihrem Startbildschirm aus zu verfolgen, ohne die App zu öffnen.
|
||||
|
||||
<b>Behalten Sie die Kontrolle über Ihre Daten</b>
|
||||
Daten können zur weiteren Analyse, oder auch zum Verschieben zu einem weiteren Anbieter, als Tabelle (CSV) oder Datenbank (SQLite) exportiert werden. Power User können Häkchen durch andere Apps hinzufügen, wie zum Beispiel Tasker.
|
||||
Wenn Sie Ihre Daten weiter analysieren oder zu einem anderen Dienst verschieben möchten, können Sie sie mit Loop als Tabelle (CSV) oder Datenbankdatei (SQLite) exportieren. Power-User können Häkchen durch andere Apps hinzufügen, wie zum Beispiel Tasker.
|
||||
|
||||
<b>Keine Einschränkungen</b>
|
||||
Erstellen Sie so viele Gewohnheiten, wie Sie möchten. Loop setzt keinerlei Einschränkungen was die Anzahl der erstellbaren Gewohnheiten betrifft. Alle Funktionen sind für alle User verfügbar. Es gibt keine In-App-Käufe.
|
||||
|
||||
<b>Komplett werbefrei und open source</b>
|
||||
Loop beinhaltet keine Werbung, lästige Benachrichtigungen oder unnötige Berechtigungen - und wir so wird es auch immer bleiben. Die App ist komplett open source (GPLv3).
|
||||
Es gibt keinerlei Werbung, lästige Benachrichtigungen oder aufdringliche Berechtigungen in dieser App – und das wird auch immer so bleiben. Die App ist komplett open source (GPLv3).
|
||||
|
||||
<b>Funktioniert offline und respektiert Ihre Privatsphäre</b>
|
||||
Loop benötigt keine Internetverbindung oder Online-Registrierung. Ihre privaten Daten werden nie an Dritte weitergegeben. Weder die Entwickler, noch Dritte haben Zugriff darauf.
|
||||
Loop benötigt keine Internetverbindung oder Online-Registrierung. Ihre privaten Daten werden nie an Dritte weitergegeben. Weder die Entwickler noch Dritte haben darauf Zugriff.
|
||||
|
||||
|
||||
@@ -1 +1 @@
|
||||
Erlange gute Gewohnheiten und verfolge dessen Fortschritte (ohne Werbung)
|
||||
Schaffe gute Gewohnheiten und verfolge ihre Fortschritte (ohne Werbung)
|
||||
|
||||
@@ -0,0 +1,29 @@
|
||||
Το Loop Habit Tracker σας βοηθά να δημιουργήσετε και να διατηρήσετε μακροπρόθεσμες θετικές συνήθειες στη ζωή σας. Λεπτομερή διαγράμματα και στατιστικά στοιχεία σας δίνουν μια σαφή εικόνα του πώς οι συνήθειές σας έχουν βελτιωθεί με την πάροδο του χρόνου. Η εφαρμογή είναι εντελώς χωρίς διαφημίσεις, ανοιχτού κώδικα και σέβεται το απόρρητό σας.
|
||||
|
||||
<b>Όμορφη, μινιμαλιστική και ελαφριά διεπαφή</b>
|
||||
Η εφαρμογή έχει ένα κομψό και μινιμαλιστικό περιβάλλον που είναι πολύ εύκολο στη χρήση, ακόμη και για τους χρήστες πρώτης φοράς.
|
||||
|
||||
Σκόρ Συνηθειών
|
||||
Η εφαρμογή έχει μια προηγμένη φόρμουλα για τον υπολογισμό της δύναμης των συνηθειών σας. Κάθε επανάληψη καθιστά τη συνήθειά σας ισχυρότερη και κάθε χαμένη μέρα καθιστά ασθενέστερη. Λίγες χαμένες ημέρες μετά από μια μεγάλη περίοδο, ωστόσο, δεν θα καταστρέψουν εντελώς την πρόοδό σας, σε αντίθεση με πολλές άλλες εφαρμογές τύπου don't-break-the-chain.
|
||||
|
||||
<b>Εύελικτα Προγράμματα</b>
|
||||
Εκτός από τις καθημερινές συνήθειες, το Loop υποστηρίζει συνήθειες με πιο σύνθετα προγράμματα, όπως 3 φορές την εβδομάδα ή κάθε δεύτερη μέρα.
|
||||
|
||||
<b>Υπενθυμίσεις</b>
|
||||
Προγραμματισμός ειδοποιήσεων για να σας υπενθυμίσουν τις συνήθειές σας. Κάθε συνήθεια μπορεί να έχει τη δική της υπενθύμιση, σε μια επιλεγμένη ώρα της ημέρας. Ελέγξτε εύκολα ή απορρίψτε τη συνήθειά σας απευθείας από την ειδοποίηση.
|
||||
|
||||
<b>Widget</b>
|
||||
Υπενθύμιση των συνηθειών σας κάθε φορά που ξεκλειδώνετε το τηλέφωνό σας. Πολύχρωμα widgets σας επιτρέπουν να παρακολουθείτε τις συνήθειές σας απευθείας από την αρχική οθόνη σας, χωρίς καν να ανοίξετε την εφαρμογή.
|
||||
|
||||
<b>Παρτε τον έλεγχο των δεδομένων σας</b>
|
||||
Αν θέλετε να αναλύσετε περαιτέρω τα δεδομένα σας, ή να τα μετακινήσετε σε άλλη υπηρεσία, Το Loop σας επιτρέπει να το εξάγετε σε υπολογιστικά φύλλα (CSV) ή σε αρχείο βάσης δεδομένων (SQLite). Για τους προχωρημένους χρήστες , τα checkmark ελέγχου μπορούν να προστεθούν και μέσω άλλων εφαρμογών, όπως το Tasker.
|
||||
|
||||
<b>Χωρίς περιορισμούς</b>
|
||||
Παρακολουθήστε όσες συνήθειες επιθυμείτε. Το Loop δεν επιβάλλει τεχνητά όρια στο πόσες συνήθειες μπορείτε να έχετε. Όλες οι δυνατότητες είναι διαθέσιμες σε όλους τους χρήστες. Δεν υπάρχουν αγορές εντός της εφαρμογής.
|
||||
|
||||
<b>Πλήρως χωρίς διαφημίσεις και ανοικτού κώδικα</b>
|
||||
Δεν υπάρχουν διαφημίσεις, ενοχλητικές ειδοποιήσεις ή παρεμβατικά δικαιώματα σε αυτήν την εφαρμογή, και δεν θα υπάρξουν ποτέ. Η εφαρμογή είναι εντελώς ανοιχτού κώδικα (GPLv3).
|
||||
|
||||
<b>Δουλέυει και χωρίς σύνδεση και σέβεται την ιδιωτικότητα σας </b>
|
||||
Η εφαρμογή δεν απαιτεί σύνδεση στο διαδίκτυο ή εγγραφή online λογαριασμού. Τα εμπιστευτικά δεδομένα σας δεν αποστέλλονται ποτέ σε κανέναν. Ούτε οι προγραμματιστές ούτε τρίτοι έχουν πρόσβαση σε αυτό.
|
||||
|
||||
@@ -0,0 +1,29 @@
|
||||
Loop Habit Tracker helps you create and maintain long-term positive habits in your life. Detailed charts and statistics give you a clear picture of how your habits have improved over time. The app is completely ad-free, open source and it respects your privacy.
|
||||
|
||||
<b>Beautiful, minimalistic and lightweight interface</b>
|
||||
Loop has an elegant and minimalistic interface that is very easy to use, even for first-time users. Highly optimized for speed, the app works well even on older phones.
|
||||
|
||||
<b>Habit score</b>
|
||||
Loop has an advanced formula for calculating the strength of your habits. Every repetition makes your habit stronger and every missed day makes it weaker. A few missed days after a long streak, however, will not completely destroy your progress, unlike many other don't-break-the-chain apps.
|
||||
|
||||
<b>Flexible schedules</b>
|
||||
In addition to daily habits, Loop supports habits with more complex schedules, such as 3 times per week or every other day.
|
||||
|
||||
<b>Reminders</b>
|
||||
Schedule notifications to remind you of your habits. Each habit can have its own reminder, at a chosen time of the day. Easily check or dismiss your habit directly from the notification.
|
||||
|
||||
<b>Widgets</b>
|
||||
Be reminded of your habits whenever you unlock your phone. Colorful widgets allow you to track your habits directly from your home screen, without even opening the app.
|
||||
|
||||
<b>Take control of your data</b>
|
||||
If you want to further analyze your data, or move it to another service, Loop allows you to export it to spreadsheets (CSV) or to a database file (SQLite). For power users, checkmarks can be added through other apps, such as Tasker.
|
||||
|
||||
<b>No limitations</b>
|
||||
Track as many habits as you wish. Loop imposes no artificial limits on how many habits you can have. All features are available to all users. There are no in-app purchases.
|
||||
|
||||
<b>Completely ad-free and open source</b>
|
||||
There are no advertisements, annoying notifications or intrusive permissions in this app, and there will never be. The app is completely open-source (GPLv3).
|
||||
|
||||
<b>Works offline and respects your privacy</b>
|
||||
Loop doesn't require an Internet connection or online account registration. Your confidential data is never sent to anyone. Neither the developers nor any third-parties have access to it.
|
||||
|
||||
@@ -16,7 +16,7 @@ Programa notificaciones para recordarte tus hábitos. Cada hábito puede tener s
|
||||
Recuerde sus hábitos cada vez que desbloquee su teléfono. Los widgets de colores te permiten rastrear tus hábitos directamente desde tu pantalla de inicio, sin siquiera abrir la aplicación.
|
||||
|
||||
<b>Toma el control de tus datos</b>
|
||||
Si deseas analizar más sus datos o moverlos a otro servicio, Loop te permite exportarlos a hojas de cálculo (CSV) o a un archivo de base de datos (SQLite). Para usuarios avanzados, se pueden marcar hábitos a través de otras aplicaciones, como Tasker.
|
||||
Si quieres analizar más a fondo tus datos o moverlos a otro servicio, Loop te permite exportarlos a hojas de cálculo (CSV) o a un archivo de base de datos (SQLite). Para usuarios avanzados, se pueden marcar hábitos a través de otras aplicaciones, como Tasker.
|
||||
|
||||
<b>Sin limitaciones</b>
|
||||
Rastrea tantos hábitos como desees. Loop no impone límites artificiales sobre cuántos hábitos puedes tener. Todas las características están disponibles para todos los usuarios. No hay compras dentro de la aplicación.
|
||||
|
||||
@@ -0,0 +1,29 @@
|
||||
Loop Habit Tracker auttaa kehittämään ja ylläpitämään pitkäkestoisia hyviä rutiineja. Yksityiskohtaiset kaaviot ja tilastot antavat selkeän kuvan siitä, miten rutiinisi ovat parantuneet ajan kuluessa. Sovellus on mainokseton, sen lähdekoodi on avoin, ja sovellus kunnioittaa yksityisyyttäsi.
|
||||
|
||||
<b>Kaunis, minimalistinen ja kevyt käyttöliittymä</b>
|
||||
Loopin käyttöliittymä on tyylikäs ja minimalistinen. Se on helppokäyttöinen jopa uusille käyttäjille. Sovellus on optimoitu nopeaksi ja toimii hyvin myös vanhoissa puhelimissa.
|
||||
|
||||
<b>Rutiinipisteet</b>
|
||||
Loopilla on kehittynyt laskentakaava joka mittaa rutiiniesi vahvuutta. Jokainen toisto tekee rutiinistasi vahvemman ja jokainen ohitettu päivä tekee siitä heikomman. Muutama ohitettu päivä pitkän putken jälkeen ei kuitenkaan täysin tuhoa edistystäsi, toisin kuin monissa muissa älä-riko-putkea-sovelluksissa.
|
||||
|
||||
<b>Joustavat aikataulut</b>
|
||||
Päivittäisten rutiinien lisäksi Loop tukee rutiineja joilla on monimutkaisempi aikataulu, esimerkiksi kolmesti viikossa tai joka toinen päivä.
|
||||
|
||||
<b>Muistutukset</b>
|
||||
Ajasta ilmoituksia muistuttamaan sinua rutiineistasi. Jokaisella rutiinilla on oma muistutuksensa, valittuna päivän hetkenä. Kuittaa rutiinisi tehdyksi tai merkitse se hylätyksi helposti ilmoituksesta.
|
||||
|
||||
<b>Widgetit</b>
|
||||
Näe muistutuksia rutiineistasi aina kun avaat puhelimesi. Värikkäät widgetit auttavat sinua seuraamaan rutiinejasi suoraan kotinäkymästäsi, ilman että avaat sovellusta.
|
||||
|
||||
<b>Hallitse tietojasi</b>
|
||||
Jos haluat analysoida tietojasi, tai siirtää ne toiseen palveluun, Loop antaa sinun viedä ne laskentataulukoihin (CSV) tai tietokantatiedostoon (SQLite). Tehokäyttäjät voivat lisätä merkintöjä muiden sovellusten, kuten Taskerin, kautta.
|
||||
|
||||
<b>Ei rajoituksia</b>
|
||||
Seuraa niin montaa rutiinia kuin haluat. Loop ei aseta keinotekoisia rajoituksia rutiiniesi määrälle. Kaikki toiminnot ovat kaikkien käytettävissä. Sovelluksen sisäisiä ostoja ei ole.
|
||||
|
||||
<b>Täysin mainokseton ja avointa lähdekoodia</b>
|
||||
Sovelluksessa ei ole mainoksia, häiritseviä ilmoituksia tai turhia käyttöoikeusvaatimuksia, eikä tule koskaan olemaan. Sovellus on täysin avointa lähdekoodia (GPLv3).
|
||||
|
||||
<b>Toimii offline-tilassa ja kunnioittaa yksityisyyttäsi</b>
|
||||
Loop ei vaadi Internet-yhteyttä tai online-tilin rekisteröintiä. Luottamuksellisia tietojasi ei koskaan lähetetä kenellekään. Kehittäjillä ja kolmansilla osapuolilla ei ole pääsyä niihin.
|
||||
|
||||
@@ -0,0 +1,29 @@
|
||||
Loop Habit Tracker helps you create and maintain long-term positive habits in your life. Detailed charts and statistics give you a clear picture of how your habits have improved over time. The app is completely ad-free, open source and it respects your privacy.
|
||||
|
||||
<b>Beautiful, minimalistic and lightweight interface</b>
|
||||
Loop has an elegant and minimalistic interface that is very easy to use, even for first-time users. Highly optimized for speed, the app works well even on older phones.
|
||||
|
||||
<b>Habit score</b>
|
||||
Loop has an advanced formula for calculating the strength of your habits. Every repetition makes your habit stronger and every missed day makes it weaker. A few missed days after a long streak, however, will not completely destroy your progress, unlike many other don't-break-the-chain apps.
|
||||
|
||||
<b>Flexible schedules</b>
|
||||
In addition to daily habits, Loop supports habits with more complex schedules, such as 3 times per week or every other day.
|
||||
|
||||
<b>Reminders</b>
|
||||
Schedule notifications to remind you of your habits. Each habit can have its own reminder, at a chosen time of the day. Easily check or dismiss your habit directly from the notification.
|
||||
|
||||
<b>Widgets</b>
|
||||
Be reminded of your habits whenever you unlock your phone. Colorful widgets allow you to track your habits directly from your home screen, without even opening the app.
|
||||
|
||||
<b>Take control of your data</b>
|
||||
If you want to further analyze your data, or move it to another service, Loop allows you to export it to spreadsheets (CSV) or to a database file (SQLite). For power users, checkmarks can be added through other apps, such as Tasker.
|
||||
|
||||
<b>No limitations</b>
|
||||
Track as many habits as you wish. Loop imposes no artificial limits on how many habits you can have. All features are available to all users. There are no in-app purchases.
|
||||
|
||||
<b>Completely ad-free and open source</b>
|
||||
There are no advertisements, annoying notifications or intrusive permissions in this app, and there will never be. The app is completely open-source (GPLv3).
|
||||
|
||||
<b>Works offline and respects your privacy</b>
|
||||
Loop doesn't require an Internet connection or online account registration. Your confidential data is never sent to anyone. Neither the developers nor any third-parties have access to it.
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
Create good habits and track their progress over time (ad-free)
|
||||
1
uhabits-android/src/main/play/listings/gu-rIN/title.txt
Normal file
@@ -0,0 +1 @@
|
||||
Loop Habit Tracker
|
||||
@@ -0,0 +1,29 @@
|
||||
लूप हैबिट ट्रैकर आपको अपने जीवन में सकारात्मक आदतों को बनाने और बनाए रखने में मदद करता है। विस्तृत चार्ट और आंकड़े आपको एक स्पष्ट तस्वीर देते हैं कि समय के साथ आपकी आदतों में कैसे सुधार हुआ है। ब्लोकडा नि: शुल्क और खुला स्रोत है और यह आपकी गोपनीयता का सम्मान करता है
|
||||
|
||||
<b>सुंदर, न्यूनतर और हल्का इंटरफ़ेस</b>
|
||||
लूप में एक सुरुचिपूर्ण और न्यूनतर इंटरफ़ेस है जिसका उपयोग करना बहुत आसान है, यहां तक कि पहली बार उपयोगकर्ताओं के लिए भी। गति के लिए अत्यधिक अनुकूलित, ऐप पुराने फोन पर भी अच्छा काम करता है।
|
||||
|
||||
<b>आदत स्कोर</b>
|
||||
लूप में आपकी आदतों की ताकत की गणना के लिए एक उन्नत सूत्र है। हर दोहराव आपकी आदत को मजबूत बनाता है और हर छूटा हुआ दिन इसे कमजोर बनाता है। हालांकि, एक लंबी स्ट्रीक के बाद कुछ छूटे हुए दिन आपकी प्रगति को पूरी तरह से नष्ट नहीं करेंगे, कई अन्य नॉट-ब्रेक-द-चेन ऐप्स के विपरीत।
|
||||
|
||||
<b>लचीली अनुसूचियां</b>
|
||||
दैनिक आदतों के अलावा, लूप अधिक जटिल शेड्यूल वाली आदतों का समर्थन करता है, जैसे प्रति सप्ताह 3 बार या हर दूसरे दिन।
|
||||
|
||||
<b>अनुस्मारक</b>
|
||||
आपको अपनी आदतों की याद दिलाने के लिए नोटिफिकेशन शेड्यूल करें। हर आदत का अपना रिमाइंडर सेट किया जा सकता है, वह भी अपने चाहे किसी भी दिन के किसी भी समय पर। अधिसूचना पट्टी यानी "नोटिफिकेशन बार" से आप "हैबिट" (आदत/व्यवहार) की पूर्वनियोजित कार्यप्रणाली को "खारिज" (डिसमिस/dismiss) या "हां हो गया है" (चैक/check) बड़ी आसानी से कर सकते है।
|
||||
|
||||
विजेट
|
||||
क्या आप जब भी अपने फोन को खोले, तब आपको अपनी पूर्वनिर्धारित आदतों/व्यवहारों को आसानी से याद दिलाया जाए? रंग बिरंगे वी आकर्षक "विजेट" प्रणाली की सुविधा से आप बड़ी आसानी से अपने मोबाइल के होम स्क्रीन से अपनी आदतों वी व्यावहार संबंधित जानकारी ले सके है, वह भी ऐप को खोले बिना।
|
||||
|
||||
अपनी डाटा के बारे में नियंत्रण संबंधित जानकारी वी सुविधाएं।
|
||||
यदि आप अपने डेटा का और विश्लेषण करना चाहते हैं, या इसे किसी अन्य सेवा में ले जाना चाहते हैं, तो लूप आपको इसे स्प्रेडशीट (CSV) या डेटाबेस फ़ाइल (SQLite) में निर्यात करने की अनुमति देता है। "पावर" उपयोगकर्ताओं के लिए, अन्य ऐप्स जैसे "टास्कर ऐप" के माध्यम से चेकमार्क जोड़े जा सकते हैं।
|
||||
|
||||
सीमाहीन
|
||||
जितनी चाहें उतनी आदतों वी व्यवहारों को ट्रैक करें। यह "लूप ऐप" आपकी कितनी आदतें हो सकती हैं, इस पर कोई कृत्रिम सीमा नहीं लगाता है। इसलिए जितनी चाहे, उतनी आदतों को बनाएं और ट्रैक करें। सभी सुविधाएँ सभी उपयोगकर्ताओं के लिए उपलब्ध हैं। इन-ऐप खरीदारी नहीं है।
|
||||
|
||||
<b>पूरी तरह से विज्ञापन-मुक्त और खुला स्रोत</b>
|
||||
इस ऐप में कोई विज्ञापन, कष्टप्रद सूचनाएं या घुसपैठ की अनुमति नहीं है, और कभी नहीं होगी। ऐप पूरी तरह से ओपन-सोर्स (GPLv3) है।
|
||||
|
||||
<b>ऑफ़लाइन काम करता है और आपकी गोपनीयता का सम्मान करता है</b>
|
||||
लूप को इंटरनेट कनेक्शन या ऑनलाइन खाता पंजीकरण की आवश्यकता नहीं है। आपका गोपनीय डेटा कभी किसी को नहीं भेजा जाता है। न तो डेवलपर्स और न ही किसी तीसरे पक्ष के पास इसकी डाटा की पहुंच है।
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
अच्छी आदतें बनाएं और समय के साथ उनकी प्रगति को ट्रैक करें (विज्ञापन-मुक्त)
|
||||
@@ -0,0 +1,29 @@
|
||||
Loop Habit Tracker helps you create and maintain long-term positive habits in your life. Detailed charts and statistics give you a clear picture of how your habits have improved over time. The app is completely ad-free, open source and it respects your privacy.
|
||||
|
||||
<b>Beautiful, minimalistic and lightweight interface</b>
|
||||
Loop has an elegant and minimalistic interface that is very easy to use, even for first-time users. Highly optimized for speed, the app works well even on older phones.
|
||||
|
||||
<b>Habit score</b>
|
||||
Loop has an advanced formula for calculating the strength of your habits. Every repetition makes your habit stronger and every missed day makes it weaker. A few missed days after a long streak, however, will not completely destroy your progress, unlike many other don't-break-the-chain apps.
|
||||
|
||||
<b>Flexible schedules</b>
|
||||
In addition to daily habits, Loop supports habits with more complex schedules, such as 3 times per week or every other day.
|
||||
|
||||
<b>Reminders</b>
|
||||
Schedule notifications to remind you of your habits. Each habit can have its own reminder, at a chosen time of the day. Easily check or dismiss your habit directly from the notification.
|
||||
|
||||
<b>Widgets</b>
|
||||
Be reminded of your habits whenever you unlock your phone. Colorful widgets allow you to track your habits directly from your home screen, without even opening the app.
|
||||
|
||||
<b>Take control of your data</b>
|
||||
If you want to further analyze your data, or move it to another service, Loop allows you to export it to spreadsheets (CSV) or to a database file (SQLite). For power users, checkmarks can be added through other apps, such as Tasker.
|
||||
|
||||
<b>No limitations</b>
|
||||
Track as many habits as you wish. Loop imposes no artificial limits on how many habits you can have. All features are available to all users. There are no in-app purchases.
|
||||
|
||||
<b>Completely ad-free and open source</b>
|
||||
There are no advertisements, annoying notifications or intrusive permissions in this app, and there will never be. The app is completely open-source (GPLv3).
|
||||
|
||||
<b>Works offline and respects your privacy</b>
|
||||
Loop doesn't require an Internet connection or online account registration. Your confidential data is never sent to anyone. Neither the developers nor any third-parties have access to it.
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
Create good habits and track their progress over time (ad-free)
|
||||
@@ -0,0 +1,29 @@
|
||||
Loop Habit Tracker helps you create and maintain long-term positive habits in your life. Detailed charts and statistics give you a clear picture of how your habits have improved over time. The app is completely ad-free, open source and it respects your privacy.
|
||||
|
||||
<b>Beautiful, minimalistic and lightweight interface</b>
|
||||
Loop has an elegant and minimalistic interface that is very easy to use, even for first-time users. Highly optimized for speed, the app works well even on older phones.
|
||||
|
||||
<b>Habit score</b>
|
||||
Loop has an advanced formula for calculating the strength of your habits. Every repetition makes your habit stronger and every missed day makes it weaker. A few missed days after a long streak, however, will not completely destroy your progress, unlike many other don't-break-the-chain apps.
|
||||
|
||||
<b>Flexible schedules</b>
|
||||
In addition to daily habits, Loop supports habits with more complex schedules, such as 3 times per week or every other day.
|
||||
|
||||
<b>Reminders</b>
|
||||
Schedule notifications to remind you of your habits. Each habit can have its own reminder, at a chosen time of the day. Easily check or dismiss your habit directly from the notification.
|
||||
|
||||
<b>Widgets</b>
|
||||
Be reminded of your habits whenever you unlock your phone. Colorful widgets allow you to track your habits directly from your home screen, without even opening the app.
|
||||
|
||||
<b>Take control of your data</b>
|
||||
If you want to further analyze your data, or move it to another service, Loop allows you to export it to spreadsheets (CSV) or to a database file (SQLite). For power users, checkmarks can be added through other apps, such as Tasker.
|
||||
|
||||
<b>No limitations</b>
|
||||
Track as many habits as you wish. Loop imposes no artificial limits on how many habits you can have. All features are available to all users. There are no in-app purchases.
|
||||
|
||||
<b>Completely ad-free and open source</b>
|
||||
There are no advertisements, annoying notifications or intrusive permissions in this app, and there will never be. The app is completely open-source (GPLv3).
|
||||
|
||||
<b>Works offline and respects your privacy</b>
|
||||
Loop doesn't require an Internet connection or online account registration. Your confidential data is never sent to anyone. Neither the developers nor any third-parties have access to it.
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
Create good habits and track their progress over time (ad-free)
|
||||
1
uhabits-android/src/main/play/listings/is-rIS/title.txt
Normal file
@@ -0,0 +1 @@
|
||||
Loop Habit Tracker
|
||||
@@ -1,29 +1,29 @@
|
||||
יישום ”Loop לניהול הרגלים“ מסייע לך ביצירה ובשימור הרגלים טובים וארוכי טווח. תרשימים וסטטיסטיקה מפורטים נותנים לך תמונה ברורה כיצד ההרגלים שלך השתפרו לאורך זמן. היישום נטול פרסומות לחלוטין, קוד המקור שלו פתוח והוא מכבד את הפרטיות שלך.
|
||||
יישום ”Loop לניהול הרגלים“ מסייע לך להתחיל ולשמר הרגלים טובים לאורך זמן. תרשימים וסטטיסטיקה מפורטים מראים לך בדיוק כיצד ההרגלים שלך משתפרים לאורך הזמן. היישום כולו נטול פרסומות, קוד המקור שלו פתוח והוא מכבד את הפרטיות שלך.
|
||||
|
||||
<b>ממשק יפה, חסכוני וקליל</b>
|
||||
הממשק של Loop אלגנטי, חסכוני וקל לשימוש אפילו בפעם הראשונה. היישום מותאם במיוחד למהירות, ועובד היטב גם בטלפונים ישנים.
|
||||
הממשק של Loop אלגנטי, חסכוני וקל לשימוש אפילו בפעם הראשונה. היישום מותאם לפעול במהירות, ועובד היטב גם בטלפונים ישנים.
|
||||
|
||||
<b>ציון הרגל</b>
|
||||
ל־Loop יש נוסחה מתקדמת לחישוב חוזק ההרגלים שלך. כל חזרה על ההרגל מחזקת אותו, וכל יום שהוחמץ מחליש אותו. כמה ימים שהוחמצו לאחר רצף ארוך, לעומת זאת, לא יהרסו לחלוטין את ההתקדמות, בניגוד ליישומים רבים אחרים מסוג ”לא לשבור את השרשרת“.
|
||||
<b>ציונים של הרגלים</b>
|
||||
יש ל־Loop נוסחה מתקדמת לחישוב חוזק ההרגלים שלך. כל חזרה על ההרגל מחזקת אותו, וכל יום שהוחמץ מחליש אותו. למרות זאת, כמה ימים שהוחמצו לאחר רצף ארוך לא יהרסו לחלוטין את ההתקדמות, בניגוד ליישומים רבים אחרים מסוג ”לא לשבור את השרשרת“.
|
||||
|
||||
<b>לוחות זמנים גמישים</b>
|
||||
בנוסף להרגלים יומיומיים, Loop תומך בהרגלים עם לוחות זמנים מורכבים יותר, כמו 3 פעמים בשבוע או ”יום כן ויום לא“.
|
||||
|
||||
<b>תזכורות</b>
|
||||
אפשר לתזמן התראות קבועות עם תזכורות לגבי ההרגלים שלך. לכל הרגל יכולה להיות תזכורת משלו, בשעה שנבחרה ביום. אפשר לסמן או לדחות את עשיית ההרגל ישירות מההתראה בקלות.
|
||||
אפשר לתזמן התראות קבועות עם תזכורות לגבי ההרגלים שלך. לכל הרגל אפשר להגדיר תזכורת, ואפשר לבחור כל שעה ביום. אפשר לסמן או לדחות את הרגלים בקלות וישירות מתוך ההתראה.
|
||||
|
||||
<b>יישומונים</b>
|
||||
להיזכר בהרגלים בכל שחרור נעילת הטלפון. יישומונים צבעוניים שמאפשרים לך לעקוב אחר ההרגלים ישירות ממסך הבית, מבלי לפתוח אפילו את היישום.
|
||||
אפשר לקבל תזכורות לגבי ההרגלים בכל פתיחה של נעילת הטלפון. עם היישומונים הצבעוניים של Loop אפשר לעקוב אחר ההרגלים ישירות ממסך הבית, ומבלי לפתוח את היישום.
|
||||
|
||||
<b>השליטה בנתונים היא בידיים שלך</b>
|
||||
אם ברצונך לנתח יותר לעומק את הנתונים שלך, או להעבירם לשירות אחר, Loop מאפשרת לך לייצא אותם לגיליונות אלקטרוניים (CSV) או לקובץ מסד נתונים (SQLite). למשתמשים מתקדמים, אפשר לסמן הרגלים דרך יישומים אחרים, כגון Tasker.
|
||||
<b>שליטה בנתונים שלך</b>
|
||||
אם ברצונך לחקור את הנתונים שלך לעומק, או להעביר אותם לשירות אחר, Loop מאפשר לך לייצא אותם לגיליונות אלקטרוניים (CSV) או לקובץ מסד נתונים (SQLite). משתמשים מתקדמים יכולים לסמן הרגלים אפילו דרך יישומים אחרים, כמו Tasker.
|
||||
|
||||
<b>בלי הגבלות</b>
|
||||
אפשר לעקוב אחר כמה הרגלים שרוצים. Loop לא מגבילה את כמות ההרגלים שאפשר להוסיף. כל התכונות זמינות לכל המשתמשים. אין רכישות מתוך היישום.
|
||||
אפשר לעקוב אחר כמה הרגלים שרוצים. ב־Loop אפשר ליצור כמה הרגלים שרוצים, ללא הגבלה. כל התכונות זמינות לכל המשתמשים. אין רכישות מתוך היישום.
|
||||
|
||||
<b>היישום נטול פרסומות במלואו וקוד המקור שלו פתוח</b>
|
||||
אין שום פרסומות, התראות מעצבנות או הרשאות פולשניות ביישום הזה, ולעולם לא יהיו. קוד היישום הזה פתוח לחלוטין (GPLv3).
|
||||
<b>היישום כולו נטול פרסומות וקוד המקור שלו פתוח</b>
|
||||
אין שום פרסומות, התראות מעצבנות או הרשאות פולשניות ביישום הזה, ולעולם לא יהיו. קוד המקור של היישום הזה פתוח לחלוטין (GPLv3).
|
||||
|
||||
<b>עובד במצב לא מקוון ומכבד את פרטיותך</b>
|
||||
ל־Loop לא נחוצים חיבור לאינטרנט או הרשמה לחשבון מקוון. הנתונים הסודיים שלך לא נשלחים לאחרים כלל. גם למפתחים וגם לגורמי צד שלישי כלשהם אין גישה אליהם.
|
||||
לא צריך חיבור לאינטרנט או חשבון מקוון כדי להשתמש ב־Loop. הנתונים הפרטיים שלך לא נשלחים לאף אחד. גם למפתחים ולכל מיני גורמי צד שלישי אין גישה אליהם.
|
||||
|
||||
|
||||
@@ -1 +1 @@
|
||||
良い習慣を作り、その進捗を長期にわたって追跡できる便利なツール(広告なし)
|
||||
よい習慣を身につけ、その進捗を記録しましょう (広告なし)
|
||||
|
||||
@@ -0,0 +1,29 @@
|
||||
Loop ჩვევების ტრეკერია, რომელიც გეხმარება ყოველდღიურობისთვის სასარგებლო ჩვევები გამოიმუშავო და ხანგრძლივად შეინარჩუნო. დეტალური დიაგრამებითა და სტატისტიკით წარმოდგენა გექმნება, თუ როგორ ვითარდება და მყარდება შენი ჩვევები. აპლიკაცია ურეკლამო და ღია კოდის მქონეა და ის იცავს შენს კონფიდენციალურობას.
|
||||
|
||||
<b>ლამაზი, მინიმალისტური და მსუბუქი ინტერფეისი</b>
|
||||
Loop-ს ელეგანტური და მინიმალისტური ინტერფეისი აქვს, რომელიც დამწყები მომხმარებლებისთვისაც კი ადვილად მოსახმარია. აპლიკაცია დახვეწილია სიჩქარისთვის, ამიტომ ძველ მოწყობილობებზეც კარგად მუშაობს.
|
||||
|
||||
<b>ჩვევების შეფასება</b>
|
||||
Loop დახვეწილი ფორმულის მეშვეობით ითვლის ჩვევების გაჯდომის დონეს. ყოველი გამეორებით იზრდება ჩვევის გაჯდომის დონე, გაცდენილი დღეების შემთხვევაში კი მცირდება. თუმცა ხანგრძლივი სერიის შემდეგ რამდენიმე დღის გაცდენით არ მოიშლება შენი მთლიანი პროგრესი, ბევრი სხვა „შეინარჩუნე-სერია“ სახის აპლიკაციისგან განსხვავებით.
|
||||
|
||||
<b>მორგებადი განრიგი</b>
|
||||
ყოველდღიური ჩვევების გარდა Loop-ში ასევე ისეთი ჩვევების შექმნა შეიძლება, რომლებსაც უფრო რთული განრიგი აქვთ. მაგალითად: „კვირაში 3-ჯერ“ ან „ყოველ მე-2 დღეს“.
|
||||
|
||||
<b>შემახსენებელი შეტყობინებები</b>
|
||||
დააყენე შეტყობინებები, რათა ჩვევები გაგახსენდეს. ყველა ჩვევას შეუძლია საკუთარი შემახსენებელი შეტყობინება ჰქონდეს დღის სასურველ დროს. ჩვევასთან თოლიის (✓) ჩანიშვნა შეტყობინებიდანვე შეგიძლია.
|
||||
|
||||
<b>ვიჯეტები</b>
|
||||
გაიხსენე ჩვევები ტელეფონის ყოველ განბლოკვაზე. ფერადი ვიჯეტებით გეძლევა იმის საშუალება, რომ ჩვევები საწყისი ეკრანიდანვე, აპლიკაციის გახსნის გარეშე, მართო.
|
||||
|
||||
<b>უხელმძღვანელე შენს მონაცემებს</b>
|
||||
მონაცემთა უფრო დეტალური ანალიზის გაკეთების ან სხვა სერვისზე გადატანის სურვილის არსებობის შემთხვევაში Loop საშუალებას გაძლევს, ისინი ელექტრონული ცხრილის (CSV) ან მონაცემთა ბაზის ფაილად (SQLite) დააექსპორტო. გამოცდილ მომხმარებლებს შეუძლიათ თოლიები (✓) ჩაამატონ სხვა აპლიკაციებით, როგორიცაა, მაგალითად, Tasker.
|
||||
|
||||
<b>შეუზღუდავი</b>
|
||||
იმდენ ჩვევას ადევნე თვალი, რამდენსაც ისურვებ. Loop არ ზღუდავს ჩვევების შესაძლო რაოდენობას. ყველა ფუნქცია ხელმისაწვდომია ნებისმიერი მომხმარებელისთვის. არ აქვს აპლიკაციის შიდა შენაძენები.
|
||||
|
||||
<b>ურეკლამო და ღია კოდით</b>
|
||||
აპლიკაციას არ აქვს და არც არასდროს ექნება რეკლამები, შემაწუხებელი შეტყობინებები, ან მოთხოვნა ზედმეტ ნებართვაზე. აპლიკაციის საწყისი კოდი მთლიანად ღიაა. (GPLv3)
|
||||
|
||||
<b>მუშაობს ხაზგარეშე რეჟიმში და პატივს სცემს შენს კონფიდენციალურობას</b>
|
||||
Loop არ საჭიროებს ინტერნეტკავშირს ან ონლაინ ანგარიშის რეგისტრაციას. შენი პირადი მონაცემები არასდროს გაზიარდება მესამე პირებთან. მონაცემებზე წვდომა არც დეველოპერს და არც მესამე პირებს გააჩნიათ.
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
გამოიმუშავე კარგი ჩვევები და თან ადევნე თვალი შენს პროგრესს (ურეკლამო)
|
||||
1
uhabits-android/src/main/play/listings/ka-rGE/title.txt
Normal file
@@ -0,0 +1 @@
|
||||
Loop — ჩვევების ტრეკერი
|
||||
@@ -0,0 +1,29 @@
|
||||
Loop Habit Tracker는 여러분의 인생에 있어 좋은 습관을 만들고 이를 장기적으로 유지하는 데 도움을 주는 앱입니다. 좋은 습관들이 나날이 늘어가는 모습을 자세한 차트와 통계를 통해 확인할 수 있습니다. Loop Habit Tracker는 오픈소스 프로젝트로 광고가 없으며 사용자의 개인정보를 수집하지 않습니다.
|
||||
|
||||
<b>아름답고 미니멀하며 가벼운 인터페이스</b>
|
||||
Loop는 누구나 간편하게 사용하기 쉽도록 세련되고 미니멀한 인터페이스를 제공합니다. 또한 최적화가 잘 되어있어 최신형 휴대폰이 아니더라도 끊김없이 부드럽게 작동합니다.
|
||||
|
||||
<b>습관 점수</b>
|
||||
Loop는 특수한 공식을 이용하여 사용자의 습관화가 얼마나 진척되었는지 계산합니다. 습관화의 정도는 반복되면 될수록 강해지지만 놓치는 날이 많아진다면 점차 약해집니다. 하지만 한 번 습관이 잘 형성되었다면 며칠 정도 놓치더라도 전반적인 흐름에 큰 영향을 주지 않습니다. 다른 앱에서 반복을 놓치지 말라고 강조하는 것과 차별화되는 점이죠.
|
||||
|
||||
<b>유연한 일정관리</b>
|
||||
Loop는 매일 반복되는 일정 외에도 일주일에 3번 또는 격일로 반복하는 것처럼 더 복잡한 일정도 유연하게 관리할 수 있습니다.
|
||||
|
||||
<b>알림</b>
|
||||
하루의 일정을 잊지 않도록 알림을 설정해보세요. 각각의 습관 일정에 맞추어 알림을 별도로 설정할 수 있습니다. 또한 상단메뉴바에서 손쉽게 일정을 확인하고 해제할 수 있습니다.
|
||||
|
||||
<b>위젯</b>
|
||||
휴대폰을 잠금 해제할 때마다 하루의 일정을 떠올려 보세요. 다양한 위젯을 통해 앱을 열지 않고도 홈 화면에서 직접 습관목록을 관리할 수 있습니다.
|
||||
|
||||
<b>통계데이터 관리</b>
|
||||
그동안 모은 통계데이터를 별도로 분석하거나 다른 서비스로 옮길 수 있도록 스프레드시트(CSV), 데이터베이스 파일(SQLite)의 형식으로 내보낼 수 있습니다. 고급 사용자의 경우 Tasker와 같은 다른 앱을 통해 자동으로 일정에 완료 표시하는 등 범용적으로 활용할 수도 있습니다.
|
||||
|
||||
<b>제한없이 사용하기</b>
|
||||
원하는 만큼 습관을 추적해 보세요. Loop는 설정 할 수 있는 습관의 수를 제한하고 있지 않습니다. 유저들은 모든 기능을 이용할 수 있습니다. 인앱 구매가 필요하지 않습니다.
|
||||
|
||||
<b>완벽하게 광고가 없는 오픈소스 앱입니다.</b>
|
||||
Loop Habit Tracker에는 광고, 귀찮은 알림, 혹은 권한 설정이 필요 없으며, 앞으로 또한 그럴 것입니다. 이 앱은 완벽한 오픈소스입니다. (GPLv3)
|
||||
|
||||
<b>오프라인 환경에서도 작동하며 개인 정보를 존중합니다.</b>
|
||||
Loop Habit Tracker는 인터넷 연결이나 온라인 계정 등록을 필요로 하지 않습니다. 이용자의 소중한 데이터는 그 누구에게도 제공되지 않습니다. 개발자나 제3자 모두 접근할 수 없습니다.
|
||||
|
||||
@@ -1 +1 @@
|
||||
좋은 습관을 만들고, 시간이 지나면서 습관이 어떻게 발전하는지 지켜보세요.
|
||||
좋은 습관을 만들고, 시간이 지나면서 습관이 어떻게 발전하는지 지켜보세요. (광고 없음)
|
||||
|
||||
@@ -0,0 +1,29 @@
|
||||
നിങ്ങളുടെ ജീവിതത്തിൽ ദീർഘകാല പോസിറ്റീവ് ശീലങ്ങൾ സൃഷ്ടിക്കാനും നിലനിർത്താനും ലൂപ്പ് ഹാബിറ്റ് ട്രാക്കർ നിങ്ങളെ സഹായിക്കുന്നു. വിശദമായ ചാർട്ടുകളും സ്ഥിതിവിവരക്കണക്കുകളും നിങ്ങളുടെ ശീലങ്ങൾ കാലക്രമേണ എങ്ങനെ മെച്ചപ്പെട്ടുവെന്നതിന്റെ വ്യക്തമായ ചിത്രം നൽകുന്നു. ആപ്പ് പൂർണ്ണമായും പരസ്യരഹിതമാണ്, ഓപ്പൺ സോഴ്സ് ആണ്, ഇത് നിങ്ങളുടെ സ്വകാര്യതയെ മാനിക്കുന്നു.
|
||||
|
||||
<b>മനോഹരവും ചുരുങ്ങിയതും ഭാരം കുറഞ്ഞതുമായ ഇന്റർഫേസ്</b>
|
||||
ലൂപ്പിന് ഗംഭീരവും ചുരുങ്ങിയതുമായ ഒരു ഇന്റർഫേസ് ഉണ്ട്, അത് ആദ്യമായി ഉപയോഗിക്കുന്നവർക്ക് പോലും ഉപയോഗിക്കാൻ വളരെ എളുപ്പമാണ്. വേഗതയ്ക്കായി വളരെ ഒപ്റ്റിമൈസ് ചെയ്തിരിക്കുന്ന ആപ്പ് പഴയ ഫോണുകളിൽ പോലും നന്നായി പ്രവർത്തിക്കുന്നു.
|
||||
|
||||
<b>ശീല സ്കോർ</b>
|
||||
നിങ്ങളുടെ ശീലങ്ങളുടെ ശക്തി കണക്കാക്കുന്നതിനുള്ള വിപുലമായ ഫോർമുല ലൂപ്പിനുണ്ട്. ഓരോ ആവർത്തനവും നിങ്ങളുടെ ശീലത്തെ കൂടുതൽ ശക്തമാക്കുന്നു, കൂടാതെ നഷ്ടപ്പെട്ട ഓരോ ദിവസവും അതിനെ ദുർബലമാക്കുന്നു. എന്നിരുന്നാലും, നീണ്ട ഇടവേളയ്ക്ക് ശേഷം നഷ്ടമായ കുറച്ച് ദിവസങ്ങൾ, മറ്റ് പല ഡോൺ-ബ്രേക്ക്-ദി-ചെയിൻ ആപ്പുകളിൽ നിന്ന് വ്യത്യസ്തമായി നിങ്ങളുടെ പുരോഗതിയെ പൂർണ്ണമായും നശിപ്പിക്കില്ല.
|
||||
|
||||
<b>ഫ്ലെക്സിബിൾ ഷെഡ്യൂളുകൾ</b>
|
||||
ദൈനംദിന ശീലങ്ങൾക്ക് പുറമേ, ആഴ്ചയിൽ 3 തവണ അല്ലെങ്കിൽ മറ്റെല്ലാ ദിവസവും പോലെ കൂടുതൽ സങ്കീർണ്ണമായ ഷെഡ്യൂളുകളുള്ള ശീലങ്ങളെ ലൂപ്പ് പിന്തുണയ്ക്കുന്നു.
|
||||
|
||||
<b>ഓർമ്മപ്പെടുത്തലുകൾ</b>
|
||||
നിങ്ങളുടെ ശീലങ്ങളെക്കുറിച്ച് ഓർമ്മപ്പെടുത്തുന്നതിന് അറിയിപ്പുകൾ ഷെഡ്യൂൾ ചെയ്യുക. ഓരോ ശീലത്തിനും അതിന്റേതായ ഓർമ്മപ്പെടുത്തൽ ഉണ്ടായിരിക്കാം, ദിവസത്തിലെ തിരഞ്ഞെടുത്ത സമയത്ത്. അറിയിപ്പിൽ നിന്ന് നേരിട്ട് നിങ്ങളുടെ ശീലം എളുപ്പത്തിൽ പരിശോധിക്കുക അല്ലെങ്കിൽ നിരസിക്കുക.
|
||||
|
||||
<b>വിജറ്റുകൾ</b>
|
||||
നിങ്ങളുടെ ഫോൺ അൺലോക്ക് ചെയ്യുമ്പോഴെല്ലാം നിങ്ങളുടെ ശീലങ്ങൾ ഓർമ്മിപ്പിക്കുക. ആപ്പ് തുറക്കാതെ തന്നെ ഹോം സ്ക്രീനിൽ നിന്ന് നേരിട്ട് നിങ്ങളുടെ ശീലങ്ങൾ ട്രാക്ക് ചെയ്യാൻ വർണ്ണാഭമായ വിജറ്റുകൾ നിങ്ങളെ അനുവദിക്കുന്നു.
|
||||
|
||||
<b>നിങ്ങളുടെ ഡാറ്റയുടെ നിയന്ത്രണം ഏറ്റെടുക്കുക</b>
|
||||
നിങ്ങളുടെ ഡാറ്റ കൂടുതൽ വിശകലനം ചെയ്യാനോ മറ്റൊരു സേവനത്തിലേക്ക് നീക്കാനോ നിങ്ങൾ ആഗ്രഹിക്കുന്നുവെങ്കിൽ, അത് സ്പ്രെഡ്ഷീറ്റുകളിലേക്കോ (CSV) അല്ലെങ്കിൽ ഒരു ഡാറ്റാബേസ് ഫയലിലേക്കോ (SQLite) കയറ്റുമതി ചെയ്യാൻ ലൂപ്പ് നിങ്ങളെ അനുവദിക്കുന്നു. പവർ ഉപയോക്താക്കൾക്ക്, ടാസ്കർ പോലുള്ള മറ്റ് ആപ്പുകൾ വഴി ചെക്ക്മാർക്കുകൾ ചേർക്കാവുന്നതാണ്.
|
||||
|
||||
<b>പരിമിതികളില്ല</b>
|
||||
നിങ്ങൾ ആഗ്രഹിക്കുന്നത്രയും ശീലങ്ങൾ ട്രാക്ക് ചെയ്യുക. നിങ്ങൾക്ക് എത്ര ശീലങ്ങൾ ഉണ്ടായിരിക്കാം എന്നതിന് ലൂപ്പ് കൃത്രിമ പരിധികളൊന്നും ഏർപ്പെടുത്തുന്നില്ല. എല്ലാ ഫീച്ചറുകളും എല്ലാ ഉപയോക്താക്കൾക്കും ലഭ്യമാണ്. ഇൻ-ആപ്പ് വാങ്ങലുകളൊന്നുമില്ല.
|
||||
|
||||
<b>പൂർണ്ണമായും പരസ്യരഹിതവും ഓപ്പൺ സോഴ്സും</b>
|
||||
ഈ ആപ്പിൽ പരസ്യങ്ങളോ ശല്യപ്പെടുത്തുന്ന അറിയിപ്പുകളോ നുഴഞ്ഞുകയറ്റ അനുമതികളോ ഇല്ല, ഒരിക്കലും ഉണ്ടാകില്ല. ആപ്പ് പൂർണ്ണമായും ഓപ്പൺ സോഴ്സ് ആണ് (GPLv3).
|
||||
|
||||
<b>ഓഫ്ലൈനായി പ്രവർത്തിക്കുകയും നിങ്ങളുടെ സ്വകാര്യതയെ മാനിക്കുകയും ചെയ്യുന്നു</b>
|
||||
ലൂപ്പിന് ഇന്റർനെറ്റ് കണക്ഷനോ ഓൺലൈൻ അക്കൗണ്ട് രജിസ്ട്രേഷനോ ആവശ്യമില്ല. നിങ്ങളുടെ രഹസ്യസ്വഭാവമുള്ള ഡാറ്റ ഒരിക്കലും ആർക്കും അയയ്ക്കില്ല. ഡവലപ്പർമാർക്കോ ഏതെങ്കിലും മൂന്നാം കക്ഷിക്കോ ഇതിലേക്ക് ആക്സസ് ഇല്ല.
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
നല്ല ശീലങ്ങൾ സൃഷ്ടിക്കുകയും കാലക്രമേണ അവരുടെ പുരോഗതി ട്രാക്ക് ചെയ്യുകയും ചെയ്യുക (പരസ്യരഹിതം)
|
||||
1
uhabits-android/src/main/play/listings/ml-rIN/title.txt
Normal file
@@ -0,0 +1 @@
|
||||
ലൂപ്പ് ഹാബിറ്റ് ട്രാക്കർ
|
||||
@@ -0,0 +1,29 @@
|
||||
Loop Habit Tracker helps you create and maintain long-term positive habits in your life. Detailed charts and statistics give you a clear picture of how your habits have improved over time. The app is completely ad-free, open source and it respects your privacy.
|
||||
|
||||
<b>Beautiful, minimalistic and lightweight interface</b>
|
||||
Loop has an elegant and minimalistic interface that is very easy to use, even for first-time users. Highly optimized for speed, the app works well even on older phones.
|
||||
|
||||
<b>Habit score</b>
|
||||
Loop has an advanced formula for calculating the strength of your habits. Every repetition makes your habit stronger and every missed day makes it weaker. A few missed days after a long streak, however, will not completely destroy your progress, unlike many other don't-break-the-chain apps.
|
||||
|
||||
<b>Flexible schedules</b>
|
||||
In addition to daily habits, Loop supports habits with more complex schedules, such as 3 times per week or every other day.
|
||||
|
||||
<b>Reminders</b>
|
||||
Schedule notifications to remind you of your habits. Each habit can have its own reminder, at a chosen time of the day. Easily check or dismiss your habit directly from the notification.
|
||||
|
||||
<b>Widgets</b>
|
||||
Be reminded of your habits whenever you unlock your phone. Colorful widgets allow you to track your habits directly from your home screen, without even opening the app.
|
||||
|
||||
<b>Take control of your data</b>
|
||||
If you want to further analyze your data, or move it to another service, Loop allows you to export it to spreadsheets (CSV) or to a database file (SQLite). For power users, checkmarks can be added through other apps, such as Tasker.
|
||||
|
||||
<b>No limitations</b>
|
||||
Track as many habits as you wish. Loop imposes no artificial limits on how many habits you can have. All features are available to all users. There are no in-app purchases.
|
||||
|
||||
<b>Completely ad-free and open source</b>
|
||||
There are no advertisements, annoying notifications or intrusive permissions in this app, and there will never be. The app is completely open-source (GPLv3).
|
||||
|
||||
<b>Works offline and respects your privacy</b>
|
||||
Loop doesn't require an Internet connection or online account registration. Your confidential data is never sent to anyone. Neither the developers nor any third-parties have access to it.
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
Create good habits and track their progress over time (ad-free)
|
||||
@@ -0,0 +1,29 @@
|
||||
Loop Habit Tracker te ajută să creezi și să menții obiceiuri pozitive pe termen lung în viața ta. Detailed charts and statistics give you a clear picture of how your habits have improved over time. The app is completely ad-free, open source and it respects your privacy.
|
||||
|
||||
<b>Beautiful, minimalistic and lightweight interface</b>
|
||||
Loop are o interfață elegantă și minimalistă, care este foarte ușor de utilizat, chiar și pentru utilizatorii începători. Foarte optimizată pentru viteză, aplicația funcționează bine chiar și pe telefoanele mai vechi.
|
||||
|
||||
<b>Scorul obiceiului</b>
|
||||
Loop has an advanced formula for calculating the strength of your habits. Every repetition makes your habit stronger and every missed day makes it weaker. A few missed days after a long streak, however, will not completely destroy your progress, unlike many other don't-break-the-chain apps.
|
||||
|
||||
<b>Flexible schedules</b>
|
||||
Pe lângă obiceiurile zilnice, Loop susține obiceiuri cu programe mai complexe, cum ar fi, de 3 ori pe săptămână sau din două în două zile.
|
||||
|
||||
<b>Reminders</b>
|
||||
Programează notificări pentru a-ți aminti de obiceiurile tale. Each habit can have its own reminder, at a chosen time of the day. Easily check or dismiss your habit directly from the notification.
|
||||
|
||||
<b>Widgets</b>
|
||||
Be reminded of your habits whenever you unlock your phone. Colorful widgets allow you to track your habits directly from your home screen, without even opening the app.
|
||||
|
||||
<b>Preia controlul asupra datelor tale</b>
|
||||
If you want to further analyze your data, or move it to another service, Loop allows you to export it to spreadsheets (CSV) or to a database file (SQLite). For power users, checkmarks can be added through other apps, such as Tasker.
|
||||
|
||||
<b>Fără limitări</b>
|
||||
Track as many habits as you wish. Loop nu impune limite artificiale asupra numărului de obiceiuri pe care le poți avea. Toate funcțiile sunt disponibile pentru toți utilizatorii. There are no in-app purchases.
|
||||
|
||||
<b>Complet fără reclame și open-source</b>
|
||||
Nu există reclame, notificări enervante sau permisiuni intruzive în această aplicație și nu vor exista niciodată. Aplicația este complet open-source (GPLv3).
|
||||
|
||||
<b>Funcționează offline și respectă confidențialitatea ta</b>
|
||||
Loop nu necesită o conexiune la internet sau înregistrarea unui cont online. Datele tale confidențiale nu au fost trimise nimănui. Neither the developers nor any third-parties have access to it.
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
Creați obiceiuri bune și urmăriți progresul lor în timp (fără reclame)
|
||||
@@ -0,0 +1,29 @@
|
||||
Loop Habit Tracker vam pomaga ustvariti in ohraniti dolgoročne pozitivne navade v vašem življenju. Podrobni grafikoni in statistični podatki vam dajejo jasno sliko o tem, kako so se vaše navade sčasoma izboljšale. Aplikacija je popolnoma brez oglasov, odprtokodna in spoštuje vašo zasebnost.
|
||||
|
||||
<b>Lep, minimalističen in lahek vmesnik</b>
|
||||
Loop ima eleganten in minimalističen vmesnik, ki je zelo enostaven za uporabo, tudi za začetnike. Aplikacija je zelo optimizirana za hitrost, dobro deluje tudi na starejših telefonih.
|
||||
|
||||
<b>Ocena navade</b>
|
||||
Loop ima napredno formulo za izračun moči vaših navad. Vsako ponavljanje naredi vašo navado močnejšo in vsak zamujeni dan jo oslabi. Nekaj zamujenih dni po dolgem nizu pa ne bo popolnoma uničilo vašega napredka, za razliko od mnogih drugih aplikacij, ki ne prekinjajo verige.
|
||||
|
||||
<b>Prilagodljivi urniki</b>
|
||||
Poleg dnevnih navad Loop podpira navade z bolj zapletenimi urniki, na primer 3-krat na teden ali vsak drugi dan.
|
||||
|
||||
<b>Opomniki</b>
|
||||
Načrtujte obvestila, ki vas bodo spomnila na vaše navade. Vsaka navada ima lahko svoj opomnik, ob izbrani uri dneva. Preprosto preverite ali opustite svojo navado neposredno iz obvestila.
|
||||
|
||||
<b>Pripomočki</b>
|
||||
Ko odklenete telefon, se opomnite na svoje navade. Pisani pripomočki vam omogočajo, da spremljate svoje navade neposredno z začetnega zaslona, ne da bi sploh odprli aplikacijo.
|
||||
|
||||
<b>Prevzemite nadzor nad svojimi podatki</b>
|
||||
Če želite svoje podatke dodatno analizirati ali jih premakniti v drugo storitev, vam Loop omogoča, da jih izvozite v preglednice (CSV) ali v datoteko zbirke podatkov (SQLite). Za napredne uporabnike lahko kljukice dodate prek drugih aplikacij, kot je Tasker.
|
||||
|
||||
<b>Brez omejitev</b>
|
||||
Spremljajte toliko navad, kot želite. Loop ne postavlja nobenih umetnih omejitev glede števila navad, ki jih lahko imate. Vse funkcije so na voljo vsem uporabnikom. Nakupov v aplikaciji ni.
|
||||
|
||||
<b>Popolnoma brez oglasov in odprtokoden</b>
|
||||
V tej aplikaciji ni oglasov, nadležnih obvestil ali vsiljivih dovoljenj in jih nikoli ne bo. Aplikacija je popolnoma odprtokodna (GPLv3).
|
||||
|
||||
<b>Deluje brez povezave in spoštuje vašo zasebnost</b>
|
||||
Loop ne zahteva internetne povezave ali spletne registracije računa. Vaši zaupni podatki niso nikoli nikomur poslani. Niti razvijalci niti katere koli tretje osebe nimajo dostopa do njega.
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
Ustvarite dobre navade in spremljajte njihov napredek skozi čas (brez oglasov)
|
||||
@@ -0,0 +1,29 @@
|
||||
உங்கள் வாழ்க்கையில் நீண்டகால நேர்மறையான பழக்கங்களை உருவாக்கவும் பராமரிக்கவும் லூப் ஹாபிட் டிராக்கர் உதவுகிறது. உங்களின் பழக்கவழக்கங்கள், காலப்போக்கில் எவ்வாறு முன்னேறியுள்ளன என்பதை விரிவான அட்டவணைகளும் புள்ளிவிவரங்களும் தெளிவாக காண்பிக்கும் இந்தப் பயன்பாடானது முற்றிலும் விளம்பரங்களற்றது, திறந்த மூலம் மற்றும் உங்களின் தனியுரிமையை மதிக்கும்.
|
||||
|
||||
<b>அழகான, குறைந்தபட்சமான மற்றும் இலகுரக இடைமுகம்</b>
|
||||
Loop இலகுவாகப் பயன்படுத்தக்கூடிய, முதல் முறையிலேயே பயன்படுத்துவோருக்கும் எளிதான, நேர்த்தியான மற்றும் குறைந்தபட்சமான இடைமுகத்தைக் கொண்டுள்ளது. வேகத்திற்காக மிகவும் திறமையாகக் கட்டமைக்கப்பட்ட, இந்தப் பயன்பாடு பழைய தொலைபேசிகளில் கூட நன்கு செயல்படுகிறது.
|
||||
|
||||
பழக்க மதிப்பெண்
|
||||
Loop உங்களின் பழக்கங்களின் வலிமையை கணக்கிடுவதற்கு மேம்பட்ட சூத்திரத்தைக் கொண்டுள்ளது. ஒவ்வொரு மீளுருவாக்கமும் உங்கள் பழக்கத்தை வலுவாக்குகிறது, மேலும் ஒவ்வொரு தவறிய நாளும் அதைப் பலவீனப்படுத்துகிறது. A few missed days after a long streak, however, will not completely destroy your progress, unlike many other don't-break-the-chain apps.
|
||||
|
||||
மாற்றியமைக்கக்கூடிய நாள்காட்டி
|
||||
In addition to daily habits, Loop supports habits with more complex schedules, such as 3 times per week or every other day.
|
||||
|
||||
நினைவூட்டல்கள்
|
||||
உங்கள் பழக்கங்களை நினைவூட்ட உதவிக்கான அறிவிப்புகளைத் திட்டமிடவும் ஒவ்வொரு பழக்கத்திற்கும், நாளில் தேர்ந்தெடுக்கப்பட்ட நேரத்தில் தனித்துவமான நினைவூட்டலைக் கொடுக்கலாம் அறிவிப்பிலிருந்து உங்கள் பழக்கத்தை எளிதாக முடிக்கவும் அல்லது மறுக்கவும்.
|
||||
|
||||
<b>Widgets</b>
|
||||
Be reminded of your habits whenever you unlock your phone. Colorful widgets allow you to track your habits directly from your home screen, without even opening the app.
|
||||
|
||||
உங்கள் தரவு உங்கள் கட்டுப்பாட்டில்
|
||||
If you want to further analyze your data, or move it to another service, Loop allows you to export it to spreadsheets (CSV) or to a database file (SQLite). For power users, checkmarks can be added through other apps, such as Tasker.
|
||||
|
||||
எந்த வரம்புகளும் இல்லை
|
||||
Track as many habits as you wish. Loop imposes no artificial limits on how many habits you can have. All features are available to all users. There are no in-app purchases.
|
||||
|
||||
<b>Completely ad-free and open source</b>
|
||||
இந்தச் செயலியில் விளம்பரங்கள், சிரமமான அறிவிப்புகள் அல்லது அடி முறைகளைப் பொருந்தும் அனுமதிகள் எதுவும் இல்லை, மற்றும் எப்போது இல்லை. இந்தச் செயலி முழுமையாகத் திறந்த மூல குறியீட்டுடன் (GPLv3) உள்ளது.
|
||||
|
||||
<b>Works offline and respects your privacy</b>
|
||||
Loop doesn't require an Internet connection or online account registration. Your confidential data is never sent to anyone. Neither the developers nor any third-parties have access to it.
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
நல்ல பழக்கங்களை உருவாக்க, அவற்றின் முன்னேற்றங்களைக் கண்காணிக்க (விளம்பரம் அற்றது)
|
||||
@@ -10,7 +10,7 @@ Loop, alışkanlıklarınızın kalıcılığını hesaplamak için gelişmiş b
|
||||
Loop, günlük alışkanlıkların yanında, daha karmaşık programları da (örneğin haftada 3 kez veya gün aşırı gibi) destekler.
|
||||
|
||||
<b>Hatırlatmalar</b>
|
||||
Alışkanlıklarınızı size hatırlatması için bildirimler ayarlayabilirsiniz. Her alışkanlık için özel bir bildirim ayarlayabilirsiniz, belirlediğiniz zamanda hatırlatmak üzere. Alışkanlığınızı doğrudan bildirimlerden kolayca işaretleyin veya erteleyin.
|
||||
Alışkanlıklarınızı size hatırlatması için bildirimler ayarlayabilirsiniz. Her bir alışkanlık için gün içinde seçilecek bir zamanda ayrı ayrı bildirim ayarlayabilirsiniz, Alışkanlığınızı doğrudan bildirimlerden kolayca işaretleyin veya erteleyin.
|
||||
|
||||
<b>Widget'lar</b>
|
||||
Telefonunuzun kilidini her açtığınızda alışkanlıklarınız size hatırlatılır. Renkli widget'lar, uygulamayı açmadan bile alışkanlıklarınızı doğrudan ana ekranınızdan izlemenizi sağlar.
|
||||
|
||||
@@ -1,22 +1,22 @@
|
||||
Loop 习惯记录(以下简称“Loop”)能帮你养成和长期保持好习惯。 详细的图表和统计数据能让您更清楚地看到自己的进步。 这是一个完全无广告的开源应用,它尊重您的隐私。
|
||||
Loop 习惯记录(以下简称“Loop”)能帮你养成和长期保持好习惯。 通过详细的图表和统计数据,你可以清晰地看到自己的习惯是如何随着时间的推移而逐步改善的。 这是一个完全无广告的开源应用,它尊重您的隐私。
|
||||
|
||||
<b>优雅、简约、轻巧</b>
|
||||
Loop 具有优雅而简约的界面,即使对于初次使用的用户,也非常易于使用。 该应用针对速度进行了高度优化,即使在较旧的手机上也可以正常运行。
|
||||
Loop 的界面优雅而简约,即便初次使用,也能轻松上手。 该应用针对运行速度进行了高度优化,在旧手机上也表现良好。
|
||||
|
||||
<b>习惯强度</b>
|
||||
Loop 有高级的公式来计算您习惯的强度。 多多重复会使你的习惯更牢固, 但是,与其他记录的应用不同,即便您有几天没有记录习惯,依然不会破坏您的进度。
|
||||
<b>习惯分</b>
|
||||
Loop 有高级的公式来计算您习惯的养成程度。 每次重复打卡都会让习惯更牢固,而每一次错过都会削弱。 不过与其他打卡的APP不同,即便您有几天没有记录习惯,依然不会破坏您的进度。
|
||||
|
||||
<b>弹性计划</b>
|
||||
除了每天习惯之外,Loop 还支持更加复杂的时间安排,例如每周三次或每天三次。
|
||||
除了每日打卡之外,Loop 还支持更加复杂的时间安排,例如每周3次或每天3次。
|
||||
|
||||
<b>提醒</b>
|
||||
设定通知以提醒您完成习惯。 您可以为每个习惯单独设置提醒,选定当天的某个时间提醒该习惯。 同时从通知中轻松地检查或取消您的习惯。
|
||||
您可以设定通知以提醒您完成习惯, 也可以为每个习惯单独设置提醒,并选定每日的提醒时间。 同时可以从通知中轻松地记录或取消打卡。
|
||||
|
||||
<b>微件</b>
|
||||
当您解锁手机时, 多彩的小部件可让您直接从主屏幕记录自己的习惯,而无需打开应用程序。
|
||||
当您解锁手机时, 缤纷的小部件可让您直接从桌面记录自己的习惯,而无需打开应用程序。
|
||||
|
||||
<b>掌控您的数据</b>
|
||||
如果您想进一步分析数据或将数据备份,则可以使用 Loop 将其导出为电子表格(CSV)或数据库文件(SQLite)。 对于高级用户,可以通过其他应用如 Tasker 实现自动化添加标记。
|
||||
如果您想进一步分析数据或将数据备份,则可以使用 Loop 将其导出为电子表格(CSV)或数据库文件(SQLite)。 对于高级用户,可以通过其他应用如 Tasker 实现自动化打卡。
|
||||
|
||||
<b>无限制</b>
|
||||
想记录多少习惯都没问题! Loop 对您的习惯没有任何限制, 所有用户均可使用所有功能, 并且没有应用内购买。
|
||||
@@ -24,6 +24,6 @@ Loop 有高级的公式来计算您习惯的强度。 多多重复会使你的
|
||||
<b>完全无广告的开源软件</b>
|
||||
本应用永远都不会有广告和烦人的通知,也不会索取侵入性权限。 本应用是完全开源的(GPLv3)。
|
||||
|
||||
<b>脱机工作并尊重您的隐私</b>
|
||||
Loop 不需要网络连接或在线帐户注册。 您的用户数据永远不会发送给任何人, 包括开发人员和任何第三方都无法访问它。
|
||||
<b>离线运行,尊重隐私</b>
|
||||
Loop 不需要联网运行或注册在线帐号。 您的用户数据永远不会发送给任何人, 包括开发人员和任何第三方都无法访问它。
|
||||
|
||||
|
||||
@@ -28,7 +28,7 @@
|
||||
|
||||
<item android:id="@android:id/mask">
|
||||
<shape android:shape="rectangle">
|
||||
<corners android:radius="12dp"/>
|
||||
<corners android:radius="18dp"/>
|
||||
<solid android:color="?android:colorPrimary"/>
|
||||
</shape>
|
||||
<color android:color="@color/white"/>
|
||||
|
||||
@@ -25,17 +25,19 @@
|
||||
<TextView style="@style/About.Item" android:text="Marius Teufelweich" />
|
||||
<TextView style="@style/About.Item" android:text="Matthias Meisser" />
|
||||
<TextView style="@style/About.Item" android:text="Michael" />
|
||||
<TextView style="@style/About.Item" android:text="Tad Wohlrapp" />
|
||||
<TextView style="@style/About.Item" android:text="cobalt59" />
|
||||
<TextView style="@style/About.Item" android:text="fabian.bouchal" />
|
||||
<TextView style="@style/About.Item" android:text="sojusnik" />
|
||||
<TextView style="@style/About.Item" android:text="tat bz" />
|
||||
<TextView style="@style/About.Item.Language" android:text="Español" />
|
||||
<TextView style="@style/About.Item" android:text="Ander Raso Vazquez" />
|
||||
<TextView style="@style/About.Item" android:text="Brenda Correa" />
|
||||
<TextView style="@style/About.Item" android:text="Eilif Adelvice" />
|
||||
<TextView style="@style/About.Item" android:text="Iabin Arteaga" />
|
||||
<TextView style="@style/About.Item" android:text="Sebastian05067" />
|
||||
<TextView style="@style/About.Item" android:text="Susanamesa" />
|
||||
<TextView style="@style/About.Item" android:text="luiandresgonzalez" />
|
||||
<TextView style="@style/About.Item" android:text="oscfd" />
|
||||
<TextView style="@style/About.Item.Language" android:text="Esperanto" />
|
||||
<TextView style="@style/About.Item" android:text="4001982248998" />
|
||||
<TextView style="@style/About.Item" android:text="marco.baturan" />
|
||||
@@ -57,11 +59,17 @@
|
||||
<TextView style="@style/About.Item" android:text="Behnood HRazy" />
|
||||
<TextView style="@style/About.Item" android:text="Eman" />
|
||||
<TextView style="@style/About.Item" android:text="Saeed Esmaili" />
|
||||
<TextView style="@style/About.Item.Language" android:text="Georgian" />
|
||||
<TextView style="@style/About.Item" android:text="Avalysion" />
|
||||
<TextView style="@style/About.Item.Language" android:text="Hindi" />
|
||||
<TextView style="@style/About.Item" android:text="Ravi Rami" />
|
||||
<TextView style="@style/About.Item" android:text="Vijaykumar Borkar" />
|
||||
<TextView style="@style/About.Item" android:text="vinayak sharma" />
|
||||
<TextView style="@style/About.Item.Language" android:text="Hrvatski" />
|
||||
<TextView style="@style/About.Item" android:text="Ivan Krušlin" />
|
||||
<TextView style="@style/About.Item" android:text="Ivan Vlahov" />
|
||||
<TextView style="@style/About.Item.Language" android:text="Icelandic" />
|
||||
<TextView style="@style/About.Item" android:text="strikeCunny2245" />
|
||||
<TextView style="@style/About.Item.Language" android:text="Italiano" />
|
||||
<TextView style="@style/About.Item" android:text="Marco Cavazza" />
|
||||
<TextView style="@style/About.Item" android:text="androide74" />
|
||||
@@ -69,6 +77,8 @@
|
||||
<TextView style="@style/About.Item" android:text="Balázs Keresztury" />
|
||||
<TextView style="@style/About.Item" android:text="Isti" />
|
||||
<TextView style="@style/About.Item" android:text="gapszi" />
|
||||
<TextView style="@style/About.Item.Language" android:text="Malayalam" />
|
||||
<TextView style="@style/About.Item" android:text="Mathew TK" />
|
||||
<TextView style="@style/About.Item.Language" android:text="Nederlands" />
|
||||
<TextView style="@style/About.Item" android:text="Blinkin" />
|
||||
<TextView style="@style/About.Item" android:text="Bryanx" />
|
||||
@@ -90,15 +100,18 @@
|
||||
<TextView style="@style/About.Item" android:text="Sofia Neves" />
|
||||
<TextView style="@style/About.Item" android:text="Thamara Andrade" />
|
||||
<TextView style="@style/About.Item.Language" android:text="Română" />
|
||||
<TextView style="@style/About.Item" android:text="Alex V." />
|
||||
<TextView style="@style/About.Item" android:text="Andreea Muscalagiu" />
|
||||
<TextView style="@style/About.Item" android:text="Andrei Pleș" />
|
||||
<TextView style="@style/About.Item" android:text="StoP4Me" />
|
||||
<TextView style="@style/About.Item" android:text="bearsdens" />
|
||||
<TextView style="@style/About.Item.Language" android:text="Slovak" />
|
||||
<TextView style="@style/About.Item" android:text="dukelc" />
|
||||
<TextView style="@style/About.Item.Language" android:text="Slovenian" />
|
||||
<TextView style="@style/About.Item" android:text="dusanstrgar" />
|
||||
<TextView style="@style/About.Item.Language" android:text="Slovenščina" />
|
||||
<TextView style="@style/About.Item" android:text="Dušan Strgar" />
|
||||
<TextView style="@style/About.Item.Language" android:text="Suomen kieli" />
|
||||
<TextView style="@style/About.Item" android:text="2kaafone" />
|
||||
<TextView style="@style/About.Item" android:text="Antti Kallio" />
|
||||
<TextView style="@style/About.Item" android:text="Elina Salminen" />
|
||||
<TextView style="@style/About.Item" android:text="Sofia Veijonen" />
|
||||
@@ -122,12 +135,15 @@
|
||||
<TextView style="@style/About.Item" android:text="Ishmaeel" />
|
||||
<TextView style="@style/About.Item" android:text="hodanli" />
|
||||
<TextView style="@style/About.Item.Language" android:text="Čeština" />
|
||||
<TextView style="@style/About.Item" android:text="Radek Kuklík" />
|
||||
<TextView style="@style/About.Item" android:text="Tomáš Borovec" />
|
||||
<TextView style="@style/About.Item" android:text="andaryon" />
|
||||
<TextView style="@style/About.Item" android:text="boban77" />
|
||||
<TextView style="@style/About.Item.Language" android:text="Ελληνικά" />
|
||||
<TextView style="@style/About.Item" android:text="Alexander Haronitakis" />
|
||||
<TextView style="@style/About.Item" android:text="Andreas Michelakis" />
|
||||
<TextView style="@style/About.Item" android:text="DionysosDV" />
|
||||
<TextView style="@style/About.Item" android:text="c.m" />
|
||||
<TextView style="@style/About.Item.Language" android:text="Български" />
|
||||
<TextView style="@style/About.Item" android:text="Mihail Stefanov" />
|
||||
<TextView style="@style/About.Item.Language" android:text="Русский" />
|
||||
@@ -149,7 +165,6 @@
|
||||
<TextView style="@style/About.Item" android:text="Đorđe Vasiljević" />
|
||||
<TextView style="@style/About.Item.Language" android:text="עברית" />
|
||||
<TextView style="@style/About.Item" android:text="Ohad Edri" />
|
||||
<TextView style="@style/About.Item" android:text="Omer I.S." />
|
||||
<TextView style="@style/About.Item" android:text="Omry Cohen" />
|
||||
<TextView style="@style/About.Item" android:text="Yoav Argov" />
|
||||
<TextView style="@style/About.Item.Language" android:text="العَرَبِية" />
|
||||
@@ -170,6 +185,7 @@
|
||||
<TextView style="@style/About.Item" android:text="Niraj Yadav" />
|
||||
<TextView style="@style/About.Item.Language" android:text="தமிழ்" />
|
||||
<TextView style="@style/About.Item" android:text="Anshoe" />
|
||||
<TextView style="@style/About.Item" android:text="Aravinth_Earth" />
|
||||
<TextView style="@style/About.Item" android:text="Magimai Prakasam" />
|
||||
<TextView style="@style/About.Item" android:text="Mohammed Imthath" />
|
||||
<TextView style="@style/About.Item" android:text="magimai" />
|
||||
@@ -182,6 +198,7 @@
|
||||
<TextView style="@style/About.Item" android:text="Lee" />
|
||||
<TextView style="@style/About.Item" android:text="Limin Lu" />
|
||||
<TextView style="@style/About.Item" android:text="Liveeasy" />
|
||||
<TextView style="@style/About.Item" android:text="Star7" />
|
||||
<TextView style="@style/About.Item" android:text="Ting-Hua" />
|
||||
<TextView style="@style/About.Item" android:text="XuToTo" />
|
||||
<TextView style="@style/About.Item" android:text="hypnotichemionus" />
|
||||
@@ -191,8 +208,13 @@
|
||||
<TextView style="@style/About.Item" android:text="Naofumi F" />
|
||||
<TextView style="@style/About.Item" android:text="Tomairuka" />
|
||||
<TextView style="@style/About.Item" android:text="ayane.m" />
|
||||
<TextView style="@style/About.Item" android:text="mimizuk" />
|
||||
<TextView style="@style/About.Item" android:text="pi hobbes" />
|
||||
<TextView style="@style/About.Item" android:text="yukitsubaki" />
|
||||
<TextView style="@style/About.Item" android:text="長谷川知里" />
|
||||
<TextView style="@style/About.Item.Language" android:text="한국어" />
|
||||
<TextView style="@style/About.Item" android:text="Josh Graham" />
|
||||
<TextView style="@style/About.Item" android:text="PILHA PARK" />
|
||||
<TextView style="@style/About.Item" android:text="Seoyul" />
|
||||
<TextView style="@style/About.Item" android:text="Sumin Son" />
|
||||
</LinearLayout>
|
||||
@@ -18,7 +18,8 @@
|
||||
~ with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
-->
|
||||
|
||||
<androidx.coordinatorlayout.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
<LinearLayout
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
@@ -61,8 +62,10 @@
|
||||
|
||||
<ScrollView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
app:layout_behavior="@string/appbar_scrolling_view_behavior">
|
||||
android:layout_height="0dp"
|
||||
android:layout_weight="1"
|
||||
app:layout_behavior="@string/appbar_scrolling_view_behavior"
|
||||
android:background="?attr/contrast0">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
@@ -265,4 +268,4 @@
|
||||
</LinearLayout>
|
||||
</ScrollView>
|
||||
|
||||
</androidx.coordinatorlayout.widget.CoordinatorLayout>
|
||||
</LinearLayout>
|
||||
|
||||
@@ -58,7 +58,10 @@
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/formPanel"
|
||||
style="@style/dialogFormPanel">
|
||||
style="@style/dialogFormPanel"
|
||||
android:layout_height="0dp"
|
||||
android:layout_weight="1"
|
||||
android:background="?attr/contrast0">
|
||||
|
||||
<FrameLayout style="@style/FormOuterBox">
|
||||
<LinearLayout style="@style/FormInnerBox">
|
||||
|
||||
@@ -23,32 +23,32 @@
|
||||
android:id="@+id/container"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:minHeight="128dp"
|
||||
android:background="@drawable/checkmark_dialog_bg"
|
||||
android:minWidth="208dp"
|
||||
app:divider="@drawable/checkmark_dialog_divider"
|
||||
app:showDividers="middle"
|
||||
android:minHeight="128dp"
|
||||
android:orientation="vertical"
|
||||
android:background="@drawable/checkmark_dialog_bg">
|
||||
app:divider="@drawable/checkmark_dialog_divider"
|
||||
app:showDividers="middle">
|
||||
|
||||
<androidx.appcompat.widget.AppCompatEditText
|
||||
android:id="@+id/notes"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="0dp"
|
||||
android:layout_weight="1"
|
||||
android:gravity="center"
|
||||
android:inputType="textCapSentences|textMultiLine"
|
||||
android:textSize="@dimen/smallTextSize"
|
||||
android:padding="4dp"
|
||||
android:background="@color/transparent"
|
||||
android:gravity="center"
|
||||
android:hint="@string/notes"
|
||||
android:text="" />
|
||||
android:inputType="textCapSentences|textMultiLine"
|
||||
android:padding="4dp"
|
||||
android:text=""
|
||||
android:textSize="@dimen/smallTextSize" />
|
||||
|
||||
<androidx.appcompat.widget.LinearLayoutCompat
|
||||
android:id="@+id/booleanButtons"
|
||||
android:visibility="gone"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="48dp"
|
||||
android:orientation="horizontal"
|
||||
android:visibility="gone"
|
||||
app:divider="@drawable/checkmark_dialog_divider"
|
||||
app:showDividers="middle">
|
||||
|
||||
@@ -75,10 +75,10 @@
|
||||
|
||||
<androidx.appcompat.widget.LinearLayoutCompat
|
||||
android:id="@+id/numberButtons"
|
||||
android:visibility="gone"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="48dp"
|
||||
android:orientation="horizontal"
|
||||
android:visibility="gone"
|
||||
app:divider="@drawable/checkmark_dialog_divider"
|
||||
app:showDividers="middle">
|
||||
|
||||
@@ -86,21 +86,26 @@
|
||||
android:id="@+id/value"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_weight="1"
|
||||
android:layout_weight="2"
|
||||
android:background="@color/transparent"
|
||||
android:textAlignment="center"
|
||||
android:inputType="numberDecimal"
|
||||
android:selectAllOnFocus="true"
|
||||
android:textAlignment="center"
|
||||
android:textSize="@dimen/smallTextSize" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/saveBtn"
|
||||
style="@style/NumericalPopupBtn"
|
||||
android:text="@string/save" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/skipBtnNumber"
|
||||
style="@style/NumericalPopupBtn"
|
||||
android:text="@string/skip_day" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/saveBtn"
|
||||
style="@style/NumericalPopupBtn"
|
||||
android:text="@string/save" />
|
||||
android:id="@+id/unknownBtnNumber"
|
||||
style="@style/CheckmarkPopupBtn"
|
||||
android:text="@string/fa_question" />
|
||||
</androidx.appcompat.widget.LinearLayoutCompat>
|
||||
</androidx.appcompat.widget.LinearLayoutCompat>
|
||||
@@ -28,6 +28,38 @@
|
||||
<string name="add_habit">إضافة عادة</string>
|
||||
<string name="color_picker_default_title">تغيير اللون</string>
|
||||
<string name="toast_habit_created">تم إنشاء عادة</string>
|
||||
<plurals name="toast_habits_changed">
|
||||
<item quantity="zero">تم تغيير العادة</item>
|
||||
<item quantity="one">تم تغيير العادة</item>
|
||||
<item quantity="two">تم تغيير العادتين</item>
|
||||
<item quantity="few">تم تغيير العادات</item>
|
||||
<item quantity="many">تم تغيير العادات</item>
|
||||
<item quantity="other">تم تغيير العادات</item>
|
||||
</plurals>
|
||||
<plurals name="toast_habits_deleted">
|
||||
<item quantity="zero">تم حذف العادة</item>
|
||||
<item quantity="one">تم حذف العادة</item>
|
||||
<item quantity="two">تم حذف العادتين</item>
|
||||
<item quantity="few">تم حذف العادات</item>
|
||||
<item quantity="many">تم حذف العادات</item>
|
||||
<item quantity="other">تم حذف العادات</item>
|
||||
</plurals>
|
||||
<plurals name="toast_habits_archived">
|
||||
<item quantity="zero">تمت أرشفة العادة</item>
|
||||
<item quantity="one">تم أرشفه العادة</item>
|
||||
<item quantity="two">تمت أرشفة العادتين</item>
|
||||
<item quantity="few">تمت أرشفة العادات</item>
|
||||
<item quantity="many">تمت أرشفة العادات</item>
|
||||
<item quantity="other">تمت أرشفة العادات</item>
|
||||
</plurals>
|
||||
<plurals name="toast_habits_unarchived">
|
||||
<item quantity="zero">تم الغاء ارشفه العادة</item>
|
||||
<item quantity="one">تم الغاء ارشفه العادة</item>
|
||||
<item quantity="two">تم إلغاء أرشفة العادتين</item>
|
||||
<item quantity="few">تم إلغاء أرشفة العادات</item>
|
||||
<item quantity="many">تم إلغاء أرشفة العادات</item>
|
||||
<item quantity="other">تم إلغاء أرشفة العادة</item>
|
||||
</plurals>
|
||||
<string name="overview">نظرة عامة</string>
|
||||
<string name="habit_strength">قوة العادة</string>
|
||||
<string name="history">السجل</string>
|
||||
@@ -37,14 +69,14 @@
|
||||
<string name="streaks">الإنجازات </string>
|
||||
<string name="no_habits_found"> لا يوجد لديك عادات مفعله</string>
|
||||
<string name="no_habits_left_to_do">لقد أنهيت ألعمل لليوم</string>
|
||||
<string name="long_press_to_toggle">إلمس و إستمر لتحقق أو ازل. </string>
|
||||
<string name="long_press_to_toggle">اضغط باستمرار للتأكيد أو الإزالة. </string>
|
||||
<string name="reminder_off">إيقاف</string>
|
||||
<string name="create_habit">انشاء العادة</string>
|
||||
<string name="edit_habit">تعديل العادة</string>
|
||||
<string name="check">حقق </string>
|
||||
<string name="check">سجل</string>
|
||||
<string name="snooze">لاحقاً</string>
|
||||
<string name="intro_title_1">أهلا بك</string>
|
||||
<string name="intro_description_1">Loop Habit Tracker يساعدك في بدء عادات جيدة والحفاظ عليها. </string>
|
||||
<string name="intro_description_1">يساعدك متتبع العادات loop في بَدْء عادات جيدة والحفاظ عليها. </string>
|
||||
<string name="intro_title_2">إنشاء بعض عادات جديدة</string>
|
||||
<string name="intro_description_2">كل يوم، بعد أداء عادتك، ضع علامة عليها في التطبيق.</string>
|
||||
<string name="intro_title_4">تتبع تقدمك</string>
|
||||
@@ -53,9 +85,9 @@
|
||||
<string name="interval_30_minutes">30 دقيقة</string>
|
||||
<string name="interval_1_hour">ساعة واحدة</string>
|
||||
<string name="interval_2_hour">ساعتان</string>
|
||||
<string name="interval_4_hour">أربع ساعات</string>
|
||||
<string name="interval_8_hour">8 ساعات</string>
|
||||
<string name="interval_24_hour">24 ساعة</string>
|
||||
<string name="interval_4_hour">٤ ساعات</string>
|
||||
<string name="interval_8_hour">٨ ساعات</string>
|
||||
<string name="interval_24_hour">٢٤ ساعة </string>
|
||||
<string name="interval_always_ask">اسأل دائماً </string>
|
||||
<string name="interval_custom">مخصص... </string>
|
||||
<string name="pref_toggle_title">تبديل وضعية العادة بضغطة قصيرة </string>
|
||||
@@ -64,19 +96,35 @@
|
||||
<string name="pref_send_feedback">أرسل الملاحظات إلى المطور </string>
|
||||
<string name="pref_view_source_code">إفحص التعليمات البرمجية على GitHub </string>
|
||||
<string name="links">روابط </string>
|
||||
<string name="name">اسم </string>
|
||||
<string name="name">الاسم</string>
|
||||
<string name="settings">إعدادات</string>
|
||||
<string name="select_snooze_delay">حدد تأخير الغفوة </string>
|
||||
<string name="hint_title">هل كنت تعلم؟ </string>
|
||||
<string name="hint_drag">لإعادة ترتيب القوائم، أضغط اسم من هذه العادة، ثم اسحبه إلى المكان الصحيح. </string>
|
||||
<string name="hint_landscape">يمكنك ان ترى المزيد أيام عن طريق وضع الهاتف في وضع أفقي. </string>
|
||||
<plurals name="delete_habits_title">
|
||||
<item quantity="zero">حذف العادة؟</item>
|
||||
<item quantity="one">حذف العادة؟</item>
|
||||
<item quantity="two">حذف العادتين؟</item>
|
||||
<item quantity="few">حذف العادات؟</item>
|
||||
<item quantity="many">حذف العادات؟</item>
|
||||
<item quantity="other">حذف العادات؟</item>
|
||||
</plurals>
|
||||
<plurals name="delete_habits_message">
|
||||
<item quantity="zero">سيتم حذف العادة بشكل دائم. لا يمكن التراجع عن هذه الخطوة.</item>
|
||||
<item quantity="one">سيتم حذف العادة بشكل دائم. لا يمكن التراجع عن هذه الخطوة.</item>
|
||||
<item quantity="two">سيتم حذف العادتين بشكل دائم. لا يمكن التراجع عن هذه الخطوة.</item>
|
||||
<item quantity="few">سيتم حذف العادات بشكل دائم. لا يمكن التراجع عن هذه الخطوة.</item>
|
||||
<item quantity="many">سيتم حذف العادات بشكل دائم. لا يمكن التراجع عن هذه الخطوة.</item>
|
||||
<item quantity="other">سيتم حذف العادات بشكل دائم. لا يمكن التراجع عن هذه الخطوة.</item>
|
||||
</plurals>
|
||||
<string name="habit_not_found">العادة حذفت/لم يتم العثور عليها </string>
|
||||
<string name="weekends">عطلة نهاية الأسبوع </string>
|
||||
<string name="any_weekday">أيام الأسبوع. </string>
|
||||
<string name="any_day">أي يوم. </string>
|
||||
<string name="select_weekdays">إختار أيام </string>
|
||||
<string name="export_to_csv">تصدير البيانات (CSV) </string>
|
||||
<string name="done_label">منجز </string>
|
||||
<string name="done_label">إنهاء</string>
|
||||
<string name="clear_label">نظف</string>
|
||||
<string name="select_hours">تحديد ساعات </string>
|
||||
<string name="select_minutes">تحديد دقائق </string>
|
||||
@@ -103,13 +151,13 @@
|
||||
<string name="generate_bug_report">توليد تقرير الاعطال. </string>
|
||||
<string name="troubleshooting">استكشاف الأخطاء وإصلاحها. </string>
|
||||
<string name="help_translate">المساعدة في ترجمة هذا البرنامج. </string>
|
||||
<string name="night_mode">الوضع الليلي. </string>
|
||||
<string name="night_mode">الوضع الليلي</string>
|
||||
<string name="use_pure_black">استخدام أسود نقي في الوضع الليلي. </string>
|
||||
<string name="pure_black_description">يستبدل خلفيات رمادية مع أسود نقي في الوضع الليلي. يقلل من استهلاك البطارية في الهواتف مع شاشة AMOLED. .</string>
|
||||
<string name="interface_preferences">السطح البيني. </string>
|
||||
<string name="reverse_days">ترتيب عكسي أيام. </string>
|
||||
<string name="reverse_days_description">عرض أيام في ترتيب عكسي على الشاشة الرئيسية. </string>
|
||||
<string name="day">يوم. </string>
|
||||
<string name="day">يوم</string>
|
||||
<string name="week">أسبوع. </string>
|
||||
<string name="month">شهر. </string>
|
||||
<string name="quarter">ربع سنه. </string>
|
||||
@@ -150,10 +198,10 @@
|
||||
<string name="target_type_at_least">على الأقل</string>
|
||||
<string name="target_type_at_most">على الأكثر</string>
|
||||
<string name="example_question_boolean">على سبيل المثال هل تمرنت اليوم؟ </string>
|
||||
<string name="question">السؤال </string>
|
||||
<string name="target">الهدف </string>
|
||||
<string name="yes">نعم </string>
|
||||
<string name="no">لا </string>
|
||||
<string name="question">السؤال</string>
|
||||
<string name="target">الهدف</string>
|
||||
<string name="yes">نعم</string>
|
||||
<string name="no">لا</string>
|
||||
<string name="customize_notification_summary">Change sound, vibration, light and other notification settings</string>
|
||||
<string name="customize_notification">Customize notifications</string>
|
||||
<string name="pref_view_privacy">عرض نهج الخصوصية</string>
|
||||
@@ -175,7 +223,7 @@
|
||||
<string name="color">اللون</string>
|
||||
<string name="example_target">مثال: 15</string>
|
||||
<string name="measurable_short_example">مثلا: الجري</string>
|
||||
<string name="measurable_question_example">مثلا: كم كيلومترًا جريته اليوم؟</string>
|
||||
<string name="measurable_question_example">مثلا، كم ميلا ركضت اليوم؟</string>
|
||||
<string name="measurable_units_example">مثلا: كيلومترات</string>
|
||||
<string name="every_month">كل شهر</string>
|
||||
<string name="validation_cannot_be_blank">لا يمكن أن يكون الإسم فارغًا</string>
|
||||
|
||||
@@ -67,6 +67,7 @@
|
||||
<string name="interval_always_ask">Pregunta sempre</string>
|
||||
<string name="interval_custom">Personalitza...</string>
|
||||
<string name="pref_toggle_title">Activar/desactivar repeticions prement curt</string>
|
||||
<string name="pref_toggle_description_2">Posa les marques de verificació amb un sol toc en lloc de prémer</string>
|
||||
<string name="pref_rate_this_app">Valora aquesta app a Google Play</string>
|
||||
<string name="pref_send_feedback">Enviar resposta al desenvolupador</string>
|
||||
<string name="pref_view_source_code">Veure codi font a Github</string>
|
||||
@@ -127,7 +128,7 @@
|
||||
<string name="day">Dia</string>
|
||||
<string name="week">Setmana</string>
|
||||
<string name="month">Mes</string>
|
||||
<string name="quarter">Quatrimestre</string>
|
||||
<string name="quarter">Trimestre</string>
|
||||
<string name="year">Any</string>
|
||||
<string name="total">Total</string>
|
||||
<string name="yes_or_no">Sí o No</string>
|
||||
@@ -138,6 +139,7 @@
|
||||
<string name="none">Cap</string>
|
||||
<string name="filter">Filtre</string>
|
||||
<string name="hide_completed">Amaga completat</string>
|
||||
<string name="hide_entered" comment=""Hide entered" appears in place of "hide completed" if the user has enabled the question marks option. This option hides all habits that have any data entered, not just the ones that have been completed. This allows the user to hide habits that have already failed early in the day.">Amagar introduït</string>
|
||||
<string name="hide_archived">Amaga arxivades</string>
|
||||
<string name="sticky_notifications">Fer les notificacions enganxós</string>
|
||||
<string name="sticky_notifications_description">Evita les notificacions de ser pispat lluny.</string>
|
||||
@@ -157,8 +159,11 @@
|
||||
<string name="by_status">Per estat</string>
|
||||
<string name="export">Exportar</string>
|
||||
<string name="long_press_to_edit">Prémer i mantenir per a canviar el valor</string>
|
||||
<string name="value">Valor</string>
|
||||
<string name="calendar">Calendari</string>
|
||||
<string name="unit">Unitat</string>
|
||||
<string name="target_type">Tipus objectiu</string>
|
||||
<string name="target_type_at_least">Al menys</string>
|
||||
<string name="example_question_boolean">p.e. Has fet exercici avui?</string>
|
||||
<string name="question">Pregunta</string>
|
||||
<string name="target">Objectiu</string>
|
||||
|
||||
@@ -28,6 +28,30 @@
|
||||
<string name="add_habit">Přidat zvyk</string>
|
||||
<string name="color_picker_default_title">Změnit barvu</string>
|
||||
<string name="toast_habit_created">Zvyk vytvořen.</string>
|
||||
<plurals name="toast_habits_changed">
|
||||
<item quantity="one">Návyk upraven</item>
|
||||
<item quantity="few">Návyky upraveny</item>
|
||||
<item quantity="many">Návyky upraveny</item>
|
||||
<item quantity="other">Návyky upraveny</item>
|
||||
</plurals>
|
||||
<plurals name="toast_habits_deleted">
|
||||
<item quantity="one">Návyk odstraněn</item>
|
||||
<item quantity="few">Návyky odstraněny</item>
|
||||
<item quantity="many">Návyky odstraněny</item>
|
||||
<item quantity="other">Návyky odstraněny</item>
|
||||
</plurals>
|
||||
<plurals name="toast_habits_archived">
|
||||
<item quantity="one">Návyk archivován</item>
|
||||
<item quantity="few">Návyky archivovány</item>
|
||||
<item quantity="many">Návyky archivovány</item>
|
||||
<item quantity="other">Návyky archivovány</item>
|
||||
</plurals>
|
||||
<plurals name="toast_habits_unarchived">
|
||||
<item quantity="one">Návyk obnoven</item>
|
||||
<item quantity="few">Návyky obnoveny</item>
|
||||
<item quantity="many">Návyky obnoveny</item>
|
||||
<item quantity="other">Návyky obnoveny</item>
|
||||
</plurals>
|
||||
<string name="overview">Přehled</string>
|
||||
<string name="habit_strength">Síla zvyku</string>
|
||||
<string name="history">Historie</string>
|
||||
@@ -35,8 +59,8 @@
|
||||
<string name="reminder">Připomenutí</string>
|
||||
<string name="save">Uložit</string>
|
||||
<string name="streaks">Série</string>
|
||||
<string name="no_habits_found">Nemáte zapsané žádné zvyky</string>
|
||||
<string name="no_habits_left_to_do">Splnili jste vše pro dnešní den!</string>
|
||||
<string name="no_habits_found">Nemáte žádné aktivní návyky</string>
|
||||
<string name="no_habits_left_to_do">Dnes máte hotovo!</string>
|
||||
<string name="long_press_to_toggle">Stiskni a drž pro označení</string>
|
||||
<string name="reminder_off">Vyp.</string>
|
||||
<string name="create_habit">Vytvořit zvyk</string>
|
||||
@@ -44,32 +68,44 @@
|
||||
<string name="check">Hotovo</string>
|
||||
<string name="snooze">Odložit</string>
|
||||
<string name="intro_title_1">Vítejte</string>
|
||||
<string name="intro_description_1">Sledování zvyků Vám pomůže vytvořit a dosáhnout dobrých návyků.</string>
|
||||
<string name="intro_description_1">Loop Habit Tracker vám pomůže vytvořit a udržet dobré návyky.</string>
|
||||
<string name="intro_title_2">Vytvoř si nové zvyky</string>
|
||||
<string name="intro_description_2">Každý den po splnění zvyku si ho v aplikaci zaškrtněte.</string>
|
||||
<string name="intro_title_4">Sledujte svůj pokrok</string>
|
||||
<string name="intro_description_4">Detailní grafy Vám ukážou, jak se Vaše zvyky v průběhu času zlepšily. </string>
|
||||
<string name="intro_title_4">Sleduj svůj postup</string>
|
||||
<string name="intro_description_4">Detailní grafy ukazují zlepšení vašich návyků v průběhu času.</string>
|
||||
<string name="interval_15_minutes">15 minut</string>
|
||||
<string name="interval_30_minutes">30 minut</string>
|
||||
<string name="interval_1_hour">Hodina</string>
|
||||
<string name="interval_1_hour">1 hodina</string>
|
||||
<string name="interval_2_hour">2 hodiny</string>
|
||||
<string name="interval_4_hour">4 hodiny</string>
|
||||
<string name="interval_8_hour">8 hodin</string>
|
||||
<string name="interval_24_hour">24 hodin</string>
|
||||
<string name="interval_always_ask">Vždy se ptát</string>
|
||||
<string name="interval_always_ask">Vždy se dotázat</string>
|
||||
<string name="interval_custom">Vlastní...</string>
|
||||
<string name="pref_toggle_title">Označte opakování krátkým stisknutím</string>
|
||||
<string name="pref_toggle_description_2">Zaškrtněte jediným klepnutím místo dlouhého podržení.</string>
|
||||
<string name="pref_rate_this_app">Ohodnoťte nás v Google Play</string>
|
||||
<string name="pref_send_feedback">Zpětná vazba vývojáři</string>
|
||||
<string name="pref_view_source_code">Zobrazit zdroj. kód na GitHub</string>
|
||||
<string name="pref_toggle_title">Označte krátkým stisknutím</string>
|
||||
<string name="pref_toggle_description_2">Zaškrtněte jediným klepnutím namísto dlouhého podržení.</string>
|
||||
<string name="pref_rate_this_app">Ohodnotit aplikaci v Google Play</string>
|
||||
<string name="pref_send_feedback">Odeslat zpětnou vazbu vývojáři</string>
|
||||
<string name="pref_view_source_code">Zobrazit zdrojový kód na GitHub</string>
|
||||
<string name="links">Odkazy</string>
|
||||
<string name="name">Jméno</string>
|
||||
<string name="name">Název</string>
|
||||
<string name="settings">Nastavení</string>
|
||||
<string name="select_snooze_delay">Nastavit délku odložení</string>
|
||||
<string name="hint_title">Věděli jste?</string>
|
||||
<string name="hint_drag">Přeřazení záznamů proveďte stisknutím a podržením názvu zvyku a poté přesunutím na správné místo.</string>
|
||||
<string name="hint_drag">Pro přeřazení položek stiskněte a podržte název zvyku a přesuňte ho na správné místo.</string>
|
||||
<string name="hint_landscape">Můžete vidět více dnů otočením telefonu na šířku.</string>
|
||||
<plurals name="delete_habits_title">
|
||||
<item quantity="one">Odstranit návyk?</item>
|
||||
<item quantity="few">Odstranit návyky?</item>
|
||||
<item quantity="many">Odstranit návyky?</item>
|
||||
<item quantity="other">Odstranit návyky?</item>
|
||||
</plurals>
|
||||
<plurals name="delete_habits_message">
|
||||
<item quantity="one">Návyk bude trvale odstraněn. Tento krok je nevratný.</item>
|
||||
<item quantity="few">Návyky budou trvale odstraněny. Tento krok je nevratný.</item>
|
||||
<item quantity="many">Návyky budou trvale odstraněny. Tento krok je nevratný.</item>
|
||||
<item quantity="other">Návyky budou trvale odstraněny. Tento krok je nevratný.</item>
|
||||
</plurals>
|
||||
<string name="habit_not_found">Zvyk smazán / nenalezen</string>
|
||||
<string name="weekends">Víkendy</string>
|
||||
<string name="any_weekday">Pondělí až pátek</string>
|
||||
@@ -85,7 +121,7 @@
|
||||
<string name="developers">Vývojáři</string>
|
||||
<string name="version_n">Verze %s</string>
|
||||
<string name="frequency">Frekvence</string>
|
||||
<string name="checkmark">Fajfka</string>
|
||||
<string name="checkmark">Zaškrtnutí</string>
|
||||
<string name="best_streaks">Nejlepší série</string>
|
||||
<string name="every_day">Každý den</string>
|
||||
<string name="every_week">Každý týden</string>
|
||||
@@ -96,9 +132,9 @@
|
||||
<string name="habits_imported">Zvyky úspěšně importovány.</string>
|
||||
<string name="import_data">Importovat</string>
|
||||
<string name="export_full_backup">Kompletní export</string>
|
||||
<string name="import_data_summary">Podporuje exporty z této aplikace, ale také soubory vygenerované aplikacemi od Tickmate, HabitBull nebo Rewire. Pro více informací si prečtěte FAQ.</string>
|
||||
<string name="export_as_csv_summary">Generuje soubory, které mohou být otevřeny v tabulkových editorech jako jsou Microsoft Excel nebo OpenOffice Calc. Tyto soubory nelze importovat zpět.</string>
|
||||
<string name="export_full_backup_summary">Generuje soubor, který obsahuje všechna Vaše data. Tento soubor může být importován zpět.</string>
|
||||
<string name="import_data_summary">Podporuje plné zálohy z této aplikace, stejně jako soubory vygenerované aplikacemi od Tickmate, HabitBull nebo Rewire. Pro více informací konzultujte FAQ.</string>
|
||||
<string name="export_as_csv_summary">Generuje soubory, které mohou být otevřeny v tabulkových editorech jako jsou Microsoft Excel nebo OpenOffice Calc. Tento soubor nelze importovat zpět.</string>
|
||||
<string name="export_full_backup_summary">Generuje soubor, který obsahuje veškerá vaše data. Tento soubor může být importován zpět.</string>
|
||||
<string name="bug_report_failed">Generace výpisu chyb selhala.</string>
|
||||
<string name="generate_bug_report">Generovat výpis chyb</string>
|
||||
<string name="troubleshooting">Řešení problémů</string>
|
||||
@@ -119,15 +155,16 @@
|
||||
<string name="every_x_days">Každých %d dní</string>
|
||||
<string name="every_x_weeks">Každých %d týdnů</string>
|
||||
<string name="score">Skóre</string>
|
||||
<string name="reminder_sound">Zvuk připomínky</string>
|
||||
<string name="reminder_sound">Zvuk upozornění</string>
|
||||
<string name="none">Žádný</string>
|
||||
<string name="filter">Filtr</string>
|
||||
<string name="hide_completed">Skrýt dokončené</string>
|
||||
<string name="hide_entered" comment=""Hide entered" appears in place of "hide completed" if the user has enabled the question marks option. This option hides all habits that have any data entered, not just the ones that have been completed. This allows the user to hide habits that have already failed early in the day.">Skrýt vyplněné</string>
|
||||
<string name="hide_archived">Skrýt archivované</string>
|
||||
<string name="sticky_notifications">Připnout upozornění</string>
|
||||
<string name="sticky_notifications_description">Zabraňuje odstranění upozornění přejetím. </string>
|
||||
<string name="led_notifications">Světelné upozornění</string>
|
||||
<string name="led_notifications_description">Blikání diody při upozornění. Funkční pouze na telefonech s notifikační LED diodou.</string>
|
||||
<string name="led_notifications_description">Bliká při upozornění. Pouze pro telefony s LED notifikačními světly.</string>
|
||||
<string name="repair_database">Opravit databázi</string>
|
||||
<string name="database_repaired">Databáze opravena.</string>
|
||||
<string name="uncheck">Odznačit</string>
|
||||
@@ -139,12 +176,16 @@
|
||||
<string name="by_name">Abecedně</string>
|
||||
<string name="by_color">Podle barvy</string>
|
||||
<string name="by_score">Podle skóre</string>
|
||||
<string name="by_status">Podle statusu</string>
|
||||
<string name="by_status">Podle stavu</string>
|
||||
<string name="export">Export</string>
|
||||
<string name="long_press_to_edit">Stiskněte a držte pro změnu hodnoty</string>
|
||||
<string name="value">Hodnota</string>
|
||||
<string name="calendar">Kalendář</string>
|
||||
<string name="unit">Jednotka</string>
|
||||
<string name="example_question_boolean">Např. Cvičil jsi dnes?</string>
|
||||
<string name="target_type">Typ Cíle</string>
|
||||
<string name="target_type_at_least">Minimálně</string>
|
||||
<string name="target_type_at_most">Maximálně</string>
|
||||
<string name="example_question_boolean">např. Cvičil jsi dnes?</string>
|
||||
<string name="question">Otázka</string>
|
||||
<string name="target">Cíl</string>
|
||||
<string name="yes">Ano</string>
|
||||
@@ -157,36 +198,36 @@
|
||||
<string name="widget_opacity_title">Průhlednost widgetu</string>
|
||||
<string name="widget_opacity_description">Upravuje průhlednost pozadí widgetu na domovské obrazovce.</string>
|
||||
<string name="first_day_of_the_week">První den v týdnu</string>
|
||||
<string name="default_reminder_question">Dokončili jste dnes tento zvyk?</string>
|
||||
<string name="default_reminder_question">Dokončili jste dnes tento návyk?</string>
|
||||
<string name="notes">Poznámky</string>
|
||||
<string name="example_notes">(nepovinné)</string>
|
||||
<string name="yes_or_no_example">Např. Vzbudil ses dnes brzy? Cvičil jsi dnes? Hrál jsi šachy?</string>
|
||||
<string name="yes_or_no_example">např. Vzbudil ses dnes brzy? Cvičil jsi dnes? Hrál jsi šachy?</string>
|
||||
<string name="measurable">Měřitelný</string>
|
||||
<string name="measurable_example">Např. Kolik kilometrů jsi dnes uběhl? Kolik stránek jsi dnes přečetl?</string>
|
||||
<string name="measurable_example">např. Kolik kilometrů jsi dnes uběhl? Kolik stránek jsi dnes přečetl?</string>
|
||||
<string name="x_times_per_week">%d krát týdně</string>
|
||||
<string name="x_times_per_month">%d krát za měsíc</string>
|
||||
<string name="x_times_per_y_days">%d krát za %d dní</string>
|
||||
<string name="yes_or_no_short_example">Např. Cvičení</string>
|
||||
<string name="yes_or_no_short_example">např. Cvičení</string>
|
||||
<string name="color">Barva</string>
|
||||
<string name="example_target">Např. 15</string>
|
||||
<string name="measurable_short_example">Např. Běh</string>
|
||||
<string name="measurable_question_example">Např. Kolik kilometrů jste dnes uběhl?</string>
|
||||
<string name="measurable_units_example">Např. Kilometry</string>
|
||||
<string name="example_target">např. 15</string>
|
||||
<string name="measurable_short_example">např. Běh</string>
|
||||
<string name="measurable_question_example">např. Kolik kilometrů jsi dnes uběhl?</string>
|
||||
<string name="measurable_units_example">např. Kilometry</string>
|
||||
<string name="every_month">Každý měsíc</string>
|
||||
<string name="validation_cannot_be_blank">Musíte vyplnit</string>
|
||||
<string name="today">Dnes</string>
|
||||
<string name="enter">Vyplnit</string>
|
||||
<string name="no_habits">Nenalezeny žádné zvyky</string>
|
||||
<string name="no_numerical_habits">Nenalezeny žádné měřitelné zvyky</string>
|
||||
<string name="no_boolean_habits">Nenalezeny žádné \"ano/ne\" zvyky</string>
|
||||
<string name="increment">Zvětšit</string>
|
||||
<string name="decrement">Zmenšit</string>
|
||||
<string name="pref_skip_title">Povolit přeskakování dnů</string>
|
||||
<string name="pref_skip_description">Klikněte dvakrát pro přidání pomlčky (přeskočení dne) místo fajfky. Pomlčka nezmění Vaše skóre, ani nepřeruší Vaši výzvu. </string>
|
||||
<string name="pref_unknown_title">Při chybějícím údaji zobrazit otazník</string>
|
||||
<string name="pref_unknown_description">Odlište dny bez údajů od nesplněného zvyku. Pro zadání \"nesplněno\" klikněte dvakrát. </string>
|
||||
<string name="no_habits">Žádné návyky nenalezeny</string>
|
||||
<string name="no_numerical_habits">Žádné měřitelné návyky nenalezeny</string>
|
||||
<string name="no_boolean_habits">Nenalezeny žádné \"ano/ne\" návyky</string>
|
||||
<string name="increment">Zvýšit</string>
|
||||
<string name="decrement">Snížit</string>
|
||||
<string name="pref_skip_title">Umožnit přeskakování dnů</string>
|
||||
<string name="pref_skip_description">Klikněte dvakrát pro přeskočení namísto zaškrtnutí. Pomlčka nezmění vaše skóre, ani nepřeruší vaši sérii. </string>
|
||||
<string name="pref_unknown_title">Zobrazit otazník pro chybějící data</string>
|
||||
<string name="pref_unknown_description">Odlište dny bez údajů od nesplněného návyku. Pro zadání \"nesplněno\", klikněte dvakrát. </string>
|
||||
<string name="you_are_now_a_developer">Nyní jste vývojář</string>
|
||||
<string name="activity_not_found">Pro daný krok nebyla nalezena aplikace</string>
|
||||
<string name="pref_midnight_delay_title">Po půlnoci prodloužit den o několik hodin</string>
|
||||
<string name="pref_midnight_delay_description">Počkat do 3:00 ráno pro zobrazení nového dne. Užitečné, pokud chodíte spát po půlnoci. Vyžaduje restartování aplikace. </string>
|
||||
<string name="activity_not_found">Nenalezen program podporující tento krok</string>
|
||||
<string name="pref_midnight_delay_title">Prodloužit den o pár hodin po půlnoci</string>
|
||||
<string name="pref_midnight_delay_description">Počkat do tří ráno pro zobrazení nového dne. Užitečné, pokud chodíte spát po půlnoci. Vyžaduje restartování aplikace. </string>
|
||||
</resources>
|
||||
|
||||
@@ -105,8 +105,8 @@
|
||||
<string name="select_hours">Stunden auswählen</string>
|
||||
<string name="select_minutes">Minuten auswählen</string>
|
||||
<string name="about">Über Loop</string>
|
||||
<string name="translators">Übersetzer und Übersetzerinnen</string>
|
||||
<string name="developers">Entwickler und Entwicklerinnen</string>
|
||||
<string name="translators">Übersetzer</string>
|
||||
<string name="developers">Entwickler</string>
|
||||
<string name="version_n">Version %s</string>
|
||||
<string name="frequency">Häufigkeit</string>
|
||||
<string name="checkmark">Häkchen</string>
|
||||
@@ -120,7 +120,7 @@
|
||||
<string name="habits_imported">Gewohnheiten erfolgreich importiert.</string>
|
||||
<string name="import_data">Daten importieren</string>
|
||||
<string name="export_full_backup">Vollständige Sicherung exportieren</string>
|
||||
<string name="import_data_summary">Unterstützt vollständige Sicherungen dieser App, als auch von Tickmate, HabitBull und Rewire. Siehe FAQ für weitere Informationen.</string>
|
||||
<string name="import_data_summary">Unterstützt vollständige Sicherungen dieser App, sowie von Tickmate, HabitBull und Rewire erzeugte Sicherungen. Siehe FAQ für weitere Informationen.</string>
|
||||
<string name="export_as_csv_summary">Erstellt Dateien, die von Tabellenkalkulationsprogrammen wie Microsoft Excel oder LibreOffice Calc geöffnet werden können. Diese Dateien können nicht wieder importiert werden.</string>
|
||||
<string name="export_full_backup_summary">Erstellt eine Datei, die alle deine Daten enthält. Diese Datei kann wieder importiert werden.</string>
|
||||
<string name="bug_report_failed">Fehler beim Erstellen eines Fehlerberichts.</string>
|
||||
@@ -172,7 +172,7 @@
|
||||
<string name="unit">Einheit</string>
|
||||
<string name="target_type">Zieltyp</string>
|
||||
<string name="target_type_at_least">Mindestens</string>
|
||||
<string name="target_type_at_most">Höchtens</string>
|
||||
<string name="target_type_at_most">Höchstens</string>
|
||||
<string name="example_question_boolean">z.B. Hast du heute trainiert?</string>
|
||||
<string name="question">Frage</string>
|
||||
<string name="target">Ziel</string>
|
||||
|
||||
@@ -28,6 +28,22 @@
|
||||
<string name="add_habit">Νέα συνήθεια</string>
|
||||
<string name="color_picker_default_title">Αλλαγή χρώματος</string>
|
||||
<string name="toast_habit_created">Η συνήθεια δημιουργήθηκε</string>
|
||||
<plurals name="toast_habits_changed">
|
||||
<item quantity="one">Η συνήθεια άλλαξε</item>
|
||||
<item quantity="other">Οι συνήθειες άλλαξαν</item>
|
||||
</plurals>
|
||||
<plurals name="toast_habits_deleted">
|
||||
<item quantity="one">Η συνήθεια διαγράφηκε</item>
|
||||
<item quantity="other">Οι συνήθειες διαγράφηκαν</item>
|
||||
</plurals>
|
||||
<plurals name="toast_habits_archived">
|
||||
<item quantity="one">Η συνήθεια αρχειοθετήθηκε</item>
|
||||
<item quantity="other">Οι συνήθειες αρχειοθετήθηκαν</item>
|
||||
</plurals>
|
||||
<plurals name="toast_habits_unarchived">
|
||||
<item quantity="one">Έγινε αφαίρεση αρχειοθέτησης συνήθειας</item>
|
||||
<item quantity="other">Έγινε αφαίρεση αρχειοθέτησης συνηθειών</item>
|
||||
</plurals>
|
||||
<string name="overview">Επισκόπηση</string>
|
||||
<string name="habit_strength">Δύναμη συνήθειας</string>
|
||||
<string name="history">Ιστορικό</string>
|
||||
@@ -36,8 +52,9 @@
|
||||
<string name="save">Αποθήκευση</string>
|
||||
<string name="streaks">Σερί</string>
|
||||
<string name="no_habits_found">Δεν έχετε ενεργές συνήθειες</string>
|
||||
<string name="no_habits_left_to_do">Είστε πανέτοιμοι για σήμερα!</string>
|
||||
<string name="long_press_to_toggle">Πατήστε παρατεταμένα για επιλογή η αποεπιλογή</string>
|
||||
<string name="reminder_off">Χωρίς</string>
|
||||
<string name="reminder_off">Ανενεργό</string>
|
||||
<string name="create_habit">Δημιουργία συνήθειας</string>
|
||||
<string name="edit_habit">Επεξεργασία συνήθειας</string>
|
||||
<string name="check">Επιλογή</string>
|
||||
@@ -46,34 +63,43 @@
|
||||
<string name="intro_description_1">Το Loop - Καταγραφή Συνηθειών σας βοηθάει να δημιουργήσετε και να διατηρήσετε καλές συνήθειες.</string>
|
||||
<string name="intro_title_2">Δημιουργήστε μερικές νέες συνήθειες</string>
|
||||
<string name="intro_description_2">Κάθε μέρα, με το πέρας της συνήθειας, βάλτε ένα τικ στην εφαρμογή.</string>
|
||||
<string name="intro_title_4">Κατέγραψε την πρόοδο σου</string>
|
||||
<string name="intro_description_4">Λεπτομερή διαγράμματα σας δείχνουν την πρόοδο των συνηθειών.</string>
|
||||
<string name="intro_title_4">Καταγράψτε την πρόοδό σας</string>
|
||||
<string name="intro_description_4">Λεπτομερή διαγράμματα σας δείχνουν την πρόοδο των συνηθειών σας.</string>
|
||||
<string name="interval_15_minutes">15 λεπτά</string>
|
||||
<string name="interval_30_minutes">30 λεπτά</string>
|
||||
<string name="interval_1_hour">1 ώρα</string>
|
||||
<string name="interval_2_hour">2 ώρες</string>
|
||||
<string name="interval_4_hour">4 ώρες</string>
|
||||
<string name="interval_8_hour">8 ώρες</string>
|
||||
<string name="interval_24_hour">24 Ωρο</string>
|
||||
<string name="interval_24_hour">24 ώρες</string>
|
||||
<string name="interval_always_ask">Να ερωτούμαι πάντα</string>
|
||||
<string name="interval_custom">Προσαρμογή</string>
|
||||
<string name="interval_custom">Προσαρμογή...</string>
|
||||
<string name="pref_toggle_title">Κάντε εναλλαγή των επαναλήψεων με σύντομο πάτημα</string>
|
||||
<string name="pref_toggle_description_2">Τοποθέτηση σημείων ελέγχου με ένα μόνο πάτημα αντί για πάτημα και αναμονή.</string>
|
||||
<string name="pref_rate_this_app">Βαθμολογήστε αυτή την εφαρμογή στο Google Play</string>
|
||||
<string name="pref_send_feedback">Στείλετε σχόλια</string>
|
||||
<string name="pref_send_feedback">Αποστολή σχολίων στον προγραμματιστή</string>
|
||||
<string name="pref_view_source_code">Δείτε τον πηγαίο κώδικα στο GitHub</string>
|
||||
<string name="links">Σύνδεσμοι</string>
|
||||
<string name="name">Όνομα</string>
|
||||
<string name="settings">Ρυθμίσεις</string>
|
||||
<string name="select_snooze_delay">Επιλογή καθυστέρησης αναβολής</string>
|
||||
<string name="hint_title">Γνωρίζατε;</string>
|
||||
<string name="hint_title">Το γνωρίζατε;</string>
|
||||
<string name="hint_drag">Αναδιατάξετε τις συνήθειες πατώντας παρατεταμένα στο όνομα και σύροντας στην σωστή θέση.</string>
|
||||
<string name="hint_landscape">Μπορείτε να δείτε περισσότερες ημέρες στην οριζόντια προβολή.</string>
|
||||
<string name="habit_not_found">Η συνήθεια διαγράφηκε / δεν βρέθηκε</string>
|
||||
<plurals name="delete_habits_title">
|
||||
<item quantity="one">Διαγραφή συνήθειας;</item>
|
||||
<item quantity="other">Διαγραφή συνηθειών;</item>
|
||||
</plurals>
|
||||
<plurals name="delete_habits_message">
|
||||
<item quantity="one">Η συνήθεια θα διαγραφεί οριστικά. Αυτή η ενέργεια δεν μπορεί να αναιρεθεί.</item>
|
||||
<item quantity="other">Οι συνήθειες θα διαγραφούν οριστικά. Αυτή η ενέργεια δεν μπορεί να αναιρεθεί.</item>
|
||||
</plurals>
|
||||
<string name="habit_not_found">Η συνήθεια διαγράφηκε / δε βρέθηκε</string>
|
||||
<string name="weekends">Σαββατοκύριακα</string>
|
||||
<string name="any_weekday">Δευτέρα μέχρι Παρασκευή</string>
|
||||
<string name="any_day">Οποιαδήποτε μέρα της εβδομάδας</string>
|
||||
<string name="select_weekdays">Επιλογή ημερών</string>
|
||||
<string name="export_to_csv">Εξαγωγή σαν CSV</string>
|
||||
<string name="export_to_csv">Εξαγωγή ως CSV</string>
|
||||
<string name="done_label">Έγινε</string>
|
||||
<string name="clear_label">Εκκαθάριση</string>
|
||||
<string name="select_hours">Επιλογή ωρών</string>
|
||||
@@ -84,12 +110,12 @@
|
||||
<string name="version_n">Έκδοση %s</string>
|
||||
<string name="frequency">Συχνότητα</string>
|
||||
<string name="checkmark">Σημάδι επιλογής</string>
|
||||
<string name="best_streaks">Καλύτερα σερί</string>
|
||||
<string name="best_streaks">Τα καλύτερα σερί</string>
|
||||
<string name="every_day">Κάθε μέρα</string>
|
||||
<string name="every_week">Κάθε εβδομάδα</string>
|
||||
<string name="help">Βοήθεια & FAQ</string>
|
||||
<string name="could_not_export">Αποτυχία εξαγωγής.</string>
|
||||
<string name="could_not_import">Αποτυχία εισαγωγής.</string>
|
||||
<string name="help">Βοήθεια & Συχνές Ερωτήσεις</string>
|
||||
<string name="could_not_export">Αποτυχία εξαγωγής δεδομένων.</string>
|
||||
<string name="could_not_import">Αποτυχία εισαγωγής δεδομένων.</string>
|
||||
<string name="file_not_recognized">Άγνωστο αρχείο.</string>
|
||||
<string name="habits_imported">Οι συνήθειες εισάχθηκαν επιτυχώς.</string>
|
||||
<string name="import_data">Εισαγωγή δεδομένων</string>
|
||||
@@ -100,20 +126,20 @@
|
||||
<string name="bug_report_failed">Απέτυχε ή παραγωγή αναφοράς bug.</string>
|
||||
<string name="generate_bug_report">Παραγωγή αναφοράς bug.</string>
|
||||
<string name="troubleshooting">Αντιμετ.Προβλημάτων</string>
|
||||
<string name="help_translate">Βοηθήστε στην μετάφραση</string>
|
||||
<string name="night_mode">Νυχτ.Λειτ.</string>
|
||||
<string name="help_translate">Βοηθήστε στη μετάφραση της εφαρμογής</string>
|
||||
<string name="night_mode">Σκοτεινό θέμα</string>
|
||||
<string name="use_pure_black">Χρήση απόλυτου μαύρου στη νυχτ.λειτουργία</string>
|
||||
<string name="pure_black_description">Αντικαθιστά τα γκρί υπόβαθρα με απόλυτα μαύρα σε νυχτ.λειτουργία. Μειώνει την κατανάλωση μπαταρίας σε συσκευές με οθόνη AMOLED.</string>
|
||||
<string name="interface_preferences">Διεπιφάνεια</string>
|
||||
<string name="reverse_days">Αναστροφή σειράς των ημερών.</string>
|
||||
<string name="interface_preferences">Διεπαφή</string>
|
||||
<string name="reverse_days">Αντίστροφη σειρά ημερών</string>
|
||||
<string name="reverse_days_description">Προβολή των ημερών σε αντίστροφη σειρά στην κυρία οθόνη.</string>
|
||||
<string name="day">Ημέρα</string>
|
||||
<string name="week">Εβδομάδα</string>
|
||||
<string name="month">Μήνας</string>
|
||||
<string name="quarter">Τρίμηνο</string>
|
||||
<string name="year">Χρόνος</string>
|
||||
<string name="year">Έτος</string>
|
||||
<string name="total">Σύνολο</string>
|
||||
<string name="yes_or_no">Ναι / Όχι</string>
|
||||
<string name="yes_or_no">Ναι ή Όχι</string>
|
||||
<string name="every_x_days">Κάθε %d ημέρες</string>
|
||||
<string name="every_x_weeks">Κάθε %d εβδομάδες</string>
|
||||
<string name="score">Σκόρ</string>
|
||||
@@ -121,26 +147,32 @@
|
||||
<string name="none">Σιωπηλό</string>
|
||||
<string name="filter">Φίλτρο</string>
|
||||
<string name="hide_completed">Απόκρυψη ολοκληρωμένων</string>
|
||||
<string name="hide_archived">Απόκρυψη των αρχειοθετημένων</string>
|
||||
<string name="hide_entered" comment=""Hide entered" appears in place of "hide completed" if the user has enabled the question marks option. This option hides all habits that have any data entered, not just the ones that have been completed. This allows the user to hide habits that have already failed early in the day.">Απόκρυψη εισαγμένων</string>
|
||||
<string name="hide_archived">Απόκρυψη αρχειοθετημένων</string>
|
||||
<string name="sticky_notifications">Κάντε τις ειδοποιήσεις κολλώδεις</string>
|
||||
<string name="sticky_notifications_description">Αποτρέπει την απομάκρυνση των ειδοποιήσεων.</string>
|
||||
<string name="led_notifications">Ένδειξη LED ειδοποίησης</string>
|
||||
<string name="led_notifications">Φως ειδοποιήσεων</string>
|
||||
<string name="led_notifications_description">Αναβοσβήνει μια φωτεινή ένδειξη για υπενθυμίσεις. Διαθέσιμο μόνο σε τηλέφωνα με φωτεινές ενδείξεις LED.</string>
|
||||
<string name="repair_database">Επισκευή βάσης δεδομένων</string>
|
||||
<string name="database_repaired">Η βάση δεδομένων επισκευάστηκε.</string>
|
||||
<string name="uncheck">Ξεμαρκάρισμα</string>
|
||||
<string name="toggle">Εναλλαγή</string>
|
||||
<string name="action">Δράση</string>
|
||||
<string name="habit">Συνήθειες</string>
|
||||
<string name="action">Ενέργεια</string>
|
||||
<string name="habit">Συνήθεια</string>
|
||||
<string name="sort">Ταξινόμηση</string>
|
||||
<string name="manually">Χειροκίνητα</string>
|
||||
<string name="by_name">Κατά όνομα</string>
|
||||
<string name="by_color">Με χρώμα</string>
|
||||
<string name="by_name">Ανά όνομα</string>
|
||||
<string name="by_color">Ανά χρώμα</string>
|
||||
<string name="by_score">Με σκορ</string>
|
||||
<string name="by_status">Κατά κατάσταση</string>
|
||||
<string name="export">Εξαγωγή</string>
|
||||
<string name="long_press_to_edit">Πατήστε και κρατήστε πατημένο για να αλλάξετε την τιμή</string>
|
||||
<string name="value">Τιμή</string>
|
||||
<string name="calendar">Ημερολόγιο</string>
|
||||
<string name="unit">Μονάδα</string>
|
||||
<string name="target_type">Τύπος Στόχου</string>
|
||||
<string name="target_type_at_least">Τουλάχιστον</string>
|
||||
<string name="target_type_at_most">Το πολύ</string>
|
||||
<string name="example_question_boolean">π.χ. Ασκήθηκες σήμερα;</string>
|
||||
<string name="question">Ερώτηση</string>
|
||||
<string name="target">Στόχος</string>
|
||||
@@ -148,7 +180,7 @@
|
||||
<string name="no">Όχι</string>
|
||||
<string name="customize_notification_summary">Αλλαγή ρυθμίσεων ήχου, δόνησης, φωτισμού και άλλων ειδοποιήσεων</string>
|
||||
<string name="customize_notification">Προσαρμογή ειδοποιήσεων</string>
|
||||
<string name="pref_view_privacy">Προβολή πολιτικής προστασίας προσωπικών δεδομένων</string>
|
||||
<string name="pref_view_privacy">Προβολή πολιτικής απορρήτου</string>
|
||||
<string name="view_all_contributors">Προβολή όλων των συντελεστών…</string>
|
||||
<string name="database">Βάση δεδομένων</string>
|
||||
<string name="widget_opacity_title">Διαφάνεια widget</string>
|
||||
@@ -159,16 +191,31 @@
|
||||
<string name="example_notes">(Προαιρετικό)</string>
|
||||
<string name="yes_or_no_example">π.χ. Ξύπνησες νωρίς σήμερα; Ασκήθηκες; Έπαιξες σκάκι;</string>
|
||||
<string name="measurable">Μετρήσιμο</string>
|
||||
<string name="measurable_example">π.χ. Πόσα χιλιόμετρα τρέξατε σήμερα; Πόσες σελίδες διαβάσατε;</string>
|
||||
<string name="x_times_per_week">%d φορές την εβδομάδα</string>
|
||||
<string name="x_times_per_month">%d φορές το μήνα</string>
|
||||
<string name="x_times_per_y_days">%d φορές την %d ημέρες</string>
|
||||
<string name="x_times_per_y_days">%d φορές σε %d ημέρες</string>
|
||||
<string name="yes_or_no_short_example">π.χ. Σωματική άσκηση</string>
|
||||
<string name="color">Χρώμα</string>
|
||||
<string name="example_target">π.χ. 15</string>
|
||||
<string name="measurable_short_example">π.χ. Τρέξιμο</string>
|
||||
<string name="measurable_question_example">π.χ. Πόσα χιλιόμετρα έτρεξες σήμερα?</string>
|
||||
<string name="measurable_question_example">π.χ. Πόσα χιλιόμετρα τρέξατε σήμερα;</string>
|
||||
<string name="measurable_units_example">π.χ. χιλιόμετρα</string>
|
||||
<string name="every_month">Κάθε μήνα</string>
|
||||
<string name="validation_cannot_be_blank">Δεν μπορεί να είναι κενό</string>
|
||||
<string name="today">Σήμερα</string>
|
||||
<string name="enter">Εισαγωγή</string>
|
||||
<string name="no_habits">Δεν βρέθηκαν συνήθειες</string>
|
||||
<string name="no_numerical_habits">Δεν βρέθηκαν μετρήσιμες συνήθειες</string>
|
||||
<string name="no_boolean_habits">Δεν βρέθηκαν συνήθειες ναι-ή-όχι</string>
|
||||
<string name="increment">Αύξηση</string>
|
||||
<string name="decrement">Μείωση</string>
|
||||
<string name="pref_skip_title">Ενεργοποίηση παράλειψης ημερών</string>
|
||||
<string name="pref_skip_description">Εναλλαγή δύο φορές για να προσθέσετε μια παράκαμψη αντί για ένα σημάδι ελέγχου. Οι παραλείψεις κρατούν το σκορ σας αμετάβλητο και να δε σπάνε το σερί σας.</string>
|
||||
<string name="pref_unknown_title">Εμφάνιση ερωτηματικών για τα δεδομένα που λείπουν</string>
|
||||
<string name="pref_unknown_description">Διαφορικές ημέρες χωρίς δεδομένα από πραγματικές παραλήψεις. Για να εισάγετε μια παράληψη, κάντε εναλλαγή δύο φορές.</string>
|
||||
<string name="you_are_now_a_developer">Είστε πλέον προγραμματιστής</string>
|
||||
<string name="activity_not_found">Δεν βρέθηκε εφαρμογή για την υποστήριξη αυτής της ενέργειας</string>
|
||||
<string name="pref_midnight_delay_title">Επεκτείνετε την ημέρα λίγες ώρες μετά τα μεσάνυχτα</string>
|
||||
<string name="pref_midnight_delay_description">Περιμένετε μέχρι τις 3:00 πμ για να εμφανιστεί μια νέα μέρα. Χρήσιμο αν συνήθως πάτε για ύπνο μετά τα μεσάνυχτα. Απαιτεί επανεκκίνηση της εφαρμογής.</string>
|
||||
</resources>
|
||||
|
||||
@@ -64,7 +64,7 @@
|
||||
<string name="intro_title_2">Crea algunos hábitos nuevos</string>
|
||||
<string name="intro_description_2">Cada día, después de realizar tu hábito, pon una marca en la aplicación.</string>
|
||||
<string name="intro_title_4">Haz un seguimiento de tu progreso</string>
|
||||
<string name="intro_description_4">Gráficos detallados muestran cómo mejoraron sus hábitos con el tiempo.</string>
|
||||
<string name="intro_description_4">Gráficos detallados te muestran cómo mejoraron tus hábitos con el tiempo.</string>
|
||||
<string name="interval_15_minutes">15 minutos</string>
|
||||
<string name="interval_30_minutes">30 minutos</string>
|
||||
<string name="interval_1_hour">1 hora</string>
|
||||
@@ -76,7 +76,7 @@
|
||||
<string name="interval_custom">Personalizar...</string>
|
||||
<string name="pref_toggle_title">Marca las repeticiones con una pulsación corta</string>
|
||||
<string name="pref_toggle_description_2">Ponga marcas de verificación con un solo toque en lugar de mantener presionado.</string>
|
||||
<string name="pref_rate_this_app">Valora esta aplicación en Google Play</string>
|
||||
<string name="pref_rate_this_app">Califica esta aplicación en Google Play</string>
|
||||
<string name="pref_send_feedback">Enviar sugerencias al desarrollador</string>
|
||||
<string name="pref_view_source_code">Ver código fuente en GitHub</string>
|
||||
<string name="links">Enlaces</string>
|
||||
@@ -84,7 +84,7 @@
|
||||
<string name="settings">Configuración</string>
|
||||
<string name="select_snooze_delay">Seleccione el retardo de la interrupción</string>
|
||||
<string name="hint_title">¿Sabías qué?</string>
|
||||
<string name="hint_drag">Para reordenar las entradas, mantén pulsado el nombre del hábito, después arrástralo a su posición correcta.</string>
|
||||
<string name="hint_drag">Para reorganizar las entradas, mantén presionado el nombre del hábito y luego arrástralo al lugar correcto.</string>
|
||||
<string name="hint_landscape">Puedes ver más días al poner tu teléfono en modo horizontal.</string>
|
||||
<plurals name="delete_habits_title">
|
||||
<item quantity="one">¿Eliminar hábito?</item>
|
||||
@@ -113,30 +113,30 @@
|
||||
<string name="best_streaks">Mejores rachas</string>
|
||||
<string name="every_day">Diariamente</string>
|
||||
<string name="every_week">Semanalmente</string>
|
||||
<string name="help">Ayuda & FAQ</string>
|
||||
<string name="help">Ayuda & Preguntas frecuentes</string>
|
||||
<string name="could_not_export">Error al exportar datos.</string>
|
||||
<string name="could_not_import">Error al importar datos.</string>
|
||||
<string name="file_not_recognized">Archivo no reconocido.</string>
|
||||
<string name="habits_imported">Hábitos importados exitosamente.</string>
|
||||
<string name="import_data">Importar datos</string>
|
||||
<string name="export_full_backup">Exportar copia de seguridad</string>
|
||||
<string name="import_data_summary">Soporta exportar copias de seguridad completas, así como archivos generados por Tickmate, HabitBull o Rewire. Mira el FAQ para más información.</string>
|
||||
<string name="export_as_csv_summary">Genera archivos que pueden ser abiertos por programas de hojas de cálculo como Microsoft Excel o OpenOffice Calc. Este archivo no puede volver a importarse.</string>
|
||||
<string name="export_full_backup_summary">Genera un archivo que contiene todos tus datos. Este archivo puede volver a importarse.</string>
|
||||
<string name="import_data_summary">Es compatible con exportar copias de seguridad completas, así como archivos generados por Tickmate, HabitBull o Rewire. Mira el FAQ para más información.</string>
|
||||
<string name="export_as_csv_summary">Genera archivos que pueden ser abiertos por programas de hojas de cálculo como Microsoft Excel o OpenOffice Calc. Este archivo no puede volver a importarse de vuelta.</string>
|
||||
<string name="export_full_backup_summary">Genera un archivo que contiene todos tus datos. Este archivo puede volver a importarse de vuelta.</string>
|
||||
<string name="bug_report_failed">Error al generar el reporte de error.</string>
|
||||
<string name="generate_bug_report">Generar reporte de errores</string>
|
||||
<string name="generate_bug_report">Generar informe de bug</string>
|
||||
<string name="troubleshooting">Solución de problemas</string>
|
||||
<string name="help_translate">Ayuda a traducir esta app</string>
|
||||
<string name="help_translate">Ayuda a traducir esta aplicación</string>
|
||||
<string name="night_mode">Modo nocturno</string>
|
||||
<string name="use_pure_black">Utilizar color negro en modo nocturno</string>
|
||||
<string name="pure_black_description">Reemplaza fondos grises por color negro en modo nocturno. Reduce el consumo de batería en teléfonos con pantalla AMOLED.</string>
|
||||
<string name="interface_preferences">Interfaz</string>
|
||||
<string name="reverse_days">Orden inverso de días</string>
|
||||
<string name="reverse_days_description">Mostrar días en orden inverso en la pantalla principal</string>
|
||||
<string name="reverse_days">Invertir el orden de los días</string>
|
||||
<string name="reverse_days_description">Mostrar días en orden inverso en la pantalla principal.</string>
|
||||
<string name="day">Día</string>
|
||||
<string name="week">Semana</string>
|
||||
<string name="month">Mes</string>
|
||||
<string name="quarter">Cuatrimestre</string>
|
||||
<string name="quarter">Trimestre</string>
|
||||
<string name="year">Año</string>
|
||||
<string name="total">Total</string>
|
||||
<string name="yes_or_no">Sí / No</string>
|
||||
@@ -149,9 +149,9 @@
|
||||
<string name="hide_completed">Ocultar completos</string>
|
||||
<string name="hide_entered" comment=""Hide entered" appears in place of "hide completed" if the user has enabled the question marks option. This option hides all habits that have any data entered, not just the ones that have been completed. This allows the user to hide habits that have already failed early in the day.">Ocultar ingresado</string>
|
||||
<string name="hide_archived">Ocultar archivados</string>
|
||||
<string name="sticky_notifications">Hacer notificaciones fijas</string>
|
||||
<string name="sticky_notifications">Hacer que las notificaciones sean fijas</string>
|
||||
<string name="sticky_notifications_description">Evita que las notificaciones sean descartadas.</string>
|
||||
<string name="led_notifications">Luz de notificaciones</string>
|
||||
<string name="led_notifications">Luz de notificación</string>
|
||||
<string name="led_notifications_description">Muestra una luz intermitente para recordatorios. Solo disponible en teléfonos con luces de notificación LED.</string>
|
||||
<string name="repair_database">Reparar base de datos</string>
|
||||
<string name="database_repaired">Base de datos reparada.</string>
|
||||
@@ -176,9 +176,9 @@
|
||||
<string name="example_question_boolean">ej. ¿Has ejercitado hoy?</string>
|
||||
<string name="question">Pregunta</string>
|
||||
<string name="target">Objetivo</string>
|
||||
<string name="yes">Si</string>
|
||||
<string name="yes">Sí</string>
|
||||
<string name="no">No</string>
|
||||
<string name="customize_notification_summary">Cambiar el sonido, la vibración, la luz y otras configuraciones de notificación</string>
|
||||
<string name="customize_notification_summary">Cambiar sonido, vibración, luz y otros ajustes de notificación</string>
|
||||
<string name="customize_notification">Personalizar las notificaciones</string>
|
||||
<string name="pref_view_privacy">Ver política de privacidad</string>
|
||||
<string name="view_all_contributors">Ver todos los colaboradores…</string>
|
||||
@@ -189,16 +189,16 @@
|
||||
<string name="default_reminder_question">¿Has completado este hábito hoy?</string>
|
||||
<string name="notes">Notas</string>
|
||||
<string name="example_notes">(Opcional)</string>
|
||||
<string name="yes_or_no_example">por ejemplo, ¿te despertaste temprano hoy? ¿Hiciste ejercicio? ¿Jugaste al ajedrez?</string>
|
||||
<string name="yes_or_no_example">ej. ¿Te levantaste temprano hoy? ¿Hiciste ejercicio? ¿Jugaste al ajedrez?</string>
|
||||
<string name="measurable">Medible</string>
|
||||
<string name="measurable_example">ej. ¿Cuántas millas ha corrido hoy? ¿Cuántas páginas ha leído?</string>
|
||||
<string name="measurable_example">ej. ¿Cuántas millas has corrido hoy? ¿Cuántas páginas has leído?</string>
|
||||
<string name="x_times_per_week">%d veces por semana</string>
|
||||
<string name="x_times_per_month">%d veces al mes</string>
|
||||
<string name="x_times_per_y_days">%d veces en %d días</string>
|
||||
<string name="yes_or_no_short_example">ej. Ejercicio</string>
|
||||
<string name="color">Color</string>
|
||||
<string name="example_target">ej. 15</string>
|
||||
<string name="measurable_short_example">por ejemplo, correr</string>
|
||||
<string name="measurable_short_example">ej. Correr</string>
|
||||
<string name="measurable_question_example">ej. ¿Cuántos kilómetros has corrido hoy?</string>
|
||||
<string name="measurable_units_example">ej. kilómetros</string>
|
||||
<string name="every_month">Cada mes</string>
|
||||
@@ -209,11 +209,11 @@
|
||||
<string name="no_numerical_habits">No se encontraron hábitos medibles</string>
|
||||
<string name="no_boolean_habits">No se encontraron hábitos de sí o no</string>
|
||||
<string name="increment">Incrementar</string>
|
||||
<string name="decrement">Decrementar</string>
|
||||
<string name="decrement">Disminuir</string>
|
||||
<string name="pref_skip_title">Habilitar días libres</string>
|
||||
<string name="pref_skip_description">Alternar dos veces para agregar un salto en lugar de una marca de verificación. Los saltos mantienen su puntaje sin cambios y no rompen su racha.</string>
|
||||
<string name="pref_unknown_title">Mostrar interrogantes para datos faltantes</string>
|
||||
<string name="pref_unknown_description">Diferenciar los días sin datos de los lapsos reales. Para ingresar un lapso, alternar dos veces.</string>
|
||||
<string name="pref_skip_description">Presionar dos veces para agregar un salto en lugar de una marca de verificación. Los saltos mantienen tu puntaje sin cambios y no rompen tu racha.</string>
|
||||
<string name="pref_unknown_title">Mostrar signos de interrogación para datos faltantes</string>
|
||||
<string name="pref_unknown_description">Diferenciar los días sin datos de los lapsos reales. Para ingresar un lapso, presionar dos veces.</string>
|
||||
<string name="you_are_now_a_developer">Ahora eres desarrollador</string>
|
||||
<string name="activity_not_found">No se encontró ninguna aplicación que admita esta acción</string>
|
||||
<string name="pref_midnight_delay_title">Ampliar día unas horas después de medianoche</string>
|
||||
|
||||
@@ -40,6 +40,10 @@
|
||||
<item quantity="one">Ohitura artxibatu da</item>
|
||||
<item quantity="other">Ohiturak artxibatu dira</item>
|
||||
</plurals>
|
||||
<plurals name="toast_habits_unarchived">
|
||||
<item quantity="one">Ohitura desartxibatu da</item>
|
||||
<item quantity="other">Ohiturak desartxibatu dira</item>
|
||||
</plurals>
|
||||
<string name="overview">Ikuspegi orokorra</string>
|
||||
<string name="habit_strength">Ohituraren indarra</string>
|
||||
<string name="history">Historia</string>
|
||||
@@ -71,6 +75,7 @@
|
||||
<string name="interval_always_ask">Galdetu beti</string>
|
||||
<string name="interval_custom">Pertsonalizatua...</string>
|
||||
<string name="pref_toggle_title">Ukitze laburrarekin markatu</string>
|
||||
<string name="pref_toggle_description_2">Jarri kontrol-markak ukitu bakar batekin sakatu eta eutsi beharrean.</string>
|
||||
<string name="pref_rate_this_app">Aplikazio hau Google Playen puntuatu</string>
|
||||
<string name="pref_send_feedback">Zure iritzia garatzaileari bidali</string>
|
||||
<string name="pref_view_source_code">Iturburu kodea GitHuben ikusi</string>
|
||||
@@ -85,6 +90,10 @@
|
||||
<item quantity="one">Ohiturak ezabatu</item>
|
||||
<item quantity="other">Ohiturak ezabatu</item>
|
||||
</plurals>
|
||||
<plurals name="delete_habits_message">
|
||||
<item quantity="one">Ohitura betirako ezabatuko da. Ekintza hau ezin da desegin.</item>
|
||||
<item quantity="other">Ohiturak betirako ezabatuko dira. Ekintza hau ezin da desegin.</item>
|
||||
</plurals>
|
||||
<string name="habit_not_found">Ohitura ezabatua / ez aurkitua</string>
|
||||
<string name="weekends">Asteburuak</string>
|
||||
<string name="any_weekday">Astelehenetik ostiralera</string>
|
||||
@@ -138,6 +147,7 @@
|
||||
<string name="none">Bat ere ez</string>
|
||||
<string name="filter">Iragazkia</string>
|
||||
<string name="hide_completed">Ezkutatu lortutakoak</string>
|
||||
<string name="hide_entered" comment=""Hide entered" appears in place of "hide completed" if the user has enabled the question marks option. This option hides all habits that have any data entered, not just the ones that have been completed. This allows the user to hide habits that have already failed early in the day.">Ezkutatu betetakoak</string>
|
||||
<string name="hide_archived">Ezkutatu artxibatutakoak</string>
|
||||
<string name="sticky_notifications">Jakinarazpenak itsaskorrak bihurtu</string>
|
||||
<string name="sticky_notifications_description">Jakinarazpenak keinu batez ezabatzea sahiesten du.</string>
|
||||
@@ -160,6 +170,7 @@
|
||||
<string name="value">Balioa</string>
|
||||
<string name="calendar">Egutegia</string>
|
||||
<string name="unit">Unitatea</string>
|
||||
<string name="target_type">Helburu mota</string>
|
||||
<string name="target_type_at_least">Gutxienez</string>
|
||||
<string name="target_type_at_most">Gehienez</string>
|
||||
<string name="example_question_boolean">adib. ariketa egin al duzu gaur?</string>
|
||||
@@ -180,6 +191,7 @@
|
||||
<string name="example_notes">(Aukerazkoa)</string>
|
||||
<string name="yes_or_no_example">adib. Gaur goiz esnatu zara? Ariketa fisikoa egin al duzu? Xakean jolastu al duzu?</string>
|
||||
<string name="measurable">Neurgarria</string>
|
||||
<string name="measurable_example">Adib. Zenbat kilometro egin dituzu gaur? Zenbat orrialde irakurri dituzu?</string>
|
||||
<string name="x_times_per_week">Astean %d aldiz</string>
|
||||
<string name="x_times_per_month">Hilean %d aldiz</string>
|
||||
<string name="x_times_per_y_days">%d aldiz %d egunetan</string>
|
||||
@@ -196,8 +208,12 @@
|
||||
<string name="no_habits">Ez da ohiturarik aurkitu</string>
|
||||
<string name="no_numerical_habits">Ez da aurkitu ohitura neurgarririk</string>
|
||||
<string name="no_boolean_habits">Ez da bai-ala-ez ohiturarik aurkitu</string>
|
||||
<string name="pref_skip_title">Gaitu atseden egunak</string>
|
||||
<string name="pref_skip_description">Sakatu bi aldiz kontrol-markaren ordez atseden bat gehitzeko. Atsedenek zure puntuazioa aldatu gabe mantentzen dute eta ez dute segida hausten.</string>
|
||||
<string name="pref_unknown_title">Adierazi galdera ikurra falta diren datuetan</string>
|
||||
<string name="pref_unknown_description">Bereizi daturik gabeko egunak benetako hutsegiteetatik. Hutsegite bat sartzeko, sakatu bi aldiz.</string>
|
||||
<string name="you_are_now_a_developer">Garatzailea zara!</string>
|
||||
<string name="activity_not_found">Ez da aurkitu akzio hau gauzatu dezakeen aplikaziorik</string>
|
||||
<string name="pref_midnight_delay_title">Luzatu eguna gauerdia osteko ordu batzuetara</string>
|
||||
<string name="pref_midnight_delay_description">Itxaron goizeko 3:00ak arte egun berri bat erakusteko. Erabilgarria normalean gauerdia pasata lotara joaten bazara. Aplikazioa berrabiarazi behar da.</string>
|
||||
</resources>
|
||||
|
||||