diff --git a/.gitignore b/.gitignore index 655fdf419..1c7687f38 100644 --- a/.gitignore +++ b/.gitignore @@ -20,3 +20,4 @@ captures/ docs/ gen/ local.properties +crowdin.yaml diff --git a/CHANGELOG.md b/CHANGELOG.md index 33d769281..a88e2a3d1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,21 @@ # Changelog +### 1.7.0 (Mar 31, 2017) + +* Sort habits automatically +* Allow swiping the header to see previous days +* Import backups directly from Google Drive or Dropbox +* Refresh data automatically at midnight +* Other minor bug fixes and enhancements + +### 1.6.2 (Oct 13, 2016) + +* Fix crash on Android 4.1 + +### 1.6.1 (Oct 10, 2016) + +* Fix a crash at startup when database is corrupted + ### 1.6.0 (Oct 10, 2016) * Add option to make notifications sticky diff --git a/app/build.gradle b/app/build.gradle index 6bdb20d23..93d60fe16 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -4,13 +4,13 @@ apply plugin: 'me.tatarka.retrolambda' apply plugin: 'jacoco' android { - compileSdkVersion 23 - buildToolsVersion "23.0.3" + compileSdkVersion 25 + buildToolsVersion "25.0.2" defaultConfig { applicationId "org.isoron.uhabits" minSdkVersion 15 - targetSdkVersion 23 + targetSdkVersion 25 buildConfigField "Integer", "databaseVersion", "15" buildConfigField "String", "databaseFilename", "\"uhabits.db\"" @@ -53,7 +53,7 @@ dependencies { androidTestApt 'com.google.dagger:dagger-compiler:2.2' - androidTestCompile 'com.android.support:support-annotations:23.3.0' + androidTestCompile 'com.android.support:support-annotations:25.3.0' androidTestCompile 'com.android.support.test:rules:0.5' androidTestCompile 'com.android.support.test:runner:0.5' androidTestCompile 'com.google.auto.factory:auto-factory:1.0-beta3' @@ -64,10 +64,10 @@ dependencies { apt 'com.google.dagger:dagger-compiler:2.2' apt 'com.jakewharton:butterknife-compiler:8.0.1' - compile 'com.android.support:appcompat-v7:23.3.0' - compile 'com.android.support:design:23.3.0' - compile 'com.android.support:preference-v14:23.3.0' - compile 'com.android.support:support-v4:23.3.0' + compile 'com.android.support:appcompat-v7:25.3.0' + compile 'com.android.support:design:25.3.0' + compile 'com.android.support:preference-v14:25.3.0' + compile 'com.android.support:support-v4:25.3.0' compile 'com.getpebble:pebblekit:3.0.0' compile 'com.github.paolorotolo:appintro:3.4.0' compile 'com.google.auto.factory:auto-factory:1.0-beta3' diff --git a/app/src/androidTest/java/org/isoron/uhabits/BaseAndroidTest.java b/app/src/androidTest/java/org/isoron/uhabits/BaseAndroidTest.java index edb28d55d..912009ece 100644 --- a/app/src/androidTest/java/org/isoron/uhabits/BaseAndroidTest.java +++ b/app/src/androidTest/java/org/isoron/uhabits/BaseAndroidTest.java @@ -63,6 +63,8 @@ public class BaseAndroidTest protected AndroidTestComponent component; + protected ModelFactory modelFactory; + @Before public void setUp() { @@ -89,7 +91,7 @@ public class BaseAndroidTest taskRunner = component.getTaskRunner(); logger = component.getHabitsLogger(); - ModelFactory modelFactory = component.getModelFactory(); + modelFactory = component.getModelFactory(); fixtures = new HabitFixtures(modelFactory, habitList); latch = new CountDownLatch(1); diff --git a/app/src/androidTest/java/org/isoron/uhabits/BaseViewTest.java b/app/src/androidTest/java/org/isoron/uhabits/BaseViewTest.java index 689cafcaa..f01b0f969 100644 --- a/app/src/androidTest/java/org/isoron/uhabits/BaseViewTest.java +++ b/app/src/androidTest/java/org/isoron/uhabits/BaseViewTest.java @@ -225,7 +225,7 @@ public class BaseViewTest extends BaseAndroidTest throws IOException { File dir = FileUtils.getSDCardDir("test-screenshots"); - if (dir == null) dir = FileUtils.getFilesDir("test-screenshots"); + if (dir == null) dir = FileUtils.getFilesDir(targetContext,"test-screenshots"); if (dir == null) throw new RuntimeException( "Could not find suitable dir for screenshots"); diff --git a/app/src/androidTest/java/org/isoron/uhabits/HabitFixtures.java b/app/src/androidTest/java/org/isoron/uhabits/HabitFixtures.java index bd5928ecc..7a6e51281 100644 --- a/app/src/androidTest/java/org/isoron/uhabits/HabitFixtures.java +++ b/app/src/androidTest/java/org/isoron/uhabits/HabitFixtures.java @@ -39,12 +39,18 @@ public class HabitFixtures } public Habit createEmptyHabit() + { + return createEmptyHabit(null); + } + + public Habit createEmptyHabit(Long id) { Habit habit = modelFactory.buildHabit(); habit.setName("Meditate"); habit.setDescription("Did you meditate this morning?"); habit.setColor(3); habit.setFrequency(Frequency.DAILY); + habit.setId(id); habitList.add(habit); return habit; } diff --git a/app/src/androidTest/java/org/isoron/uhabits/activities/habits/list/views/CheckmarkPanelViewTest.java b/app/src/androidTest/java/org/isoron/uhabits/activities/habits/list/views/CheckmarkPanelViewTest.java index 84954771b..30e225a7a 100644 --- a/app/src/androidTest/java/org/isoron/uhabits/activities/habits/list/views/CheckmarkPanelViewTest.java +++ b/app/src/androidTest/java/org/isoron/uhabits/activities/habits/list/views/CheckmarkPanelViewTest.java @@ -60,6 +60,7 @@ public class CheckmarkPanelViewTest extends BaseViewTest view = new CheckmarkPanelView(targetContext); view.setHabit(habit); view.setCheckmarkValues(checkmarks); + view.setButtonCount(4); view.setColor(ColorUtils.getAndroidTestColor(7)); measureView(view, dpToPixels(200), dpToPixels(200)); diff --git a/app/src/androidTest/java/org/isoron/uhabits/io/ImportTest.java b/app/src/androidTest/java/org/isoron/uhabits/io/ImportTest.java index 6dcdf434d..a63bbd865 100644 --- a/app/src/androidTest/java/org/isoron/uhabits/io/ImportTest.java +++ b/app/src/androidTest/java/org/isoron/uhabits/io/ImportTest.java @@ -40,8 +40,6 @@ import static org.junit.Assert.*; @MediumTest public class ImportTest extends BaseAndroidTest { - private File baseDir; - private Context context; @Override @@ -50,11 +48,8 @@ public class ImportTest extends BaseAndroidTest { super.setUp(); DateUtils.setFixedLocalTime(null); - fixtures.purgeHabits(habitList); context = InstrumentationRegistry.getInstrumentation().getContext(); - baseDir = FileUtils.getFilesDir("Backups"); - if (baseDir == null) fail("baseDir should not be null"); } @Test @@ -149,8 +144,7 @@ public class ImportTest extends BaseAndroidTest private void importFromFile(String assetFilename) throws IOException { - File file = - new File(String.format("%s/%s", baseDir.getPath(), assetFilename)); + File file = File.createTempFile("asset", ""); copyAssetToFile(assetFilename, file); assertTrue(file.exists()); assertTrue(file.canRead()); @@ -159,5 +153,7 @@ public class ImportTest extends BaseAndroidTest assertThat(importer.canHandle(file), is(true)); importer.importHabitsFromFile(file); + + file.delete(); } } diff --git a/app/src/androidTest/java/org/isoron/uhabits/models/HabitListTest.java b/app/src/androidTest/java/org/isoron/uhabits/models/HabitListTest.java new file mode 100644 index 000000000..92f71a3f4 --- /dev/null +++ b/app/src/androidTest/java/org/isoron/uhabits/models/HabitListTest.java @@ -0,0 +1,240 @@ +/* + * Copyright (C) 2016 Álinson Santos Xavier + * + * This file is part of Loop Habit Tracker. + * + * Loop Habit Tracker is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by the + * Free Software Foundation, either version 3 of the License, or (at your + * option) any later version. + * + * Loop Habit Tracker is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY + * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + * more details. + * + * You should have received a copy of the GNU General Public License along + * with this program. If not, see . + */ + +package org.isoron.uhabits.models; + +import android.support.test.runner.*; +import android.test.suitebuilder.annotation.*; + +import org.hamcrest.*; +import org.isoron.uhabits.*; +import org.junit.*; +import org.junit.runner.*; + +import java.io.*; +import java.util.*; + +import static junit.framework.Assert.*; +import static org.hamcrest.CoreMatchers.*; +import static org.hamcrest.MatcherAssert.*; +import static org.hamcrest.core.IsEqual.equalTo; +import static org.isoron.uhabits.models.HabitList.Order.*; + +@SuppressWarnings("JavaDoc") +@RunWith(AndroidJUnit4.class) +@MediumTest +public class HabitListTest extends BaseAndroidTest +{ + private ArrayList habitsArray; + + private HabitList activeHabits; + + private HabitList reminderHabits; + + @Override + public void setUp() + { + super.setUp(); + habitList.removeAll(); + + habitsArray = new ArrayList<>(); + + for (int i = 0; i < 10; i++) + { + Habit habit = fixtures.createEmptyHabit((long) i); + habitsArray.add(habit); + + if (i % 3 == 0) + habit.setReminder(new Reminder(8, 30, WeekdayList.EVERY_DAY)); + + habitList.update(habit); + } + + habitsArray.get(0).setArchived(true); + habitsArray.get(1).setArchived(true); + habitsArray.get(4).setArchived(true); + habitsArray.get(7).setArchived(true); + + activeHabits = habitList.getFiltered(new HabitMatcherBuilder().build()); + + reminderHabits = habitList.getFiltered(new HabitMatcherBuilder() + .setArchivedAllowed(true) + .setReminderRequired(true) + .build()); + } + + @Test + public void test_size() + { + assertThat(habitList.size(), equalTo(10)); + } + + @Test + public void test_countActive() + { + assertThat(activeHabits.size(), equalTo(6)); + } + + @Test + public void test_getByPosition() + { + assertThat(habitList.getByPosition(0), equalTo(habitsArray.get(0))); + assertThat(habitList.getByPosition(3), equalTo(habitsArray.get(3))); + assertThat(habitList.getByPosition(9), equalTo(habitsArray.get(9))); + + assertThat(activeHabits.getByPosition(0), equalTo(habitsArray.get(2))); + } + + @Test + public void test_getHabitsWithReminder() + { + assertThat(reminderHabits.size(), equalTo(4)); + assertThat(reminderHabits.getByPosition(1), + equalTo(habitsArray.get(3))); + } + + @Test + public void test_get_withInvalidId() + { + assertThat(habitList.getById(100L), is(nullValue())); + } + + @Test + public void test_get_withValidId() + { + Habit habit1 = habitsArray.get(0); + Habit habit2 = habitList.getById(habit1.getId()); + assertThat(habit1, equalTo(habit2)); + } + + @Test + public void test_reorder() + { + int operations[][] = { + { 5, 2 }, { 3, 7 }, { 4, 4 }, { 3, 2 } + }; + + int expectedPosition[][] = { + { 0, 1, 3, 4, 5, 2, 6, 7, 8, 9 }, + { 0, 1, 7, 3, 4, 2, 5, 6, 8, 9 }, + { 0, 1, 7, 3, 4, 2, 5, 6, 8, 9 }, + { 0, 1, 7, 2, 4, 3, 5, 6, 8, 9 }, + }; + + for (int i = 0; i < operations.length; i++) + { + int from = operations[i][0]; + int to = operations[i][1]; + + Habit fromHabit = habitList.getByPosition(from); + Habit toHabit = habitList.getByPosition(to); + habitList.reorder(fromHabit, toHabit); + + int actualPositions[] = new int[10]; + + for (int j = 0; j < 10; j++) + { + Habit h = habitList.getById(j); + assertNotNull(h); + actualPositions[j] = habitList.indexOf(h); + } + + assertThat(actualPositions, equalTo(expectedPosition[i])); + } + } + + @Test + public void test_writeCSV() throws IOException + { + habitList.removeAll(); + + Habit h1 = fixtures.createEmptyHabit(); + h1.setName("Meditate"); + h1.setDescription("Did you meditate this morning?"); + h1.setFrequency(Frequency.DAILY); + h1.setColor(3); + + Habit h2 = fixtures.createEmptyHabit(); + h2.setName("Wake up early"); + h2.setDescription("Did you wake up before 6am?"); + h2.setFrequency(new Frequency(2, 3)); + h2.setColor(5); + + habitList.update(h1); + habitList.update(h2); + + String expectedCSV = + "Position,Name,Description,NumRepetitions,Interval,Color\n" + + "001,Meditate,Did you meditate this morning?,1,1,#AFB42B\n" + + "002,Wake up early,Did you wake up before 6am?,2,3,#00897B\n"; + + StringWriter writer = new StringWriter(); + habitList.writeCSV(writer); + + MatcherAssert.assertThat(writer.toString(), equalTo(expectedCSV)); + } + + @Test + public void test_ordering() + { + habitList.removeAll(); + + Habit h3 = fixtures.createEmptyHabit(); + h3.setName("C Habit"); + h3.setColor(0); + habitList.update(h3); + + Habit h1 = fixtures.createEmptyHabit(); + h1.setName("A Habit"); + h1.setColor(2); + habitList.update(h1); + + Habit h4 = fixtures.createEmptyHabit(); + h4.setName("D Habit"); + h4.setColor(1); + habitList.update(h4); + + Habit h2 = fixtures.createEmptyHabit(); + h2.setName("B Habit"); + h2.setColor(2); + habitList.update(h2); + + habitList.setOrder(BY_POSITION); + assertThat(habitList.getByPosition(0), equalTo(h3)); + assertThat(habitList.getByPosition(1), equalTo(h1)); + assertThat(habitList.getByPosition(2), equalTo(h4)); + assertThat(habitList.getByPosition(3), equalTo(h2)); + + habitList.setOrder(BY_NAME); + assertThat(habitList.getByPosition(0), equalTo(h1)); + assertThat(habitList.getByPosition(1), equalTo(h2)); + assertThat(habitList.getByPosition(2), equalTo(h3)); + assertThat(habitList.getByPosition(3), equalTo(h4)); + + habitList.remove(h1); + habitList.add(h1); + assertThat(habitList.getByPosition(0), equalTo(h1)); + + habitList.setOrder(BY_COLOR); + assertThat(habitList.getByPosition(0), equalTo(h3)); + assertThat(habitList.getByPosition(1), equalTo(h4)); + assertThat(habitList.getByPosition(2), equalTo(h1)); + assertThat(habitList.getByPosition(3), equalTo(h2)); + } +} \ No newline at end of file diff --git a/app/src/androidTest/java/org/isoron/uhabits/models/sqlite/SQLiteHabitListTest.java b/app/src/androidTest/java/org/isoron/uhabits/models/sqlite/SQLiteHabitListTest.java index ae51ed1f5..5308fc61c 100644 --- a/app/src/androidTest/java/org/isoron/uhabits/models/sqlite/SQLiteHabitListTest.java +++ b/app/src/androidTest/java/org/isoron/uhabits/models/sqlite/SQLiteHabitListTest.java @@ -125,17 +125,6 @@ public class SQLiteHabitListTest extends BaseAndroidTest assertThat(habits.get(3).getName(), equalTo("habit 3")); } -// @Test -// public void testGetAll_withoutArchived() -// { -// List habits = habitList.toList(); -// assertThat(habits.size(), equalTo(5)); -// assertThat(habits.get(3).getName(), equalTo("habit 7")); -// -// List another = habitList.toList(); -// assertThat(habits, equalTo(another)); -// } - @Test public void testGetById() { @@ -178,45 +167,6 @@ public class SQLiteHabitListTest extends BaseAndroidTest assertThat(habitList.indexOf(h2), equalTo(-1)); } - @Test - public void test_reorder() - { - // Same as HabitListTest.java - // TODO: remove duplication - - int operations[][] = { - {5, 2}, {3, 7}, {4, 4}, {3, 2} - }; - - int expectedPosition[][] = { - {0, 1, 3, 4, 5, 2, 6, 7, 8, 9}, - {0, 1, 7, 3, 4, 2, 5, 6, 8, 9}, - {0, 1, 7, 3, 4, 2, 5, 6, 8, 9}, - {0, 1, 7, 2, 4, 3, 5, 6, 8, 9}, - }; - - for (int i = 0; i < operations.length; i++) - { - int from = operations[i][0]; - int to = operations[i][1]; - - Habit fromHabit = habitList.getByPosition(from); - Habit toHabit = habitList.getByPosition(to); - habitList.reorder(fromHabit, toHabit); - - int actualPositions[] = new int[10]; - - for (int j = 0; j < 10; j++) - { - Habit h = habitList.getById(j); - assertNotNull(h); - actualPositions[j] = habitList.indexOf(h); - } - - assertThat(actualPositions, equalTo(expectedPosition[i])); - } - } - private HabitRecord getRecord(long id) { return new Select() diff --git a/app/src/androidTest/java/org/isoron/uhabits/tasks/ExportCSVTaskTest.java b/app/src/androidTest/java/org/isoron/uhabits/tasks/ExportCSVTaskTest.java index 86860f006..daaf5e425 100644 --- a/app/src/androidTest/java/org/isoron/uhabits/tasks/ExportCSVTaskTest.java +++ b/app/src/androidTest/java/org/isoron/uhabits/tasks/ExportCSVTaskTest.java @@ -56,7 +56,7 @@ public class ExportCSVTaskTest extends BaseAndroidTest for (Habit h : habitList) selected.add(h); taskRunner.execute( - new ExportCSVTask(habitList, selected, archiveFilename -> { + new ExportCSVTask(targetContext,habitList, selected, archiveFilename -> { assertThat(archiveFilename, is(not(nullValue()))); File f = new File(archiveFilename); assertTrue(f.exists()); diff --git a/app/src/androidTest/java/org/isoron/uhabits/tasks/ExportDBTaskTest.java b/app/src/androidTest/java/org/isoron/uhabits/tasks/ExportDBTaskTest.java index ac3dce2ba..e3f7e4a7c 100644 --- a/app/src/androidTest/java/org/isoron/uhabits/tasks/ExportDBTaskTest.java +++ b/app/src/androidTest/java/org/isoron/uhabits/tasks/ExportDBTaskTest.java @@ -46,7 +46,7 @@ public class ExportDBTaskTest extends BaseAndroidTest @Test public void testExportCSV() throws Throwable { - ExportDBTask task = new ExportDBTask(filename -> { + ExportDBTask task = new ExportDBTask(targetContext, filename -> { assertThat(filename, is(not(nullValue()))); File f = new File(filename); diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index ee57323d5..33ab12704 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -21,8 +21,8 @@ + android:versionCode="27" + android:versionName="1.7.0"> @@ -223,5 +223,15 @@ + + + + diff --git a/app/src/main/ic_launcher-web.png b/app/src/main/ic_launcher-web.png index 85ad242d1..ca97cf609 100644 Binary files a/app/src/main/ic_launcher-web.png and b/app/src/main/ic_launcher-web.png differ diff --git a/app/src/main/java/org/isoron/uhabits/HabitsApplication.java b/app/src/main/java/org/isoron/uhabits/HabitsApplication.java index 692cd0402..bad1c4ee5 100644 --- a/app/src/main/java/org/isoron/uhabits/HabitsApplication.java +++ b/app/src/main/java/org/isoron/uhabits/HabitsApplication.java @@ -38,7 +38,7 @@ import java.io.*; */ public class HabitsApplication extends Application { - private static Context context; + private Context context; private static AppComponent component; @@ -58,26 +58,14 @@ public class HabitsApplication extends Application HabitsApplication.component = component; } - @NonNull - @Deprecated - public static Context getContext() - { - if (context == null) throw new RuntimeException("context is null"); - return context; - } - public static boolean isTestMode() { try { - if (context != null) - { - String testClass = "org.isoron.uhabits.BaseAndroidTest"; - context.getClassLoader().loadClass(testClass); - } + Class.forName ("org.isoron.uhabits.BaseAndroidTest"); return true; } - catch (final Exception e) + catch (final ClassNotFoundException e) { return false; } @@ -87,7 +75,7 @@ public class HabitsApplication extends Application public void onCreate() { super.onCreate(); - HabitsApplication.context = this; + context = this; component = DaggerAppComponent .builder() @@ -96,11 +84,11 @@ public class HabitsApplication extends Application if (isTestMode()) { - File db = DatabaseUtils.getDatabaseFile(); + File db = DatabaseUtils.getDatabaseFile(context); if (db.exists()) db.delete(); } - DatabaseUtils.initializeActiveAndroid(); + DatabaseUtils.initializeActiveAndroid(context); widgetUpdater = component.getWidgetUpdater(); widgetUpdater.startListening(); @@ -125,7 +113,7 @@ public class HabitsApplication extends Application @Override public void onTerminate() { - HabitsApplication.context = null; + context = null; ActiveAndroid.dispose(); reminderScheduler.stopListening(); diff --git a/app/src/main/java/org/isoron/uhabits/activities/BaseScreen.java b/app/src/main/java/org/isoron/uhabits/activities/BaseScreen.java index 1954c7c42..64621414c 100644 --- a/app/src/main/java/org/isoron/uhabits/activities/BaseScreen.java +++ b/app/src/main/java/org/isoron/uhabits/activities/BaseScreen.java @@ -40,6 +40,7 @@ import java.io.*; import static android.os.Build.VERSION.*; import static android.os.Build.VERSION_CODES.*; +import static android.support.v4.content.FileProvider.*; /** * Base class for all screens in the application. @@ -50,6 +51,8 @@ import static android.os.Build.VERSION_CODES.*; */ public class BaseScreen { + public static final int REQUEST_CREATE_DOCUMENT = 1; + protected BaseActivity activity; @Nullable @@ -230,11 +233,14 @@ public class BaseScreen public void showSendFileScreen(@NonNull String archiveFilename) { + File file = new File(archiveFilename); + Uri fileUri = getUriForFile(activity, "org.isoron.uhabits", file); + Intent intent = new Intent(); intent.setAction(Intent.ACTION_SEND); intent.setType("application/zip"); - intent.putExtra(Intent.EXTRA_STREAM, - Uri.fromFile(new File(archiveFilename))); + intent.putExtra(Intent.EXTRA_STREAM, fileUri); + intent.setFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION); activity.startActivity(intent); } diff --git a/app/src/main/java/org/isoron/uhabits/activities/BaseSystem.java b/app/src/main/java/org/isoron/uhabits/activities/BaseSystem.java index 044fa9600..bacf911b3 100644 --- a/app/src/main/java/org/isoron/uhabits/activities/BaseSystem.java +++ b/app/src/main/java/org/isoron/uhabits/activities/BaseSystem.java @@ -70,7 +70,7 @@ public class BaseSystem if (context == null) throw new RuntimeException( "application context should not be null"); - File dir = FileUtils.getFilesDir("Logs"); + File dir = FileUtils.getFilesDir(context, "Logs"); if (dir == null) throw new IOException("log dir should not be null"); File logFile = diff --git a/app/src/main/java/org/isoron/uhabits/activities/about/AboutRootView.java b/app/src/main/java/org/isoron/uhabits/activities/about/AboutRootView.java index a8ff3abe7..695f9a3ca 100644 --- a/app/src/main/java/org/isoron/uhabits/activities/about/AboutRootView.java +++ b/app/src/main/java/org/isoron/uhabits/activities/about/AboutRootView.java @@ -25,7 +25,7 @@ import android.support.v7.widget.Toolbar; import android.widget.*; import org.isoron.uhabits.BuildConfig; -import org.isoron.uhabits.*; +import org.isoron.uhabits.R; import org.isoron.uhabits.activities.*; import org.isoron.uhabits.intents.*; import org.isoron.uhabits.utils.*; @@ -94,6 +94,13 @@ public class AboutRootView extends BaseRootView getContext().startActivity(intent); } + @OnClick(R.id.tvTranslate) + public void onClickTranslate() + { + Intent intent = intents.helpTranslate(getContext()); + getContext().startActivity(intent); + } + @OnClick(R.id.tvRate) public void onClickRate() { diff --git a/app/src/main/java/org/isoron/uhabits/activities/common/dialogs/ConfirmDeleteDialog.java b/app/src/main/java/org/isoron/uhabits/activities/common/dialogs/ConfirmDeleteDialog.java index b86ed2f25..cf5ef4b89 100644 --- a/app/src/main/java/org/isoron/uhabits/activities/common/dialogs/ConfirmDeleteDialog.java +++ b/app/src/main/java/org/isoron/uhabits/activities/common/dialogs/ConfirmDeleteDialog.java @@ -24,7 +24,7 @@ import android.support.v7.app.*; import com.google.auto.factory.*; -import org.isoron.uhabits.*; +import org.isoron.uhabits.R; import org.isoron.uhabits.activities.*; import butterknife.*; diff --git a/app/src/main/java/org/isoron/uhabits/activities/common/dialogs/HistoryEditorDialog.java b/app/src/main/java/org/isoron/uhabits/activities/common/dialogs/HistoryEditorDialog.java index 7aac7e87a..9de7af377 100644 --- a/app/src/main/java/org/isoron/uhabits/activities/common/dialogs/HistoryEditorDialog.java +++ b/app/src/main/java/org/isoron/uhabits/activities/common/dialogs/HistoryEditorDialog.java @@ -78,6 +78,8 @@ public class HistoryEditorDialog extends AppCompatDialogFragment { long id = savedInstanceState.getLong("habit", -1); if (id > 0) this.habit = habitList.getById(id); + historyChart.onRestoreInstanceState( + savedInstanceState.getParcelable("historyChart")); } int padding = @@ -129,6 +131,7 @@ public class HistoryEditorDialog extends AppCompatDialogFragment public void onSaveInstanceState(Bundle outState) { outState.putLong("habit", habit.getId()); + outState.putParcelable("historyChart", historyChart.onSaveInstanceState()); } public void setController(@NonNull Controller controller) diff --git a/app/src/main/java/org/isoron/uhabits/activities/common/views/BundleSavedState.java b/app/src/main/java/org/isoron/uhabits/activities/common/views/BundleSavedState.java new file mode 100644 index 000000000..9f61d88f0 --- /dev/null +++ b/app/src/main/java/org/isoron/uhabits/activities/common/views/BundleSavedState.java @@ -0,0 +1,63 @@ +/* + * Copyright (C) 2017 Álinson Santos Xavier + * + * This file is part of Loop Habit Tracker. + * + * Loop Habit Tracker is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by the + * Free Software Foundation, either version 3 of the License, or (at your + * option) any later version. + * + * Loop Habit Tracker is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY + * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + * more details. + * + * You should have received a copy of the GNU General Public License along + * with this program. If not, see . + */ + +package org.isoron.uhabits.activities.common.views; + +import android.os.*; +import android.view.*; + +public class BundleSavedState extends View.BaseSavedState +{ + public static final Parcelable.Creator CREATOR = + new Parcelable.Creator() + { + @Override + public BundleSavedState createFromParcel(Parcel source) + { + return new BundleSavedState(source); + } + + @Override + public BundleSavedState[] newArray(int size) + { + return new BundleSavedState[size]; + } + }; + + public final Bundle bundle; + + public BundleSavedState(Parcelable superState, Bundle bundle) + { + super(superState); + this.bundle = bundle; + } + + public BundleSavedState(Parcel source) + { + super(source); + this.bundle = source.readBundle(); + } + + @Override + public void writeToParcel(Parcel out, int flags) + { + super.writeToParcel(out, flags); + out.writeBundle(bundle); + } +} \ No newline at end of file diff --git a/app/src/main/java/org/isoron/uhabits/activities/common/views/ScrollableChart.java b/app/src/main/java/org/isoron/uhabits/activities/common/views/ScrollableChart.java index a762ecf86..8b54b324f 100644 --- a/app/src/main/java/org/isoron/uhabits/activities/common/views/ScrollableChart.java +++ b/app/src/main/java/org/isoron/uhabits/activities/common/views/ScrollableChart.java @@ -21,6 +21,7 @@ package org.isoron.uhabits.activities.common.views; import android.animation.*; import android.content.*; +import android.os.*; import android.util.*; import android.view.*; import android.widget.*; @@ -32,7 +33,9 @@ public abstract class ScrollableChart extends View private int dataOffset; - private int scrollerBucketSize; + private int scrollerBucketSize = 1; + + private int direction = 1; private GestureDetector detector; @@ -40,6 +43,10 @@ public abstract class ScrollableChart extends View private ValueAnimator scrollAnimator; + private ScrollController scrollController; + + private int maxDataOffset = 10000; + public ScrollableChart(Context context) { super(context); @@ -63,8 +70,7 @@ public abstract class ScrollableChart extends View if (!scroller.isFinished()) { scroller.computeScrollOffset(); - dataOffset = Math.max(0, scroller.getCurrX() / scrollerBucketSize); - postInvalidate(); + updateDataOffset(); } else { @@ -85,19 +91,44 @@ public abstract class ScrollableChart extends View float velocityY) { scroller.fling(scroller.getCurrX(), scroller.getCurrY(), - (int) velocityX / 2, 0, 0, 100000, 0, 0); + direction * ((int) velocityX) / 2, 0, 0, getMaxX(), 0, 0); invalidate(); scrollAnimator.setDuration(scroller.getDuration()); scrollAnimator.start(); - return false; } + private int getMaxX() + { + return maxDataOffset * scrollerBucketSize; + } + @Override - public void onLongPress(MotionEvent e) + public void onRestoreInstanceState(Parcelable state) { + BundleSavedState bss = (BundleSavedState) state; + int x = bss.bundle.getInt("x"); + int y = bss.bundle.getInt("y"); + direction = bss.bundle.getInt("direction"); + dataOffset = bss.bundle.getInt("dataOffset"); + maxDataOffset = bss.bundle.getInt("maxDataOffset"); + scroller.startScroll(0, 0, x, y, 0); + scroller.computeScrollOffset(); + super.onRestoreInstanceState(bss.getSuperState()); + } + @Override + public Parcelable onSaveInstanceState() + { + Parcelable superState = super.onSaveInstanceState(); + Bundle bundle = new Bundle(); + bundle.putInt("x", scroller.getCurrX()); + bundle.putInt("y", scroller.getCurrY()); + bundle.putInt("dataOffset", dataOffset); + bundle.putInt("direction", direction); + bundle.putInt("maxDataOffset", maxDataOffset); + return new BundleSavedState(superState, bundle); } @Override @@ -111,12 +142,14 @@ public abstract class ScrollableChart extends View if (parent != null) parent.requestDisallowInterceptTouchEvent(true); } - scroller.startScroll(scroller.getCurrX(), scroller.getCurrY(), - (int) -dx, (int) dy, 0); - scroller.computeScrollOffset(); - dataOffset = Math.max(0, scroller.getCurrX() / scrollerBucketSize); - postInvalidate(); + dx = - direction * dx; + dx = Math.min(dx, getMaxX() - scroller.getCurrX()); + scroller.startScroll(scroller.getCurrX(), scroller.getCurrY(), (int) dx, + (int) dy, 0); + + scroller.computeScrollOffset(); + updateDataOffset(); return true; } @@ -138,6 +171,32 @@ public abstract class ScrollableChart extends View return detector.onTouchEvent(event); } + public void setDirection(int direction) + { + if (direction != 1 && direction != -1) + throw new IllegalArgumentException(); + this.direction = direction; + } + + @Override + public void onLongPress(MotionEvent e) + { + + } + + public void setMaxDataOffset(int maxDataOffset) + { + this.maxDataOffset = maxDataOffset; + this.dataOffset = Math.min(dataOffset, maxDataOffset); + scrollController.onDataOffsetChanged(this.dataOffset); + postInvalidate(); + } + + public void setScrollController(ScrollController scrollController) + { + this.scrollController = scrollController; + } + public void setScrollerBucketSize(int scrollerBucketSize) { this.scrollerBucketSize = scrollerBucketSize; @@ -149,5 +208,25 @@ public abstract class ScrollableChart extends View scroller = new Scroller(context, null, true); scrollAnimator = ValueAnimator.ofFloat(0, 1); scrollAnimator.addUpdateListener(this); + scrollController = new ScrollController() {}; + } + + private void updateDataOffset() + { + int newDataOffset = scroller.getCurrX() / scrollerBucketSize; + newDataOffset = Math.max(0, newDataOffset); + newDataOffset = Math.min(maxDataOffset, newDataOffset); + + if (newDataOffset != dataOffset) + { + dataOffset = newDataOffset; + scrollController.onDataOffsetChanged(dataOffset); + postInvalidate(); + } + } + + public interface ScrollController + { + default void onDataOffsetChanged(int newDataOffset) {} } } diff --git a/app/src/main/java/org/isoron/uhabits/activities/habits/edit/BaseDialog.java b/app/src/main/java/org/isoron/uhabits/activities/habits/edit/BaseDialog.java index 70c0e445f..b4c228876 100644 --- a/app/src/main/java/org/isoron/uhabits/activities/habits/edit/BaseDialog.java +++ b/app/src/main/java/org/isoron/uhabits/activities/habits/edit/BaseDialog.java @@ -28,6 +28,7 @@ import android.view.*; import com.android.datetimepicker.time.*; import org.isoron.uhabits.*; +import org.isoron.uhabits.R; import org.isoron.uhabits.activities.*; import org.isoron.uhabits.activities.common.dialogs.*; import org.isoron.uhabits.commands.*; diff --git a/app/src/main/java/org/isoron/uhabits/activities/habits/edit/BaseDialogHelper.java b/app/src/main/java/org/isoron/uhabits/activities/habits/edit/BaseDialogHelper.java index 78e69c6d4..225b509ff 100644 --- a/app/src/main/java/org/isoron/uhabits/activities/habits/edit/BaseDialogHelper.java +++ b/app/src/main/java/org/isoron/uhabits/activities/habits/edit/BaseDialogHelper.java @@ -24,7 +24,7 @@ import android.support.v4.app.*; import android.view.*; import android.widget.*; -import org.isoron.uhabits.*; +import org.isoron.uhabits.R; import org.isoron.uhabits.models.*; import org.isoron.uhabits.utils.*; diff --git a/app/src/main/java/org/isoron/uhabits/activities/habits/list/ListHabitsActivity.java b/app/src/main/java/org/isoron/uhabits/activities/habits/list/ListHabitsActivity.java index d5529c2a1..deb1b3649 100644 --- a/app/src/main/java/org/isoron/uhabits/activities/habits/list/ListHabitsActivity.java +++ b/app/src/main/java/org/isoron/uhabits/activities/habits/list/ListHabitsActivity.java @@ -25,6 +25,7 @@ import org.isoron.uhabits.*; import org.isoron.uhabits.activities.*; import org.isoron.uhabits.activities.habits.list.model.*; import org.isoron.uhabits.preferences.*; +import org.isoron.uhabits.utils.*; /** * Activity that allows the user to see and modify the list of habits. @@ -43,6 +44,8 @@ public class ListHabitsActivity extends BaseActivity private Preferences prefs; + private MidnightTimer midnightTimer; + public ListHabitsComponent getListHabitsComponent() { return component; @@ -77,6 +80,8 @@ public class ListHabitsActivity extends BaseActivity screen.setSelectionMenu(selectionMenu); rootView.setController(controller, selectionMenu); + midnightTimer = component.getMidnightTimer(); + setScreen(screen); controller.onStartup(); } @@ -84,6 +89,7 @@ public class ListHabitsActivity extends BaseActivity @Override protected void onPause() { + midnightTimer.onPause(); screen.onDettached(); adapter.cancelRefresh(); super.onPause(); @@ -95,6 +101,7 @@ public class ListHabitsActivity extends BaseActivity adapter.refresh(); screen.onAttached(); rootView.postInvalidate(); + midnightTimer.onResume(); if (prefs.getTheme() == ThemeSwitcher.THEME_DARK && prefs.isPureBlackEnabled() != pureBlack) diff --git a/app/src/main/java/org/isoron/uhabits/activities/habits/list/ListHabitsComponent.java b/app/src/main/java/org/isoron/uhabits/activities/habits/list/ListHabitsComponent.java index 658d6c573..554c22a3b 100644 --- a/app/src/main/java/org/isoron/uhabits/activities/habits/list/ListHabitsComponent.java +++ b/app/src/main/java/org/isoron/uhabits/activities/habits/list/ListHabitsComponent.java @@ -23,13 +23,14 @@ import org.isoron.uhabits.*; import org.isoron.uhabits.activities.*; import org.isoron.uhabits.activities.habits.list.controllers.*; import org.isoron.uhabits.activities.habits.list.model.*; +import org.isoron.uhabits.utils.*; import dagger.*; @ActivityScope @Component(modules = { ActivityModule.class }, dependencies = { AppComponent.class }) -public interface ListHabitsComponent extends ActivityComponent +public interface ListHabitsComponent { CheckmarkButtonControllerFactory getCheckmarkButtonControllerFactory(); @@ -44,4 +45,6 @@ public interface ListHabitsComponent extends ActivityComponent ListHabitsScreen getScreen(); ListHabitsSelectionMenu getSelectionMenu(); + + MidnightTimer getMidnightTimer(); } diff --git a/app/src/main/java/org/isoron/uhabits/activities/habits/list/ListHabitsController.java b/app/src/main/java/org/isoron/uhabits/activities/habits/list/ListHabitsController.java index af89c14ff..a52c4b4d6 100644 --- a/app/src/main/java/org/isoron/uhabits/activities/habits/list/ListHabitsController.java +++ b/app/src/main/java/org/isoron/uhabits/activities/habits/list/ListHabitsController.java @@ -41,6 +41,7 @@ import javax.inject.*; public class ListHabitsController implements HabitCardListController.HabitListener { + @NonNull private final ListHabitsScreen screen; @@ -70,6 +71,8 @@ public class ListHabitsController private ExportCSVTaskFactory exportCSVFactory; + private ExportDBTaskFactory exportDBFactory; + @Inject public ListHabitsController(@NonNull BaseSystem system, @NonNull CommandRunner commandRunner, @@ -82,7 +85,8 @@ public class ListHabitsController @NonNull WidgetUpdater widgetUpdater, @NonNull ImportDataTaskFactory importTaskFactory, - @NonNull ExportCSVTaskFactory exportCSVFactory) + @NonNull ExportCSVTaskFactory exportCSVFactory, + @NonNull ExportDBTaskFactory exportDBFactory) { this.adapter = adapter; this.commandRunner = commandRunner; @@ -95,6 +99,7 @@ public class ListHabitsController this.widgetUpdater = widgetUpdater; this.importTaskFactory = importTaskFactory; this.exportCSVFactory = exportCSVFactory; + this.exportDBFactory = exportDBFactory; } public void onExportCSV() @@ -110,7 +115,7 @@ public class ListHabitsController public void onExportDB() { - taskRunner.execute(new ExportDBTask(filename -> { + taskRunner.execute(exportDBFactory.create(filename -> { if (filename != null) screen.showSendFileScreen(filename); else screen.showMessage(R.string.could_not_export); })); @@ -128,7 +133,8 @@ public class ListHabitsController taskRunner.execute(() -> habitList.reorder(from, to)); } - public void onImportData(@NonNull File file) + public void onImportData(@NonNull File file, + @NonNull OnFinishedListener finishedListener) { taskRunner.execute(importTaskFactory.create(file, result -> { switch (result) @@ -146,6 +152,8 @@ public class ListHabitsController screen.showMessage(R.string.could_not_import); break; } + + finishedListener.onFinish(); })); } @@ -208,4 +216,9 @@ public class ListHabitsController prefs.updateLastHint(-1, DateUtils.getStartOfToday()); screen.showIntroScreen(); } + + public interface OnFinishedListener + { + void onFinish(); + } } diff --git a/app/src/main/java/org/isoron/uhabits/activities/habits/list/ListHabitsMenu.java b/app/src/main/java/org/isoron/uhabits/activities/habits/list/ListHabitsMenu.java index dc8fe057d..aa3826c4c 100644 --- a/app/src/main/java/org/isoron/uhabits/activities/habits/list/ListHabitsMenu.java +++ b/app/src/main/java/org/isoron/uhabits/activities/habits/list/ListHabitsMenu.java @@ -112,6 +112,22 @@ public class ListHabitsMenu extends BaseMenu invalidate(); return true; + case R.id.actionSortColor: + adapter.setOrder(HabitList.Order.BY_COLOR); + return true; + + case R.id.actionSortManual: + adapter.setOrder(HabitList.Order.BY_POSITION); + return true; + + case R.id.actionSortName: + adapter.setOrder(HabitList.Order.BY_NAME); + return true; + + case R.id.actionSortScore: + adapter.setOrder(HabitList.Order.BY_SCORE); + return true; + default: return false; } diff --git a/app/src/main/java/org/isoron/uhabits/activities/habits/list/ListHabitsRootView.java b/app/src/main/java/org/isoron/uhabits/activities/habits/list/ListHabitsRootView.java index 7d1bb3568..7a716c9cd 100644 --- a/app/src/main/java/org/isoron/uhabits/activities/habits/list/ListHabitsRootView.java +++ b/app/src/main/java/org/isoron/uhabits/activities/habits/list/ListHabitsRootView.java @@ -26,8 +26,9 @@ import android.support.v7.widget.Toolbar; import android.view.*; import android.widget.*; -import org.isoron.uhabits.*; +import org.isoron.uhabits.R; import org.isoron.uhabits.activities.*; +import org.isoron.uhabits.activities.common.views.*; import org.isoron.uhabits.activities.habits.list.controllers.*; import org.isoron.uhabits.activities.habits.list.model.*; import org.isoron.uhabits.activities.habits.list.views.*; @@ -43,7 +44,7 @@ import butterknife.*; public class ListHabitsRootView extends BaseRootView implements ModelObservable.Listener, TaskRunner.Listener { - public static final int MAX_CHECKMARK_COUNT = 21; + public static final int MAX_CHECKMARK_COUNT = 60; @BindView(R.id.listView) HabitCardListView listView; @@ -132,6 +133,13 @@ public class ListHabitsRootView extends BaseRootView listController.setSelectionListener(menu); listView.setController(listController); menu.setListController(listController); + header.setScrollController(new ScrollableChart.ScrollController() { + @Override + public void onDataOffsetChanged(int newDataOffset) + { + listView.setDataOffset(newDataOffset); + } + }); } @Override @@ -156,6 +164,7 @@ public class ListHabitsRootView extends BaseRootView { int count = getCheckmarkCount(); header.setButtonCount(count); + header.setMaxDataOffset(Math.max(MAX_CHECKMARK_COUNT - count, 0)); listView.setCheckmarkCount(count); super.onSizeChanged(w, h, oldw, oldh); } diff --git a/app/src/main/java/org/isoron/uhabits/activities/habits/list/ListHabitsScreen.java b/app/src/main/java/org/isoron/uhabits/activities/habits/list/ListHabitsScreen.java index 3fb92e817..045505a90 100644 --- a/app/src/main/java/org/isoron/uhabits/activities/habits/list/ListHabitsScreen.java +++ b/app/src/main/java/org/isoron/uhabits/activities/habits/list/ListHabitsScreen.java @@ -19,7 +19,9 @@ package org.isoron.uhabits.activities.habits.list; +import android.app.*; import android.content.*; +import android.net.*; import android.support.annotation.*; import org.isoron.uhabits.*; @@ -31,24 +33,32 @@ import org.isoron.uhabits.commands.*; import org.isoron.uhabits.intents.*; import org.isoron.uhabits.io.*; import org.isoron.uhabits.models.*; +import org.isoron.uhabits.utils.*; import java.io.*; import javax.inject.*; +import static android.os.Build.VERSION.*; +import static android.os.Build.VERSION_CODES.*; + @ActivityScope public class ListHabitsScreen extends BaseScreen implements CommandRunner.Listener { - public static final int RESULT_BUG_REPORT = 4; + public static final int RESULT_IMPORT_DATA = 1; public static final int RESULT_EXPORT_CSV = 2; public static final int RESULT_EXPORT_DB = 3; + public static final int RESULT_BUG_REPORT = 4; + public static final int RESULT_REPAIR_DB = 5; - public static final int RESULT_IMPORT_DATA = 1; + public static final int REQUEST_OPEN_DOCUMENT = 6; + + public static final int REQUEST_SETTINGS = 7; @Nullable private ListHabitsController controller; @@ -125,6 +135,15 @@ public class ListHabitsScreen extends BaseScreen @Override public void onResult(int requestCode, int resultCode, Intent data) + { + if (requestCode == REQUEST_OPEN_DOCUMENT) + onOpenDocumentResult(resultCode, data); + + if (requestCode == REQUEST_SETTINGS) + onSettingsResult(resultCode); + } + + private void onSettingsResult(int resultCode) { if (controller == null) return; @@ -152,6 +171,30 @@ public class ListHabitsScreen extends BaseScreen } } + private void onOpenDocumentResult(int resultCode, Intent data) + { + if (controller == null) return; + if (resultCode != Activity.RESULT_OK) return; + + try + { + Uri uri = data.getData(); + ContentResolver cr = activity.getContentResolver(); + InputStream is = cr.openInputStream(uri); + + File cacheDir = activity.getExternalCacheDir(); + File tempFile = File.createTempFile("import", "", cacheDir); + + FileUtils.copy(is, tempFile); + controller.onImportData(tempFile, () -> tempFile.delete()); + } + catch (IOException e) + { + showMessage(R.string.could_not_import); + e.printStackTrace(); + } + } + public void setController(@Nullable ListHabitsController controller) { this.controller = controller; @@ -208,6 +251,21 @@ public class ListHabitsScreen extends BaseScreen } public void showImportScreen() + { + if (SDK_INT < KITKAT) + { + showImportScreenPreKitKat(); + return; + } + + Intent intent = new Intent(Intent.ACTION_OPEN_DOCUMENT); + intent.addCategory(Intent.CATEGORY_OPENABLE); + intent.setType("*/*"); + + activity.startActivityForResult(intent, REQUEST_OPEN_DOCUMENT); + } + + public void showImportScreenPreKitKat() { File dir = dirFinder.findStorageDir(null); @@ -220,7 +278,8 @@ public class ListHabitsScreen extends BaseScreen FilePickerDialog picker = filePickerDialogFactory.create(dir); if (controller != null) - picker.setListener(file -> controller.onImportData(file)); + picker.setListener(file -> controller.onImportData(file, () -> {})); + activity.showDialog(picker.getDialog()); } @@ -233,7 +292,7 @@ public class ListHabitsScreen extends BaseScreen public void showSettingsScreen() { Intent intent = intentFactory.startSettingsActivity(activity); - activity.startActivityForResult(intent, 0); + activity.startActivityForResult(intent, REQUEST_SETTINGS); } public void toggleNightMode() diff --git a/app/src/main/java/org/isoron/uhabits/activities/habits/list/model/HabitCardListAdapter.java b/app/src/main/java/org/isoron/uhabits/activities/habits/list/model/HabitCardListAdapter.java index 71480dee6..1245668a0 100644 --- a/app/src/main/java/org/isoron/uhabits/activities/habits/list/model/HabitCardListAdapter.java +++ b/app/src/main/java/org/isoron/uhabits/activities/habits/list/model/HabitCardListAdapter.java @@ -27,6 +27,8 @@ import org.isoron.uhabits.activities.*; import org.isoron.uhabits.activities.habits.list.*; import org.isoron.uhabits.activities.habits.list.views.*; import org.isoron.uhabits.models.*; +import org.isoron.uhabits.preferences.*; +import org.isoron.uhabits.utils.*; import java.util.*; @@ -41,7 +43,7 @@ import javax.inject.*; @ActivityScope public class HabitCardListAdapter extends RecyclerView.Adapter - implements HabitCardListCache.Listener + implements HabitCardListCache.Listener, MidnightTimer.MidnightListener { @NonNull private ModelObservable observable; @@ -55,19 +57,36 @@ public class HabitCardListAdapter @NonNull private final HabitCardListCache cache; + @NonNull + private Preferences preferences; + + private final MidnightTimer midnightTimer; + @Inject - public HabitCardListAdapter(@NonNull HabitCardListCache cache) + public HabitCardListAdapter(@NonNull HabitCardListCache cache, + @NonNull Preferences preferences, + @NonNull MidnightTimer midnightTimer) { + this.preferences = preferences; this.selected = new LinkedList<>(); this.observable = new ModelObservable(); this.cache = cache; + this.midnightTimer = midnightTimer; + cache.setListener(this); cache.setCheckmarkCount(ListHabitsRootView.MAX_CHECKMARK_COUNT); + cache.setOrder(preferences.getDefaultOrder()); setHasStableIds(true); } + @Override + public void atMidnight() + { + cache.refreshAllHabits(); + } + public void cancelRefresh() { cache.cancelTasks(); @@ -130,12 +149,18 @@ public class HabitCardListAdapter return selected.isEmpty(); } + public boolean isSortable() + { + return cache.getOrder() == HabitList.Order.BY_POSITION; + } + /** * Notify the adapter that it has been attached to a ListView. */ public void onAttached() { cache.onAttached(); + midnightTimer.addListener(this); } @Override @@ -153,6 +178,20 @@ public class HabitCardListAdapter listView.bindCardView(holder, habit, score, checkmarks, selected); } + @Override + public void onViewAttachedToWindow(@Nullable HabitCardViewHolder holder) + { + if (listView == null) return; + listView.attachCardView(holder); + } + + @Override + public void onViewDetachedFromWindow(@Nullable HabitCardViewHolder holder) + { + if (listView == null) return; + listView.detachCardView(holder); + } + @Override public HabitCardViewHolder onCreateViewHolder(ViewGroup parent, int viewType) @@ -168,6 +207,7 @@ public class HabitCardListAdapter public void onDetached() { cache.onDetached(); + midnightTimer.removeListener(this); } @Override @@ -260,6 +300,12 @@ public class HabitCardListAdapter this.listView = listView; } + public void setOrder(HabitList.Order order) + { + cache.setOrder(order); + preferences.setDefaultOrder(order); + } + /** * Selects or deselects the item at a given position. * diff --git a/app/src/main/java/org/isoron/uhabits/activities/habits/list/model/HabitCardListCache.java b/app/src/main/java/org/isoron/uhabits/activities/habits/list/model/HabitCardListCache.java index 56356ec3f..fbb4e51a6 100644 --- a/app/src/main/java/org/isoron/uhabits/activities/habits/list/model/HabitCardListCache.java +++ b/app/src/main/java/org/isoron/uhabits/activities/habits/list/model/HabitCardListCache.java @@ -107,6 +107,11 @@ public class HabitCardListCache implements CommandRunner.Listener return data.habits.size(); } + public HabitList.Order getOrder() + { + return filteredHabits.getOrder(); + } + public int getScore(long habitId) { return data.scores.get(habitId); @@ -180,6 +185,13 @@ public class HabitCardListCache implements CommandRunner.Listener this.listener = listener; } + public void setOrder(HabitList.Order order) + { + allHabits.setOrder(order); + filteredHabits.setOrder(order); + refreshAllHabits(); + } + /** * Interface definition for a callback to be invoked when the data on the * cache has been modified. diff --git a/app/src/main/java/org/isoron/uhabits/activities/habits/list/views/CheckmarkButtonView.java b/app/src/main/java/org/isoron/uhabits/activities/habits/list/views/CheckmarkButtonView.java index 1e1f98a38..97d0c9fca 100644 --- a/app/src/main/java/org/isoron/uhabits/activities/habits/list/views/CheckmarkButtonView.java +++ b/app/src/main/java/org/isoron/uhabits/activities/habits/list/views/CheckmarkButtonView.java @@ -74,7 +74,6 @@ public class CheckmarkButtonView extends TextView res = new StyledResources(getContext()); setWillNotDraw(false); - setHapticFeedbackEnabled(false); setMinHeight( getResources().getDimensionPixelSize(R.dimen.checkmarkHeight)); diff --git a/app/src/main/java/org/isoron/uhabits/activities/habits/list/views/CheckmarkPanelView.java b/app/src/main/java/org/isoron/uhabits/activities/habits/list/views/CheckmarkPanelView.java index e5b47800c..b569f9208 100644 --- a/app/src/main/java/org/isoron/uhabits/activities/habits/list/views/CheckmarkPanelView.java +++ b/app/src/main/java/org/isoron/uhabits/activities/habits/list/views/CheckmarkPanelView.java @@ -53,6 +53,8 @@ public class CheckmarkPanelView extends LinearLayout implements Preferences.List @NonNull private Habit habit; + private int dataOffset; + public CheckmarkPanelView(Context context) { super(context); @@ -75,19 +77,23 @@ public class CheckmarkPanelView extends LinearLayout implements Preferences.List return (CheckmarkButtonView) getChildAt(position); } - public void setCheckmarkValues(int[] checkmarkValues) + public void setButtonCount(int newButtonCount) { - this.checkmarkValues = checkmarkValues; - - if (this.nButtons != checkmarkValues.length) + if(nButtons != newButtonCount) { - this.nButtons = checkmarkValues.length; + nButtons = newButtonCount; addCheckmarkButtons(); } setupCheckmarkButtons(); } + public void setCheckmarkValues(int[] checkmarkValues) + { + this.checkmarkValues = checkmarkValues; + setupCheckmarkButtons(); + } + public void setColor(int color) { this.color = color; @@ -100,6 +106,12 @@ public class CheckmarkPanelView extends LinearLayout implements Preferences.List setupCheckmarkButtons(); } + public void setDataOffset(int dataOffset) + { + this.dataOffset = dataOffset; + setupCheckmarkButtons(); + } + public void setHabit(@NonNull Habit habit) { this.habit = habit; @@ -170,11 +182,13 @@ public class CheckmarkPanelView extends LinearLayout implements Preferences.List { long timestamp = DateUtils.getStartOfToday(); long day = DateUtils.millisecondsInOneDay; + timestamp -= day * dataOffset; for (int i = 0; i < nButtons; i++) { CheckmarkButtonView buttonView = indexToButton(i); - buttonView.setValue(checkmarkValues[i]); + if(i + dataOffset >= checkmarkValues.length) break; + buttonView.setValue(checkmarkValues[i + dataOffset]); buttonView.setColor(color); setupButtonControllers(timestamp, buttonView); timestamp -= day; diff --git a/app/src/main/java/org/isoron/uhabits/activities/habits/list/views/HabitCardListView.java b/app/src/main/java/org/isoron/uhabits/activities/habits/list/views/HabitCardListView.java index b193da2c9..bc784465e 100644 --- a/app/src/main/java/org/isoron/uhabits/activities/habits/list/views/HabitCardListView.java +++ b/app/src/main/java/org/isoron/uhabits/activities/habits/list/views/HabitCardListView.java @@ -20,15 +20,17 @@ package org.isoron.uhabits.activities.habits.list.views; import android.content.*; +import android.os.*; import android.support.annotation.*; import android.support.v7.widget.*; import android.support.v7.widget.helper.*; import android.util.*; import android.view.*; -import org.isoron.uhabits.models.*; +import org.isoron.uhabits.activities.common.views.*; import org.isoron.uhabits.activities.habits.list.controllers.*; import org.isoron.uhabits.activities.habits.list.model.*; +import org.isoron.uhabits.models.*; import java.util.*; @@ -44,6 +46,10 @@ public class HabitCardListView extends RecyclerView private int checkmarkCount; + private int dataOffset; + + private LinkedList attachedHolders; + public HabitCardListView(Context context, AttributeSet attrs) { super(context, attrs); @@ -54,6 +60,13 @@ public class HabitCardListView extends RecyclerView TouchHelperCallback callback = new TouchHelperCallback(); touchHelper = new ItemTouchHelper(callback); touchHelper.attachToRecyclerView(this); + + attachedHolders = new LinkedList<>(); + } + + public void attachCardView(HabitCardViewHolder holder) + { + attachedHolders.add(holder); } /** @@ -75,13 +88,12 @@ public class HabitCardListView extends RecyclerView int[] checkmarks, boolean selected) { - int visibleCheckmarks[] = - Arrays.copyOfRange(checkmarks, 0, checkmarkCount); - HabitCardView cardView = (HabitCardView) holder.itemView; cardView.setHabit(habit); cardView.setSelected(selected); - cardView.setCheckmarkValues(visibleCheckmarks); + cardView.setCheckmarkValues(checkmarks); + cardView.setCheckmarkCount(checkmarkCount); + cardView.setDataOffset(dataOffset); cardView.setScore(score); if (controller != null) setupCardViewController(holder); return cardView; @@ -92,6 +104,11 @@ public class HabitCardListView extends RecyclerView return new HabitCardView(getContext()); } + public void detachCardView(HabitCardViewHolder holder) + { + attachedHolders.remove(holder); + } + @Override public void setAdapter(RecyclerView.Adapter adapter) { @@ -109,6 +126,16 @@ public class HabitCardListView extends RecyclerView this.controller = controller; } + public void setDataOffset(int dataOffset) + { + this.dataOffset = dataOffset; + for (HabitCardViewHolder holder : attachedHolders) + { + HabitCardView cardView = (HabitCardView) holder.itemView; + cardView.setDataOffset(dataOffset); + } + } + @Override protected void onAttachedToWindow() { @@ -123,6 +150,23 @@ public class HabitCardListView extends RecyclerView super.onDetachedFromWindow(); } + @Override + protected void onRestoreInstanceState(Parcelable state) + { + BundleSavedState bss = (BundleSavedState) state; + dataOffset = bss.bundle.getInt("dataOffset"); + super.onRestoreInstanceState(bss.getSuperState()); + } + + @Override + protected Parcelable onSaveInstanceState() + { + Parcelable superState = super.onSaveInstanceState(); + Bundle bundle = new Bundle(); + bundle.putInt("dataOffset", dataOffset); + return new BundleSavedState(superState, bundle); + } + protected void setupCardViewController(@NonNull HabitCardViewHolder holder) { HabitCardView cardView = (HabitCardView) holder.itemView; @@ -168,7 +212,7 @@ public class HabitCardListView extends RecyclerView { int position = holder.getAdapterPosition(); if (controller != null) controller.onItemLongClick(position); - touchHelper.startDrag(holder); + if (adapter.isSortable()) touchHelper.startDrag(holder); } @Override diff --git a/app/src/main/java/org/isoron/uhabits/activities/habits/list/views/HabitCardView.java b/app/src/main/java/org/isoron/uhabits/activities/habits/list/views/HabitCardView.java index abcebb79f..d57e0a71c 100644 --- a/app/src/main/java/org/isoron/uhabits/activities/habits/list/views/HabitCardView.java +++ b/app/src/main/java/org/isoron/uhabits/activities/habits/list/views/HabitCardView.java @@ -27,7 +27,7 @@ import android.support.annotation.*; import android.util.*; import android.widget.*; -import org.isoron.uhabits.*; +import org.isoron.uhabits.R; import org.isoron.uhabits.activities.common.views.*; import org.isoron.uhabits.models.*; import org.isoron.uhabits.utils.*; @@ -72,6 +72,8 @@ public class HabitCardView extends FrameLayout @Nullable private Habit habit; + private int dataOffset; + public HabitCardView(Context context) { super(context); @@ -90,6 +92,11 @@ public class HabitCardView extends FrameLayout new Handler(Looper.getMainLooper()).post(() -> refresh()); } + public void setCheckmarkCount(int checkmarkCount) + { + checkmarkPanel.setButtonCount(checkmarkCount); + } + public void setCheckmarkValues(int checkmarks[]) { checkmarkPanel.setCheckmarkValues(checkmarks); @@ -103,6 +110,12 @@ public class HabitCardView extends FrameLayout checkmarkPanel.setController(controller); } + public void setDataOffset(int dataOffset) + { + this.dataOffset = dataOffset; + checkmarkPanel.setDataOffset(dataOffset); + } + public void setHabit(@NonNull Habit habit) { if (this.habit != null) detachFromHabit(); @@ -134,7 +147,7 @@ public class HabitCardView extends FrameLayout { long today = DateUtils.getStartOfToday(); long day = DateUtils.millisecondsInOneDay; - int offset = (int) ((today - timestamp) / day); + int offset = (int) ((today - timestamp) / day) - dataOffset; CheckmarkButtonView button = checkmarkPanel.indexToButton(offset); float y = button.getHeight() / 2.0f; diff --git a/app/src/main/java/org/isoron/uhabits/activities/habits/list/views/HeaderView.java b/app/src/main/java/org/isoron/uhabits/activities/habits/list/views/HeaderView.java index 70ed6ec91..e4863cd54 100644 --- a/app/src/main/java/org/isoron/uhabits/activities/habits/list/views/HeaderView.java +++ b/app/src/main/java/org/isoron/uhabits/activities/habits/list/views/HeaderView.java @@ -20,30 +20,41 @@ package org.isoron.uhabits.activities.habits.list.views; import android.content.*; +import android.content.res.*; +import android.graphics.*; import android.support.annotation.*; +import android.text.*; import android.util.*; -import android.view.*; -import android.widget.*; import org.isoron.uhabits.*; +import org.isoron.uhabits.activities.common.views.*; +import org.isoron.uhabits.activities.habits.list.*; import org.isoron.uhabits.preferences.*; import org.isoron.uhabits.utils.*; import java.util.*; -public class HeaderView extends LinearLayout implements Preferences.Listener +public class HeaderView extends ScrollableChart + implements Preferences.Listener, MidnightTimer.MidnightListener { - private final Context context; private int buttonCount; @Nullable private Preferences prefs; + @Nullable + private MidnightTimer midnightTimer; + + private final TextPaint paint; + + private RectF rect; + + private int maxDataOffset; + public HeaderView(Context context, AttributeSet attrs) { super(context, attrs); - this.context = context; if (isInEditMode()) { @@ -56,18 +67,46 @@ public class HeaderView extends LinearLayout implements Preferences.Listener HabitsApplication app = (HabitsApplication) appContext; prefs = app.getComponent().getPreferences(); } + + if (context instanceof ListHabitsActivity) + { + ListHabitsActivity activity = (ListHabitsActivity) context; + midnightTimer = activity.getListHabitsComponent().getMidnightTimer(); + } + + Resources res = context.getResources(); + setScrollerBucketSize((int) res.getDimension(R.dimen.checkmarkWidth)); + setDirection(shouldReverseCheckmarks() ? 1 : -1); + + StyledResources sr = new StyledResources(context); + paint = new TextPaint(); + paint.setColor(Color.BLACK); + paint.setAntiAlias(true); + paint.setTextSize(getResources().getDimension(R.dimen.tinyTextSize)); + paint.setTextAlign(Paint.Align.CENTER); + paint.setTypeface(Typeface.DEFAULT_BOLD); + paint.setColor(sr.getColor(R.attr.mediumContrastTextColor)); + + rect = new RectF(); + } + + @Override + public void atMidnight() + { + post(() -> invalidate()); } @Override public void onCheckmarkOrderChanged() { - createButtons(); + setDirection(shouldReverseCheckmarks() ? 1 : -1); + postInvalidate(); } public void setButtonCount(int buttonCount) { this.buttonCount = buttonCount; - createButtons(); + postInvalidate(); } @Override @@ -75,32 +114,56 @@ public class HeaderView extends LinearLayout implements Preferences.Listener { super.onAttachedToWindow(); if (prefs != null) prefs.addListener(this); + if (midnightTimer != null) midnightTimer.addListener(this); } @Override protected void onDetachedFromWindow() { + if (midnightTimer != null) midnightTimer.removeListener(this); if (prefs != null) prefs.removeListener(this); super.onDetachedFromWindow(); } - private void createButtons() + @Override + protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) + { + int width = MeasureSpec.getSize(widthMeasureSpec); + int height = (int) getContext() + .getResources() + .getDimension(R.dimen.checkmarkHeight); + setMeasuredDimension(width, height); + } + + @Override + protected void onDraw(Canvas canvas) { - removeAllViews(); + super.onDraw(canvas); + GregorianCalendar day = DateUtils.getStartOfTodayCalendar(); + Resources res = getContext().getResources(); + float width = res.getDimension(R.dimen.checkmarkWidth); + float height = res.getDimension(R.dimen.checkmarkHeight); + boolean reverse = shouldReverseCheckmarks(); - for (int i = 0; i < buttonCount; i++) - addView( - inflate(context, R.layout.list_habits_header_checkmark, null)); + day.add(GregorianCalendar.DAY_OF_MONTH, -getDataOffset()); + float em = paint.measureText("m"); - for (int i = 0; i < getChildCount(); i++) + for (int i = 0; i < buttonCount; i++) { - int position = i; - if (shouldReverseCheckmarks()) position = getChildCount() - i - 1; + rect.set(0, 0, width, height); + rect.offset(canvas.getWidth(), 0); + if(reverse) rect.offset(- (i + 1) * width, 0); + else rect.offset((i - buttonCount) * width, 0); + + String text = DateUtils.formatHeaderDate(day).toUpperCase(); + String[] lines = text.split("\n"); + + int y1 = (int)(rect.centerY() - 0.25 * em); + int y2 = (int)(rect.centerY() + 1.25 * em); - View button = getChildAt(position); - TextView label = (TextView) button.findViewById(R.id.tvCheck); - label.setText(DateUtils.formatHeaderDate(day)); + canvas.drawText(lines[0], rect.centerX(), y1, paint); + canvas.drawText(lines[1], rect.centerX(), y2, paint); day.add(GregorianCalendar.DAY_OF_MONTH, -1); } } diff --git a/app/src/main/java/org/isoron/uhabits/activities/habits/show/ShowHabitRootView.java b/app/src/main/java/org/isoron/uhabits/activities/habits/show/ShowHabitRootView.java index ffeb3ee42..a62056bb8 100644 --- a/app/src/main/java/org/isoron/uhabits/activities/habits/show/ShowHabitRootView.java +++ b/app/src/main/java/org/isoron/uhabits/activities/habits/show/ShowHabitRootView.java @@ -24,7 +24,7 @@ import android.os.*; import android.support.annotation.*; import android.support.v7.widget.*; -import org.isoron.uhabits.*; +import org.isoron.uhabits.R; import org.isoron.uhabits.activities.*; import org.isoron.uhabits.activities.habits.show.views.*; import org.isoron.uhabits.models.*; diff --git a/app/src/main/java/org/isoron/uhabits/activities/habits/show/ShowHabitsMenu.java b/app/src/main/java/org/isoron/uhabits/activities/habits/show/ShowHabitsMenu.java index 92e5af582..03f688a06 100644 --- a/app/src/main/java/org/isoron/uhabits/activities/habits/show/ShowHabitsMenu.java +++ b/app/src/main/java/org/isoron/uhabits/activities/habits/show/ShowHabitsMenu.java @@ -24,6 +24,10 @@ import android.view.*; import org.isoron.uhabits.*; import org.isoron.uhabits.activities.*; +import org.isoron.uhabits.models.*; +import org.isoron.uhabits.tasks.*; + +import java.util.*; import javax.inject.*; @@ -33,12 +37,38 @@ public class ShowHabitsMenu extends BaseMenu @NonNull private final ShowHabitScreen screen; + @NonNull + private final Habit habit; + + @NonNull + private final TaskRunner taskRunner; + + @NonNull + private ExportCSVTaskFactory exportCSVFactory; + @Inject public ShowHabitsMenu(@NonNull BaseActivity activity, - @NonNull ShowHabitScreen screen) + @NonNull ShowHabitScreen screen, + @NonNull Habit habit, + @NonNull ExportCSVTaskFactory exportCSVFactory, + @NonNull TaskRunner taskRunner) { super(activity); this.screen = screen; + this.habit = habit; + this.taskRunner = taskRunner; + this.exportCSVFactory = exportCSVFactory; + } + + public void exportHabit() + { + List selected = new LinkedList<>(); + selected.add(habit); + ExportCSVTask task = exportCSVFactory.create(selected, filename -> { + if (filename != null) screen.showSendFileScreen(filename); + else screen.showMessage(R.string.could_not_export); + }); + taskRunner.execute(task); } @Override @@ -50,6 +80,10 @@ public class ShowHabitsMenu extends BaseMenu screen.showEditHabitDialog(); return true; + case R.id.export: + this.exportHabit(); + return true; + default: return false; } diff --git a/app/src/main/java/org/isoron/uhabits/activities/habits/show/views/FrequencyCard.java b/app/src/main/java/org/isoron/uhabits/activities/habits/show/views/FrequencyCard.java index f9438efe3..d9b6c2786 100644 --- a/app/src/main/java/org/isoron/uhabits/activities/habits/show/views/FrequencyCard.java +++ b/app/src/main/java/org/isoron/uhabits/activities/habits/show/views/FrequencyCard.java @@ -25,6 +25,7 @@ import android.util.*; import android.widget.*; import org.isoron.uhabits.*; +import org.isoron.uhabits.R; import org.isoron.uhabits.activities.common.views.*; import org.isoron.uhabits.models.*; import org.isoron.uhabits.tasks.*; diff --git a/app/src/main/java/org/isoron/uhabits/activities/habits/show/views/HistoryCard.java b/app/src/main/java/org/isoron/uhabits/activities/habits/show/views/HistoryCard.java index 4e060b990..e2d9e6a4a 100644 --- a/app/src/main/java/org/isoron/uhabits/activities/habits/show/views/HistoryCard.java +++ b/app/src/main/java/org/isoron/uhabits/activities/habits/show/views/HistoryCard.java @@ -25,6 +25,7 @@ import android.util.*; import android.widget.*; import org.isoron.uhabits.*; +import org.isoron.uhabits.R; import org.isoron.uhabits.activities.common.views.*; import org.isoron.uhabits.models.*; import org.isoron.uhabits.tasks.*; diff --git a/app/src/main/java/org/isoron/uhabits/activities/habits/show/views/OverviewCard.java b/app/src/main/java/org/isoron/uhabits/activities/habits/show/views/OverviewCard.java index 24eebec29..db423054b 100644 --- a/app/src/main/java/org/isoron/uhabits/activities/habits/show/views/OverviewCard.java +++ b/app/src/main/java/org/isoron/uhabits/activities/habits/show/views/OverviewCard.java @@ -25,6 +25,7 @@ import android.util.*; import android.widget.*; import org.isoron.uhabits.*; +import org.isoron.uhabits.R; import org.isoron.uhabits.activities.common.views.*; import org.isoron.uhabits.models.*; import org.isoron.uhabits.tasks.*; diff --git a/app/src/main/java/org/isoron/uhabits/activities/habits/show/views/ScoreCard.java b/app/src/main/java/org/isoron/uhabits/activities/habits/show/views/ScoreCard.java index f228c00dd..cbb278310 100644 --- a/app/src/main/java/org/isoron/uhabits/activities/habits/show/views/ScoreCard.java +++ b/app/src/main/java/org/isoron/uhabits/activities/habits/show/views/ScoreCard.java @@ -25,6 +25,7 @@ import android.util.*; import android.widget.*; import org.isoron.uhabits.*; +import org.isoron.uhabits.R; import org.isoron.uhabits.activities.common.views.*; import org.isoron.uhabits.models.*; import org.isoron.uhabits.preferences.*; diff --git a/app/src/main/java/org/isoron/uhabits/activities/habits/show/views/StreakCard.java b/app/src/main/java/org/isoron/uhabits/activities/habits/show/views/StreakCard.java index 3389217fb..d1607e973 100644 --- a/app/src/main/java/org/isoron/uhabits/activities/habits/show/views/StreakCard.java +++ b/app/src/main/java/org/isoron/uhabits/activities/habits/show/views/StreakCard.java @@ -25,6 +25,7 @@ import android.util.*; import android.widget.*; import org.isoron.uhabits.*; +import org.isoron.uhabits.R; import org.isoron.uhabits.activities.common.views.*; import org.isoron.uhabits.models.*; import org.isoron.uhabits.tasks.*; diff --git a/app/src/main/java/org/isoron/uhabits/activities/habits/show/views/SubtitleCard.java b/app/src/main/java/org/isoron/uhabits/activities/habits/show/views/SubtitleCard.java index 4d033473e..52a1fe9ad 100644 --- a/app/src/main/java/org/isoron/uhabits/activities/habits/show/views/SubtitleCard.java +++ b/app/src/main/java/org/isoron/uhabits/activities/habits/show/views/SubtitleCard.java @@ -25,7 +25,7 @@ import android.content.res.*; import android.util.*; import android.widget.*; -import org.isoron.uhabits.*; +import org.isoron.uhabits.R; import org.isoron.uhabits.models.*; import org.isoron.uhabits.utils.*; diff --git a/app/src/main/java/org/isoron/uhabits/activities/settings/SettingsFragment.java b/app/src/main/java/org/isoron/uhabits/activities/settings/SettingsFragment.java index 9b71bc153..330e05b34 100644 --- a/app/src/main/java/org/isoron/uhabits/activities/settings/SettingsFragment.java +++ b/app/src/main/java/org/isoron/uhabits/activities/settings/SettingsFragment.java @@ -61,9 +61,6 @@ public class SettingsFragment extends PreferenceFragmentCompat setResultOnPreferenceClick("bugReport", ListHabitsScreen.RESULT_BUG_REPORT); updateRingtoneDescription(); - - if (InterfaceUtils.isLocaleFullyTranslated()) - removePreference("translate", "linksCategory"); } @Override @@ -110,14 +107,6 @@ public class SettingsFragment extends PreferenceFragmentCompat BackupManager.dataChanged("org.isoron.uhabits"); } - private void removePreference(String preferenceKey, String categoryKey) - { - PreferenceCategory cat = - (PreferenceCategory) findPreference(categoryKey); - Preference pref = findPreference(preferenceKey); - cat.removePreference(pref); - } - private void setResultOnPreferenceClick(String key, final int result) { Preference pref = findPreference(key); diff --git a/app/src/main/java/org/isoron/uhabits/automation/EditSettingRootView.java b/app/src/main/java/org/isoron/uhabits/automation/EditSettingRootView.java index 264ea8a22..10fad0a0d 100644 --- a/app/src/main/java/org/isoron/uhabits/automation/EditSettingRootView.java +++ b/app/src/main/java/org/isoron/uhabits/automation/EditSettingRootView.java @@ -25,7 +25,7 @@ import android.support.v7.widget.*; import android.support.v7.widget.Toolbar; import android.widget.*; -import org.isoron.uhabits.*; +import org.isoron.uhabits.R; import org.isoron.uhabits.activities.*; import org.isoron.uhabits.models.*; import org.isoron.uhabits.utils.*; diff --git a/app/src/main/java/org/isoron/uhabits/intents/IntentFactory.java b/app/src/main/java/org/isoron/uhabits/intents/IntentFactory.java index 8ace599a5..47172d2fa 100644 --- a/app/src/main/java/org/isoron/uhabits/intents/IntentFactory.java +++ b/app/src/main/java/org/isoron/uhabits/intents/IntentFactory.java @@ -39,6 +39,12 @@ public class IntentFactory { } + public Intent helpTranslate(Context context) + { + String url = context.getString(R.string.translateURL); + return buildViewIntent(url); + } + public Intent rateApp(Context context) { String url = context.getString(R.string.playStoreURL); diff --git a/app/src/main/java/org/isoron/uhabits/io/LoopDBImporter.java b/app/src/main/java/org/isoron/uhabits/io/LoopDBImporter.java index 69fd1d4f0..a3ebcf882 100644 --- a/app/src/main/java/org/isoron/uhabits/io/LoopDBImporter.java +++ b/app/src/main/java/org/isoron/uhabits/io/LoopDBImporter.java @@ -19,12 +19,14 @@ package org.isoron.uhabits.io; +import android.content.Context; import android.database.Cursor; import android.database.sqlite.SQLiteDatabase; import android.support.annotation.NonNull; import com.activeandroid.ActiveAndroid; +import org.isoron.uhabits.AppContext; import org.isoron.uhabits.models.*; import org.isoron.uhabits.utils.DatabaseUtils; import org.isoron.uhabits.utils.FileUtils; @@ -39,10 +41,14 @@ import javax.inject.*; */ public class LoopDBImporter extends AbstractImporter { + @NonNull + private Context context; + @Inject - public LoopDBImporter(@NonNull HabitList habits) + public LoopDBImporter(@NonNull @AppContext Context context, @NonNull HabitList habits) { super(habits); + this.context = context; } @Override @@ -68,8 +74,8 @@ public class LoopDBImporter extends AbstractImporter public void importHabitsFromFile(@NonNull File file) throws IOException { ActiveAndroid.dispose(); - File originalDB = DatabaseUtils.getDatabaseFile(); + File originalDB = DatabaseUtils.getDatabaseFile(context); FileUtils.copy(file, originalDB); - DatabaseUtils.initializeActiveAndroid(); + DatabaseUtils.initializeActiveAndroid(context); } } diff --git a/app/src/main/java/org/isoron/uhabits/models/HabitList.java b/app/src/main/java/org/isoron/uhabits/models/HabitList.java index dd2b81f23..444a5824c 100644 --- a/app/src/main/java/org/isoron/uhabits/models/HabitList.java +++ b/app/src/main/java/org/isoron/uhabits/models/HabitList.java @@ -48,9 +48,7 @@ public abstract class HabitList implements Iterable public HabitList() { observable = new ModelObservable(); - filter = new HabitMatcherBuilder() - .setArchivedAllowed(true) - .build(); + filter = new HabitMatcherBuilder().setArchivedAllowed(true).build(); } protected HabitList(@NonNull HabitMatcher filter) @@ -106,6 +104,15 @@ public abstract class HabitList implements Iterable return observable; } + public abstract Order getOrder(); + + /** + * Changes the order of the elements on the list. + * + * @param order the new order criterea + */ + public abstract void setOrder(@NonNull Order order); + /** * Returns the index of the given habit in the list, or -1 if the list does * not contain the habit. @@ -149,7 +156,7 @@ public abstract class HabitList implements Iterable public void repair() { - for(Habit h : this) + for (Habit h : this) { h.getCheckmarks().invalidateNewerThan(0); h.getStreaks().invalidateNewerThan(0); @@ -228,4 +235,12 @@ public abstract class HabitList implements Iterable csv.close(); } + + public enum Order + { + BY_NAME, + BY_COLOR, + BY_SCORE, + BY_POSITION + } } diff --git a/app/src/main/java/org/isoron/uhabits/models/memory/MemoryHabitList.java b/app/src/main/java/org/isoron/uhabits/models/memory/MemoryHabitList.java index e014107ce..601852122 100644 --- a/app/src/main/java/org/isoron/uhabits/models/memory/MemoryHabitList.java +++ b/app/src/main/java/org/isoron/uhabits/models/memory/MemoryHabitList.java @@ -25,6 +25,8 @@ import org.isoron.uhabits.models.*; import java.util.*; +import static org.isoron.uhabits.models.HabitList.Order.*; + /** * In-memory implementation of {@link HabitList}. */ @@ -33,16 +35,23 @@ public class MemoryHabitList extends HabitList @NonNull private LinkedList list; + private Comparator comparator = null; + + @NonNull + private Order order; + public MemoryHabitList() { super(); list = new LinkedList<>(); + order = Order.BY_POSITION; } protected MemoryHabitList(@NonNull HabitMatcher matcher) { super(matcher); list = new LinkedList<>(); + order = Order.BY_POSITION; } @Override @@ -57,6 +66,7 @@ public class MemoryHabitList extends HabitList if (id == null) habit.setId((long) list.size()); list.addLast(habit); + resort(); } @Override @@ -82,10 +92,17 @@ public class MemoryHabitList extends HabitList public HabitList getFiltered(HabitMatcher matcher) { MemoryHabitList habits = new MemoryHabitList(matcher); - for(Habit h : this) if (matcher.matches(h)) habits.add(h); + habits.comparator = comparator; + for (Habit h : this) if (matcher.matches(h)) habits.add(h); return habits; } + @Override + public Order getOrder() + { + return order; + } + @Override public int indexOf(@NonNull Habit h) { @@ -112,6 +129,14 @@ public class MemoryHabitList extends HabitList list.add(toPos, from); } + @Override + public void setOrder(@NonNull Order order) + { + this.order = order; + this.comparator = getComparatorByOrder(order); + resort(); + } + @Override public int size() { @@ -123,4 +148,34 @@ public class MemoryHabitList extends HabitList { // NOP } + + private Comparator getComparatorByOrder(Order order) + { + Comparator nameComparator = + (h1, h2) -> h1.getName().compareTo(h2.getName()); + + Comparator colorComparator = (h1, h2) -> { + Integer c1 = h1.getColor(); + Integer c2 = h2.getColor(); + if (c1.equals(c2)) return nameComparator.compare(h1, h2); + else return c1.compareTo(c2); + }; + + Comparator scoreComparator = (h1, h2) -> { + int s1 = h1.getScores().getTodayValue(); + int s2 = h2.getScores().getTodayValue(); + return Integer.compare(s2, s1); + }; + + if (order == BY_POSITION) return null; + if (order == BY_NAME) return nameComparator; + if (order == BY_COLOR) return colorComparator; + if (order == BY_SCORE) return scoreComparator; + throw new IllegalStateException(); + } + + private void resort() + { + if (comparator != null) Collections.sort(list, comparator); + } } diff --git a/app/src/main/java/org/isoron/uhabits/models/sqlite/SQLiteHabitList.java b/app/src/main/java/org/isoron/uhabits/models/sqlite/SQLiteHabitList.java index 6541a81d3..da8a6aee5 100644 --- a/app/src/main/java/org/isoron/uhabits/models/sqlite/SQLiteHabitList.java +++ b/app/src/main/java/org/isoron/uhabits/models/sqlite/SQLiteHabitList.java @@ -39,10 +39,15 @@ public class SQLiteHabitList extends HabitList private static SQLiteHabitList instance; + @NonNull private final SQLiteUtils sqlite; + @NonNull private final ModelFactory modelFactory; + @NonNull + private Order order; + public SQLiteHabitList(@NonNull ModelFactory modelFactory) { super(); @@ -50,16 +55,19 @@ public class SQLiteHabitList extends HabitList if (cache == null) cache = new HashMap<>(); sqlite = new SQLiteUtils<>(HabitRecord.class); + order = Order.BY_POSITION; } protected SQLiteHabitList(@NonNull ModelFactory modelFactory, - @NonNull HabitMatcher filter) + @NonNull HabitMatcher filter, + @NonNull Order order) { super(filter); this.modelFactory = modelFactory; if (cache == null) cache = new HashMap<>(); sqlite = new SQLiteUtils<>(HabitRecord.class); + this.order = order; } public static SQLiteHabitList getInstance( @@ -118,7 +126,20 @@ public class SQLiteHabitList extends HabitList @Override public HabitList getFiltered(HabitMatcher filter) { - return new SQLiteHabitList(modelFactory, filter); + return new SQLiteHabitList(modelFactory, filter, order); + } + + @Override + @NonNull + public Order getOrder() + { + return order; + } + + @Override + public void setOrder(@NonNull Order order) + { + this.order = order; } @Override @@ -214,6 +235,13 @@ public class SQLiteHabitList extends HabitList getObservable().notifyListeners(); } + @Override + public void repair() + { + super.repair(); + rebuildOrder(); + } + @Override public int size() { @@ -249,12 +277,38 @@ public class SQLiteHabitList extends HabitList habits.add(habit); } + if(order == Order.BY_SCORE) + { + Collections.sort(habits, (lhs, rhs) -> { + int s1 = lhs.getScores().getTodayValue(); + int s2 = rhs.getScores().getTodayValue(); + return Integer.compare(s2, s1); + }); + } + return habits; } private void appendOrderBy(StringBuilder query) { - query.append("order by position "); + switch (order) + { + case BY_POSITION: + query.append("order by position "); + break; + + case BY_NAME: + case BY_SCORE: + query.append("order by name "); + break; + + case BY_COLOR: + query.append("order by color, name "); + break; + + default: + throw new IllegalStateException(); + } } private void appendSelect(StringBuilder query) @@ -282,11 +336,4 @@ public class SQLiteHabitList extends HabitList appendOrderBy(query); return query.toString(); } - - @Override - public void repair() - { - super.repair(); - rebuildOrder(); - } } diff --git a/app/src/main/java/org/isoron/uhabits/models/sqlite/records/HabitRecord.java b/app/src/main/java/org/isoron/uhabits/models/sqlite/records/HabitRecord.java index 71f4cbdd3..b4120a386 100644 --- a/app/src/main/java/org/isoron/uhabits/models/sqlite/records/HabitRecord.java +++ b/app/src/main/java/org/isoron/uhabits/models/sqlite/records/HabitRecord.java @@ -22,6 +22,8 @@ package org.isoron.uhabits.models.sqlite.records; import android.annotation.*; import android.database.*; import android.support.annotation.*; +import android.support.annotation.NonNull; +import android.support.annotation.Nullable; import com.activeandroid.*; import com.activeandroid.annotation.*; diff --git a/app/src/main/java/org/isoron/uhabits/preferences/Preferences.java b/app/src/main/java/org/isoron/uhabits/preferences/Preferences.java index 86e5e5278..e8626aa5f 100644 --- a/app/src/main/java/org/isoron/uhabits/preferences/Preferences.java +++ b/app/src/main/java/org/isoron/uhabits/preferences/Preferences.java @@ -24,6 +24,7 @@ import android.preference.*; import org.isoron.uhabits.*; import org.isoron.uhabits.activities.*; +import org.isoron.uhabits.models.*; import java.util.*; @@ -61,6 +62,21 @@ public class Preferences return prefs.getInt("pref_default_habit_palette_color", fallbackColor); } + public HabitList.Order getDefaultOrder() + { + String name = prefs.getString("pref_default_order", "BY_POSITION"); + + try + { + return HabitList.Order.valueOf(name); + } + catch (IllegalArgumentException e) + { + setDefaultOrder(HabitList.Order.BY_POSITION); + return HabitList.Order.BY_POSITION; + } + } + public int getDefaultScoreSpinnerPosition() { int defaultScoreInterval = prefs.getInt("pref_score_view_interval", 1); @@ -69,6 +85,11 @@ public class Preferences return defaultScoreInterval; } + public void setDefaultOrder(HabitList.Order order) + { + prefs.edit().putString("pref_default_order", order.name()).apply(); + } + public void setDefaultScoreSpinnerPosition(int position) { prefs.edit().putInt("pref_score_view_interval", position).apply(); diff --git a/app/src/main/java/org/isoron/uhabits/receivers/PebbleReceiver.java b/app/src/main/java/org/isoron/uhabits/receivers/PebbleReceiver.java index ce0ab7eed..55243f015 100644 --- a/app/src/main/java/org/isoron/uhabits/receivers/PebbleReceiver.java +++ b/app/src/main/java/org/isoron/uhabits/receivers/PebbleReceiver.java @@ -40,6 +40,9 @@ public class PebbleReceiver extends PebbleDataReceiver public static final UUID WATCHAPP_UUID = UUID.fromString("82629d99-8ea6-4631-a022-9ca77a12a058"); + @NonNull + private Context context; + private HabitList allHabits; private CommandRunner commandRunner; @@ -61,6 +64,8 @@ public class PebbleReceiver extends PebbleDataReceiver if (context == null) throw new RuntimeException("context is null"); if (data == null) throw new RuntimeException("data is null"); + this.context = context; + HabitsApplication app = (HabitsApplication) context.getApplicationContext(); @@ -136,7 +141,7 @@ public class PebbleReceiver extends PebbleDataReceiver private void sendDict(@NonNull PebbleDictionary dict) { - PebbleKit.sendDataToPebble(HabitsApplication.getContext(), + PebbleKit.sendDataToPebble(context, PebbleReceiver.WATCHAPP_UUID, dict); } diff --git a/app/src/main/java/org/isoron/uhabits/tasks/ExportCSVTask.java b/app/src/main/java/org/isoron/uhabits/tasks/ExportCSVTask.java index 27f81f0b5..1f41f1994 100644 --- a/app/src/main/java/org/isoron/uhabits/tasks/ExportCSVTask.java +++ b/app/src/main/java/org/isoron/uhabits/tasks/ExportCSVTask.java @@ -19,10 +19,13 @@ package org.isoron.uhabits.tasks; +import android.content.Context; import android.support.annotation.*; import com.google.auto.factory.*; +import org.isoron.uhabits.AppContext; +import org.isoron.uhabits.activities.ActivityContext; import org.isoron.uhabits.io.*; import org.isoron.uhabits.models.*; import org.isoron.uhabits.utils.*; @@ -35,6 +38,9 @@ public class ExportCSVTask implements Task { private String archiveFilename; + @NonNull + private final Context context; + @NonNull private final List selectedHabits; @@ -44,10 +50,12 @@ public class ExportCSVTask implements Task @NonNull private final HabitList habitList; - public ExportCSVTask(@Provided @NonNull HabitList habitList, + public ExportCSVTask(@Provided @AppContext @NonNull Context context, + @Provided @NonNull HabitList habitList, @NonNull List selectedHabits, @NonNull Listener listener) { + this.context = context; this.listener = listener; this.habitList = habitList; this.selectedHabits = selectedHabits; @@ -58,7 +66,7 @@ public class ExportCSVTask implements Task { try { - File dir = FileUtils.getFilesDir("CSV"); + File dir = FileUtils.getFilesDir(context, "CSV"); if (dir == null) return; HabitsCSVExporter exporter; diff --git a/app/src/main/java/org/isoron/uhabits/tasks/ExportDBTask.java b/app/src/main/java/org/isoron/uhabits/tasks/ExportDBTask.java index b70ee65d4..26f523194 100644 --- a/app/src/main/java/org/isoron/uhabits/tasks/ExportDBTask.java +++ b/app/src/main/java/org/isoron/uhabits/tasks/ExportDBTask.java @@ -19,22 +19,33 @@ package org.isoron.uhabits.tasks; +import android.content.Context; import android.support.annotation.*; +import com.google.auto.factory.AutoFactory; +import com.google.auto.factory.Provided; + +import org.isoron.uhabits.AppContext; +import org.isoron.uhabits.activities.ActivityContext; import org.isoron.uhabits.utils.*; import java.io.*; +@AutoFactory(allowSubclasses = true) public class ExportDBTask implements Task { private String filename; + @NonNull + private Context context; + @NonNull private final Listener listener; - public ExportDBTask(@NonNull Listener listener) + public ExportDBTask(@Provided @AppContext @NonNull Context context, @NonNull Listener listener) { this.listener = listener; + this.context = context; } @Override @@ -44,10 +55,10 @@ public class ExportDBTask implements Task try { - File dir = FileUtils.getFilesDir("Backups"); + File dir = FileUtils.getFilesDir(context, "Backups"); if (dir == null) return; - filename = DatabaseUtils.saveDatabaseCopy(dir); + filename = DatabaseUtils.saveDatabaseCopy(context, dir); } catch (IOException e) { diff --git a/app/src/main/java/org/isoron/uhabits/utils/DatabaseUtils.java b/app/src/main/java/org/isoron/uhabits/utils/DatabaseUtils.java index 0a7c0fbbf..5e6d9e97a 100644 --- a/app/src/main/java/org/isoron/uhabits/utils/DatabaseUtils.java +++ b/app/src/main/java/org/isoron/uhabits/utils/DatabaseUtils.java @@ -47,9 +47,8 @@ public abstract class DatabaseUtils } @NonNull - public static File getDatabaseFile() + public static File getDatabaseFile(Context context) { - Context context = HabitsApplication.getContext(); String databaseFilename = getDatabaseFilename(); String root = context.getFilesDir().getPath(); @@ -68,9 +67,8 @@ public abstract class DatabaseUtils } @SuppressWarnings("unchecked") - public static void initializeActiveAndroid() + public static void initializeActiveAndroid(Context context) { - Context context = HabitsApplication.getContext(); Configuration dbConfig = new Configuration.Builder(context) .setDatabaseName(getDatabaseFilename()) .setDatabaseVersion(BuildConfig.databaseVersion) @@ -82,14 +80,14 @@ public abstract class DatabaseUtils } @SuppressWarnings("ResultOfMethodCallIgnored") - public static String saveDatabaseCopy(File dir) throws IOException + public static String saveDatabaseCopy(Context context, File dir) throws IOException { SimpleDateFormat dateFormat = DateFormats.getBackupDateFormat(); String date = dateFormat.format(DateUtils.getLocalTime()); String format = "%s/Loop Habits Backup %s.db"; String filename = String.format(format, dir.getAbsolutePath(), date); - File db = getDatabaseFile(); + File db = getDatabaseFile(context); File dbCopy = new File(filename); FileUtils.copy(db, dbCopy); diff --git a/app/src/main/java/org/isoron/uhabits/utils/DateUtils.java b/app/src/main/java/org/isoron/uhabits/utils/DateUtils.java index c85f90df2..cce452145 100644 --- a/app/src/main/java/org/isoron/uhabits/utils/DateUtils.java +++ b/app/src/main/java/org/isoron/uhabits/utils/DateUtils.java @@ -187,6 +187,11 @@ public abstract class DateUtils return getStartOfDay(DateUtils.getLocalTime()); } + public static long millisecondsUntilTomorrow() + { + return getStartOfToday() + millisecondsInOneDay - getLocalTime(); + } + public static GregorianCalendar getStartOfTodayCalendar() { return getCalendar(getStartOfToday()); diff --git a/app/src/main/java/org/isoron/uhabits/utils/FileUtils.java b/app/src/main/java/org/isoron/uhabits/utils/FileUtils.java index 4bc4a5d76..4cee13ac3 100644 --- a/app/src/main/java/org/isoron/uhabits/utils/FileUtils.java +++ b/app/src/main/java/org/isoron/uhabits/utils/FileUtils.java @@ -87,9 +87,8 @@ public abstract class FileUtils } @Nullable - public static File getFilesDir(@Nullable String relativePath) + public static File getFilesDir(@NonNull Context context, @Nullable String relativePath) { - Context context = HabitsApplication.getContext(); File externalFilesDirs[] = ContextCompat.getExternalFilesDirs(context, null); diff --git a/app/src/main/java/org/isoron/uhabits/utils/InterfaceUtils.java b/app/src/main/java/org/isoron/uhabits/utils/InterfaceUtils.java index 5db2a875a..e22118b2b 100644 --- a/app/src/main/java/org/isoron/uhabits/utils/InterfaceUtils.java +++ b/app/src/main/java/org/isoron/uhabits/utils/InterfaceUtils.java @@ -24,17 +24,8 @@ import android.content.res.*; import android.graphics.*; import android.util.*; -import java.util.*; - public abstract class InterfaceUtils { - - // TODO: Move this to another place, or detect automatically - private static String fullyTranslatedLanguages[] = { - "ca", "zh", "en", "de", "in", "it", "ko", "pl", "pt", "es", "tk", "uk", - "ja", "fr", "hr", "sl" - }; - private static Typeface fontAwesome; public static Typeface getFontAwesome(Context context) @@ -58,15 +49,4 @@ public abstract class InterfaceUtils DisplayMetrics metrics = resources.getDisplayMetrics(); return TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_SP, sp, metrics); } - - public static boolean isLocaleFullyTranslated() - { - final String currentLanguage = Locale.getDefault().getLanguage(); - - for(String lang : fullyTranslatedLanguages) - if(currentLanguage.equals(lang)) return true; - - return false; - } - } diff --git a/app/src/main/java/org/isoron/uhabits/utils/MidnightTimer.java b/app/src/main/java/org/isoron/uhabits/utils/MidnightTimer.java new file mode 100644 index 000000000..30021ae71 --- /dev/null +++ b/app/src/main/java/org/isoron/uhabits/utils/MidnightTimer.java @@ -0,0 +1,77 @@ +/* + * Copyright (C) 2016 Álinson Santos Xavier + * + * This file is part of Loop Habit Tracker. + * + * Loop Habit Tracker is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by the + * Free Software Foundation, either version 3 of the License, or (at your + * option) any later version. + * + * Loop Habit Tracker is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY + * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + * more details. + * + * You should have received a copy of the GNU General Public License along + * with this program. If not, see . + */ + +package org.isoron.uhabits.utils; + +import org.isoron.uhabits.activities.*; + +import java.util.*; +import java.util.concurrent.*; + +import javax.inject.*; + +/** + * A class that emits events when a new day starts. + */ +@ActivityScope +public class MidnightTimer +{ + private final List listeners; + + private ScheduledExecutorService executor; + + @Inject + public MidnightTimer() + { + this.listeners = new LinkedList<>(); + } + + public synchronized void addListener(MidnightListener listener) + { + this.listeners.add(listener); + } + + public synchronized void onPause() + { + executor.shutdownNow(); + } + + public synchronized void onResume() + { + executor = Executors.newSingleThreadScheduledExecutor(); + executor.scheduleAtFixedRate(() -> notifyListeners(), + DateUtils.millisecondsUntilTomorrow() + 1000, + DateUtils.millisecondsInOneDay, TimeUnit.MILLISECONDS); + } + + public synchronized void removeListener(MidnightListener listener) + { + this.listeners.remove(listener); + } + + private synchronized void notifyListeners() + { + for (MidnightListener l : listeners) l.atMidnight(); + } + + public interface MidnightListener + { + void atMidnight(); + } +} diff --git a/app/src/main/res/drawable-hdpi/ic_action_download_dark.png b/app/src/main/res/drawable-hdpi/ic_action_download_dark.png new file mode 100644 index 000000000..cd22795b4 Binary files /dev/null and b/app/src/main/res/drawable-hdpi/ic_action_download_dark.png differ diff --git a/app/src/main/res/drawable-hdpi/ic_action_download_light.png b/app/src/main/res/drawable-hdpi/ic_action_download_light.png new file mode 100644 index 000000000..77b048f7e Binary files /dev/null and b/app/src/main/res/drawable-hdpi/ic_action_download_light.png differ diff --git a/app/src/main/res/drawable-mdpi/ic_action_download_dark.png b/app/src/main/res/drawable-mdpi/ic_action_download_dark.png new file mode 100644 index 000000000..47fda04ff Binary files /dev/null and b/app/src/main/res/drawable-mdpi/ic_action_download_dark.png differ diff --git a/app/src/main/res/drawable-mdpi/ic_action_download_light.png b/app/src/main/res/drawable-mdpi/ic_action_download_light.png new file mode 100644 index 000000000..6f5078ee8 Binary files /dev/null and b/app/src/main/res/drawable-mdpi/ic_action_download_light.png differ diff --git a/app/src/main/res/drawable-xhdpi/ic_action_download_dark.png b/app/src/main/res/drawable-xhdpi/ic_action_download_dark.png new file mode 100644 index 000000000..6700e6694 Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/ic_action_download_dark.png differ diff --git a/app/src/main/res/drawable-xhdpi/ic_action_download_light.png b/app/src/main/res/drawable-xhdpi/ic_action_download_light.png new file mode 100644 index 000000000..671095154 Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/ic_action_download_light.png differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_action_download_dark.png b/app/src/main/res/drawable-xxhdpi/ic_action_download_dark.png new file mode 100644 index 000000000..4c09750f4 Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/ic_action_download_dark.png differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_action_download_light.png b/app/src/main/res/drawable-xxhdpi/ic_action_download_light.png new file mode 100644 index 000000000..684873844 Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/ic_action_download_light.png differ diff --git a/app/src/main/res/layout/about.xml b/app/src/main/res/layout/about.xml index 0d391a70c..5fe1b1a2f 100644 --- a/app/src/main/res/layout/about.xml +++ b/app/src/main/res/layout/about.xml @@ -31,6 +31,7 @@ style="@style/Toolbar"/> @@ -86,6 +87,11 @@ style="@style/About.Item.Clickable" android:text="@string/pref_send_feedback"/> + + + @@ -129,17 +138,33 @@ android:text="@string/translators" android:textColor="?aboutScreenColor"/> + + + + + android:text="Rancher (Cрпски)"/> + + + + + + + + + + + + @@ -205,6 +246,10 @@ style="@style/About.Item" android:text="Dmitriy Bogdanov (Русский)"/> + + @@ -272,10 +317,6 @@ - - diff --git a/app/src/main/res/layout/edit_habit.xml b/app/src/main/res/layout/edit_habit.xml index a8d4b0b95..007fe9500 100644 --- a/app/src/main/res/layout/edit_habit.xml +++ b/app/src/main/res/layout/edit_habit.xml @@ -79,7 +79,7 @@ + style="@style/dialogFormInputLargeNumber"/> + style="@style/dialogFormInputLargeNumber"/> + + + + + + + + + + + + @@ -73,5 +93,4 @@ android:orderInCategory="100" android:title="@string/about" app:showAsAction="never"/> - diff --git a/app/src/main/res/menu/show_habit.xml b/app/src/main/res/menu/show_habit.xml index ec81337c8..366a53e6c 100644 --- a/app/src/main/res/menu/show_habit.xml +++ b/app/src/main/res/menu/show_habit.xml @@ -21,6 +21,11 @@ + + + + + + + + diff --git a/app/src/main/res/values-ar/strings.xml b/app/src/main/res/values-ar/strings.xml index b17e91e8b..a0dda8c3c 100644 --- a/app/src/main/res/values-ar/strings.xml +++ b/app/src/main/res/values-ar/strings.xml @@ -1,190 +1,162 @@ + + - - -"لوب ملاحق العادة " -"عادات" -"إعدادات" -"تعديل" -"حذف" -"أرشيف" -"إزالة من الأرشيف" -"إضافة العادة" -"غير اللون" -"تم صنع عادة " -"تم حذف عادة " -"تم ترجيع عادة" -"لا شيء للتراجع" -"لا شيء لتكرار" -"تم تغييرعادة" - - -"تم ترجيع العادة إلى أصلها" -"تم أرشيف العادات" -"تم إزالة العادة من الأرشيف " -"نظرة عامة" -"قوة العادة" -"التاريخ" -"مسح" -"السؤال (هل ... اليوم؟)" - - -"كرر" -"مرات في" -"أيام" -"تذكير" -"حذف" -"حفظ" - - -"تقدم متتالية" -" لا يوجد لديك عادات مفعله" -"أضغط و إستمر لتحقق أو ازل" -"أوقف" -"لا يمكن أن يكون الإسم فارغ" -"يجب أن يكون الرقم إيجابي" -"يمكن أن يكون التكرار واحدة فقط كل يوم " -"اخلق عادة" -"تعديل العادة" -"حقق" -"لاحقا" - - -"أهلا بك" -"لوب يساعدك على خلق والحفاظ على العادات الجيدة." -"إنشاء بعض عادات جديدة" -"كل يوم، بعد أداء عادتك، وضع علامة على التطبيق." -"حافظ على القيام بذلك" -"العادة المستمرة لفترات طويلة تكسب نجمة كامله" -"تتبع تقدمك" -"رسوم بيانية مفصلة تبين لكم كيف تحسن عاداتك مع مرور الوقت." -"15 دقيقة" -"30 دقيقة" -"ساعة واحدة" -"ساعتين" -"أربع ساعات" -"ثماني ساعات" -"تبديل بكبسه" -"أكثر سهولة، لكنه ممكن يسبب كبسات غير مقصوده" -"فترتي الغفوى على التذكير" -"تقييم هذا التطبيق على جوجل بلاي" -"أرسل الملاحظات إلى المطور" -"إفحص التعليمات البرمجية على GitHub" -"عرض المقدمه" -"روابط" -"سلوك" -"اسم" -"عرض أرشفة" -"إعدادات" -"فترتي الغفوه" -"هل كنت تعلم؟" -"لإعادة ترتيب القوائم، أضغط اسم من هذه العادة، ثم اسحبه إلى المكان الصحيح." -"يمكنك ان ترى المزيد أيام عن طريق وضع الهاتف في وضع أفقي." -"حذف عادات" -"سيتم حذف عادات بشكل دائم. هذا العمل لا يمكن التراجع عنه." -"عطلة نهاية الأسبوع" - - -"أيام الأسبوع" - - -"أي يوم" - - -"إختار أيام " - - -"تصدير البيانات (CSV)" -"منجز" -"نظف" -"تحديد ساعات" -"تحديد دقائق " - - -"خلق عادات جيدة وتتبع تقدمك على مر الزمن" -"لب يساعدك على خلق والحفاظ على العادات الجيدة، مما يسمح لك لتحقيق أهدافكة. الرسوم البيانية والإحصاءات التفصيلية تبين لكم كيف تحسن عاداتك مع مرور الوقت. هو تماما خالية من الاعلانات ومفتوحة المصدر." -"<b>واجهة بسيطة، جميلة وحديثة </b> -لوب يحتوي على واجهة بسيطة وهي سهلة الاستخدام و تتابع نظام تصميم الماتريل دسيجن." -"<b>نتيجة العادات</b> -بالإضافة إلى عرض التقدم الحالي، لوب ديه خوارزمية متقدمة لحساب قوة عاداتك. كل التكرار يجعل هذه العادة أقوى، وفي كل يوم غاب يجعلها أضعف. مع ذلك غيب أيام قليلة بعد تقدم طويلة ، لن تدمر تماما تقدمك ." -"<b>الرسوم البيانية والإحصاءات المفصلة</b> -نرى بوضوح كيف كنت قد تحسنت عاداتك بمرور الوقت مع الرسوم البيانية الجميله ومفصلة. انتقل إلى الوراء لنرى التاريخ الكامل لعاداتك." -"<b>جداول مرنة</b> -تؤيد كل من العادات اليومية والعادات مع جداول أكثر تعقيدا، مثل 3 مرات كل أسبوع، مرة واحدة كل أسبوعين، أو مرة كل يومين." -"<b>تذكير</b> -إنشاء تذكير لكل فرد من عاداتك، في ساعة اختيار من اليوم. تحقق بسهولة، رفض أو غفوة عادتك مباشرة من الإخطار، دون الحاجة إلى فتح التطبيق." -"<b>خالية تماما من الإعلانات و المصدر المفتوح</b> -لا توجد على الاطلاق الإعلانات والشعارات المزعجة أو أذونات إضافية في هذا التطبيق، و سوف يكون هناك أبدا." -"<b>الأمثل للساعات الذكية</b> -يمكن التحقق من رسائل التذكير، رفض أو غفوة عادتك مباشرة من ساعتك الاندرويد وير. " -"معلومات حول" -"المترجمين" -"المطورين" - - -"الإصدار %s" -"تردد" -"علامة الاختيار" - - -"القوة" -"أكثر تقدم" -"تقدم الحالي" -"عدد من حالات التكرار" -"آخر %d أيام" -"آخر %d أسابيع" -"آخر %d أشهر" -"آخر %d سنين" - - -"كل الوقت" -"كل يوم" -"كل اسبوع" -"مرتين في الأسبوع" -"خمس مرات في الأسبوع" -"مخصص..." -"مساعدة والأسئلة المتداولة" -"فشل في تصدير البيانات." -"فشل في استيراد البيانات." - - -"الملف غير المعترف." -"نجح إستيراد العادات." -"نجح تصدير النسخ الاحتياطي الكامل." -"استيراد بيانات." -"صدر نسخة احتياطية كاملة." -"تدعم النسخ الاحتياطي الكامل المصدرة من هذا التطبيق، فضلا عن الملفات التي تم إنشاؤها من Tickmate, HabitBull و Rewire. انظر التعليمات لمزيد من المعلومات." -"صدر ملف التي يمكن فتحها ببرنامج جداول البيانات مثل إكسل أو وبينوفيس. لا يمكن إستيراد هذا الملف." -"إنشاء ملف يحتوي على كافة البيانات. يمكن استيراد هذا الملف نفسه." -"فشل في توليد تقرير الاعطال" -"توليد تقرير الاعطال" -"استكشاف الأخطاء وإصلاحها" -"المساعدة في ترجمة هذا البرنامج" -"الوضع الليلي" -"استخدام أسود نقي في الوضع الليلي" -"يستبدل خلفيات رمادية مع أسود نقي في الوضع الليلي. يقلل من استهلاك البطارية في الهواتف مع شاشة AMOLED." -"السطح البيني" -"ترتيب عكسي أيام" -"عرض أيام في ترتيب عكسي على الشاشة الرئيسية" -"يوم" -"أسبوع" -"شهر" - - -"ربع سنه" -"عام" - - - -"مرات في" -"كل %d أيام" -"كل %d أسابيع" -"كل %d أشهر" - - -"النقاط" -"صوت تذكير" - - -"صامت" - \ No newline at end of file + لوب ملاحق العادة + عادات + إعدادات + تعديل + حذف + أرشيف + إزالة من الأرشيف + إضافة العادة + غير اللون + تم صنع عادة + تم حذف عادة + تم ترجيع عادة + لا شيء للتراجع + لا شيء لتكرار + تم تغييرعادة + تم ترجيع العادة إلى أصلها + تم أرشيف العادات + تم إزالة العادة من الأرشيف + نظرة عامة + قوة العادة + التاريخ + مسح + السؤال (هل ... اليوم؟) + كرر + مرات في + أيام + تذكير + حذف + حفظ + تقدم متتالية + لا يوجد لديك عادات مفعله + أضغط و إستمر لتحقق أو ازل + أوقف + لا يمكن أن يكون الإسم فارغ + يجب أن يكون الرقم إيجابي + يمكن أن يكون التكرار واحدة فقط كل يوم + اخلق عادة + تعديل العادة + حقق + لاحقا + + أهلا بك + لوب يساعدك على خلق والحفاظ على العادات الجيدة. + إنشاء بعض عادات جديدة + كل يوم، بعد أداء عادتك، وضع علامة على التطبيق. + حافظ على القيام بذلك + العادة المستمرة لفترات طويلة تكسب نجمة كامله + تتبع تقدمك + رسوم بيانية مفصلة تبين لكم كيف تحسن عاداتك مع مرور الوقت. + 15 دقيقة + 30 دقيقة + ساعة واحدة + ساعتين + أربع ساعات + ثماني ساعات + 24 ساعة + تبديل بكبسه + أكثر سهولة، لكنه ممكن يسبب كبسات غير مقصوده + فترتي الغفوى على التذكير + تقييم هذا التطبيق على جوجل بلاي + أرسل الملاحظات إلى المطور + إفحص التعليمات البرمجية على GitHub + عرض المقدمه + روابط + سلوك + اسم + إعدادات + فترتي الغفوه + هل كنت تعلم؟ + لإعادة ترتيب القوائم، أضغط اسم من هذه العادة، ثم اسحبه إلى المكان الصحيح. + يمكنك ان ترى المزيد أيام عن طريق وضع الهاتف في وضع أفقي. + حذف عادات + سيتم حذف عادات بشكل دائم. هذا العمل لا يمكن التراجع عنه. + عطلة نهاية الأسبوع + أيام الأسبوع + أي يوم + إختار أيام + تصدير البيانات (CSV) + منجز + نظف + تحديد ساعات + تحديد دقائق + معلومات حول + المترجمين + المطورين + الإصدار %s + تردد + علامة الاختيار + القوة + أكثر تقدم + تقدم الحالي + عدد من حالات التكرار + آخر %d أيام + آخر %d أسابيع + آخر %d أشهر + آخر %d سنين + كل الوقت + كل يوم + كل اسبوع + مرتين في الأسبوع + خمس مرات في الأسبوع + مخصص... + مساعدة والأسئلة المتداولة + فشل في تصدير البيانات. + فشل في استيراد البيانات. + الملف غير المعترف. + نجح إستيراد العادات. + نجح تصدير النسخ الاحتياطي الكامل. + استيراد بيانات. + صدر نسخة احتياطية كاملة. + تدعم النسخ الاحتياطي الكامل المصدرة من هذا التطبيق، فضلا عن الملفات التي تم إنشاؤها من Tickmate, HabitBull و Rewire. انظر التعليمات لمزيد من المعلومات. + صدر ملف التي يمكن فتحها ببرنامج جداول البيانات مثل إكسل أو وبينوفيس. لا يمكن إستيراد هذا الملف. + إنشاء ملف يحتوي على كافة البيانات. يمكن استيراد هذا الملف نفسه. + فشل في توليد تقرير الاعطال + توليد تقرير الاعطال + استكشاف الأخطاء وإصلاحها + المساعدة في ترجمة هذا البرنامج + الوضع الليلي + استخدام أسود نقي في الوضع الليلي + يستبدل خلفيات رمادية مع أسود نقي في الوضع الليلي. يقلل من استهلاك البطارية في الهواتف مع شاشة AMOLED. + السطح البيني + ترتيب عكسي أيام + عرض أيام في ترتيب عكسي على الشاشة الرئيسية + يوم + أسبوع + شهر + ربع سنه + عام + المجموع + + مرات في + كل %d أيام + كل %d أسابيع + كل %d أشهر + النقاط + صوت تذكير + صامت + عمل + تحميل + استخراج + diff --git a/app/src/main/res/values-bg/strings.xml b/app/src/main/res/values-bg/strings.xml new file mode 100644 index 000000000..eb6df7df4 --- /dev/null +++ b/app/src/main/res/values-bg/strings.xml @@ -0,0 +1,157 @@ + + + + + Loop Следене на навици + Навици + Настройки + Редактиране + Изтриване + Архивиране + Разархивиране + Добавяне на навик + Промяна на цвят + Навикът е създаден + Навиците са изтрити + Навиците са възстановени + Нищо за отмяна + Нищо за възстановяване + Навикът е променен + Промяната на навика е отменена. + Навиците са архивирани + Навиците са разархивирани + Обобщение + Сила на навика + История + Изчистване + Въпрос (Днес, ... ли?) + Повтори + пъти в период от + дни + Напомняне + Отказ + Запазване + Поредици + Нямате активни навици + Натиснете и задръжте за да добавите или премахнете отметка + Изключено + Името не може да бъде празно. + Числото трябва да е положително. + Позволено е до едно повторение на ден. + Създаване на навик + Редактиране на навик + Потвърди + По-късно + + Добре дошли + Loop Следене на навици ви помага да създавате и поддържате добри навици. + Създайте нови навици + Всеки ден, след изпълнението на навика, поставете отметка в приложението. + Продължавайте да го изпълнявате + Навици изпълнявани редовно за дълго време ще получат пълна звезда. + Следете прогреса си + Подробни диаграми ви показват как вашите навици са се подобрили с времето. + 15 минути + 30 минути + 1 час + 2 часа + 4 часа + 8 часа + Маркиране с кратко натискане + Поставяне на отметки с кратко натискане вместо с натискане и задържане. По-удобно, но може да доведе до неволно маркиране. + Интервал на напомняне след отлагане + Оценяване на това приложение в Google Play + Изпращане на отзиви към разработчика + Преглед на програмния код в GitHub + Преглед на въведение в приложението + Препратки + Поведение + Име + Настройки + Интервал на отлагане + Знаете ли че? + За да пренаредите записите, натиснете и задръжте върху името на навика и го придърпайте до правилното място. + Може да виждате повече дни като обърнете телефона си в хоризонтално положение. + Изтриване на навици + Навиците ще се изтрият перманентно. Това действие не може да бъде отменено. + Събота и неделя + От понеделник до петък + Всеки ден от седмицата + Избор на дни + Експортиране като CSV + Готово + Изчистване + Избиране на час + Избиране на минута + Информация + Преводачи + Разработчици + Версия %s + Честота + Отметка + Сила + Най-добри поредици + Текуща поредица + Брой повторения + Последните %d дни + Последните %d седмици + Последните %d месеци + Последните %d години + От началото + Всеки ден + Всяка седмица + 2 пъти седмично + 5 пъти седмично + Друго ... + Помощ & ЧЗВ + Неуспешно експортиране на данни. + Неуспешно импортиране на данни. + Файлът не е разпознат. + Навиците са импортирани успешно. + Пълно резервно копие е експортирано успешно. + Импортиране на данни + Експортиране на пълно резервно копие + Поддържа пълни резервни копия експортирани чрез това приложение, както и файлове генерирани чрез Tickmate, HabitBull или Rewire. Вижте ЧЗВ за повече информация. + Генерира файлове, които могат да се отварят със софтуер за електронни таблици като Microsoft Excel или OpenOffice Calc. Този файл не може да се импортира обратно. + Генерира файл, който съдържа всичките ви данни. Този файл може да бъде импортиран обратно. + Неуспешно генериране на доклад за грешки. + Генериране на доклад за грешки + Отстраняване на проблеми + Помагане за превода на това приложение + Нощен режим + Използване на чисто черно при нощен режим + Заменя сивите фонове с чисто черни при нощен режим. Намаля разхода на батерията при телефони с AMOLED дисплеи. + Интерфейс + Обратен ред на дните + Показва дните на основния екран в обратен ред + Ден + Седмица + Месец + Тримесечие + Година + + път в период от + На всеки %d дни + На всеки %d седмици + На всеки %d месеца + Сила + Звук за напомняне + Няма + diff --git a/app/src/main/res/values-ca/strings.xml b/app/src/main/res/values-ca/strings.xml index 1cfd0b8b4..27c554cd2 100644 --- a/app/src/main/res/values-ca/strings.xml +++ b/app/src/main/res/values-ca/strings.xml @@ -1,180 +1,161 @@ + + -"Loop Habit Tracker" -"Hàbits" -"Ajustaments" -"Editar" -"Esborrar" -"Arxivar" -"Treure de l'arxiu" -"Afegir hàbit" -"Canviar color" -"Hàbit creat." -"Hàbits esborrats." -"Hàbits restaurats." -"Res a desfer." -"Res a refer." -"Hàbit modificat." - - -"Hàbit restaurat." -"Hàbits arxivats." -"Hàbits trets de l'arxiu." -"Visió general" -"Fortalesa de l'hàbit" -"Història" -"Netejar" -"Pregunta (Avui vas...?)" - - -"Repetir" -"vegades en" -"dies" -"Recordatori" -"Descartar" -"Desar" - - -"Ratxa" -"No tens hàbits actius" -"Prem i manté per a marcar o desmarcar" -"Desactivat" -"El nom no pot estar buit" -"El número ha de ser positiu" -"Pots tenir com a màxim una repetició per dia" -"Crear hàbit" -"Editar hàbit" -"Revisar" -"Més tard" - - -"Benvingut" -"Loop Habit Tracker t'ajuda a crear i mantenir bons hàbits" -"Crear alguns hàbits nous" -"Cada dia, després de complir el teu hàbit, posa una marca amb la app" -"Continua fent-ho" -"Els hàbits que facis consistentment durant una llarga temporada obtindran una estrella" -"Segueix el teu progrès" -"Els gràfics detallats et mostren com han mirollat els teus hàbits al llarg del temps" -"15 minuts" -"30 minuts" -"1 hora" -"2 hores" -"4 hores" -"8 hores" -"Activar/desactivar repeticions prement curt" -"Més adequat, però pot causar activacions accidentals" -"Interval d'endarreriment en recordatoris" -"Valora aquesta app a Google Play" -"Enviar resposta al desenvolupador" -"Veure codi font a Github" -"Veure introducció de l'app" -"Enllaços" -"Comportament" -"Nom" -"Mostrar arxivats" -"Ajustaments" -"Interval d'endarreriment" -"Ho sabies?" -"Per a ordenar les entrades, prem i mantè sobre el nom de l'hàbit, després arrossega'l al lloc correcte." -"Pots veure més dies posant el teu telèfon en orientació apaisada." -"Esborrar hàbits" -"Els hàbits seran esborrats permanentment. Aquesta acció no es pot desfer." -"Caps de setmana" -"Dilluns a divendres" -"Qualsevol dia de la setmana" -"Selecciona els dies" -"Exportar a CSV" -"Fet" -"Treure" -"Selecciona les hores" -"Selecciona els minuts" - - -"Crea bons hàbits i segueix el seu progrés al llarg del temps (sense publicitat)" -"Loop t'ajuda a crear i mantenir bons hàbits, permetent-te aconseguir els teus objectius a llarg termini. Els gràfics i estadístiques detallades et mostren com han millorat els teus hàbits al llarg del temps. És completament de codi obert i lliure de publicitat." -"<b>Senzilla, bonica i moderna interfície</b> -Loop té una interfície minimalista que és fàcil d'utilitzar i segueix les guies de \"material design\"." -"<b>Puntuació d'hàbit</b> -A més de mostrar la teva ratxa actual, Loop té un algoritme avançat per a calcular la fortalesa dels teus hàbits. Cada repetició fa el teu hàbit més fort, i cada dia que fallis el farà més dèbil. Tot i això uns quants dies que fallis després d'una llarga ratxa no malmetrà completament el teu progrès." -"<b>Gràfics i estadístiques detallades</b> -Permet veure de forma clara com han millorat els teus hàbits al llarg del temps amb gràfics bonics i detallats. Pots anar enrera i veure també l'històric complet dels teus hàbits." -"<b>Planificació flexible</b> -Suporta tant hàbits diaris com hàbits amb planificacions més complexes, com per exemple 3 vegades per setmana; un cop setmana si setmana no; o un dia si i altre no." -"<b>Recordatoris</b> -Crea un recordatori individual per a cada hàbit, a l'hora escollida del dia. Revisa fàcilment, endarrereix o anul·la el teu hàbit directament des de la notificació, sense obrir l'app." -"<b>Completament de codi obert i lliure de publicitat</b> -No hi ha cap tipus de publicitat, notificacions molestes o permisos intrusius en aquesta app, i mai n'hi haurà. El codi font complet està disponible sota la llicència GPLv3." -"<b>Optimitzat per a rellotges intel·ligents</b> -Els recordatoris poden ser revisats, endarrerits o anul·lats directament des del teu rellotge Android Wear." -"En quant a" -"Traductors" -"Desenvolupadors" - - -"Versió %s" -"Freqüència" -"Marca" - - -"Fortalesa" -"Millors ratxes" -"Ratxa actual" -"Nombre de repeticions" -"Últims %d dies" -"Últimes %d setmanes" -"Últims %d mesos" -"Últims %d anys" - - -"Tot el temps" -"Cada dia" -"Cada setmana" -"2 cops per setmana" -"5 cops per setmana" -"Personalitzar ..." -"Ajuda i Preguntes Freqüents" -"Error exportant dades." -"Error important dades." - - -"Fitxer no reconegut." -"Hàbits importats correctament." -"Còpia de seguretat sencera exportada satisfactòriament." -"Importar dades" -"Exportar còpia de seguretat sencera" -"Suporta còpies de seguretat exportades per aquesta app, també fitxers generats per Tickmate, HabitBull o Rewire. Mira les Preguntes Freqüents per a més informació." -"Genera fitxers que poden ser oberts per programari de fulles de càlcul, com ara Microsoft Excel o OpenOffice Calc. Aquest fitxer no pot tornar-se a importar." -"Genera un fitxer que contè totes les teves dades. Aquest fitxer pot tornar-se a importar." -"Ha fallat la generació de l'informe d'error." -"Generar informe d'error" -"Resolució de problemes" -"Ajuda a traduïr aquesta app" -"Mode nocturn" -"Utilitzar negre pur en el mode nocturn" -"Reemplaça fons grisos per negre pur en el mode nocturn. Redueix consum de bateria en telèfons amb pantalla AMOLED." -"Interfície" -"Ordre invers de dies" -"Mostra els dies en ordre invers en la pantalla principal" -"Dia" -"Setmana" -"Mes" - - -"Quatrimestre" -"Any" - - - -"vegades en" -"Cada %d dies" -"Cada %d setmanes" -"Cada %d mesos" - - -"Puntuació" -"So de recordatori" - - -"Cap" - \ No newline at end of file + Hàbits + Ajustaments + Editar + Esborrar + Arxivar + Treure de l\'arxiu + Afegir hàbit + Canviar color + Hàbit creat. + Hàbits esborrats. + Hàbits restaurats. + Res a desfer. + Res a refer. + Hàbit modificat. + Hàbit restaurat. + Hàbits arxivats. + Hàbits trets de l\'arxiu. + Visió general + Fortalesa de l\'hàbit + Història + Netejar + Pregunta (Avui vas...?) + Repetir + vegades en + dies + Recordatori + Descartar + Desar + Ratxa + No tens hàbits actius + Prem i manté per a marcar o desmarcar + Desactivat + El nom no pot estar buit + El número ha de ser positiu + Pots tenir com a màxim una repetició per dia + Crear hàbit + Editar hàbit + Revisar + Més tard + + Benvingut + Loop Habit Tracker t\'ajuda a crear i mantenir bons hàbits + Crear alguns hàbits nous + Cada dia, després de complir el teu hàbit, posa una marca amb la app + Continua fent-ho + Els hàbits que facis consistentment durant una llarga temporada obtindran una estrella + Segueix el teu progrès + Els gràfics detallats et mostren com han mirollat els teus hàbits al llarg del temps + 15 minuts + 30 minuts + 1 hora + 2 hores + 4 hores + 8 hores + 24 hores + Activar/desactivar repeticions prement curt + Més adequat, però pot causar activacions accidentals + Interval d\'endarreriment en recordatoris + Valora aquesta app a Google Play + Enviar resposta al desenvolupador + Veure codi font a Github + Veure introducció de l\'app + Enllaços + Comportament + Nom + Ajustaments + Interval d\'endarreriment + Ho sabies? + Per a ordenar les entrades, prem i mantè sobre el nom de l\'hàbit, després arrossega\'l al lloc correcte. + Pots veure més dies posant el teu telèfon en orientació apaisada. + Esborrar hàbits + Els hàbits seran esborrats permanentment. Aquesta acció no es pot desfer. + Caps de setmana + Dilluns a divendres + Qualsevol dia de la setmana + Selecciona els dies + Exportar a CSV + Fet + Treure + Selecciona les hores + Selecciona els minuts + En quant a + Traductors + Desenvolupadors + Versió %s + Freqüència + Marca + Fortalesa + Millors ratxes + Ratxa actual + Nombre de repeticions + Últims %d dies + Últimes %d setmanes + Últims %d mesos + Últims %d anys + Tot el temps + Cada dia + Cada setmana + 2 cops per setmana + 5 cops per setmana + Personalitzar ... + Ajuda i Preguntes Freqüents + Error exportant dades. + Error important dades. + Fitxer no reconegut. + Hàbits importats correctament. + Còpia de seguretat sencera exportada satisfactòriament. + Importar dades + Exportar còpia de seguretat sencera + Suporta còpies de seguretat exportades per aquesta app, també fitxers generats per Tickmate, HabitBull o Rewire. Mira les Preguntes Freqüents per a més informació. + Genera fitxers que poden ser oberts per programari de fulles de càlcul, com ara Microsoft Excel o OpenOffice Calc. Aquest fitxer no pot tornar-se a importar. + Genera un fitxer que contè totes les teves dades. Aquest fitxer pot tornar-se a importar. + Ha fallat la generació de l\'informe d\'error. + Generar informe d\'error + Resolució de problemes + Ajuda a traduïr aquesta app + Mode nocturn + Utilitzar negre pur en el mode nocturn + Reemplaça fons grisos per negre pur en el mode nocturn. Redueix consum de bateria en telèfons amb pantalla AMOLED. + Interfície + Ordre invers de dies + Mostra els dies en ordre invers en la pantalla principal + Dia + Setmana + Mes + Quatrimestre + Any + + vegades en + Cada %d dies + Cada %d setmanes + Cada %d mesos + Puntuació + So de recordatori + Cap + Filtre + Acció + Hàbit + Exportar + diff --git a/app/src/main/res/values-cs/strings.xml b/app/src/main/res/values-cs/strings.xml index 62be2912f..22eea828f 100644 --- a/app/src/main/res/values-cs/strings.xml +++ b/app/src/main/res/values-cs/strings.xml @@ -1,183 +1,178 @@ + + - - -"Loop Habit Tracker" -"Zvyky" -"Nastavení" -"Upravit" -"Smazat" -"Archivovat" -"Obnovit" -"Přidat zvyk" -"Změnit barvu" -"Zvyk vytvořen." -"Zvyky smazány." -"Zvyky obnoveny." -"Nelze jít zpět." -"Nelze jít vpřed." -"Zvyk změněn." - - -"Zvyk změněn zpět." -"Archivováno." -"Zvyky obnoveny." -"Přehled" -"Síla zvyku" -"Historie" -"Smazat" -"Otázka (Dělal jsi dnes...?)" - - -"Opakovat" -"krát za" -"dní" -"Připomenout" -"Zrušit" -"Uložit" - - - -"Serie" -"Nemáš žádné aktivní zvyky" -"Stiskni a drž pro označení" -"Off" -"Jméno musíte vyplnit." -"Číslo musí být kladné." -"Můžete mít maximálně jedno označení denně." -"Vytvořit zvyk" -"Upravit zvyk" -"Označeno" -"Odložit" - - -"Vítejte" -"Sledování zvyků ti pomůže vytvořit a dosáhnout dobrých návyků." -"Vytvoř si nové zvyky" -"Každý den po splnění zvyku, si ho v aplikaci zaškrtni." -"Jen tak dál" -"Zvyky, které vykonáváš pravidelně delší dobu, se označí hvězdou." -"Sleduj svůj postup" -"Detailní grafy ti ukážou, jak se tvé zvyky v průběhu času zlepšily." -"15 minut" -"30 minut" -"Hodina" -"2 hodiny" -"4 hodiny" -"8 hodin" -"Označte opakování krátkým stisknutím" -"Praktičtější, ale může způsobit nechtěné označení." -"Doba odložení upomínky" -"Ohodnoťte nás v Google Play" -"Zpětná vazba vývojáři" -"Zobrazit zdroj. kód na GitHub" -"Představení aplikace" -"Odkazy" -"Chování" -"Jméno" -"Zobrazit archiv" -"Nastavení" -"Interval odkladu" -"Věděli jste?" -"Přeřazení záznamů proveď stisknutím a podržením názvu zvyku a poté přesunutím na správné místo." -"Můžeš vidět více dnů otočením telefonu na šířku." -"Smazat zvyky" -"Zvyky budou navždy odstraněny. Toto nelze vzít zpět." -"Víkendy" -"Pondělí až pátek" -"Jakýkoliv den v týdnu" -"Vyber dny" -"Exportuj CSV" -"Hotovo" -"Smazat" -"Vyber hodiny" -"Vyber minuty" - - -"Vytvoř si prospěšné návyky a sleduj jejich vývoj v průběhu času (bez reklam)" -"Aplikace ti pomůže vytvořit a udržovat si prospěšné návyky a dosáhnout tak tvých dlouhodobých cílů. Detailní grafy a statistiky ti ukáží, jak se tvoje zvyky postupem času zlepšují. Vše je kompletně bez reklam a open source." -"<b>Jednoduché, krásné a moderní prostředí</b> -Aplikace má minimalistický design s jednoduchým použitím. Dodržuje pravidla material designu." -"<b>Síla zvyku</b> -Pro zobrazení aktuální úspěšné serie aplikace využívá pokročilý algoritmus, aby vypočítala sílu tvých zvyků. Každé opakování dělá tvůj zvyk silnějším a každé nedodržení ho oslabuje. Ale pár vynechaných dní po dlouhé řadě kompletně nezničí celý tvůj postup." -"<b>Detailní grafy a statistika</b> -Přehledně vidíš na krásných grafech, jak moc se tvoje zvyky zlepšují v průběhu času. Jeď zpět, abys viděl kompletní historii." -"<b>Flexibilní časový plán</b> -Podpora jak denních návyků, tak návyků s komplexnějším rozvrhem. Jako jsou 3 krát týdně, jednou za dva týdny, nebo obden." -"<b>Upomínky</b> -Vytvoř si individuální upomínku pro každý zvyk ve zvolený čas. Jednoduše potvrď, přeskoč nebo odlož notifikace bez nutnosti otevření aplikace." -"<b>Kompletně bez reklam a open source</b> -Nejsou tu naprosto žádné reklamy, otravné notifikace nebo dotěrná povolení aplikace. A nikdy nebudou. Kompletní zdrojový kód je dostupný pod GPLv3." -"<b>Optimalizované pro chytré hodinky</b> -Upomínky mohou být potvrzen, odloženy nebo smazány přímo z tvého zařízení s Android Wear." -"O nás" -"Překladatelé" -"Vývojáři" - - -"Verze %s" -"Frekvence" -"Zatržítko" - - -"Síla" -"Nejlepší serie" -"Aktuální serie" -"Počet opakování" -"Posledních %d dnů" -"Posledních %d týdnů" -"Posledních %d měsíců" -"Posledních %d roků" - - -"Bez omezení" -"Každý den" -"Každý týden" -"2 krát týdně" -"5 krát týdně" -"Vlastní..." -"Pomoc a FAQ" -"Export selhal." -"Import selhal." - - -"Soubor netozpoznán." -"Zvyky úspěšně importovány." -"Kompletní záloha úspěšně exportována." -"Importovat" -"Kompletní export" -"Podpora exportů z této aplikace, ale také souborů vygenerovaných aplikacemi od Tickmate, HabitBull nebo Rewire. Pro více info si prečti FAQ." -"Generuje soubory, které můžeš otevřít v tabulkových editorech, jako jsou Microsoft Excel nebo OpenOffice Calc. Tyto soubory nelze importovat zpět." -"Generuje soubor, který obsahuje všechna tvoje data. Tento soubor můžeš importovat zpět." -"Generace výpisu chyb selhala." -"Generovat výpis chyb" -"Řešení problémů" -"Pomozte s překladem aplikace" -"Noční téma" -"Zobrazit čistě černou v nočním tématu" -"Nahradí šedé pozadí čistou černou v nočním tématu. Snižuje spotřebu baterie v telefonech s AMOLED displejem." -"Rozhraní" -"Otočit pořadí dnů" -"Zobrazí dny na úvodní stránce v obráceném pořadí" -"Den" -"Týden" -"Měsíc" - - -"Čtvrtletí" -"Rok" - - - -"krát za" -"Každých %d dní" -"Každých %d týdnů" -"Každých %d měsíců" - - -"Skóre" -"Zvuk upomínky" - - -"Žádný" - \ No newline at end of file + Sledování zvyků + Zvyky + Nastavení + Upravit + Smazat + Archivovat + Obnovit + Přidat zvyk + Změnit barvu + Zvyk vytvořen. + Zvyky smazány. + Zvyky obnoveny. + Nelze jít zpět. + Nelze jít vpřed. + Zvyk změněn. + Zvyk změněn zpět. + Archivováno. + Zvyky obnoveny. + Přehled + Síla zvyku + Historie + Smazat + Otázka (Dělal jsi dnes...?) + Opakovat + krát za + dní + Připomenout + Zrušit + Uložit + Serie + Nemáš žádné aktivní zvyky + Stiskni a drž pro označení + Vyp. + Jméno musíte vyplnit. + Číslo musí být kladné. + Můžete mít maximálně jedno označení denně. + Vytvořit zvyk + Upravit zvyk + Označeno + Odložit + + Vítejte + Sledování zvyků ti pomůže vytvořit a dosáhnout dobrých návyků. + Vytvoř si nové zvyky + Každý den po splnění zvyku, si ho v aplikaci zaškrtni. + Jen tak dál + Zvyky, které vykonáváš pravidelně delší dobu, se označí hvězdou. + Sleduj svůj postup + Detailní grafy ti ukážou, jak se tvé zvyky v průběhu času zlepšily. + 15 minut + 30 minut + Hodina + 2 hodiny + 4 hodiny + 8 hodin + 24 hodin + Označte opakování krátkým stisknutím + Praktičtější, ale může způsobit nechtěné označení. + Doba odložení upomínky + Ohodnoťte nás v Google Play + Zpětná vazba vývojáři + Zobrazit zdroj. kód na GitHub + Představení aplikace + Odkazy + Chování + Jméno + Nastavení + Interval odkladu + Věděli jste? + Přeřazení záznamů proveď stisknutím a podržením názvu zvyku a poté přesunutím na správné místo. + Můžeš vidět více dnů otočením telefonu na šířku. + Smazat zvyky + Zvyky budou navždy odstraněny. Toto nelze vzít zpět. + Zvyk smazán / nenalezen + Víkendy + Pondělí až pátek + Jakýkoliv den v týdnu + Vyber dny + Exportuj CSV + Hotovo + Smazat + Vyber hodiny + Vyber minuty + O nás + Překladatelé + Vývojáři + Verze %s + Frekvence + Zatržítko + Síla + Nejlepší serie + Aktuální serie + Počet opakování + Posledních %d dnů + Posledních %d týdnů + Posledních %d měsíců + Posledních %d roků + Bez omezení + Každý den + Každý týden + 2 krát týdně + 5 krát týdně + Vlastní... + Pomoc a FAQ + Export selhal. + Import selhal. + Soubor netozpoznán. + Zvyky úspěšně importovány. + Kompletní záloha úspěšně exportována. + Importovat + Kompletní export + Podpora exportů z této aplikace, ale také souborů vygenerovaných aplikacemi od Tickmate, HabitBull nebo Rewire. Pro více info si prečti FAQ. + Generuje soubory, které můžeš otevřít v tabulkových editorech, jako jsou Microsoft Excel nebo OpenOffice Calc. Tyto soubory nelze importovat zpět. + Generuje soubor, který obsahuje všechna tvoje data. Tento soubor můžeš importovat zpět. + Generace výpisu chyb selhala. + Generovat výpis chyb + Řešení problémů + Pomozte s překladem aplikace + Noční téma + Zobrazit čistě černou v nočním tématu + Nahradí šedé pozadí čistou černou v nočním tématu. Snižuje spotřebu baterie v telefonech s AMOLED displejem. + Rozhraní + Otočit pořadí dnů + Zobrazí dny na úvodní stránce v obráceném pořadí + Den + Týden + Měsíc + Čtvrtletí + Rok + Celkem + + krát za + Každých %d dní + Každých %d týdnů + Každých %d měsíců + Skóre + Zvuk upomínky + Žádný + Filtr + Skrýt dokončené + Skrýt archivované + Připnout notifikaci + Zabraňuje notifikaci její odstranění odsunutím. + Opravit databázi + Databáze opravena. + Odznačit + Přepnout + Akce + Zvyk + Řadit + Manuálně + Abecedně + Podle barvy + Podle skóre + Stáhnout + Export + diff --git a/app/src/main/res/values-da/strings.xml b/app/src/main/res/values-da/strings.xml index 6e725d336..f076c61a7 100644 --- a/app/src/main/res/values-da/strings.xml +++ b/app/src/main/res/values-da/strings.xml @@ -1,180 +1,154 @@ + + - "Loop Vane Tracker" - "Vaner" - "Indstillinger" - "Rediger" - "Slet" - "Arkiver" - "Fjern fra arkiv" - "Tilføj vane" - "Skift farve" - "Vanen er skabt." - "Vanen er slettet." - "Vanen er genskabt." - "Intet at fortryde." - "Intet at gengøre." - "Vanen er ændret" - - - "Vanen er ændret tilbage." - "Vanerne er arkiveret." - "Vanerne er fjernet fra arkivet." - "Overblik" - "Vanestyrke" - "Historie" - "Rens" - "Spørgsmål (Fik du … i dag)" - - - "Gentag" - "gange på" - "dage" - "Påmindelse" - "Forkast" - "Gem" - - - "i træk" - "Du har ingen aktive vaner" - "Tryk og hold nede for at afkrydse" - "Slukket" - "Navn skal udfyldes." - "Tallet skal være positivt." - "Du kan højst have én gentagelse per dag" - "Skab en vane" - "Rediger vane" - "Tjek" - "Senere" - - - "Velkommen" - "Loop Habit Tracker hjælper dig med at holde gode vaner." - "Skab nogle nye vaner" - "Hver dag, efter at have udført din vane, skal du sætte et flueben i app'en." - "Fortsæt" - "Vaner fulgt regelmæssigt gennem langtid modtager en stjerne." - "Følg dine fremskridt" - "Detaljerede grafer viser dig hvordan dine vaner udvikler sig over tid." - "15 minutter" - "30 minutter" - "1 time" - "2 timer" - "4 timer" - "8 timer" - "Vælg gentagelser med kort tryk" - "Mere bekvemmeligt, men kan forårsage uhensigtede tryk." - "Snooze interval på påmindelserne" - "Bedøm denne app på Google Play" - "Send feedback til udvikleren" - "Se kildekoden på GitHub" - "Se app introduktion" - "Henvisninger" - "Opførelse" - "Navn" - "Vis arkiverede" - "Indstillinger" - "Snooze interval" - "Vidste du?" - "For at omarrangere poster, tryk og hold på navnet på den vane, og træk den til det korrekte sted." - "Du kan se flere dage ved at sætte telefonen i liggende tilstand." - "Slet vaner" - "Vanerne vil blive slettet permanent. Denne handling kan ikke fortrydes." - "Weekender" - "Mandag til Fredag" - "En hvilken som helst dag i ugen" - "Vælg dage" - "Eksporter som CSV" - "Færdig" - "Fjern" - "Vælg timer" - "Vælg minutter" - - - "Opret gode vaner og spore deres fremskridt over tid (reklamefri)" - "Loop hjælper dig med at oprette og vedligeholde gode vaner, så du kan nå dine langsigtede mål. Detaljerede grafer og statistikker viser dig, hvordan dine vaner har forbedret over tid. Det er helt reklamefri og open source." -"<B> Enkel, smuk og moderne grænseflade </ b> -Loop har en minimalistisk brugerflade, der er nem at bruge og følger Google's retningslinjer for materielle design." -"<B> Habit score </ b> -Ud over at vise din nuværende stribe, har Loop en avanceret algoritme til at beregne styrken af dine vaner. Hver gentagelse gør din vane stærkere, og hver misset dag gør det svagere. Et par misset dage efter en lang stribe, vil dog ikke helt ødelægge hele din fremgang." -"<B> Detaljerede grafer og statistikker </ b> -Se, hvordan dine vaner har forbedret over tid med smukke og detaljerede grafer. Rul tilbage for at se den komplette oversigt over dine vaner." -"<B> Fleksible skemaer </ b> -Understøtter både daglige vaner og vaner med mere komplekse skemaer, såsom 3 gange hver uge; én gang hver anden uge; eller hver anden dag." -"<B> Påmindelser </ b> -Opret en individuel påmindelse for hver vane, på et valgt tidspunkt af dagen. Nemt kontrollere, afskedige eller udsætte din vane direkte fra notifikationen, uden at åbne applikationen." -"<B> Helt reklamefri og open source </ b> -Der er absolut ingen reklamer, irriterende meddelelser eller indgribende tilladelser i denne app, og det vil der aldrig være. Den komplette kildekode er tilgængelig under GPLv3." -"<B> Optimeret til smartwatches </ b> -Påmindelser kan kontrolleres, udsæt eller afvise direkte fra din Android Wear ur." - "Om" - "Oversættere" - "Udviklere" - - - "Version %s" - "Hyppighed" - "Afkrydsning" - - - "Styrke" - "Bedste striber" - "Aktuel stribe" - "Antal gentagelser" - "Sidste % dage" - "Sidste %d uger" - "Sidste %d måneder" - "Sidste %d år" - - - "All time" - "Hver dag" - "Hver uge" - "2 gange om ugen" - "5 gange om ugen" - "Brugerdefinerede" - "Hjælp & FAQ" - "Kunne ikke eksportere data" - "Kunne ikke importere data" - - - "Fil ikke genkendt." - "Vaner importeret." - "Fuld backup eksporteret." - "Importer data" - "Eksporter fuld backup." - "Understøtter fuld backup eksporteret af denne app, samt filer genereret af Tickmate, HabitBull eller Rewire. Se FAQ for mere information." - "Opretter filer, der kan åbnes af regneark fra Microsoft Excel eller OpenOffice Calc. Denne fil kan ikke importeres tilbage." - "Opretter en fil, der indeholder alle dine data. Denne fil kan importeres tilbage." - "Kunne ikke generere fejlrapport." - "Generer fejlrapport" - "Fejlfinding" - "Hjælpe med at oversætte denne app" - "Nat-tilstand" - "Brug ren sort i nat-tilstand" - "Erstatter grå baggrunde med ren sort i nat-tilstand. Reducerer batteriforbruget i telefoner med AMOLED skærm." - "Grænseflade" - "Omvendt rækkefølge af dage" - "Vis dag i omvendt rækkefølge på hovedskærmen" - "Dag" - "Uge" - "Måned" - - - "Kvartal" - "År" - - - - "Tid til" - "Hver %d dage" - "Hver %d uger" - "Hver %d måneder" - - - "Point" - "Påmindelse lyd" - - - "Ingen" - \ No newline at end of file + Loop Vane Tracker + Vaner + Indstillinger + Rediger + Slet + Arkiver + Fjern fra arkiv + Tilføj vane + Skift farve + Vanen er skabt. + Vanen er slettet. + Vanen er genskabt. + Intet at fortryde. + Intet at gengøre. + Vanen er ændret + Vanen er ændret tilbage. + Vanerne er arkiveret. + Vanerne er fjernet fra arkivet. + Overblik + Vanestyrke + Historie + Rens + Spørgsmål (Fik du … i dag) + Gentag + gange på + dage + Påmindelse + Forkast + Gem + i træk + Du har ingen aktive vaner + Tryk og hold nede for at afkrydse + Slukket + Navn skal udfyldes. + Tallet skal være positivt. + Du kan højst have én gentagelse per dag + Skab en vane + Rediger vane + Tjek + Senere + + Velkommen + Loop Habit Tracker hjælper dig med at holde gode vaner. + Skab nogle nye vaner + Hver dag, efter at have udført din vane, skal du sætte et flueben i app\'en. + Fortsæt + Vaner fulgt regelmæssigt gennem langtid modtager en stjerne. + Følg dine fremskridt + Detaljerede grafer viser dig hvordan dine vaner udvikler sig over tid. + 15 minutter + 30 minutter + 1 time + 2 timer + 4 timer + 8 timer + Vælg gentagelser med kort tryk + Mere bekvemmeligt, men kan forårsage uhensigtede tryk. + Snooze interval på påmindelserne + Bedøm denne app på Google Play + Send feedback til udvikleren + Se kildekoden på GitHub + Se app introduktion + Henvisninger + Opførelse + Navn + Indstillinger + Vidste du? + For at omarrangere poster, tryk og hold på navnet på den vane, og træk den til det korrekte sted. + Du kan se flere dage ved at sætte telefonen i liggende tilstand. + Slet vaner + Vanerne vil blive slettet permanent. Denne handling kan ikke fortrydes. + Weekender + Mandag til Fredag + En hvilken som helst dag i ugen + Vælg dage + Eksporter som CSV + Færdig + Fjern + Vælg timer + Vælg minutter + Om + Oversættere + Udviklere + Hyppighed + Afkrydsning + Styrke + Bedste striber + Aktuel stribe + Antal gentagelser + Sidste % dage + Sidste %d uger + Sidste %d måneder + Sidste %d år + Hver dag + Hver uge + 2 gange om ugen + 5 gange om ugen + Brugerdefinerede + Hjælp & FAQ + Kunne ikke eksportere data + Kunne ikke importere data + Fil ikke genkendt. + Vaner importeret. + Fuld backup eksporteret. + Importer data + Eksporter fuld backup. + Understøtter fuld backup eksporteret af denne app, samt filer genereret af Tickmate, HabitBull eller Rewire. Se FAQ for mere information. + Opretter filer, der kan åbnes af regneark fra Microsoft Excel eller OpenOffice Calc. Denne fil kan ikke importeres tilbage. + Opretter en fil, der indeholder alle dine data. Denne fil kan importeres tilbage. + Kunne ikke generere fejlrapport. + Generer fejlrapport + Fejlfinding + Hjælpe med at oversætte denne app + Nat-tilstand + Brug ren sort i nat-tilstand + Erstatter grå baggrunde med ren sort i nat-tilstand. Reducerer batteriforbruget i telefoner med AMOLED skærm. + Grænseflade + Omvendt rækkefølge af dage + Vis dag i omvendt rækkefølge på hovedskærmen + Dag + Uge + Måned + Kvartal + År + + Tid til + Hver %d dage + Hver %d uger + Hver %d måneder + Point + Påmindelse lyd + Ingen + diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index e3fa85f7f..98ed18401 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -1,195 +1,178 @@ + + -"Loop Habit Tracker" -"Gewohnheiten" -"Einstellungen" -"Bearbeiten" -"Löschen" -"Archivieren" -"Dearchivieren" -"Gewohnheit hinzufügen" -"Farbe ändern" -"Gewohnheit erstellt." -"Gewohnheiten gelöscht." -"Gewohnheiten wiederhergestellt." -"Nichts zum rückgängig machen." -"Nichts zum wiederherstellen." -"Gewohnheit geändert." - - -"Gewohnheit zurückgeändert." -"Gewohnheiten archiviert." -"Gewohnheiten dearchiviert." -"Übersicht" - - -"Stärke" -"Verlauf" -"Löschen" -"Frage (Hast du heute ...?)" - - -"Wiederhole" - - -"Mal in" -"Tagen" -"Erinnerung" -"Verwerfen" -"Speichern" - - - -"Strähnen" -"Du hast keine aktiven Gewohnheiten" -"Berühre und halte um zu (de)markieren" -"Aus" -"Name darf nicht leer sein." -"Zahl muss positiv sein." -"Du musst wenigstens eine Wiederholung pro Tag haben" -"Gewohnheit erstellen" -"Gewohnheit bearbeiten" -"Abhaken" -"Später" - - -"Willkommen" -"Loop Habit Tracker hilft dir gute Gewohnheiten anzueignen." -"Erstelle einige neue Gewohnheiten" -"Jeden Tag, nachdem du die Gewohnheit gemacht hast, hake sie in der App ab." -"Bleib dran" -"Gewohnheiten, die über eine längere Zeit absolviert werden, bekommen einen ganzen Stern." -"Verfolge deinen Fortschritt" -"Detaillierte Diagramme zeigen dir wie sich deine Gewohnheiten entwickelt haben." -"15 Minuten" -"30 Minuten" -"1 Stunde" -"2 Stunden" -"4 Stunden" -"8 Stunden" -"Gewohnheiten durch kurzes Drücken abhaken" -"Bequemer, kann aber eine falsche Auswahl verursachen." -"\"Später erinnern\"-Intervall bei Erinnerungen" -"Bewerte diese App bei Google Play" -"Sende dem Entwickler Feedback" -"Zeige den Quellcode auf GitHub" -"Zeige Anleitung" -"Links" -"Verhalten" -"Name" -"Zeige Archiviertes" -"Einstellungen" -"\"Später erinnern\"-Intervall" -"Wusstest du?" -"Um Einträge umzusortieren, drücke und ziehe sie an die richtige Stelle." -"Du kannst mehr Tage sehen, wenn du dein Smartphone quer hältst." -"Gewohnheiten löschen" -"Diese Gewohnheit wird permanent gelöscht. Dies kann nicht rückgängig gemacht werden." -"An Wochenenden" -"Werktags" -"Jeden Tag" -"Wähle die Tage" -"Daten als CSV exportieren" -"Fertig" -"Löschen" -"Wähle Stunden" -"Wähle Minuten" - - -"Nimm gute Gewohnheiten an und verfolge deinen Fortschritt (ohne Werbung)" -"Loop hilft dir gute Gewohnheiten anzunehmen und deine langfristigen Ziele zu erreichen. Detaillierte Statistiken zeigen dir, wie du dich entwickelt hast. Es ist ohne Werbung und Open Source." -"<b>Einfache, schöne und moderne Oberfläche</b> -Loop hat eine minimale Oberfläche und ist deshalb einfach zu benutzen. Es folgt den Material Design Richtlinien." - - -"<b>Habit Wertung</b> -Um dir deine kleinen Schwächen zu zeigen hat Loop einen Algorithmus, um deine Gewohnheiten zu erkennen. Jede Wiederholung verstärkt diese und jedes Aussetzen schwächt sie. Aber ein paar Verfehlungen nach langem Durchhalten machen natürlich nicht gleich alles zu Nichte." -"<b>Statistiken</b> -Schau dir an, wie sich deine Gewohnheiten im Laufe der Zeit entwickelt haben. Schau auf die schönen Diagramme und gehe zurück im gesamten Verlauf." -"<b>Flexible Zeiten</b> -Unterstützt sowohl tägliche Vorgaben, als auch komplexere Pläne, wie etwa 3 Mal pro Woche; einmal in jeder anderen Woche; oder jeden anderen Tag." -"<b>Erinnerungen</b> -Erstelle individuelle Erinnerungen und wann diese dich benachrichtigen sollen. Kontrolliere deine Vorhaben ganz einfach und lehne sie bei Bedarf direkt ab, ohne die App zu öffnen." -"<b>Komplett werbefrei und Open Source</b> -Es gibt absolut keine Werbung, nervende Einblendungen oder merkwürdige Berechtigungen in dieser App und das wird auch so bleiben. Der komplette Quellcode steht unter der GPLv3." -"<b>Optimiert für Smartwatches</b> -Erinnerungen können direkt von deiner Android Wear Watch abgehakt, pausiert oder verschoben werden." -"Über" -"Übersetzer" -"Entwickler" - - -"Version %s" -"Frequenz" - - -"Häkchen" - - - -"Stärke" - - -"Beste Strähnen" - - -"Derzeitige Strähne" -"Anzahl der Wiederholungen" -"Letzten %d Tage" -"Letzten %d Wochen" -"Letzten %d Monate" -"Letzten %d Jahre" - - - -"Allzeit" -"Jeden Tag" -"Jede Woche" -"2 Mal pro Woche" -"5 Mal pro Woche" -"Benutzerdefiniert" -"Hilfe & FAQ" -"Der Export von Daten ist fehlgeschlagen." -"Der Import von Daten ist fehlgeschlagen." - - -"Datei nicht erkannt." -"Gewohnheiten wurden erfolgreich importiert." -"Vollständige Sicherung erfolgreich exportiert." -"Importiere Daten" -"Exportiere vollständige Sicherung" -"Unterstützt vollständige Sicherungen dieser App, als auch erstellte Sicherungen von Tickmate, HabitBull oder Rewire. Siehe FAQ für mehr Information." -"Erzeugt Dateien, die von Tabellenkalkulationsprogrammen, wie Microsoft Excel oder LibreOffice Calc, geöffnet werden können. Diese Dateien können nicht wieder importiert werden." -"Erzeugt eine Datei, die alle deine Daten enthält. Diese Datei kann wieder importiert werden." -"Fehlermeldung konnte nicht erstellt werden." -"Einen Fehler melden" -"Fehlerbehebung" -"Hilf diese App zu übersetzen" -"Nachtmodus" -"Reines Schwarz im Nachtmodus verwenden" -"Ersetzt das Grau im Hintergrund mit einem reinen Schwarz im Nachtmodus. Reduziert den Stromverbrauch von Smartphones mit einem AMOLED Display." -"Oberfläche" -"Die Reihenfolge der Tage umkehren" -"Zeigt die Tage im Hauptfenster in umgekehrter Reihenfolge an." -"Tag" -"Woche" -"Monat" - - -"Quartal" -"Jahr" - - - -"Mal in" -"Jeden %d Tag" -"Jede %d Woche" -"Jeden %d Monat" - - -"Wertung" -"Benachrichtigungston" - - -"Kein Ton" - \ No newline at end of file + Loop Habit Tracker + Gewohnheiten + Einstellungen + Bearbeiten + Löschen + Archivieren + Dearchivieren + Gewohnheit hinzufügen + Farbe ändern + Gewohnheit erstellt + Gewohnheiten gelöscht + Gewohnheiten wiederhergestellt + Nichts zum Rückgängig machen + Nichts zum Wiederherstellen + Gewohnheit geändert + Gewohnheit zurückgeändert + Gewohnheiten archiviert + Gewohnheiten dearchiviert + Übersicht + Stärke + Verlauf + Löschen + Frage (Hast du heute ...?) + Wiederhole + Mal in + Tagen + Erinnerung + Verwerfen + Speichern + Strähnen + Du hast keine aktiven Gewohnheiten + Tippe und halte um aus- bzw. abzuwählen + Aus + Name darf nicht leer sein. + Zahl muss positiv sein. + Du musst wenigstens eine Wiederholung pro Tag haben + Gewohnheit erstellen + Gewohnheit bearbeiten + Abhaken + Später + + Willkommen + Loop Habit Tracker hilft dir gute Gewohnheiten implementieren. + Erstelle neue Gewohnheiten + Jeden Tag, nachdem du die Gewohnheit gemacht hast, hake sie in der App ab. + Bleib dran + Gewohnheiten, die über einen längeren Zeitraum absolviert werden, bekommen einen ganzen Stern. + Verfolge deinen Fortschritt + Detaillierte Diagramme zeigen dir an wie sich deine Gewohnheiten entwickelt haben. + 15 Minuten + 30 Minuten + 1 Stunde + 2 Stunden + 4 Stunden + 8 Stunden + 24 Stunden + Gewohnheiten durch kurzes Tippen abhaken + Abhaken durch einfaches Tippen, anstatt durch Tippen und Halten. Bequemer, kann aber eine falsche Auswahl verursachen. + \"Später erinnern\"-Intervall bei Erinnerungen + Bewerte diese App auf Google Play + Sende dem Entwickler Feedback + Zeige den Quellcode auf GitHub + Zeige die Anleitung + Links + Verhalten + Name + Einstellungen + \"Später erinnern\"-Intervall + Wusstest du? + Um Einträge umzusortieren, tippe und ziehe sie an die richtige Stelle. + Du kannst mehr Tage sehen, wenn du dein Smartphone quer hältst. + Gewohnheiten löschen + Diese Gewohnheit wird permanent gelöscht. Dies kann nicht rückgängig gemacht werden. + Gewohnheit gelöscht / nicht gefunden + An Wochenenden + Werktags + Jeden Tag + Wähle die Tage + als CSV exportieren + Fertig + Löschen + Wähle Stunden + Wähle Minuten + Über + Übersetzer + Entwickler + Version %s + Frequenz + Häkchen + Stärke + Beste Strähnen + Derzeitige Strähne + Anzahl der Wiederholungen + Letzten %d Tage + Letzten %d Wochen + Letzten %d Monate + Letzten %d Jahre + Allzeit + Jeden Tag + Jede Woche + 2 Mal pro Woche + 5 Mal pro Woche + Benutzerdefiniert + Hilfe & FAQ + Der Export von Daten ist fehlgeschlagen. + Der Import von Daten ist fehlgeschlagen. + Datei nicht erkannt. + Gewohnheiten wurden erfolgreich importiert. + Vollständige Sicherung erfolgreich exportiert. + Importiere Daten + Exportiere vollständige Sicherung + Unterstützt vollständige Sicherungen dieser App, sowie erstellte Sicherungen von Tickmate, HabitBull oder Rewire. Siehe FAQ für mehr Information. + Erzeugt Dateien, die von Tabellenkalkulationsprogrammen, wie Microsoft Excel oder LibreOffice Calc, geöffnet werden können. Diese Dateien können nicht wieder importiert werden. + Erzeugt eine Datei, die alle deine Daten enthält. Diese Datei kann wieder importiert werden. + Fehlermeldung konnte nicht erstellt werden. + Einen Fehler melden + Fehlerbehebung + Hilf diese App zu übersetzen + Nachtmodus + Reines Schwarz im Nachtmodus verwenden + Ersetzt das Grau im Hintergrund durch ein reines Schwarz im Nachtmodus. Reduziert den Stromverbrauch von Smartphones mit einem AMOLED Display. + Oberfläche + Die Reihenfolge der Tage umkehren + Zeigt die Tage im Hauptfenster in umgekehrter Reihenfolge an + Tag + Woche + Monat + Quartal + Jahr + Gesamt + + Mal in + Jeden %d Tag + Jede %d Woche + Jeden %d Monat + Wertung + Benachrichtigungston + Kein Ton + Filter + Erledigte Gewohnheiten ausblenden + Archivierte Gewohnheiten ausblenden + Permanente Benachrichtigungen + Verhindert das Wegwischen von Benachrichtigungen. + Datenbank reparieren + Datenbank repariert. + Abwählen + Umschalten + Aktion + Gewohnheit + Sortiere + Manuell + Nach Name + Nach Farbe + Nach Wertung + Runterladen + Export + diff --git a/app/src/main/res/values-el/strings.xml b/app/src/main/res/values-el/strings.xml index 73cc39800..606025a55 100644 --- a/app/src/main/res/values-el/strings.xml +++ b/app/src/main/res/values-el/strings.xml @@ -1,180 +1,157 @@ + + - "Loop - Καταγραφή Συνηθειών" - "Συνήθειες" - "Ρυθμίσεις" - "Επεξεργασία" - "Διαγραφή" - "Αρχειοθέτηση" - "Κατάργηση αρχειοθέτησης" - "Νέα συνήθεια" - "Αλλαγή χρώματος" - "Δημιουργήθηκε συνήθεια." - "Συνήθεια διαγράφτηκε." - "Η συνήθεια επαναφέρθηκε." - "Τίποτα για αναίρεση" - "Τίποτα προς επανάληψη." - "Η συνήθεια άλλαξε" - - - "Δεν έγινε αλλαγή." - "Η συνήθεια αρχειοθετήθηκε." - "Έγινε αφαίρεση αρχειοθέτησης." - "Επισκόπηση" - "Δύναμη συνήθειας" - "Ιστορικό" - "Εκκαθάριση" - "Ερώτηση (Κάνατε...σήμερα;)" - - - "Επανέλαβε" - "φορές την" - "ημέρες" - "Υπενθύμιση" - "Απόρριψη" - "Αποθήκευση" - - - "Σερί" - "Δεν έχετε ενεργές συνήθειες" - "Πατήστε παρατεταμένα για επιλογή η αποεπιλογή" - "Χωρίς" - "Το όνομα δεν μπορεί να είναι κενό" - "Πρεπει να είναι θετικό" - "Μπορείτε να κάνετε μονάχα μία επανάληψη ανά ημέρα" - "Δημιουργία συνήθειας" - "Επεξεργασία συνήθειας" - "Επιλογή" - "Αργότερα" - - - "Καλώς ορίσατε" - "Το Loop - Καταγραφή Συνηθειών σας βοηθάει να δημιουργήσετε και να διατηρήσετε καλές συνήθειες." - "Δημιουργήστε μερικές νέες συνήθειες" - "Κάθε μέρα, με το πέρας της συνήθειας, βάλτε ένα τικ στην εφαρμογή." - "Συνεχίστε να το κάνετε" - "Συνήθειες που εκτελούνται με συνέπεια για πολύ καιρό" - "Κατέγραψε την πρόοδο σου" - "Λεπτομερή διαγράμματα σας δείχνουν την πρόοδο των συνηθειών." - "15 λεπτά" - "30 λεπτά" - "1 ώρα" - "2 ώρες" - "4 ώρες" - "8 ώρες" - "Κάντε εναλλαγή των επαναλήψεων με σύντομο πάτημα" - "Βολικότερο, αλλά ίσως προκαλέσει ακούσιες εναλλαγές." - "Διάστημα αναβολής υπενθυμίσεων" - "Βαθμολογήστε αυτή την εφαρμογή στο Google Play" - "Στείλετε σχόλια" - "Δείτε τον πηγαίο κώδικα στο GitHub" - "Δείτε την εισαγωγή" - "Σύνδεσμοι" - "Συμπεριφορά" - "Όνομα" - "Αρχειοθετημένα" - "Ρυθμίσεις" - "Διάστημα αναβολής" - "Γνωρίζατε;" - "Αναδιατάξετε τις συνήθειες πατώντας παρατεταμένα στο όνομα και σύροντας στην σωστή θέση." - "Μπορείτε να δείτε περισσότερες ημέρες στην οριζόντια προβολή." - "Διαγραφή συνηθειών" - "Οι συνήθειες θα διαγραφτούν οριστικά. Αυτό δεν μπορεί να αναιρεθεί." - "Σαββατοκύριακα" - "Δευτέρα μέχρι Παρασκευή" - "Οποιαδήποτε μέρα της εβδομάδας" - "Επιλογή ημερών" - "Εξαγωγή σαν CSV" - "Έγινε" - "Εκκαθάριση" - "Επιλογή ωρών" - "Επιλογή λεπτών" - - - "Δημιουργήστε καλές συνήθειες και δείτε την πρόοδο τους(ad-free)" - "Το Loop συμβάλλει στην δημιουργία και διατήρηση καλών συνηθειών, επιτρέποντας την επίτευξη των στόχων σας. Λεπτομερή διαγράμματα και στατιστικά για την πρόοδο των συνηθειών σας. Χωρίς διαφημίσεις, ανοικτού κώδικα." -"<b>Απλή, κομψή και μοντέρνα διεπαφή χρήστη</b> -Το Loop έχει μια μινιμαλιστική διεπαφή χρήστη που το καθιστά εύκολο στην χρήση ενώ ακολουθεί τις κατευθυντήριες γραμμές του ματεριαλιστικού σχεδιασμού." -"<b>Σκόρ συνήθειας<b> -Εκτώς της προβολής του τρέχοντος σερί, το Loop χρησιμοποιεί έναν προηγμένο αλγόριθμο για τον υπολογισμό της δύναμης των συνηθειών σας. Κάθε επανάληψη κάνει την συνήθεια δυνατότερη ενώ κάθε παράλειψη ασθενέστερη. Ωστόσο μερικές χαμένες μέρες μετά από ένα μεγάλο σερί δεν θα καταστρέψουν την συνολική σας πρόοδο." -"<b>Λεπτομερή διαγράμματα και στατιστικά</b> -Δείτε καθαρά την πρόοδο των συνηθειών σας σε βάθος χρόνου με όμορφα και λεπτομερή διαγράμματα. Ανατρέξτε στο πλήρες ιστορικό των συνηθειών σας." -"<b>Ευέλικτα προγράμματα</b> -Υποστηρίζει εξίσου καθημερινές συνήθειες και συνήθειες με περίπλοκα προγράμματα, όπως 3 φορές κάθε εβδομάδα, μια φορά κάθε δεύτερη εβδομάδα ή ημέρα." -"<b>Υπενθυμίσεις</b> -Δημιουργήστε μία εξατομικευμένη υπενθύμιση για την κάθε συνήθεια, σε μια επιλεγμένη ώρα της ημέρας. Τσεκάρετε, απορρίψτε ή αναβάλλετε εύκολα την συνήθεια απευθείας από την υπενθύμιση χωρίς να ανοίξετε την εφαρμογή." -"<b>Χωρίς διαφημίσεις και ανοικτού κώδικα</b> -Χωρίς καθόλου διαφημίσεις, ενοχλητικές ειδοποιήσεις ή παρεμβατικές άδειες για την εφαρμογή και δεν θα υπάρξουν ποτέ. Το σύνολο του κώδικα είναι διαθέσιμο υπό το GPLv3." -"<b>Κατασκευασμένο για smartwatch</b> -Οι υπενθυμίσεις μπορούν να επιλεχθούν, να αναβληθούν ή να απορριφθούν απευθείας από το Android Wear ρολόι σας." - "Σχετικά με" - "Μεταφραστές" - "Προγραμματιστές" - - - "Έκδοση %s" - "Συχνότητα" - "Σημάδι επιλογής" - - - "Δύναμη" - "Καλύτερα σερί" - "Τρέχον σερί" - "Αριθμός επαναλήψεων" - "Τελευταίες %d ημέρες" - "Τελευταίες %d εβδομάδες" - "Τελευταίους %d μήνες" - "Τελευταία %d χρόνια" - - - "Όλα" - "Κάθε μέρα" - "Κάθε εβδομάδα" - "2 φορές την εβδομάδα" - "5 φορές την εβδομάδα" - "Προσαρμογή" - "Βοήθεια & FAQ" - "Αποτυχία εξαγωγής." - "Αποτυχία εισαγωγής." - - - "Άγνωστο αρχείο." - "Οι συνήθειες εισάχθηκαν επιτυχώς." - "Το πλήρες αντίγραφο εξάχθηκε επιτυχώς." - "Εισαγωγή δεδομένων" - "Εξαγωγή πλήρους αντιγ. ασφαλείας" - "Υποστηρίζει πλήρως αντίγραφα ασφαλείας που έχουν εξαχθεί από την ίδια την εφαρμογή καθώς και από τα Tickmate, HabitBull και Rewire. Δείτε τις FAQ για περισσότερες πληροφορίες." - "Παράγει αρχεία τα οποία μπορούν να ανοιχτούν από προγράμματα υπολογιστικών φύλλων όπως το Microsoft Edge ή το OpenOffice Calc. Δεν γίνεται επανεισαγωγή του αρχείου." - "Παράγει ένα αρχείο το οποίο περιέχει όλα τα δεδομένα σας. Είναι δυνατή η επανεισαγωγή του αρχείου." - "Απέτυχε ή παραγωγή αναφοράς bug." - "Παραγωγή αναφοράς bug." - "Αντιμετ.Προβλημάτων" - "Βοηθήστε στην μετάφραση" - "Νυχτ.Λειτ." - "Χρήση απόλυτου μαύρου στη νυχτ.λειτουργία" - "Αντικαθιστά τα γκρί υπόβαθρα με απόλυτα μαύρα σε νυχτ.λειτουργία. Μειώνει την κατανάλωση μπαταρίας σε συσκευές με οθόνη AMOLED." - "Διεπιφάνεια" - "Αναστροφή σειράς των ημερών." - "Προβολή των ημερών σε αντίστροφη σειρά στην κυρία οθόνη." - "Ημέρα" - "Εβδομάδα" - "Μήνας" - - - "Τρίμηνο" - "Χρόνος" - - - - "φορά σε" - "Κάθε %d ημέρες" - "Κάθε %d εβδομάδες" - "Κάθε %d μήνες" - - - "Σκόρ" - "Ήχος υπενθύμισης" - - - "Σιωπηλό" - \ No newline at end of file + Loop - Καταγραφή Συνηθειών + Συνήθειες + Ρυθμίσεις + Επεξεργασία + Διαγραφή + Αρχειοθέτηση + Κατάργηση αρχειοθέτησης + Νέα συνήθεια + Αλλαγή χρώματος + Δημιουργήθηκε συνήθεια. + Συνήθεια διαγράφτηκε. + Η συνήθεια επαναφέρθηκε. + Τίποτα για αναίρεση + Τίποτα προς επανάληψη. + Η συνήθεια άλλαξε + Δεν έγινε αλλαγή. + Η συνήθεια αρχειοθετήθηκε. + Έγινε αφαίρεση αρχειοθέτησης. + Επισκόπηση + Δύναμη συνήθειας + Ιστορικό + Εκκαθάριση + Ερώτηση (Κάνατε...σήμερα;) + Επανέλαβε + φορές την + ημέρες + Υπενθύμιση + Απόρριψη + Αποθήκευση + Σερί + Δεν έχετε ενεργές συνήθειες + Πατήστε παρατεταμένα για επιλογή η αποεπιλογή + Χωρίς + Το όνομα δεν μπορεί να είναι κενό + Πρεπει να είναι θετικό + Μπορείτε να κάνετε μονάχα μία επανάληψη ανά ημέρα + Δημιουργία συνήθειας + Επεξεργασία συνήθειας + Επιλογή + Αργότερα + + Καλώς ορίσατε + Το Loop - Καταγραφή Συνηθειών σας βοηθάει να δημιουργήσετε και να διατηρήσετε καλές συνήθειες. + Δημιουργήστε μερικές νέες συνήθειες + Κάθε μέρα, με το πέρας της συνήθειας, βάλτε ένα τικ στην εφαρμογή. + Συνεχίστε να το κάνετε + Συνήθειες που εκτελούνται με συνέπεια για πολύ καιρό + Κατέγραψε την πρόοδο σου + Λεπτομερή διαγράμματα σας δείχνουν την πρόοδο των συνηθειών. + 15 λεπτά + 30 λεπτά + 1 ώρα + 2 ώρες + 4 ώρες + 8 ώρες + Κάντε εναλλαγή των επαναλήψεων με σύντομο πάτημα + Βολικότερο, αλλά ίσως προκαλέσει ακούσιες εναλλαγές. + Διάστημα αναβολής υπενθυμίσεων + Βαθμολογήστε αυτή την εφαρμογή στο Google Play + Στείλετε σχόλια + Δείτε τον πηγαίο κώδικα στο GitHub + Δείτε την εισαγωγή + Σύνδεσμοι + Συμπεριφορά + Όνομα + Ρυθμίσεις + Διάστημα αναβολής + Γνωρίζατε; + Αναδιατάξετε τις συνήθειες πατώντας παρατεταμένα στο όνομα και σύροντας στην σωστή θέση. + Μπορείτε να δείτε περισσότερες ημέρες στην οριζόντια προβολή. + Διαγραφή συνηθειών + Οι συνήθειες θα διαγραφτούν οριστικά. Αυτό δεν μπορεί να αναιρεθεί. + Σαββατοκύριακα + Δευτέρα μέχρι Παρασκευή + Οποιαδήποτε μέρα της εβδομάδας + Επιλογή ημερών + Εξαγωγή σαν CSV + Έγινε + Εκκαθάριση + Επιλογή ωρών + Επιλογή λεπτών + Σχετικά με + Μεταφραστές + Προγραμματιστές + Έκδοση %s + Συχνότητα + Σημάδι επιλογής + Δύναμη + Καλύτερα σερί + Τρέχον σερί + Αριθμός επαναλήψεων + Τελευταίες %d ημέρες + Τελευταίες %d εβδομάδες + Τελευταίους %d μήνες + Τελευταία %d χρόνια + Όλα + Κάθε μέρα + Κάθε εβδομάδα + 2 φορές την εβδομάδα + 5 φορές την εβδομάδα + Προσαρμογή + Βοήθεια & FAQ + Αποτυχία εξαγωγής. + Αποτυχία εισαγωγής. + Άγνωστο αρχείο. + Οι συνήθειες εισάχθηκαν επιτυχώς. + Το πλήρες αντίγραφο εξάχθηκε επιτυχώς. + Εισαγωγή δεδομένων + Εξαγωγή πλήρους αντιγ. ασφαλείας + Υποστηρίζει πλήρως αντίγραφα ασφαλείας που έχουν εξαχθεί από την ίδια την εφαρμογή καθώς και από τα Tickmate, HabitBull και Rewire. Δείτε τις FAQ για περισσότερες πληροφορίες. + Παράγει αρχεία τα οποία μπορούν να ανοιχτούν από προγράμματα υπολογιστικών φύλλων όπως το Microsoft Edge ή το OpenOffice Calc. Δεν γίνεται επανεισαγωγή του αρχείου. + Παράγει ένα αρχείο το οποίο περιέχει όλα τα δεδομένα σας. Είναι δυνατή η επανεισαγωγή του αρχείου. + Απέτυχε ή παραγωγή αναφοράς bug. + Παραγωγή αναφοράς bug. + Αντιμετ.Προβλημάτων + Βοηθήστε στην μετάφραση + Νυχτ.Λειτ. + Χρήση απόλυτου μαύρου στη νυχτ.λειτουργία + Αντικαθιστά τα γκρί υπόβαθρα με απόλυτα μαύρα σε νυχτ.λειτουργία. Μειώνει την κατανάλωση μπαταρίας σε συσκευές με οθόνη AMOLED. + Διεπιφάνεια + Αναστροφή σειράς των ημερών. + Προβολή των ημερών σε αντίστροφη σειρά στην κυρία οθόνη. + Ημέρα + Εβδομάδα + Μήνας + Τρίμηνο + Χρόνος + + φορά σε + Κάθε %d ημέρες + Κάθε %d εβδομάδες + Κάθε %d μήνες + Σκόρ + Ήχος υπενθύμισης + Σιωπηλό + diff --git a/app/src/main/res/values-eo/strings.xml b/app/src/main/res/values-eo/strings.xml new file mode 100644 index 000000000..d994b3aca --- /dev/null +++ b/app/src/main/res/values-eo/strings.xml @@ -0,0 +1,24 @@ + + + + + + + diff --git a/app/src/main/res/values-es/strings.xml b/app/src/main/res/values-es/strings.xml index 4958c0d09..8907c7b19 100644 --- a/app/src/main/res/values-es/strings.xml +++ b/app/src/main/res/values-es/strings.xml @@ -1,198 +1,156 @@ + + -"Loop Analizador de Hábitos" -"Hábitos" -"Configuración" -"Editar" -"Eliminar" -"Archivar" -"Desarchivar" -"Agregar hábito" -"Cambiar color" -"Hábito creado." -"Hábitos eliminados." -"Hábitos restaurados." -"Nada que deshacer." -"Nada que rehacer." -"Hábito cambiado." - - -"Hábito cambiado devuelta." -"Hábitos archivados." -"Hábitos desarchivados." -"Visión general" -"Fuerza del hábito" -"Historial" -"Borrar" -"Pregunta (Has ... hoy?)" - - -"Repetir" -"veces cada" -"días" -"Recordatorio" -"Descartar" -"Guardar" - - -"Rachas" -"No tienes hábitos activos" -"Mantener apretado para marcar o desmarcar" -"Apagado" -"Nombre no puede estar en blanco." -"Número debe ser positivo." -"Puedes tener como máximo una repetición por día" -"Crear hábito" -"Editar hábito" -"Marcar" -"Aplazar" - - -"Bienvenido" -"Loop Analizador de Hábitos te ayuda a crear y mantener buenos hábitos." -"Crea algunos hábitos nuevos" -"Cada día, después de realizar tu hábito, pon una marca en la app." -"Sigue haciéndolo." -"Los hábitos realizados consistentemente por un largo tiempo ganarán una estrella completa." -"Haz un seguimiento de tu progreso" -"Detallados gráficos muestran como han mejorado tus hábitos con el tiempo." -"15 minutos" -"30 minutos" -"1 hora" -"2 horas" -"4 horas" -"8 horas" -"Marca las repeticiones con una corta pulsación." -"Más cómodo, pero puede causar marcas accidentales." -"Tiempo de espera al aplazar recordatorios." -"Valora esta app en Google Play" -"Enviar sugerencias al desarrollador" -"Ver código fuente en GitHub" -"Ver la introducción de la app" -"Enlaces" -"Comportamiento" -"Nombre" -"Ver archivados" -"Configuración" -"Intervalo de espera" -"¿Sabías qué?" -"Para reordenar las entradas, mantén la pulsación sobre el nombre del hábito, después arrástralo a su posición correcta." -"Puedes ver más días al poner tu teléfono en modo horizontal." -"Eliminar Hábitos" -"Los hábitos serán eliminados permanentemente. Esta acción no se puede deshacer." -"Fines de semana" - - -"Días laborables" - - -"Cada día" -"Seleccionar días" - - -"Exportar datos (CSV)" -"Hecho" -"Quitar" -"Seleccionar horas" -"Seleccionar" - - -"Crea buenos hábitos y haz un seguimiento de su progreso a lo largo del tiempo (sin anuncios)" -"Loop te ayuda a crear y mantener buenos hábitos, permitiéndote alcanzar tus metas a largo plazo. Detallados gráficos y estadísticas muestran como tus hábitos mejoran con el tiempo. No existe ningún anuncio y es de código abierto." -"<b>Una interfaz simple, bella y moderna</b> -Loop tiene una interfaz minimalista que es fácil de usar y sigue los principios del material design." -"<b>Puntuación del hábito</b> -Además de mostrar tu racha actual, Loop tiene un algoritmo avanzado para calcular la fuerza de tus hábitos. Cada repetición hace tu hábito más fuerte y cada día fallido lo hace más débil. Sin embargo, unos pocos días después de una larga racha no destruirán completamente todo tu progreso." -"<b>Detallados gráficos y estadísticas</b> -Observa claramente como tus hábitos han mejorado con el tiempo con bellos y detallados gráficos. Ve hacia atrás para ver el historial completo del hábito." -"<b>Horarios flexibles</b> -Soporta hábitos diarios y hábitos con repeticiones más complejas, como 3 veces por semana; una vez cada varias semanas; o cada día." -"<b>Recordatorios</b> -Crea recordatorios individuales para cada hábito a una hora determinada del día. Fácilmente marcables, descartables o aplazables directamente desde la notificación, sin abrir la app." -"<b>Completamente sin anuncios y de código abierto</b> -No existe ningún tipo de publicidad, notificaciones molestas o permisos intrusivos, y nunca los habrá. Todo el código está disponible bajo GPLv3." -"<b>Optimizado para smartwatches</b> -Los recordatorios se pueden marcar, aplazar o descartar directamente desde tu reloj Android Wear." -"Acerca de" -"Traductores" -"Desarrolladores" - - -"Versión %s" -"Frecuencia" -"Checkmark" - - -"Fuerza" - - -"Mejores rachas" -"Racha actual" -"Número de repeticiones" -"Últimos %d días" -"Últimas %d semanas" -"Últimos %d meses" -"Últimos %d años" - - -"Todo el tiempo" - - -"Diariamente" - - -"Semanalmente" - - -"2 veces por semana" - - -"5 veces por semana" - - -"Personalizado..." -"Ayuda & FAQ" -"Fallo al exportar datos." -"Fallo al importar datos." - - -"Archivo no reconocido." -"Hábitos importados exitosamente." -"Copia de seguridad exportada exitosamente." -"Importar datos" -"Exportar copia de seguridad" -"Soporta exportar copias de seguridad completas, así como archivos generados por Tickmate, HabitBull o Rewire. Mira el FAQ para más información." -"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." -"Genera un archivo que contiene todos tus datos. Este archivo puede volver a importarse." -"Fallo al generar el informe del bug." -"Generar informe de bug" -"Solución de problemas" -"Ayuda a traducir esta app" -"Modo nocturno" -"Utilizar color negro en modo nocturno" -"Reemplaza fondos grises por color negro en modo nocturno. Reduce el consumo de batería en teléfonos con pantalla AMOLED." -"Interfície" -"Orden inverso de días" -"Mostrar días en orden inverso en la pantalla principal" -"Día" -"Semana" -"Mes" - - -"Cuatrimestre" -"Año" - - - -"veces en" -"Cada %d días" -"Cada %d semanas" -"Cada %d meses" - - -"Puntuación" -"Sonido de recordatorio" - - -"Ninguno" - \ No newline at end of file + Loop Analizador de Hábitos + Hábitos + Configuración + Editar + Eliminar + Archivar + Desarchivar + Agregar hábito + Cambiar color + Hábito creado. + Hábitos eliminados. + Hábitos restaurados. + Nada que deshacer. + Nada que rehacer. + Hábito cambiado. + Hábito cambiado devuelta. + Hábitos archivados. + Hábitos desarchivados. + Visión general + Fuerza del hábito + Historial + Borrar + Pregunta (Has ... hoy?) + Repetir + veces cada + días + Recordatorio + Descartar + Guardar + Rachas + No tienes hábitos activos + Mantener apretado para marcar o desmarcar + Apagado + Nombre no puede estar en blanco. + Número debe ser positivo. + Puedes tener como máximo una repetición por día + Crear hábito + Editar hábito + Marcar + Aplazar + + Bienvenido + Loop Analizador de Hábitos te ayuda a crear y mantener buenos hábitos. + Crea algunos hábitos nuevos + Cada día, después de realizar tu hábito, pon una marca en la app. + Sigue haciéndolo. + Los hábitos realizados consistentemente por un largo tiempo ganarán una estrella completa. + Haz un seguimiento de tu progreso + Detallados gráficos muestran como han mejorado tus hábitos con el tiempo. + 15 minutos + 30 minutos + 1 hora + 2 horas + 4 horas + 8 horas + Marca las repeticiones con una corta pulsación. + Más cómodo, pero puede causar marcas accidentales. + Tiempo de espera al aplazar recordatorios. + Valora esta app en Google Play + Enviar sugerencias al desarrollador + Ver código fuente en GitHub + Ver la introducción de la app + Enlaces + Comportamiento + Nombre + Configuración + Intervalo de espera + ¿Sabías qué? + Para reordenar las entradas, mantén la pulsación sobre el nombre del hábito, después arrástralo a su posición correcta. + Puedes ver más días al poner tu teléfono en modo horizontal. + Eliminar Hábitos + Los hábitos serán eliminados permanentemente. Esta acción no se puede deshacer. + Fines de semana + Días laborables + Cada día + Seleccionar días + Exportar datos (CSV) + Hecho + Quitar + Seleccionar horas + Seleccionar + Acerca de + Traductores + Desarrolladores + Versión %s + Frecuencia + Fuerza + Mejores rachas + Racha actual + Número de repeticiones + Últimos %d días + Últimas %d semanas + Últimos %d meses + Últimos %d años + Todo el tiempo + Diariamente + Semanalmente + 2 veces por semana + 5 veces por semana + Personalizado... + Ayuda & FAQ + Fallo al exportar datos. + Fallo al importar datos. + Archivo no reconocido. + Hábitos importados exitosamente. + Copia de seguridad exportada exitosamente. + Importar datos + Exportar copia de seguridad + Soporta exportar copias de seguridad completas, así como archivos generados por Tickmate, HabitBull o Rewire. Mira el FAQ para más información. + 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. + Genera un archivo que contiene todos tus datos. Este archivo puede volver a importarse. + Fallo al generar el informe del bug. + Generar informe de bug + Solución de problemas + Ayuda a traducir esta app + Modo nocturno + Utilizar color negro en modo nocturno + Reemplaza fondos grises por color negro en modo nocturno. Reduce el consumo de batería en teléfonos con pantalla AMOLED. + Interfície + Orden inverso de días + Mostrar días en orden inverso en la pantalla principal + Día + Semana + Mes + Cuatrimestre + Año + + veces en + Cada %d días + Cada %d semanas + Cada %d meses + Puntuación + Sonido de recordatorio + Ninguno + diff --git a/app/src/main/res/values-eu/strings.xml b/app/src/main/res/values-eu/strings.xml new file mode 100644 index 000000000..40d7cd827 --- /dev/null +++ b/app/src/main/res/values-eu/strings.xml @@ -0,0 +1,132 @@ + + + + + Ohiturak + Ezarpenak + Editatu + Ezabatu + Artxibatu + Ezartxibatu + Ohitura gehitu + Kolorea aldatu + Ohitura sortu da. + Ohiturak ezabatu dira. + Ohiturak berrezarri dira. + Ez dago desegiteko ezer. + Ez dago berregiteko ezer. + Ohitura aldatu da. + Ohitura lehengoratu da. + Ohiturak artxibatu dira. + Ohiturak ezartxibatu dira. + Ikuspegi orokorra + Historia + Garbitu + Galdera (... al duzu gaur?) + Errepikatu + aldiz + egunetan + Oroigarria + Baztertu + Gorde + Ez duzu ohitura aktiborik + Sakatu eta mantendu markatu edo desmarkatzeko + Itzalita + Izena ezin da hutsik egon. + Zenbakia positiboa izan behar da. + Gehienez errepikapen bat eguneko izan dezakezu + Ohitura sortu + Ohitura editatu + Beranduago + + Ongi etorri + Sor itzazu ohitura berri batzuk + Egunero, zure ohitura egin ostean, jarri ezazu egiaztatze marka bat aplikazioan. + Jarrai ezazu ohitura egiten + Jarrai ezazu zure aurrerapena + Grafiko zehatzen bitartez denboran zehar zure ohiturak nola hobetu diren ikus ditzakezu + 15 minutu + 30 minutu + Ordu 1 + 2 ordu + 4 ordu + 8 ordu + Aplikazio hau Google Playen puntuatu + Zure iritzia garatzaileari bidali + Iturburu kodea GitHuben ikusi + Aplikazioaren aurkezpena ikusi + Loturak + Portaera + Izena + Ezarpenak + Ba al zenekien? + Sarrerak berrantolatzeko, sakatu eta mantendu ohituraren izena, ondoren mugi ezazu leku aproposera. + Egun gehiago ikus ditzakezu zure gailua paisai moduan jarriz. + Ohiturak ezabatu + Ohiturak betirako ezabatuko dira. Ekintza hau ezin da desegin. + Asteburuak + Astelehenetik ostiralera + Astearen edozen egun + Egunak hautatu + CSV bezala esportatu + Eginda + Garbitu + Orduak hautatu + Minutuak hautatu + Honi buruz + Itzultzaileak + Garatzaileak + %s bertsioa + Maiztasuna + Egiaztatze marka + Errepikapenen kopurua + Azken %d egunak + Azken %d asteak + Azken %d hilabeteak + Azken %d urteak + Hasieratik + Egunero + Astero + Astean 2 aldiz + Astean 5 aldiz + Pertsonalizatua ... + Laguntza eta ohiko galderak + Huts datuak esportatzerakoan. + Huts datuak inportatzerakoan. + Fitxategi ezezaguna. + Ohiturak ondo inportatu dira. + Babes kopia osoa ondo esportatu da. + Datuak inportatu + Babes kopia osoa esportatu + Huts akats txostena sortzerakoan. + Akats txostena sortu + Lagundu aplikazio hau itzultzen + Gau modua + Benetazko beltza erabili gau moduan + Interfazea + Eguna + Astea + Hilabetea + Hiruhilekoa + Urtea + + Oroigarriaren soinua + Bat ere ez + diff --git a/app/src/main/res/values-fa/strings.xml b/app/src/main/res/values-fa/strings.xml new file mode 100644 index 000000000..efddd8c5c --- /dev/null +++ b/app/src/main/res/values-fa/strings.xml @@ -0,0 +1,131 @@ + + + + + عادت‌سنج + عادت‌ها + تنظیمات + ویرایش + حذف + آرشیو کردن + خارج کردن از آرشیو + افزودن عادت + تغییر رنگ + عادت ساخته شد. + عادت حذف شد. + عادت بازگردانده شد. + چیزی برای واکردن وجود ندارد. + چیزی برای برگشت وجود ندارد. + عادت تغییر کرد. + عادت به حالت قبل برگشت. + عادت آرشیو شد. + عادت از آرشیو خارج شد. + مرور + قوت عادت + تاریخچه + حذف + سوال (آیا امروز شما…؟) + تکرار + بار در هر + روزها + یادآور + حذف تغییرات + ذخیره + روزهای پیوسته + شما هیچ عادت فعالی ندارید + برای تیک زدن یا برداشتن، ضربه بزنید و نگه دارید + خاموش + جای اسم نمی‌تواند خالی باشد. + عدد بایستی مثبت باشد. + شما در نهایت می‌توانید یک تکرار در یک روز داشته باشید. + ساخت عادت + ویرایش عادت + تیک زدن + بعدا + + خوش آمدید + رهگیر عادت به شما کمک می‌کند تا برای خودتان عادت‌های خوبی بسازید. + ساخت چند عادت جدید + هر روز، بعد از اینکه کار مربوط به عادت را انجام دادید، تیک مربوط به آن در برنامه را بزنید. + ادامه دهید + عادت‌هایی که به صورت پیوسته برای مدت طولانی انجام شده‌اند یک ستاره‌ی کامل دریافت می‌کنند. + پشرفت خود را رهگیری کنید + نمودار جزئیات به شما نشان می‌دهد که چطور عادت‌هایتان با گذشت زمان بهبود پیدا کرده‌اند. + ۱۵ دقیقه + ۳۰ دقیقه + ۱ ساعت + ۲ ساعت + ۴ ساعت + ۸ ساعت + با اشاره‌ی کوتاه‌مدت وضعیت عادت را تغییر بده + راحت‌تر است ولی ممکن است باعث شود اشتباهی عادتی را تیک بزنید. + دادن امتیاز به اپ در گوگل‌پلی + ارسال بازخورد به توسعه‌دهنده + دیدن سورس اپ در گیت‌هاب + دیدن معرفی اپ + لینک‌ها + رفتار + نام + تنظیمات + آیا می‌دانید؟ + حذف عادت‌ها + آخر هفته‌ها + دوشنبه تا جمعه + هر روز از هفته + انتخاب روزها + دخیره به عنوان فایل CSV + انجام شده + حذف + انتخاب ساعت‌ها + درباره + مترجمین + توسعه‌دهندگان + نسخه %s + قدرت + بهترین استمرار + استمرار فعلی + تعداد تکرارها + %d روز اخیر + %d هفته اخیر + %d ماه اخیر + %d سال اخیر + هر روز + هر هفته + ۲ بار در هفته + ۵ بار در هفته + سفارشی‌سازی ... + راهنما و سوالات متداول + ایرادیابی + حالت شبانه + استفاده از رنگ سیاه خالص در حالت شبانه + روز + هفته + ماه + فصل + سال + + بار در هر + هر %d روز یک‌بار + هر %d هفته یک‌بار + هر %d ماه یک‌بار + امتیاز + صدای یادآور + هیچ‌کدام + diff --git a/app/src/main/res/values-fi/strings.xml b/app/src/main/res/values-fi/strings.xml new file mode 100644 index 000000000..d994b3aca --- /dev/null +++ b/app/src/main/res/values-fi/strings.xml @@ -0,0 +1,24 @@ + + + + + + + diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml index 84adfd698..b54644a76 100644 --- a/app/src/main/res/values-fr/strings.xml +++ b/app/src/main/res/values-fr/strings.xml @@ -1,203 +1,152 @@ + + - - - "Loop - Suivi d'habitudes" - - - "Habitudes" - - - "Paramètres" - - - "Modifier" - "Supprimer" - "Archiver" - "Désarchiver" - "Ajouter une habitude" - "Changer la couleur" - "Habitude créée." - "Habitude supprimée." - "Habitude rétablie." - "Rien à annuler." - "Rien à refaire." - "Habitude changée." - - - "Habitude restaurée." - "Habitudes archivées." - "Habitudes désarchivées." - "Vue d'ensemble" - "Force de l'habitude" - "Historique" - "Supprimer" - "Question (As-tu ... aujourd'hui?)" - - - "Répéter" - "fois en" - "jours" - "Rappel" - "Annuler" - "Sauvegarder" - - - "Séries" - "Vous n'avez pas d'habitudes actives" - "Appuyez longtemps pour cocher ou décocher" - "Off" - "Le nom ne peut être vide." - "Le nombre doit être positif." - "Vous pouvez avoir au plus une répétition par jour" - "Créer une habitude" - "Modifier l'habitude" - "Cocher" - "Plus tard" - - - "Bienvenue" - "Loop - Suivi d'habitudes vous aide à créer et maintenir de bonnes habitudes." - "Créez de nouvelles habitudes" - "Chaque jour, après avoir réalisé votre habitude, cochez-la sur l'application." - "Continuez à le faire" - "Les habitudes régulières pendant une période de temps étendue gagneront une étoile complète." - "Suivez votre progrès" - "Des graphiques détaillés vous montrent comment vos habitudes évoluent au fil du temps." - "15 minutes" - "30 minutes" - "1 heure" - "2 heures" - "4 heures" - "8 heures" - "Activer les répétitions avec un appui court" - "Plus pratique, mais peut causer des activations accidentelles." - - - "Intervalle de report des rappels" - "Notez cette app sur le Google Play Store" - "Envoyez un avis au développeur" - "Voir le code source sur GitHub" - "Voir l'intro de l'app" - "Liens" - "Comportement" - "Nom" - "Montrer les archives" - "Paramètres" - "Intervalle de report" - "Le saviez-vous ?" - "Pour réarranger les habitudes, faites un appui long sur le nom de l'habitude et placez la à la bonne place." - "Vous pouvez voir plus de jours en mettant votre téléphone en mode paysage." - "Supprimer des habitudes" - "Les habitudes seront supprimées définitivement. Cette action ne peut être annulée." - "Fin de semaine" - - - "Jours de la semaine" - - - "N'importe quel jour" - "Sélectionner des jours" - - - "Exporter les données dans un fichier CSV" - "Fait" - "Supprimer" - "Sélectionner les heures" - "Sélectionner les minutes" - - - "Créez de bonnes habitudes et suivez leur progrès au fil du temps (sans pub)" - "Loop vous aide à créer et maintenir de bonnes habitudes, permettant de réussir vos objectifs à long terme. Des graphiques détaillés et des statistiques vous montrent comment vos habitudes s’améliorent au fil du temps. C'est totalement sans pub et c'est un logiciel libre." -"<b>Simple, beau avec une interface moderne</b> -Loop a une interface minimaliste, facile à utiliser et qui suit les règles de material design." -"<b>Score d'habitude</b> -En plus de montrer votre série en cours, Loop a un algorithme avancé pour calculer la force de vos habitudes. Chacune des répétitions réussi augmente la force de l'habitude et chacune des répétitions ratés la diminue. Cependant, quelques jours ratés après une longue série ne détruiront pas entièrement votre progrès." -"<b>Graphiques détaillés et statistiques</b> -Observez clairement comment vos habitudes s’améliorent au fil du temps avec de beaux graphiques détaillés. Défilez vers les jours passés pour voir l'historique complet de vos habitudes." -"<b>Calendrier flexible</b> -Supporte les habitudes quotidiennes et mensuelle avec des horaires multiples et complexes, comme 3 fois par semaine, une fois toutes les deux semaines ou un jour sur deux." -"<b>Rappels</b> -Créez un rappel propre pour chaque habitude, à une heure choisie de la journée. Cochez, supprimez ou reportez facilement votre habitude directement à partir de la notification, sans ouvrir l'application." -"<b>Entièrement sans pub et sous licence libre</b> -Il n'y a absolument aucune publicité ni notification embêtante ni permission intrusive avec cette application, et il n'y en aura jamais. L'ensemble du code source est disponible sous GPLv3." -"<b>Optimisée pour les montres android</b> -Les rappels peuvent être cochés, reportés ou supprimés directement à partir de votre montre Android" - "À propos" - "Traducteurs" - "Développeurs" - - - "Version %s" - "Fréquence" - - - "Croix" - - - - "Force" - - - "Meilleures séries" - "Série actuelle" - "Nombre de répétitions" - "%d derniers jours" - "%d dernières semaines" - "%d derniers mois" - "%d dernières années" - - - "Depuis le début" - "Tous les jours" - "Toutes les semaines" - "2 fois par semaine" - "5 fois par semaine" - - - "Personnalisée ..." - "Aide & FAQ" - "Export des données échoué." - "Import des données échoué." - - - "Fichier non reconnu" - "Habitudes importées avec succès" - "Sauvegarde complète exportée avec succès" - "Importer des données" - "Exporter une sauvegarde complète" - "Supporte les sauvegardes complètes générées par cette application, ainsi que les fichiers Tickmate, HabitBull et Rewire. Voir la FAQ pour plus d'informations." - "Génère des fichiers pouvant être ouverts par des tableurs comme Microsoft Excel ou LibreOffice Calc. Ces fichiers ne peuvent être réimportés." - "Génère un fichier contenant toutes vos données. Ce fichier peut être réimporté." - "La génération du rapport de bug a échouée." - "Générer un rapport de bug." - "Résolution de problèmes" - "Aider à traduire cette application" - "Mode Nuit" - "Utiliser un noir pure dans le mode nuit." - "Remplacer le fond gris par un noir pure dans le mode nuit; ça réduit l’usage de la batterie d'un appareil ayant un écran AMOLED." - "Interface" - "Inverser l'ordre des jours" - "Montrer les jours dans l'ordre inversé sur l'écran principal" - "Jour" - "Semaine" - "Mois" - - - "Trimestre" - "Année" - - - - "fois tous les" - "Tous les %d jours" - "Toutes les %d semaines" - "Tous les %d mois" - - - "Pointage" - "Son de rappel" - - - "Aucun" - \ No newline at end of file + Loop - Suivi d\'habitudes + Habitudes + Paramètres + Modifier + Supprimer + Archiver + Désarchiver + Ajouter une habitude + Changer la couleur + Habitude créée. + Habitude supprimée. + Habitude rétablie. + Rien à annuler. + Rien à refaire. + Habitude changée. + Habitude restaurée. + Habitudes archivées. + Habitudes désarchivées. + Vue d\'ensemble + Force de l\'habitude + Historique + Supprimer + Question (As-tu ... aujourd\'hui?) + Répéter + fois en + jours + Rappel + Annuler + Sauvegarder + Séries + Vous n\'avez pas d\'habitudes actives + Appuyez longtemps pour cocher ou décocher + Le nom ne peut être vide. + Le nombre doit être positif. + Vous pouvez avoir au plus une répétition par jour + Créer une habitude + Modifier l\'habitude + Cocher + Plus tard + + Bienvenue + Loop - Suivi d\'habitudes vous aide à créer et maintenir de bonnes habitudes. + Créez de nouvelles habitudes + Chaque jour, après avoir réalisé votre habitude, cochez-la sur l\'application. + Continuez à le faire + Les habitudes régulières pendant une période de temps étendue gagneront une étoile complète. + Suivez votre progrès + Des graphiques détaillés vous montrent comment vos habitudes évoluent au fil du temps. + 1 heure + 2 heures + 4 heures + 8 heures + Activer les répétitions avec un appui court + Plus pratique, mais peut causer des activations accidentelles. + Intervalle de report des rappels + Notez cette app sur le Google Play Store + Envoyez un avis au développeur + Voir le code source sur GitHub + Voir l\'intro de l\'app + Liens + Comportement + Nom + Paramètres + Intervalle de report + Le saviez-vous ? + Pour réarranger les habitudes, faites un appui long sur le nom de l\'habitude et placez la à la bonne place. + Vous pouvez voir plus de jours en mettant votre téléphone en mode paysage. + Supprimer des habitudes + Les habitudes seront supprimées définitivement. Cette action ne peut être annulée. + Fin de semaine + Jours de la semaine + N\'importe quel jour + Sélectionner des jours + Exporter les données dans un fichier CSV + Fait + Supprimer + Sélectionner les heures + Sélectionner les minutes + À propos + Traducteurs + Développeurs + Fréquence + Croix + Force + Meilleures séries + Série actuelle + Nombre de répétitions + %d derniers jours + %d dernières semaines + %d derniers mois + %d dernières années + Depuis le début + Tous les jours + Toutes les semaines + 2 fois par semaine + 5 fois par semaine + Personnalisée ... + Aide & FAQ + Export des données échoué. + Import des données échoué. + Fichier non reconnu + Habitudes importées avec succès + Sauvegarde complète exportée avec succès + Importer des données + Exporter une sauvegarde complète + Supporte les sauvegardes complètes générées par cette application, ainsi que les fichiers Tickmate, HabitBull et Rewire. Voir la FAQ pour plus d\'informations. + Génère des fichiers pouvant être ouverts par des tableurs comme Microsoft Excel ou LibreOffice Calc. Ces fichiers ne peuvent être réimportés. + Génère un fichier contenant toutes vos données. Ce fichier peut être réimporté. + La génération du rapport de bug a échouée. + Générer un rapport de bug. + Résolution de problèmes + Aider à traduire cette application + Mode Nuit + Utiliser un noir pure dans le mode nuit. + Remplacer le fond gris par un noir pure dans le mode nuit; ça réduit l’usage de la batterie d\'un appareil ayant un écran AMOLED. + Inverser l\'ordre des jours + Montrer les jours dans l\'ordre inversé sur l\'écran principal + Jour + Semaine + Mois + Trimestre + Année + + fois tous les + Tous les %d jours + Toutes les %d semaines + Tous les %d mois + Pointage + Son de rappel + Aucun + diff --git a/app/src/main/res/values-hi/strings.xml b/app/src/main/res/values-hi/strings.xml index 192e3fd7b..45158aac6 100644 --- a/app/src/main/res/values-hi/strings.xml +++ b/app/src/main/res/values-hi/strings.xml @@ -1,242 +1,212 @@ + + - "Loop आदत पर नजर" - "आदतें" - "सेटिंग्स" - - - "संपादन" -" -मिटा देना" -" -संग्रह " - "असंगृहीत करें" - "आदत जोड़े" - "रंग बदलें" - "आदत बनाए गए" - "आदत हटाया गया" - "आदत फिर से चालू किया गया" - "कुछ भी नहीं पूर्ववत करने के लिए" - "कुछ भी नही फिर से करने के लिए" - "आदत मे बदलाव" - - -" -आदत बहाल" - "आदत संग्रहीत" - "आदत को संग्रह से निकाला गया" - "अवलोकन" - "आदत की ताक़त" -" -इतिहास" -" -साफ़" - "सवाल (क्या आज .......किया?)" - - - "दोहराए" - "बार" - "दिन" -" -अनुस्मारक" -" -हटाना" -" -सुरक्षित " - - -" -लहर" -"आपकी कोई सक्रिय आदत नही है -" - "चेक या अनचेक करने के लिए दबाएँ व दबाएँ रखें " - "बंद" - "नाम को खाली नही छोड़ सकते" - "नंबर सकारात्मक डालें" -" -आप एक दिन मे अधिक से अधिक एक पुनरावृत्ति हो सकती है" - "आदत उत्पन्न करें" - "आदत संपादित करें" -" -चेक" - "बाद में" - - -" -स्वागत हे" -" -लूप हैबिट ट्रैकर नई और अच्छी आदतों को बनाए रखने मे लिए मदद करता है ।" - "कुछ नई अच्छी आदतें बनाएँ" - "हर दिन, अपनी आदत के प्रदर्शन के बाद , अप्प पर एक सही का निशान डालें" - "इसे करते रहें" -" -एक लंबे समय के लिए लगातार प्रदर्शन की आदतों से पूर्ण स्टार अर्जित करेंगे।" -" -अपनी प्रगति को ट्रैक करें" -" -विस्तृत रेखांकन आपको बताएंगे कि कैसे अपनी आदतों में समय के साथ सुधार करें" - "15 मिनिट" - "30 मिनिट" - "1 घंटा" - "2 घंटा" - "4 घंटा" - "8 घंटा" - "टॉगल पुनरावृत्ति हल्का दबाने से" -" -अधिक सुविधाजनक है, लेकिन आकस्मिक टॉगल हो सकता है ।" - "रिमाइंडर मे स्नूज़ अंतराल" -" -गूगले प्ले पर इस ऐप्लिकेशन को रेट करें" - "डेवेलपर को प्रतिक्रिया भेजें " - "Github मे सोर्स कोड देखें" - "अप्प्प का परिचय देखें" - "लिंक" -" -व्यवहार" - "नाम" - "संग्रह देखें" - "सेटिंग्स" -" -झपकी का अंतराल" - "क्या आप जानते .?" -" -प्रविष्टियों को पुनर्व्यवस्थित करने के लिए, आदत के नाम पर प्रेस करें और सही जगह पर खींचें।" -" - अपने फोन को लांडसकपे मोड मे रख कर आप अधिक दिनों से देख सकते हैं" - "आदत हटाएँ" -" -आदतों को स्थायी रूप से हटा दिया जाएगा। इस क्रिया को पूर्ववत नहीं किया जा सकता है।" -" -सप्ताहांत" -" -सोमवार से शुक्रवार" -" -सप्ताह का कोई भी दिन" - "दिन चुनें" - "CSV में निर्यात करें" -" -पूर्ण" -" -साफ़" - "घंटे चुनें" - "मिनट चुनें" - - -" -अच्छी आदतें बनाएं और समय के साथ अपनी प्रगति को ट्रैक (विज्ञापन मुक्त )" - "लूप अच्छी आदतों को बनाए रखने के लिए, वा लंबी अवधि के लक्ष्यों को प्राप्त करने में आपकी मदद करता है । विस्तृत रेखांकन और आँकड़े आपको बताएंगे कि कैसे अपनी आदतों में समय के साथ सुधार होगा। यह पूरी तरह से विज्ञापन मुक्त और ओपन सोर्स है" -" -<b>सरल, सुंदर और आधुनिक इंटरफ़ेस</b> -लूप मे न्यूनतर इंटरफ़ेस है जो उपयोग करने के लिए आसान है मेटीरियल डिजाइन दिशा निर्देशों का पालन करता है" -"आदत स्कोर -अपने वर्तमान स्ट्रीक दिखाने के अलावा , लूप मे अपनी आदतों की ताकत की गणना के लिए एक उन्नत एल्गोरिथ्म है। हर पुनरावृत्ति अपनी आदत को मजबूत बनाता है , और हर चूक दिन यह कमजोर बना देता है। हालांकि कुछ चूक दिन एक लंबी स्ट्रीक के बाद , पूरी तरह से आपके पूरे प्रगति को नष्ट नहीं होगा ।" -" -विस्तृत रेखांकन और आँकड़े -स्पष्ट रूप से सुंदर और विस्तृत रेखांकन के साथ देखें कि कैसे आपकी आदतों मे साथ समय के साथ सुधार हुआ है। अपनी आदतों का पूरा इतिहास देखने के लिए वापस स्क्रॉल करें।" -" -लचीला कार्यक्रम - दैनिक आदतों और अधिक जटिल कार्यक्रम दोनो को सपोर्ट ,इस तरह के रूप में 3 बार हर सप्ताह समर्थन करता है; एक बार हर दूसरे सप्ताह ; या हर दूसरे दिन ।" -"रिमाइंडर -प्रत्येक आदत के लिए एक रिमाइंडर बनाएं , दिन के एक चुने हुए घंटे में । आसानी से , जांच को खारिज या अधिसूचना से सीधे अपने नोटिफिकेशन से, एप्लिकेशन को खोले बिना" -"पूर्ण रूप से मुफ़्त और ओपन सोर्स -यहाँ बिल्कुल भी कोई विज्ञापन , कष्टप्रद सूचनाएं या फ़िज़ूल पर्मिशन नही है और कभी नहीं होगा। -पूरा सोर्स कोड GPLv3 के तहत उपलब्ध है।" -"Smartwatches के लिए अनुकूल -रिमाइंडर को चेक कर सकते हैं, स्नूज़ या हटा सकते हैं सीधे अपनी स्मार्ट वॉच से" -" -बारे में" -" -अनुवादक" -" -डिवेलपर" - - - "वर्ज़न %s" - "आवृत्ति" - "सही का चिह्न" - - -" -ताक़त" - "बेस्ट स्ट्रीक्स" -" -वर्तमान स्ट्रीक्स" -" -repetitions की संख्या" - "अंतिम %d दिवस" - "पिछले %d सप्ताह" - "पिछले %d माह" -" -पिछले %d साल" - - - "पूरा समय" -" -हर दिन" -" -प्रति सप्ताह" -" -प्रति सप्ताह 2 बार" -" -प्रति सप्ताह 5 बार" - "अन्य" -" -मदद और बार-बार सवाल पूछने वाले सवाल" -" -डेटा निर्यात करने में विफल" - "डेटा आयात करने में विफल रहा है" - - - "फाइल की पहचान नही " -" -आदतों को सफलतापूर्वक आयात" -" -पूर्ण बैकअप सफलतापूर्वक निर्यात किया।" -" -डेटा आयात" -" -निर्यात पूर्ण बैकअप" - "इस एप्लिकेशन के द्वारा निर्यात पूर्ण बैकअप को सपोर्ट करता है , साथ ही फाइलों टिक्कमते , हबिठबुल्ल या रिवाइयर द्वारा उत्पन्न फाइल्स को सपोर्ट करता है। अधिक जानकारी के लिए सामान्य प्रश्न देखें।" -"ऐसी फाइल्स उत्पन्न करता है जो स्प्रेडशीट सॉफ़्टवरेस जैसे Microsoft Excel, OpenOffice Calc मे खुल सकती है. - इस फ़ाइल में वापस आयात नहीं किया जा सकता है।" - "ऐसी फाइल्स उत्पन्न करता है जिसमे आपका सारा डेटा रहता है इस फ़ाइल को वापस आयात किया जा सकता है।" - "बग रिपोर्ट जनरेट करने मे असफल" - "बग रिपोर्ट जनरेट करने मे सफल" -" -समस्या निवारण" -" -इस एप्लिकेशन का अनुवाद करने में मदद करें" - "नाइट मोड" - "नाइट मोड मे पूरा काला यूज़ करें" -" -रात मोड में शुद्ध काले रंग के साथ ग्रे पृष्ठभूमि में बदलें. अमोलेड प्रदर्शन के साथ फोन में बैटरी उपयोग कम कर देता है ।" - "इंटरफेस" -" -दिनों की रिवर्स आदेश" - "दिनों को रिवर्स क्रम में मुख्य स्क्रीन पर दिखाएँ" - "दिन " - "हफ्ते" - "माह" - - - "तिमाही" - "साल" - - - - "समय शुरू" -" -हर %d दिन" -" -हर %d हफ्ते" -" -हर %d साल" - - - "स्कोर" - "अनुस्मारक ध्वनि" - - -" -कोई आवाज नहीं" - \ No newline at end of file + Loop आदत पर नजर + आदतें + सेटिंग्स + संपादन + \" +मिटा देना\" + \" +संग्रह \" + असंगृहीत करें + आदत जोड़े + रंग बदलें + आदत बनाए गए + आदत हटाया गया + आदत फिर से चालू किया गया + कुछ भी नहीं पूर्ववत करने के लिए + कुछ भी नही फिर से करने के लिए + आदत मे बदलाव + \" +आदत बहाल\" + आदत संग्रहीत + आदत को संग्रह से निकाला गया + अवलोकन + आदत की ताक़त + \" +इतिहास\" + \" +साफ़\" + सवाल (क्या आज .......किया?) + दोहराए + बार + दिन + \" +अनुस्मारक\" + \" +हटाना\" + \" +सुरक्षित \" + \" +लहर\" + \"आपकी कोई सक्रिय आदत नही है +\" + चेक या अनचेक करने के लिए दबाएँ व दबाएँ रखें + बंद + नाम को खाली नही छोड़ सकते + नंबर सकारात्मक डालें + \" +आप एक दिन मे अधिक से अधिक एक पुनरावृत्ति हो सकती है\" + आदत उत्पन्न करें + आदत संपादित करें + \" +चेक\" + बाद में + + \" +स्वागत हे\" + \" +लूप हैबिट ट्रैकर नई और अच्छी आदतों को बनाए रखने मे लिए मदद करता है ।\" + कुछ नई अच्छी आदतें बनाएँ + हर दिन, अपनी आदत के प्रदर्शन के बाद , अप्प पर एक सही का निशान डालें + इसे करते रहें + \" +एक लंबे समय के लिए लगातार प्रदर्शन की आदतों से पूर्ण स्टार अर्जित करेंगे।\" + \" +अपनी प्रगति को ट्रैक करें\" + \" +विस्तृत रेखांकन आपको बताएंगे कि कैसे अपनी आदतों में समय के साथ सुधार करें\" + 15 मिनिट + 30 मिनिट + 1 घंटा + 2 घंटा + 4 घंटा + 8 घंटा + टॉगल पुनरावृत्ति हल्का दबाने से + \" +अधिक सुविधाजनक है, लेकिन आकस्मिक टॉगल हो सकता है ।\" + रिमाइंडर मे स्नूज़ अंतराल + \" +गूगले प्ले पर इस ऐप्लिकेशन को रेट करें\" + डेवेलपर को प्रतिक्रिया भेजें + Github मे सोर्स कोड देखें + अप्प्प का परिचय देखें + लिंक + \" +व्यवहार\" + नाम + सेटिंग्स + \" +झपकी का अंतराल\" + क्या आप जानते .? + \" +प्रविष्टियों को पुनर्व्यवस्थित करने के लिए, आदत के नाम पर प्रेस करें और सही जगह पर खींचें।\" + \" + अपने फोन को लांडसकपे मोड मे रख कर आप अधिक दिनों से देख सकते हैं\" + आदत हटाएँ + \" +आदतों को स्थायी रूप से हटा दिया जाएगा। इस क्रिया को पूर्ववत नहीं किया जा सकता है।\" + \" +सप्ताहांत\" + \" +सोमवार से शुक्रवार\" + \" +सप्ताह का कोई भी दिन\" + दिन चुनें + CSV में निर्यात करें + \" +पूर्ण\" + \" +साफ़\" + घंटे चुनें + मिनट चुनें + \" +बारे में\" + \" +अनुवादक\" + \" +डिवेलपर\" + वर्ज़न %s + आवृत्ति + सही का चिह्न + \" +ताक़त\" + बेस्ट स्ट्रीक्स + \" +वर्तमान स्ट्रीक्स\" + \" +repetitions की संख्या\" + अंतिम %d दिवस + पिछले %d सप्ताह + पिछले %d माह + \" +पिछले %d साल\" + पूरा समय + \" +हर दिन\" + \" +प्रति सप्ताह\" + \" +प्रति सप्ताह 2 बार\" + \" +प्रति सप्ताह 5 बार\" + अन्य + \" +मदद और बार-बार सवाल पूछने वाले सवाल\" + \" +डेटा निर्यात करने में विफल\" + डेटा आयात करने में विफल रहा है + फाइल की पहचान नही + \" +आदतों को सफलतापूर्वक आयात\" + \" +पूर्ण बैकअप सफलतापूर्वक निर्यात किया।\" + \" +डेटा आयात\" + \" +निर्यात पूर्ण बैकअप\" + इस एप्लिकेशन के द्वारा निर्यात पूर्ण बैकअप को सपोर्ट करता है , साथ ही फाइलों टिक्कमते , हबिठबुल्ल या रिवाइयर द्वारा उत्पन्न फाइल्स को सपोर्ट करता है। अधिक जानकारी के लिए सामान्य प्रश्न देखें। + \"ऐसी फाइल्स उत्पन्न करता है जो स्प्रेडशीट सॉफ़्टवरेस जैसे Microsoft Excel, OpenOffice Calc मे खुल सकती है. + इस फ़ाइल में वापस आयात नहीं किया जा सकता है।\" + ऐसी फाइल्स उत्पन्न करता है जिसमे आपका सारा डेटा रहता है इस फ़ाइल को वापस आयात किया जा सकता है। + बग रिपोर्ट जनरेट करने मे असफल + बग रिपोर्ट जनरेट करने मे सफल + \" +समस्या निवारण\" + \" +इस एप्लिकेशन का अनुवाद करने में मदद करें\" + नाइट मोड + नाइट मोड मे पूरा काला यूज़ करें + \" +रात मोड में शुद्ध काले रंग के साथ ग्रे पृष्ठभूमि में बदलें. अमोलेड प्रदर्शन के साथ फोन में बैटरी उपयोग कम कर देता है ।\" + इंटरफेस + \" +दिनों की रिवर्स आदेश\" + दिनों को रिवर्स क्रम में मुख्य स्क्रीन पर दिखाएँ + दिन + हफ्ते + माह + तिमाही + साल + + समय शुरू + \" +हर %d दिन\" + \" +हर %d हफ्ते\" + \" +हर %d साल\" + स्कोर + अनुस्मारक ध्वनि + \" +कोई आवाज नहीं\" + diff --git a/app/src/main/res/values-hr/strings.xml b/app/src/main/res/values-hr/strings.xml index 0b08a536d..ea52a55ca 100644 --- a/app/src/main/res/values-hr/strings.xml +++ b/app/src/main/res/values-hr/strings.xml @@ -1,181 +1,178 @@ + + - "Loop Habit Tracker" - "Navike" - "Postavke" - "Uredi" - "Obriši" - "Arhiviraj" - "Poništavanje arhiviranja" - "Dodaj naviku" - "Promijeni boju" - "Navika je stvorena." - "Navike su obrisane." - "Navike su obnovljene." - "Nema ništa za poništavanje." - "Nema ništa za obnavljanje." - "Navika je promijenjena." - - - "Navika je vraćena u početno stanje." - "Navike su arhivirane." - "Navike su vraćene iz arhive." - "Pregled" - "Snaga navike" - "Povijest" - "Očisti" - "Pitanje (Jesi li danas...?)" - - - "Ponovi" - "puta u" - "dani" - "Podsjetnik" - "Odbaci" - "Spremi" - - - "Niz" - "Nemate aktivnih navika" - "Pritisnite i držite za označavanje ili odznačavanje." - "Isključen" - "Naziv ne može biti prazan." - "Broj mora biti pozitivan." - "Možete imati najviše jedno ponavljanje po danu" - "Stvori naviku" - "Uredi naviku" - "Potvrdi" - "Kasnije" - - - "Dobrodošli" - "Loop Habit Tracker vam pomaže stvoriti i održavati dobre navike." - "Stvorite neke nove navike" - "Svaki dan, nakon izvođenja vaše navike, postavite \"kvačicu\" u aplikaciji." - "Nastavite tako" - "Navike" - "Pratite vaš napredak" - "Detaljni grafovi vam prikazuju kako se vaše navike poboljšavaju kroz vrijeme." - "15 minuta" - "30 minuta" - "1 sat" - "2 sata" - "4 sata" - "8 sati" - "Označi ponavljanja sa kratkim pritisk." - "Zgodnije je, no može uzrokovati slučajna označavanja." - "Interval odgađanja na podsjetnicima" - "Ocijenite ovu aplikaciju na Google Playu" - "Pošaljite povratne informacije raz. programeru" - "Pogledajte izvorni kod na GitHubu" - "Prikaži uvod u aplikaciju" - "Poveznice" - "Ponašanje" - "Naziv" - "Prikaži arhivirano" - "Postavke" - "Interval odgađanja" - "Jeste li znali?" - "Za razmještanje unosa, pritisnite i držite naziv navike, pa ih premjestite na točno mjesto." - "Možete vidjeti više dana prebacivanjem uređaja u vodoravnu orijentaciju." - "Izbriši Navike" - "Navike će biti trajno izbrisane. Ova radnja se ne može poništiti." - "Vikendi" - "Ponedjeljak do Petak" - "Bilo koji dan u tjednu" - "Odaberi dane" - "Izvezi kao CSV" - "Dovršeno" - "Očisti" - "Odaberi sate" - "Odaberite minute" - - - "Stvorite dobre navike i pratite njihov napredak (bez reklama)" - "Loop Vam pomaže stvoriti i održavati dobre navike kako biste ostvarili svoje dugoročne ciljeve. Detaljni grafikoni Vam pomažu kako biste bolje pratili kako napreduju Vaše navike. Loop je open source aplikacija i ne sadrži nikakav oblik reklama." -"<b>Jednostavno, lijepo i moderno sučelje.</b> -Loop sadrži minimalistično sučelje jednostavno za korištenje koje prati smjernice Material Design-a." -"<b>Rezultat navike</b> -Osim prikazivanja trenutnog niza, Loop ima napredni algoritam za računanje snage vaših navika. Svako ponavljanje jača vašu naviku, a svaki propušteni dan ju čini slabijom. Međutim, par propuštenih dana nakon dugačkog niza neće u potpunosti uništiti cjelokupni napredak." -"<b>Detaljni grafovi i statistike</b> -Jasno vidite kako su se vaše navike poboljšale kroz vrijeme u prekrasnim i detaljnim grafovima. Kliznite natrag kako bi prikazali kompletnu povijest vaših navika." -"<b>Fleksibilno planiranje</b> -Podržava i dnevne navike i navike sa složenijim planiranjem, kao npr. 3 puta svakog tjedna; jednom svaki drugi tjedan; ili svaki drugi dan." -"<b>Podsjetnici</b> -Stvorite individualne podsjetnike za svaku naviku, u određenom satu u danu. Lako provjeravajte, odbacite i odgodite vašu naviku direktno iz obavijesti, bez otvaranja aplikacije." - - - "<b>Potpuno bez oglasa i otvorenog izvora koda</b>" -"<b>Optimizirano za pametne satove</b> -Podsjetnici se mogu provjeravati, odgoditi ili odbaciti direktno sa vašeg Android Wear sata." - "O aplikaciji" - "Prevoditelji" - "Razvojni programeri" - - - "Verzija %s" - "Učestalost" - "Kvačica" - - - "Snaga" - "Najbolji nizovi" - "Trenutni niz" - "Broj ponavljanja" - "Zadnjih %d dana" - "Zadnjih %d tjedana" - "Zadnjih %d mjeseca" - "Zadnjih %d godina" - - - "Čitavo vrijeme" - "Svaki dan" - "Svaki tjedan" - "2 puta tjedno" - "5 puta tjedno" - "Prilagođeno ..." - "Pomoć i pitanja" - "Izvoz podataka nije uspio." - "Uvoz podataka nije uspio." - - - "Datoteka nije prepoznata." - "Navike su uspješno uvezene." - "Sigurnosna kopija je uspješno izvezena." - "Uvezi podatke" - "Izvezi sigurnosnu kopiju" - "Podržava sigurnosne kopije izvezene iz ove aplikacije, isto kao i datoteke generirane u Tickmate, HabitBull i Rewire. Pogledajte Pomoć i pitanja za više informacija." - "Generira datoteke koje se mogu otvarati programima za tablice kao što su Microsoft Excel ili OpenOffice Calc. Ova datoteka se ne može uvoziti." - "Generira datoteku koja sadrži sve vaše podatke. Ova datoteka se može uvoziti." - "Generiranje izvješća o pogrešci nije uspjelo." - "Generiraj izvješće o pogreški" - "Rješavanje problema" - "Pomozite prevesti ovu aplikaciju" - "Noćni način" - "Koristi crnu boju za noćni način" - "Zamjenjuje sivu pozadinu sa crnom u noćnom načinu. To smanjuje potrošnju bateriju na uređajima s AMOLED zaslonima." - "Sučelje" - "Obrnuti poredak dana" - "Prikaži dane obrnutim redom na glavnom zaslonu" - "Dan" - "Tjedan" - "Mjesec" - - - "Četvrtina" - "Godina" - - - - "put svakih" - "Svaka %d dana" - "Svaka %d tjedna" - "Svaka %d mjeseca" - - - "Rezultat" - "Zvuk podsjetnika" - - - "Nijedan" - \ No newline at end of file + Loop Habit Tracker + Navike + Postavke + Uredi + Izbriši + Arhiviraj + Dearhiviraj + Dodaj naviku + Promijeni boju + Navika je stvorena + Navike su izbrisane + Navike su obnovljene + Nema ništa za poništavanje + Nema ništa za obnavljanje + Navika je promijenjena + Navika je vraćena u početno stanje + Navike su arhivirane + Navike su dearhivirane + Pregled + Snaga navike + Povijest + Očisti + Pitanje (Jesi li danas...?) + Ponovi + puta u + dani + Podsjetnik + Odbaci + Spremi + Niz + Nemate aktivnih navika + Pritisnite i držite za označavanje ili odznačavanje. + Isključen + Naziv ne može biti prazan. + Broj mora biti pozitivan. + Možete imati najviše jedno ponavljanje po danu + Stvori naviku + Uredi naviku + Potvrdi + Kasnije + + Dobrodošli + Loop Habit Tracker vam pomaže stvoriti i održavati dobre navike. + Stvorite neke nove navike + Svaki dan, nakon izvođenja vaše navike, postavite \"kvačicu\" u aplikaciji. + Nastavite tako + Navikama koje konstantno izvodite kroz dugo vremena će te zaraditi punu zvjezdicu. + Pratite svoj napredak + Detaljni grafovi vam prikazuju kako se vaše navike poboljšavaju kroz vrijeme. + 15 minuta + 30 minuta + 1 sat + 2 sata + 4 sata + 8 sati + 24 sata + Označi ponavljanja sa kratkim pritisk. + Zgodnije je, no može uzrokovati slučajna označavanja. + Interval odgađanja na podsjetnicima + Ocijenite ovu aplikaciju na Google Playu + Pošaljite povratne informacije raz. programeru + Pogledajte izvorni kod na GitHubu + Prikaži uvod u aplikaciju + Poveznice + Ponašanje + Naziv + Postavke + Interval odgađanja + Jeste li znali? + Za razmještanje unosa, pritisnite i držite naziv navike, pa ih premjestite na točno mjesto. + Možete vidjeti više dana prebacivanjem uređaja u vodoravnu orijentaciju. + Izbriši Navike + Navike će biti trajno izbrisane. Ova radnja se ne može poništiti. + Navika je izbrisana / nije pronađena + Vikendi + Ponedjeljak do Petak + Bilo koji dan u tjednu + Odaberi dane + Izvezi kao CSV + Dovršeno + Očisti + Odaberi sate + Odaberite minute + O aplikaciji + Prevoditelji + Razvojni programeri + Verzija %s + Učestalost + Kvačica + Snaga + Najbolji nizovi + Trenutni niz + Broj ponavljanja + Zadnjih %d dana + Zadnjih %d tjedana + Zadnjih %d mjeseca + Zadnjih %d godina + Čitavo vrijeme + Svaki dan + Svaki tjedan + 2 puta tjedno + 5 puta tjedno + Prilagođeno ... + Pomoć i pitanja + Izvoz podataka nije uspio. + Uvoz podataka nije uspio. + Datoteka nije prepoznata. + Navike su uspješno uvezene. + Sigurnosna kopija je uspješno izvezena. + Uvezi podatke + Izvezi sigurnosnu kopiju + Podržava sigurnosne kopije izvezene iz ove aplikacije, isto kao i datoteke generirane u Tickmate, HabitBull i Rewire. Pogledajte Pomoć i pitanja za više informacija. + Generira datoteke koje se mogu otvarati programima za tablice kao što su Microsoft Excel ili OpenOffice Calc. Ova datoteka se ne može uvoziti. + Generira datoteku koja sadrži sve vaše podatke. Ova datoteka se može uvoziti. + Generiranje izvješća o pogrešci nije uspjelo. + Generiraj izvješće o pogreški + Rješavanje problema + Pomozite prevesti ovu aplikaciju + Noćni način + Koristi crnu boju za noćni način + Zamjenjuje sivu pozadinu sa crnom u noćnom načinu. To smanjuje potrošnju bateriju na uređajima s AMOLED zaslonima. + Sučelje + Obrnuti poredak dana + Prikaži dane obrnutim redom na glavnom zaslonu + Dan + Tjedan + Mjesec + Četvrtina + Godina + Ukupno + + put svakih + Svaka %d dana + Svaka %d tjedna + Svaka %d mjeseca + Rezultat + Zvuk podsjetnika + Nijedan + Filtar + Skrivanje je uspjelo + Sakrij arhivirano + Učini obavijesti trajnima + Spriječava da se obavijesti zanemare. + Popravi bazu podataka + Baza podataka je popravljena. + Odznači + Uključi/isključi + Radnja + Navika + Sortiraj + Ručno + Po nazivu + Po boji + Po rezultatu + Preuzmi + Izvezi + diff --git a/app/src/main/res/values-hu/strings.xml b/app/src/main/res/values-hu/strings.xml new file mode 100644 index 000000000..f2e8c7bd9 --- /dev/null +++ b/app/src/main/res/values-hu/strings.xml @@ -0,0 +1,177 @@ + + + + + Habits + Beállítások + Szerkesztés + Törlés + Archiválás + Újraaktiválás + Új szokás + Szín módosítása + Szokás létrehozva + Szokás törölve + Szokás visszaállítva + Nincs mit visszavonni + \"Mégis\" nem lehetséges + Szokás módosítva + Szokás visszaállítva + Szokás archiválva + Szokás újraaktiválva + Áttekintés + Szokás erőssége + Napló + Törlés + Kérdés (Sikerült ma…?) + Ismétlődés + alk. / + nap + Emlékeztető + Elvetés + Mentés + Szériák + Nincs aktív szokásod + Tartsd lenyomva a bejelöléshez, vagy a jelölés törléséhez + Kikapcsolva + A megnevezés nem maradhat üresen. + A számnak pozitívnak kell lennie. + Maximum napi 1 ismétlés lehetséges + Szokás rögzítése + Szokás szerkesztése + Kipipálva + Később + + Üdv! + A Loop Habit Tracker segít a jó szokások kialakításában és azok fenntartásában + Hozz létre néhány új szokást + Minden nap jelöld pipával az alkalmazásban, ahogy elvégeztél egy jó szokást. + Ne hagyd abba + A hosszú időn keresztül folyamatosan fenntartott jó szokásokért teljes csillag jár. + Kövesd a fejlődésed + A szokások fejlődésének időbeni alakulását részletes grafikonok mutatják. + 15 perc + 30 perc + 1 óra + 2 óra + 4 óra + 8 óra + 24 óra + Bejelölés rövid koppintással + Bejelölés koppintással nyomva tartás helyett. Kényelmesebb, de véletlen bejelöléseket okozhat. + Szundi időtartama emlékeztetőnél + Értékeld az alkalmazást a Google Play-en + Visszajelzés küldése a fejlesztőnek + Forráskód megtekintése a GitHub-on + Bemutató megtekintése + Linkek + Szokás + Megnevezés + Beállítások + Szundi időtartama + Tudtad? + Az elemek újrarendezéséhez a koppints a szokás nevére, majd húzd a megfelelő helyre. + Több nap válik láthatóvá, ha fekvő módba állítod a telefonod kijelzőjét. + Szokások törlése + A szokások véglegesen törölve lesznek. A műveletet nem lehet visszavonni. + Szokás törölve / nem található + Hétvégente + Hétfőtől péntekig + A hét bármely napján + Napok kiválasztása + Exportálás CSV-ként + Kész + Törlés + Óra kiválasztása + Perc kiválasztása + Névjegy + Fordítók + Fejlesztők + Verzió %s + Gyakoriság + Pipa + Erősség + Legjobb széria + Jelenlegi széria + Ismétlődések száma + Utolsó %d nap + Utolsó %d hét + Utolsó %d hónap + Utolsó %d év + Mindig + Minden nap + Minden héten + Heti 2-szer + Hetente 5-ször + Egyéni… + Súgó és GYIK + Nem sikerült az adatok exportálása. + Nem sikerült az adatok importálása + A fájlt nem sikerült felismerni. + A szokások importálása sikerült. + A teljes mentés sikeresen exportálva lett. + Adat importálása + Teljes mentés exportálása + Támogatja a Loop Habit Tracker alkalmazás teljes mentéseit, illetve a Tickmate, HabitBull és Rewire alkalmazások formátumait is. További információt a GYIK-ben találsz. + Olyan fájlokat generál, amit táblázatkezelőkkel lehet megnyitni (pl. Microsoft Excel-lel vagy OpenOffice Calc-kal). Ezt a fájlt nem lehet visszaimportálni. + Olyan fájlt generál, amely tartalmazza minden adatodat. Ezt a fájlt vissza lehet importálni. + Nem sikerült a hibajelentés generálása + Hibabejelentés generálása + Hibaelhárítás + Segíts lefordítani ezt az alkalmazást + Éjszakai mód + Fekete használata éjszakai módban + A szürke hátteret tiszta feketére cseréli éjszakai módban. Csökkenti az energiafelhasználást AMOLED kijelzős telefonokon. + Kezelőfelület + Napok sorrendjének megfordítása + A főképernyőn fordított sorrendben mutatja a napokat + Nap + Hét + Hónap + Negyedév + Év + Összesen + + alk. / + %d naponta + %d hetente + %d havonta + Pont + Emlékeztető dallama + Nem ismétlődik + Szűrő + Elvégzettek elrejtése + Archiváltak elrejtése + Az értesítések legyenek ragadósak + Megakadályozza az értesítések eltávolítását + Adatbázis javítása + Adatbázis javítása kész. + Pipa kivétele + Ki/bekapcsolás + Művelet + Szokás + Rendezés + Manuálisan + Megnevezés szerint + Színek szerint + Pont szerint + Letöltés + Exportálás + diff --git a/app/src/main/res/values-id/strings.xml b/app/src/main/res/values-id/strings.xml new file mode 100644 index 000000000..cc808293f --- /dev/null +++ b/app/src/main/res/values-id/strings.xml @@ -0,0 +1,156 @@ + + + + + Kebiasaan + Pengaturan + Ubah + Hapus + Arsip + Keluarkan dari arsip + Tambah Kebiasaan + Ganti warna + Kebiasaan ditambahkan. + Kebiasaan dihapus. + Kebiasaan dikembalikan. + Tidak ada aksi sebelumnya. + Tidak ada aksi sesudahnya. + Kebiasaan diubah. + Kebiasaan telah dikembalikan. + Kebiasaan diarsipkan. + Kebiasaan dikeluarkan dari arsip. + Keseluruhan + Kekuatan Kebiasaan + Riwayat + Bersihkan + Pertanyaan (Apakah kamu ... hari ini?) + Ulangi + kali dalam + hari + Pengingat + Batalkan + Simpan + Rentetan + Anda tidak memiliki Kebiasaan yang aktif + Tekan dan tahan untuk menambah atau menghapus tanda cek + Mati + Nama tidak boleh kosong. + Angka harus positif. + Maksimal satu kali pengulangan dalam satu hari + Buat Kebiasaan + Ubah Kebiasaan + Tanda cek + Tunda + + Selamat datang + Loop Habit Tracker membantu mencatat dan mengelola Kebiasaan baik Anda. + Buat beberapa Kebiasaan baru + Berikan tanda cek setiap kali Anda selesai melakukannya. + Terus lakukan + Kebiasaan yang dilakukan secara konsisten dalam jangka waktu panjang akan mendapatkan tanda bintang penuh. + Catat perkembangan Anda + Detail grafik menampilkan perkembangan Kebiasaanmu dari waktu ke waktu. + 15 menit + 30 menit + 1 jam + 2 jam + 4 jam + 8 jam + Tandai dengan cepat. + Lebih nyaman namun memungkinkan kesalahan. + Durasi tunda sejenak pada pengingat + Berikan rating aplikasi ini di Google Play + Kirimkan umpan balik kepada Developer + Lihat kode aplikasi di GitHub + Perkenalan aplikasi + Tautan + Kebiasaan + Nama + Pengaturan + Durasi tunda sejenak + Tahukah kamu? + Untuk mengatur urutan, tekan dan tahan judul Kebiasaan lalu tempatkan pada posisi yang Anda inginkan. + Anda dapat melihat tampilan hari dengan merubah posisi menjadi mode landscape. + Hapus Kebiasaan + Kebiasaan ini akan dihapus permanen. Tidak dapat dikembalikan. + Akhir pekan + Senin - Jumat + Seluruh hari dalam satu minggu + Pilih hari + Ekspor (CSV) + Selesai + Hapus + Pilih jam + Pilih menit + Tentang + Penerjemah + Developer + Versi %s + Frekuensi + Cek + Kekuatan + Rentetan terbaik + Rentetan saat ini + Jumlah pengulangan + %d hari terakhir + %d minggu terakhir + %d bulan terakhir + %d tahun terakhir + Seluruh waktu + Setiap hari + Setiap minggu + 2 kali setiap minggu + 5 kali setiap minggu + Tersuai ... + Bantuan & FAQ + Ekspor data gagal. + Impor data gagal. + File tidak dikenali. + Impor data berhasil. + Ekspor data berhasil. + Impor data + Ekspor data + Mendukung ekspor data dan file dari aplikasi Tickmate, HabitBull atau Rewire. Lihat FAQ untuk informasi lebih lanjut. + Menghasilkan lembar kerja yang dapat dibuka menggunakan aplikasi seperti Microsoft Excel atau OpenOffice Calc. File ini tidak dapat di-impor kembali. + Menghasilkan file yang berisikan seluruh data. File ini dapat di-impor kembali. + Gagal membuat laporan masalah. + Membuat laporan masalah + Troubleshoot + Bantu terjemahkan + Mode malam + Gunakan warna hitam pada mode malam + Ganti warna latar abu-abu dengan warna hitam pada mode malam. Mengurangi penggunaan baterai pada layar AMOLED. + Antar muka + Ubah urutan hari + Tampilkan hari dalam urutan terbalik pada layar utama + Hari + Minggu + Bulan + Perempat + Tahun + + kali dalam + Setiap %d hari + Setiap %d minggu + Setiap %d bulan + Nilai + Suara pengingat + Hening + diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml index 3e8d95056..88d0dfb06 100644 --- a/app/src/main/res/values-it/strings.xml +++ b/app/src/main/res/values-it/strings.xml @@ -1,190 +1,178 @@ + + - - -"Loop" -"Abitudini" -"Impostazioni" -"Modifica" -"Elimina" -"Archivia" -"Ripristina" -"Aggiungi" -"Cambia colore" -"Abitudine creata." -"Abitudine rimossa." -"Abitudine ripristinata." -"Niente da annullare." -"Niente da ripetere." -"Abitudine modificata." - - -"Abitudine ripristinata." -"Abitudine archiviata." -"Abitudine ripristinata." -"Panoramica" -"Forza dell'abitudine" -"Cronologia" -"Annulla" -"Domanda (Hai ... oggi?)" - - -"Ripetizione" -"volte in" -"giorni" -"Promemoria" -"Annulla" -"Salva" - - -"Serie" -"Non hai abitudini attive" -"Premi e mantieni premuto per completare o annullare" -"Off" -"Il nome non può essere vuoto." -"I numeri devono essere positivi." -"Puoi avere al massimo una ripetizione al giorno" -"Crea abitudine" -"Modifica abitudine" -"Completa" -"Più tardi" - - -"Benvenuto" -"Loop Habit Tracker ti aiuta a creare e mantenere delle buone abitudini." -"Aggiungi qualche nuova abitudine" -"Ogni giorno, dopo aver portato a termine la tua abitudine, spuntala nell'app." -"Continua così" -"Abitudini portate a termine con regolarità per un lungo periodo ti faranno guadagnare una stella intera." -"Segui i tuoi progressi" -"Grafici dettagliati ti mostrano come le tue abitudini sono migliorate nel corso del tempo." -"15 minuti" -"30 minuti" -"1 ora" -"2 ore" -"4 ore" -"8 ore" -"Spunta le ripetizioni velocemente" -"Più comodo, ma potrebbe causare delle spunte accidentali." -"Intervallo di ritardo dei promemoria" -"Valuta quest'app su Google Play" -"Manda un feedback allo sviluppatore" -"Vedi il codice sorgente su GitHub" -"Visualizza l'introduzione dell'app" -"Links" -"Comportamento" -"Nome" -"Visualizza archiviati" -"Impostazioni" -"Snooze" -"Lo sapevi?" -"Per riordinare la lista, premi e mantieni premuta l'abitudine e spostala nella posizione desiderata." -"Puoi vedere più giorni mettendo il tuo telefono orizzontale." -"Elimina abitudine" -"L'abitudine verrà cancellata definitivamente. Non sarà possibile annullare." -"Weekend" - - -"Giorni feriali" -"Ogni giorno della settimana" -"Giorni selezionati" -"Esporta i dati come CSV" -"Fatto" -"Annulla" -"Ore selezionate" -"Minuti selezionati" - - -"Acquisisci nuove abitudini e traccia i tuoi progressi nel tempo (senza pubblicità)" -"Loop ti aiuta a creare e mantenere buone abitudini, permettendoti di raggiungere i tuoi obbiettivi a lungo termine. Grafici dettagliati e le statistiche ti mostrano come le tue abitudini sono migliorate nel tempo. E' completamente senza pubblicità ed opensource." -"<b>Interfaccia semplice e moderna</b> -Loop ha un'interfaccia minimale che è semplice da usare e segue le linee guida del Material Design" - - -"<b>Forza dell'abitudine</b> -In aggiunta al traguardo attuale, Loop ha un algoritmo avanzato per calcolare la forza delle tue abitudini. Ogni ripetizione la rafforza, mentre ogni giorno mancato la indebolisce. Pochi giorni mancati dopo una lunga serie però non vanificherà completamente il tuo progresso totale." -"<b>Grafici dettagliati e statistiche</b> -Visualizza in modo semplice come le tue abitudini sono migliorate nel tempo con grafici dettagliati. Scorri indietro per vedere la cronologia completa delle tue abitudini." -"<b>Programmi flessibili</b> -Supporto per abitudini sia giornaliere che con organizzazioni più complesse, come 3 volte alla settimana, una volta ogni 2 settimane, un giorno sì e uno no..." -"<b>Promemoria</b> -Crea un promemoria per ogni abitudine, ad una specifica ora del giorno. Completa, ritarda o ignora il promemoria direttamente dalla notifica, senza aprire l'app." -"<b>Completamente gratuito ed opensource</b> -Non ci sono pubblicità, notifiche invasive o permessi intrusivi e mai ce ne saranno. Il codice sorgente completo è disponibile sotto licenza GPLv3." -"<b>Ottimizzata per gli smartwatch</b> I promemoria possono essere completati, ritardati o ignorati direttamente dal tuo orologio Android Wear." -"Su Loop" -"Traduttori" -"Sviluppatori" - - -"Versione %s" -"Frequenza" -"Spunta" - - -"Forza" -"Serie migliori" -"Serie corrente" - - -"Numero di ripetizioni" -"Ultimi %d giorni" -"Ultime %d settimane" -"Ultimi %d mesi" -"Ultimi %d anni" - - -"Sempre" -"Ogni giorno" -"Ogni settimana" -"2 volte a settimana" -"5 volte a settimana" -"Personalizzato ..." -"Aiuto & FAQ" -"Esportazione non riuscita." -"Importazione non riuscita." - - -"File non riconosciuto." -"Abitudini importate con successo." -"Backup completo esportato con successo." -"Importa dati" -"Esporta il backup completo" -"Pieno supporto ai backup esportati da questa app, oltre a quelli generati da Tickmate, HabitBull o Rewire. Vedi le FAQ per maggiori informazioni." -"Genera un file che potrà essere aperto da programmi come Microsoft Excel o OpenOffice Calc. Non potrà essere importato." -"Genera un file contenente tutti i tuoi dati. Potrà essere importato successivamente." -"Generazione del bug report fallita" -"Genera bug report" -"Risoluzione dei problemi" -"Aiuta a tradurre questa app" -"Modalità notte" -"Usa nero puro nella modalità notte" -"Sostituisce gli sfondi grigi con sfondi neri nella modalità notte. Riduce il consumo di batteria nei dispositivi con schermo AMOLED." -"Interfaccia" -"Inverti ordine giorni" -"Mostra i giorni in ordine inverso nella schermata principale" -"Giorno" -"Settimana" -"Mese" - - - -"Quadrimestre" -"Anno" - - - - -"volta in" -"Ogni %d giorni" -"Ogni %d settimane" -"Ogni %d mesi" - - -"Punteggio" -"Suono notifica" - - - -"Nessuno" - \ No newline at end of file + Loop + Abitudini + Impostazioni + Modifica + Elimina + Archivia + Ripristina + Aggiungi + Cambia colore + Abitudine creata. + Abitudine rimossa. + Abitudine ripristinata. + Niente da annullare. + Niente da ripetere. + Abitudine modificata. + Abitudine ripristinata. + Abitudine archiviata. + Abitudine ripristinata. + Panoramica + Forza dell\'abitudine + Cronologia + Annulla + Domanda (Hai ... oggi?) + Ripetizione + volte in + giorni + Promemoria + Annulla + Salva + Serie + Non hai abitudini attive + Premi e mantieni premuto per completare o annullare + Disabilitato + Il nome non può essere vuoto. + I numeri devono essere positivi. + Puoi avere al massimo una ripetizione al giorno + Crea abitudine + Modifica abitudine + Completa + Più tardi + + Benvenuto + Loop Habit Tracker ti aiuta a creare e mantenere delle buone abitudini. + Aggiungi qualche nuova abitudine + Ogni giorno, dopo aver portato a termine la tua abitudine, spuntala nell\'app. + Continua così + Abitudini portate a termine con regolarità per un lungo periodo ti faranno guadagnare una stella intera. + Segui i tuoi progressi + Grafici dettagliati ti mostrano come le tue abitudini sono migliorate nel corso del tempo. + 15 minuti + 30 minuti + 1 ora + 2 ore + 4 ore + 8 ore + 24 ore + Spunta le ripetizioni velocemente + Più comodo, ma potrebbe causare delle spunte accidentali. + Intervallo di ritardo dei promemoria + Valuta quest\'app su Google Play + Manda un feedback allo sviluppatore + Vedi il codice sorgente su GitHub + Visualizza l\'introduzione dell\'app + Links + Comportamento + Nome + Impostazioni + Snooze + Lo sapevi? + Per riordinare la lista, premi e mantieni premuta l\'abitudine e spostala nella posizione desiderata. + Puoi vedere più giorni mettendo il tuo telefono orizzontale. + Elimina abitudine + L\'abitudine verrà cancellata definitivamente. Non sarà possibile annullare. + Abitudine cancellata / non trovata + Weekend + Giorni feriali + Ogni giorno della settimana + Giorni selezionati + Esporta i dati come CSV + Fatto + Annulla + Ore selezionate + Minuti selezionati + Su Loop + Traduttori + Sviluppatori + Versione %s + Frequenza + Spunta + Forza + Serie migliori + Serie corrente + Numero di ripetizioni + Ultimi %d giorni + Ultime %d settimane + Ultimi %d mesi + Ultimi %d anni + Sempre + Ogni giorno + Ogni settimana + 2 volte a settimana + 5 volte a settimana + Personalizzato ... + Aiuto & FAQ + Esportazione non riuscita. + Importazione non riuscita. + File non riconosciuto. + Abitudini importate con successo. + Backup completo esportato con successo. + Importa dati + Esporta il backup completo + Pieno supporto ai backup esportati da questa app, oltre a quelli generati da Tickmate, HabitBull o Rewire. Vedi le FAQ per maggiori informazioni. + Genera un file che potrà essere aperto da programmi come Microsoft Excel o OpenOffice Calc. Non potrà essere importato. + Genera un file contenente tutti i tuoi dati. Potrà essere importato successivamente. + Generazione del bug report fallita + Genera bug report + Risoluzione dei problemi + Aiuta a tradurre questa app + Modalità notte + Usa nero puro nella modalità notte + Sostituisce gli sfondi grigi con sfondi neri nella modalità notte. Riduce il consumo di batteria nei dispositivi con schermo AMOLED. + Interfaccia + Inverti ordine giorni + Mostra i giorni in ordine inverso nella schermata principale + Giorno + Settimana + Mese + Quadrimestre + Anno + Totale + + volta in + Ogni %d giorni + Ogni %d settimane + Ogni %d mesi + Punteggio + Suono notifica + Nessuno + Filtra + Nascosti + Nascosti + Notifiche non rimuovibili + Impedisce di poter rimuovere le notifiche. + Ripara database + Database recuperato. + Deseleziona + Attiva/disattiva + Azione + Abitudine + Ordina + Manualmente + Per nome + Per colore + Per punteggio + Download + Esporta + diff --git a/app/src/main/res/values-iw/strings.xml b/app/src/main/res/values-iw/strings.xml new file mode 100644 index 000000000..d994b3aca --- /dev/null +++ b/app/src/main/res/values-iw/strings.xml @@ -0,0 +1,24 @@ + + + + + + + diff --git a/app/src/main/res/values-ja/strings.xml b/app/src/main/res/values-ja/strings.xml index f802621b5..351b00b22 100644 --- a/app/src/main/res/values-ja/strings.xml +++ b/app/src/main/res/values-ja/strings.xml @@ -1,180 +1,157 @@ + + -"ループ習慣トラッカー" -"習慣" -"設定" -"編集" -"削除" -"アーカイブ" -"アーカイブを戻す" -"習慣を追加" -"色の変更" -"習慣を作成しました。" -"習慣を削除しました。" -"習慣を復元しました。" -"元に戻すことはできません。" -"繰り返しはできません。" -"習慣を変更しました。" - - -"習慣を元に戻しました。" -"習慣をアーカイブしました。" -"習慣のアーカイブを戻しました。" -"概要" -"習慣の強さ" -"履歴" -"クリア" -"質問 (今日 … しましたか?)" - - -"繰り返し" -"回" -"日" -"リマインダー" -"破棄" -"保存" - - -"連続記録" -"アクティブな習慣はありません" -"長押しするとチェックを付けたり外したりします" -"オフ" -"名前は空にできません。" -"正の数値にする必要があります。" -"多くとも 1 日 1 回にすることができます。" -"習慣を作成" -"習慣を編集" -"チェック" -"後で" - - -"ようこそ" -"ループ習慣トラッカーは、良い習慣を作って、維持するのに役立ちます。" -"新しい習慣を作成します" -"毎日、習慣を実行した後、アプリでチェックマークを付けます。" -"これを続けます" -"長い期間習慣を継続すると、スターを全て獲得できます。" -"進捗状況を追跡します" -"詳細グラフは、あなたの習慣が時間をかけて改善された様子を示します。" -"15 分" -"30 分" -"1 時間" -"2 時間" -"4 時間" -"8 時間" -"クリックで繰り返しを切り替え" -"便利になりますが、間違って切り替えが起こる可能性があります。" -"リマインダーのスヌーズ間隔" -"Google Play でこのアプリを評価" -"開発者にフィードバックを送信" -"GitHub でソースコードを参照" -"アプリの紹介を表示" -"リンク" -"動作" -"名前" -"アーカイブを表示" -"設定" -"スヌーズ間隔" -"ご存知ですか?" -"エントリーを並べ替えるには、習慣の名前を長押しして、正しい場所にドラッグしてください。" -"お使いの携帯電話を横置きモードにすることで、参照する日数を多くすることができます。" -"習慣を削除" -"習慣は完全に削除されます。この操作を元に戻すことはできません。" -"週末" -"月曜日から金曜日" -"週の任意の日" -"日の選択" -"CSV としてエクスポート" -"完了" -"クリア" -"時間の選択" -"分の選択" - - -"良い習慣を作って、時間をかけてその進捗状況を追跡します (広告なし)" -"ループは、良い習慣を作って、維持するのに役立ちます。あなたの長期的な目標を達成することができます。詳細なグラフや統計情報が、時間をかけてあなたの習慣が改善された様子を示します。完全に広告フリーでオープンソースです。" -"<b>シンプルで、美しく、モダンなインターフェース</b> -ループは、使いやすく、マテリアルデザインのガイドラインに従った、最小限のインターフェースです。" -"<b>習慣のスコア</b> -ループは、現在の連続記録を示すことに加えて、習慣の強さを計算するための高度なアルゴリズムを持っています。繰り返しがあなたの習慣を強くし、忘れた日は弱くなります。長い連続記録の後に、少し忘れた日があっても、全体の進捗状況を完全に失うわけではありません。" -"<b>詳細なグラフと統計情報</b> -美しくて詳細なグラフで、あなたの習慣が時間をかけて改善された様子がはっきりわかります。スクロールで戻ると、あなたの習慣の完全な履歴を参照することができます。" -"<b>柔軟なスケジュール</b> -毎日の習慣と、毎週 3 回、隔週に 1 回、または一日おきなどの、より複雑なスケジュールの習慣の両方をサポートします。 " -"<b>リマインダー</b> -1 日の選択した時間で、それぞれの習慣に個々のリマインダーを作成します。アプリを開かずに、通知から直接、簡単に習慣をチェック、解除、またはスヌーズすることができます。" -"<b>完全に広告フリーでオープンソース</b> -このアプリは、広告、迷惑な通知、押し付けがましいアクセス許可は全くありませんし、そうなることもありません。GPLv3 の下で全てのソースコードが利用可能です。" -"<b>スマートウォッチの最適化</b> -Android Wear 端末から直接、リマインダーをチェック、スヌーズ、解除することができます。" -"アプリについて" -"翻訳者" -"開発者" - - -"バージョン %s" -"周波数" -"チェック" - - -"強さ" -"最高の連続記録" -"現在の連続記録" -"繰り返し数" -"最近 %d 日" -"最近 %d 週間" -"最近 %d ヶ月" -"最近 %d 年" - - -"いつも" -"毎日" -"毎週" -"1 週間に 2 回" -"1 週間に 5 回" -"カスタム …" -"ヘルプ & FAQ" -"データのエクスポートに失敗しました。" -"データのインポートに失敗しました。" - - -"ファイルを認識できません。" -"習慣を正常にインポートしました。" -"フルバックアップを正常にエクスポートしました。" -"データのインポート" -"フルバックアップのエクスポート" -"このアプリでエクスポートしたフルバックアップだけではなく、Tickmate、HabitBull、Rewire で生成したファイルも同様にサポートしています。詳細については FAQ を参照してください。" -"Microsoft Excel や OpenOffice Calc などの表計算ソフトで開くことができるファイルを生成します。このファイルはインポートで戻すことはできません。" -"すべてのデータが含まれるファイルを生成します。このファイルはインポートして戻すことができます。" -"バグ報告の生成に失敗しました。" -"バグ報告の生成" -"トラブルシューティング" -"このアプリの翻訳を支援する" -"夜間モード" -"夜間モードで真黒を使用する" -"夜間モードで灰色の背景を黒で置き換えます。AMOLED ディスプレイの電話でバッテリー使用量を抑えます。" -"インターフェース" -"日の順序を逆転する" -"メイン画面で日を逆順に表示します" -"日" -"週" -"月" - - -"四半期" -"年" - - - -"回 /" -"%d 日ごと" -"%d 週ごと" -"%d ヶ月ごと" - - -"スコア" -"リマインダー サウンド" - - -"なし" - \ No newline at end of file + ループ習慣トラッカー + 習慣 + 設定 + 編集 + 削除 + アーカイブ + アーカイブを戻す + 習慣を追加 + 色の変更 + 習慣を作成しました。 + 習慣を削除しました。 + 習慣を復元しました。 + 元に戻すことはできません。 + 繰り返しはできません。 + 習慣を変更しました。 + 習慣を元に戻しました。 + 習慣をアーカイブしました。 + 習慣のアーカイブを戻しました。 + 概要 + 習慣の強さ + 履歴 + クリア + 質問 (今日 … しましたか?) + 繰り返し + + + リマインダー + 破棄 + 保存 + 連続記録 + アクティブな習慣はありません + 長押しするとチェックを付けたり外したりします + オフ + 名前は空にできません。 + 正の数値にする必要があります。 + 多くとも 1 日 1 回にすることができます。 + 習慣を作成 + 習慣を編集 + チェック + 後で + + ようこそ + ループ習慣トラッカーは、良い習慣を作って、維持するのに役立ちます。 + 新しい習慣を作成します + 毎日、習慣を実行した後、アプリでチェックマークを付けます。 + これを続けます + 長い期間習慣を継続すると、スターを全て獲得できます。 + 進捗状況を追跡します + 詳細グラフは、あなたの習慣が時間をかけて改善された様子を示します。 + 15 分 + 30 分 + 1 時間 + 2 時間 + 4 時間 + 8 時間 + クリックで繰り返しを切り替え + 便利になりますが、間違って切り替えが起こる可能性があります。 + リマインダーのスヌーズ間隔 + Google Play でこのアプリを評価 + 開発者にフィードバックを送信 + GitHub でソースコードを参照 + アプリの紹介を表示 + リンク + 動作 + 名前 + 設定 + スヌーズ間隔 + ご存知ですか? + エントリーを並べ替えるには、習慣の名前を長押しして、正しい場所にドラッグしてください。 + お使いの携帯電話を横置きモードにすることで、参照する日数を多くすることができます。 + 習慣を削除 + 習慣は完全に削除されます。この操作を元に戻すことはできません。 + 週末 + 月曜日から金曜日 + 週の任意の日 + 日の選択 + CSV としてエクスポート + 完了 + クリア + 時間の選択 + 分の選択 + アプリについて + 翻訳者 + 開発者 + バージョン %s + 周波数 + チェック + 強さ + 最高の連続記録 + 現在の連続記録 + 繰り返し数 + 最近 %d 日 + 最近 %d 週間 + 最近 %d ヶ月 + 最近 %d 年 + いつも + 毎日 + 毎週 + 1 週間に 2 回 + 1 週間に 5 回 + カスタム … + ヘルプ & FAQ + データのエクスポートに失敗しました。 + データのインポートに失敗しました。 + ファイルを認識できません。 + 習慣を正常にインポートしました。 + フルバックアップを正常にエクスポートしました。 + データのインポート + フルバックアップのエクスポート + このアプリでエクスポートしたフルバックアップだけではなく、Tickmate、HabitBull、Rewire で生成したファイルも同様にサポートしています。詳細については FAQ を参照してください。 + Microsoft Excel や OpenOffice Calc などの表計算ソフトで開くことができるファイルを生成します。このファイルはインポートで戻すことはできません。 + すべてのデータが含まれるファイルを生成します。このファイルはインポートして戻すことができます。 + バグ報告の生成に失敗しました。 + バグ報告の生成 + トラブルシューティング + このアプリの翻訳を支援する + 夜間モード + 夜間モードで真黒を使用する + 夜間モードで灰色の背景を黒で置き換えます。AMOLED ディスプレイの電話でバッテリー使用量を抑えます。 + インターフェース + 日の順序を逆転する + メイン画面で日を逆順に表示します + + + + 四半期 + + + 回 / + %d 日ごと + %d 週ごと + %d ヶ月ごと + スコア + リマインダー サウンド + なし + diff --git a/app/src/main/res/values-ko/strings.xml b/app/src/main/res/values-ko/strings.xml index ed2a8d872..1290477c9 100644 --- a/app/src/main/res/values-ko/strings.xml +++ b/app/src/main/res/values-ko/strings.xml @@ -1,189 +1,157 @@ + + -"Loop 습관제조기" -"습관" -"설정" -"수정" -"삭제" -"보관" -"제거" -"습관 만들기" -"색상 정하기" -"습관을 시작합니다." -"습관을 지웠습니다." -"습관을 복원합니다." -"복원할 것이 없습니다." -"복원할 것이 없습니다." -"습관을 수정했습니다." - - -"습관을 복원했습니다." -"습관을 보관합니다." -"습관을 제거합니다." -"홈" -"습관 완성정도" -"기록" -"지우기" -"질문 (오늘 ... 했나요?)" - - -"반복" -"번" -"일 동안" -"알림" -"취소" -"저장" - - -"길게 이은 기록" -"습관이 없습니다" -"길게 눌러 기록" -"끔" -"제목을 적어주세요." -"숫자는 0보다 커야합니다." -"하루에 한 번 반복만 가능합니다." -"습관 만들기" -"습관 수정하기" -"선택" -"나중에" - - -"안녕하세요" -"Loop은 당신이 좋은 습관을 만들고 유지하도록 도와줍니다." -"새로운 습관을 만들어 보세요." -"매일매일, 습관을 수행한 뒤에, 앱에 기록하세요." -"계속 반복하세요" -"일정 시간동안 유지된 습관은 참잘했어요도장을 얻습니다." -"습관을 관리하세요" -"그래프를 보고 습관이 유지되는지를 체크할 수 있습니다." -"15분" -"30분" -"1시간" -"2시간" -"4시간" -"8시간" -"짧게 터치해 기록 하세요." -"실수로 체크가 될 수 있지만, 더 편한 체크박스." -"반복알림을 미루기" -"Google Play에서 평가" -"계발자에게 피드백" -"Github에서 소스보기" -"앱 안내메시지 보기" -"링크" -"행동" -"제목" -"보관함 보기" -"설정" -"미루기" -"알고 계시나요?" -"습관 순서를 조정하려면, 습관을 길게 눌러 끌어당겨서 다른 위치로 옮길 수 있습니다." -"화면을 눕혀서 보면 더 많은 날들을 볼 수 있씁니다." -"습관 삭제" -"습관을 삭제합니다. 삭제하면 다시 복원할 수 없습니다." -"주말" - - -"주중" - - -"매일" -"몇일 선택" - - -"정보 내보내기 (CSV)" -"완료" -"지우기" -"시간 선택" -"분 선택" - - -"좋은 습관을 만들고 관리하세요. (광고 없음)" -"Loop은 습관을 만들고 유지하도록 도와주어, 장기간 목표를 달성하도록 합니다. 그래프와 통계를 보고 습관이 만들어지는 과정을 보세요. 오픈소스이고, 무광고입니다." -"<b>아름답고 심플한 디자인</b> -Loop은 Material디자인을 따라 사용이 편합니다." -"<b>습관 포인트</b> -얼마나 오랫동안 습관을 유지했는지 보여줌과 동시에, Loop은 특화된 알고리듬으로 습관의 견고함을 계산합니다. 반복할 수록 강해지고, 빠뜨린 날들이 많아질 수록 포인트는 낮아집니다. 하지만, 오랫동안 유지된 습관은 몇 일을 빠뜨렸다고 해서 포인트가 급강하하지는 않습니다." -"<b>그래프와 통계</b> -습관이 어떤 과정을 거쳐서 완성되는지 그래프를 보면 알 수 있습니다. -스크롤해서 장기간의 과정을 볼 수 있습니다." -"<b>여러 종류의 스케줄 조정가능</b> -매일 습관, 혹은 일주일에 3번; 2주에 한번; 같은 여러 종류의 스케줄을 만들 수 있습니다." - - -"<b>알림</b> -" -"<b>오픈소스, 무광고</b> -광고, 귀찮은 스팸, 비정상적인 정보요구는 없습니다. 모든 소스코드는 GPLv3로 라이센스되었습니다." -"<b>스마트시계에 최적화</B> -안드로이드 시계에서 바로 알림을 확인, 미루기 혹은 무시할 수 있습니다." -"정보" -"번역가" -"계발자" - - -"버전 %s" -"반복수" -"습관기록" - - -"습관 완성정도" -"가장 길게 이은 기록" -"현재 기록" -"반복한 횟수" -"이전 %d일 동안" -"이전 %d주 동안" -"이전 %d달 동안" -"이전 %d년 동안" - - -"모두" -"매일" -"매주" -"일주일에 2번" -"일주일에 5번" -"직접 정하기" -"도움 & FAQ" -"내보내기 오류." -"가져오기 오류." - - -"지원하지 않는 파일입니다." -"가져오기 완료." -"백업 완료." -"데이터 가져오기" -"백업 내보내기" -"Tickmate, HabitBull, Rewire의 백업파일도 지원합니다. 더 자세한 설명은 FAQ에 있습니다." -"Microsoft Excel 혹은, OpenOffice Calc 같은 스프레드시트 프로그램으로 열 수 있는 CSV파일로 내보냅니다. 다만, CSV파일을 다시 가져올 수는 없습니다." -"모든 데이터를 백업합니다. 나중에 이 파일을 가져올 수 있습니다." -"오류보고서를 작성하지 못했습니다." -"오류보고서 작성하기" -"문제가 있나요?" -"변역을 도와주세요" -"어두운 배경" -"검정색 배경" -"야간모드의 회색 바탕을 검정 바탕색으로 바꿉니다. AMOLED를 사용하는 기기는 검정바탕으로 배터리를 절약할 수 있습니다." -"바탕화면 설정" -"날짜 순서 뒤집기" -"날짜 순서를 뒤바꾸어 보여줍니다." -"일" -"주" -"월" - - -"4분기-1년" -"년" - - - -"번" -"%d 일 마다" -"%d 주 마다" -"%d 개월 마다" - - -"습관점수" -"알림 소리" - - -"무음" - \ No newline at end of file + Loop 습관제조기 + 습관 + 설정 + 수정 + 삭제 + 보관 + 제거 + 습관 만들기 + 색상 정하기 + 습관을 시작합니다. + 습관을 지웠습니다. + 습관을 복원합니다. + 복원할 것이 없습니다. + 복원할 것이 없습니다. + 습관을 수정했습니다. + 습관을 복원했습니다. + 습관을 보관합니다. + 습관을 제거합니다. + + 습관 완성정도 + 기록 + 지우기 + 질문 (오늘 ... 했나요?) + 반복 + + 일 동안 + 알림 + 취소 + 저장 + 길게 이은 기록 + 습관이 없습니다 + 길게 눌러 기록 + + 제목을 적어주세요. + 숫자는 0보다 커야합니다. + 하루에 한 번 반복만 가능합니다. + 습관 만들기 + 습관 수정하기 + 선택 + 나중에 + + 안녕하세요 + Loop은 당신이 좋은 습관을 만들고 유지하도록 도와줍니다. + 새로운 습관을 만들어 보세요. + 매일매일, 습관을 수행한 뒤에, 앱에 기록하세요. + 계속 반복하세요 + 일정 시간동안 유지된 습관은 참잘했어요도장을 얻습니다. + 습관을 관리하세요 + 그래프를 보고 습관이 유지되는지를 체크할 수 있습니다. + 15분 + 30분 + 1시간 + 2시간 + 4시간 + 8시간 + 짧게 터치해 기록 하세요. + 실수로 체크가 될 수 있지만, 더 편한 체크박스. + 반복알림을 미루기 + Google Play에서 평가 + 계발자에게 피드백 + Github에서 소스보기 + 앱 안내메시지 보기 + 링크 + 행동 + 제목 + 설정 + 미루기 + 알고 계시나요? + 습관 순서를 조정하려면, 습관을 길게 눌러 끌어당겨서 다른 위치로 옮길 수 있습니다. + 화면을 눕혀서 보면 더 많은 날들을 볼 수 있씁니다. + 습관 삭제 + 습관을 삭제합니다. 삭제하면 다시 복원할 수 없습니다. + 주말 + 주중 + 매일 + 몇일 선택 + 정보 내보내기 (CSV) + 완료 + 지우기 + 시간 선택 + 분 선택 + 정보 + 번역가 + 계발자 + 버전 %s + 반복수 + 습관기록 + 습관 완성정도 + 가장 길게 이은 기록 + 현재 기록 + 반복한 횟수 + 이전 %d일 동안 + 이전 %d주 동안 + 이전 %d달 동안 + 이전 %d년 동안 + 모두 + 매일 + 매주 + 일주일에 2번 + 일주일에 5번 + 직접 정하기 + 도움 & FAQ + 내보내기 오류. + 가져오기 오류. + 지원하지 않는 파일입니다. + 가져오기 완료. + 백업 완료. + 데이터 가져오기 + 백업 내보내기 + Tickmate, HabitBull, Rewire의 백업파일도 지원합니다. 더 자세한 설명은 FAQ에 있습니다. + Microsoft Excel 혹은, OpenOffice Calc 같은 스프레드시트 프로그램으로 열 수 있는 CSV파일로 내보냅니다. 다만, CSV파일을 다시 가져올 수는 없습니다. + 모든 데이터를 백업합니다. 나중에 이 파일을 가져올 수 있습니다. + 오류보고서를 작성하지 못했습니다. + 오류보고서 작성하기 + 문제가 있나요? + 변역을 도와주세요 + 어두운 배경 + 검정색 배경 + 야간모드의 회색 바탕을 검정 바탕색으로 바꿉니다. AMOLED를 사용하는 기기는 검정바탕으로 배터리를 절약할 수 있습니다. + 바탕화면 설정 + 날짜 순서 뒤집기 + 날짜 순서를 뒤바꾸어 보여줍니다. + + + + 4분기-1년 + + + + %d 일 마다 + %d 주 마다 + %d 개월 마다 + 습관점수 + 알림 소리 + 무음 + diff --git a/app/src/main/res/values-nl/strings.xml b/app/src/main/res/values-nl/strings.xml index 33d4fc5d3..d92eb2c6e 100644 --- a/app/src/main/res/values-nl/strings.xml +++ b/app/src/main/res/values-nl/strings.xml @@ -1,181 +1,152 @@ + + - "Loop Habit Tracker" - "Gewoontes" - "Instellingen" - "Wijzig" - "Verwijder" - "Archiveer" - "Dearchiveren" - "Voeg gewoonte toe" - "Verander kleur" - "Gewoonte aangemaakt." - "Gewoonte verwijderd." - "Gewoonte hersteld." - "Niets om ongedaan te maken." - "Niets om over te doen." - "Gewoonte gewijzigd." - - - "Wijziging gewoonte ongedaan gemaakt." - "Gewoonte gearchiveerd." - "Gewoonte hersteld uit archief." - "Overzicht" - "Gewoonte-sterkte" - "Geschiedenis" - "Wis" - "Vraag (Heb jij vandaag .... ?)" - - - "Herhaal" - "keer in " - "dagen" - "Herinnering" - "Verwijder" -"Opslaan -" - - - "Reeksen" - "Je hebt geen actieve gewoontes" - "Houdt ingedrukt om te selecteren of deselecteren" - "Uit" - "Naam kan niet leeg zijn." - "Nummer moet positief zijn." - "Je kunt maximaal een repetitie per dag hebben" - "Maak gewoonte aan" - "Wijzig gewoonte" - "Voltooid" - "Later" - - - "Welkom" - "Loop Habit Tracker helpt je om goede gewoontes te creëren en te onderhouden." - "Creëer enkele nieuwe gewoontes" - "Plaats iedere dag, na het uitvoeren van jouw gewoonte, een vinkje in de app." - "Blijf het doen" - "Gewoontes die een langere tijd consistent worden uitgevoerd, zullen een volle ster verdienen." - "Volg jouw voortgang" - "Gedetailleerde grafieken tonen je hoe jouw gewoontes met de tijd verbeteren." - "15 minuten" - "30 minuten" - "1 uur" - "2 uur" - "4 uur" - "8 uur" - "Wijzig herhalingen door kort indrukken" - "Handiger, maar kan onbedoelde wijzigingen veroorzaken." - "Snooze interval voor herinneringen" - "Beoordeel deze app in Google Play" - "Stuur feedback aan de ontwikkelaar" - "Bekijk de broncode op GitHub" - "Bekijk de app introductie" - "Links" - "Gedrag" - "Naam" - "Toon gearchiveerd" - "Instellingen" - "Snooze interval" - "Wist je dat?" - "Om de rijen te ordenen houdt de gewoonte ingedrukt en sleep het naar de gewenste plek." - "Je kunt meer dagen zien door de telefoon in landschapmodus te zetten." - "Verwijder gewoontes" - "De gewoontes zullen permanent verwijderd worden. Deze actie kan niet ongedaan gemaakt worden." - "In het weekend" - "Maandag tot vrijdag" - "Elke dag van de week" - "Selecteer dagen" - "Exporteer als CSV" - "Voltooid" - "Wis" - "Selecteer uren" - "Selecteer minuten" - - - "Creëer goede gewoontes en hou hun voortgang in de loop van de tijd bij (reclamevrij)" - "Loop helpt jou om goede gewoontes te creëren en te onderhouden zodat je jouw lange-termijn doelen kunt behalen. Gedetaileerde grafieken en statistieken laten je zien hoe jouw gewoontes zich verbeteren door te tijd heen. De app is compleet advertentie-vrij en open source." -"<b>Een simpele, mooie en modern uiterlijk</b> -Loop heeft een minimalistisch uiterlijk, is makkelijk in gebruik en volgt de material design richtlijnen." -"<b>Gewoonte-score</b> -Naast het tonen van de huidige reeks heeft Loop een geavanceerd algoritme for het berekenen van de sterkte van je gewoontes. Elke herhaling maken je gewoonte sterker, en elke gemiste dag maakt hem zwakker. Enkele gemiste dagen na een lange reeks zal jouw progressie echter niet geheel ongedaan maken." -"<b>Gedetailleerde grafieken en statistieken</b> -Zie duidelijk hoe jouw gewoontes verbeteren door te tijd heen met prachtige en gedetailleerde grafieken. Scroll terug om de gehele geschiedenis van jouw gewoontes te zien." -"<b>Flexibele planningen</b> -Ondersteunt zowel dagelijkse gewoontes als gewoontes met meerdere complexere planningen. Zoals 3 keer per week; 1 keer in de 2 weken; of om de dag." -"<b>Herinneringen</b> -Creeer een individuele herinnering voor elke gewoonte, op een bepaald uur van de dag. Selecteer, stel uit en snooze jouw gewoontes gemakkelijk vanuit de notificatie zonder de app te openen." -"<b>Volledig reclamevrij en open source</b> -Er zijn absoluut geen advertenties, vervelende notificaties of indringende machtigingen in deze app, en deze zullen er nooit komen. De volledige broncode is beschikbaar onder de GPLv3." -"<b>Geoptimaliseerd voor smartwatches</b> -Herinneringen kunnen worden bekeken, gesnoozed, of uitgesteld direct vanaf jouw Android Wear horloge." - "Over" - "Vertalers" - "Ontwikkelaars" - - - "Versie %s" - "Frequentie" - "Vinkje" - - - "Sterkte" - "Beste reeksen" - "Huidige reeks" - "Aantal herhalingen" - "Laatste %d dagen" - "Laatste %d weken" - "Laatste %d maanden" - "Laatste %d jaren" - - - "Altijd" - "Iedere dag" - "Iedere week" - "2 keer per week" - "5 keer per week" - "Aangepast" - "Hulp en veelgestelde vragen" - "Het exporteren van de data is mislukt." - "Importeren van data mislukt." - - - "Bestand niet herkend." - "Gewoontes succesvol geïmporteerd." - "Volledige backup succesvol geëxporteerd." - "Importeer gegevens" - "Exporteer volledige backup" - "Ondersteund volledige backups geexporteerd door deze app. Ondersteund ook bestanden gegenereerd door Tickmate, HabitBull of Rewire. Zie FAQ voor meer informatie" - "Genereert bestanden die geopend kunnen worden door spreadsheet software zoals Microsoft Excel or OpenOffice Calc. Dit bestand kan niet terug geïmporteerd worden." - "Genereert een bestand met al uw gegevens. Dit bestand kan ook terug geïmporteerd worden." - "Het genereren van het foutenrapport is mislukt." - "Genereer foutenrapport" - "Probleemoplossing" - "Help deze app te vertalen" - "Nachtmodus" - "Gebruik puur zwart in nachtmodus" - "Vervangt grijze achtergronden door puur zwart in nachtmodus. Vermindert batterijgebruik in telefoons met AMOLED scherm." - "Uiterlijk" - "Omgekeerde volgorde van dagen" - "Toon dagen in omgekeerde volgorde op het hoofdscherm" - "Dag" - "Week" - "Maand" - - - "Kwartaal" - "Jaar" - - - - "keer per" - "Iedere %d dagen" - "Iedere %d weken" - "Iedere %d maanden" - - - "Score" - "Herinneringsgeluid" - - - "Stil" - \ No newline at end of file + Gewoontes + Instellingen + Wijzig + Verwijder + Archiveer + Dearchiveren + Voeg gewoonte toe + Verander kleur + Gewoonte aangemaakt. + Gewoonte verwijderd. + Gewoonte hersteld. + Niets om ongedaan te maken. + Niets om over te doen. + Gewoonte gewijzigd. + Wijziging gewoonte ongedaan gemaakt. + Gewoonte gearchiveerd. + Gewoonte hersteld uit archief. + Overzicht + Gewoonte-sterkte + Geschiedenis + Wis + Vraag (Heb jij vandaag .... ?) + Herhaal + keer in + dagen + Herinnering + Verwijder + \"Opslaan +\" + Reeksen + Je hebt geen actieve gewoontes + Houdt ingedrukt om te selecteren of deselecteren + Uit + Naam kan niet leeg zijn. + Nummer moet positief zijn. + Je kunt maximaal een repetitie per dag hebben + Maak gewoonte aan + Wijzig gewoonte + Voltooid + + Welkom + Loop Habit Tracker helpt je om goede gewoontes te creëren en te onderhouden. + Creëer enkele nieuwe gewoontes + Plaats iedere dag, na het uitvoeren van jouw gewoonte, een vinkje in de app. + Blijf het doen + Gewoontes die een langere tijd consistent worden uitgevoerd, zullen een volle ster verdienen. + Volg jouw voortgang + Gedetailleerde grafieken tonen je hoe jouw gewoontes met de tijd verbeteren. + 15 minuten + 30 minuten + 1 uur + 2 uur + 4 uur + 8 uur + Wijzig herhalingen door kort indrukken + Handiger, maar kan onbedoelde wijzigingen veroorzaken. + Snooze interval voor herinneringen + Beoordeel deze app in Google Play + Stuur feedback aan de ontwikkelaar + Bekijk de broncode op GitHub + Bekijk de app introductie + Gedrag + Naam + Instellingen + Wist je dat? + Om de rijen te ordenen houdt de gewoonte ingedrukt en sleep het naar de gewenste plek. + Je kunt meer dagen zien door de telefoon in landschapmodus te zetten. + Verwijder gewoontes + De gewoontes zullen permanent verwijderd worden. Deze actie kan niet ongedaan gemaakt worden. + In het weekend + Maandag tot vrijdag + Elke dag van de week + Selecteer dagen + Exporteer als CSV + Voltooid + Wis + Selecteer uren + Selecteer minuten + Over + Vertalers + Ontwikkelaars + Versie %s + Frequentie + Vinkje + Sterkte + Beste reeksen + Huidige reeks + Aantal herhalingen + Laatste %d dagen + Laatste %d weken + Laatste %d maanden + Laatste %d jaren + Altijd + Iedere dag + Iedere week + 2 keer per week + 5 keer per week + Aangepast + Hulp en veelgestelde vragen + Het exporteren van de data is mislukt. + Importeren van data mislukt. + Bestand niet herkend. + Gewoontes succesvol geïmporteerd. + Volledige backup succesvol geëxporteerd. + Importeer gegevens + Exporteer volledige backup + Ondersteund volledige backups geexporteerd door deze app. Ondersteund ook bestanden gegenereerd door Tickmate, HabitBull of Rewire. Zie FAQ voor meer informatie + Genereert bestanden die geopend kunnen worden door spreadsheet software zoals Microsoft Excel or OpenOffice Calc. Dit bestand kan niet terug geïmporteerd worden. + Genereert een bestand met al uw gegevens. Dit bestand kan ook terug geïmporteerd worden. + Het genereren van het foutenrapport is mislukt. + Genereer foutenrapport + Probleemoplossing + Help deze app te vertalen + Nachtmodus + Gebruik puur zwart in nachtmodus + Vervangt grijze achtergronden door puur zwart in nachtmodus. Vermindert batterijgebruik in telefoons met AMOLED scherm. + Uiterlijk + Omgekeerde volgorde van dagen + Toon dagen in omgekeerde volgorde op het hoofdscherm + Dag + Maand + Kwartaal + Jaar + + keer per + Iedere %d dagen + Iedere %d weken + Iedere %d maanden + Herinneringsgeluid + Stil + diff --git a/app/src/main/res/values-no-rNO/strings.xml b/app/src/main/res/values-no-rNO/strings.xml new file mode 100644 index 000000000..d994b3aca --- /dev/null +++ b/app/src/main/res/values-no-rNO/strings.xml @@ -0,0 +1,24 @@ + + + + + + + diff --git a/app/src/main/res/values-pl/strings.xml b/app/src/main/res/values-pl/strings.xml index 195629e7e..31f815b83 100644 --- a/app/src/main/res/values-pl/strings.xml +++ b/app/src/main/res/values-pl/strings.xml @@ -1,186 +1,178 @@ + + -"Śledzenie Nawyków Loop" -"Nawyki" -"Ustawienia" -"Edytuj" -"Usuń" -"Archiwizuj" -"Odarchiwizuj" -"Dodaj nawyk" -"Zmień kolor" -"Utworzono nawyk." -"Usunięto nawyki." -"Przywrócono nawyki." -"Nic do cofnięcia." -"Nic do powtórzenia" -"Zmieniono nawyk." - - -"Zmieniono nawyk z powrotem." -"Nawyki zarchiwizowane." -"Nawyki odarchiwizowane." -"Przegląd" -"Siła nawyku" -"Historia" -"Wyczyść" -"Pytanie (Czy zrobiłeś ... dzisiaj?)" - - -"Powtórz" -"razy w" -"dni" -"Przypomnienie" -"Odrzuć" -"Zapisz" - - -"Serie" -"Nie masz aktywnych nawyków" -"Naciśnij i przytrzymaj aby zaznaczyć lub odznaczyć" -"Wyłączony" -"Nazwa nie może być pusta." -"Liczba musi być dodatnia." -"Możesz mieć maksymalnie jedno powtórzenie dziennie." -"Utwórz nawyk" -"Edytuj nawyk" -"Zaznacz" -"Później" - - -"Witaj" -"Śledzenie nawyków Loop pozwala Ci na utworzenie i prowadzenie dobrych nawyków." -"Utwórz nowe nawyki" -"Codziennie, po wykonaniu swojego nawyku, postaw znaczek w aplikacji." -"Kontynuuj swoje nawyki" -"Nawyki wykonywane przez dłuższy czas otrzymają pełną gwiazdkę." -"Śledź swój postęp" -"Szczegółowe grafiki pokazują jak Twoje nawyki polepszyły się z biegiem czasu." -"15 minut" -"30 minut" -"1 godzina" -"2 godziny" -"4 godziny" -"8 godzin" -"Przełącz powtarzanie przy krótkim naciśnięciu" -"Wygodniejsze ale może spowodować przypadkowe przełączenia." -"Czas drzemki między przypomnieniami" -"Oceń tą aplikację w Google Play" -"Prześlij uwagi do programisty" -"Zobacz kod źródłowy na GitHub'ie" -"Zobacz wprowadzenie do aplikacji" -"Linki" -"Zachowanie" -"Nazwa" -"Pokaż zarchiwizowane" -"Ustawienia" -"Czas drzemki" -"Czy wiesz że?" -"Aby zmienić kolejność naciśnij i przytrzymaj na nazwie nawyku i przesuń go na odpowiednie miejsce." -"Możesz zobaczyć więcej dni trzymając telefon poziomo." -"Usuń Nawyki" -"Nawyki zostaną trwale usunięte. Tej operacji nie można cofnąć." -"Weekendy" - - -"Dni robocze" - - -"Każdy dzień" -"Wybierz dni" - - -"Eksportuj dane (CSV)" -"Gotowe" -"Wyczyść" -"Wybierz godziny" -"Wybierz minuty" - - -"Twórz dobre nawyki i śledź ich postęp (bez reklam)" -"Loop pozwala Ci na tworzenie i utrzymywanie dobrych nawyków, dzięki czemu pomoże osiągnąć Twoje długoterminowe cele. Szczegółowe grafiki i statystyki pozwalają na zobaczenie jak Twoje nawyki polepszyły się. Jest całkowicie wolna od reklam i open source." -"<b>Prosty, piękny i nowoczesny interfejs</b> -Loop posiada minimalistyczny interfejs, który jest prosty do użycia i przestrzega zasad Material Design." -"<b>Punkty nawyku</b> -Oprócz pokazywania Twojej aktualnej serii, Loop posiada zaawansowany algorytm obliczania siły Twoich nawyków. Każde powtórzenie nawyku czyni go silniejszymi a każdy opuszczony dzień słabszym. Jednakże kilka opuszczonych dni po dłuższej serii nie zrujnuje Twojego całego postępu." -"<b>Szczegółowe grafiki i statystyki</b> -Zobacz jak Twoje nawyki ulepszają się poprzez piękne i szczegółowe wykresy. Przewiń do tyłu aby zobaczyć pełną historię Twoich nawyków." -"<b>Elastyczne plany</b> -Wspiera zarówno codzienne nawyki jak i nawyki z bardziej złożonym planem, jakie jak 3 razy co tydzień; raz w ciągu innego tygodnia; lub każdego innego dnia." -"<b>Przypomnienia</b> -Utwórz indywidualne przypomnienia dla każdego nawyku, w określonej godzinie dnia. Łatwo sprawdź, usuń i uśpij powiadomienia o nawyku bezpośrednio z powiadomienia, bez otwierania aplikacji." -"<b>Całkowicie bez reklam i open source</b> -Absolutnie nie ma żadnych reklam, denerwujących powiadomień czy szpiegujących uprawnień w tej aplikacji i nigdy nie będzie. Cały kod źródłowy jest dostępny pod licencją GPLv3." -"<b>Zoptymalizowana pod smartwatche</b> -Przypomnienia można sprawdzić, uśpić czy usunąć bezpośrednio z twojego zegarka Android Wear." -"O aplikacji" -"Tłumacze" -"Programiści" - - -"Wersja %s" -"Częstotliwość" -"Znacznik" - - -"Siła" -"Najlepsze serie" -"Aktualna seria" -"Liczba powtórzeń" -"Ostatnie %d dni" -"Ostatnie %d tygodni" -"Ostatnie %d miesięcy" -"Ostatnie %d lat" - - -"Od początku" -"Codziennie" -"Co tydzień" -"2 razy na tydzień" -"5 razy na tydzień" -"Niestandardowo..." -"Pomoc & FAQ" -"Eksportowanie danych nie powiodło się." -"Importowanie danych nie powiodło się." - - -"Plik nierozpoznany." -"Nawyki zaimportowane pomyślnie." -"Pełna kopia zapasowa pomyślnie wyeksportowana." -"Importuj dane" -"Eksportuj pełną kopię zapasową" -"Wspiera pełne kopie zapasowe zaimportowane przez tą aplikację zarówno jak i pliki wygenerowane przez Tickmate, Habitbull oraz Rewire. Zobacz FAQ po więcej informacji." -"Generuje pliki, które mogą być otwierane przez programy arkuszy kalkulacyjnych takie jak Microsoft Excel czy OpenOffice Calc. Taki plik nie może być importowany." -"Generuje plik, który zawiera wszystkie Twoje dane. Taki plik może być importowany." -"Nie udało się wygenerować raportu o błędach." -"Wygeneruj raport o błędach" -"Rozwiązywanie problemów" -"Pomóż w tłumaczeniu tej aplikacji" -"Tryb nocny" -"Używaj pełnej czerni w trybie nocnym" -"Zamienia szare tła na pełną czerń w trybie nocnym. Zmniejsza zużycie baterii w telefonach z ekranem AMOLED." -"Interfejs" -"Odwróć kolejność dni" -"Pokaż dni w odwrotnej kolejności na głównym ekranie" -"Dzień" -"Tydzień" -"Miesiąc" - - -"Kwartał" -"Rok" - - - -"raz w" -"Co %d dni" -"Co %d tygodni" -"Co %d miesięcy" - - -"Wynik" -"Dźwięk przypomnienia" - - -"Brak" - \ No newline at end of file + Śledzenie Nawyków Loop + Nawyki + Ustawienia + Edytuj + Usuń + Archiwizuj + Odarchiwizuj + Dodaj nawyk + Zmień kolor + Utworzono nawyk + Usunięto nawyki + Przywrócono nawyki + Nic do cofnięcia + Nic do powtórzenia + Zmieniono nawyk + Zmieniono nawyk z powrotem + Nawyki zarchiwizowane + Nawyki odarchiwizowane + Przegląd + Siła nawyku + Historia + Wyczyść + Pytanie (Czy zrobiłeś ... dzisiaj?) + Powtórz + razy w + dni + Przypomnienie + Odrzuć + Zapisz + Serie + Nie masz aktywnych nawyków + Naciśnij i przytrzymaj aby zaznaczyć lub odznaczyć + Wyłączone + Nazwa nie może być pusta. + Liczba musi być dodatnia. + Możesz mieć maksymalnie jedno powtórzenie dziennie. + Utwórz nawyk + Edytuj nawyk + Zaznacz + Później + + Witaj + Śledzenie nawyków Loop pozwala Ci na utworzenie i prowadzenie dobrych nawyków. + Utwórz nowe nawyki + Codziennie, po wykonaniu swojego nawyku, postaw znaczek w aplikacji. + Kontynuuj swoje nawyki + Nawyki wykonywane przez dłuższy czas otrzymają pełną gwiazdkę. + Śledź swój postęp + Szczegółowe grafiki pokazują jak Twoje nawyki polepszyły się z biegiem czasu. + 15 minut + 30 minut + 1 godzina + 2 godziny + 4 godziny + 8 godzin + 24 godziny + Przełącz powtarzanie przy krótkim naciśnięciu + Wygodniejsze ale może spowodować przypadkowe przełączenia. + Czas drzemki między przypomnieniami + Oceń tą aplikację w Google Play + Prześlij uwagi do programisty + Zobacz kod źródłowy na GitHub\'ie + Zobacz wprowadzenie do aplikacji + Linki + Zachowanie + Nazwa + Ustawienia + Czas drzemki + Czy wiesz że? + Aby zmienić kolejność naciśnij i przytrzymaj na nazwie nawyku i przesuń go na odpowiednie miejsce. + Możesz zobaczyć więcej dni trzymając telefon poziomo. + Usuń nawyki + Nawyki zostaną trwale usunięte. Tej operacji nie można cofnąć. + Nawyk usunięty/nie znaleziony + Weekendy + Dni robocze + Każdy dzień + Wybierz dni + Eksportuj dane (CSV) + Gotowe + Wyczyść + Wybierz godziny + Wybierz minuty + O aplikacji + Tłumacze + Programiści + Wersja %s + Częstotliwość + Znacznik + Siła + Najlepsze serie + Aktualna seria + Liczba powtórzeń + Ostatnie %d dni + Ostatnie %d tygodni + Ostatnie %d miesięcy + Ostatnie %d lat + Od początku + Codziennie + Co tydzień + 2 razy na tydzień + 5 razy na tydzień + Niestandardowo... + Pomoc & FAQ + Eksportowanie danych nie powiodło się. + Importowanie danych nie powiodło się. + Plik nierozpoznany. + Nawyki zaimportowane pomyślnie. + Pełna kopia zapasowa pomyślnie wyeksportowana. + Importuj dane + Eksportuj pełną kopię zapasową + Wspiera pełne kopie zapasowe wyeksportowane przez tą aplikację zarówno jak i pliki wygenerowane przez Tickmate, Habitbull oraz Rewire. Zobacz FAQ po więcej informacji. + Generuje pliki, które mogą być otwierane przez arkusze kalkulacyjne takie jak Microsoft Excel czy OpenOffice Calc. Taki plik nie może być importowany. + Generuje plik, który zawiera wszystkie Twoje dane. Taki plik może być importowany. + Nie udało się wygenerować raportu o błędach. + Wygeneruj raport o błędach + Rozwiązywanie problemów + Pomóż w tłumaczeniu tej aplikacji + Tryb nocny + Używaj pełnej czerni w trybie nocnym + Zamienia szare tła na pełną czerń w trybie nocnym. Zmniejsza zużycie baterii w telefonach z ekranem AMOLED. + Interfejs + Odwróć kolejność dni + Pokaż dni w odwrotnej kolejności na głównym ekranie + Dzień + Tydzień + Miesiąc + Kwartał + Rok + Łącznie + + raz w + Co %d dni + Co %d tygodni + Co %d miesięcy + Wynik + Dźwięk przypomnienia + Brak + Filtruj + Ukryj zakończone + Ukryj archiwizowane + Przypinaj powiadomienia + Zapobiega usunięciu powiadomień. + Napraw bazę danych + Baza danych została naprawiona. + Odznacz + Przełącz + Akcja + Nawyk + Sortuj + Ręcznie + Według nazwy + Według koloru + Według wyniku + Pobierz + Eksportuj + diff --git a/app/src/main/res/values-pt-rBR/strings.xml b/app/src/main/res/values-pt-rBR/strings.xml index 40a69a1ec..dcc65bdc0 100644 --- a/app/src/main/res/values-pt-rBR/strings.xml +++ b/app/src/main/res/values-pt-rBR/strings.xml @@ -1,180 +1,178 @@ + + - "Hábitos" - "Hábitos" - "Configurações" - "Editar" - "Deletar" - "Arquivar" - "Desarquivar" - "Adicionar hábito" - "Mudar cor" - "Hábito criado." - "Hábito deletado." - "Hábitos restaurados." - "Nada para desfazer." - "Nada para refazer." - "Hábito modificado." - - - "Hábito restaurado." - "Hábitos arquivados." - "Hábitos restaurados." - "Visão geral" - "Estabilidade" - "Histórico" - "Limpar" - "Pergunta (por ex., \"você meditou hoje?\")" - - - "Repetir" - "vezes em" - "dias" - "Lembrete" - "Cancelar" - "Salvar" - - - "Correntes" - "Você não tem nenhum hábito ativo" - "Sustente por um segundo para marcar ou desmarcar" - "Desligado" - "Nome não pode ficar em branco." - "Número precisa ser positivo." - "Você pode ter no máximo uma repetição por dia." - "Criar hábito" - "Editar hábito" - "Marcar" - "Mais tarde" - - - "Bem vindo" - "Loop é um aplicativo que te ajuda a criar e manter bons hábitos." - "Adicione alguns hábitos" - "Todo dia, depois de praticar o seu hábito, marque no aplicativo." - "Continue praticando" - "Hábitos praticados regularmente por um longo período recebem uma estrela." - "Acompanhe o seu progresso" - "Veja como seus hábitos estão progredindo através de diagramas." - "15 minutos" - "30 minutos" - "1 hora" - "2 horas" - "4 horas" - "8 horas" - "Marcar repetições com um toque curto" - "Mais conveniente, mas pode causar marcações acidentais" - "Duração do \"mais tarde\" nos lembretes" - "Avaliar esse app no Google Play" - "Mandar sugestões para o desenvolvedor" - "Ver código-fonte no GitHub" - "Assistir introdução ao aplicativo" - "Links" - "Interação" - "Nome" - "Mostrar hábitos arquivados" - "Configurações" - "Duração do \"mais tarde\"" - "Dica" - "Para mudar a ordem dos hábitos, aperte no nome do hábito, sustente e arraste." - "Para ver mais dias, coloque seu aparelho em modo paisagem." - "Deletar hábitos" - "Os hábitos escolhidos serão deletados permanentemente. Esta ação não pode ser desfeita." - "Fim de semana" - "Segunda a sexta" - "Qualquer dia da semana" - "Selecionar dias" - "Exportar em formato CSV" - "Pronto" - "Limpar" - "Selecionar horas" - "Selecionar minutos" - - - "Acompanhe o progresso dos seus hábitos com o passar do tempo (sem anúncios)" - "Loop é um aplicativo que te ajuda a criar e manter bons hábitos, permitindo que você alcance os seus objetivos de longo prazo. Gráficos e estatísticas te mostram em detalhe como os teus hábitos progrediram ao passar do tempo. Este aplicativo não tem propagandas e é Open Source." -"<b>Interface bonita, moderna e simples</b> -Loop tem uma interface minimalista bem simples de se usar, e segue o novo visual Material Design." -"<b>Estabilidade dos hábitos</b> -Além de mostrar quantos dias seguidos você praticou cada rotina, Loop também conta com um avançado algoritmo para calcular a estabilidade dos seus hábitos. Cada repetição melhora a estabilidade do hábito, e cada dia de folga piora a estabilidade. Alguns dias de folga após um longo período perfeito, no entanto, não destruirá por completo o teu progresso." -"<b>Gráficos e estatísticas detalhadas</b> -Veja claramente como os teus hábitos estão progredindo com o passar do tempo, através de bonitos e detalhados diagramas. O histórico completo de cada hábito fica arquivado." -"<b>Rotina flexível</b> -Loop aceita tanto hábitos diários, quanto hábitos com rotinas mais complexas, como 3 vezes por semana; uma vez a cada duas semanas; ou uma vez a cada dois dias." -"<b>Lembretes</b> -É possível criar lembretes individuais para cada hábito, na hora do dia em que você escolher. Marque como completado diretamente da barra de notificação, sem precisar abrir o aplicativo." -"<b>Completamente sem propagandas e Open Source</b> -Não há nenhum anúncio neste aplicativo, nem notificações chatas ou permissões intrusivas; e será assim para sempre. O código fonte completo está disponível sob a licença livre GPLv3." -"<b>Otimizado para relógios inteligentes</b> -Lembretes podem ser marcados ou ignorados diretamente a partir do seu relógio Android Wear." - "Sobre" - "Tradutores" - "Desenvolvedores" - - - "Versão %s" - "Frequência" - "Marcações" - - - "Estabilidade" - "Correntes mais longas" - "Corrente atual" - "Número de repetições" - "Últimos %d dias" - "Últimas %d semanas" - "Últimos %d meses" - "Últimos %d anos" - - - "Desde o início" - "Todo dia" - "Toda semana" - "2 vezes por semana" - "5 vezes por semana" - "Personalizar ..." - "Ajuda & FAQ" - "Erro ao exportar dados." - "Erro ao importar dados." - - - "Arquivo não reconhecido." - "Hábitos importados com sucesso." - "Backup completo exportado com sucesso." - "Importar dados" - "Exportar backup completo" - "Aceita backups completos exportados por este app, além de arquivos gerados por Tickmate, HabitBull ou Rewire. Veja \"Ajuda\" para mais informações." - "Gera arquivos que podem ser abertos em editores de planilha, como Microsoft Excel ou Openoffice Calc. Estes arquivos não podem ser importados de volta." - "Gera um arquivo que contém todos os dados. Este arquivo pode ser importado de volta." - "Erro ao gerar relatório de erros." - "Gerar relatório de erros." - "Solução de problemas" - "Ajude a traduzir este app" - "Modo noturno" - "Usar preto em modo noturno" - "Substitui os tons de cinza por preto puro em modo noturno. Economiza bateria em telefones com tela AMOLED." - "Interface" - "Inverter a ordem dos dias" - "Mostra os dias em ordem inversa na tela principal" - "Dia" - "Semana" - "Mês" - - - "Trimestre" - "Ano" - - - - "vez em" - "A cada %d dias" - "A cada %d semanas" - "A cada %d meses" - - - "Estabilidade" - "Toque dos lembretes" - - - "Nenhum" - \ No newline at end of file + Loop - Acompanhador de Hábitos + Hábitos + Configurações + Editar + Deletar + Arquivar + Desarquivar + Adicionar hábito + Mudar cor + Hábito criado. + Hábito deletado. + Hábitos restaurados. + Nada para desfazer. + Nada para refazer. + Hábito modificado. + Hábito restaurado. + Hábitos arquivados. + Hábitos restaurados. + Visão geral + Estabilidade + Histórico + Limpar + Pergunta (por ex., \"você meditou hoje?\") + Repetir + vezes em + dias + Lembrete + Cancelar + Salvar + Correntes + Você não tem nenhum hábito ativo + Sustente por um segundo para marcar ou desmarcar + Desligado + Nome não pode ficar em branco. + Número precisa ser positivo. + Você pode ter no máximo uma repetição por dia. + Criar hábito + Editar hábito + Marcar + Mais tarde + + Bem vindo + Loop é um aplicativo que te ajuda a criar e manter bons hábitos. + Adicione alguns hábitos + Todo dia, depois de praticar o seu hábito, marque no aplicativo. + Continue praticando + Hábitos praticados regularmente por um longo período recebem uma estrela. + Acompanhe o seu progresso + Veja como seus hábitos estão progredindo através de diagramas. + 15 minutos + 30 minutos + 1 hora + 2 horas + 4 horas + 8 horas + 24 horas + Marcar repetições com um toque curto + Mais conveniente, mas pode causar marcações acidentais + Duração do \"mais tarde\" nos lembretes + Avaliar esse app no Google Play + Mandar sugestões para o desenvolvedor + Ver código-fonte no GitHub + Assistir introdução ao aplicativo + Links + Interação + Nome + Configurações + Duração do \"mais tarde\" + Dica + Para mudar a ordem dos hábitos, aperte no nome do hábito, sustente e arraste. + Para ver mais dias, coloque seu aparelho em modo paisagem. + Deletar hábitos + Os hábitos escolhidos serão deletados permanentemente. Esta ação não pode ser desfeita. + Hábito deletado / não encontrado + Fim de semana + Segunda a sexta + Qualquer dia da semana + Selecionar dias + Exportar em formato CSV + Pronto + Limpar + Selecionar horas + Selecionar minutos + Sobre + Tradutores + Desenvolvedores + Versão %s + Frequência + Marcações + Estabilidade + Correntes mais longas + Corrente atual + Número de repetições + Últimos %d dias + Últimas %d semanas + Últimos %d meses + Últimos %d anos + Desde o início + Todo dia + Toda semana + 2 vezes por semana + 5 vezes por semana + Personalizar ... + Ajuda & FAQ + Erro ao exportar dados. + Erro ao importar dados. + Arquivo não reconhecido. + Hábitos importados com sucesso. + Backup completo exportado com sucesso. + Importar dados + Exportar backup completo + Aceita backups completos exportados por este app, além de arquivos gerados por Tickmate, HabitBull ou Rewire. Veja \"Ajuda\" para mais informações. + Gera arquivos que podem ser abertos em editores de planilha, como Microsoft Excel ou Openoffice Calc. Estes arquivos não podem ser importados de volta. + Gera um arquivo que contém todos os dados. Este arquivo pode ser importado de volta. + Erro ao gerar relatório de erros. + Gerar relatório de erros. + Solução de problemas + Ajude a traduzir este app + Modo noturno + Usar preto em modo noturno + Substitui os tons de cinza por preto puro em modo noturno. Economiza bateria em telefones com tela AMOLED. + Interface + Inverter a ordem dos dias + Mostra os dias em ordem inversa na tela principal + Dia + Semana + Mês + Trimestre + Ano + Total + + vez em + A cada %d dias + A cada %d semanas + A cada %d meses + Estabilidade + Toque dos lembretes + Nenhum + Filtro + Ocultar concluído + Ocultar arquivado + Tornar notificações persistentes + Impede que as notificações sejam dispensadas. + Reparar banco de dados + Banco de dados reparado. + Desmarcar + Alternar + Ação + Hábito + Ordenar + Manualmente + Por nome + Por cor + Por score + Download + Exportar + diff --git a/app/src/main/res/values-pt-rPT/strings.xml b/app/src/main/res/values-pt-rPT/strings.xml new file mode 100644 index 000000000..3dd2b3541 --- /dev/null +++ b/app/src/main/res/values-pt-rPT/strings.xml @@ -0,0 +1,154 @@ + + + + + Hábitos + Definições + Editar + Eliminar + Arquivar + Desarquivar + Adicionar hábito + Mudar cor + Hábito criado. + Hábito eliminado. + Hábito restaurado. + Nada a anular. + Nada a refazer. + Hábito modificado. + Hábito restaurado. + Hábito arquivado. + Hábito desarquivado. + Visão geral + Pontuação + Histórico + Limpar + Pergunta (e.g., já meditou hoje?) + Repetir + vezes em + dias + Lembrete + Cancelar + Guardar + Séries + Não tem hábitos ativos + Mantenha pressionado para marcar ou desmarcar + Desligado + Nome não pode estar em branco. + Número tem de ser positivo. + Apenas pode ter no máximo uma repetição por dia + Criar hábito + Editar hábito + Selecionar + Mais tarde + + Bem-vindo + Loop é uma aplicação que o ajuda a criar e manter bons hábitos. + Adicione alguns hábitos + Todos os dias, após concluir o seu hábito, marque uma cruz na app. + Continue praticando + Hábitos praticados regularmente durante algum tempo recebem uma estrela. + Acompanhe o seu progresso + Gráficos mostram-lhe como os seus hábitos melhoraram ao longo do tempo. + 15 minutos + 30 minutos + 1 hora + 2 horas + 4 horas + 8 horas + Toque para alternar entre repetições + Mais conveniente, mas pode causar toques acidentais + Intervalo da opção \'Mais Tarde\' nos lembretes + Avaliar a app no Google Play + Enviar feedback ao programador + Ver código-fonte no GitHub + Ver introdução da aplicação + Comportamento + Nome + Definições + Intervalo da opção \'Mais Tarde\' + Sabia que? + Para reorganizar a lista, mantenha pressionado o nome do hábito e arraste-o para o lugar certo. + Pode ver mais dias se utilizar o telemóvel em modo paisagem. + Apagar hábitos + Os hábitos serão permanentemente eliminados. Esta ação é irreversível. + Fins de Semana + Segunda a Sexta + Qualquer dia da semana + Selecionar dias + Exportar como CSV + Concluído + Limpar + Selecionar horas + Selecionar minutos + Sobre + Tradutores + Programadores + Versão %s + Frequência + Cruz + Pontuação + Melhores séries + Série atual + Número de repetições + Últimos %d dias + Últimas %d semanas + Últimos %d meses + Últimos %d anos + Desde sempre + Todos os dias + Todas as semanas + 2 vezes por semana + 5 vezes por semana + Personalizar... + Ajuda & FAQ + Falha ao exportar dados. + Falha ao importar dados. + Ficheiro não reconhecido. + Hábitos importados com sucesso. + Cópia de segurança completa exportada com sucesso. + Importar dados + Exportar cópia de segurança completa + Suporta cópias de segurança completas exportadas por esta app, bem como ficheiros gerados pelo Tickmate, HabitBull ou Rewire. Veja as FAQ para mais informações. + Gera ficheiros que podem ser abertos por programas de folhas de cálculo, como o Microsoft Excel ou o OpenOffice Calc. Este ficheiro não pode ser importado novamente para a app. + Gera um ficheiro que contém todos os dados dos seus hábitos. Este ficheiro pode ser novamente importado para a app. + Falha a gerar relatório de erros. + Gerar relatório de erros + Resolução de problemas + Ajude a traduzir esta aplicação + Modo noturno + Usar preto puro no modo noturno + Substitui os fundos cinzentos por pretos puros no modo noturno. Reduz a utilização da bateria em telemóveis com ecrã AMOLED. + Inverter a ordem dos dias + Mostra os dias em ordem inversa na página principal + Dia + Semana + Mês + Trimestre + Ano + + vez em + A cada %d dias + A cada %d semanas + A cada %d meses + Pontuação + Som do lembrete + Silencioso + diff --git a/app/src/main/res/values-pt/strings.xml b/app/src/main/res/values-pt/strings.xml deleted file mode 100644 index 9459ff1ef..000000000 --- a/app/src/main/res/values-pt/strings.xml +++ /dev/null @@ -1,180 +0,0 @@ - - - "Loop Habit Tracker" - "Hábitos" - "Definições" - "Editar" - "Eliminar" - "Arquivar" - "Desarquivar" - "Adicionar hábito" - "Mudar cor" - "Hábito criado." - "Hábito eliminado." - "Hábito restaurado." - "Nada a anular." - "Nada a refazer." - "Hábito modificado." - - - "Hábito restaurado." - "Hábito arquivado." - "Hábito desarquivado." - "Visão geral" - "Pontuação" - "Histórico" - "Limpar" - "Pergunta (e.g., já meditou hoje?)" - - - "Repetir" - "vezes em" - "dias" - "Lembrete" - "Cancelar" - "Guardar" - - - "Séries" - "Não tem hábitos ativos" - "Mantenha pressionado para marcar ou desmarcar" - "Desligado" - "Nome não pode estar em branco." - "Número tem de ser positivo." - "Apenas pode ter no máximo uma repetição por dia" - "Criar hábito" - "Editar hábito" - "Selecionar" - "Mais tarde" - - - "Bem-vindo" - "Loop é uma aplicação que o ajuda a criar e manter bons hábitos." - "Adicione alguns hábitos" - "Todos os dias, após concluir o seu hábito, marque uma cruz na app." - "Continue praticando" - "Hábitos praticados regularmente durante algum tempo recebem uma estrela." - "Acompanhe o seu progresso" - "Gráficos mostram-lhe como os seus hábitos melhoraram ao longo do tempo." - "15 minutos" - "30 minutos" - "1 hora" - "2 horas" - "4 horas" - "8 horas" - "Toque para alternar entre repetições" - "Mais conveniente, mas pode causar toques acidentais" - "Intervalo da opção 'Mais Tarde' nos lembretes" - "Avaliar a app no Google Play" - "Enviar feedback ao programador" - "Ver código-fonte no GitHub" - "Ver introdução da aplicação" - "Links" - "Comportamento" - "Nome" - "Mostrar hábitos arquivados" - "Definições" - "Intervalo da opção 'Mais Tarde'" - "Sabia que?" - "Para reorganizar a lista, mantenha pressionado o nome do hábito e arraste-o para o lugar certo." - "Pode ver mais dias se utilizar o telemóvel em modo paisagem." - "Apagar hábitos" - "Os hábitos serão permanentemente eliminados. Esta ação é irreversível." - "Fins de Semana" - "Segunda a Sexta" - "Qualquer dia da semana" - "Selecionar dias" - "Exportar como CSV" - "Concluído" - "Limpar" - "Selecionar horas" - "Selecionar minutos" - - - "Crie bons hábitos e siga o seu progresso ao longo do tempo (sem anúncios)" - "Loop ajuda-o a criar e manter bons hábitos, permitindo-lhe alcançar os seus objetivos. Gráficos detalhados e estatísticas mostram-lhe como os seus hábitos melhoraram ao longo do tempo. É completamente livre de anúncios e open source." -"<b>Interface simples, bela e moderna</b> -Loop tem uma interface minimalista que é fácil de usar e adota as normas do Material Design" -"<b>Pontuação dos hábitos</b> -Além de lhe mostrar a sua série atual, Loop também possui um avançado algoritmo que calcula a pontuação dos seus hábitos. Cada repetição aumenta a pontuação do seu hábito, e cada dia falhado a piora. No entanto, alguns dias falhados após uma longa série não destroem completamente o seu progresso." -"<b>Gráficos detalhados e estatísticas</b> -Veja como os seus hábitos melhoram ao longo do tempo com gráficos elegantes e detalhados. Deslize para trás para ver um histórico completo dos seus hábitos." -"<b>Rotinass flexíveis</b> -Suporta hábitos diários, bem como hábitos com rotinas mais complexos, como 3 vezes por semana; uma vez a cada duas semanas; ou uma vez a cada 2 dias." -"<b>Lembretes</b> -Crie um lembrete individual para cada hábito numa hora à sua escolha. Veja, ignore ou adie facilmente o seu hábito a partir da notificação, sem precisar de abrir a aplicação." -"<b>Completamente livre de publicidade e open source</b> -Não há anúncios, notificações irritantes ou permissões intrusivas nesta aplicação, e nunca haverá. O código fonte completo está disponível ao abrigo da licença GPLv3." -"<b>Otimizado para smartwatches</b> -Lembretes podem ser vistos, adiados ou ignorados diretamente a partir do seu smartwatch Android Wear." - "Sobre" - "Tradutores" - "Programadores" - - - "Versão %s" - "Frequência" - "Cruz" - - - "Pontuação" - "Melhores séries" - "Série atual" - "Número de repetições" - "Últimos %d dias" - "Últimas %d semanas" - "Últimos %d meses" - "Últimos %d anos" - - - "Desde sempre" - "Todos os dias" - "Todas as semanas" - "2 vezes por semana" - "5 vezes por semana" - "Personalizar..." - "Ajuda & FAQ" - "Falha ao exportar dados." - "Falha ao importar dados." - - - "Ficheiro não reconhecido." - "Hábitos importados com sucesso." - "Cópia de segurança completa exportada com sucesso." - "Importar dados" - "Exportar cópia de segurança completa" - "Suporta cópias de segurança completas exportadas por esta app, bem como ficheiros gerados pelo Tickmate, HabitBull ou Rewire. Veja as FAQ para mais informações." - "Gera ficheiros que podem ser abertos por programas de folhas de cálculo, como o Microsoft Excel ou o OpenOffice Calc. Este ficheiro não pode ser importado novamente para a app." - "Gera um ficheiro que contém todos os dados dos seus hábitos. Este ficheiro pode ser novamente importado para a app." - "Falha a gerar relatório de erros." - "Gerar relatório de erros" - "Resolução de problemas" - "Ajude a traduzir esta aplicação" - "Modo noturno" - "Usar preto puro no modo noturno" - "Substitui os fundos cinzentos por pretos puros no modo noturno. Reduz a utilização da bateria em telemóveis com ecrã AMOLED." - "Interface" - "Inverter a ordem dos dias" - "Mostra os dias em ordem inversa na página principal" - "Dia" - "Semana" - "Mês" - - - "Trimestre" - "Ano" - - - - "vez em" - "A cada %d dias" - "A cada %d semanas" - "A cada %d meses" - - - "Pontuação" - "Som do lembrete" - - - "Silencioso" - \ No newline at end of file diff --git a/app/src/main/res/values-ro/strings.xml b/app/src/main/res/values-ro/strings.xml new file mode 100644 index 000000000..f9f3d4cd9 --- /dev/null +++ b/app/src/main/res/values-ro/strings.xml @@ -0,0 +1,137 @@ + + + + + Obiceiuri + Setări + Editează + Șterge + Arhivează + Dezarhivează + Adaugă obicei + Schimbă culoarea + Obicei creat. + Obicei șters. + Obicei restabilit. + Nimic de anulat. + Nimic de refăcut. + Obicei schimbat. + Obicei restabilit. + Obicei arhivat. + Obicei dezarhivat. + Imagine de ansamblu + Puterea obiceiurilor + Istoric + Golește + Întrebare (Ai facut ... astăzi?) + Repetă de + ori în + zile + Reamintire + Renunță + Salvează + Serii + Nu ai niciun obicei activ. + Apasă și ține pentru a bifa sau a debifa + Dezactivat + Numele nu poate fi necompletat. + Numărul trebuie să fie pozitiv. + Poți avea maxim o repetiție pe zi. + Adaugă obicei + Editează obicei + Bifează + Mai tarziu + + Bun venit + Loop Habit Tracker te ajută să creezi și să menții obiceiurile bune. + Adaugă noi obiceiuri + În fiecare zi, după ce îndeplinești obiceiul, bifează-l în aplicație. + Continuă să faci asta + Obiceiurile îndeplinite în mod constant pentru o lungă perioadă de timp vor primi o stea. + Urmărește progresul + Grafice detaliate ce prezintă cum obiceiurile tale s-au îmbunătățit în timp. + 15 minute + 30 de minute + 1 oră + 2 ore + 4 ore + 8 ore + Comută repetițiile printr-o apăsare scurtă + Mai convenabil, dar poate cauza comutări accidentale. + Intervalul de amânare al reamintirilor. + Evaluează aplicația pe Google Play + Trimite feedback dezvoltatorului + Vezi codul sursă pe GitHub + Vezi introducerea aplicației + Linkuri + Comportament + Nume + Setări + Interval de amânare + Știai? + Pentru a rearanja obiceiurile, apasă și ține numele obiceiului, apoi trage-l în locul corect. + Poți vedea mai multe zile în modul peisaj. + Șterge obiceiuri + Obiceiurile vor fi șterse permanent. Această acțiune nu este reversibilă. + Weekenduri + Zile de lucru + Orice zi + Selectează zilele + Exportă datele în format CSV + Terminat + Golește + Selectează orele + Selectează minutele + Despre + Traducători + Dezvoltatori + Versiunea %s + Frecvență + Bifă + Putere + Cele mai bune serii + Seria curentă + Număr de repetiții + Ultimele %d zile + Ultimele %d săptămâni + Ultimele %d luni + Ultimii %d ani + Totdeauna + În fiecare zi + În fiecare săptămână + De 2 ori pe săptămână + De 5 ori pe săptămână + Personalizare ... + Ajutor & Întrebări frecvente + Exportare nereușită. + Importare nereușită. + Fișier nerecunoscut. + Obiceiuri importate cu succes. + Backup exportat cu succes. + Importă date + Exportă backup + Acceptă backup-uri exportate de această aplicație precum și fișiere generate de Tickmate, HabitBull sau Rewire. Vezi „Întrebări frecvente” pentru mai multe informații. + Generează fișiere ce pot fi deschise de software de foi de calcul precum Microsoft Office sau OpenOffice Calc. Acest fișier nu poate fi importat înapoi. + Generează un fișier ce conține toate datele tale. Acest fișier poate fi importat înapoi. + Generare raport de erori nereușită. + Generează raport de erori + Depanare + + diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml index 9cf1e9677..00942bfa6 100644 --- a/app/src/main/res/values-ru/strings.xml +++ b/app/src/main/res/values-ru/strings.xml @@ -1,186 +1,178 @@ + + -"Трекер привычек Loop" -"Привычки" -"Настройки" -"Редактировать" -"Удалить" -"Архивировать" -"Вернуть из архива" -"Добавить привычку" -"Изменить цвет" -"Привычка создана." -"Привычки удалены." -"Привычки восстановлены." -"Отменять нечего." -"Повторять нечего." -"Привычка изменена." - - -"Изменения привычки отменены." -"Привычки архивированы." -"Привычки возвращены из архива." -"Обзор" -"Сила привычки" -"История" -"Очистить" -"Вопрос (пример: \"Делали ли вы сегодня зарядку?\")" - - -"Повторять" -"раза за" -"дней" -"Напоминание" -"Отменить" -"Сохранить" - - -"Рекорды" -"У вас нет активных привычек" -"Нажмите и удерживайте, чтобы установить или снять галочку" -"Выкл" -"Название не может быть пустым." -"Число должно быть положительным." -"Может быть не более одного повторения в день" -"Добавить привычку" -"Изменить привычку" -"Отметить" -"Отложить" - - -"Добро пожаловать" -"Loop Habit Tracker помогает вам заводить и поддерживать полезные привычки." -"Добавьте несколько привычек" -"Каждый день, после выполнения вашей привычки, поставьте галочку в приложении." -"Продолжайте в том же духе" -"Стойко соблюдаемые привычки будут отмечены полной звёздочкой." -"Отслеживайте свои успехи" -"Детализированные диаграммы демонстрируют, как ваши привычки улучшились со временем." -"15 минут" -"30 минут" -"1 час" -"2 часа" -"4 часа" -"8 часов" -"Отмечать повторение коротким нажатием" -"Удобнее, но может стать причиной случайных нажатий." -"Интервал откладывания напоминаний" -"Оценить приложение на Google Play" -"Отправить сообщение разработчику" -"Посмотреть исходный код на GitHub" -"Посмотреть вступительные инструкции" -"Ссылки" -"Поведение" -"Название" -"Показать архивированные" -"Настройки" -"Интервал откладывания" -"А вы знали?" -"Чтобы поменять порядок записей, нажмите и удерживайте название записи, затем перетащите её на нужное место." -"В горизонтальном режиме отображается больше дней." -"Удалить привычки" -"Привычки будут удалены. Это действие невозможно отменить." -"По выходным" - - -"По будням" - - -"Каждый день" -"Выберите дни" - - -"Экспортировать данные (CSV)" -"Готово" -"Очистить" -"Выберите часы" -"Выберите минуты" - - -"Заводите полезные привычки и отслеживайте свои успехи (без рекламы)" -"\"Трекер привычек Loop\" поможет вам завести и поддерживать полезные привычки, позволяя достичь долгосрочных целей. Детализированные диаграммы и статистика покажут, как ваши привычки закрепились со временем. Приложение не содержит рекламы и является ПО с открытым исходным кодом." -"<b>Простой, красивый и современный интерфейс</b> -У приложения минималистичный интерфейс, который лёгок в использовании и придерживается руководства по Material Design." -"<b>Оценка привычек</b> -В дополнение к отображению текущего рекорда повторений, приложение имеет передовой алгоритм расчёта \"силы\" ваших привычек. Каждое повторение делает вашу привычку \"сильнее\", а каждый пропуск \"слабее\". Несколько пропущенных дней после долгих успешных повторений, однако, не загубят ваши успехи полностью." -"<b>Детализированные диаграммы и статистика</b> -При помощи красивых и детализированных диаграмм вы с лёгкостью можете просмотреть, как ваши привычки закрепились со временем. Просмотрите полную историю ваших привычек, пролистав её." -"<b>Гибкий график</b> -Поддерживаются как ежедневные привычки, так и привычки с более сложным графиком. Например: 3 раза в неделю; один раз в две недели; через день." -"<b>Напоминания</b> -Создавайте отдельные для каждой привычки напоминания в выбранное время дня. С лёгкостью отмечайте, пропускайте или откладывайте выполнение привычки прямо из уведомления - без открытия приложения." -"<b>Полное отсутствие рекламы и открытый исходный код</b> -В приложении совершенно нет рекламы, назойливых уведомлений или лишних разрешений. И их никогда не будет. Весь исходный код доступен под лицензией GPLv3." -"<b>Оптимизировано для \"умных\" часов</b> -Напоминания могут быть отмечены, отложены или пропущены прямо с ваших часов Android Wear." -"О приложении" -"Переводчики" -"Разработчики" - - -"Версия %s" -"Частота" -"Галочка" - - -"Сила" -"Рекорды" -"Текущая серия" -"Количество повторений" -"Последние %d дней" -"Последние %d недель" -"Последние %d месяцев" -"Последние %d лет" - - -"За всё время" -"Каждый день" -"Каждую неделю" -"2 раза в неделю" -"5 раз в неделю" -"Другое …" -"Помощь и FAQ" -"Ошибка экспорта данных." -"Ошибка импорта данных." - - -"Невозможно определить тип файла." -"Привычки успешно импортированы." -"Полная резервная копия успешно экспортирована." -"Импортировать данные" -"Экспортировать полную резервную копию" -"Поддерживает импорт полной резервной копии экспортированной этим приложением, а также файлов сгенерированных приложениями Tickmate, HabitBull и Rewire. Больше информации в FAQ." -"Генерирует файлы, которые можно открыть в ПО для работы с таблицами (таком как Microsoft Excel или OpenOffice Calc). Этот файл нельзя импортировать обратно." -"Генерирует файл, который содержит все ваши данные. Этот файл можно импортировать обратно." -"Ошибка генерации отчёта об ошибке." -"Сгенерировать отчёт об ошибке" -"Устранение неполадок" -"Помогите перевести это приложение" -"Ночной режим" -"Использовать подлинный черный в ночном режиме" -"Заменяет серый фон на подлинный черный в ночном режиме. Уменьшает использование батареи в телефонах с дисплеем AMOLED." -"Интерфейс" -"Обратный порядок дней" -"Показывать дни в обратном порядке на главном экране" -"День" -"Неделя" -"Месяц" - - -"Квартал" -"Год" - - - -"раз за" -"Каждые %d дней" -"Каждые %d недель" -"Каждые %d месяцев" - - -"Стабильность" -"Звук напоминания" - - -"Без звука" - \ No newline at end of file + Трекер привычек Loop + Привычки + Настройки + Редактировать + Удалить + Архивировать + Вернуть из архива + Добавить привычку + Изменить цвет + Привычка создана + Привычки удалены + Привычки восстановлены + Отменять нечего + Повторять нечего + Привычка изменена + Изменения привычки отменены + Привычки архивированы + Привычки возвращены из архива + Обзор + Сила привычки + История + Очистить + Вопрос (пример: \"Делали ли вы сегодня зарядку?\") + Повторять + раза за + дней + Напоминание + Отменить + Сохранить + Рекорды + У вас нет активных привычек + Нажмите и удерживайте, чтобы установить или снять галочку + Выкл + Название не может быть пустым. + Число должно быть положительным. + Может быть не более одного повторения в день + Добавить привычку + Изменить привычку + Отметить + Отложить + + Добро пожаловать + Loop Habit Tracker помогает вам заводить и поддерживать полезные привычки. + Добавьте несколько привычек + Каждый день, после выполнения вашей привычки, поставьте галочку в приложении. + Продолжайте в том же духе + Стойко соблюдаемые привычки будут отмечены полной звёздочкой. + Отслеживайте свои успехи + Детализированные диаграммы демонстрируют, как ваши привычки улучшились со временем. + 15 минут + 30 минут + 1 час + 2 часа + 4 часа + 8 часов + 24 часа + Отмечать коротким нажатием + Ставить галочки коротким нажатием вместо удержания. Удобнее, но может стать причиной случайных отметок. + Интервал откладывания напоминаний + Оценить приложение в Google Play + Отправить сообщение разработчику + Посмотреть исходный код на GitHub + Посмотреть вступительные инструкции + Ссылки + Поведение + Название + Настройки + Интервал откладывания + А вы знали? + Чтобы поменять порядок записей, нажмите и удерживайте название записи, затем перетащите её на нужное место. + В горизонтальном режиме отображается больше дней. + Удалить привычки + Привычки будут удалены. Это действие невозможно отменить. + Привычка удалена / не найдена + По выходным + По будням + Каждый день + Выберите дни + Экспортировать как CSV + Готово + Очистить + Выберите часы + Выберите минуты + О приложении + Переводчики + Разработчики + Версия %s + Частота + Галочка + Сила + Рекорды + Текущая серия + Количество повторений + Последние %d дней + Последние %d недель + Последние %d месяцев + Последние %d лет + За всё время + Каждый день + Каждую неделю + 2 раза в неделю + 5 раз в неделю + Другое … + Помощь и FAQ + Ошибка экспорта данных. + Ошибка импорта данных. + Невозможно определить тип файла. + Привычки успешно импортированы. + Полная резервная копия успешно экспортирована. + Импортировать данные + Экспортировать полную резервную копию + Поддерживает импорт полной резервной копии, экспортированной этим приложением, а также файлов, сгенерированных приложениями Tickmate, HabitBull и Rewire. Больше информации в FAQ. + Генерирует файлы, которые можно открыть в ПО для работы с таблицами (таком как Microsoft Excel или OpenOffice Calc). Этот файл нельзя импортировать обратно. + Генерирует файл, который содержит все ваши данные. Этот файл можно импортировать обратно. + Ошибка генерации отчёта об ошибке. + Сгенерировать отчёт об ошибке + Устранение неполадок + Помогите перевести это приложение + Ночной режим + Использовать подлинный чёрный в ночном режиме + Заменяет серый фон на подлинный чёрный в ночном режиме. Уменьшает использование батареи в телефонах с дисплеем AMOLED. + Интерфейс + Обратный порядок дней + Показывать дни в обратном порядке на главном экране + День + Неделя + Месяц + Квартал + Год + Всего + + раз за + Каждые %d дней + Каждые %d недель + Каждые %d месяцев + Стабильность + Звук напоминания + Без звука + Фильтр + Скрыть завершённые + Скрыть архивированные + Сделать уведомления \"липкими\" + Предотвращает смахивание уведомлений. + Исправить базу данных + База данных исправлена. + Снять отметку + Переключить + Действие + Привычка + Сортировка + Вручную + По названию + По цвету + По стабильности + Загрузить + Экспортировать + diff --git a/app/src/main/res/values-sl/strings.xml b/app/src/main/res/values-sl/strings.xml index 29dbd33c9..50e6e1634 100644 --- a/app/src/main/res/values-sl/strings.xml +++ b/app/src/main/res/values-sl/strings.xml @@ -1,180 +1,178 @@ + + - "Loop Sledilnik Navad" - "Navade" - "Nastavitve" - "Spremeni" - "Izbriši" - "Arhiviraj" - "Odarhiviraj" - "Dodaj navado" - "Spremeni barvo" - "Navada ustvarjana." - "Navada izbrisana." - "Navada obnovljena." - "Nič za razveljaviti." - "Nič za ponovno opraviti." - "Navada spremenjena." - - - "Navada obnovljena." - "Navada arhivirana." - "Navada dearhivirana." - "Pregled" - "Moč navade" - "Zgodovina" - "Počisti" - "Vprašanje (Ste ... danes?)" - - - "Ponovi" - "krat v" - "dni" - "Opomnik" - "Zavrzi" - "Shrani" - - - "Serije" - "Nimate aktivnih navad" - "Pritisnite-in-držite, da označite ali odznačite" - "Izključeno" - "Ime ne more biti prazno." - "Številka mora biti pozitivna." - "Na dan lahko imate kvečjemu eno ponovitev" - "Ustvari navado" - "Spremeni navado" - "Označi" - "Kasneje" - - - "Dobrodošli" - "Loop Sledilnik Navad vam pomaga ustvariti in vzdrževati dobre navade." - "Ustvari nekaj novih navad" - "Vsak dan, potem ko opravite vašo navado, vnesite kljukico v aplikacijo." - "Kar tako naprej" - "Dalj časa dosledno izvedene Navade si bodo zaslužile polno zvezdo." - "Spremljaj svoj napredek" - "Podrobni grafi vam pokažejo kako so se skozi čas vaše navede izboljšale." - "15 minut" - "30 minut" - "1 ura" - "2 uri" - "4 ure" - "8 ur" - "Preklopi ponovitve s kratkim pritiskom" - "Bolj priročno ampak lahko povzroči nenamerne preklapljanje." - "Interval dremeža na opomnikih" - "Oceni to aplikacijo na Google Play" - "Pošlji povratne informacije razvijalcem" - "Poglej izvorno kodo na GitHub" - "Poglej uvod aplikacije" - "Povezave" - "Obnašanje" - "Ime" - "Pokaži arhiv" - "Nastavitve" - "Interval dremeža" - "Ali ste vedeli?" - "Če želite preurediti vnose, pritisnite-in-držite na ime navade, nato pa jo povlecite na željeno mestu." - "Ogledate si lahko več dni, s tem da telefon postavite v ležeči načinu." - "Izbriši Navade" - "Navade bodo trajno izbrisane. Te operacije ni možno razveljaviti." - "Vikendi" - "Ponedeljek do Petka" - "Vsak dan v tednu" - "Izberi dni" - "Izvozi v CSV" - "Končano" - "Počisti" - "Izberi ure" - "Izberi minute" - - - "Ustvarite dobre navade in spremljajte njihov napredek skozi čas (brez reklam)" - "Loop vam pomaga ustvariti in vzdrževati dobre navade, kar vam omogoča, da bi dosegli svoje dolgoročne cilje. Podrobni grafi in statistike vam pokažejo kako so se vaše navade skozi čas izboljšale. Je popolnoma brez oglasov in odprtokodno." -"<b>Enostaven, lep in sodoben vmesnik</b> -Loop ima minimalističen vmesnik, ki je preprost za uporabo in sledi smernicam Material design." -"<b>Ocena navade</b> -Poleg tega, da vam prikazuje vaše trenutne serije, ima Loop napreden algoritem za izračun moči vaših navad. Vsaka ponovitev naredi vašo navado močnejšo in vsak zgrešen dan jo naredi šibkejšo. Nekaj zgrešenih dni po dolgi seriji, pa vendar ne bo popolnoma uničilo vašega celotnega napredka." -"<b>Podrobni grafi in statistike</b> -Z lepimi in natančnimi grafi, jasno poglejte, kako so se skozi čas vaše navade izboljšale. Da boste videli celotno zgodovino svojih navad se pomaknite nazaj." -"<b>Prilagodljivi urniki</b> -Podpira tako vsakdanje navade in navade z bolj zapletenimi urniki, kot so 3-krat na teden; enkrat vsak drugi teden; ali vsak drugi dan." -"<b>Opomniki</b> -Ustvari individualni opomnik za vsako navado, pri izbrani uri dneva. Enostavno preverite, zavrzite ali dajte v dremež svoje navade neposredno iz obvestila, ne da bi odprli aplikacijo." -"<b>Popolnoma brez oglasov in odprtokodno</b> -V tej aplikaciji ni absolutno nobene reklame, sitnih obvestil ali vsiljivih dovoljenj in jih tudi nikoli ne bo. Celotna izvorna koda je na razpolago pod GPLv3." -"<b>Optimirano za pametne ure</b> -Opomnike lahko preverite, jih date v dremež ali pa zavrzite neposredno iz vaše Android Wear ure." - "O aplikaciji" - "Prevajalci" - "Razvijalci" - - - "Verzija %s" - "Pogostost" - "Kljukica" - - - "Moč" - "Najboljša serija" - "Trenutna serija" - "Število ponovitev" - "Zadnjih %d dni" - "Zadnjih %d tednov" - "Zadnjih %d mesecev" - "Zadnjih %d let" - - - "Ves čas" - "Vsak dan" - "Vsak teden" - "2 krat na teden" - "5 krat na teden" - "Po meri ..." - "Pomoč & Pogosta vprašanja" - "Neuspešen izvoz podatkov." - "Neuspešen uvoz podatkov." - - - "Datoteka ni bila prepoznana." - "Navade uspešno uvožene." - "Popolna varnostna kopija uspešno izvožena." - "Uvozi podatke" - "Izvozi popolno varnostno kopijo" - "Podpira polne varnostne kopije izvožene iz te aplikacije, kakor tudi datoteke, ki jih ustvari Tickmate, HabitBull ali Rewire. Glej Pogosta vprašanja za več informacij." - "Generirane datoteke, ki se lahko odprejo s programsko opremo za preglednice, kot je Microsoft Excel ali OpenOffice Calc. Te datoteke ni mogoče uvoziti nazaj." - "Ustvari datoteko, ki vsebuje vse podatke. To datoteko lahko nato uvozite nazaj." - "Neuspeh pri ustvarjanju poročila o napakah" - "Ustvari poročilo o napakah" - "Odpravljanje napak" - "Pomagajte prevesti to aplikacijo" - "Nočni način" - "Uporabite popolno črnino v nočnem načinu" - "Zamenja siva ozadja s popolno črnino v nočnem načinu. Zmanjša porabo baterije na telefonih z AMOLED zasloni." - "Vmesnik" - "Zamenjaj vrstni red dni" - "Prikaži dni v obratnem vrstnem redu na glavnem zaslonu" - "Dan" - "Teden" - "Mesec" - - - "Četrtletje" - "Leto" - - - - "enkrat na" - "Vsakih %d dni" - "Vsakih %d tednov" - "Vsakih %d mesecev" - - - "Ocena" - "Zvok opomnika" - - - "Noben" - \ No newline at end of file + Loop Sledilnik Navad + Navade + Nastavitve + Spremeni + Izbriši + Arhiviraj + Odarhiviraj + Dodaj navado + Spremeni barvo + Navada ustvarjana. + Navada izbrisana. + Navada obnovljena. + Nič za razveljaviti. + Nič za ponovno opraviti. + Navada spremenjena. + Navada obnovljena. + Navada arhivirana. + Navada dearhivirana. + Pregled + Moč navade + Zgodovina + Počisti + Vprašanje (Ste ... danes?) + Ponovi + krat v + dni + Opomnik + Zavrzi + Shrani + Serije + Nimate aktivnih navad + Pritisnite-in-držite, da označite ali odznačite + Izključeno + Ime ne more biti prazno. + Številka mora biti pozitivna. + Na dan lahko imate kvečjemu eno ponovitev + Ustvari navado + Spremeni navado + Označi + Kasneje + + Dobrodošli + Loop Sledilnik Navad vam pomaga ustvariti in vzdrževati dobre navade. + Ustvari nekaj novih navad + Vsak dan, potem ko opravite vašo navado, vnesite kljukico v aplikacijo. + Kar tako naprej + Dalj časa dosledno izvedene Navade si bodo zaslužile polno zvezdo. + Spremljaj svoj napredek + Podrobni grafi vam pokažejo kako so se skozi čas vaše navede izboljšale. + 15 minut + 30 minut + 1 ura + 2 uri + 4 ure + 8 ur + 24 ur + Preklopi ponovitve s kratkim pritiskom + Bolj priročno ampak lahko povzroči nenamerne preklapljanje. + Interval dremeža na opomnikih + Oceni to aplikacijo na Google Play + Pošlji povratne informacije razvijalcem + Poglej izvorno kodo na GitHub + Poglej uvod aplikacije + Povezave + Obnašanje + Ime + Nastavitve + Interval dremeža + Ali ste vedeli? + Če želite preurediti vnose, pritisnite-in-držite na ime navade, nato pa jo povlecite na željeno mestu. + Ogledate si lahko več dni, s tem da telefon postavite v ležeči načinu. + Izbriši Navade + Navade bodo trajno izbrisane. Te operacije ni možno razveljaviti. + Izbrisana navada / ni najdena + Vikendi + Ponedeljek do Petka + Vsak dan v tednu + Izberi dni + Izvozi v CSV + Končano + Počisti + Izberi ure + Izberi minute + O aplikaciji + Prevajalci + Razvijalci + Verzija %s + Pogostost + Kljukica + Moč + Najboljša serija + Trenutna serija + Število ponovitev + Zadnjih %d dni + Zadnjih %d tednov + Zadnjih %d mesecev + Zadnjih %d let + Ves čas + Vsak dan + Vsak teden + 2 krat na teden + 5 krat na teden + Po meri ... + Pomoč & Pogosta vprašanja + Neuspešen izvoz podatkov. + Neuspešen uvoz podatkov. + Datoteka ni bila prepoznana. + Navade uspešno uvožene. + Popolna varnostna kopija uspešno izvožena. + Uvozi podatke + Izvozi popolno varnostno kopijo + Podpira polne varnostne kopije izvožene iz te aplikacije, kakor tudi datoteke, ki jih ustvari Tickmate, HabitBull ali Rewire. Glej Pogosta vprašanja za več informacij. + Generirane datoteke, ki se lahko odprejo s programsko opremo za preglednice, kot je Microsoft Excel ali OpenOffice Calc. Te datoteke ni mogoče uvoziti nazaj. + Ustvari datoteko, ki vsebuje vse podatke. To datoteko lahko nato uvozite nazaj. + Neuspeh pri ustvarjanju poročila o napakah + Ustvari poročilo o napakah + Odpravljanje napak + Pomagajte prevesti to aplikacijo + Nočni način + Uporabite popolno črnino v nočnem načinu + Zamenja siva ozadja s popolno črnino v nočnem načinu. Zmanjša porabo baterije na telefonih z AMOLED zasloni. + Vmesnik + Zamenjaj vrstni red dni + Prikaži dni v obratnem vrstnem redu na glavnem zaslonu + Dan + Teden + Mesec + Četrtletje + Leto + Skupaj + + enkrat na + Vsakih %d dni + Vsakih %d tednov + Vsakih %d mesecev + Ocena + Zvok opomnika + Noben + Filter + Skrij končane + Skrij arhivirane + Naaredi obvestila lepljiva + Preprečuje, da lahko obvestila povlečete stran. + Popravi podatkovno zbirko + Podatkovna zbirka popravljena. + Odznači + Preklopi + Dejanje + Navada + Razvrsti + Ročno + Po imenu + Po barvi + Po rezultatu + Prenesi + Izvozi + diff --git a/app/src/main/res/values-sr/strings.xml b/app/src/main/res/values-sr/strings.xml index ad03fd5f2..ccf4dcb0b 100644 --- a/app/src/main/res/values-sr/strings.xml +++ b/app/src/main/res/values-sr/strings.xml @@ -1,180 +1,157 @@ + + - "Loop – праћење навика" - "Навике" - "Поставке" - "Уреди" - "Обриши" - "Архивирај" - "Врати из архива" - "Додај навику" - "Промена боје" - "Навика је створена." - "Навике су обрисане." - "Навике су враћене." - "Нема шта да се опозове." - "Нема шта да се понови." - "Навика је промењена." - - - "Навика је враћена." - "Навике су архивиране." - "Навике су враћене из архива." - "Преглед" - "Снага навике" - "Историја" - "Очисти" - "Питање (нпр. „Да ли сте трчали данас?)" - - - "Понови" - "пута у" - "дана" - "Подсетник" - "Одбаци" - "Сачувај" - - - "Низови" - "Немате активних навика." - "Притисните и држите да бисте маркирали или демаркирали." - "искључен" - "Име не може бити празно." - "Број мора бити позитиван." - "Можете имати највише једно понављање на дан." - "Стварање навике" - "Уређивање навике" - "Маркирај" - "Касније" - - - "Добро дошли" - "Loop вам помаже да створите и одржавате здраве навике." - "Створите нове навике" - "Сваког дана, након што обавите навику, означите поље у апликацији." - "Будите истрајни" - "Навике којих се доследно придржавате дужи период биће означене пуном звездом." - "Пратите свој напредак" - "Детаљни графикони показују вам колико су се ваше навике временом побољшале." - "15 минута" - "30 минута" - "1 сат" - "2 сата" - "4 сата" - "8 сати" - "Маркирај кратким додиром" - "Практичније, али може доћи до случајног маркирања." - "Одлагање подсетника" - "Оцени апликацију" - "Повратне информације" - "Изворни кôд на GitHub-у" - "Увод апликације" - "Везе" - "Понашање" - "Име" - "Прикажи архивиране" - "Поставке" - "Време одлагања" - "Да ли сте знали?" - "Притисните и држите име навике да бисте је прераспоредили." - "Положите уређај да бисте видели више дана." - "Брисање навика" - "Навике ће бити трајно обрисане. Ова радња је неповратна." - "викендом" - "понедељак–петак" - "сваког дана" - "Избор дана" - "Извези као CSV" - "Готово" - "Очисти" - "Избор часова" - "Избор минута" - - - "Створите здраве навике и пратите напредак (без огласа)." - "Loop вам помаже да створите и одржавате здраве навике, самим тим и да достигнете дугорочне циљеве. Детаљна статистика и графикони показују вам колико су се ваше навике временом побољшале. Апликација је отвореног кода и не садржи огласе." -"<b>Једноставан, леп и модеран дизајн</b> -Loop има минималистички интерфејс који је једноставан за коришћење и прати смернице за материјални дизајн." -"<b>Оцена навике</b> -Поред приказа тренутног низа, Loop поседује напредни алгоритам за израчунавање снаге ваших навика. Ваша навика са сваким понављањем постаје јача, а са сваким пропуштеним даном слабија. Неколико пропуштених дана након дугог низа, пак, неће у потпуности упропастити ваш резултат." -"<b>Детаљни графикони и статистика</b> -Пратите свој напредак уз лепе и детаљне графиконе. Вратите се уназад да бисте видели целу историју навика." -"<b>Флексибилни распоред</b> -Подржава како дневне навике, тако и оне са сложенијим понављањем (трипут недељно, једанпут сваке друге недеље, сваки други дан и сл.)." -"<b>Подсетници</b> -Направите појединачни подсетник за сваку навику у жељено доба дана. С лакоћом маркирајте, одложите или откажите навику директно из обавештења, без отварања апликације." -"<b>У потпуности отвореног кода и без огласа</b> -Апликација не садржи никакве огласе, досадна обавештења или наметљиве дозволе; никада и неће. Изворни кôд је у целости доступан под лиценцом GPLv3." -"<b>Оптимизовано за паметне сатове</b> -Навике можете маркирати, одложити или отказати директно помоћу Android Wear сата." - "О апликацији" - "Преводиоци" - "Програмери" - - - "Верзија %s" - "Учесталост" - "Штрикла" - - - "Снага" - "Најбољи низови" - "Тренутни низ" - "Број понављања" - "посл. %d дана" - "посл. %d нед." - "посл. %d мес." - "посл. %d год." - - - "одувек" - "сваког дана" - "сваке недеље" - "2 пута недељно" - "5 пута недељно" - "прилагоди…" - "Помоћ" - "Не могу да извезем податке." - "Не могу да увезем податке." - - - "Датотека није препозната." - "Резервна копија је враћена." - "Направљена је резервна копија." - "Врати резервну копију" - "Направи резервну копију" - "Поред матичног формата, апликација подржава и увоз датотека које је направио Tickmate, HabitBull и Rewire. Детаљније у ЧПП." - "Направите датотеку коју можете отворити у програму за рад са табелама (нпр. Microsoft Excel или OpenOffice Calc). Њу не можете да увезете назад у апликацију." - "Направите датотеку са свим подацима апликације. Њу касније можете да увезете." - "Не могу да направим извештај о грешци." - "Направи извештај о грешци" - "Решавање проблема" - "Помоћ у преводу" - "Ноћни режим" - "Чиста црна у ноћном режиму" - "Замењује сиву позадину са чистом црном у ноћном режиму. Смањује потрошњу батерије код телефона са AMOLED екраном." - "Интерфејс" - "Обрнути редослед дана" - "Прикажите дане у обрнутом редоследу на главном екрану." - "дан" - "недеља" - "месец" - - - "тромесечје" - "година" - - - - "пут у" - "Сваких %d дана" - "Сваких %d недеља" - "Сваких %d месеци" - - - "снага" - "Звук подсетника" - - - "Без звука" - \ No newline at end of file + Loop – праћење навика + Навике + Поставке + Уреди + Обриши + Архивирај + Врати из архива + Додај навику + Промена боје + Навика је створена. + Навике су обрисане. + Навике су враћене. + Нема шта да се опозове. + Нема шта да се понови. + Навика је промењена. + Навика је враћена. + Навике су архивиране. + Навике су враћене из архива. + Преглед + Снага навике + Историја + Очисти + Питање (нпр. „Да ли сте трчали данас?) + Понови + пута у + дана + Подсетник + Одбаци + Сачувај + Низови + Немате активних навика. + Притисните и држите да бисте маркирали или демаркирали. + искључен + Име не може бити празно. + Број мора бити позитиван. + Можете имати највише једно понављање на дан. + Стварање навике + Уређивање навике + Маркирај + Касније + + Добро дошли + Loop вам помаже да створите и одржавате здраве навике. + Створите нове навике + Сваког дана, након што обавите навику, означите поље у апликацији. + Будите истрајни + Навике којих се доследно придржавате дужи период биће означене пуном звездом. + Пратите свој напредак + Детаљни графикони показују вам колико су се ваше навике временом побољшале. + 15 минута + 30 минута + 1 сат + 2 сата + 4 сата + 8 сати + Маркирај кратким додиром + Практичније, али може доћи до случајног маркирања. + Одлагање подсетника + Оцени апликацију + Повратне информације + Изворни кôд на GitHub-у + Увод апликације + Везе + Понашање + Име + Поставке + Време одлагања + Да ли сте знали? + Притисните и држите име навике да бисте је прераспоредили. + Положите уређај да бисте видели више дана. + Брисање навика + Навике ће бити трајно обрисане. Ова радња је неповратна. + викендом + понедељак–петак + сваког дана + Избор дана + Извези као CSV + Готово + Очисти + Избор часова + Избор минута + О апликацији + Преводиоци + Програмери + Верзија %s + Учесталост + Штрикла + Снага + Најбољи низови + Тренутни низ + Број понављања + посл. %d дана + посл. %d нед. + посл. %d мес. + посл. %d год. + одувек + сваког дана + сваке недеље + 2 пута недељно + 5 пута недељно + прилагоди… + Помоћ + Не могу да извезем податке. + Не могу да увезем податке. + Датотека није препозната. + Резервна копија је враћена. + Направљена је резервна копија. + Врати резервну копију + Направи резервну копију + Поред матичног формата, апликација подржава и увоз датотека које је направио Tickmate, HabitBull и Rewire. Детаљније у ЧПП. + Направите датотеку коју можете отворити у програму за рад са табелама (нпр. Microsoft Excel или OpenOffice Calc). Њу не можете да увезете назад у апликацију. + Направите датотеку са свим подацима апликације. Њу касније можете да увезете. + Не могу да направим извештај о грешци. + Направи извештај о грешци + Решавање проблема + Помоћ у преводу + Ноћни режим + Чиста црна у ноћном режиму + Замењује сиву позадину са чистом црном у ноћном режиму. Смањује потрошњу батерије код телефона са AMOLED екраном. + Интерфејс + Обрнути редослед дана + Прикажите дане у обрнутом редоследу на главном екрану. + дан + недеља + месец + тромесечје + година + + пут у + Сваких %d дана + Сваких %d недеља + Сваких %d месеци + снага + Звук подсетника + Без звука + diff --git a/app/src/main/res/values-sv/strings.xml b/app/src/main/res/values-sv/strings.xml index 77a5a5b46..e1b2983eb 100644 --- a/app/src/main/res/values-sv/strings.xml +++ b/app/src/main/res/values-sv/strings.xml @@ -1,165 +1,136 @@ + + -"Loop Habit Tracker" -"Vanor" -"Inställningar" -"Redigera" -"Ta bort" -"Arkivera" -"Avarkivera" -"Lägg till vana" -"Byt färg" -"Vana skapad" -"Vana borttagen" -"Vana återställd" -"Inget att ångra" -"Inget att göra om" -"Vana ändrad" - - -"Vana ändrad tillbaka" -"Vanor arkiverade" -"Vanor avakriverade" -"Översikt" -"Vanestyrka" -"Historik" -"Rensa" -"Fråga (Har du ... idag?)" - - -"Upprepa" - - - -"gånger under" - - -"dag" -"Påminnelse" -"Avbryt" -"Spara" - - -"Framgångar" -"Du har inga aktiva vanor" -"Tryck och håll in för att markera och avmarkera" -"Av" -"Namn får inte vara blank." -"Nummer måste vara positiv." -"Du kan ha max en upprepning per dag" -"Skapa vana" -"Redigera vana" -"Markera" -"Senare" - - -"Välkommen" -"Loop Habit Tracker Hjälper dig att skapa och underhålla bra vanor." -"Skapa några nya vanor" -"Varje dag, efter att du utfört dina vanor, lägg till en markering i appen." -"Fortsätt göra det" -"Vanor som utförs konstant över en lång period kommer att tjäna dig en full stjärna." -"Följ dina framsteg" -"Detaljerade grafer visar dig hur dina vanor har utvecklats över tid." -"15 minuter" -"30 minuter" -"1 timme" -"2 timmar" -"4 timmar" -"8 timmar" -"Aktivera repetitioner med kort tryckning" -"Mer bekvämt, men kan orsaka oavsiktliga aktiveringar. " -"Snooza intervall på påminnelsen" -"Betygsätt denna app på Google Play" -"Skicka feedback till utvecklaren" -"Visa källkod på Github" -"Visa appintroduktion" -"Länkar" -"Beteende" -"Namn" -"Visa arkiverade" -"Inställningar" -"Snooze intervall" -"Visste du? " -"För att arrangera inlägg, tryck och håll in på namnet av inlägget, dra den sedan till rätt plats." -"Du kan se fler dagar genom att hålla telefon i landskapsläge." -"Ta bort vanor" -"Vanorna kommer att tas bort permanent. Denna åtgärd kan inte ångras." -"Helger" - - -"Veckodagar" - - -"Vilken dag som helst" -"Välj dagar" - - -"Exportera data (CSV)" -"Klart" -"Rensa" -"Välj timmar" -"Välj minuter" - - -"Skapa bra vanor och följ deras utveckling över tid. (reklamfri)" -"Loop Hjälper dig att skapa och underhålla bra vanor, genom att tillåta dig arkivera dina långtidsvanor. Detaljerade grafer och statistik visar dig hur dina vanor har förbättrats över tid. Det är helt reklamfritt och öppen källkod." -"<b>Enkelt, snyggt och modernt användargränssnitt<b> -Loop har minimalistiskt gränssnitt som är enkel att använda och följer material design riktlinjer." - - -"<b>Vanepoäng<b> -Förutom att visa din nuvarande aktivitet har Loop en avancerad algoritm som räknar ut styrkan i dina vanor. Varje repetition gör din vana starkare och varje missad dag gör den svagare. Ett par missar efter en lång, oavbruten aktivitet kommer dock inte att helt förstöra dina framsteg." -"<b>Detaljerade grafer och statistik</b> -Tydligt se hur dina vanor förbättras över tiden med fina och detaljerade grafer. Skrolla tillbaka för att din fullständiga historik av dina vanor." -"<b>Flexibelt schema</b> -Stödjer både dagliga vanor och avancerade vanor, som till exempel tre gånger per vecka, en gång varje vecka eller varannan dag." -"<b>Påminnelser</b> -Skapa en påminnelse för varje vana. Du kan enkelt bocka av, ta bort eller skjuta upp din vana direkt från notifikationsfältet." -"<b>Helt reklamfri och öppen källkod</b> -Det är absolut ingen reklam, störande notifikationer eller onödiga behörighetskrav för den här appen, och det kommer aldrig att bli. Hela källkoden finns tillgänglig under GPLv3." -"<b>Optimerad för smartklockor<b> -Påminnelser kan kollas upp, snoozade eller tas bort direkt från din Android Wear enhet." -"Om" -"Översättare" -"Utvecklare" - - -"Version %s" -"Frekvens" -"Check" - - -"Styrka" -"Bästa framgångar" -"Nuvarande framgång" -"Antal repetitioner" -"Sista %d dagarna" -"Sista %d veckorna" -"Sista %d månaderna" -"Sista %d åren" - - -"Från början" -"Varje dag" -"Varje vecka" -"2 gånger per vecka" -"5 gånger per vecka" -"Anpassa ..." -"Hjälp och FAQ" -"Misslyckades med att exportera data." -"Misslyckades med att importera data." - - -"Fil inte igenkänd." -"Vanor importerade." -"Backup har exporterats." -"Importera data" -"Exportera backup" -"Stöder backuper exporterade av den här appen, så väl filer genererade av Tickmate, Habitbull eller Rewire. Läs FAQ för mer information." -"Genererade filer kan öppnas av mjukvara som Microsoft Excel eller Openoffice Calc. Denna filen kan inte importeras tillbaka." -"Genererar en fil som innehåller all din data. Den här filen kan importeras tillbaka." -"Misslyckades med att generera bugrapport. " -"Generera bugrapport" -"Felsökning" - \ No newline at end of file + Vanor + Inställningar + Redigera + Ta bort + Arkivera + Avarkivera + Lägg till vana + Byt färg + Vana skapad + Vana borttagen + Vana återställd + Inget att ångra + Inget att göra om + Vana ändrad + Vana ändrad tillbaka + Vanor arkiverade + Vanor avakriverade + Översikt + Vanestyrka + Historik + Rensa + Fråga (Har du ... idag?) + Upprepa + gånger under + dag + Påminnelse + Avbryt + Spara + Framgångar + Du har inga aktiva vanor + Tryck och håll in för att markera och avmarkera + Av + Namn får inte vara blank. + Nummer måste vara positiv. + Du kan ha max en upprepning per dag + Skapa vana + Redigera vana + Markera + Senare + + Välkommen + Loop Habit Tracker Hjälper dig att skapa och underhålla bra vanor. + Skapa några nya vanor + Varje dag, efter att du utfört dina vanor, lägg till en markering i appen. + Fortsätt göra det + Vanor som utförs konstant över en lång period kommer att tjäna dig en full stjärna. + Följ dina framsteg + Detaljerade grafer visar dig hur dina vanor har utvecklats över tid. + 15 minuter + 30 minuter + 1 timme + 2 timmar + 4 timmar + 8 timmar + Aktivera repetitioner med kort tryckning + Mer bekvämt, men kan orsaka oavsiktliga aktiveringar. + Snooza intervall på påminnelsen + Betygsätt denna app på Google Play + Skicka feedback till utvecklaren + Visa källkod på Github + Visa appintroduktion + Länkar + Beteende + Namn + Inställningar + Snooze intervall + Visste du? + För att arrangera inlägg, tryck och håll in på namnet av inlägget, dra den sedan till rätt plats. + Du kan se fler dagar genom att hålla telefon i landskapsläge. + Ta bort vanor + Vanorna kommer att tas bort permanent. Denna åtgärd kan inte ångras. + Helger + Veckodagar + Vilken dag som helst + Välj dagar + Exportera data (CSV) + Klart + Rensa + Välj timmar + Välj minuter + Om + Översättare + Utvecklare + Frekvens + Check + Styrka + Bästa framgångar + Nuvarande framgång + Antal repetitioner + Sista %d dagarna + Sista %d veckorna + Sista %d månaderna + Sista %d åren + Från början + Varje dag + Varje vecka + 2 gånger per vecka + 5 gånger per vecka + Anpassa ... + Hjälp och FAQ + Misslyckades med att exportera data. + Misslyckades med att importera data. + Fil inte igenkänd. + Vanor importerade. + Backup har exporterats. + Importera data + Exportera backup + Stöder backuper exporterade av den här appen, så väl filer genererade av Tickmate, Habitbull eller Rewire. Läs FAQ för mer information. + Genererade filer kan öppnas av mjukvara som Microsoft Excel eller Openoffice Calc. Denna filen kan inte importeras tillbaka. + Genererar en fil som innehåller all din data. Den här filen kan importeras tillbaka. + Misslyckades med att generera bugrapport. + Generera bugrapport + Felsökning + + diff --git a/app/src/main/res/values-tr/strings.xml b/app/src/main/res/values-tr/strings.xml index 214e2ca61..f0ba8ce69 100644 --- a/app/src/main/res/values-tr/strings.xml +++ b/app/src/main/res/values-tr/strings.xml @@ -1,173 +1,172 @@ + + -"Loop Alışkanlık Takip" -"Alışkanlıklar" -"Ayarlar" -"Düzenle" -"Sil" -"Arşivle" -"Arşivden Çıkar" -"Alışkanlık ekle" -"Renk Değiştir" -"Alışkanlık oluşturuldu." -"Alışkanlık silindi." -"Alışkanlık" -"Geri alınacak birşey yok." -"Tekrar yapılacak birşey yok." -"Alışkanlık değişti." - - -"Alışkanlık eski haline getirildi." -"Alışkanlık arşivlendi." -"Alışkanlık arşivden çıkarıldı." -"Genel bakış" -"Alışkanlık dayanımı" -"Geçmiş" -"Temizle" -"Soru (Bugün ... yaptın mı?)" - - -"Tekrar" -"kez" -"günde" -"Hatırlatma" -"İptal" -"Kaydet" - - -"Etkinlikler" -"Etkin alışkanlığın yok" -"Yapıldı veya yapılmadı işareti koymak için uzun basılı tut" -"Kapalı" -"Adı boş bırakamazsın." -"Sayılar sıfırdan büyük olmalı." -"Günde en fazla bir tekrar yapabilirsin." -"Alışkanlık oluştur" -"Alışkanlık düzenle" -"Yaptım" -"Sonra" - - -"Hoşgeldin" -"İyi alışkanlıklar edinmek ve devam etmene yardımcı olur." -"Yeni alışkanlıklar oluştur" -"Her gün, alışkanlığını gerçekleştirdikten sonra, uygulamada onay işareti koy." -"Yapmaya devam et" -"Uzun bir süre ile sürekli yaptığın alışkanlıkların için tam yıldız kazanacaksın." -"Gelişimini izle" -"Detaylı grafiklerle, zaman içinde alışkanlıklarını nasıl geliştiğini gör." -"15 dakika" -"30 dakika" -"1 saat" -"2 saat" -"4 saat" -"8 saat" -"Daha kısa süre basma ile yapıldı/yapılmadı işaretleme" -"Daha kullanışlı ama kazara istenmeyen işaretlemeler olabilir" -"Hatırlatmalardaki erteleme süresi" -"Google Play'de uygulamayı oyla" -"Geliştiriciye geri bildirim gönder" -"Github'da kaynak kodunu bak" -"Uygulama tanıtımını göster" -"Bağlantılar" -"Davranış" -"Ad" -"Arşivlileri göster" -"Ayarlar" -"Erteleme süresi" -"Biliyor musun?" -"Girdileri yeniden düzenlemek için, alışkanlık adının üstüne bas ve doğru yere sürükle." -"Cihazını yatay tutarak daha fazla gün görebilirsin." -"Alışkanlıkları Sil" -"Alışkanlıklar kalıcı olarak silinecek. Bu eylem geri alınamaz." -"Hafta sonları" -"Pazartesinden Cumaya" -"Haftanın herhangi bir günü" -"Günleri seç" -"CSV olarak dışa aktar" -"Tamam" -"Temizle" -"Saat seç" -"Dakika seç" - - -"İyi alışkanlıklar kazan ve gelişmesini takip et (reklamsız)" -"İyi alışkanlar kazanmanı ve sürdürmene yardımcı olur, uzun dönemli hedeflerini başarmanı sağlar. Ayrıntılı çizelge ve istatistikler, zaman içinde alışkanlıklarını nasıl geliştiğini gösterir. Tamamen reklamsız ve açık kaynak." -"<b>Basit, güzel ve çağdaş arayüz</b> Kullanımı kolay sade arayüze sahiptir ve material design kurallarını takip eder." -"<b>Alışkanlık Puanı</b> Alışkanlıklarının dayanımını hesaplamak için gelişmiş algoritmaya sahiptir. Her tekrar alışkanlığını güçlendirir ve her iptal zayıflatır. Uzun süre etkinlikten sonra birkaç gün devamsızlık, tüm gelişmenizi tamamen etkilemeyecek." -"<b>Ayrıntılı çizelgeler ve istatistikler</b> Güzel ve ayrıntılı çizelgeler ile alışkanlıklarının zaman içinde nasıl geliştiğini açıkça görebilirsin. Alışkanlıklarının geçmişini tamamen görmek için geriye sürükle." -"<b>Esnek zamanlamalar</b> Günlük alışkanlanlıklar ve haftada 3 kez, diğer haftalarda bir kez veya diğer hergün gibi daha gelişmiş zamanlamalı alışkanlıkları destekler." -"<b>Hatırlatmalar</b> Herbir alışkanlık için seçtiğin gün ve saatte ayrı hatırlatma oluştur. Kolayca uygulamayı açmadan, bildirimlerden alışkanlıklarını yapıldı, iptal et veya ertele olarak işaretle." -"<b>Tamamen reklamsız ve açık kaynak</b> Bu uygulama içinde kesinlikle hiç reklam yok, can sıkıcı bildirimler veya zorunlu izinler yok ve asla da olmayacak. Kaynak kodun tamamı GPLv3 özgür yazılım lisansı kapsamındadır." -"<b>Akıllı saatler için uyarlandı</b> Android Wear saatinden, hatırlatmaları yapıldı, ertele veya iptal edebilirsin." -"Hakkında" -"Çevirmenler" -"Geliştiriciler" - - -"Sürüm %s" -"Sıklık" -"Yapıldı işareti" - - -"Dayanım" -"En iyi etkinlik günü" -"Bugünkü etkinlik" -"Tekrar sayısı" -"Son %d gün" -"Son %d hafta" -"Son %d ay" -"Son %d yıl" - - -"Tüm zamanlar" -"Her gün" -"Her hafta" -"Haftada 2 kez" -"Haftada 5 kez" -"Özel ..." -"Yardım & SSS" -"Dışarı veri aktarımı başarısız." -"İçeri veri aktarımı başarısız." - - -"Dosya tanınamadı." -"Alışkanlıklar başarılı içeri aktarıldı." -"Tam yedek başarıyla dışarı aktarıldı." -"Veri içeri aktar" -"Tüm yedeği dışarı aktar" -"Hem bu uygulama tarafından dışarı aktarılmış tam yedekleri, hem de Tickmate, HabitBull veya Rewire tarafından üretilmiş dosyaları destekler. Daha fazla bilgi için SSS bakın." -"Üretilen dosyalar, Microsoft Excel veya OpenOffice Calc. gibi hesap taplosu uygulamaları ile açılabilir. Bu dosya yeniden içeri aktarılamaz." -"Üretilen dosya, tüm verilerini içerir. Bu dosya yeniden içeri aktarılabilir." -"Hata raporu oluşturulamadı." -"Hata raporu üret" -"Sorun Giderme" -"Bu uygulamanın çevirisine yardım et" -"Gece kipi" -"Gece kipinde saf siyah kullan" -"Gece kipinde gri arkaplanını, saf siyah ile değiştir. AMOLED ekranlı cihazlarda pil kullanımını düşür." -"Arayüz" -"Günleri ters sırala" -"Ana ekranda günleri tersen göster" -"Gün" -"Hafta" -"Ay" - - -"3 Ay" -"Yıl" - - - -"kez" -"Her %d gün" -"Her %d hafta" -"Her %d ay" - - -"Puan" -"Hatırlatma sesi" - - -"Sessiz" - \ No newline at end of file + Loop Alışkanlık Takip + Alışkanlıklar + Ayarlar + Düzenle + Sil + Arşivle + Arşivden Çıkar + Alışkanlık ekle + Renk Değiştir + Alışkanlık oluşturuldu. + Alışkanlık silindi. + Alışkanlık + Geri alınacak birşey yok. + Tekrar yapılacak birşey yok. + Alışkanlık değişti. + Alışkanlık eski haline getirildi. + Alışkanlık arşivlendi. + Alışkanlık arşivden çıkarıldı. + Genel bakış + Alışkanlık dayanımı + Geçmiş + Temizle + Soru (Bugün ... yaptın mı?) + Tekrar + kez + günde + Hatırlatma + İptal + Kaydet + Etkinlikler + Etkin alışkanlığın yok + Yapıldı veya yapılmadı işareti koymak için uzun basılı tut + Kapalı + Adı boş bırakamazsın. + Sayılar sıfırdan büyük olmalı. + Günde en fazla bir tekrar yapabilirsin. + Alışkanlık oluştur + Alışkanlık düzenle + Yaptım + Sonra + + Hoşgeldin + İyi alışkanlıklar edinmek ve devam etmene yardımcı olur. + Yeni alışkanlıklar oluştur + Her gün, alışkanlığını gerçekleştirdikten sonra, uygulamada onay işareti koy. + Yapmaya devam et + Uzun bir süre ile sürekli yaptığın alışkanlıkların için tam yıldız kazanacaksın. + Gelişimini izle + Detaylı grafiklerle, zaman içinde alışkanlıklarını nasıl geliştiğini gör. + 15 dakika + 30 dakika + 1 saat + 2 saat + 4 saat + 8 saat + 24 saat + Daha kısa süre basma ile yapıldı/yapılmadı işaretleme + Daha kullanışlı ama kazara istenmeyen işaretlemeler olabilir + Hatırlatmalardaki erteleme süresi + Google Play\'de uygulamayı oyla + Geliştiriciye geri bildirim gönder + Github\'da kaynak kodunu bak + Uygulama tanıtımını göster + Bağlantılar + Davranış + Ad + Ayarlar + Erteleme süresi + Biliyor musun? + Girdileri yeniden düzenlemek için, alışkanlık adının üstüne bas ve doğru yere sürükle. + Cihazını yatay tutarak daha fazla gün görebilirsin. + Alışkanlıkları Sil + Alışkanlıklar kalıcı olarak silinecek. Bu eylem geri alınamaz. + Hafta sonları + Pazartesinden Cumaya + Haftanın herhangi bir günü + Günleri seç + CSV olarak dışa aktar + Tamam + Temizle + Saat seç + Dakika seç + Hakkında + Çevirmenler + Geliştiriciler + Sürüm %s + Sıklık + Yapıldı işareti + Dayanım + En iyi etkinlik günü + Bugünkü etkinlik + Tekrar sayısı + Son %d gün + Son %d hafta + Son %d ay + Son %d yıl + Tüm zamanlar + Her gün + Her hafta + Haftada 2 kez + Haftada 5 kez + Özel ... + Yardım & SSS + Dışarı veri aktarımı başarısız. + İçeri veri aktarımı başarısız. + Dosya tanınamadı. + Alışkanlıklar başarılı içeri aktarıldı. + Tam yedek başarıyla dışarı aktarıldı. + Veri içeri aktar + Tüm yedeği dışarı aktar + Hem bu uygulama tarafından dışarı aktarılmış tam yedekleri, hem de Tickmate, HabitBull veya Rewire tarafından üretilmiş dosyaları destekler. Daha fazla bilgi için SSS bakın. + Üretilen dosyalar, Microsoft Excel veya OpenOffice Calc. gibi hesap taplosu uygulamaları ile açılabilir. Bu dosya yeniden içeri aktarılamaz. + Üretilen dosya, tüm verilerini içerir. Bu dosya yeniden içeri aktarılabilir. + Hata raporu oluşturulamadı. + Hata raporu üret + Sorun Giderme + Bu uygulamanın çevirisine yardım et + Gece kipi + Gece kipinde saf siyah kullan + Gece kipinde gri arkaplanını, saf siyah ile değiştir. AMOLED ekranlı cihazlarda pil kullanımını düşür. + Arayüz + Günleri ters sırala + Ana ekranda günleri tersen göster + Gün + Hafta + Ay + 3 Ay + Yıl + + kez + Her %d gün + Her %d hafta + Her %d ay + Puan + Hatırlatma sesi + Sessiz + Tamamlananları gizle + Arşivlenenleri gizle + Verıtabanını onar + Verıtabanı onarıldı. + Yapmadım + Eylem + Alışkanlık + Sırala + Elle + Ad + Renk + Puan + İndir + Dışarı aktar + diff --git a/app/src/main/res/values-uk/strings.xml b/app/src/main/res/values-uk/strings.xml index c499b6edd..33bead31d 100644 --- a/app/src/main/res/values-uk/strings.xml +++ b/app/src/main/res/values-uk/strings.xml @@ -1,181 +1,178 @@ + + - "Трекер звичок Loop" - "Звички" - "Налаштування" - "Редаґувати" - "Вилучити" - "Архівувати" - "Повернути з архіву" - "Додати звичку" - "Змінити колір" - "Звичку створено." - "Звички вилучено." - "Звички відновлено." - "Скасовувати нічого." - "Повторювати нічого." - "Звичку змінено." - - - "Зміну звички скасовано." - "Звички архівовано." - "Звички повернуто з архіву." - "Огляд" - "Сила звички" - "Історія" - "Очистити" - "Питання (приклад: \"Чи робили ви ранкову зарядку сьогодні?\")" - - - "Повторювати" - "разів за" - "дні(-в)" - "Нагадування" - "Скасувати" - "Зберегти" - - - "Серії" - "У вас немає активних звичок" - "Натисніть та утримуйте, щоб встановити або зняти галочку" - "Вимкнути" - "Назва не може бути порожньою." - "Число має бути додатнім." - "Можливо не більше одного повторення на добу" - "Додати звичку" - "Редаґувати звичку" - "Відзначити" - "Відкласти" - - - "Ласкаво просимо" - "Трекер звичок Loop допомагає вам розвивати і підтримувати корисні звички." - "Додайте кілька звичок" - "Кожного дня, після виконання вашої звички, поставте галочку в програмі." - "Продовжуйте в тому ж дусі" - "Постійно дотримувані звички буде відзначено повною зірочкою." - "Відстежуйте свої успіхи" - "Деталізовані діяграми демонструють вам, як ваші звички покращилися з часом." - "15 хвилин" - "30 хвилин" - "1 година" - "2 години" - "4 години" - "8 годин" - "Відзначати повтор. коротким натисканням" - "Дещо зручніше, але може стати причиною випадкових натискань." - "Інтервал відкладення нагадувань" - "Оцінити цю програму в Google Play" - "Надіслати відозву розробнику" - "Подивитися вихідний код на GitHub" - "Переглянути вступні інструкції" - "Посилання" - "Поведінка" - "Назва" - "Показати архівовані" - "Налаштування" - "Інтервал відкладення" - "Чи знаєте ви?" - "Аби змінити лад записів, натисніть і утримуйте назву запису, опісля перетягніть запис на потрібне місце." - "В альбомному режимі відображається більше днів." - "Вилучити звички" - "Звички буде вилучено. Цю дію не можна скасувати." - "По вихідних" - "По буднях" - "Щодня" - "Оберіть дні" - "Експортувати дані (CVS)" - "Готово" - "Очистити" - "Оберіть години" - "Оберіть хвилини" - - - "Розвивайте корисні звички і відстежуйте свої успіхи (без реклами)" - "Трекер звичок Loop допоможе вам розвивати і підтримувати хороші звички, що дозволить вам досягнути ваших довгострокових цілей. Детальні ґрафіки та статистичні дані показують вам, як ваші звички покращилися з часом. Трекер не містить реклами і є програмою з відкритим вихідним кодом." -"<b>Проста, красива і сучасна оболонка</b> -Loop має легку у використанні, мінімалістську оболонку, що відповідає принципам Material Design." -"<b>Оцінка звичок</b> -На додаток до відображення поточної серії повторень, програма має передовий алгоритм розрахунку \"сили\" ваших звичок. Кожне повторення робить вашу звичку \"сильнішою\", водночас пропуск - \"слабкішою\". Проте, кілька пропущених днів після тривалої серії повторень не зведуть ваші успіхи геть нанівець." -"<b>Детальні діяграми і статистичні дані</b> -За допомогою красивих і деталізованих діяграм ви з легкістю можете подивитися, як ваші звички закріпилися з часом. Прокрутіть назад, аби переглянути повну історію ваших звичок." -"<b>Гнучкий ґрафік</b> -Підтримуються як щоденні звички, так і звички зі складнішими ґрафіками, наприклад: тричі на тиждень, один раз на два тижні, через день." -"<b>Нагадування</b> -Створюйте окремі нагадування для кожної звички у певні години дня. З легкістю відзначайте, пропускайте або ж відкладайте виконання звички безпосередньо зі сповіщення, не відкриваючи програму." -"<b>Цілковита відсутність реклами та відкритий вихідний код</b> -У програмі абсолютно немає реклами, дратівливих повідомлень, чи ж нав'язливих дозволів, і ніколи не буде. Увесь вихідний код доступний на умовах ліцензії GPLv3." -"<b>Оптимізовано для розумних годинників</b> -Нагадування можна відзначити, відкласти або ж пропустити безпосередньо з вашого годинника Android Wear." - "Про програму" - "Перекладачі" - "Розробники" - - - "Версія %s" - "Частота" - "Галочка" - - - "Сила" - "Найкращі серії" - "Поточна серія" - "Число повторень" - "Останні %d дні(-в)" - "Останні %d тижні(-в)" - "Останні %d місяці(-в)" - "Останні %d роки(-ів)" - - - "За весь час" - "Щодня" - "Щотижня" - "Двічі на тиждень" - "5 разів на тиждень" - "Инше..." - "Допомога та ЧаПи" - "Помилка експортування даних." - "Помилка імпортування даних." - - - "Неможливо визначити тип файлу." - "Звички успішно імпортовано." - "Повна резервна копія успішно експортована." - "Імпортувати дані" - "Експортувати повну резервну копію" - "Підтримує імпорт повної резервної копії, експортованої цією програмою, а також файлів, створених програмами Tickmate, HabitBull та Rewire. Більше інформації дивіться у ЧаПи." - "Створює файли, які можна відкрити у програмах для роботи з таблицями (як-от: Microsoft Excel або OpenOffice Calc). Цей файл не можна імпортувати назад." - "Створює файл, що містить усі ваші дані. Цей файл можна імпортувати назад." - "Помилка створення звіту про помилку." - "Створити звіт про помилку" - "Усунення несправностей" - "Допоможіть перекласти цю програму" - "Нічний режим" - "Користати цілком чорне тло у нічному режимі" - "Замінює сіре тло на цілком чорне у нічному режимі. Зменшує використання батареї в телефонах із дисплеєм AMOLED." - "Оболонка" - "Зворотній лад днів" - "Відображає дні у зворотньому ладу на головному екрані" - "День" - "Тиждень" - "Місяць" - - - "Квартал" - "Рік" - - - - "раз за" - "Кожні %d дні(-в)" - "Кожні %d тижні(-в)" - "Кожні %d місяці(-в)" - - - - "Сталість" - "Звук нагадування" - - - "Немає" - \ No newline at end of file + Трекер звичок Loop + Звички + Налаштування + Змінити + Вилучити + Архівувати + Повернути з архіву + Додати звичку + Змінити колір + Звичку створено + Звички вилучено + Звички відновлено + Скасовувати нічого + Повторювати нічого + Звичку змінено + Зміну звички скасовано + Звички архівовано + Звички повернуто з архіву + Огляд + Сила звички + Історія + Очистити + Питання (приклад: \"Чи робили ви ранкову зарядку сьогодні?\") + Повторювати + рази (-ів) за + дні(-в) + Нагадування + Скасувати + Зберегти + Серії + У вас немає активних звичок + Натисніть та утримуйте, щоб встановити або зняти пташку + Вимкнути + Назва не може бути порожньою. + Число має бути додатнім. + Можливо не більше одного повторення на день + Додати звичку + Змінити звичку + Відзначити + Відкласти + + Ласкаво просимо + Трекер звичок Loop допомагає вам розвивати і підтримувати корисні звички. + Додайте нові звички + Кожного дня, після виконання вашої звички, поставте пташку в програмі. + Продовжуйте в тому ж дусі + Постійно дотримувані звички буде відзначено повною зірочкою. + Відстежуйте свої успіхи + Деталізовані хвилеписи (діяграми) демонструють, як ваші звички покращилися з часом. + 15 хвилин + 30 хвилин + 1 година + 2 години + 4 години + 8 годин + 24 години + Відзначати коротким натисканням + Ставити пташки коротким натисканням, замість утримування. Дещо зручніше, але може стати причиною випадкових натискань. + Час відкладення нагадувань + Оцінити цей застосунок в Google Play + Надіслати відозву розробникові + Подивитися вихідний код на GitHub + Переглянути вступні інструкції + Посилання + Поведінка + Назва + Налаштування + Час відкладення + Чи знаєте ви? + Аби змінити порядок записів, натисніть і утримуйте назву запису, опісля перетягніть запис на потрібне місце. + У поземному режимі відображається більше днів. + Вилучити звички + Звички буде вилучено. Цю дію не можна скасувати. + Звичку вилучено / не знайдено + У вихідні + У будні + Щодня + Оберіть дні + Експортувати як CVS + Готово + Очистити + Оберіть години + Оберіть хвилини + Про програму + Перекладачі + Розробники + Версія %s + Частота + Пташка + Сила + Найкращі серії + Поточна серія + Число повторень + Останні %d дні(-в) + Останні %d тижні (-в) + Останні %d місяці (-в) + Останні %d роки (-ів) + Від початку + Щодня + Щотижня + Двічі на тиждень + 5 разів на тиждень + Инше… + Допомога & ЧаПи + Помилка експортування даних. + Помилка імпортування даних. + Неможливо визначити тип файлу. + Звички успішно імпортовано. + Повна резервна копія успішно експортована. + Імпортувати дані + Експортувати повну резервну копію + Підтримує імпортування повної резервної копії, експортованої цією програмою, а також файлів, створених програмами Tickmate, HabitBull та Rewire. Більше інформації дивіться у ЧаПи. + Створює файли, які можна відкрити у програмах для роботи з таблицями (як-от: Microsoft Excel або OpenOffice Calc). Цей файл не можна імпортувати назад. + Створює файл, що містить усі ваші дані. Цей файл можна імпортувати назад. + Помилка створення звіту про помилку. + Створити звіт про помилку + Усунення несправностей + Допоможіть перекласти цю програму + Нічний режим + Користати цілком чорне тло у нічному режимі + Замінює сіре тло на цілком чорне у нічному режимі. Зменшує використання батареї в телефонах із дисплеєм AMOLED. + Оболонка + Зворотній лад днів + Показувати дні у зворотньому порядку на головному екрані + День + Тиждень + Місяць + Квартал + Рік + Усього + + раз у + Кожні %d дні(-в) + Кожні %d тижні(-в) + Кожні %d місяці (-в) + Сталість + Звук нагадування + Немає + Фільтр + Приховати завершені + Приховати архівовані + Закріпити сповіщення + Запобігає прихованню сповіщень. + Відновити базу даних + Базу даних відновлено. + Зняти позначку + Перемкнути + Дія + Звичка + Сортувати + Самотужки + За назвою + За кольором + За сталістю + Завантажити + Експортувати + diff --git a/app/src/main/res/values-vi/strings.xml b/app/src/main/res/values-vi/strings.xml new file mode 100644 index 000000000..d994b3aca --- /dev/null +++ b/app/src/main/res/values-vi/strings.xml @@ -0,0 +1,24 @@ + + + + + + + diff --git a/app/src/main/res/values-zh-rCN/strings.xml b/app/src/main/res/values-zh-rCN/strings.xml index 24348045e..83be2c6ad 100644 --- a/app/src/main/res/values-zh-rCN/strings.xml +++ b/app/src/main/res/values-zh-rCN/strings.xml @@ -1,185 +1,179 @@ + + -"循环习惯记录" -"习惯" -"设置" -"编辑" -"删除" -"存档" -"取消存档" -"添加新习惯" -"选择颜色" -"习惯已创建" -"习惯已删除" -"习惯已恢复" -"没有可以撤销的习惯." -"没有可以恢复的习惯." -"习惯已被修改." - - -"修改已取消." -"习惯存档成功." -"存档已取消." -"总览" -"习惯强度" -"历史" -"取消" -"提醒问题(你今天 xxx 了吗)" - - -"重复" -"次每" -"天" -"提醒" -"放弃" -"保存" - - -"连续完成次数" -"你还没有任何习惯" -"长按 标记/取消标记" -"关闭" -"习惯标题不能为空" -"数字必须大于零." -"每天最多重复一次" -"新建习惯" -"编辑习惯" -"标记" -"以后再说" - - -"欢迎" -"循环习惯记录器帮助你建立和维持好习惯." -"建立一些新习惯" -"每当你完成一项习惯后,就在应用上做一个标记" -"保持习惯" -"当连续完成习惯达到一定时间时,你将可以点亮该习惯的成就之星" -"记录你的进步" -"详细图表展示长期以来习惯养成情况" -"15分钟" -"30分钟" -"1小时" -"2小时" -"4小时" -"8小时" -"轻触以启动重复" -"更加方便,但有可能造成意外记录" -"提醒延迟间隔" -"去Play商店评价这个应用" -"发送反馈给开发者" -"在Github上查看源代码" -"阅读应用介绍" -"链接" -"功能" -"习惯标题" -"显示已存档的习惯" -"设置" -"推迟提醒间隔" -"你知道吗?" -"如果要重新排列习惯,按住习惯的名字拖到想要的位置" -"转至横屏查看更多日期" -"删除该习惯" -"习惯会被永久删除,且该操作不可恢复" -"周末" -"工作日" - - -"每天" -"选择天数" - - -"导出数据 (CSV)" -"完成" -"取消" -"选择小时" -"选择分钟" - - -"建立好习惯且随着时间记录你的进步(无广告)" -"本应用帮助你养成并保持习惯,并能记录长期目标。详尽图表以及统计数据能展示长期以来习惯养成情况。本应用已开源且永无广告。" -"<b>简单,美观,现代的界面</b> -微型界面易于应用。" -"<b>习惯养成得分</b> -本应用不仅仅展示您当前连续完成次数,更有独特算法计算当前习惯的强度。每次重复达成都将让您的当前习惯更加有力,相应地,如果你忘记了完成了当日习惯,该习惯强度将被削弱。但是,如果经历了相当长一段连续达成时间,有那么几天没有完成习惯也不会完全毁掉您的整个习惯养成进度。" -"<b> 详细的图片和数据分析</b> -详细的图片能清晰的显示随着时间你习惯的进步。往后滚动屏幕可以看完整的历史纪录。" -"<b> 灵活的时间表</b> -支持日常习惯或者更加复杂时间间隔的习惯(例如每周3次,每周1次)" -"<b>提醒</b> -为每个习惯添加一个提醒,应用将在每天指定时间提醒您。您可以在通知栏轻松完成诸如将习惯标记为已完成、忽略提醒以及推迟提醒等操作,而完全不必打开应用。" -"<b>完全无广告,开源</b> -完全没有广告,没有过分的权限申请,并且永远也不会有。完整的代码以 GPLv3 协议发布。" -"<b>已为智能手表优化</b> -在 Android Wear 手表上,显示提醒,记录习惯,忽略提醒,或者推迟习惯。" -"关于应用" -"翻译者" -"开发者" - - -"当前版本:%s" -"频率" -"标记" - - -"强度" -"最佳连续完成次数" -"当前连续完成次数" -"重复次数" -"过去 %d 天" -"过去 %d 周" -"过去 %d 月" -"过去 %d 年" - - -"全部" -"每天" -"每周" -"每周两次" -"每周5次" -"自定义" -"帮助 & 常见问题" -"导出数据失败" -"导入数据失败" - - -"无法识别文件" -"习惯导入成功" -"习惯备份成功" -"导入数据" -"导出完整备份" -"支持此应用导出的备份文件, 也支持 Tickmate , HabitBull 或 Rewire 导出文件,请参阅常见问题以获取更多信息。" -"生成可以通过电子表格软件打开的文件,如 Microsoft Excel 或 OpenOffice Calc。该文件无法重新导入。" -"生成一个包含所有数据的文件。该文件可以重新导入。" -"错误报告生成失败" -"生成错误报告" -"故障排除" -"帮助翻译这个应用" -"夜间模式" -"在夜间模式中使用纯黑色" -"以纯黑色背景代替夜间模式中的灰色背景。 -这将帮助减少 AMOLED 屏幕手机的电量使用。" -"界面" -"反向顺序的日子" -"在主界面显示反向顺序的日子" -"天" -"周" -"月" - - -"季度" -"年" - - - -"次每" -"每 %d 天" -"每 %d 周" -"每 %d 月" - - -"成绩" -"提醒声音" - - -"无" - \ No newline at end of file + 循环习惯记录 + 习惯 + 设置 + 编辑 + 删除 + 存档 + 取消存档 + 添加新习惯 + 选择颜色 + 习惯已创建 + 习惯已删除 + 习惯已恢复 + 没有可以撤销的习惯. + 没有可以恢复的习惯. + 习惯已被修改. + 修改已取消. + 习惯存档成功. + 存档已取消. + 总览 + 习惯强度 + 历史 + 取消 + 提醒问题(你今天 xxx 了吗) + 重复 + 次每 + + 提醒 + 放弃 + 保存 + 连续完成次数 + 你还没有任何习惯 + 长按 标记/取消标记 + 关闭 + 习惯标题不能为空 + 数字必须大于零. + 每天最多重复一次 + 新建习惯 + 编辑习惯 + 标记 + 以后再说 + + 欢迎 + 循环习惯记录器帮助你建立和维持好习惯. + 建立一些新习惯 + 每当你完成一项习惯后,就在应用上做一个标记 + 保持习惯 + 当连续完成习惯达到一定时间时,你将可以点亮该习惯的成就之星 + 记录你的进步 + 详细图表展示长期以来习惯养成情况 + 15分钟 + 30分钟 + 1小时 + 2小时 + 4小时 + 8小时 + 24 小时 + 轻触以启动重复 + 更加方便,但有可能造成意外记录 + 提醒延迟间隔 + 去Play商店评价这个应用 + 发送反馈给开发者 + 在Github上查看源代码 + 阅读应用介绍 + 链接 + 功能 + 习惯标题 + 设置 + 推迟提醒间隔 + 你知道吗? + 如果要重新排列习惯,按住习惯的名字拖到想要的位置 + 转至横屏查看更多日期 + 删除该习惯 + 习惯会被永久删除,且该操作不可恢复 + 习惯已删/找不到 + 周末 + 工作日 + 每天 + 选择天数 + 导出数据 (CSV) + 完成 + 取消 + 选择小时 + 选择分钟 + 关于应用 + 翻译者 + 开发者 + 当前版本:%s + 频率 + 标记 + 强度 + 最佳连续完成次数 + 当前连续完成次数 + 重复次数 + 过去 %d 天 + 过去 %d 周 + 过去 %d 月 + 过去 %d 年 + 全部 + 每天 + 每周 + 每周两次 + 每周5次 + 自定义 + 帮助 & 常见问题 + 导出数据失败 + 导入数据失败 + 无法识别文件 + 习惯导入成功 + 习惯备份成功 + 导入数据 + 导出完整备份 + 支持此应用导出的备份文件, 也支持 Tickmate , HabitBull 或 Rewire 导出文件,请参阅常见问题以获取更多信息。 + 生成可以通过电子表格软件打开的文件,如 Microsoft Excel 或 OpenOffice Calc。该文件无法重新导入。 + 生成一个包含所有数据的文件。该文件可以重新导入。 + 错误报告生成失败 + 生成错误报告 + 故障排除 + 帮助翻译这个应用 + 夜间模式 + 在夜间模式中使用纯黑色 + \"以纯黑色背景代替夜间模式中的灰色背景。 +这将帮助减少 AMOLED 屏幕手机的电量使用。\" + 界面 + 反向顺序的日子 + 在主界面显示反向顺序的日子 + + + + 季度 + + 总数 + + 次每 + 每 %d 天 + 每 %d 周 + 每 %d 月 + 成绩 + 提醒声音 + + 筛选 + 隐藏已完成项目 + 隐藏已存档 + 使提醒持久 + 防止提醒被滑掉 + 修复数据库 + 数据库已修复 + 取消选中 + 切换 + 操作 + 习惯 + 排序 + 手动 + 根据名称 + 根据颜色 + 根据分数 + 下载 + 导出 + diff --git a/app/src/main/res/values-zh-rTW/strings.xml b/app/src/main/res/values-zh-rTW/strings.xml index 442ff9fe4..185e48d64 100644 --- a/app/src/main/res/values-zh-rTW/strings.xml +++ b/app/src/main/res/values-zh-rTW/strings.xml @@ -1,180 +1,157 @@ + + -"Loop 習以為常" -"習慣" -"偏好設定" -"編輯" -"刪除" -"封存" -"取消封存" -"加入新習慣" -"選擇顏色" -"習慣已增加" -"習慣已刪除" -"習慣已恢復" -"沒有可以撤銷的習慣" -"沒有可以恢復的習慣" -"習慣已經被修改" - - -"修改已取消" -"習慣已封存" -"習慣已取消封存" -"總覽" -"習慣強度" -"歴史紀錄" -"清空" -"問題(你今天…了嗎?)" - - -"重複" -"次每" -"日" -"提醒" -"放棄" -"保存" - - -"記錄" -"你還沒有任何習慣" -"長按以標記/取消標記" -"關閉" -"習慣標題不能空白" -"數字必需大於零" -"每天最多重複一次" -"添加習慣" -"編輯習慣" -"標記" -"稍後" - - -"歡迎" -"習以為常幫你創建並保持你的習慣。" -"建立一些習慣吧" -"每天,在完成你的習慣後,進入APP來打個勾吧。" -"堅持下去!" -"習以為常幫助你建立並維持好習慣" -"追蹤你的進步" -"詳細的圖表將顯示你的進步" -"15分鐘" -"30分鐘" -"1小時" -"2小時" -"4小時" -"8小時" -"短按來記錄習慣" -"但有可能造成意外記錄" -"提醒延遲間隔" -"在Google Play上評價這個App" -"發送改進意見給開發者" -"在GitHub上查看原始碼" -"App簡介" -"連結" -"功能" -"習慣標題" -"顯示已存檔的習慣" -"設定" -"延遲時間間隔" -"你知道嗎?" -"如果要重新排列習慣,拖曳習慣到想要的位置" -"把手機橫放可以看到更多天數" -"刪除" -"習慣會被永久刪除,而且該操作不可恢復" -"周末" -"工作日" -"每天" -"選擇天數" -"匯出數據 (CSV)" -"完成" -"取消" -"選擇小時" -"選擇分鐘" - - -"建立好新習慣並隨著時間進步 (無廣告)" -"習以為常幫助你建立和維持好習慣,達到長期目標。詳細的圖表和數據顯示出你的進步。這是一個無廣告的開源軟體。" -"<b>簡單,美觀,時尚的界面</b> -輕量型界面易於使用。" -"<b>習慣分數</b> -除了顯示你目前的習慣連勝,循環記錄有高級的演算法計算你的習慣強度。每完成一次能使你的習慣強度增加,每次錯過則會減弱。然而,幾次錯過並不會影響你的習慣進步。" -"<b>詳細的圖片和資料分析</b> -詳細的圖片能顯示出你的進步。往後滑動可以查看完整的歷史記錄。" -"<b>靈活的時間表</b> -支援日常習慣或者是更複雜的時間間隔(例如每周3次,每周1次)" -"<b>提醒</b> -可以選擇為每個習慣加入提醒。不需要打開程式就可以 記錄、忽略或者是延遲習慣。" -"<b>完全無廣告和開源軟體</b> -永遠不會有廣告和煩人的提醒。完整的程式碼在GPLv3。" -"<b>可以用在智慧型手錶上</b> -提醒可以直接在android手錶上 記錄、忽略,或者延遲。" -"關於本程式" -"翻譯者" -"開發者" - - -"%s 版" -"頻率" -"標記" - - -"強度" -"最長紀錄" -"目前紀錄" -"重複次數" -"過去 %d 天" -"過去 %d 周" -"過去 %d 月" -"過去 %d 年" - - -"全部" -"每天" -"每週" -"每週兩次" -"每週五次" -"自訂週期" -"幫助&amp;常見問題" -"輸出資料失敗" -"輸入資料失敗" - - -"無法辨識" -"習慣輸入成功" -"習慣備份成功" -"匯入資料" -"匯出完整備份" -"支援此程式所匯出的資料, 也支援Tickmate,HabitBull 或 Rewire 所產生的文件。請參閱常見問題以獲得更多訊息。" -"生成可以利用表格程式打開的文件,如Microsoft Excel或OpenOffice Calc。此文件無法重新匯入。" -"生成一個包含所有資料的文件。該文件可以再重新匯入。" -"錯誤報告:生成失敗" -"產生錯誤報告" -"問題排除" -"協助翻譯本程式" -"夜間模式" -"在夜間模式中使用深色設定" -"在夜間模式中,使用黑色背景取代灰色背景。這樣可以減少AMOLED螢幕的手機電量消耗。" -"介面" -"反向排序日期" -"在主畫面上顯示反向排序的結果" -"日" -"周" -"月" - - -"季" -"年" - - - -"次每" -"每 %d 天" -"每 %d 周" -"每 %d 月" - - -"分數" -"提醒音效" - - -"無" - \ No newline at end of file + Loop 習以為常 + 習慣 + 偏好設定 + 編輯 + 刪除 + 封存 + 取消封存 + 加入新習慣 + 選擇顏色 + 習慣已增加 + 習慣已刪除 + 習慣已恢復 + 沒有可以撤銷的習慣 + 沒有可以恢復的習慣 + 習慣已經被修改 + 修改已取消 + 習慣已封存 + 習慣已取消封存 + 總覽 + 習慣強度 + 歴史紀錄 + 清空 + 問題(你今天…了嗎?) + 重複 + 次每 + + 提醒 + 放棄 + 保存 + 記錄 + 你還沒有任何習慣 + 長按以標記/取消標記 + 關閉 + 習慣標題不能空白 + 數字必需大於零 + 每天最多重複一次 + 添加習慣 + 編輯習慣 + 標記 + 稍後 + + 歡迎 + 習以為常幫你創建並保持你的習慣。 + 建立一些習慣吧 + 每天,在完成你的習慣後,進入APP來打個勾吧。 + 堅持下去! + 習以為常幫助你建立並維持好習慣 + 追蹤你的進步 + 詳細的圖表將顯示你的進步 + 15分鐘 + 30分鐘 + 1小時 + 2小時 + 4小時 + 8小時 + 短按來記錄習慣 + 但有可能造成意外記錄 + 提醒延遲間隔 + 在Google Play上評價這個App + 發送改進意見給開發者 + 在GitHub上查看原始碼 + App簡介 + 連結 + 功能 + 習慣標題 + 設定 + 延遲時間間隔 + 你知道嗎? + 如果要重新排列習慣,拖曳習慣到想要的位置 + 把手機橫放可以看到更多天數 + 刪除 + 習慣會被永久刪除,而且該操作不可恢復 + 周末 + 工作日 + 每天 + 選擇天數 + 匯出數據 (CSV) + 完成 + 取消 + 選擇小時 + 選擇分鐘 + 關於本程式 + 翻譯者 + 開發者 + %s 版 + 頻率 + 標記 + 強度 + 最長紀錄 + 目前紀錄 + 重複次數 + 過去 %d 天 + 過去 %d 周 + 過去 %d 月 + 過去 %d 年 + 全部 + 每天 + 每週 + 每週兩次 + 每週五次 + 自訂週期 + 幫助&amp;常見問題 + 輸出資料失敗 + 輸入資料失敗 + 無法辨識 + 習慣輸入成功 + 習慣備份成功 + 匯入資料 + 匯出完整備份 + 支援此程式所匯出的資料, 也支援Tickmate,HabitBull 或 Rewire 所產生的文件。請參閱常見問題以獲得更多訊息。 + 生成可以利用表格程式打開的文件,如Microsoft Excel或OpenOffice Calc。此文件無法重新匯入。 + 生成一個包含所有資料的文件。該文件可以再重新匯入。 + 錯誤報告:生成失敗 + 產生錯誤報告 + 問題排除 + 協助翻譯本程式 + 夜間模式 + 在夜間模式中使用深色設定 + 在夜間模式中,使用黑色背景取代灰色背景。這樣可以減少AMOLED螢幕的手機電量消耗。 + 介面 + 反向排序日期 + 在主畫面上顯示反向排序的結果 + + + + + + + 次每 + 每 %d 天 + 每 %d 周 + 每 %d 月 + 分數 + 提醒音效 + + diff --git a/app/src/main/res/values/attrs.xml b/app/src/main/res/values/attrs.xml index 3c584749f..6470a9b0d 100644 --- a/app/src/main/res/values/attrs.xml +++ b/app/src/main/res/values/attrs.xml @@ -38,6 +38,7 @@ + diff --git a/app/src/main/res/values/constants.xml b/app/src/main/res/values/constants.xml index e9bb09d04..311d2c241 100644 --- a/app/src/main/res/values/constants.xml +++ b/app/src/main/res/values/constants.xml @@ -23,7 +23,7 @@ mailto:dev@loophabits.org?subject=Feedback%20about%20Loop%20Habit%20Tracker mailto:dev@loophabits.org?subject=Bug%20Report%20-%20Loop%20Habit%20Tracker https://github.com/iSoron/uhabits - https://poeditor.com/join/project/8DWX5pfjS0 + http://translate.loophabits.org/ dev@loophabits.org Bug Report - Loop Habit Tracker diff --git a/app/src/main/res/values/pickers.xml b/app/src/main/res/values/pickers.xml index 354c3ae89..c83a58066 100644 --- a/app/src/main/res/values/pickers.xml +++ b/app/src/main/res/values/pickers.xml @@ -41,12 +41,12 @@ 14sp 6dip 4dip - 96dip + 80dip 48dip 48dip 24dip - 270dip - 270dp + 250dip + 250dp 30dp 155dp 270dp diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index d4ac16b9a..1e94bea9a 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -196,4 +196,12 @@ Toggle Action Habit + + Sort + Manually + By name + By color + By score + Download + Export \ No newline at end of file diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml index 867e29ec9..a456262a8 100644 --- a/app/src/main/res/values/styles.xml +++ b/app/src/main/res/values/styles.xml @@ -53,6 +53,7 @@ @drawable/ic_action_add_dark @drawable/ic_action_archive_dark @drawable/ic_action_edit_dark + @drawable/ic_action_download_dark @drawable/ic_action_unarchive_dark @drawable/ic_action_color_dark @drawable/ic_action_filter_dark diff --git a/app/src/main/res/values/styles_dialog.xml b/app/src/main/res/values/styles_dialog.xml index 91f07fe20..784a52886 100644 --- a/app/src/main/res/values/styles_dialog.xml +++ b/app/src/main/res/values/styles_dialog.xml @@ -34,13 +34,13 @@ ?android:attr/selectableItemBackground -