From ae4c0f0fbebc7bfb4e5a66df2286b8d2f966190f Mon Sep 17 00:00:00 2001
From: byquanton <32410361+byquanton@users.noreply.github.com>
Date: Tue, 14 Jan 2025 10:17:50 +0100
Subject: [PATCH 1/6] Rewrite offline detection to check the connectivity per
connected integration
---
core/Objects/Source.vala | 1 +
core/Services/CalDAV/Core.vala | 3 ++-
src/Layouts/SidebarSourceRow.vala | 6 +++++-
src/MainWindow.vala | 8 +++-----
src/Services/NetworkMonitor.vala | 32 +------------------------------
src/Widgets/SyncButton.vala | 23 ++++++++--------------
6 files changed, 20 insertions(+), 53 deletions(-)
diff --git a/core/Objects/Source.vala b/core/Objects/Source.vala
index 92d500299..48565820f 100644
--- a/core/Objects/Source.vala
+++ b/core/Objects/Source.vala
@@ -106,6 +106,7 @@ public class Objects.Source : Objects.BaseObject {
public signal void sync_started ();
public signal void sync_finished ();
+ public signal void sync_failed ();
public Source.from_import_json (Json.Node node) {
id = node.get_object ().get_string_member ("id");
diff --git a/core/Services/CalDAV/Core.vala b/core/Services/CalDAV/Core.vala
index 6198c9c3f..7ce2837c8 100644
--- a/core/Services/CalDAV/Core.vala
+++ b/core/Services/CalDAV/Core.vala
@@ -283,7 +283,8 @@ public class Services.CalDAV.Core : GLib.Object {
source.sync_finished ();
source.last_sync = new GLib.DateTime.now_local ().to_string ();
} catch (Error e) {
- debug (e.message);
+ debug ("Failed to sync: "+e.message);
+ source.sync_failed();
}
}
diff --git a/src/Layouts/SidebarSourceRow.vala b/src/Layouts/SidebarSourceRow.vala
index 9a4778cd7..1cb3ba59a 100644
--- a/src/Layouts/SidebarSourceRow.vala
+++ b/src/Layouts/SidebarSourceRow.vala
@@ -64,6 +64,10 @@ public class Layouts.SidebarSourceRow : Gtk.ListBoxRow {
source.sync_finished.connect (() => {
sync_button.sync_finished ();
});
+
+ source.sync_failed.connect (() => {
+ sync_button.sync_failed ();
+ });
}
var add_button = new Gtk.Button.from_icon_name ("plus-large-symbolic") {
@@ -191,4 +195,4 @@ public class Layouts.SidebarSourceRow : Gtk.ListBoxRow {
int ordered = Services.Settings.get_default ().settings.get_enum ("projects-ordered");
return ordered == 0 ? project2.name.collate (project1.name) : project1.name.collate (project2.name);
}
-}
\ No newline at end of file
+}
diff --git a/src/MainWindow.vala b/src/MainWindow.vala
index e97c7d437..a6bf672f5 100644
--- a/src/MainWindow.vala
+++ b/src/MainWindow.vala
@@ -200,12 +200,10 @@ public class MainWindow : Adw.ApplicationWindow {
return GLib.Source.REMOVE;
});
-
+
Services.NetworkMonitor.instance ().network_changed.connect (() => {
- if (Services.NetworkMonitor.instance ().network_available) {
- foreach (Objects.Source source in Services.Store.instance ().sources) {
- source.run_server ();
- }
+ foreach (Objects.Source source in Services.Store.instance ().sources) {
+ source.run_server ();
}
});
});
diff --git a/src/Services/NetworkMonitor.vala b/src/Services/NetworkMonitor.vala
index 43b534d2c..50f86c910 100644
--- a/src/Services/NetworkMonitor.vala
+++ b/src/Services/NetworkMonitor.vala
@@ -27,42 +27,12 @@ public class Services.NetworkMonitor : GLib.Object {
});
}
- bool? _network_available = null;
- public bool network_available {
- get {
- if (_network_available == null) {
- _network_available = !is_disconnected ();
- }
-
- return _network_available;
- }
- }
-
public signal void network_changed ();
construct {
var network_monitor = GLib.NetworkMonitor.get_default ();
network_monitor.network_changed.connect (() => {
- _network_available = !is_disconnected ();
network_changed ();
});
}
-
- public bool is_disconnected () {
- var host = "www.google.com";
-
- try {
- var resolver = GLib.Resolver.get_default ();
- var addresses = resolver.lookup_by_name (host, null);
- var address = addresses.nth_data (0);
- if (address == null) {
- return false;
- }
- } catch (Error e) {
- debug ("%s\n", e.message);
- return true;
- }
-
- return false;
- }
-}
\ No newline at end of file
+}
diff --git a/src/Widgets/SyncButton.vala b/src/Widgets/SyncButton.vala
index cde1bf6eb..162e90fb4 100644
--- a/src/Widgets/SyncButton.vala
+++ b/src/Widgets/SyncButton.vala
@@ -58,34 +58,27 @@ public class Widgets.SyncButton : Adw.Bin {
child = main_revealer;
Timeout.add (main_revealer.transition_duration, () => {
- network_available ();
return GLib.Source.REMOVE;
});
sync_button.clicked.connect (() => {
clicked ();
});
-
- Services.NetworkMonitor.instance ().network_changed.connect (() => {
- network_available ();
- });
- }
-
- private void network_available () {
- if (Services.NetworkMonitor.instance ().network_available) {
- stack.visible_child_name = "sync";
- tooltip_markup = "";
- } else {
- stack.visible_child_name = "error";
- tooltip_markup = "%s\n%s".printf (_("Offline Mode Is On"), _("Looks like you'are not connected to the\ninternet. Changes you make in offline\nmode will be synced when you reconnect")); // vala-lint=line-length
- }
}
public void sync_started () {
+ stack.visible_child_name = "sync";
+ tooltip_markup = "";
sync_button.add_css_class ("is_loading");
}
public void sync_finished () {
sync_button.remove_css_class ("is_loading");
}
+
+ public void sync_failed () {
+ sync_button.remove_css_class ("is_loading");
+ stack.visible_child_name = "error";
+ tooltip_markup = "%s\n%s".printf (_("Failed to connect to server"), _("It looks like the server is unreachable,\nare you connected to the internet?\nAny changes you make while disconnected\nwill be synchronized when you reconnect.")); // vala-lint=line-length
+ }
}
From 388c323dd242349d70107919cc0e0f8957cb0e5f Mon Sep 17 00:00:00 2001
From: byquanton <32410361+byquanton@users.noreply.github.com>
Date: Wed, 15 Jan 2025 21:36:40 +0100
Subject: [PATCH 2/6] Drop NetworkMonitor class, because it is no longer needed
---
src/MainWindow.vala | 9 ++++----
src/Services/NetworkMonitor.vala | 38 --------------------------------
src/meson.build | 2 +-
3 files changed, 6 insertions(+), 43 deletions(-)
delete mode 100644 src/Services/NetworkMonitor.vala
diff --git a/src/MainWindow.vala b/src/MainWindow.vala
index a6bf672f5..08b59cd5b 100644
--- a/src/MainWindow.vala
+++ b/src/MainWindow.vala
@@ -201,11 +201,12 @@ public class MainWindow : Adw.ApplicationWindow {
return GLib.Source.REMOVE;
});
- Services.NetworkMonitor.instance ().network_changed.connect (() => {
- foreach (Objects.Source source in Services.Store.instance ().sources) {
+ var network_monitor = GLib.NetworkMonitor.get_default ();
+ network_monitor.network_changed.connect (() => {
+ foreach (Objects.Source source in Services.Store.instance ().sources) {
source.run_server ();
- }
- });
+ }
+ });
});
var granite_settings = Granite.Settings.get_default ();
diff --git a/src/Services/NetworkMonitor.vala b/src/Services/NetworkMonitor.vala
deleted file mode 100644
index 50f86c910..000000000
--- a/src/Services/NetworkMonitor.vala
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
-* Copyright © 2024 Alain M. (https://github.com/alainm23/planify)
-*
-* This program 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.
-*
-* This program 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, write to the
-* Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
-* Boston, MA 02110-1301 USA
-*
-* Authored by: Alain M.
-*/
-
-public class Services.NetworkMonitor : GLib.Object {
- static GLib.Once _instance;
- public static unowned Services.NetworkMonitor instance () {
- return _instance.once (() => {
- return new Services.NetworkMonitor ();
- });
- }
-
- public signal void network_changed ();
-
- construct {
- var network_monitor = GLib.NetworkMonitor.get_default ();
- network_monitor.network_changed.connect (() => {
- network_changed ();
- });
- }
-}
diff --git a/src/meson.build b/src/meson.build
index 513cd79f1..115cd4648 100644
--- a/src/meson.build
+++ b/src/meson.build
@@ -20,7 +20,6 @@ sources = files(
'Services/DBusServer.vala',
'Services/Backups.vala',
'Services/MigrateFromPlanner.vala',
- 'Services/NetworkMonitor.vala',
'Services/CalendarEvents/CalendarEvents.vala',
'Services/CalendarEvents/DateIterator.vala',
@@ -115,3 +114,4 @@ executable(
dependencies: deps,
install: true
)
+
From e1dc284686d3720b7778a664ff1af3960630661e Mon Sep 17 00:00:00 2001
From: byquanton <32410361+byquanton@users.noreply.github.com>
Date: Wed, 15 Jan 2025 22:20:03 +0100
Subject: [PATCH 3/6] Add sync_failed call to Todoist
---
core/Services/Todoist.vala | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/core/Services/Todoist.vala b/core/Services/Todoist.vala
index d7fa84c3f..43f7edf58 100644
--- a/core/Services/Todoist.vala
+++ b/core/Services/Todoist.vala
@@ -360,7 +360,8 @@ public class Services.Todoist : GLib.Object {
yield queue (source);
}
} catch (Error e) {
- debug (e.message);
+ debug ("Failed to sync: "+e.message);
+ source.sync_failed();
}
source.last_sync = new GLib.DateTime.now_local ().to_string ();
From 22547891a6040583d504b2dec4fb85c5b1531ab0 Mon Sep 17 00:00:00 2001
From: byquanton <32410361+byquanton@users.noreply.github.com>
Date: Wed, 15 Jan 2025 22:32:21 +0100
Subject: [PATCH 4/6] Fix Code Format
---
core/Services/CalDAV/Core.vala | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/core/Services/CalDAV/Core.vala b/core/Services/CalDAV/Core.vala
index 7ce2837c8..0457ee579 100644
--- a/core/Services/CalDAV/Core.vala
+++ b/core/Services/CalDAV/Core.vala
@@ -283,8 +283,8 @@ public class Services.CalDAV.Core : GLib.Object {
source.sync_finished ();
source.last_sync = new GLib.DateTime.now_local ().to_string ();
} catch (Error e) {
- debug ("Failed to sync: "+e.message);
- source.sync_failed();
+ debug ("Failed to sync: " + e.message);
+ source.sync_failed ();
}
}
From f267134e3bee1252e6dcb2c95cd4817e58507e57 Mon Sep 17 00:00:00 2001
From: byquanton <32410361+byquanton@users.noreply.github.com>
Date: Wed, 15 Jan 2025 22:47:51 +0100
Subject: [PATCH 5/6] Make the SyncButton clickable even when it currently
shows an error
---
core/Services/Todoist.vala | 4 ++--
src/Widgets/SyncButton.vala | 12 ++++++++----
2 files changed, 10 insertions(+), 6 deletions(-)
diff --git a/core/Services/Todoist.vala b/core/Services/Todoist.vala
index 43f7edf58..64ccbc3a9 100644
--- a/core/Services/Todoist.vala
+++ b/core/Services/Todoist.vala
@@ -360,8 +360,8 @@ public class Services.Todoist : GLib.Object {
yield queue (source);
}
} catch (Error e) {
- debug ("Failed to sync: "+e.message);
- source.sync_failed();
+ debug ("Failed to sync: " + e.message);
+ source.sync_failed ();
}
source.last_sync = new GLib.DateTime.now_local ().to_string ();
diff --git a/src/Widgets/SyncButton.vala b/src/Widgets/SyncButton.vala
index 162e90fb4..41e28a52f 100644
--- a/src/Widgets/SyncButton.vala
+++ b/src/Widgets/SyncButton.vala
@@ -38,9 +38,9 @@ public class Widgets.SyncButton : Adw.Bin {
css_classes = { "flat", "header-item-button", "dim-label" }
};
- var error_image = new Gtk.Image () {
- gicon = new ThemedIcon ("dialog-warning-symbolic"),
- pixel_size = 13
+ var error_button = new Gtk.Button.from_icon_name ("dialog-warning-symbolic") {
+ valign = Gtk.Align.CENTER,
+ css_classes = { "flat", "header-item-button", "dim-label" }
};
stack = new Gtk.Stack () {
@@ -48,7 +48,7 @@ public class Widgets.SyncButton : Adw.Bin {
};
stack.add_named (sync_button, "sync");
- stack.add_named (error_image, "error");
+ stack.add_named (error_button, "error");
main_revealer = new Gtk.Revealer () {
transition_type = Gtk.RevealerTransitionType.CROSSFADE,
@@ -64,6 +64,10 @@ public class Widgets.SyncButton : Adw.Bin {
sync_button.clicked.connect (() => {
clicked ();
});
+
+ error_button.clicked.connect (() => {
+ clicked ();
+ });
}
public void sync_started () {
From 0890fca43b41ab6f21e318d85c589e6bac8814b0 Mon Sep 17 00:00:00 2001
From: byquanton <32410361+byquanton@users.noreply.github.com>
Date: Sat, 18 Jan 2025 16:54:18 +0100
Subject: [PATCH 6/6] Update planify pot and de.po
---
po/de.po | 294 ++++++++++++++++--------------
po/io.github.alainm23.planify.pot | 133 ++++++++++----
2 files changed, 257 insertions(+), 170 deletions(-)
diff --git a/po/de.po b/po/de.po
index e448ea221..98e0ae16b 100644
--- a/po/de.po
+++ b/po/de.po
@@ -4,21 +4,22 @@
# bestlinuxgamers <52172848+bestlinuxgamers@users.noreply.github.com>, 2024.
# BlueFox < bluefox@privacynerd.de>, 2024.
# alp10711 <93343276+alp10711@users.noreply.github.com>, 2024.
+# byquanton <32410361+byquanton@users.noreply.github.com>, 2025.
#
msgid ""
msgstr ""
"Project-Id-Version: io.github.alainm23.planify\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2024-11-04 16:59-0500\n"
-"PO-Revision-Date: 2024-06-03 01:28+0200\n"
-"Last-Translator: alp10711 <93343276+alp10711@users.noreply.github.com>\n"
+"POT-Creation-Date: 2025-01-18 16:37+0100\n"
+"PO-Revision-Date: 2025-01-18 17:21+0100\n"
+"Last-Translator: byquanton <>\n"
"Language-Team: German\n"
"Language: de\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-Generator: Gtranslator 46.1\n"
+"X-Generator: Gtranslator 47.1\n"
#: core/Enum.vala:131 core/Util/Util.vala:226 core/Util/Util.vala:602
#: core/Widgets/ProjectPicker/ProjectPickerRow.vala:101
@@ -154,7 +155,7 @@ msgstr "Jedes Jahr"
msgid "Every %d years"
msgstr "Alle %d Jahre"
-#: core/Enum.vala:411 core/Services/Database.vala:2258
+#: core/Enum.vala:411 core/Services/Database.vala:2257
#: core/Services/CalDAV/Providers/Nextcloud.vala:322
#: src/Dialogs/Preferences/PreferencesWindow.vala:864
#: src/Dialogs/Preferences/PreferencesWindow.vala:1342
@@ -163,7 +164,7 @@ msgstr "Nextcloud"
#: core/Enum.vala:414
msgid "Radicale"
-msgstr ""
+msgstr "Radicale"
#: core/Enum.vala:476 core/Enum.vala:662 core/Widgets/PriorityButton.vala:84
#: src/Widgets/ItemDetailCompleted.vala:79 src/Views/Project/Project.vala:457
@@ -250,9 +251,8 @@ msgid "Create More"
msgstr "Weitere erstellen"
#: core/QuickAdd.vala:207
-#, fuzzy
msgid "Select a Project"
-msgstr "Projekt löschen"
+msgstr "Projekt auswählen"
#: core/QuickAdd.vala:233
msgid ""
@@ -366,7 +366,7 @@ msgstr "Heute + Posteingang"
#: core/Util/Util.vala:381 core/Objects/Label.vala:210
#: core/Objects/Project.vala:806 core/Objects/Project.vala:856
#: core/Objects/Section.vala:371 core/Objects/Section.vala:397
-#: core/Objects/Source.vala:165 src/Services/Backups.vala:417
+#: core/Objects/Source.vala:166 src/Services/Backups.vala:417
#: src/Layouts/ItemSidebarView.vala:547 src/Layouts/SectionBoard.vala:540
#: src/Widgets/MultiSelectToolbar.vala:255 src/Views/Filter.vala:540
#: src/Dialogs/CompletedTasks.vala:168 src/Dialogs/QuickFind/QuickFind.vala:68
@@ -713,39 +713,39 @@ msgstr "Sa,"
msgid "Su,"
msgstr "So,"
-#: core/Services/Todoist.vala:1520 src/Widgets/ErrorView.vala:134
+#: core/Services/Todoist.vala:1521 src/Widgets/ErrorView.vala:134
msgid "The request was incorrect."
msgstr "Die Anfrage war fehlerhaft."
-#: core/Services/Todoist.vala:1521 src/Widgets/ErrorView.vala:135
+#: core/Services/Todoist.vala:1522 src/Widgets/ErrorView.vala:135
msgid ""
"Authentication is required, and has failed, or has not yet been provided."
msgstr ""
"Authentifizierung ist erforderlich und fehlgeschlagen oder wurde noch nicht "
"übermittelt."
-#: core/Services/Todoist.vala:1522 src/Widgets/ErrorView.vala:136
+#: core/Services/Todoist.vala:1523 src/Widgets/ErrorView.vala:136
msgid "The request was valid, but for something that is forbidden."
msgstr "Die Anfrage war gültig, aber für etwas, das verboten ist."
-#: core/Services/Todoist.vala:1523 src/Widgets/ErrorView.vala:137
+#: core/Services/Todoist.vala:1524 src/Widgets/ErrorView.vala:137
msgid "The requested resource could not be found."
msgstr "Die angeforderte Ressource konnte nicht gefunden werden."
-#: core/Services/Todoist.vala:1524 src/Widgets/ErrorView.vala:138
+#: core/Services/Todoist.vala:1525 src/Widgets/ErrorView.vala:138
msgid "The user has sent too many requests in a given amount of time."
msgstr ""
"Der Nutzer hat zu viele Anfragen in einer bestimmten Zeitspanne gesendet."
-#: core/Services/Todoist.vala:1525 src/Widgets/ErrorView.vala:139
+#: core/Services/Todoist.vala:1526 src/Widgets/ErrorView.vala:139
msgid "The request failed due to a server error."
msgstr "Die Anfrage ist aufgrund eines Serverfehlers fehlgeschlagen."
-#: core/Services/Todoist.vala:1526 src/Widgets/ErrorView.vala:140
+#: core/Services/Todoist.vala:1527 src/Widgets/ErrorView.vala:140
msgid "The server is currently unable to handle the request."
msgstr "Der Server ist derzeit nicht in der Lage, die Anfrage zu bearbeiten."
-#: core/Services/Todoist.vala:1528 src/Widgets/ErrorView.vala:142
+#: core/Services/Todoist.vala:1529 src/Widgets/ErrorView.vala:142
msgid "Unknown error"
msgstr "Unbekannter Fehler"
@@ -779,9 +779,8 @@ msgid "Priority 1: Low"
msgstr "Priorität 3: Niedrig"
#: core/Widgets/StatusButton.vala:33
-#, fuzzy
msgid "Set The Status"
-msgstr "Priorität setzen"
+msgstr "Status setzen"
#: core/Widgets/StatusButton.vala:40
msgid "Status"
@@ -830,7 +829,7 @@ msgstr "Suchen oder Erstellen"
#: core/Widgets/Calendar/CalendarHeader.vala:35
#: core/Widgets/Calendar/CalendarHeader.vala:49
msgid "%OB"
-msgstr ""
+msgstr "%OB"
#: core/Widgets/Calendar/CalendarHeader.vala:36
#: core/Widgets/Calendar/CalendarHeader.vala:52
@@ -838,30 +837,37 @@ msgid "%Y"
msgstr "%Y"
#: core/Widgets/Calendar/CalendarWeek.vala:35
+#: core/Widgets/DateTimePicker/RepeatConfig.vala:177
msgid "Su"
msgstr "So"
#: core/Widgets/Calendar/CalendarWeek.vala:36
+#: core/Widgets/DateTimePicker/RepeatConfig.vala:141
msgid "Mo"
msgstr "Mo"
#: core/Widgets/Calendar/CalendarWeek.vala:37
+#: core/Widgets/DateTimePicker/RepeatConfig.vala:147
msgid "Tu"
msgstr "Di"
#: core/Widgets/Calendar/CalendarWeek.vala:38
+#: core/Widgets/DateTimePicker/RepeatConfig.vala:153
msgid "We"
msgstr "Mi"
#: core/Widgets/Calendar/CalendarWeek.vala:39
+#: core/Widgets/DateTimePicker/RepeatConfig.vala:159
msgid "Th"
msgstr "Do"
#: core/Widgets/Calendar/CalendarWeek.vala:40
+#: core/Widgets/DateTimePicker/RepeatConfig.vala:165
msgid "Fr"
msgstr "Fr"
#: core/Widgets/Calendar/CalendarWeek.vala:41
+#: core/Widgets/DateTimePicker/RepeatConfig.vala:171
msgid "Sa"
msgstr "Sa"
@@ -877,18 +883,22 @@ msgid "Set a Due Date"
msgstr "Fälligkeitsdatum"
#: core/Widgets/DateTimePicker/ScheduleButton.vala:238
+#: core/Widgets/DateTimePicker/RepeatConfig.vala:447
msgid "until"
msgstr "bis"
#: core/Widgets/DateTimePicker/ScheduleButton.vala:241
+#: core/Widgets/DateTimePicker/RepeatConfig.vala:451
msgid "for"
msgstr "für"
#: core/Widgets/DateTimePicker/ScheduleButton.vala:241
+#: core/Widgets/DateTimePicker/RepeatConfig.vala:451
msgid "times"
msgstr "mal"
#: core/Widgets/DateTimePicker/ScheduleButton.vala:241
+#: core/Widgets/DateTimePicker/RepeatConfig.vala:451
msgid "time"
msgstr "mal"
@@ -902,6 +912,7 @@ msgstr "Datum auswählen"
#: core/Widgets/DateTimePicker/DateTimePicker.vala:122
#: core/Widgets/DateTimePicker/DateTimePicker.vala:365
+#: core/Widgets/DateTimePicker/RepeatConfig.vala:90
msgid "Repeat"
msgstr "Wiederholen"
@@ -912,6 +923,7 @@ msgstr "Zeit"
#: core/Widgets/DateTimePicker/DateTimePicker.vala:152
#: src/Widgets/MultiSelectToolbar.vala:80 src/Dialogs/DatePicker.vala:106
+#: core/Widgets/DateTimePicker/RepeatConfig.vala:258
msgid "Done"
msgstr "Fertig"
@@ -920,7 +932,6 @@ msgid "Clear"
msgstr "Löschen"
#: core/Widgets/DateTimePicker/DateTimePicker.vala:236
-#, fuzzy
msgid "Menu"
msgstr "Hauptmenü"
@@ -928,13 +939,13 @@ msgstr "Hauptmenü"
#: core/Widgets/DateTimePicker/DateTimePicker.vala:272
#: core/Widgets/ReminderPicker/ReminderPicker.vala:144
#: src/Layouts/HeaderBar.vala:81 src/Dialogs/Preferences/SettingsHeader.vala:51
+#: core/Widgets/DateTimePicker/RepeatConfig.vala:99
msgid "Back"
msgstr "Zurück"
#: core/Widgets/DateTimePicker/DateTimePicker.vala:268
-#, fuzzy
msgid "Calendar"
-msgstr "Kalender Ereignisse"
+msgstr "Kalender"
#: core/Widgets/DateTimePicker/DateTimePicker.vala:276
msgid "Daily"
@@ -957,9 +968,8 @@ msgid "Custom"
msgstr "Benutzerdefiniert"
#: core/Widgets/DateTimePicker/TimePicker.vala:110
-#, fuzzy
msgid "Add Time"
-msgstr "Zeit"
+msgstr "Zeit hinzufügen"
#: core/Widgets/LabelPicker/LabelButton.vala:79
#: core/Widgets/LabelPicker/LabelButton.vala:134
@@ -967,9 +977,8 @@ msgid "Select Labels"
msgstr "Labels auswählen"
#: core/Widgets/ProjectPicker/ProjectPickerButton.vala:62
-#, fuzzy
msgid "Your list of section will show up here."
-msgstr "Die Liste an Filtern wird hier angezeigt."
+msgstr "Die Liste an Abschnitten wird hier angezeigt."
#. Section Button
#: core/Widgets/ProjectPicker/ProjectPickerButton.vala:89
@@ -1008,32 +1017,29 @@ msgstr "Erinnerung hinzufügen"
# # c-format
#: core/Widgets/ReminderPicker/ReminderPicker.vala:209
-#, fuzzy
msgid "In 5 minutes"
-msgstr "Alle %d Minuten"
+msgstr "In 5 Minuten"
# # c-format
#: core/Widgets/ReminderPicker/ReminderPicker.vala:210
-#, fuzzy
msgid "In 15 minutes"
-msgstr "Alle %d Minuten"
+msgstr "In 15 Minuten"
#: core/Widgets/ReminderPicker/ReminderPicker.vala:211
-#, fuzzy
msgid "In 30 minutes"
-msgstr "30 Minuten davor"
+msgstr "in 30 Minuten"
#: core/Widgets/ReminderPicker/ReminderPicker.vala:212
msgid "In 1 hour"
-msgstr ""
+msgstr "In 1 Stunde"
#: core/Widgets/ReminderPicker/ReminderPicker.vala:213
msgid "In 3 hours"
-msgstr ""
+msgstr "In 3 Stunden"
#: core/Widgets/ReminderPicker/ReminderPicker.vala:214
msgid "In 6 hours"
-msgstr ""
+msgstr "In 6 Stunden"
#: core/Widgets/Markdown/MarkdownEditView.vala:140
#: core/Widgets/Markdown/MarkdownEditView.vala:152
@@ -1046,6 +1052,8 @@ msgid ""
"Up to 3 tasks can be pinned and they will appear at the top of the project "
"page"
msgstr ""
+"Es können bis zu 3 Aufgaben angeheftet werden, die dann oben auf der "
+"Projektseite erscheinen"
#: core/Objects/Item.vala:1287
msgid "Task copied to clipboard"
@@ -1058,14 +1066,14 @@ msgid "Delete Label %s"
msgstr "Label %s löschen"
#: core/Objects/Label.vala:207 core/Objects/Project.vala:803
-#: core/Objects/Section.vala:368 core/Objects/Source.vala:162
+#: core/Objects/Section.vala:368 core/Objects/Source.vala:163
#: src/Services/Backups.vala:414 src/Layouts/ItemSidebarView.vala:544
#: src/Layouts/SectionBoard.vala:537
msgid "This can not be undone"
msgstr "Dies kann nicht rückgängig gemacht werden"
#: core/Objects/Label.vala:211 core/Objects/Project.vala:807
-#: core/Objects/Section.vala:372 core/Objects/Source.vala:166
+#: core/Objects/Section.vala:372 core/Objects/Source.vala:167
#: src/Services/Backups.vala:418 src/Layouts/ItemSidebarView.vala:548
#: src/Layouts/SectionBoard.vala:541 src/Widgets/MultiSelectToolbar.vala:220
#: src/Widgets/MultiSelectToolbar.vala:256 src/Widgets/AttachmentRow.vala:48
@@ -1112,7 +1120,7 @@ msgstr "Abschnitt %s löschen"
msgid "Todoist"
msgstr "Todoist"
-#: core/Objects/Source.vala:161
+#: core/Objects/Source.vala:162
msgid "Delete Source?"
msgstr "Abschnitt löschen"
@@ -1230,39 +1238,39 @@ msgstr "Hauptmenü"
msgid "Open Quick Find"
msgstr "Schnelle Suche öffnen"
-#: src/MainWindow.vala:517 src/Dialogs/Preferences/PreferencesWindow.vala:53
+#: src/MainWindow.vala:516 src/Dialogs/Preferences/PreferencesWindow.vala:53
msgid "Preferences"
msgstr "Einstellungen"
-#: src/MainWindow.vala:520
+#: src/MainWindow.vala:519
msgid "Keyboard Shortcuts"
msgstr "Tastenkombinationen"
-#: src/MainWindow.vala:523 src/Dialogs/WhatsNew.vala:150
+#: src/MainWindow.vala:522 src/Dialogs/WhatsNew.vala:150
msgid "What's New"
msgstr "Neuigkeiten"
-#: src/MainWindow.vala:526
+#: src/MainWindow.vala:525
msgid "About Planify"
msgstr "Über Planify"
-#: src/MainWindow.vala:528 src/Dialogs/ManageProjects.vala:28
+#: src/MainWindow.vala:527 src/Dialogs/ManageProjects.vala:28
msgid "Archived Projects"
msgstr "Projekt hinzufügen"
-#: src/MainWindow.vala:587
+#: src/MainWindow.vala:586
msgid "Oops! Something happened"
msgstr "Hoppla! Etwas ist passiert"
-#: src/MainWindow.vala:590
+#: src/MainWindow.vala:589
msgid "See More"
msgstr "Weitere erstellen"
-#: src/MainWindow.vala:626
+#: src/MainWindow.vala:625
msgid "Database Integrity Check Failed"
-msgstr ""
+msgstr "Integritätsprüfung der Datenbank fehlgeschlagen"
-#: src/MainWindow.vala:627
+#: src/MainWindow.vala:626
msgid ""
"We've detected issues with the database structure that may prevent the "
"application from functioning properly. This may be due to missing tables or "
@@ -1271,11 +1279,18 @@ msgid ""
"data will be removed. After the reset, you’ll be able to restore any backup "
"you’ve created previously. Thank you for your patience"
msgstr ""
+"Es wurden Probleme mit der Datenbankstruktur festgestellt, die das "
+"ordnungsgemäße Funktionieren der Anwendung verhindern könnte. Dies kann auf "
+"fehlende Tabellen oder Spalten zurückzuführen sein, die wahrscheinlich durch "
+"eine Datenbeschädigung oder eine unvollständige Aktualisierung verursacht "
+"wurden. Die Datenbank wird nun zurückgesetzt, um die normale Funktionalität "
+"wiederherzustellen, und alle vorhandenen Daten werden entfernt. Nach dem "
+"Zurücksetzen können Sie alle zuvor erstellten Sicherungen wiederherstellen. "
+"Danke für dein Verständnis."
-#: src/MainWindow.vala:629
-#, fuzzy
+#: src/MainWindow.vala:628
msgid "Reset Database"
-msgstr "Alles zurücksetzen"
+msgstr "Datenbank zurücksetzen"
#: src/Services/Backups.vala:413
msgid "Delete Backup"
@@ -1415,20 +1430,18 @@ msgid "Add Attachments"
msgstr "Anhang hinzufügen"
#: src/Layouts/ItemRow.vala:954
-#, fuzzy
msgid "Hide Sub-tasks"
-msgstr "Unteraufgaben"
+msgstr "Unteraufgaben verbergen"
#: src/Layouts/ItemRow.vala:954
-#, fuzzy
msgid "Show Sub-tasks"
-msgstr "Unteraufgaben"
+msgstr "Unteraufgaben anzeigen"
#: src/Layouts/ItemRow.vala:1056 src/Layouts/ItemRow.vala:1069
#: src/Layouts/ItemBoard.vala:124 src/Layouts/ItemBoard.vala:634
#: src/Layouts/ItemBoard.vala:647
msgid "Unpin"
-msgstr ""
+msgstr "Lösen"
#: src/Layouts/ItemRow.vala:1071 src/Layouts/ItemBoard.vala:649
#: src/Views/Project/Project.vala:470 src/Views/Project/Project.vala:600
@@ -1525,20 +1538,6 @@ msgid "No project available. Create one by clicking on the '+' button"
msgstr ""
"Kein Projekt vorhanden. Erstelle eins, indem du auf den \"+\" Knopf klickst."
-#: src/Widgets/SyncButton.vala:79
-msgid "Offline Mode Is On"
-msgstr "Offline-Modus ist aktiviert"
-
-#: src/Widgets/SyncButton.vala:79
-msgid ""
-"Looks like you'are not connected to the\n"
-"internet. Changes you make in offline\n"
-"mode will be synced when you reconnect"
-msgstr ""
-"Es scheint, als wärst du nicht mit dem\n"
-"Internet verbunden. Änderungen, die du im Offline-\n"
-"Modus vornimmst, werden synchronisiert, wenn du wieder verbunden bist."
-
# Assumed error "Mask" -> "Mark"
#: src/Widgets/MultiSelectToolbar.vala:218
msgid "Mark as Completed"
@@ -1571,7 +1570,7 @@ msgstr "Unteraufgaben"
#: src/Widgets/SubItems.vala:447
msgid "No subtasks added yet. Get started!"
-msgstr ""
+msgstr "Noch keine Unteraufgaben hinzugefügt."
#: src/Widgets/SectionsOrderPopover.vala:39 src/Views/Project/Project.vala:281
#: src/Dialogs/Section.vala:100
@@ -1585,29 +1584,27 @@ msgstr "Aufgabe hinzufügen"
#. translators: Open file
#: src/Widgets/Attachments.vala:138
msgid "Open"
-msgstr ""
+msgstr "Öffnen"
#: src/Widgets/Attachments.vala:244
msgid "No attachments found. Add files here."
-msgstr ""
+msgstr "Keine Anhänge gefunden. Füge Dateien hier hinzu."
#: src/Widgets/ItemChangeHistoryRow.vala:47
-#, fuzzy
msgid "Task completed"
-msgstr "Abgeschlossen"
+msgstr "Aufgabe erledigt"
#: src/Widgets/ItemChangeHistoryRow.vala:47
-#, fuzzy
msgid "Task uncompleted"
-msgstr "Abgeschlossen"
+msgstr "Aufgabe unerledigt"
#: src/Widgets/ItemChangeHistoryRow.vala:49
-#, fuzzy, c-format
+#, c-format
msgid "Task moved to project: %s"
-msgstr "Aufgabe verschoben zu %s"
+msgstr "Aufgabe verschoben zum Projekt %s"
#: src/Widgets/ItemChangeHistoryRow.vala:58
-#, fuzzy, c-format
+#, c-format
msgid "Task moved to: %s"
msgstr "Aufgabe verschoben zu %s"
@@ -1622,16 +1619,16 @@ msgstr "Neu"
#: src/Widgets/ItemChangeHistoryRow.vala:187
#: src/Widgets/ItemChangeHistoryRow.vala:188
msgid "Pin: Active"
-msgstr ""
+msgstr "Pin: Aktiv"
#: src/Widgets/ItemChangeHistoryRow.vala:187
#: src/Widgets/ItemChangeHistoryRow.vala:188
msgid "Pin: Inactive"
-msgstr ""
+msgstr "Pin: Inaktiv"
#: src/Widgets/SourceRow.vala:65
msgid "Remove"
-msgstr ""
+msgstr "Entfernen"
#: src/Widgets/SourceRow.vala:82
#: src/Dialogs/Preferences/PreferencesWindow.vala:882
@@ -1640,12 +1637,11 @@ msgstr "Quelle"
#: src/Widgets/ErrorView.vala:103
msgid "Report Issue"
-msgstr ""
+msgstr "Fehler melden"
#: src/Widgets/ItemDetailCompleted.vala:71
-#, fuzzy
msgid "Completed At"
-msgstr "Abgeschlossen"
+msgstr "Abgeschlossen am"
#: src/Views/Project/Project.vala:63
msgid "Project Actions"
@@ -1779,7 +1775,6 @@ msgstr "Aufgaben hinzufügen"
#: src/Views/Project/List.vala:92 src/Views/Today.vala:223
#: src/Views/Label/Label.vala:70 src/Views/Filter.vala:84
-#, fuzzy
msgid "Press 'a' to create a new task"
msgstr "Drücke a, um eine neue Aufgabe zu erstellen"
@@ -2006,19 +2001,16 @@ msgid "Load more history from %d weeks ago…"
msgstr "Mehr Verlauf von vor %d Wochen laden…"
#: src/Dialogs/CompletedTasks.vala:37 src/Dialogs/CompletedTasks.vala:134
-#, fuzzy
msgid "Completed Tasks"
-msgstr "Aufgabe abschließen"
+msgstr "Abgeschlossene Aufgaben"
#: src/Dialogs/CompletedTasks.vala:57
-#, fuzzy
msgid "View Filter Menu"
-msgstr "Menü Option anzeigen"
+msgstr "Menü Filter anzeigen"
#: src/Dialogs/CompletedTasks.vala:95
-#, fuzzy
msgid "No completed tasks yet."
-msgstr "Erledigte Aufgaben anzeigen"
+msgstr "Noch keine Aufgaben abgeschlossen."
# # c-format
#: src/Dialogs/CompletedTasks.vala:164
@@ -2029,9 +2021,8 @@ msgstr ""
"löschen"
#: src/Dialogs/CompletedTasks.vala:235
-#, fuzzy
msgid "Task Detail"
-msgstr "Details schließen"
+msgstr "Aufgaben Detail"
#: src/Dialogs/QuickFind/QuickFind.vala:63
msgid "Quick Find"
@@ -2164,7 +2155,7 @@ msgstr "Matrix-Raum"
#: src/Dialogs/Preferences/PreferencesWindow.vala:290
msgid "Mastodon"
-msgstr ""
+msgstr "Mastodon"
#: src/Dialogs/Preferences/PreferencesWindow.vala:306
msgid "Want to buy me a drink?"
@@ -2373,22 +2364,24 @@ msgstr "Aufmerksamkeit auf Eines"
#: src/Dialogs/Preferences/PreferencesWindow.vala:626
msgid "Enable Markdown Formatting"
-msgstr ""
+msgstr "Aktivieren der Markdown-Formatierung"
#: src/Dialogs/Preferences/PreferencesWindow.vala:627
msgid "Toggle Markdown support for tasks on or off"
-msgstr ""
+msgstr "Markdown-Unterstützung für Aufgaben ein- oder ausschalten"
#: src/Dialogs/Preferences/PreferencesWindow.vala:633
-#, fuzzy
msgid "Always Show Details Sidebar"
-msgstr "In der Seitenleiste anzeigen"
+msgstr "Immer Detail Seitenleiste anzeigen"
#: src/Dialogs/Preferences/PreferencesWindow.vala:634
msgid ""
"Keep the details panel always visible for easier navigation between tasks, "
"avoiding the need to constantly open and close the panel."
msgstr ""
+"Halte das Detailpanel immer sichtbar, um die Navigation zwischen den "
+"Aufgaben zu erleichtern, damit das Panel nicht ständig öffnen und schließen "
+"müssen."
#: src/Dialogs/Preferences/PreferencesWindow.vala:644
msgid "Enabled"
@@ -2793,56 +2786,87 @@ msgctxt "shortcut window"
msgid "Open Pinboard"
msgstr "'Pinnwand' öffnen"
-#~ msgid "Pinned"
-#~ msgstr "Angeheftet"
+#: src/Widgets/SyncButton.vala:86
+msgid "Failed to connect to server"
+msgstr "Verbindung zum Server fehlgeschlagen"
-#~ msgid "View Details"
-#~ msgstr "Details anzeigen"
+#: src/Widgets/SyncButton.vala:86
+msgid ""
+"It looks like the server is unreachable,\n"
+"are you connected to the internet?\n"
+"Any changes you make while disconnected\n"
+"will be synchronized when you reconnect."
+msgstr ""
+"Eine Verbindung zum Server ist\n"
+"aktuell nicht möglich.\n"
+"Sobald eine Verbindung wiederhergestellt ist,\n"
+"werden die Änderungen synchronisiert."
-#~ msgid "All"
-#~ msgstr "Alle"
+#: core/Widgets/DateTimePicker/RepeatConfig.vala:124
+msgid "Minute(s)"
+msgstr "Minute(n)"
-#~ msgid "Attach File"
-#~ msgstr "Datei anhängen"
+#: core/Widgets/DateTimePicker/RepeatConfig.vala:124
+msgid "Hour(s)"
+msgstr "Stunde(n)"
-#~ msgid "Hide Completed Tasks"
-#~ msgstr "Erledigte Aufgaben ausblenden"
+#: core/Widgets/DateTimePicker/RepeatConfig.vala:124
+msgid "Day(s)"
+msgstr "Tag(e)"
-#~ msgid "Minute(s)"
-#~ msgstr "Minute(n)"
+#: core/Widgets/DateTimePicker/RepeatConfig.vala:124
+msgid "Week(s)"
+msgstr "Woche(n)"
-#~ msgid "Hour(s)"
-#~ msgstr "Stunde(n)"
+#: core/Widgets/DateTimePicker/RepeatConfig.vala:124
+msgid "Month(s)"
+msgstr "Monat(e)"
-#~ msgid "Day(s)"
-#~ msgstr "Tag(e)"
+#: core/Widgets/DateTimePicker/RepeatConfig.vala:124
+msgid "Year(s)"
+msgstr "Jahr(e)"
-#~ msgid "Week(s)"
-#~ msgstr "Woche(n)"
+#: core/Widgets/DateTimePicker/RepeatConfig.vala:203
+msgid "Never"
+msgstr "Nie"
-#~ msgid "Month(s)"
-#~ msgstr "Monat(e)"
+#: core/Widgets/DateTimePicker/RepeatConfig.vala:207
+msgid "On Date"
+msgstr "An Datum"
-#~ msgid "Year(s)"
-#~ msgstr "Jahr(e)"
+#: core/Widgets/DateTimePicker/RepeatConfig.vala:211
+msgid "After"
+msgstr "Nach"
-#~ msgid "Never"
-#~ msgstr "Nie"
+#: core/Widgets/DateTimePicker/RepeatConfig.vala:270
+msgid "Summary"
+msgstr "Zusmamenfassung"
-#~ msgid "On Date"
-#~ msgstr "An Datum"
+#: core/Widgets/DateTimePicker/RepeatConfig.vala:276
+msgid "Repeat every"
+msgstr "Wiederholungszyklus"
-#~ msgid "After"
-#~ msgstr "Nach"
+#: core/Widgets/DateTimePicker/RepeatConfig.vala:283
+msgid "End"
+msgstr "Ende"
-#~ msgid "Summary"
-#~ msgstr "Zusmamenfassung"
+#~ msgid "Offline Mode Is On"
+#~ msgstr "Offline-Modus ist aktiviert"
-#~ msgid "Repeat every"
-#~ msgstr "Wiederholungszyklus"
+#~ msgid "Pinned"
+#~ msgstr "Angeheftet"
+
+#~ msgid "View Details"
+#~ msgstr "Details anzeigen"
-#~ msgid "End"
-#~ msgstr "Ende"
+#~ msgid "All"
+#~ msgstr "Alle"
+
+#~ msgid "Attach File"
+#~ msgstr "Datei anhängen"
+
+#~ msgid "Hide Completed Tasks"
+#~ msgstr "Erledigte Aufgaben ausblenden"
#~ msgid "CalDAV - "
#~ msgstr "CalDAV"
diff --git a/po/io.github.alainm23.planify.pot b/po/io.github.alainm23.planify.pot
index 62b507aae..e37636d39 100644
--- a/po/io.github.alainm23.planify.pot
+++ b/po/io.github.alainm23.planify.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: io.github.alainm23.planify\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2024-11-04 16:59-0500\n"
+"POT-Creation-Date: 2025-01-18 16:37+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME \n"
"Language-Team: LANGUAGE \n"
@@ -145,7 +145,7 @@ msgstr ""
msgid "Every %d years"
msgstr ""
-#: core/Enum.vala:411 core/Services/Database.vala:2258
+#: core/Enum.vala:411 core/Services/Database.vala:2257
#: core/Services/CalDAV/Providers/Nextcloud.vala:322
#: src/Dialogs/Preferences/PreferencesWindow.vala:864
#: src/Dialogs/Preferences/PreferencesWindow.vala:1342
@@ -353,7 +353,7 @@ msgstr ""
#: core/Util/Util.vala:381 core/Objects/Label.vala:210
#: core/Objects/Project.vala:806 core/Objects/Project.vala:856
#: core/Objects/Section.vala:371 core/Objects/Section.vala:397
-#: core/Objects/Source.vala:165 src/Services/Backups.vala:417
+#: core/Objects/Source.vala:166 src/Services/Backups.vala:417
#: src/Layouts/ItemSidebarView.vala:547 src/Layouts/SectionBoard.vala:540
#: src/Widgets/MultiSelectToolbar.vala:255 src/Views/Filter.vala:540
#: src/Dialogs/CompletedTasks.vala:168 src/Dialogs/QuickFind/QuickFind.vala:68
@@ -665,36 +665,36 @@ msgstr ""
msgid "Su,"
msgstr ""
-#: core/Services/Todoist.vala:1520 src/Widgets/ErrorView.vala:134
+#: core/Services/Todoist.vala:1521 src/Widgets/ErrorView.vala:134
msgid "The request was incorrect."
msgstr ""
-#: core/Services/Todoist.vala:1521 src/Widgets/ErrorView.vala:135
+#: core/Services/Todoist.vala:1522 src/Widgets/ErrorView.vala:135
msgid ""
"Authentication is required, and has failed, or has not yet been provided."
msgstr ""
-#: core/Services/Todoist.vala:1522 src/Widgets/ErrorView.vala:136
+#: core/Services/Todoist.vala:1523 src/Widgets/ErrorView.vala:136
msgid "The request was valid, but for something that is forbidden."
msgstr ""
-#: core/Services/Todoist.vala:1523 src/Widgets/ErrorView.vala:137
+#: core/Services/Todoist.vala:1524 src/Widgets/ErrorView.vala:137
msgid "The requested resource could not be found."
msgstr ""
-#: core/Services/Todoist.vala:1524 src/Widgets/ErrorView.vala:138
+#: core/Services/Todoist.vala:1525 src/Widgets/ErrorView.vala:138
msgid "The user has sent too many requests in a given amount of time."
msgstr ""
-#: core/Services/Todoist.vala:1525 src/Widgets/ErrorView.vala:139
+#: core/Services/Todoist.vala:1526 src/Widgets/ErrorView.vala:139
msgid "The request failed due to a server error."
msgstr ""
-#: core/Services/Todoist.vala:1526 src/Widgets/ErrorView.vala:140
+#: core/Services/Todoist.vala:1527 src/Widgets/ErrorView.vala:140
msgid "The server is currently unable to handle the request."
msgstr ""
-#: core/Services/Todoist.vala:1528 src/Widgets/ErrorView.vala:142
+#: core/Services/Todoist.vala:1529 src/Widgets/ErrorView.vala:142
msgid "Unknown error"
msgstr ""
@@ -783,30 +783,37 @@ msgid "%Y"
msgstr ""
#: core/Widgets/Calendar/CalendarWeek.vala:35
+#: core/Widgets/DateTimePicker/RepeatConfig.vala:177
msgid "Su"
msgstr ""
#: core/Widgets/Calendar/CalendarWeek.vala:36
+#: core/Widgets/DateTimePicker/RepeatConfig.vala:141
msgid "Mo"
msgstr ""
#: core/Widgets/Calendar/CalendarWeek.vala:37
+#: core/Widgets/DateTimePicker/RepeatConfig.vala:147
msgid "Tu"
msgstr ""
#: core/Widgets/Calendar/CalendarWeek.vala:38
+#: core/Widgets/DateTimePicker/RepeatConfig.vala:153
msgid "We"
msgstr ""
#: core/Widgets/Calendar/CalendarWeek.vala:39
+#: core/Widgets/DateTimePicker/RepeatConfig.vala:159
msgid "Th"
msgstr ""
#: core/Widgets/Calendar/CalendarWeek.vala:40
+#: core/Widgets/DateTimePicker/RepeatConfig.vala:165
msgid "Fr"
msgstr ""
#: core/Widgets/Calendar/CalendarWeek.vala:41
+#: core/Widgets/DateTimePicker/RepeatConfig.vala:171
msgid "Sa"
msgstr ""
@@ -822,18 +829,22 @@ msgid "Set a Due Date"
msgstr ""
#: core/Widgets/DateTimePicker/ScheduleButton.vala:238
+#: core/Widgets/DateTimePicker/RepeatConfig.vala:447
msgid "until"
msgstr ""
#: core/Widgets/DateTimePicker/ScheduleButton.vala:241
+#: core/Widgets/DateTimePicker/RepeatConfig.vala:451
msgid "for"
msgstr ""
#: core/Widgets/DateTimePicker/ScheduleButton.vala:241
+#: core/Widgets/DateTimePicker/RepeatConfig.vala:451
msgid "times"
msgstr ""
#: core/Widgets/DateTimePicker/ScheduleButton.vala:241
+#: core/Widgets/DateTimePicker/RepeatConfig.vala:451
msgid "time"
msgstr ""
@@ -847,6 +858,7 @@ msgstr ""
#: core/Widgets/DateTimePicker/DateTimePicker.vala:122
#: core/Widgets/DateTimePicker/DateTimePicker.vala:365
+#: core/Widgets/DateTimePicker/RepeatConfig.vala:90
msgid "Repeat"
msgstr ""
@@ -857,6 +869,7 @@ msgstr ""
#: core/Widgets/DateTimePicker/DateTimePicker.vala:152
#: src/Widgets/MultiSelectToolbar.vala:80 src/Dialogs/DatePicker.vala:106
+#: core/Widgets/DateTimePicker/RepeatConfig.vala:258
msgid "Done"
msgstr ""
@@ -872,6 +885,7 @@ msgstr ""
#: core/Widgets/DateTimePicker/DateTimePicker.vala:272
#: core/Widgets/ReminderPicker/ReminderPicker.vala:144
#: src/Layouts/HeaderBar.vala:81 src/Dialogs/Preferences/SettingsHeader.vala:51
+#: core/Widgets/DateTimePicker/RepeatConfig.vala:99
msgid "Back"
msgstr ""
@@ -992,14 +1006,14 @@ msgid "Delete Label %s"
msgstr ""
#: core/Objects/Label.vala:207 core/Objects/Project.vala:803
-#: core/Objects/Section.vala:368 core/Objects/Source.vala:162
+#: core/Objects/Section.vala:368 core/Objects/Source.vala:163
#: src/Services/Backups.vala:414 src/Layouts/ItemSidebarView.vala:544
#: src/Layouts/SectionBoard.vala:537
msgid "This can not be undone"
msgstr ""
#: core/Objects/Label.vala:211 core/Objects/Project.vala:807
-#: core/Objects/Section.vala:372 core/Objects/Source.vala:166
+#: core/Objects/Section.vala:372 core/Objects/Source.vala:167
#: src/Services/Backups.vala:418 src/Layouts/ItemSidebarView.vala:548
#: src/Layouts/SectionBoard.vala:541 src/Widgets/MultiSelectToolbar.vala:220
#: src/Widgets/MultiSelectToolbar.vala:256 src/Widgets/AttachmentRow.vala:48
@@ -1043,7 +1057,7 @@ msgstr ""
msgid "Todoist"
msgstr ""
-#: core/Objects/Source.vala:161
+#: core/Objects/Source.vala:162
msgid "Delete Source?"
msgstr ""
@@ -1158,39 +1172,39 @@ msgstr ""
msgid "Open Quick Find"
msgstr ""
-#: src/MainWindow.vala:517 src/Dialogs/Preferences/PreferencesWindow.vala:53
+#: src/MainWindow.vala:516 src/Dialogs/Preferences/PreferencesWindow.vala:53
msgid "Preferences"
msgstr ""
-#: src/MainWindow.vala:520
+#: src/MainWindow.vala:519
msgid "Keyboard Shortcuts"
msgstr ""
-#: src/MainWindow.vala:523 src/Dialogs/WhatsNew.vala:150
+#: src/MainWindow.vala:522 src/Dialogs/WhatsNew.vala:150
msgid "What's New"
msgstr ""
-#: src/MainWindow.vala:526
+#: src/MainWindow.vala:525
msgid "About Planify"
msgstr ""
-#: src/MainWindow.vala:528 src/Dialogs/ManageProjects.vala:28
+#: src/MainWindow.vala:527 src/Dialogs/ManageProjects.vala:28
msgid "Archived Projects"
msgstr ""
-#: src/MainWindow.vala:587
+#: src/MainWindow.vala:586
msgid "Oops! Something happened"
msgstr ""
-#: src/MainWindow.vala:590
+#: src/MainWindow.vala:589
msgid "See More"
msgstr ""
-#: src/MainWindow.vala:626
+#: src/MainWindow.vala:625
msgid "Database Integrity Check Failed"
msgstr ""
-#: src/MainWindow.vala:627
+#: src/MainWindow.vala:626
msgid ""
"We've detected issues with the database structure that may prevent the "
"application from functioning properly. This may be due to missing tables or "
@@ -1200,7 +1214,7 @@ msgid ""
"you’ve created previously. Thank you for your patience"
msgstr ""
-#: src/MainWindow.vala:629
+#: src/MainWindow.vala:628
msgid "Reset Database"
msgstr ""
@@ -1444,17 +1458,6 @@ msgstr ""
msgid "No project available. Create one by clicking on the '+' button"
msgstr ""
-#: src/Widgets/SyncButton.vala:79
-msgid "Offline Mode Is On"
-msgstr ""
-
-#: src/Widgets/SyncButton.vala:79
-msgid ""
-"Looks like you'are not connected to the\n"
-"internet. Changes you make in offline\n"
-"mode will be synced when you reconnect"
-msgstr ""
-
#: src/Widgets/MultiSelectToolbar.vala:218
msgid "Mark as Completed"
msgstr ""
@@ -2634,3 +2637,63 @@ msgstr ""
msgctxt "shortcut window"
msgid "Open Pinboard"
msgstr ""
+
+#: src/Widgets/SyncButton.vala:86
+msgid "Failed to connect to server"
+msgstr ""
+
+#: src/Widgets/SyncButton.vala:86
+msgid ""
+"It looks like the server is unreachable,\n"
+"are you connected to the internet?\n"
+"Any changes you make while disconnected\n"
+"will be synchronized when you reconnect."
+msgstr ""
+
+#: core/Widgets/DateTimePicker/RepeatConfig.vala:124
+msgid "Minute(s)"
+msgstr ""
+
+#: core/Widgets/DateTimePicker/RepeatConfig.vala:124
+msgid "Hour(s)"
+msgstr ""
+
+#: core/Widgets/DateTimePicker/RepeatConfig.vala:124
+msgid "Day(s)"
+msgstr ""
+
+#: core/Widgets/DateTimePicker/RepeatConfig.vala:124
+msgid "Week(s)"
+msgstr ""
+
+#: core/Widgets/DateTimePicker/RepeatConfig.vala:124
+msgid "Month(s)"
+msgstr ""
+
+#: core/Widgets/DateTimePicker/RepeatConfig.vala:124
+msgid "Year(s)"
+msgstr ""
+
+#: core/Widgets/DateTimePicker/RepeatConfig.vala:203
+msgid "Never"
+msgstr ""
+
+#: core/Widgets/DateTimePicker/RepeatConfig.vala:207
+msgid "On Date"
+msgstr ""
+
+#: core/Widgets/DateTimePicker/RepeatConfig.vala:211
+msgid "After"
+msgstr ""
+
+#: core/Widgets/DateTimePicker/RepeatConfig.vala:270
+msgid "Summary"
+msgstr ""
+
+#: core/Widgets/DateTimePicker/RepeatConfig.vala:276
+msgid "Repeat every"
+msgstr ""
+
+#: core/Widgets/DateTimePicker/RepeatConfig.vala:283
+msgid "End"
+msgstr ""