feat: add housekeeping module for household staff management

* Adding flexible reminder options to birthdays

* Fix database migration merge conflict

* Truncate calendar popup descriptions

* Log app version on backend startup

* Add host-mounted data and backup folders

* feat: add housekeeping module

* fix: align housekeeping UI and add task creation

* refactor: rebuild housekeeping experience

* feat: support multiple housekeeping staff

* feat: integrate housekeeping visits with calendar

* feat: refine housekeeping visits and payments

* feat: add housekeeping staff visit logs

* feat: add housekeeping receipts and document folders

* feat: localize housekeeping folders and chores

* feat: refine housekeeping tabs and document folders

* fix: sync housekeeping tab active state

* feat: use configured app name in onboarding and manifest
This commit is contained in:
Rafael Foster
2026-05-08 15:14:51 -03:00
committed by GitHub
parent d19689a1ab
commit 22ec13e559
38 changed files with 7127 additions and 235 deletions
+250 -7
View File
@@ -54,7 +54,8 @@
"more": "المزيد",
"documents": "المستندات",
"kitchen": "المطبخ",
"search": "بحث"
"search": "بحث",
"housekeeping": "Housekeeping"
},
"dashboard": {
"title": "لوحة التحكم",
@@ -205,7 +206,18 @@
"kanbanArchived": "مؤرشف",
"reminderNeedsDueDate": "حدّد تاريخ استحقاق لتفعيل تذكيرات المهمة.",
"emptyAction": "إنشاء مهمة",
"navLabelOverdue": "المهام، {{count}} متأخرة"
"navLabelOverdue": "المهام، {{count}} متأخرة",
"bulkArchive": "Archive",
"bulkArchived": "Tasks archived.",
"bulkDelete": "Delete",
"bulkDeleteConfirm": "Delete {{count}} tasks permanently?",
"bulkDeleted": "Tasks deleted.",
"bulkMarkDone": "Mark done",
"bulkMarkOpen": "Mark open",
"bulkSelect": "Bulk select",
"bulkSelectedCount": "{{count}} selected",
"bulkStatusChanged": "Status changed.",
"selectTask": "Select task"
},
"shopping": {
"title": "التسوق",
@@ -479,7 +491,13 @@
"colorPurple": "بنفسجي",
"colorRed": "أحمر",
"colorSkyBlue": "أزرق سماوي",
"colorYellow": "أصفر"
"colorYellow": "أصفر",
"iconCleaning": "Cleaning",
"caldavTargetHint": "Choose a CalDAV calendar to sync this event.",
"caldavTargetLabel": "Sync to CalDAV",
"caldavTargetLocal": "Store locally only",
"attachmentDocumentName": "{{title}} - {{name}}",
"attachmentDocumentDescription": "مرفق تم رفعه لحدث التقويم \"{{title}}\"."
},
"notes": {
"title": "لوحة الملاحظات",
@@ -977,7 +995,72 @@
"addressbookEnabled": "Addressbook enabled",
"addressbookDisabled": "Addressbook disabled",
"addressbooksRefreshed": "Addressbooks refreshed",
"deleteCardDAVAccountConfirm": "Really delete CardDAV account? All synced contacts will remain but lose their CardDAV link."
"deleteCardDAVAccountConfirm": "Really delete CardDAV account? All synced contacts will remain but lose their CardDAV link.",
"sectionHousekeeping": "Housekeeping",
"housekeepingPaymentsTitle": "Payment tasks",
"housekeepingPaymentTasksLabel": "Create a payment task on each housekeeper check-in",
"housekeepingPaymentTasksHint": "When enabled, each check-in creates a task for paying the staff member. Completing that task marks the visit payment as paid.",
"housekeepingPaymentTasksSaved": "Housekeeping payment setting saved.",
"backupSchedulerDisabled": "Disabled",
"backupSchedulerEnabled": "Enabled",
"backupSchedulerHint": "Scheduled backups are created automatically and old backups are rotated.",
"backupSchedulerKeep": "Retention",
"backupSchedulerKeepCount": "{{count}} backups",
"backupSchedulerLastBackup": "Last backup",
"backupSchedulerLastFail": "{{date}} (failed)",
"backupSchedulerLastSuccess": "{{date}} (successful)",
"backupSchedulerNever": "No backup created yet",
"backupSchedulerSchedule": "Schedule",
"backupSchedulerStatus": "Status",
"backupSchedulerTitle": "Automatic Backups",
"backupSchedulerTrigger": "Create backup now",
"backupSchedulerTriggeredToast": "Backup created successfully.",
"backupSchedulerTriggering": "Creating backup...",
"breadcrumbLabel": "Pfad",
"caldavAccountAdded": "CalDAV account added successfully",
"caldavAccountDeleted": "CalDAV account removed",
"caldavAddAccount": "Add CalDAV Account",
"caldavCalendarsToggle": "Show/hide calendars",
"caldavConnectionFailed": "Connection to CalDAV server failed",
"caldavDescription": "Connect multiple CalDAV accounts (iCloud, Nextcloud, Radicale, Baikal, etc.) and choose which calendars to sync.",
"caldavEmptyState": "No CalDAV accounts connected yet. Add your first account to get started.",
"caldavNameLabel": "Account Name",
"caldavNamePlaceholder": "e.g. My Radicale, iCloud, Nextcloud",
"caldavPasswordHint": "For iCloud: Use app-specific password from appleid.apple.com",
"caldavPasswordLabel": "Password",
"caldavRefreshCalendars": "Refresh calendars",
"caldavSyncFailed": "CalDAV sync failed",
"caldavSyncSuccess": "CalDAV sync successful",
"caldavTitle": "CalDAV Calendars",
"caldavUrlHint": "The base URL of your CalDAV server",
"caldavUsernameLabel": "Username",
"calendarDisabled": "Calendar disabled",
"calendarEnabled": "Calendar enabled",
"calendarsRefreshed": "Calendars refreshed",
"deleteAccountConfirm": "Really delete CalDAV account? All synced calendars will be removed.",
"emptyStateAddFirst": "Füge dein erstes Konto hinzu",
"emptyStateNoAccounts": "Noch keine Konten verbunden",
"helpTooltipCalDAV": "CalDAV ermöglicht die Synchronisation von Kalendern mit iCloud, Nextcloud und anderen CalDAV-Servern.",
"helpTooltipCardDAV": "CardDAV ermöglicht die Synchronisation von Kontakten mit iCloud, Nextcloud und anderen CardDAV-Servern.",
"lastSync": "Last synced",
"modulesHint": "Disabled modules disappear from the navigation. Data is preserved and reappears once a module is re-enabled.",
"modulesSaved": "Module visibility saved.",
"modulesTitle": "Active modules",
"navigationLabel": "Einstellungsnavigation",
"sectionAdmin": "Administration",
"sectionCloudServices": "Cloud-Dienste",
"sectionModules": "Modules",
"sectionModulesNav": "Module",
"sectionOpenStandards": "CalDAV & CardDAV",
"sectionPersonal": "Persönlich",
"sectionSync": "Synchronisation",
"statusError": "Fehler",
"statusNeverSynced": "Noch nie synchronisiert",
"statusSynced": "Synchronisiert",
"statusSyncing": "Synchronisiert…",
"syncedAgo": "vor {{time}}",
"tabSyncCalendar": "Kalender",
"tabSyncContacts": "Kontakte"
},
"login": {
"tagline": "تخطيط عائلي. آمن. يحترم الخصوصية. مفتوح المصدر.",
@@ -1120,7 +1203,7 @@
"customWeeks": "Weeks"
},
"onboarding": {
"step1Title": "Welcome to Oikos",
"step1Title": "مرحبًا بك في {{name}}",
"step1Body": "Your personal family planner. Tasks, calendar, shopping and more all in one place.",
"step2Title": "التنقل والوحدات",
"step2Body": "في الأسفل يمكنك الوصول مباشرة إلى لوحة التحكم والتقويم. بزر ··· تفتح وحدات أخرى مثل المطبخ والملاحظات وجهات الاتصال.",
@@ -1203,7 +1286,18 @@
},
"dropzoneTitle": "أفلت الملف هنا أو انقر للاختيار",
"dropzoneHint": "اسحب ملفًا إلى هذه المنطقة أو استخدم محدد الملفات.",
"selectedFileLabel": "المحدد: {{name}}"
"selectedFileLabel": "المحدد: {{name}}",
"addFolderButton": "Add folder",
"allFolders": "All folders",
"folderLabel": "Folder",
"noFolder": "No folder",
"newFolderTitle": "New folder",
"folderNameLabel": "Folder name",
"createFolderAction": "Create folder",
"folderCreatedToast": "Folder created.",
"housekeepingFolder": "التنظيف المنزلي",
"calendarItemsFolder": "عناصر التقويم",
"folderBrowserTitle": "تصفح المجلدات"
},
"shortcuts": {
"goKitchen": "المطبخ",
@@ -1215,5 +1309,154 @@
"help": "اختصارات لوحة المفاتيح",
"new": "إنشاء إدخال جديد",
"search": "فتح البحث"
},
"housekeeping": {
"title": "Cleaner workspace",
"bottomNav": "Housekeeping navigation",
"home": "Home",
"tasks": "Tasks",
"report": "Report",
"notCheckedIn": "Not checked in",
"checkedInAt": "Checked in at",
"monthTotal": "Current month · {{count}} sessions",
"dailyRate": "Daily rate",
"extras": "Extras",
"checkIn": "Check in",
"checkOut": "Check out",
"quickSupply": "Missing product",
"supplyName": "Product name",
"supplyPlaceholder": "What is missing?",
"checkedInToast": "Check-in recorded.",
"checkedOutToast": "Check-out recorded.",
"supplyAddedToast": "Added to the shopping list.",
"overdue": "Overdue",
"dueToday": "Due today",
"ok": "OK",
"noTasks": "No housekeeping tasks yet.",
"everyDays": "Every {{days}} days",
"completeTask": "Complete {{name}}",
"taskDoneToast": "Task completed.",
"reportTitle": "Report a problem",
"problemDescription": "Problem description",
"problemPlaceholder": "Example: burnt-out light bulb",
"addPhoto": "Add photo",
"sendReport": "Send report",
"reportSentToast": "Problem reported.",
"recentReports": "Recent reports",
"addTask": "Add task",
"taskName": "Task",
"taskNamePlaceholder": "Example: Clean bathrooms",
"taskArea": "Area",
"taskAreaPlaceholder": "Example: Bathroom",
"taskFrequency": "Frequency",
"createTask": "Create task",
"taskCreatedToast": "Housekeeping task created.",
"dashboard": "Dashboard",
"reports": "Reports",
"visitsThisMonth": "Visits this month",
"lastVisit": "Last visit",
"pendingChores": "Pending chores",
"finishedChores": "Finished chores",
"payments": "Payments",
"pendingPayments": "Pending payments",
"monthlyPayments": "Monthly payments",
"noPaymentData": "No payment data yet.",
"noVisits": "No visits yet",
"noWorkerTitle": "No housekeeper profile",
"noWorkerHint": "Create the worker profile to define contacts, rate, and payment schedule.",
"taskTemplates": "Suggested chores",
"addCustomTask": "Add custom chore",
"noReports": "No reports yet.",
"profileTitle": "Housekeeper profile",
"profilePicture": "Housekeeper profile picture",
"workerName": "Name",
"workerUsername": "Username",
"workerPhone": "Phone",
"workerEmail": "Email",
"workerBirthDate": "Birthday",
"paymentSchedule": "Payment schedule",
"scheduleDaily": "Every visit",
"scheduleTwiceMonthly": "Twice a month",
"scheduleMonthly": "Monthly",
"profileColor": "Profile color",
"workerNotes": "Notes",
"workerSavedToast": "Housekeeper profile saved.",
"staff": "Staff",
"staffTitle": "Housekeeping staff",
"addWorker": "Add housekeeper",
"editWorker": "Edit housekeeper",
"noWorkers": "No housekeepers registered yet.",
"moreWorkers": "+{{count}} more",
"checkInDisabled": "Add a housekeeper before checking in.",
"calendarColor": "Calendar color",
"visitRecordedAt": "Visit recorded at",
"checkedInToday": "Recorded today",
"visitReports": "Staff visit reports",
"noVisitReports": "No staff visits recorded this month.",
"openVisitReport": "Open visit report",
"visitReportDetails": "Visit report",
"paymentPaid": "Paid",
"paymentPending": "Pending",
"totalPayment": "Total payment",
"paymentStatus": "Payment status",
"paymentTask": "Payment task",
"calendarEvent": "Calendar event",
"notAvailable": "Not available",
"calendarVisitTitle": "Housekeeping: {{name}}",
"paymentTaskTitle": "Pay {{name}} for housekeeping",
"paymentTaskDescription": "Housekeeping visit on {{date}}. Amount due: {{amount}}.",
"staffLogTitle": "{{name}} visits",
"staffLogHint": "Edit visit dates, amounts, and linked records.",
"filterMonth": "Month",
"editVisit": "Edit visit",
"deleteVisit": "Delete visit",
"deleteVisitConfirm": "Delete this visit? The linked calendar event and payment task will also be removed.",
"visitDeletedToast": "Visit deleted.",
"visitSavedToast": "Visit updated.",
"visitDate": "Visit date",
"markPaid": "Mark paid",
"visitPaidToast": "Payment marked as paid.",
"receiptUploadTitle": "Upload payment receipt",
"receiptUploadHint": "Attach a payment receipt. It will appear in Documents.",
"receiptDocumentName": "Receipt - {{name}} - {{date}}",
"receiptDocumentDescription": "Payment receipt for {{name}} housekeeping visit on {{date}}.",
"taskTemplateData": {
"cleanBathrooms": {
"name": "تنظيف الحمامات",
"area": "الحمامات"
},
"mopKitchenFloor": {
"name": "مسح أرضية المطبخ",
"area": "المطبخ"
},
"dustLivingRoom": {
"name": "إزالة الغبار من غرفة المعيشة",
"area": "غرفة المعيشة"
},
"changeBedLinens": {
"name": "تغيير مفروشات السرير",
"area": "غرف النوم"
},
"cleanRefrigerator": {
"name": "تنظيف الثلاجة",
"area": "المطبخ"
},
"cleanWindows": {
"name": "تنظيف النوافذ",
"area": "المنزل كله"
},
"deepCleanOven": {
"name": "تنظيف الفرن بعمق",
"area": "المطبخ"
},
"washOutdoor": {
"name": "غسل الشرفة/الفناء",
"area": "الخارج"
}
}
},
"userMultiSelect": {
"moreUsers": "weitere",
"nobody": "- Niemand -"
}
}
}
+172 -11
View File
@@ -54,7 +54,8 @@
"recipes": "Rezepte",
"documents": "Dokumente",
"kitchen": "Küche",
"search": "Suche"
"search": "Suche",
"housekeeping": "Hauspflege"
},
"search": {
"title": "Suche",
@@ -499,7 +500,10 @@
"attachmentHint": "Lokales Bild, PDF oder Dokument anhängen. Bilder werden im Ereignis-Popup angezeigt.",
"attachmentFallback": "Anhang",
"attachmentReadError": "Der Anhang konnte nicht gelesen werden.",
"attachmentTooLarge": "Der Anhang darf höchstens 5 MB groß sein."
"attachmentTooLarge": "Der Anhang darf höchstens 5 MB groß sein.",
"iconCleaning": "Reinigung",
"attachmentDocumentName": "{{title}} - {{name}}",
"attachmentDocumentDescription": "Anhang für Kalendereintrag \"{{title}}\" hochgeladen."
},
"notes": {
"title": "Notizen",
@@ -779,7 +783,7 @@
"tabFamily": "Familie",
"tabApiTokens": "API-Tokens",
"tabAccount": "Konto",
"tabBackup": "Backup",
"tabBackup": "Backup-Verwaltung",
"tabsAriaLabel": "Einstellungsbereiche",
"sectionDesign": "Design",
"sectionAppName": "Anwendungsname",
@@ -845,7 +849,7 @@
"disconnectedToast": "{{provider}} getrennt.",
"googleOnlyAdmin": "Nur Admin kann Google Calendar verbinden.",
"appleOnlyAdmin": "Nur Admin kann Apple Calendar verbinden.",
"caldavUrlLabel": "CalDAV-Server-URL",
"caldavUrlLabel": "CalDAV Server-URL",
"caldavUrlPlaceholder": "https://caldav.icloud.com",
"appleIdLabel": "Apple-ID (E-Mail)",
"applePasswordLabel": "App-spezifisches Passwort",
@@ -975,7 +979,6 @@
"memberBirthDateInvalid": "Bitte ein gültiges Geburtstagsdatum im ausgewählten Format verwenden.",
"memberPhoneMeta": "Telefon: {{value}}",
"memberBirthdayMeta": "Geburtstag: {{date}}",
"tabBackup": "Backup-Verwaltung",
"sectionBackup": "Backup-Verwaltung",
"backupDownloadTitle": "Datenbank-Backup herunterladen",
"backupDownloadHint": "Erstellt ein konsistentes SQLite-Backup aller Anwendungsdaten.",
@@ -1012,8 +1015,6 @@
"caldavEmptyState": "Noch keine CalDAV-Konten verbunden. Füge dein erstes Konto hinzu, um zu starten.",
"caldavNameLabel": "Kontoname",
"caldavNamePlaceholder": "z.B. Mein Radicale, iCloud, Nextcloud",
"caldavUrlLabel": "CalDAV Server-URL",
"caldavUrlPlaceholder": "https://caldav.icloud.com",
"caldavUrlHint": "Die Basis-URL deines CalDAV-Servers",
"caldavUsernameLabel": "Benutzername",
"caldavPasswordLabel": "Passwort",
@@ -1030,7 +1031,6 @@
"calendarsRefreshed": "Kalender aktualisiert",
"deleteAccountConfirm": "CalDAV-Konto wirklich löschen? Alle synchronisierten Kalender werden entfernt.",
"lastSync": "Zuletzt synchronisiert",
"cardavTitle": "CardDAV Kontakte",
"cardavDescription": "Verbinde mehrere CardDAV-Konten (iCloud, Nextcloud, Radicale, etc.) und synchronisiere deine Kontakte.",
"cardavAddAccount": "CardDAV-Konto hinzufügen",
"cardavEmptyState": "Noch keine CardDAV-Konten verbunden. Füge dein erstes Konto hinzu, um Kontakte zu synchronisieren.",
@@ -1061,7 +1061,12 @@
"helpTooltipCalDAV": "CalDAV ermöglicht die Synchronisation von Kalendern mit iCloud, Nextcloud und anderen CalDAV-Servern.",
"helpTooltipCardDAV": "CardDAV ermöglicht die Synchronisation von Kontakten mit iCloud, Nextcloud und anderen CardDAV-Servern.",
"emptyStateAddFirst": "Füge dein erstes Konto hinzu",
"emptyStateNoAccounts": "Noch keine Konten verbunden"
"emptyStateNoAccounts": "Noch keine Konten verbunden",
"sectionHousekeeping": "Housekeeping",
"housekeepingPaymentsTitle": "Payment tasks",
"housekeepingPaymentTasksLabel": "Create a payment task on each housekeeper check-in",
"housekeepingPaymentTasksHint": "When enabled, each check-in creates a task for paying the staff member. Completing that task marks the visit payment as paid.",
"housekeepingPaymentTasksSaved": "Housekeeping payment setting saved."
},
"login": {
"tagline": "Familienplanung. Sicher. Datenschutzfreundlich. Open Source.",
@@ -1198,7 +1203,7 @@
"copySuffix": "Kopie"
},
"onboarding": {
"step1Title": "Willkommen bei Oikos",
"step1Title": "Willkommen bei {{name}}",
"step1Body": "Dein persönlicher Familienplaner. Aufgaben, Kalender, Einkauf und mehr alles an einem Ort.",
"step2Title": "Navigation & Module",
"step2Body": "Unten erreichst du Dashboard und Kalender direkt. Mit dem ···-Button öffnest du weitere Module wie Küche, Notizen und Kontakte.",
@@ -1292,10 +1297,166 @@
},
"dropzoneTitle": "Datei hier ablegen oder klicken",
"dropzoneHint": "Ziehe eine Datei in diesen Bereich oder nutze die Dateiauswahl.",
"selectedFileLabel": "Ausgewählt: {{name}}"
"selectedFileLabel": "Ausgewählt: {{name}}",
"addFolderButton": "Add folder",
"allFolders": "All folders",
"folderLabel": "Folder",
"noFolder": "No folder",
"newFolderTitle": "New folder",
"folderNameLabel": "Folder name",
"createFolderAction": "Create folder",
"folderCreatedToast": "Folder created.",
"housekeepingFolder": "Hausreinigung",
"calendarItemsFolder": "Kalendereinträge",
"folderBrowserTitle": "Ordner durchsuchen"
},
"userMultiSelect": {
"nobody": "- Niemand -",
"moreUsers": "weitere"
},
"housekeeping": {
"title": "Reinigungsbereich",
"bottomNav": "Hauspflege-Navigation",
"home": "Start",
"tasks": "Aufgaben",
"report": "Melden",
"notCheckedIn": "Nicht eingecheckt",
"checkedInAt": "Eingecheckt um",
"monthTotal": "Aktueller Monat · {{count}} Einsätze",
"dailyRate": "Tagessatz",
"extras": "Extras",
"checkIn": "Einchecken",
"checkOut": "Auschecken",
"quickSupply": "Produkt fehlt",
"supplyName": "Produktname",
"supplyPlaceholder": "Was fehlt?",
"checkedInToast": "Check-in gespeichert.",
"checkedOutToast": "Check-out gespeichert.",
"supplyAddedToast": "Zur Einkaufsliste hinzugefügt.",
"overdue": "Überfällig",
"dueToday": "Heute fällig",
"ok": "OK",
"noTasks": "Noch keine Hauspflege-Aufgaben.",
"everyDays": "Alle {{days}} Tage",
"completeTask": "{{name}} erledigen",
"taskDoneToast": "Aufgabe erledigt.",
"reportTitle": "Problem melden",
"problemDescription": "Problembeschreibung",
"problemPlaceholder": "Beispiel: Glühbirne defekt",
"addPhoto": "Foto hinzufügen",
"sendReport": "Meldung senden",
"reportSentToast": "Problem gemeldet.",
"recentReports": "Letzte Meldungen",
"addTask": "Aufgabe hinzufügen",
"taskName": "Aufgabe",
"taskNamePlaceholder": "Beispiel: Badezimmer reinigen",
"taskArea": "Bereich",
"taskAreaPlaceholder": "Beispiel: Bad",
"taskFrequency": "Häufigkeit",
"createTask": "Aufgabe erstellen",
"taskCreatedToast": "Hauspflege-Aufgabe erstellt.",
"dashboard": "Dashboard",
"reports": "Reports",
"visitsThisMonth": "Besuche im Monat",
"lastVisit": "Letzter Besuch",
"pendingChores": "Offene Aufgaben",
"finishedChores": "Erledigte Aufgaben",
"payments": "Zahlungen",
"pendingPayments": "Offene Zahlungen",
"monthlyPayments": "Monatliche Zahlungen",
"noPaymentData": "Noch keine Zahlungsdaten.",
"noVisits": "Noch keine Besuche",
"noWorkerTitle": "Kein Hauspflege-Profil",
"noWorkerHint": "Profil anlegen, um Kontakte, Tagessatz und Zahlungsrhythmus festzulegen.",
"taskTemplates": "Vorgeschlagene Aufgaben",
"addCustomTask": "Eigene Aufgabe hinzufügen",
"noReports": "Noch keine Meldungen.",
"profileTitle": "Hauspflege-Profil",
"profilePicture": "Profilbild",
"workerName": "Name",
"workerUsername": "Benutzername",
"workerPhone": "Telefon",
"workerEmail": "E-Mail",
"workerBirthDate": "Geburtstag",
"paymentSchedule": "Zahlungsrhythmus",
"scheduleDaily": "Pro Besuch",
"scheduleTwiceMonthly": "Zweimal monatlich",
"scheduleMonthly": "Monatlich",
"profileColor": "Profilfarbe",
"workerNotes": "Notizen",
"workerSavedToast": "Hauspflege-Profil gespeichert.",
"staff": "Personal",
"staffTitle": "Hauspflege-Personal",
"addWorker": "Hauspflege hinzufügen",
"editWorker": "Hauspflege bearbeiten",
"noWorkers": "Noch keine Hauspflege-Person registriert.",
"moreWorkers": "+{{count}} weitere",
"checkInDisabled": "Lege zuerst eine Hauspflege-Person an.",
"calendarColor": "Kalenderfarbe",
"visitRecordedAt": "Visit recorded at",
"checkedInToday": "Recorded today",
"visitReports": "Staff visit reports",
"noVisitReports": "No staff visits recorded this month.",
"openVisitReport": "Open visit report",
"visitReportDetails": "Visit report",
"paymentPaid": "Paid",
"paymentPending": "Pending",
"totalPayment": "Total payment",
"paymentStatus": "Payment status",
"paymentTask": "Payment task",
"calendarEvent": "Calendar event",
"notAvailable": "Not available",
"calendarVisitTitle": "Housekeeping: {{name}}",
"paymentTaskTitle": "Pay {{name}} for housekeeping",
"paymentTaskDescription": "Housekeeping visit on {{date}}. Amount due: {{amount}}.",
"staffLogTitle": "{{name}} visits",
"staffLogHint": "Edit visit dates, amounts, and linked records.",
"filterMonth": "Month",
"editVisit": "Edit visit",
"deleteVisit": "Delete visit",
"deleteVisitConfirm": "Delete this visit? The linked calendar event and payment task will also be removed.",
"visitDeletedToast": "Visit deleted.",
"visitSavedToast": "Visit updated.",
"visitDate": "Visit date",
"markPaid": "Mark paid",
"visitPaidToast": "Payment marked as paid.",
"receiptUploadTitle": "Upload payment receipt",
"receiptUploadHint": "Attach a payment receipt. It will appear in Documents.",
"receiptDocumentName": "Receipt - {{name}} - {{date}}",
"receiptDocumentDescription": "Payment receipt for {{name}} housekeeping visit on {{date}}.",
"taskTemplateData": {
"cleanBathrooms": {
"name": "Bäder reinigen",
"area": "Bäder"
},
"mopKitchenFloor": {
"name": "Küchenboden wischen",
"area": "Küche"
},
"dustLivingRoom": {
"name": "Wohnzimmer abstauben",
"area": "Wohnzimmer"
},
"changeBedLinens": {
"name": "Bettwäsche wechseln",
"area": "Schlafzimmer"
},
"cleanRefrigerator": {
"name": "Kühlschrank reinigen",
"area": "Küche"
},
"cleanWindows": {
"name": "Fenster putzen",
"area": "Ganzes Haus"
},
"deepCleanOven": {
"name": "Backofen gründlich reinigen",
"area": "Küche"
},
"washOutdoor": {
"name": "Balkon/Terrasse waschen",
"area": "Außenbereich"
}
}
}
}
+250 -7
View File
@@ -54,7 +54,8 @@
"more": "Περισσότερα",
"documents": "Έγγραφα",
"kitchen": "Κουζίνα",
"search": "Αναζήτηση"
"search": "Αναζήτηση",
"housekeeping": "Housekeeping"
},
"dashboard": {
"title": "Επισκόπηση",
@@ -205,7 +206,18 @@
"kanbanArchived": "Αρχειοθετημένο",
"reminderNeedsDueDate": "Ορίστε ημερομηνία λήξης για να ενεργοποιήσετε τις υπενθυμίσεις.",
"emptyAction": "Δημιουργία εργασίας",
"navLabelOverdue": "Εργασίες, {{count}} εκπρόθεσμες"
"navLabelOverdue": "Εργασίες, {{count}} εκπρόθεσμες",
"bulkArchive": "Archive",
"bulkArchived": "Tasks archived.",
"bulkDelete": "Delete",
"bulkDeleteConfirm": "Delete {{count}} tasks permanently?",
"bulkDeleted": "Tasks deleted.",
"bulkMarkDone": "Mark done",
"bulkMarkOpen": "Mark open",
"bulkSelect": "Bulk select",
"bulkSelectedCount": "{{count}} selected",
"bulkStatusChanged": "Status changed.",
"selectTask": "Select task"
},
"shopping": {
"title": "Αγορές",
@@ -479,7 +491,13 @@
"colorPurple": "Μοβ",
"colorRed": "Κόκκινο",
"colorSkyBlue": "Γαλάζιο",
"colorYellow": "Κίτρινο"
"colorYellow": "Κίτρινο",
"iconCleaning": "Cleaning",
"caldavTargetHint": "Choose a CalDAV calendar to sync this event.",
"caldavTargetLabel": "Sync to CalDAV",
"caldavTargetLocal": "Store locally only",
"attachmentDocumentName": "{{title}} - {{name}}",
"attachmentDocumentDescription": "Συνημμένο που ανέβηκε για το συμβάν ημερολογίου \"{{title}}\"."
},
"notes": {
"title": "Σημειώσεις",
@@ -977,7 +995,72 @@
"addressbookEnabled": "Addressbook enabled",
"addressbookDisabled": "Addressbook disabled",
"addressbooksRefreshed": "Addressbooks refreshed",
"deleteCardDAVAccountConfirm": "Really delete CardDAV account? All synced contacts will remain but lose their CardDAV link."
"deleteCardDAVAccountConfirm": "Really delete CardDAV account? All synced contacts will remain but lose their CardDAV link.",
"sectionHousekeeping": "Housekeeping",
"housekeepingPaymentsTitle": "Payment tasks",
"housekeepingPaymentTasksLabel": "Create a payment task on each housekeeper check-in",
"housekeepingPaymentTasksHint": "When enabled, each check-in creates a task for paying the staff member. Completing that task marks the visit payment as paid.",
"housekeepingPaymentTasksSaved": "Housekeeping payment setting saved.",
"backupSchedulerDisabled": "Disabled",
"backupSchedulerEnabled": "Enabled",
"backupSchedulerHint": "Scheduled backups are created automatically and old backups are rotated.",
"backupSchedulerKeep": "Retention",
"backupSchedulerKeepCount": "{{count}} backups",
"backupSchedulerLastBackup": "Last backup",
"backupSchedulerLastFail": "{{date}} (failed)",
"backupSchedulerLastSuccess": "{{date}} (successful)",
"backupSchedulerNever": "No backup created yet",
"backupSchedulerSchedule": "Schedule",
"backupSchedulerStatus": "Status",
"backupSchedulerTitle": "Automatic Backups",
"backupSchedulerTrigger": "Create backup now",
"backupSchedulerTriggeredToast": "Backup created successfully.",
"backupSchedulerTriggering": "Creating backup...",
"breadcrumbLabel": "Pfad",
"caldavAccountAdded": "CalDAV account added successfully",
"caldavAccountDeleted": "CalDAV account removed",
"caldavAddAccount": "Add CalDAV Account",
"caldavCalendarsToggle": "Show/hide calendars",
"caldavConnectionFailed": "Connection to CalDAV server failed",
"caldavDescription": "Connect multiple CalDAV accounts (iCloud, Nextcloud, Radicale, Baikal, etc.) and choose which calendars to sync.",
"caldavEmptyState": "No CalDAV accounts connected yet. Add your first account to get started.",
"caldavNameLabel": "Account Name",
"caldavNamePlaceholder": "e.g. My Radicale, iCloud, Nextcloud",
"caldavPasswordHint": "For iCloud: Use app-specific password from appleid.apple.com",
"caldavPasswordLabel": "Password",
"caldavRefreshCalendars": "Refresh calendars",
"caldavSyncFailed": "CalDAV sync failed",
"caldavSyncSuccess": "CalDAV sync successful",
"caldavTitle": "CalDAV Calendars",
"caldavUrlHint": "The base URL of your CalDAV server",
"caldavUsernameLabel": "Username",
"calendarDisabled": "Calendar disabled",
"calendarEnabled": "Calendar enabled",
"calendarsRefreshed": "Calendars refreshed",
"deleteAccountConfirm": "Really delete CalDAV account? All synced calendars will be removed.",
"emptyStateAddFirst": "Füge dein erstes Konto hinzu",
"emptyStateNoAccounts": "Noch keine Konten verbunden",
"helpTooltipCalDAV": "CalDAV ermöglicht die Synchronisation von Kalendern mit iCloud, Nextcloud und anderen CalDAV-Servern.",
"helpTooltipCardDAV": "CardDAV ermöglicht die Synchronisation von Kontakten mit iCloud, Nextcloud und anderen CardDAV-Servern.",
"lastSync": "Last synced",
"modulesHint": "Disabled modules disappear from the navigation. Data is preserved and reappears once a module is re-enabled.",
"modulesSaved": "Module visibility saved.",
"modulesTitle": "Active modules",
"navigationLabel": "Einstellungsnavigation",
"sectionAdmin": "Administration",
"sectionCloudServices": "Cloud-Dienste",
"sectionModules": "Modules",
"sectionModulesNav": "Module",
"sectionOpenStandards": "CalDAV & CardDAV",
"sectionPersonal": "Persönlich",
"sectionSync": "Synchronisation",
"statusError": "Fehler",
"statusNeverSynced": "Noch nie synchronisiert",
"statusSynced": "Synchronisiert",
"statusSyncing": "Synchronisiert…",
"syncedAgo": "vor {{time}}",
"tabSyncCalendar": "Kalender",
"tabSyncContacts": "Kontakte"
},
"login": {
"tagline": "Οικογενειακός προγραμματισμός. Ασφαλής. Φιλικός προς την ιδιωτικότητα. Ανοιχτός κώδικας.",
@@ -1120,7 +1203,7 @@
"customWeeks": "Weeks"
},
"onboarding": {
"step1Title": "Welcome to Oikos",
"step1Title": "Καλώς ήρθατε στο {{name}}",
"step1Body": "Your personal family planner. Tasks, calendar, shopping and more all in one place.",
"step2Title": "Πλοήγηση & Ενότητες",
"step2Body": "Στο κάτω μέρος έχεις άμεση πρόσβαση στον Πίνακα ελέγχου και το Ημερολόγιο. Με το κουμπί ··· ανοίγεις άλλες ενότητες όπως Κουζίνα, Σημειώσεις και Επαφές.",
@@ -1203,7 +1286,18 @@
},
"dropzoneTitle": "Αφήστε το αρχείο εδώ ή κάντε κλικ για επιλογή",
"dropzoneHint": "Σύρετε ένα αρχείο σε αυτήν την περιοχή ή χρησιμοποιήστε τον επιλογέα αρχείων.",
"selectedFileLabel": "Επιλέχθηκε: {{name}}"
"selectedFileLabel": "Επιλέχθηκε: {{name}}",
"addFolderButton": "Add folder",
"allFolders": "All folders",
"folderLabel": "Folder",
"noFolder": "No folder",
"newFolderTitle": "New folder",
"folderNameLabel": "Folder name",
"createFolderAction": "Create folder",
"folderCreatedToast": "Folder created.",
"housekeepingFolder": "Καθαριότητα",
"calendarItemsFolder": "Στοιχεία ημερολογίου",
"folderBrowserTitle": "Περιήγηση φακέλων"
},
"shortcuts": {
"goKitchen": "Κουζίνα",
@@ -1215,5 +1309,154 @@
"help": "Συντομεύσεις πληκτρολογίου",
"new": "Δημιουργία νέας εγγραφής",
"search": "Άνοιγμα αναζήτησης"
},
"housekeeping": {
"title": "Cleaner workspace",
"bottomNav": "Housekeeping navigation",
"home": "Home",
"tasks": "Tasks",
"report": "Report",
"notCheckedIn": "Not checked in",
"checkedInAt": "Checked in at",
"monthTotal": "Current month · {{count}} sessions",
"dailyRate": "Daily rate",
"extras": "Extras",
"checkIn": "Check in",
"checkOut": "Check out",
"quickSupply": "Missing product",
"supplyName": "Product name",
"supplyPlaceholder": "What is missing?",
"checkedInToast": "Check-in recorded.",
"checkedOutToast": "Check-out recorded.",
"supplyAddedToast": "Added to the shopping list.",
"overdue": "Overdue",
"dueToday": "Due today",
"ok": "OK",
"noTasks": "No housekeeping tasks yet.",
"everyDays": "Every {{days}} days",
"completeTask": "Complete {{name}}",
"taskDoneToast": "Task completed.",
"reportTitle": "Report a problem",
"problemDescription": "Problem description",
"problemPlaceholder": "Example: burnt-out light bulb",
"addPhoto": "Add photo",
"sendReport": "Send report",
"reportSentToast": "Problem reported.",
"recentReports": "Recent reports",
"addTask": "Add task",
"taskName": "Task",
"taskNamePlaceholder": "Example: Clean bathrooms",
"taskArea": "Area",
"taskAreaPlaceholder": "Example: Bathroom",
"taskFrequency": "Frequency",
"createTask": "Create task",
"taskCreatedToast": "Housekeeping task created.",
"dashboard": "Dashboard",
"reports": "Reports",
"visitsThisMonth": "Visits this month",
"lastVisit": "Last visit",
"pendingChores": "Pending chores",
"finishedChores": "Finished chores",
"payments": "Payments",
"pendingPayments": "Pending payments",
"monthlyPayments": "Monthly payments",
"noPaymentData": "No payment data yet.",
"noVisits": "No visits yet",
"noWorkerTitle": "No housekeeper profile",
"noWorkerHint": "Create the worker profile to define contacts, rate, and payment schedule.",
"taskTemplates": "Suggested chores",
"addCustomTask": "Add custom chore",
"noReports": "No reports yet.",
"profileTitle": "Housekeeper profile",
"profilePicture": "Housekeeper profile picture",
"workerName": "Name",
"workerUsername": "Username",
"workerPhone": "Phone",
"workerEmail": "Email",
"workerBirthDate": "Birthday",
"paymentSchedule": "Payment schedule",
"scheduleDaily": "Every visit",
"scheduleTwiceMonthly": "Twice a month",
"scheduleMonthly": "Monthly",
"profileColor": "Profile color",
"workerNotes": "Notes",
"workerSavedToast": "Housekeeper profile saved.",
"staff": "Staff",
"staffTitle": "Housekeeping staff",
"addWorker": "Add housekeeper",
"editWorker": "Edit housekeeper",
"noWorkers": "No housekeepers registered yet.",
"moreWorkers": "+{{count}} more",
"checkInDisabled": "Add a housekeeper before checking in.",
"calendarColor": "Calendar color",
"visitRecordedAt": "Visit recorded at",
"checkedInToday": "Recorded today",
"visitReports": "Staff visit reports",
"noVisitReports": "No staff visits recorded this month.",
"openVisitReport": "Open visit report",
"visitReportDetails": "Visit report",
"paymentPaid": "Paid",
"paymentPending": "Pending",
"totalPayment": "Total payment",
"paymentStatus": "Payment status",
"paymentTask": "Payment task",
"calendarEvent": "Calendar event",
"notAvailable": "Not available",
"calendarVisitTitle": "Housekeeping: {{name}}",
"paymentTaskTitle": "Pay {{name}} for housekeeping",
"paymentTaskDescription": "Housekeeping visit on {{date}}. Amount due: {{amount}}.",
"staffLogTitle": "{{name}} visits",
"staffLogHint": "Edit visit dates, amounts, and linked records.",
"filterMonth": "Month",
"editVisit": "Edit visit",
"deleteVisit": "Delete visit",
"deleteVisitConfirm": "Delete this visit? The linked calendar event and payment task will also be removed.",
"visitDeletedToast": "Visit deleted.",
"visitSavedToast": "Visit updated.",
"visitDate": "Visit date",
"markPaid": "Mark paid",
"visitPaidToast": "Payment marked as paid.",
"receiptUploadTitle": "Upload payment receipt",
"receiptUploadHint": "Attach a payment receipt. It will appear in Documents.",
"receiptDocumentName": "Receipt - {{name}} - {{date}}",
"receiptDocumentDescription": "Payment receipt for {{name}} housekeeping visit on {{date}}.",
"taskTemplateData": {
"cleanBathrooms": {
"name": "Καθαρισμός μπάνιων",
"area": "Μπάνια"
},
"mopKitchenFloor": {
"name": "Σφουγγάρισμα δαπέδου κουζίνας",
"area": "Κουζίνα"
},
"dustLivingRoom": {
"name": "Ξεσκόνισμα σαλονιού",
"area": "Σαλόνι"
},
"changeBedLinens": {
"name": "Αλλαγή σεντονιών",
"area": "Υπνοδωμάτια"
},
"cleanRefrigerator": {
"name": "Καθαρισμός ψυγείου",
"area": "Κουζίνα"
},
"cleanWindows": {
"name": "Καθαρισμός παραθύρων",
"area": "Όλο το σπίτι"
},
"deepCleanOven": {
"name": "Βαθύς καθαρισμός φούρνου",
"area": "Κουζίνα"
},
"washOutdoor": {
"name": "Πλύσιμο μπαλκονιού/αυλής",
"area": "Εξωτερικός χώρος"
}
}
},
"userMultiSelect": {
"moreUsers": "weitere",
"nobody": "- Niemand -"
}
}
}
+193 -7
View File
@@ -54,7 +54,8 @@
"more": "More",
"documents": "Documents",
"kitchen": "Kitchen",
"search": "Search"
"search": "Search",
"housekeeping": "Housekeeping"
},
"dashboard": {
"title": "Overview",
@@ -493,7 +494,10 @@
"colorPurple": "Purple",
"colorRed": "Red",
"colorSkyBlue": "Sky Blue",
"colorYellow": "Yellow"
"colorYellow": "Yellow",
"iconCleaning": "Cleaning",
"attachmentDocumentName": "{{title}} - {{name}}",
"attachmentDocumentDescription": "Attachment uploaded for calendar event \"{{title}}\"."
},
"notes": {
"title": "Board",
@@ -994,8 +998,6 @@
"caldavEmptyState": "No CalDAV accounts connected yet. Add your first account to get started.",
"caldavNameLabel": "Account Name",
"caldavNamePlaceholder": "e.g. My Radicale, iCloud, Nextcloud",
"caldavUrlLabel": "CalDAV Server URL",
"caldavUrlPlaceholder": "https://caldav.icloud.com",
"caldavUrlHint": "The base URL of your CalDAV server",
"caldavUsernameLabel": "Username",
"caldavPasswordLabel": "Password",
@@ -1034,7 +1036,31 @@
"addressbookEnabled": "Addressbook enabled",
"addressbookDisabled": "Addressbook disabled",
"addressbooksRefreshed": "Addressbooks refreshed",
"deleteCardDAVAccountConfirm": "Really delete CardDAV account? All synced contacts will remain but lose their CardDAV link."
"deleteCardDAVAccountConfirm": "Really delete CardDAV account? All synced contacts will remain but lose their CardDAV link.",
"sectionHousekeeping": "Housekeeping",
"housekeepingPaymentsTitle": "Payment tasks",
"housekeepingPaymentTasksLabel": "Create a payment task on each housekeeper check-in",
"housekeepingPaymentTasksHint": "When enabled, each check-in creates a task for paying the staff member. Completing that task marks the visit payment as paid.",
"housekeepingPaymentTasksSaved": "Housekeeping payment setting saved.",
"breadcrumbLabel": "Pfad",
"emptyStateAddFirst": "Füge dein erstes Konto hinzu",
"emptyStateNoAccounts": "Noch keine Konten verbunden",
"helpTooltipCalDAV": "CalDAV ermöglicht die Synchronisation von Kalendern mit iCloud, Nextcloud und anderen CalDAV-Servern.",
"helpTooltipCardDAV": "CardDAV ermöglicht die Synchronisation von Kontakten mit iCloud, Nextcloud und anderen CardDAV-Servern.",
"navigationLabel": "Einstellungsnavigation",
"sectionAdmin": "Administration",
"sectionCloudServices": "Cloud-Dienste",
"sectionModulesNav": "Module",
"sectionOpenStandards": "CalDAV & CardDAV",
"sectionPersonal": "Persönlich",
"sectionSync": "Synchronisation",
"statusError": "Fehler",
"statusNeverSynced": "Noch nie synchronisiert",
"statusSynced": "Synchronisiert",
"statusSyncing": "Synchronisiert…",
"syncedAgo": "vor {{time}}",
"tabSyncCalendar": "Kalender",
"tabSyncContacts": "Kontakte"
},
"login": {
"tagline": "Family planning. Secure. Privacy-friendly. Open source.",
@@ -1177,7 +1203,7 @@
"noResults": "No results found."
},
"onboarding": {
"step1Title": "Welcome to Oikos",
"step1Title": "Welcome to {{name}}",
"step1Body": "Your personal family planner. Tasks, calendar, shopping and more all in one place.",
"step2Title": "Navigation & Modules",
"step2Body": "At the bottom you can directly access Dashboard and Calendar. The ··· button opens additional modules like Kitchen, Notes and Contacts.",
@@ -1271,6 +1297,166 @@
},
"dropzoneTitle": "Drop file here or click to choose",
"dropzoneHint": "Drag a file into this area, or use the file picker.",
"selectedFileLabel": "Selected: {{name}}"
"selectedFileLabel": "Selected: {{name}}",
"addFolderButton": "Add folder",
"allFolders": "All folders",
"folderLabel": "Folder",
"noFolder": "No folder",
"newFolderTitle": "New folder",
"folderNameLabel": "Folder name",
"createFolderAction": "Create folder",
"folderCreatedToast": "Folder created.",
"housekeepingFolder": "HouseKeeping",
"calendarItemsFolder": "Calendar items",
"folderBrowserTitle": "Browse folders"
},
"housekeeping": {
"title": "Cleaner workspace",
"bottomNav": "Housekeeping navigation",
"home": "Home",
"tasks": "Tasks",
"report": "Report",
"notCheckedIn": "Not checked in",
"checkedInAt": "Checked in at",
"monthTotal": "Current month · {{count}} sessions",
"dailyRate": "Daily rate",
"extras": "Extras",
"checkIn": "Check in",
"checkOut": "Check out",
"quickSupply": "Missing product",
"supplyName": "Product name",
"supplyPlaceholder": "What is missing?",
"checkedInToast": "Check-in recorded.",
"checkedOutToast": "Check-out recorded.",
"supplyAddedToast": "Added to the shopping list.",
"overdue": "Overdue",
"dueToday": "Due today",
"ok": "OK",
"noTasks": "No housekeeping tasks yet.",
"everyDays": "Every {{days}} days",
"completeTask": "Complete {{name}}",
"taskDoneToast": "Task completed.",
"reportTitle": "Report a problem",
"problemDescription": "Problem description",
"problemPlaceholder": "Example: burnt-out light bulb",
"addPhoto": "Add photo",
"sendReport": "Send report",
"reportSentToast": "Problem reported.",
"recentReports": "Recent reports",
"addTask": "Add task",
"taskName": "Task",
"taskNamePlaceholder": "Example: Clean bathrooms",
"taskArea": "Area",
"taskAreaPlaceholder": "Example: Bathroom",
"taskFrequency": "Frequency",
"createTask": "Create task",
"taskCreatedToast": "Housekeeping task created.",
"dashboard": "Dashboard",
"reports": "Reports",
"visitsThisMonth": "Visits this month",
"lastVisit": "Last visit",
"pendingChores": "Pending chores",
"finishedChores": "Finished chores",
"payments": "Payments",
"pendingPayments": "Pending payments",
"monthlyPayments": "Monthly payments",
"noPaymentData": "No payment data yet.",
"noVisits": "No visits yet",
"noWorkerTitle": "No housekeeper profile",
"noWorkerHint": "Create the worker profile to define contacts, rate, and payment schedule.",
"taskTemplates": "Suggested chores",
"addCustomTask": "Add custom chore",
"noReports": "No reports yet.",
"profileTitle": "Housekeeper profile",
"profilePicture": "Housekeeper profile picture",
"workerName": "Name",
"workerUsername": "Username",
"workerPhone": "Phone",
"workerEmail": "Email",
"workerBirthDate": "Birthday",
"paymentSchedule": "Payment schedule",
"scheduleDaily": "Every visit",
"scheduleTwiceMonthly": "Twice a month",
"scheduleMonthly": "Monthly",
"profileColor": "Profile color",
"workerNotes": "Notes",
"workerSavedToast": "Housekeeper profile saved.",
"staff": "Staff",
"staffTitle": "Housekeeping staff",
"addWorker": "Add housekeeper",
"editWorker": "Edit housekeeper",
"noWorkers": "No housekeepers registered yet.",
"moreWorkers": "+{{count}} more",
"checkInDisabled": "Add a housekeeper before checking in.",
"calendarColor": "Calendar color",
"visitRecordedAt": "Visit recorded at",
"checkedInToday": "Recorded today",
"visitReports": "Staff visit reports",
"noVisitReports": "No staff visits recorded this month.",
"openVisitReport": "Open visit report",
"visitReportDetails": "Visit report",
"paymentPaid": "Paid",
"paymentPending": "Pending",
"totalPayment": "Total payment",
"paymentStatus": "Payment status",
"paymentTask": "Payment task",
"calendarEvent": "Calendar event",
"notAvailable": "Not available",
"calendarVisitTitle": "Housekeeping: {{name}}",
"paymentTaskTitle": "Pay {{name}} for housekeeping",
"paymentTaskDescription": "Housekeeping visit on {{date}}. Amount due: {{amount}}.",
"staffLogTitle": "{{name}} visits",
"staffLogHint": "Edit visit dates, amounts, and linked records.",
"filterMonth": "Month",
"editVisit": "Edit visit",
"deleteVisit": "Delete visit",
"deleteVisitConfirm": "Delete this visit? The linked calendar event and payment task will also be removed.",
"visitDeletedToast": "Visit deleted.",
"visitSavedToast": "Visit updated.",
"visitDate": "Visit date",
"markPaid": "Mark paid",
"visitPaidToast": "Payment marked as paid.",
"receiptUploadTitle": "Upload payment receipt",
"receiptUploadHint": "Attach a payment receipt. It will appear in Documents.",
"receiptDocumentName": "Receipt - {{name}} - {{date}}",
"receiptDocumentDescription": "Payment receipt for {{name}} housekeeping visit on {{date}}.",
"taskTemplateData": {
"cleanBathrooms": {
"name": "Clean bathrooms",
"area": "Bathrooms"
},
"mopKitchenFloor": {
"name": "Mop kitchen floor",
"area": "Kitchen"
},
"dustLivingRoom": {
"name": "Dust living room",
"area": "Living room"
},
"changeBedLinens": {
"name": "Change bed linens",
"area": "Bedrooms"
},
"cleanRefrigerator": {
"name": "Clean refrigerator",
"area": "Kitchen"
},
"cleanWindows": {
"name": "Clean windows",
"area": "Whole house"
},
"deepCleanOven": {
"name": "Deep clean oven",
"area": "Kitchen"
},
"washOutdoor": {
"name": "Wash balcony/patio",
"area": "Outdoor"
}
}
},
"userMultiSelect": {
"moreUsers": "weitere",
"nobody": "- Niemand -"
}
}
+250 -7
View File
@@ -54,7 +54,8 @@
"more": "Más",
"documents": "Documentos",
"kitchen": "Cocina",
"search": "Buscar"
"search": "Buscar",
"housekeeping": "Limpieza"
},
"dashboard": {
"title": "Inicio",
@@ -205,7 +206,18 @@
"kanbanArchived": "Archivado",
"reminderNeedsDueDate": "Establece una fecha de vencimiento para activar los recordatorios de tareas.",
"emptyAction": "Crear tarea",
"navLabelOverdue": "Tareas, {{count}} vencidas"
"navLabelOverdue": "Tareas, {{count}} vencidas",
"bulkArchive": "Archive",
"bulkArchived": "Tasks archived.",
"bulkDelete": "Delete",
"bulkDeleteConfirm": "Delete {{count}} tasks permanently?",
"bulkDeleted": "Tasks deleted.",
"bulkMarkDone": "Mark done",
"bulkMarkOpen": "Mark open",
"bulkSelect": "Bulk select",
"bulkSelectedCount": "{{count}} selected",
"bulkStatusChanged": "Status changed.",
"selectTask": "Select task"
},
"shopping": {
"title": "Compras",
@@ -479,7 +491,13 @@
"colorPurple": "Morado",
"colorRed": "Rojo",
"colorSkyBlue": "Azul cielo",
"colorYellow": "Amarillo"
"colorYellow": "Amarillo",
"iconCleaning": "Limpieza",
"caldavTargetHint": "Choose a CalDAV calendar to sync this event.",
"caldavTargetLabel": "Sync to CalDAV",
"caldavTargetLocal": "Store locally only",
"attachmentDocumentName": "{{title}} - {{name}}",
"attachmentDocumentDescription": "Archivo adjunto subido para el evento de calendario \"{{title}}\"."
},
"notes": {
"title": "Notas",
@@ -977,7 +995,72 @@
"addressbookEnabled": "Addressbook enabled",
"addressbookDisabled": "Addressbook disabled",
"addressbooksRefreshed": "Addressbooks refreshed",
"deleteCardDAVAccountConfirm": "Really delete CardDAV account? All synced contacts will remain but lose their CardDAV link."
"deleteCardDAVAccountConfirm": "Really delete CardDAV account? All synced contacts will remain but lose their CardDAV link.",
"sectionHousekeeping": "Housekeeping",
"housekeepingPaymentsTitle": "Payment tasks",
"housekeepingPaymentTasksLabel": "Create a payment task on each housekeeper check-in",
"housekeepingPaymentTasksHint": "When enabled, each check-in creates a task for paying the staff member. Completing that task marks the visit payment as paid.",
"housekeepingPaymentTasksSaved": "Housekeeping payment setting saved.",
"backupSchedulerDisabled": "Disabled",
"backupSchedulerEnabled": "Enabled",
"backupSchedulerHint": "Scheduled backups are created automatically and old backups are rotated.",
"backupSchedulerKeep": "Retention",
"backupSchedulerKeepCount": "{{count}} backups",
"backupSchedulerLastBackup": "Last backup",
"backupSchedulerLastFail": "{{date}} (failed)",
"backupSchedulerLastSuccess": "{{date}} (successful)",
"backupSchedulerNever": "No backup created yet",
"backupSchedulerSchedule": "Schedule",
"backupSchedulerStatus": "Status",
"backupSchedulerTitle": "Automatic Backups",
"backupSchedulerTrigger": "Create backup now",
"backupSchedulerTriggeredToast": "Backup created successfully.",
"backupSchedulerTriggering": "Creating backup...",
"breadcrumbLabel": "Pfad",
"caldavAccountAdded": "CalDAV account added successfully",
"caldavAccountDeleted": "CalDAV account removed",
"caldavAddAccount": "Add CalDAV Account",
"caldavCalendarsToggle": "Show/hide calendars",
"caldavConnectionFailed": "Connection to CalDAV server failed",
"caldavDescription": "Connect multiple CalDAV accounts (iCloud, Nextcloud, Radicale, Baikal, etc.) and choose which calendars to sync.",
"caldavEmptyState": "No CalDAV accounts connected yet. Add your first account to get started.",
"caldavNameLabel": "Account Name",
"caldavNamePlaceholder": "e.g. My Radicale, iCloud, Nextcloud",
"caldavPasswordHint": "For iCloud: Use app-specific password from appleid.apple.com",
"caldavPasswordLabel": "Password",
"caldavRefreshCalendars": "Refresh calendars",
"caldavSyncFailed": "CalDAV sync failed",
"caldavSyncSuccess": "CalDAV sync successful",
"caldavTitle": "CalDAV Calendars",
"caldavUrlHint": "The base URL of your CalDAV server",
"caldavUsernameLabel": "Username",
"calendarDisabled": "Calendar disabled",
"calendarEnabled": "Calendar enabled",
"calendarsRefreshed": "Calendars refreshed",
"deleteAccountConfirm": "Really delete CalDAV account? All synced calendars will be removed.",
"emptyStateAddFirst": "Füge dein erstes Konto hinzu",
"emptyStateNoAccounts": "Noch keine Konten verbunden",
"helpTooltipCalDAV": "CalDAV ermöglicht die Synchronisation von Kalendern mit iCloud, Nextcloud und anderen CalDAV-Servern.",
"helpTooltipCardDAV": "CardDAV ermöglicht die Synchronisation von Kontakten mit iCloud, Nextcloud und anderen CardDAV-Servern.",
"lastSync": "Last synced",
"modulesHint": "Disabled modules disappear from the navigation. Data is preserved and reappears once a module is re-enabled.",
"modulesSaved": "Module visibility saved.",
"modulesTitle": "Active modules",
"navigationLabel": "Einstellungsnavigation",
"sectionAdmin": "Administration",
"sectionCloudServices": "Cloud-Dienste",
"sectionModules": "Modules",
"sectionModulesNav": "Module",
"sectionOpenStandards": "CalDAV & CardDAV",
"sectionPersonal": "Persönlich",
"sectionSync": "Synchronisation",
"statusError": "Fehler",
"statusNeverSynced": "Noch nie synchronisiert",
"statusSynced": "Synchronisiert",
"statusSyncing": "Synchronisiert…",
"syncedAgo": "vor {{time}}",
"tabSyncCalendar": "Kalender",
"tabSyncContacts": "Kontakte"
},
"login": {
"tagline": "Planificación familiar. Segura. Privada. Código abierto.",
@@ -1120,7 +1203,7 @@
"customWeeks": "Weeks"
},
"onboarding": {
"step1Title": "Welcome to Oikos",
"step1Title": "Bienvenido a {{name}}",
"step1Body": "Your personal family planner. Tasks, calendar, shopping and more all in one place.",
"step2Title": "Navegación y módulos",
"step2Body": "En la parte inferior accedes directamente al Panel y el Calendario. Con el botón ··· abres más módulos como Cocina, Notas y Contactos.",
@@ -1203,7 +1286,18 @@
},
"dropzoneTitle": "Suelta el archivo aquí o haz clic para elegir",
"dropzoneHint": "Arrastra un archivo a esta área o usa el selector de archivos.",
"selectedFileLabel": "Seleccionado: {{name}}"
"selectedFileLabel": "Seleccionado: {{name}}",
"addFolderButton": "Add folder",
"allFolders": "All folders",
"folderLabel": "Folder",
"noFolder": "No folder",
"newFolderTitle": "New folder",
"folderNameLabel": "Folder name",
"createFolderAction": "Create folder",
"folderCreatedToast": "Folder created.",
"housekeepingFolder": "Limpieza",
"calendarItemsFolder": "Elementos del calendario",
"folderBrowserTitle": "Explorar carpetas"
},
"shortcuts": {
"goKitchen": "Cocina",
@@ -1215,5 +1309,154 @@
"help": "Atajos de teclado",
"new": "Crear nueva entrada",
"search": "Abrir búsqueda"
},
"housekeeping": {
"title": "Área de limpieza",
"bottomNav": "Navegación de limpieza",
"home": "Inicio",
"tasks": "Tareas",
"report": "Reportar",
"notCheckedIn": "Sin entrada",
"checkedInAt": "Entrada a las",
"monthTotal": "Mes actual · {{count}} jornadas",
"dailyRate": "Tarifa diaria",
"extras": "Extras",
"checkIn": "Entrada",
"checkOut": "Salida",
"quickSupply": "Falta producto",
"supplyName": "Producto",
"supplyPlaceholder": "¿Qué falta?",
"checkedInToast": "Entrada registrada.",
"checkedOutToast": "Salida registrada.",
"supplyAddedToast": "Añadido a la lista de compras.",
"overdue": "Atrasada",
"dueToday": "Hoy",
"ok": "OK",
"noTasks": "No hay tareas de limpieza.",
"everyDays": "Cada {{days}} días",
"completeTask": "Completar {{name}}",
"taskDoneToast": "Tarea completada.",
"reportTitle": "Reportar problema",
"problemDescription": "Descripción del problema",
"problemPlaceholder": "Ejemplo: bombilla fundida",
"addPhoto": "Agregar foto",
"sendReport": "Enviar reporte",
"reportSentToast": "Problema reportado.",
"recentReports": "Reportes recientes",
"addTask": "Agregar tarea",
"taskName": "Tarea",
"taskNamePlaceholder": "Ejemplo: limpiar baños",
"taskArea": "Área",
"taskAreaPlaceholder": "Ejemplo: baño",
"taskFrequency": "Frecuencia",
"createTask": "Crear tarea",
"taskCreatedToast": "Tarea de limpieza creada.",
"dashboard": "Panel",
"reports": "Reports",
"visitsThisMonth": "Visitas del mes",
"lastVisit": "Última visita",
"pendingChores": "Tareas pendientes",
"finishedChores": "Tareas completadas",
"payments": "Pagos",
"pendingPayments": "Pagos pendientes",
"monthlyPayments": "Pagos mensuales",
"noPaymentData": "Aún no hay datos de pago.",
"noVisits": "Sin visitas todavía",
"noWorkerTitle": "Sin perfil de limpieza",
"noWorkerHint": "Crea el perfil para definir contactos, tarifa y calendario de pago.",
"taskTemplates": "Tareas sugeridas",
"addCustomTask": "Agregar tarea personalizada",
"noReports": "Aún no hay reportes.",
"profileTitle": "Perfil de limpieza",
"profilePicture": "Foto de perfil",
"workerName": "Nombre",
"workerUsername": "Usuario",
"workerPhone": "Teléfono",
"workerEmail": "Email",
"workerBirthDate": "Cumpleaños",
"paymentSchedule": "Calendario de pago",
"scheduleDaily": "Cada visita",
"scheduleTwiceMonthly": "Dos veces al mes",
"scheduleMonthly": "Mensual",
"profileColor": "Color de perfil",
"workerNotes": "Notas",
"workerSavedToast": "Perfil guardado.",
"staff": "Personal",
"staffTitle": "Personal de limpieza",
"addWorker": "Agregar persona",
"editWorker": "Editar persona",
"noWorkers": "No hay personal de limpieza registrado.",
"moreWorkers": "+{{count}} más",
"checkInDisabled": "Agrega una persona antes de registrar entrada.",
"calendarColor": "Color de calendario",
"visitRecordedAt": "Visit recorded at",
"checkedInToday": "Recorded today",
"visitReports": "Staff visit reports",
"noVisitReports": "No staff visits recorded this month.",
"openVisitReport": "Open visit report",
"visitReportDetails": "Visit report",
"paymentPaid": "Paid",
"paymentPending": "Pending",
"totalPayment": "Total payment",
"paymentStatus": "Payment status",
"paymentTask": "Payment task",
"calendarEvent": "Calendar event",
"notAvailable": "Not available",
"calendarVisitTitle": "Housekeeping: {{name}}",
"paymentTaskTitle": "Pay {{name}} for housekeeping",
"paymentTaskDescription": "Housekeeping visit on {{date}}. Amount due: {{amount}}.",
"staffLogTitle": "{{name}} visits",
"staffLogHint": "Edit visit dates, amounts, and linked records.",
"filterMonth": "Month",
"editVisit": "Edit visit",
"deleteVisit": "Delete visit",
"deleteVisitConfirm": "Delete this visit? The linked calendar event and payment task will also be removed.",
"visitDeletedToast": "Visit deleted.",
"visitSavedToast": "Visit updated.",
"visitDate": "Visit date",
"markPaid": "Mark paid",
"visitPaidToast": "Payment marked as paid.",
"receiptUploadTitle": "Upload payment receipt",
"receiptUploadHint": "Attach a payment receipt. It will appear in Documents.",
"receiptDocumentName": "Receipt - {{name}} - {{date}}",
"receiptDocumentDescription": "Payment receipt for {{name}} housekeeping visit on {{date}}.",
"taskTemplateData": {
"cleanBathrooms": {
"name": "Limpiar baños",
"area": "Baños"
},
"mopKitchenFloor": {
"name": "Fregar el suelo de la cocina",
"area": "Cocina"
},
"dustLivingRoom": {
"name": "Quitar el polvo de la sala",
"area": "Sala"
},
"changeBedLinens": {
"name": "Cambiar la ropa de cama",
"area": "Dormitorios"
},
"cleanRefrigerator": {
"name": "Limpiar el refrigerador",
"area": "Cocina"
},
"cleanWindows": {
"name": "Limpiar ventanas",
"area": "Toda la casa"
},
"deepCleanOven": {
"name": "Limpieza profunda del horno",
"area": "Cocina"
},
"washOutdoor": {
"name": "Lavar balcón/patio",
"area": "Exterior"
}
}
},
"userMultiSelect": {
"moreUsers": "weitere",
"nobody": "- Niemand -"
}
}
}
+250 -7
View File
@@ -54,7 +54,8 @@
"more": "Plus",
"documents": "Documents",
"kitchen": "Cuisine",
"search": "Recherche"
"search": "Recherche",
"housekeeping": "Ménage"
},
"dashboard": {
"title": "Accueil",
@@ -205,7 +206,18 @@
"kanbanArchived": "Archivé",
"reminderNeedsDueDate": "Définissez une date d'échéance pour activer les rappels de tâche.",
"emptyAction": "Créer une tâche",
"navLabelOverdue": "Tâches, {{count}} en retard"
"navLabelOverdue": "Tâches, {{count}} en retard",
"bulkArchive": "Archive",
"bulkArchived": "Tasks archived.",
"bulkDelete": "Delete",
"bulkDeleteConfirm": "Delete {{count}} tasks permanently?",
"bulkDeleted": "Tasks deleted.",
"bulkMarkDone": "Mark done",
"bulkMarkOpen": "Mark open",
"bulkSelect": "Bulk select",
"bulkSelectedCount": "{{count}} selected",
"bulkStatusChanged": "Status changed.",
"selectTask": "Select task"
},
"shopping": {
"title": "Courses",
@@ -479,7 +491,13 @@
"colorPurple": "Violet",
"colorRed": "Rouge",
"colorSkyBlue": "Bleu ciel",
"colorYellow": "Jaune"
"colorYellow": "Jaune",
"iconCleaning": "Ménage",
"caldavTargetHint": "Choose a CalDAV calendar to sync this event.",
"caldavTargetLabel": "Sync to CalDAV",
"caldavTargetLocal": "Store locally only",
"attachmentDocumentName": "{{title}} - {{name}}",
"attachmentDocumentDescription": "Pièce jointe téléversée pour l’événement \"{{title}}\"."
},
"notes": {
"title": "Notes",
@@ -977,7 +995,72 @@
"addressbookEnabled": "Addressbook enabled",
"addressbookDisabled": "Addressbook disabled",
"addressbooksRefreshed": "Addressbooks refreshed",
"deleteCardDAVAccountConfirm": "Really delete CardDAV account? All synced contacts will remain but lose their CardDAV link."
"deleteCardDAVAccountConfirm": "Really delete CardDAV account? All synced contacts will remain but lose their CardDAV link.",
"sectionHousekeeping": "Housekeeping",
"housekeepingPaymentsTitle": "Payment tasks",
"housekeepingPaymentTasksLabel": "Create a payment task on each housekeeper check-in",
"housekeepingPaymentTasksHint": "When enabled, each check-in creates a task for paying the staff member. Completing that task marks the visit payment as paid.",
"housekeepingPaymentTasksSaved": "Housekeeping payment setting saved.",
"backupSchedulerDisabled": "Disabled",
"backupSchedulerEnabled": "Enabled",
"backupSchedulerHint": "Scheduled backups are created automatically and old backups are rotated.",
"backupSchedulerKeep": "Retention",
"backupSchedulerKeepCount": "{{count}} backups",
"backupSchedulerLastBackup": "Last backup",
"backupSchedulerLastFail": "{{date}} (failed)",
"backupSchedulerLastSuccess": "{{date}} (successful)",
"backupSchedulerNever": "No backup created yet",
"backupSchedulerSchedule": "Schedule",
"backupSchedulerStatus": "Status",
"backupSchedulerTitle": "Automatic Backups",
"backupSchedulerTrigger": "Create backup now",
"backupSchedulerTriggeredToast": "Backup created successfully.",
"backupSchedulerTriggering": "Creating backup...",
"breadcrumbLabel": "Pfad",
"caldavAccountAdded": "CalDAV account added successfully",
"caldavAccountDeleted": "CalDAV account removed",
"caldavAddAccount": "Add CalDAV Account",
"caldavCalendarsToggle": "Show/hide calendars",
"caldavConnectionFailed": "Connection to CalDAV server failed",
"caldavDescription": "Connect multiple CalDAV accounts (iCloud, Nextcloud, Radicale, Baikal, etc.) and choose which calendars to sync.",
"caldavEmptyState": "No CalDAV accounts connected yet. Add your first account to get started.",
"caldavNameLabel": "Account Name",
"caldavNamePlaceholder": "e.g. My Radicale, iCloud, Nextcloud",
"caldavPasswordHint": "For iCloud: Use app-specific password from appleid.apple.com",
"caldavPasswordLabel": "Password",
"caldavRefreshCalendars": "Refresh calendars",
"caldavSyncFailed": "CalDAV sync failed",
"caldavSyncSuccess": "CalDAV sync successful",
"caldavTitle": "CalDAV Calendars",
"caldavUrlHint": "The base URL of your CalDAV server",
"caldavUsernameLabel": "Username",
"calendarDisabled": "Calendar disabled",
"calendarEnabled": "Calendar enabled",
"calendarsRefreshed": "Calendars refreshed",
"deleteAccountConfirm": "Really delete CalDAV account? All synced calendars will be removed.",
"emptyStateAddFirst": "Füge dein erstes Konto hinzu",
"emptyStateNoAccounts": "Noch keine Konten verbunden",
"helpTooltipCalDAV": "CalDAV ermöglicht die Synchronisation von Kalendern mit iCloud, Nextcloud und anderen CalDAV-Servern.",
"helpTooltipCardDAV": "CardDAV ermöglicht die Synchronisation von Kontakten mit iCloud, Nextcloud und anderen CardDAV-Servern.",
"lastSync": "Last synced",
"modulesHint": "Disabled modules disappear from the navigation. Data is preserved and reappears once a module is re-enabled.",
"modulesSaved": "Module visibility saved.",
"modulesTitle": "Active modules",
"navigationLabel": "Einstellungsnavigation",
"sectionAdmin": "Administration",
"sectionCloudServices": "Cloud-Dienste",
"sectionModules": "Modules",
"sectionModulesNav": "Module",
"sectionOpenStandards": "CalDAV & CardDAV",
"sectionPersonal": "Persönlich",
"sectionSync": "Synchronisation",
"statusError": "Fehler",
"statusNeverSynced": "Noch nie synchronisiert",
"statusSynced": "Synchronisiert",
"statusSyncing": "Synchronisiert…",
"syncedAgo": "vor {{time}}",
"tabSyncCalendar": "Kalender",
"tabSyncContacts": "Kontakte"
},
"login": {
"tagline": "Planification familiale. Sécurisée. Respectueuse de la vie privée. Open source.",
@@ -1120,7 +1203,7 @@
"customWeeks": "Weeks"
},
"onboarding": {
"step1Title": "Welcome to Oikos",
"step1Title": "Bienvenue dans {{name}}",
"step1Body": "Your personal family planner. Tasks, calendar, shopping and more all in one place.",
"step2Title": "Navigation & modules",
"step2Body": "En bas, accédez directement au Tableau de bord et au Calendrier. Le bouton ··· ouvre d'autres modules comme Cuisine, Notes et Contacts.",
@@ -1203,7 +1286,18 @@
},
"dropzoneTitle": "Déposez le fichier ici ou cliquez pour choisir",
"dropzoneHint": "Glissez un fichier dans cette zone ou utilisez le sélecteur.",
"selectedFileLabel": "Sélectionné : {{name}}"
"selectedFileLabel": "Sélectionné : {{name}}",
"addFolderButton": "Add folder",
"allFolders": "All folders",
"folderLabel": "Folder",
"noFolder": "No folder",
"newFolderTitle": "New folder",
"folderNameLabel": "Folder name",
"createFolderAction": "Create folder",
"folderCreatedToast": "Folder created.",
"housekeepingFolder": "Ménage",
"calendarItemsFolder": "Éléments du calendrier",
"folderBrowserTitle": "Parcourir les dossiers"
},
"shortcuts": {
"goKitchen": "Cuisine",
@@ -1215,5 +1309,154 @@
"help": "Raccourcis clavier",
"new": "Créer une nouvelle entrée",
"search": "Ouvrir la recherche"
},
"housekeeping": {
"title": "Espace ménage",
"bottomNav": "Navigation ménage",
"home": "Accueil",
"tasks": "Tâches",
"report": "Signaler",
"notCheckedIn": "Pas pointé",
"checkedInAt": "Pointé à",
"monthTotal": "Mois en cours · {{count}} sessions",
"dailyRate": "Tarif journalier",
"extras": "Extras",
"checkIn": "Arrivée",
"checkOut": "Départ",
"quickSupply": "Produit manquant",
"supplyName": "Produit",
"supplyPlaceholder": "Que manque-t-il ?",
"checkedInToast": "Arrivée enregistrée.",
"checkedOutToast": "Départ enregistré.",
"supplyAddedToast": "Ajouté à la liste de courses.",
"overdue": "En retard",
"dueToday": "Aujourdhui",
"ok": "OK",
"noTasks": "Aucune tâche de ménage.",
"everyDays": "Tous les {{days}} jours",
"completeTask": "Terminer {{name}}",
"taskDoneToast": "Tâche terminée.",
"reportTitle": "Signaler un problème",
"problemDescription": "Description du problème",
"problemPlaceholder": "Exemple : ampoule grillée",
"addPhoto": "Ajouter une photo",
"sendReport": "Envoyer",
"reportSentToast": "Problème signalé.",
"recentReports": "Signalements récents",
"addTask": "Ajouter une tâche",
"taskName": "Tâche",
"taskNamePlaceholder": "Exemple : nettoyer les salles de bain",
"taskArea": "Zone",
"taskAreaPlaceholder": "Exemple : salle de bain",
"taskFrequency": "Fréquence",
"createTask": "Créer la tâche",
"taskCreatedToast": "Tâche de ménage créée.",
"dashboard": "Tableau",
"reports": "Reports",
"visitsThisMonth": "Visites du mois",
"lastVisit": "Dernière visite",
"pendingChores": "Tâches en attente",
"finishedChores": "Tâches terminées",
"payments": "Paiements",
"pendingPayments": "Paiements en attente",
"monthlyPayments": "Paiements mensuels",
"noPaymentData": "Aucune donnée de paiement.",
"noVisits": "Aucune visite",
"noWorkerTitle": "Aucun profil de ménage",
"noWorkerHint": "Créez le profil pour définir les contacts, le tarif et le rythme de paiement.",
"taskTemplates": "Tâches suggérées",
"addCustomTask": "Ajouter une tâche personnalisée",
"noReports": "Aucun signalement.",
"profileTitle": "Profil ménage",
"profilePicture": "Photo de profil",
"workerName": "Nom",
"workerUsername": "Identifiant",
"workerPhone": "Téléphone",
"workerEmail": "E-mail",
"workerBirthDate": "Anniversaire",
"paymentSchedule": "Rythme de paiement",
"scheduleDaily": "À chaque visite",
"scheduleTwiceMonthly": "Deux fois par mois",
"scheduleMonthly": "Mensuel",
"profileColor": "Couleur du profil",
"workerNotes": "Notes",
"workerSavedToast": "Profil enregistré.",
"staff": "Équipe",
"staffTitle": "Équipe de ménage",
"addWorker": "Ajouter une personne",
"editWorker": "Modifier la personne",
"noWorkers": "Aucune personne de ménage enregistrée.",
"moreWorkers": "+{{count}} de plus",
"checkInDisabled": "Ajoutez une personne avant de pointer.",
"calendarColor": "Couleur du calendrier",
"visitRecordedAt": "Visit recorded at",
"checkedInToday": "Recorded today",
"visitReports": "Staff visit reports",
"noVisitReports": "No staff visits recorded this month.",
"openVisitReport": "Open visit report",
"visitReportDetails": "Visit report",
"paymentPaid": "Paid",
"paymentPending": "Pending",
"totalPayment": "Total payment",
"paymentStatus": "Payment status",
"paymentTask": "Payment task",
"calendarEvent": "Calendar event",
"notAvailable": "Not available",
"calendarVisitTitle": "Housekeeping: {{name}}",
"paymentTaskTitle": "Pay {{name}} for housekeeping",
"paymentTaskDescription": "Housekeeping visit on {{date}}. Amount due: {{amount}}.",
"staffLogTitle": "{{name}} visits",
"staffLogHint": "Edit visit dates, amounts, and linked records.",
"filterMonth": "Month",
"editVisit": "Edit visit",
"deleteVisit": "Delete visit",
"deleteVisitConfirm": "Delete this visit? The linked calendar event and payment task will also be removed.",
"visitDeletedToast": "Visit deleted.",
"visitSavedToast": "Visit updated.",
"visitDate": "Visit date",
"markPaid": "Mark paid",
"visitPaidToast": "Payment marked as paid.",
"receiptUploadTitle": "Upload payment receipt",
"receiptUploadHint": "Attach a payment receipt. It will appear in Documents.",
"receiptDocumentName": "Receipt - {{name}} - {{date}}",
"receiptDocumentDescription": "Payment receipt for {{name}} housekeeping visit on {{date}}.",
"taskTemplateData": {
"cleanBathrooms": {
"name": "Nettoyer les salles de bain",
"area": "Salles de bain"
},
"mopKitchenFloor": {
"name": "Laver le sol de la cuisine",
"area": "Cuisine"
},
"dustLivingRoom": {
"name": "Dépoussiérer le salon",
"area": "Salon"
},
"changeBedLinens": {
"name": "Changer les draps",
"area": "Chambres"
},
"cleanRefrigerator": {
"name": "Nettoyer le réfrigérateur",
"area": "Cuisine"
},
"cleanWindows": {
"name": "Nettoyer les fenêtres",
"area": "Toute la maison"
},
"deepCleanOven": {
"name": "Nettoyage approfondi du four",
"area": "Cuisine"
},
"washOutdoor": {
"name": "Laver balcon/patio",
"area": "Extérieur"
}
}
},
"userMultiSelect": {
"moreUsers": "weitere",
"nobody": "- Niemand -"
}
}
}
+250 -7
View File
@@ -54,7 +54,8 @@
"more": "और",
"documents": "दस्तावेज़",
"kitchen": "रसोई",
"search": "खोज"
"search": "खोज",
"housekeeping": "Housekeeping"
},
"dashboard": {
"title": "डैशबोर्ड",
@@ -205,7 +206,18 @@
"kanbanArchived": "संग्रहित",
"reminderNeedsDueDate": "कार्य अनुस्मारक सक्षम करने के लिए एक नियत तारीख निर्धारित करें।",
"emptyAction": "कार्य बनाएं",
"navLabelOverdue": "कार्य, {{count}} अतिदेय"
"navLabelOverdue": "कार्य, {{count}} अतिदेय",
"bulkArchive": "Archive",
"bulkArchived": "Tasks archived.",
"bulkDelete": "Delete",
"bulkDeleteConfirm": "Delete {{count}} tasks permanently?",
"bulkDeleted": "Tasks deleted.",
"bulkMarkDone": "Mark done",
"bulkMarkOpen": "Mark open",
"bulkSelect": "Bulk select",
"bulkSelectedCount": "{{count}} selected",
"bulkStatusChanged": "Status changed.",
"selectTask": "Select task"
},
"shopping": {
"title": "खरीदारी",
@@ -479,7 +491,13 @@
"colorPurple": "बैंगनी",
"colorRed": "लाल",
"colorSkyBlue": "आसमानी नीला",
"colorYellow": "पीला"
"colorYellow": "पीला",
"iconCleaning": "Cleaning",
"caldavTargetHint": "Choose a CalDAV calendar to sync this event.",
"caldavTargetLabel": "Sync to CalDAV",
"caldavTargetLocal": "Store locally only",
"attachmentDocumentName": "{{title}} - {{name}}",
"attachmentDocumentDescription": "कैलेंडर इवेंट \"{{title}}\" के लिए अपलोड किया गया अटैचमेंट।"
},
"notes": {
"title": "नोट बोर्ड",
@@ -977,7 +995,72 @@
"addressbookEnabled": "Addressbook enabled",
"addressbookDisabled": "Addressbook disabled",
"addressbooksRefreshed": "Addressbooks refreshed",
"deleteCardDAVAccountConfirm": "Really delete CardDAV account? All synced contacts will remain but lose their CardDAV link."
"deleteCardDAVAccountConfirm": "Really delete CardDAV account? All synced contacts will remain but lose their CardDAV link.",
"sectionHousekeeping": "Housekeeping",
"housekeepingPaymentsTitle": "Payment tasks",
"housekeepingPaymentTasksLabel": "Create a payment task on each housekeeper check-in",
"housekeepingPaymentTasksHint": "When enabled, each check-in creates a task for paying the staff member. Completing that task marks the visit payment as paid.",
"housekeepingPaymentTasksSaved": "Housekeeping payment setting saved.",
"backupSchedulerDisabled": "Disabled",
"backupSchedulerEnabled": "Enabled",
"backupSchedulerHint": "Scheduled backups are created automatically and old backups are rotated.",
"backupSchedulerKeep": "Retention",
"backupSchedulerKeepCount": "{{count}} backups",
"backupSchedulerLastBackup": "Last backup",
"backupSchedulerLastFail": "{{date}} (failed)",
"backupSchedulerLastSuccess": "{{date}} (successful)",
"backupSchedulerNever": "No backup created yet",
"backupSchedulerSchedule": "Schedule",
"backupSchedulerStatus": "Status",
"backupSchedulerTitle": "Automatic Backups",
"backupSchedulerTrigger": "Create backup now",
"backupSchedulerTriggeredToast": "Backup created successfully.",
"backupSchedulerTriggering": "Creating backup...",
"breadcrumbLabel": "Pfad",
"caldavAccountAdded": "CalDAV account added successfully",
"caldavAccountDeleted": "CalDAV account removed",
"caldavAddAccount": "Add CalDAV Account",
"caldavCalendarsToggle": "Show/hide calendars",
"caldavConnectionFailed": "Connection to CalDAV server failed",
"caldavDescription": "Connect multiple CalDAV accounts (iCloud, Nextcloud, Radicale, Baikal, etc.) and choose which calendars to sync.",
"caldavEmptyState": "No CalDAV accounts connected yet. Add your first account to get started.",
"caldavNameLabel": "Account Name",
"caldavNamePlaceholder": "e.g. My Radicale, iCloud, Nextcloud",
"caldavPasswordHint": "For iCloud: Use app-specific password from appleid.apple.com",
"caldavPasswordLabel": "Password",
"caldavRefreshCalendars": "Refresh calendars",
"caldavSyncFailed": "CalDAV sync failed",
"caldavSyncSuccess": "CalDAV sync successful",
"caldavTitle": "CalDAV Calendars",
"caldavUrlHint": "The base URL of your CalDAV server",
"caldavUsernameLabel": "Username",
"calendarDisabled": "Calendar disabled",
"calendarEnabled": "Calendar enabled",
"calendarsRefreshed": "Calendars refreshed",
"deleteAccountConfirm": "Really delete CalDAV account? All synced calendars will be removed.",
"emptyStateAddFirst": "Füge dein erstes Konto hinzu",
"emptyStateNoAccounts": "Noch keine Konten verbunden",
"helpTooltipCalDAV": "CalDAV ermöglicht die Synchronisation von Kalendern mit iCloud, Nextcloud und anderen CalDAV-Servern.",
"helpTooltipCardDAV": "CardDAV ermöglicht die Synchronisation von Kontakten mit iCloud, Nextcloud und anderen CardDAV-Servern.",
"lastSync": "Last synced",
"modulesHint": "Disabled modules disappear from the navigation. Data is preserved and reappears once a module is re-enabled.",
"modulesSaved": "Module visibility saved.",
"modulesTitle": "Active modules",
"navigationLabel": "Einstellungsnavigation",
"sectionAdmin": "Administration",
"sectionCloudServices": "Cloud-Dienste",
"sectionModules": "Modules",
"sectionModulesNav": "Module",
"sectionOpenStandards": "CalDAV & CardDAV",
"sectionPersonal": "Persönlich",
"sectionSync": "Synchronisation",
"statusError": "Fehler",
"statusNeverSynced": "Noch nie synchronisiert",
"statusSynced": "Synchronisiert",
"statusSyncing": "Synchronisiert…",
"syncedAgo": "vor {{time}}",
"tabSyncCalendar": "Kalender",
"tabSyncContacts": "Kontakte"
},
"login": {
"tagline": "पारिवारिक योजना। सुरक्षित। गोपनीयता-अनुकूल। ओपन सोर्स।",
@@ -1120,7 +1203,7 @@
"customWeeks": "Weeks"
},
"onboarding": {
"step1Title": "Welcome to Oikos",
"step1Title": "{{name}} में आपका स्वागत है",
"step1Body": "Your personal family planner. Tasks, calendar, shopping and more all in one place.",
"step2Title": "नेविगेशन और मॉड्यूल",
"step2Body": "नीचे से डैशबोर्ड और कैलेंडर तक सीधी पहुँच। ··· बटन से किचन, नोट्स और संपर्क जैसे अन्य मॉड्यूल खोलें।",
@@ -1203,7 +1286,18 @@
},
"dropzoneTitle": "फ़ाइल यहाँ छोड़ें या चुनने के लिए क्लिक करें",
"dropzoneHint": "फ़ाइल को इस क्षेत्र में खींचें या फ़ाइल पिकर का उपयोग करें।",
"selectedFileLabel": "चयनित: {{name}}"
"selectedFileLabel": "चयनित: {{name}}",
"addFolderButton": "Add folder",
"allFolders": "All folders",
"folderLabel": "Folder",
"noFolder": "No folder",
"newFolderTitle": "New folder",
"folderNameLabel": "Folder name",
"createFolderAction": "Create folder",
"folderCreatedToast": "Folder created.",
"housekeepingFolder": "हाउसकीपिंग",
"calendarItemsFolder": "कैलेंडर आइटम",
"folderBrowserTitle": "फ़ोल्डर ब्राउज़ करें"
},
"shortcuts": {
"goKitchen": "रसोई",
@@ -1215,5 +1309,154 @@
"help": "कीबोर्ड शॉर्टकट",
"new": "नई प्रविष्टि बनाएं",
"search": "खोज खोलें"
},
"housekeeping": {
"title": "Cleaner workspace",
"bottomNav": "Housekeeping navigation",
"home": "Home",
"tasks": "Tasks",
"report": "Report",
"notCheckedIn": "Not checked in",
"checkedInAt": "Checked in at",
"monthTotal": "Current month · {{count}} sessions",
"dailyRate": "Daily rate",
"extras": "Extras",
"checkIn": "Check in",
"checkOut": "Check out",
"quickSupply": "Missing product",
"supplyName": "Product name",
"supplyPlaceholder": "What is missing?",
"checkedInToast": "Check-in recorded.",
"checkedOutToast": "Check-out recorded.",
"supplyAddedToast": "Added to the shopping list.",
"overdue": "Overdue",
"dueToday": "Due today",
"ok": "OK",
"noTasks": "No housekeeping tasks yet.",
"everyDays": "Every {{days}} days",
"completeTask": "Complete {{name}}",
"taskDoneToast": "Task completed.",
"reportTitle": "Report a problem",
"problemDescription": "Problem description",
"problemPlaceholder": "Example: burnt-out light bulb",
"addPhoto": "Add photo",
"sendReport": "Send report",
"reportSentToast": "Problem reported.",
"recentReports": "Recent reports",
"addTask": "Add task",
"taskName": "Task",
"taskNamePlaceholder": "Example: Clean bathrooms",
"taskArea": "Area",
"taskAreaPlaceholder": "Example: Bathroom",
"taskFrequency": "Frequency",
"createTask": "Create task",
"taskCreatedToast": "Housekeeping task created.",
"dashboard": "Dashboard",
"reports": "Reports",
"visitsThisMonth": "Visits this month",
"lastVisit": "Last visit",
"pendingChores": "Pending chores",
"finishedChores": "Finished chores",
"payments": "Payments",
"pendingPayments": "Pending payments",
"monthlyPayments": "Monthly payments",
"noPaymentData": "No payment data yet.",
"noVisits": "No visits yet",
"noWorkerTitle": "No housekeeper profile",
"noWorkerHint": "Create the worker profile to define contacts, rate, and payment schedule.",
"taskTemplates": "Suggested chores",
"addCustomTask": "Add custom chore",
"noReports": "No reports yet.",
"profileTitle": "Housekeeper profile",
"profilePicture": "Housekeeper profile picture",
"workerName": "Name",
"workerUsername": "Username",
"workerPhone": "Phone",
"workerEmail": "Email",
"workerBirthDate": "Birthday",
"paymentSchedule": "Payment schedule",
"scheduleDaily": "Every visit",
"scheduleTwiceMonthly": "Twice a month",
"scheduleMonthly": "Monthly",
"profileColor": "Profile color",
"workerNotes": "Notes",
"workerSavedToast": "Housekeeper profile saved.",
"staff": "Staff",
"staffTitle": "Housekeeping staff",
"addWorker": "Add housekeeper",
"editWorker": "Edit housekeeper",
"noWorkers": "No housekeepers registered yet.",
"moreWorkers": "+{{count}} more",
"checkInDisabled": "Add a housekeeper before checking in.",
"calendarColor": "Calendar color",
"visitRecordedAt": "Visit recorded at",
"checkedInToday": "Recorded today",
"visitReports": "Staff visit reports",
"noVisitReports": "No staff visits recorded this month.",
"openVisitReport": "Open visit report",
"visitReportDetails": "Visit report",
"paymentPaid": "Paid",
"paymentPending": "Pending",
"totalPayment": "Total payment",
"paymentStatus": "Payment status",
"paymentTask": "Payment task",
"calendarEvent": "Calendar event",
"notAvailable": "Not available",
"calendarVisitTitle": "Housekeeping: {{name}}",
"paymentTaskTitle": "Pay {{name}} for housekeeping",
"paymentTaskDescription": "Housekeeping visit on {{date}}. Amount due: {{amount}}.",
"staffLogTitle": "{{name}} visits",
"staffLogHint": "Edit visit dates, amounts, and linked records.",
"filterMonth": "Month",
"editVisit": "Edit visit",
"deleteVisit": "Delete visit",
"deleteVisitConfirm": "Delete this visit? The linked calendar event and payment task will also be removed.",
"visitDeletedToast": "Visit deleted.",
"visitSavedToast": "Visit updated.",
"visitDate": "Visit date",
"markPaid": "Mark paid",
"visitPaidToast": "Payment marked as paid.",
"receiptUploadTitle": "Upload payment receipt",
"receiptUploadHint": "Attach a payment receipt. It will appear in Documents.",
"receiptDocumentName": "Receipt - {{name}} - {{date}}",
"receiptDocumentDescription": "Payment receipt for {{name}} housekeeping visit on {{date}}.",
"taskTemplateData": {
"cleanBathrooms": {
"name": "बाथरूम साफ करें",
"area": "बाथरूम"
},
"mopKitchenFloor": {
"name": "रसोई का फर्श पोंछें",
"area": "रसोई"
},
"dustLivingRoom": {
"name": "लिविंग रूम की धूल साफ करें",
"area": "लिविंग रूम"
},
"changeBedLinens": {
"name": "बिस्तर की चादरें बदलें",
"area": "बेडरूम"
},
"cleanRefrigerator": {
"name": "फ्रिज साफ करें",
"area": "रसोई"
},
"cleanWindows": {
"name": "खिड़कियाँ साफ करें",
"area": "पूरा घर"
},
"deepCleanOven": {
"name": "ओवन की गहरी सफाई करें",
"area": "रसोई"
},
"washOutdoor": {
"name": "बालकनी/आँगन धोएँ",
"area": "बाहरी क्षेत्र"
}
}
},
"userMultiSelect": {
"moreUsers": "weitere",
"nobody": "- Niemand -"
}
}
}
+250 -7
View File
@@ -54,7 +54,8 @@
"more": "Altro",
"documents": "Documenti",
"kitchen": "Cucina",
"search": "Cerca"
"search": "Cerca",
"housekeeping": "Pulizie"
},
"dashboard": {
"title": "Panoramica",
@@ -205,7 +206,18 @@
"kanbanArchived": "Archiviato",
"reminderNeedsDueDate": "Imposta una data di scadenza per abilitare i promemoria delle attività.",
"emptyAction": "Crea attività",
"navLabelOverdue": "Attività, {{count}} in ritardo"
"navLabelOverdue": "Attività, {{count}} in ritardo",
"bulkArchive": "Archive",
"bulkArchived": "Tasks archived.",
"bulkDelete": "Delete",
"bulkDeleteConfirm": "Delete {{count}} tasks permanently?",
"bulkDeleted": "Tasks deleted.",
"bulkMarkDone": "Mark done",
"bulkMarkOpen": "Mark open",
"bulkSelect": "Bulk select",
"bulkSelectedCount": "{{count}} selected",
"bulkStatusChanged": "Status changed.",
"selectTask": "Select task"
},
"shopping": {
"title": "Spesa",
@@ -479,7 +491,13 @@
"colorPurple": "Viola",
"colorRed": "Rosso",
"colorSkyBlue": "Azzurro",
"colorYellow": "Giallo"
"colorYellow": "Giallo",
"iconCleaning": "Pulizie",
"caldavTargetHint": "Choose a CalDAV calendar to sync this event.",
"caldavTargetLabel": "Sync to CalDAV",
"caldavTargetLocal": "Store locally only",
"attachmentDocumentName": "{{title}} - {{name}}",
"attachmentDocumentDescription": "Allegato caricato per levento calendario \"{{title}}\"."
},
"notes": {
"title": "Bacheca",
@@ -977,7 +995,72 @@
"addressbookEnabled": "Addressbook enabled",
"addressbookDisabled": "Addressbook disabled",
"addressbooksRefreshed": "Addressbooks refreshed",
"deleteCardDAVAccountConfirm": "Really delete CardDAV account? All synced contacts will remain but lose their CardDAV link."
"deleteCardDAVAccountConfirm": "Really delete CardDAV account? All synced contacts will remain but lose their CardDAV link.",
"sectionHousekeeping": "Housekeeping",
"housekeepingPaymentsTitle": "Payment tasks",
"housekeepingPaymentTasksLabel": "Create a payment task on each housekeeper check-in",
"housekeepingPaymentTasksHint": "When enabled, each check-in creates a task for paying the staff member. Completing that task marks the visit payment as paid.",
"housekeepingPaymentTasksSaved": "Housekeeping payment setting saved.",
"backupSchedulerDisabled": "Disabled",
"backupSchedulerEnabled": "Enabled",
"backupSchedulerHint": "Scheduled backups are created automatically and old backups are rotated.",
"backupSchedulerKeep": "Retention",
"backupSchedulerKeepCount": "{{count}} backups",
"backupSchedulerLastBackup": "Last backup",
"backupSchedulerLastFail": "{{date}} (failed)",
"backupSchedulerLastSuccess": "{{date}} (successful)",
"backupSchedulerNever": "No backup created yet",
"backupSchedulerSchedule": "Schedule",
"backupSchedulerStatus": "Status",
"backupSchedulerTitle": "Automatic Backups",
"backupSchedulerTrigger": "Create backup now",
"backupSchedulerTriggeredToast": "Backup created successfully.",
"backupSchedulerTriggering": "Creating backup...",
"breadcrumbLabel": "Pfad",
"caldavAccountAdded": "CalDAV account added successfully",
"caldavAccountDeleted": "CalDAV account removed",
"caldavAddAccount": "Add CalDAV Account",
"caldavCalendarsToggle": "Show/hide calendars",
"caldavConnectionFailed": "Connection to CalDAV server failed",
"caldavDescription": "Connect multiple CalDAV accounts (iCloud, Nextcloud, Radicale, Baikal, etc.) and choose which calendars to sync.",
"caldavEmptyState": "No CalDAV accounts connected yet. Add your first account to get started.",
"caldavNameLabel": "Account Name",
"caldavNamePlaceholder": "e.g. My Radicale, iCloud, Nextcloud",
"caldavPasswordHint": "For iCloud: Use app-specific password from appleid.apple.com",
"caldavPasswordLabel": "Password",
"caldavRefreshCalendars": "Refresh calendars",
"caldavSyncFailed": "CalDAV sync failed",
"caldavSyncSuccess": "CalDAV sync successful",
"caldavTitle": "CalDAV Calendars",
"caldavUrlHint": "The base URL of your CalDAV server",
"caldavUsernameLabel": "Username",
"calendarDisabled": "Calendar disabled",
"calendarEnabled": "Calendar enabled",
"calendarsRefreshed": "Calendars refreshed",
"deleteAccountConfirm": "Really delete CalDAV account? All synced calendars will be removed.",
"emptyStateAddFirst": "Füge dein erstes Konto hinzu",
"emptyStateNoAccounts": "Noch keine Konten verbunden",
"helpTooltipCalDAV": "CalDAV ermöglicht die Synchronisation von Kalendern mit iCloud, Nextcloud und anderen CalDAV-Servern.",
"helpTooltipCardDAV": "CardDAV ermöglicht die Synchronisation von Kontakten mit iCloud, Nextcloud und anderen CardDAV-Servern.",
"lastSync": "Last synced",
"modulesHint": "Disabled modules disappear from the navigation. Data is preserved and reappears once a module is re-enabled.",
"modulesSaved": "Module visibility saved.",
"modulesTitle": "Active modules",
"navigationLabel": "Einstellungsnavigation",
"sectionAdmin": "Administration",
"sectionCloudServices": "Cloud-Dienste",
"sectionModules": "Modules",
"sectionModulesNav": "Module",
"sectionOpenStandards": "CalDAV & CardDAV",
"sectionPersonal": "Persönlich",
"sectionSync": "Synchronisation",
"statusError": "Fehler",
"statusNeverSynced": "Noch nie synchronisiert",
"statusSynced": "Synchronisiert",
"statusSyncing": "Synchronisiert…",
"syncedAgo": "vor {{time}}",
"tabSyncCalendar": "Kalender",
"tabSyncContacts": "Kontakte"
},
"login": {
"tagline": "Pianificazione familiare. Sicura. Rispettosa della privacy. Open source.",
@@ -1120,7 +1203,7 @@
"customWeeks": "Weeks"
},
"onboarding": {
"step1Title": "Welcome to Oikos",
"step1Title": "Benvenuto in {{name}}",
"step1Body": "Your personal family planner. Tasks, calendar, shopping and more all in one place.",
"step2Title": "Navigazione e moduli",
"step2Body": "In basso accedi direttamente alla Dashboard e al Calendario. Con il pulsante ··· apri altri moduli come Cucina, Note e Contatti.",
@@ -1203,7 +1286,18 @@
},
"dropzoneTitle": "Rilascia il file qui o fai clic per scegliere",
"dropzoneHint": "Trascina un file in questarea oppure usa il selettore.",
"selectedFileLabel": "Selezionato: {{name}}"
"selectedFileLabel": "Selezionato: {{name}}",
"addFolderButton": "Add folder",
"allFolders": "All folders",
"folderLabel": "Folder",
"noFolder": "No folder",
"newFolderTitle": "New folder",
"folderNameLabel": "Folder name",
"createFolderAction": "Create folder",
"folderCreatedToast": "Folder created.",
"housekeepingFolder": "Pulizie",
"calendarItemsFolder": "Elementi del calendario",
"folderBrowserTitle": "Sfoglia cartelle"
},
"shortcuts": {
"goKitchen": "Cucina",
@@ -1215,5 +1309,154 @@
"help": "Scorciatoie da tastiera",
"new": "Crea nuova voce",
"search": "Apri ricerca"
},
"housekeeping": {
"title": "Area pulizie",
"bottomNav": "Navigazione pulizie",
"home": "Home",
"tasks": "Attività",
"report": "Segnala",
"notCheckedIn": "Non registrata",
"checkedInAt": "Entrata alle",
"monthTotal": "Mese corrente · {{count}} sessioni",
"dailyRate": "Tariffa giornaliera",
"extras": "Extra",
"checkIn": "Entrata",
"checkOut": "Uscita",
"quickSupply": "Prodotto mancante",
"supplyName": "Prodotto",
"supplyPlaceholder": "Cosa manca?",
"checkedInToast": "Entrata registrata.",
"checkedOutToast": "Uscita registrata.",
"supplyAddedToast": "Aggiunto alla lista della spesa.",
"overdue": "In ritardo",
"dueToday": "Oggi",
"ok": "OK",
"noTasks": "Nessuna attività di pulizia.",
"everyDays": "Ogni {{days}} giorni",
"completeTask": "Completa {{name}}",
"taskDoneToast": "Attività completata.",
"reportTitle": "Segnala problema",
"problemDescription": "Descrizione del problema",
"problemPlaceholder": "Esempio: lampadina bruciata",
"addPhoto": "Aggiungi foto",
"sendReport": "Invia",
"reportSentToast": "Problema segnalato.",
"recentReports": "Segnalazioni recenti",
"addTask": "Aggiungi attività",
"taskName": "Attività",
"taskNamePlaceholder": "Esempio: pulire i bagni",
"taskArea": "Area",
"taskAreaPlaceholder": "Esempio: bagno",
"taskFrequency": "Frequenza",
"createTask": "Crea attività",
"taskCreatedToast": "Attività di pulizia creata.",
"dashboard": "Dashboard",
"reports": "Reports",
"visitsThisMonth": "Visite del mese",
"lastVisit": "Ultima visita",
"pendingChores": "Attività aperte",
"finishedChores": "Attività completate",
"payments": "Pagamenti",
"pendingPayments": "Pagamenti in sospeso",
"monthlyPayments": "Pagamenti mensili",
"noPaymentData": "Nessun dato di pagamento.",
"noVisits": "Nessuna visita",
"noWorkerTitle": "Nessun profilo pulizie",
"noWorkerHint": "Crea il profilo per definire contatti, tariffa e calendario pagamenti.",
"taskTemplates": "Attività suggerite",
"addCustomTask": "Aggiungi attività personalizzata",
"noReports": "Nessuna segnalazione.",
"profileTitle": "Profilo pulizie",
"profilePicture": "Foto profilo",
"workerName": "Nome",
"workerUsername": "Nome utente",
"workerPhone": "Telefono",
"workerEmail": "E-mail",
"workerBirthDate": "Compleanno",
"paymentSchedule": "Calendario pagamenti",
"scheduleDaily": "Ogni visita",
"scheduleTwiceMonthly": "Due volte al mese",
"scheduleMonthly": "Mensile",
"profileColor": "Colore profilo",
"workerNotes": "Note",
"workerSavedToast": "Profilo salvato.",
"staff": "Staff",
"staffTitle": "Staff pulizie",
"addWorker": "Aggiungi persona",
"editWorker": "Modifica persona",
"noWorkers": "Nessuna persona registrata.",
"moreWorkers": "+{{count}} altre",
"checkInDisabled": "Aggiungi una persona prima dellentrata.",
"calendarColor": "Colore calendario",
"visitRecordedAt": "Visit recorded at",
"checkedInToday": "Recorded today",
"visitReports": "Staff visit reports",
"noVisitReports": "No staff visits recorded this month.",
"openVisitReport": "Open visit report",
"visitReportDetails": "Visit report",
"paymentPaid": "Paid",
"paymentPending": "Pending",
"totalPayment": "Total payment",
"paymentStatus": "Payment status",
"paymentTask": "Payment task",
"calendarEvent": "Calendar event",
"notAvailable": "Not available",
"calendarVisitTitle": "Housekeeping: {{name}}",
"paymentTaskTitle": "Pay {{name}} for housekeeping",
"paymentTaskDescription": "Housekeeping visit on {{date}}. Amount due: {{amount}}.",
"staffLogTitle": "{{name}} visits",
"staffLogHint": "Edit visit dates, amounts, and linked records.",
"filterMonth": "Month",
"editVisit": "Edit visit",
"deleteVisit": "Delete visit",
"deleteVisitConfirm": "Delete this visit? The linked calendar event and payment task will also be removed.",
"visitDeletedToast": "Visit deleted.",
"visitSavedToast": "Visit updated.",
"visitDate": "Visit date",
"markPaid": "Mark paid",
"visitPaidToast": "Payment marked as paid.",
"receiptUploadTitle": "Upload payment receipt",
"receiptUploadHint": "Attach a payment receipt. It will appear in Documents.",
"receiptDocumentName": "Receipt - {{name}} - {{date}}",
"receiptDocumentDescription": "Payment receipt for {{name}} housekeeping visit on {{date}}.",
"taskTemplateData": {
"cleanBathrooms": {
"name": "Pulire i bagni",
"area": "Bagni"
},
"mopKitchenFloor": {
"name": "Lavare il pavimento della cucina",
"area": "Cucina"
},
"dustLivingRoom": {
"name": "Spolverare il soggiorno",
"area": "Soggiorno"
},
"changeBedLinens": {
"name": "Cambiare la biancheria da letto",
"area": "Camere"
},
"cleanRefrigerator": {
"name": "Pulire il frigorifero",
"area": "Cucina"
},
"cleanWindows": {
"name": "Pulire le finestre",
"area": "Tutta la casa"
},
"deepCleanOven": {
"name": "Pulizia profonda del forno",
"area": "Cucina"
},
"washOutdoor": {
"name": "Lavare balcone/patio",
"area": "Esterno"
}
}
},
"userMultiSelect": {
"moreUsers": "weitere",
"nobody": "- Niemand -"
}
}
}
+250 -7
View File
@@ -54,7 +54,8 @@
"more": "もっと見る",
"documents": "書類",
"kitchen": "キッチン",
"search": "検索"
"search": "検索",
"housekeeping": "Housekeeping"
},
"dashboard": {
"title": "ダッシュボード",
@@ -205,7 +206,18 @@
"kanbanArchived": "アーカイブ済み",
"reminderNeedsDueDate": "タスクのリマインダーを有効にするには期日を設定してください。",
"emptyAction": "タスクを作成",
"navLabelOverdue": "タスク、{{count}}件期限超過"
"navLabelOverdue": "タスク、{{count}}件期限超過",
"bulkArchive": "Archive",
"bulkArchived": "Tasks archived.",
"bulkDelete": "Delete",
"bulkDeleteConfirm": "Delete {{count}} tasks permanently?",
"bulkDeleted": "Tasks deleted.",
"bulkMarkDone": "Mark done",
"bulkMarkOpen": "Mark open",
"bulkSelect": "Bulk select",
"bulkSelectedCount": "{{count}} selected",
"bulkStatusChanged": "Status changed.",
"selectTask": "Select task"
},
"shopping": {
"title": "買い物",
@@ -479,7 +491,13 @@
"colorPurple": "紫",
"colorRed": "赤",
"colorSkyBlue": "空色",
"colorYellow": "黄"
"colorYellow": "黄",
"iconCleaning": "Cleaning",
"caldavTargetHint": "Choose a CalDAV calendar to sync this event.",
"caldavTargetLabel": "Sync to CalDAV",
"caldavTargetLocal": "Store locally only",
"attachmentDocumentName": "{{title}} - {{name}}",
"attachmentDocumentDescription": "カレンダー予定「{{title}}」にアップロードされた添付ファイル。"
},
"notes": {
"title": "メモボード",
@@ -977,7 +995,72 @@
"addressbookEnabled": "Addressbook enabled",
"addressbookDisabled": "Addressbook disabled",
"addressbooksRefreshed": "Addressbooks refreshed",
"deleteCardDAVAccountConfirm": "Really delete CardDAV account? All synced contacts will remain but lose their CardDAV link."
"deleteCardDAVAccountConfirm": "Really delete CardDAV account? All synced contacts will remain but lose their CardDAV link.",
"sectionHousekeeping": "Housekeeping",
"housekeepingPaymentsTitle": "Payment tasks",
"housekeepingPaymentTasksLabel": "Create a payment task on each housekeeper check-in",
"housekeepingPaymentTasksHint": "When enabled, each check-in creates a task for paying the staff member. Completing that task marks the visit payment as paid.",
"housekeepingPaymentTasksSaved": "Housekeeping payment setting saved.",
"backupSchedulerDisabled": "Disabled",
"backupSchedulerEnabled": "Enabled",
"backupSchedulerHint": "Scheduled backups are created automatically and old backups are rotated.",
"backupSchedulerKeep": "Retention",
"backupSchedulerKeepCount": "{{count}} backups",
"backupSchedulerLastBackup": "Last backup",
"backupSchedulerLastFail": "{{date}} (failed)",
"backupSchedulerLastSuccess": "{{date}} (successful)",
"backupSchedulerNever": "No backup created yet",
"backupSchedulerSchedule": "Schedule",
"backupSchedulerStatus": "Status",
"backupSchedulerTitle": "Automatic Backups",
"backupSchedulerTrigger": "Create backup now",
"backupSchedulerTriggeredToast": "Backup created successfully.",
"backupSchedulerTriggering": "Creating backup...",
"breadcrumbLabel": "Pfad",
"caldavAccountAdded": "CalDAV account added successfully",
"caldavAccountDeleted": "CalDAV account removed",
"caldavAddAccount": "Add CalDAV Account",
"caldavCalendarsToggle": "Show/hide calendars",
"caldavConnectionFailed": "Connection to CalDAV server failed",
"caldavDescription": "Connect multiple CalDAV accounts (iCloud, Nextcloud, Radicale, Baikal, etc.) and choose which calendars to sync.",
"caldavEmptyState": "No CalDAV accounts connected yet. Add your first account to get started.",
"caldavNameLabel": "Account Name",
"caldavNamePlaceholder": "e.g. My Radicale, iCloud, Nextcloud",
"caldavPasswordHint": "For iCloud: Use app-specific password from appleid.apple.com",
"caldavPasswordLabel": "Password",
"caldavRefreshCalendars": "Refresh calendars",
"caldavSyncFailed": "CalDAV sync failed",
"caldavSyncSuccess": "CalDAV sync successful",
"caldavTitle": "CalDAV Calendars",
"caldavUrlHint": "The base URL of your CalDAV server",
"caldavUsernameLabel": "Username",
"calendarDisabled": "Calendar disabled",
"calendarEnabled": "Calendar enabled",
"calendarsRefreshed": "Calendars refreshed",
"deleteAccountConfirm": "Really delete CalDAV account? All synced calendars will be removed.",
"emptyStateAddFirst": "Füge dein erstes Konto hinzu",
"emptyStateNoAccounts": "Noch keine Konten verbunden",
"helpTooltipCalDAV": "CalDAV ermöglicht die Synchronisation von Kalendern mit iCloud, Nextcloud und anderen CalDAV-Servern.",
"helpTooltipCardDAV": "CardDAV ermöglicht die Synchronisation von Kontakten mit iCloud, Nextcloud und anderen CardDAV-Servern.",
"lastSync": "Last synced",
"modulesHint": "Disabled modules disappear from the navigation. Data is preserved and reappears once a module is re-enabled.",
"modulesSaved": "Module visibility saved.",
"modulesTitle": "Active modules",
"navigationLabel": "Einstellungsnavigation",
"sectionAdmin": "Administration",
"sectionCloudServices": "Cloud-Dienste",
"sectionModules": "Modules",
"sectionModulesNav": "Module",
"sectionOpenStandards": "CalDAV & CardDAV",
"sectionPersonal": "Persönlich",
"sectionSync": "Synchronisation",
"statusError": "Fehler",
"statusNeverSynced": "Noch nie synchronisiert",
"statusSynced": "Synchronisiert",
"statusSyncing": "Synchronisiert…",
"syncedAgo": "vor {{time}}",
"tabSyncCalendar": "Kalender",
"tabSyncContacts": "Kontakte"
},
"login": {
"tagline": "家族計画。安全。プライバシー重視。オープンソース。",
@@ -1120,7 +1203,7 @@
"customWeeks": "Weeks"
},
"onboarding": {
"step1Title": "Welcome to Oikos",
"step1Title": "{{name}}へようこそ",
"step1Body": "Your personal family planner. Tasks, calendar, shopping and more all in one place.",
"step2Title": "ナビゲーションとモジュール",
"step2Body": "画面下部からダッシュボードとカレンダーに直接アクセスできます。···ボタンでキッチン、メモ、連絡先などの追加モジュールを開きます。",
@@ -1203,7 +1286,18 @@
},
"dropzoneTitle": "ここにファイルをドロップ、またはクリックして選択",
"dropzoneHint": "この領域にファイルをドラッグするか、ファイル選択を使用します。",
"selectedFileLabel": "選択済み: {{name}}"
"selectedFileLabel": "選択済み: {{name}}",
"addFolderButton": "Add folder",
"allFolders": "All folders",
"folderLabel": "Folder",
"noFolder": "No folder",
"newFolderTitle": "New folder",
"folderNameLabel": "Folder name",
"createFolderAction": "Create folder",
"folderCreatedToast": "Folder created.",
"housekeepingFolder": "ハウスキーピング",
"calendarItemsFolder": "カレンダー項目",
"folderBrowserTitle": "フォルダーを参照"
},
"shortcuts": {
"goKitchen": "キッチン",
@@ -1215,5 +1309,154 @@
"help": "キーボードショートカット",
"new": "新規エントリを作成",
"search": "検索を開く"
},
"housekeeping": {
"title": "Cleaner workspace",
"bottomNav": "Housekeeping navigation",
"home": "Home",
"tasks": "Tasks",
"report": "Report",
"notCheckedIn": "Not checked in",
"checkedInAt": "Checked in at",
"monthTotal": "Current month · {{count}} sessions",
"dailyRate": "Daily rate",
"extras": "Extras",
"checkIn": "Check in",
"checkOut": "Check out",
"quickSupply": "Missing product",
"supplyName": "Product name",
"supplyPlaceholder": "What is missing?",
"checkedInToast": "Check-in recorded.",
"checkedOutToast": "Check-out recorded.",
"supplyAddedToast": "Added to the shopping list.",
"overdue": "Overdue",
"dueToday": "Due today",
"ok": "OK",
"noTasks": "No housekeeping tasks yet.",
"everyDays": "Every {{days}} days",
"completeTask": "Complete {{name}}",
"taskDoneToast": "Task completed.",
"reportTitle": "Report a problem",
"problemDescription": "Problem description",
"problemPlaceholder": "Example: burnt-out light bulb",
"addPhoto": "Add photo",
"sendReport": "Send report",
"reportSentToast": "Problem reported.",
"recentReports": "Recent reports",
"addTask": "Add task",
"taskName": "Task",
"taskNamePlaceholder": "Example: Clean bathrooms",
"taskArea": "Area",
"taskAreaPlaceholder": "Example: Bathroom",
"taskFrequency": "Frequency",
"createTask": "Create task",
"taskCreatedToast": "Housekeeping task created.",
"dashboard": "Dashboard",
"reports": "Reports",
"visitsThisMonth": "Visits this month",
"lastVisit": "Last visit",
"pendingChores": "Pending chores",
"finishedChores": "Finished chores",
"payments": "Payments",
"pendingPayments": "Pending payments",
"monthlyPayments": "Monthly payments",
"noPaymentData": "No payment data yet.",
"noVisits": "No visits yet",
"noWorkerTitle": "No housekeeper profile",
"noWorkerHint": "Create the worker profile to define contacts, rate, and payment schedule.",
"taskTemplates": "Suggested chores",
"addCustomTask": "Add custom chore",
"noReports": "No reports yet.",
"profileTitle": "Housekeeper profile",
"profilePicture": "Housekeeper profile picture",
"workerName": "Name",
"workerUsername": "Username",
"workerPhone": "Phone",
"workerEmail": "Email",
"workerBirthDate": "Birthday",
"paymentSchedule": "Payment schedule",
"scheduleDaily": "Every visit",
"scheduleTwiceMonthly": "Twice a month",
"scheduleMonthly": "Monthly",
"profileColor": "Profile color",
"workerNotes": "Notes",
"workerSavedToast": "Housekeeper profile saved.",
"staff": "Staff",
"staffTitle": "Housekeeping staff",
"addWorker": "Add housekeeper",
"editWorker": "Edit housekeeper",
"noWorkers": "No housekeepers registered yet.",
"moreWorkers": "+{{count}} more",
"checkInDisabled": "Add a housekeeper before checking in.",
"calendarColor": "Calendar color",
"visitRecordedAt": "Visit recorded at",
"checkedInToday": "Recorded today",
"visitReports": "Staff visit reports",
"noVisitReports": "No staff visits recorded this month.",
"openVisitReport": "Open visit report",
"visitReportDetails": "Visit report",
"paymentPaid": "Paid",
"paymentPending": "Pending",
"totalPayment": "Total payment",
"paymentStatus": "Payment status",
"paymentTask": "Payment task",
"calendarEvent": "Calendar event",
"notAvailable": "Not available",
"calendarVisitTitle": "Housekeeping: {{name}}",
"paymentTaskTitle": "Pay {{name}} for housekeeping",
"paymentTaskDescription": "Housekeeping visit on {{date}}. Amount due: {{amount}}.",
"staffLogTitle": "{{name}} visits",
"staffLogHint": "Edit visit dates, amounts, and linked records.",
"filterMonth": "Month",
"editVisit": "Edit visit",
"deleteVisit": "Delete visit",
"deleteVisitConfirm": "Delete this visit? The linked calendar event and payment task will also be removed.",
"visitDeletedToast": "Visit deleted.",
"visitSavedToast": "Visit updated.",
"visitDate": "Visit date",
"markPaid": "Mark paid",
"visitPaidToast": "Payment marked as paid.",
"receiptUploadTitle": "Upload payment receipt",
"receiptUploadHint": "Attach a payment receipt. It will appear in Documents.",
"receiptDocumentName": "Receipt - {{name}} - {{date}}",
"receiptDocumentDescription": "Payment receipt for {{name}} housekeeping visit on {{date}}.",
"taskTemplateData": {
"cleanBathrooms": {
"name": "浴室を掃除",
"area": "浴室"
},
"mopKitchenFloor": {
"name": "キッチンの床を拭く",
"area": "キッチン"
},
"dustLivingRoom": {
"name": "リビングのほこり取り",
"area": "リビング"
},
"changeBedLinens": {
"name": "寝具を交換",
"area": "寝室"
},
"cleanRefrigerator": {
"name": "冷蔵庫を掃除",
"area": "キッチン"
},
"cleanWindows": {
"name": "窓を掃除",
"area": "家全体"
},
"deepCleanOven": {
"name": "オーブンを徹底掃除",
"area": "キッチン"
},
"washOutdoor": {
"name": "バルコニー/パティオを洗う",
"area": "屋外"
}
}
},
"userMultiSelect": {
"moreUsers": "weitere",
"nobody": "- Niemand -"
}
}
}
+250 -7
View File
@@ -54,7 +54,8 @@
"more": "Mais",
"documents": "Documentos",
"kitchen": "Cozinha",
"search": "Pesquisar"
"search": "Pesquisar",
"housekeeping": "Faxina"
},
"dashboard": {
"title": "Painel",
@@ -205,7 +206,18 @@
"swipedOpenToast": "Marcado como aberto.",
"reminderNeedsDueDate": "Defina uma data de vencimento para habilitar lembretes da tarefa.",
"emptyAction": "Criar tarefa",
"navLabelOverdue": "Tarefas, {{count}} atrasadas"
"navLabelOverdue": "Tarefas, {{count}} atrasadas",
"bulkArchive": "Archive",
"bulkArchived": "Tasks archived.",
"bulkDelete": "Delete",
"bulkDeleteConfirm": "Delete {{count}} tasks permanently?",
"bulkDeleted": "Tasks deleted.",
"bulkMarkDone": "Mark done",
"bulkMarkOpen": "Mark open",
"bulkSelect": "Bulk select",
"bulkSelectedCount": "{{count}} selected",
"bulkStatusChanged": "Status changed.",
"selectTask": "Select task"
},
"shopping": {
"title": "Compras",
@@ -479,7 +491,13 @@
"colorPurple": "Roxo",
"colorRed": "Vermelho",
"colorSkyBlue": "Azul céu",
"colorYellow": "Amarelo"
"colorYellow": "Amarelo",
"iconCleaning": "Faxina",
"caldavTargetHint": "Choose a CalDAV calendar to sync this event.",
"caldavTargetLabel": "Sync to CalDAV",
"caldavTargetLocal": "Store locally only",
"attachmentDocumentName": "{{title}} - {{name}}",
"attachmentDocumentDescription": "Anexo enviado para o evento \"{{title}}\" do calendário."
},
"notes": {
"title": "Quadro de notas",
@@ -977,7 +995,72 @@
"addressbookEnabled": "Addressbook enabled",
"addressbookDisabled": "Addressbook disabled",
"addressbooksRefreshed": "Addressbooks refreshed",
"deleteCardDAVAccountConfirm": "Really delete CardDAV account? All synced contacts will remain but lose their CardDAV link."
"deleteCardDAVAccountConfirm": "Really delete CardDAV account? All synced contacts will remain but lose their CardDAV link.",
"sectionHousekeeping": "Faxina",
"housekeepingPaymentsTitle": "Tarefas de pagamento",
"housekeepingPaymentTasksLabel": "Criar uma tarefa de pagamento a cada entrada da faxineira",
"housekeepingPaymentTasksHint": "Quando ativo, cada entrada cria uma tarefa para pagar a pessoa da equipe. Ao concluir essa tarefa, o pagamento da visita é marcado como pago.",
"housekeepingPaymentTasksSaved": "Configuração de pagamento da faxina salva.",
"backupSchedulerDisabled": "Disabled",
"backupSchedulerEnabled": "Enabled",
"backupSchedulerHint": "Scheduled backups are created automatically and old backups are rotated.",
"backupSchedulerKeep": "Retention",
"backupSchedulerKeepCount": "{{count}} backups",
"backupSchedulerLastBackup": "Last backup",
"backupSchedulerLastFail": "{{date}} (failed)",
"backupSchedulerLastSuccess": "{{date}} (successful)",
"backupSchedulerNever": "No backup created yet",
"backupSchedulerSchedule": "Schedule",
"backupSchedulerStatus": "Status",
"backupSchedulerTitle": "Automatic Backups",
"backupSchedulerTrigger": "Create backup now",
"backupSchedulerTriggeredToast": "Backup created successfully.",
"backupSchedulerTriggering": "Creating backup...",
"breadcrumbLabel": "Pfad",
"caldavAccountAdded": "CalDAV account added successfully",
"caldavAccountDeleted": "CalDAV account removed",
"caldavAddAccount": "Add CalDAV Account",
"caldavCalendarsToggle": "Show/hide calendars",
"caldavConnectionFailed": "Connection to CalDAV server failed",
"caldavDescription": "Connect multiple CalDAV accounts (iCloud, Nextcloud, Radicale, Baikal, etc.) and choose which calendars to sync.",
"caldavEmptyState": "No CalDAV accounts connected yet. Add your first account to get started.",
"caldavNameLabel": "Account Name",
"caldavNamePlaceholder": "e.g. My Radicale, iCloud, Nextcloud",
"caldavPasswordHint": "For iCloud: Use app-specific password from appleid.apple.com",
"caldavPasswordLabel": "Password",
"caldavRefreshCalendars": "Refresh calendars",
"caldavSyncFailed": "CalDAV sync failed",
"caldavSyncSuccess": "CalDAV sync successful",
"caldavTitle": "CalDAV Calendars",
"caldavUrlHint": "The base URL of your CalDAV server",
"caldavUsernameLabel": "Username",
"calendarDisabled": "Calendar disabled",
"calendarEnabled": "Calendar enabled",
"calendarsRefreshed": "Calendars refreshed",
"deleteAccountConfirm": "Really delete CalDAV account? All synced calendars will be removed.",
"emptyStateAddFirst": "Füge dein erstes Konto hinzu",
"emptyStateNoAccounts": "Noch keine Konten verbunden",
"helpTooltipCalDAV": "CalDAV ermöglicht die Synchronisation von Kalendern mit iCloud, Nextcloud und anderen CalDAV-Servern.",
"helpTooltipCardDAV": "CardDAV ermöglicht die Synchronisation von Kontakten mit iCloud, Nextcloud und anderen CardDAV-Servern.",
"lastSync": "Last synced",
"modulesHint": "Disabled modules disappear from the navigation. Data is preserved and reappears once a module is re-enabled.",
"modulesSaved": "Module visibility saved.",
"modulesTitle": "Active modules",
"navigationLabel": "Einstellungsnavigation",
"sectionAdmin": "Administration",
"sectionCloudServices": "Cloud-Dienste",
"sectionModules": "Modules",
"sectionModulesNav": "Module",
"sectionOpenStandards": "CalDAV & CardDAV",
"sectionPersonal": "Persönlich",
"sectionSync": "Synchronisation",
"statusError": "Fehler",
"statusNeverSynced": "Noch nie synchronisiert",
"statusSynced": "Synchronisiert",
"statusSyncing": "Synchronisiert…",
"syncedAgo": "vor {{time}}",
"tabSyncCalendar": "Kalender",
"tabSyncContacts": "Kontakte"
},
"login": {
"tagline": "Planejamento familiar. Seguro. Privado. Código aberto.",
@@ -1120,7 +1203,7 @@
"customWeeks": "Semanas"
},
"onboarding": {
"step1Title": "Welcome to Oikos",
"step1Title": "Bem-vindo ao {{name}}",
"step1Body": "Your personal family planner. Tasks, calendar, shopping and more all in one place.",
"step2Title": "Navegação e módulos",
"step2Body": "Na parte inferior acessa diretamente o Painel e o Calendário. Com o botão ··· abre módulos adicionais como Cozinha, Notas e Contactos.",
@@ -1203,7 +1286,18 @@
},
"dropzoneTitle": "Solte o arquivo aqui ou clique para escolher",
"dropzoneHint": "Arraste um arquivo para esta area, ou use o seletor de arquivos.",
"selectedFileLabel": "Selecionado: {{name}}"
"selectedFileLabel": "Selecionado: {{name}}",
"addFolderButton": "Adicionar pasta",
"allFolders": "Todas as pastas",
"folderLabel": "Pasta",
"noFolder": "Sem pasta",
"newFolderTitle": "Nova pasta",
"folderNameLabel": "Nome da pasta",
"createFolderAction": "Criar pasta",
"folderCreatedToast": "Pasta criada.",
"housekeepingFolder": "Faxina",
"calendarItemsFolder": "Itens do calendário",
"folderBrowserTitle": "Navegar por pastas"
},
"shortcuts": {
"goKitchen": "Cozinha",
@@ -1215,5 +1309,154 @@
"help": "Atalhos de teclado",
"new": "Criar nova entrada",
"search": "Abrir pesquisa"
},
"housekeeping": {
"title": "Área da faxineira",
"bottomNav": "Navegação da faxina",
"home": "Início",
"tasks": "Tarefas",
"report": "Reportar",
"notCheckedIn": "Ponto não iniciado",
"checkedInAt": "Entrada às",
"monthTotal": "Mês atual · {{count}} diárias",
"dailyRate": "Valor da diária",
"extras": "Extras",
"checkIn": "Entrar",
"checkOut": "Sair",
"quickSupply": "Faltou produto",
"supplyName": "Nome do produto",
"supplyPlaceholder": "O que faltou?",
"checkedInToast": "Entrada registrada.",
"checkedOutToast": "Saída registrada.",
"supplyAddedToast": "Adicionado à lista de compras.",
"overdue": "Atrasada",
"dueToday": "Hoje",
"ok": "Em dia",
"noTasks": "Nenhuma tarefa de faxina cadastrada.",
"everyDays": "A cada {{days}} dias",
"completeTask": "Concluir {{name}}",
"taskDoneToast": "Tarefa concluída.",
"reportTitle": "Reportar problema",
"problemDescription": "Descrição do problema",
"problemPlaceholder": "Ex: lâmpada queimada",
"addPhoto": "Adicionar foto",
"sendReport": "Enviar ocorrência",
"reportSentToast": "Problema reportado.",
"recentReports": "Ocorrências recentes",
"addTask": "Adicionar tarefa",
"taskName": "Tarefa",
"taskNamePlaceholder": "Ex: Limpar banheiros",
"taskArea": "Área",
"taskAreaPlaceholder": "Ex: Banheiro",
"taskFrequency": "Frequência",
"createTask": "Criar tarefa",
"taskCreatedToast": "Tarefa de faxina criada.",
"dashboard": "Painel",
"reports": "Relatórios",
"visitsThisMonth": "Visitas no mês",
"lastVisit": "Última visita",
"pendingChores": "Tarefas pendentes",
"finishedChores": "Tarefas concluídas",
"payments": "Pagamentos",
"pendingPayments": "Pagamentos pendentes",
"monthlyPayments": "Pagamentos mensais",
"noPaymentData": "Ainda não há dados de pagamento.",
"noVisits": "Nenhuma visita ainda",
"noWorkerTitle": "Nenhum perfil de faxineira",
"noWorkerHint": "Crie o perfil para definir contatos, diária e agenda de pagamento.",
"taskTemplates": "Tarefas sugeridas",
"addCustomTask": "Adicionar tarefa personalizada",
"noReports": "Nenhuma ocorrência ainda.",
"profileTitle": "Perfil da faxineira",
"profilePicture": "Foto de perfil da faxineira",
"workerName": "Nome",
"workerUsername": "Usuário",
"workerPhone": "Telefone",
"workerEmail": "E-mail",
"workerBirthDate": "Aniversário",
"paymentSchedule": "Agenda de pagamento",
"scheduleDaily": "A cada visita",
"scheduleTwiceMonthly": "Duas vezes por mês",
"scheduleMonthly": "Mensal",
"profileColor": "Cor do perfil",
"workerNotes": "Observações",
"workerSavedToast": "Perfil da faxineira salvo.",
"staff": "Equipe",
"staffTitle": "Equipe de faxina",
"addWorker": "Adicionar faxineira",
"editWorker": "Editar faxineira",
"noWorkers": "Nenhuma faxineira cadastrada.",
"moreWorkers": "+{{count}} a mais",
"checkInDisabled": "Cadastre uma faxineira antes de fazer check-in.",
"calendarColor": "Cor no calendário",
"visitRecordedAt": "Visita registrada às",
"checkedInToday": "Registrada hoje",
"visitReports": "Relatórios de visitas da equipe",
"noVisitReports": "Nenhuma visita da equipe registrada neste mês.",
"openVisitReport": "Abrir relatório da visita",
"visitReportDetails": "Relatório da visita",
"paymentPaid": "Pago",
"paymentPending": "Pendente",
"totalPayment": "Pagamento total",
"paymentStatus": "Status do pagamento",
"paymentTask": "Tarefa de pagamento",
"calendarEvent": "Evento do calendário",
"notAvailable": "Não disponível",
"calendarVisitTitle": "Faxina: {{name}}",
"paymentTaskTitle": "Pagar {{name}} pela faxina",
"paymentTaskDescription": "Visita de faxina em {{date}}. Valor devido: {{amount}}.",
"staffLogTitle": "Visitas de {{name}}",
"staffLogHint": "Edite datas, valores e registros vinculados.",
"filterMonth": "Mês",
"editVisit": "Editar visita",
"deleteVisit": "Excluir visita",
"deleteVisitConfirm": "Excluir esta visita? O evento do calendário e a tarefa de pagamento vinculados também serão removidos.",
"visitDeletedToast": "Visita excluída.",
"visitSavedToast": "Visita atualizada.",
"visitDate": "Data da visita",
"markPaid": "Marcar pago",
"visitPaidToast": "Pagamento marcado como pago.",
"receiptUploadTitle": "Enviar comprovante de pagamento",
"receiptUploadHint": "Anexe um comprovante de pagamento. Ele aparecerá em Documentos.",
"receiptDocumentName": "Comprovante - {{name}} - {{date}}",
"receiptDocumentDescription": "Comprovante de pagamento da visita de faxina de {{name}} em {{date}}.",
"taskTemplateData": {
"cleanBathrooms": {
"name": "Limpar banheiros",
"area": "Banheiros"
},
"mopKitchenFloor": {
"name": "Passar pano no piso da cozinha",
"area": "Cozinha"
},
"dustLivingRoom": {
"name": "Tirar pó da sala",
"area": "Sala"
},
"changeBedLinens": {
"name": "Trocar roupa de cama",
"area": "Quartos"
},
"cleanRefrigerator": {
"name": "Limpar geladeira",
"area": "Cozinha"
},
"cleanWindows": {
"name": "Limpar janelas",
"area": "Casa toda"
},
"deepCleanOven": {
"name": "Limpeza profunda do forno",
"area": "Cozinha"
},
"washOutdoor": {
"name": "Lavar varanda/pátio",
"area": "Área externa"
}
}
},
"userMultiSelect": {
"moreUsers": "weitere",
"nobody": "- Niemand -"
}
}
}
+250 -7
View File
@@ -54,7 +54,8 @@
"more": "Ещё",
"documents": "Документы",
"kitchen": "Кухня",
"search": "Поиск"
"search": "Поиск",
"housekeeping": "Housekeeping"
},
"dashboard": {
"title": "Обзор",
@@ -205,7 +206,18 @@
"kanbanArchived": "Архивировано",
"reminderNeedsDueDate": "Установите срок выполнения, чтобы включить напоминания о задаче.",
"emptyAction": "Создать задачу",
"navLabelOverdue": "Задачи, {{count}} просрочено"
"navLabelOverdue": "Задачи, {{count}} просрочено",
"bulkArchive": "Archive",
"bulkArchived": "Tasks archived.",
"bulkDelete": "Delete",
"bulkDeleteConfirm": "Delete {{count}} tasks permanently?",
"bulkDeleted": "Tasks deleted.",
"bulkMarkDone": "Mark done",
"bulkMarkOpen": "Mark open",
"bulkSelect": "Bulk select",
"bulkSelectedCount": "{{count}} selected",
"bulkStatusChanged": "Status changed.",
"selectTask": "Select task"
},
"shopping": {
"title": "Покупки",
@@ -479,7 +491,13 @@
"colorPurple": "Фиолетовый",
"colorRed": "Красный",
"colorSkyBlue": "Небесно-голубой",
"colorYellow": "Жёлтый"
"colorYellow": "Жёлтый",
"iconCleaning": "Cleaning",
"caldavTargetHint": "Choose a CalDAV calendar to sync this event.",
"caldavTargetLabel": "Sync to CalDAV",
"caldavTargetLocal": "Store locally only",
"attachmentDocumentName": "{{title}} - {{name}}",
"attachmentDocumentDescription": "Вложение загружено для события календаря «{{title}}»."
},
"notes": {
"title": "Заметки",
@@ -977,7 +995,72 @@
"addressbookEnabled": "Addressbook enabled",
"addressbookDisabled": "Addressbook disabled",
"addressbooksRefreshed": "Addressbooks refreshed",
"deleteCardDAVAccountConfirm": "Really delete CardDAV account? All synced contacts will remain but lose their CardDAV link."
"deleteCardDAVAccountConfirm": "Really delete CardDAV account? All synced contacts will remain but lose their CardDAV link.",
"sectionHousekeeping": "Housekeeping",
"housekeepingPaymentsTitle": "Payment tasks",
"housekeepingPaymentTasksLabel": "Create a payment task on each housekeeper check-in",
"housekeepingPaymentTasksHint": "When enabled, each check-in creates a task for paying the staff member. Completing that task marks the visit payment as paid.",
"housekeepingPaymentTasksSaved": "Housekeeping payment setting saved.",
"backupSchedulerDisabled": "Disabled",
"backupSchedulerEnabled": "Enabled",
"backupSchedulerHint": "Scheduled backups are created automatically and old backups are rotated.",
"backupSchedulerKeep": "Retention",
"backupSchedulerKeepCount": "{{count}} backups",
"backupSchedulerLastBackup": "Last backup",
"backupSchedulerLastFail": "{{date}} (failed)",
"backupSchedulerLastSuccess": "{{date}} (successful)",
"backupSchedulerNever": "No backup created yet",
"backupSchedulerSchedule": "Schedule",
"backupSchedulerStatus": "Status",
"backupSchedulerTitle": "Automatic Backups",
"backupSchedulerTrigger": "Create backup now",
"backupSchedulerTriggeredToast": "Backup created successfully.",
"backupSchedulerTriggering": "Creating backup...",
"breadcrumbLabel": "Pfad",
"caldavAccountAdded": "CalDAV account added successfully",
"caldavAccountDeleted": "CalDAV account removed",
"caldavAddAccount": "Add CalDAV Account",
"caldavCalendarsToggle": "Show/hide calendars",
"caldavConnectionFailed": "Connection to CalDAV server failed",
"caldavDescription": "Connect multiple CalDAV accounts (iCloud, Nextcloud, Radicale, Baikal, etc.) and choose which calendars to sync.",
"caldavEmptyState": "No CalDAV accounts connected yet. Add your first account to get started.",
"caldavNameLabel": "Account Name",
"caldavNamePlaceholder": "e.g. My Radicale, iCloud, Nextcloud",
"caldavPasswordHint": "For iCloud: Use app-specific password from appleid.apple.com",
"caldavPasswordLabel": "Password",
"caldavRefreshCalendars": "Refresh calendars",
"caldavSyncFailed": "CalDAV sync failed",
"caldavSyncSuccess": "CalDAV sync successful",
"caldavTitle": "CalDAV Calendars",
"caldavUrlHint": "The base URL of your CalDAV server",
"caldavUsernameLabel": "Username",
"calendarDisabled": "Calendar disabled",
"calendarEnabled": "Calendar enabled",
"calendarsRefreshed": "Calendars refreshed",
"deleteAccountConfirm": "Really delete CalDAV account? All synced calendars will be removed.",
"emptyStateAddFirst": "Füge dein erstes Konto hinzu",
"emptyStateNoAccounts": "Noch keine Konten verbunden",
"helpTooltipCalDAV": "CalDAV ermöglicht die Synchronisation von Kalendern mit iCloud, Nextcloud und anderen CalDAV-Servern.",
"helpTooltipCardDAV": "CardDAV ermöglicht die Synchronisation von Kontakten mit iCloud, Nextcloud und anderen CardDAV-Servern.",
"lastSync": "Last synced",
"modulesHint": "Disabled modules disappear from the navigation. Data is preserved and reappears once a module is re-enabled.",
"modulesSaved": "Module visibility saved.",
"modulesTitle": "Active modules",
"navigationLabel": "Einstellungsnavigation",
"sectionAdmin": "Administration",
"sectionCloudServices": "Cloud-Dienste",
"sectionModules": "Modules",
"sectionModulesNav": "Module",
"sectionOpenStandards": "CalDAV & CardDAV",
"sectionPersonal": "Persönlich",
"sectionSync": "Synchronisation",
"statusError": "Fehler",
"statusNeverSynced": "Noch nie synchronisiert",
"statusSynced": "Synchronisiert",
"statusSyncing": "Synchronisiert…",
"syncedAgo": "vor {{time}}",
"tabSyncCalendar": "Kalender",
"tabSyncContacts": "Kontakte"
},
"login": {
"tagline": "Семейное планирование. Безопасно. С уважением к приватности. Открытый исходный код.",
@@ -1120,7 +1203,7 @@
"customWeeks": "Weeks"
},
"onboarding": {
"step1Title": "Welcome to Oikos",
"step1Title": "Добро пожаловать в {{name}}",
"step1Body": "Your personal family planner. Tasks, calendar, shopping and more all in one place.",
"step2Title": "Навигация и модули",
"step2Body": "Внизу доступны Панель управления и Календарь напрямую. Кнопка ··· открывает дополнительные модули: Кухня, Заметки и Контакты.",
@@ -1203,7 +1286,18 @@
},
"dropzoneTitle": "Перетащите файл сюда или нажмите для выбора",
"dropzoneHint": "Перетащите файл в эту область или используйте выбор файла.",
"selectedFileLabel": "Выбрано: {{name}}"
"selectedFileLabel": "Выбрано: {{name}}",
"addFolderButton": "Add folder",
"allFolders": "All folders",
"folderLabel": "Folder",
"noFolder": "No folder",
"newFolderTitle": "New folder",
"folderNameLabel": "Folder name",
"createFolderAction": "Create folder",
"folderCreatedToast": "Folder created.",
"housekeepingFolder": "Уборка",
"calendarItemsFolder": "Элементы календаря",
"folderBrowserTitle": "Просмотр папок"
},
"shortcuts": {
"goKitchen": "Кухня",
@@ -1215,5 +1309,154 @@
"help": "Горячие клавиши",
"new": "Создать новую запись",
"search": "Открыть поиск"
},
"housekeeping": {
"title": "Cleaner workspace",
"bottomNav": "Housekeeping navigation",
"home": "Home",
"tasks": "Tasks",
"report": "Report",
"notCheckedIn": "Not checked in",
"checkedInAt": "Checked in at",
"monthTotal": "Current month · {{count}} sessions",
"dailyRate": "Daily rate",
"extras": "Extras",
"checkIn": "Check in",
"checkOut": "Check out",
"quickSupply": "Missing product",
"supplyName": "Product name",
"supplyPlaceholder": "What is missing?",
"checkedInToast": "Check-in recorded.",
"checkedOutToast": "Check-out recorded.",
"supplyAddedToast": "Added to the shopping list.",
"overdue": "Overdue",
"dueToday": "Due today",
"ok": "OK",
"noTasks": "No housekeeping tasks yet.",
"everyDays": "Every {{days}} days",
"completeTask": "Complete {{name}}",
"taskDoneToast": "Task completed.",
"reportTitle": "Report a problem",
"problemDescription": "Problem description",
"problemPlaceholder": "Example: burnt-out light bulb",
"addPhoto": "Add photo",
"sendReport": "Send report",
"reportSentToast": "Problem reported.",
"recentReports": "Recent reports",
"addTask": "Add task",
"taskName": "Task",
"taskNamePlaceholder": "Example: Clean bathrooms",
"taskArea": "Area",
"taskAreaPlaceholder": "Example: Bathroom",
"taskFrequency": "Frequency",
"createTask": "Create task",
"taskCreatedToast": "Housekeeping task created.",
"dashboard": "Dashboard",
"reports": "Reports",
"visitsThisMonth": "Visits this month",
"lastVisit": "Last visit",
"pendingChores": "Pending chores",
"finishedChores": "Finished chores",
"payments": "Payments",
"pendingPayments": "Pending payments",
"monthlyPayments": "Monthly payments",
"noPaymentData": "No payment data yet.",
"noVisits": "No visits yet",
"noWorkerTitle": "No housekeeper profile",
"noWorkerHint": "Create the worker profile to define contacts, rate, and payment schedule.",
"taskTemplates": "Suggested chores",
"addCustomTask": "Add custom chore",
"noReports": "No reports yet.",
"profileTitle": "Housekeeper profile",
"profilePicture": "Housekeeper profile picture",
"workerName": "Name",
"workerUsername": "Username",
"workerPhone": "Phone",
"workerEmail": "Email",
"workerBirthDate": "Birthday",
"paymentSchedule": "Payment schedule",
"scheduleDaily": "Every visit",
"scheduleTwiceMonthly": "Twice a month",
"scheduleMonthly": "Monthly",
"profileColor": "Profile color",
"workerNotes": "Notes",
"workerSavedToast": "Housekeeper profile saved.",
"staff": "Staff",
"staffTitle": "Housekeeping staff",
"addWorker": "Add housekeeper",
"editWorker": "Edit housekeeper",
"noWorkers": "No housekeepers registered yet.",
"moreWorkers": "+{{count}} more",
"checkInDisabled": "Add a housekeeper before checking in.",
"calendarColor": "Calendar color",
"visitRecordedAt": "Visit recorded at",
"checkedInToday": "Recorded today",
"visitReports": "Staff visit reports",
"noVisitReports": "No staff visits recorded this month.",
"openVisitReport": "Open visit report",
"visitReportDetails": "Visit report",
"paymentPaid": "Paid",
"paymentPending": "Pending",
"totalPayment": "Total payment",
"paymentStatus": "Payment status",
"paymentTask": "Payment task",
"calendarEvent": "Calendar event",
"notAvailable": "Not available",
"calendarVisitTitle": "Housekeeping: {{name}}",
"paymentTaskTitle": "Pay {{name}} for housekeeping",
"paymentTaskDescription": "Housekeeping visit on {{date}}. Amount due: {{amount}}.",
"staffLogTitle": "{{name}} visits",
"staffLogHint": "Edit visit dates, amounts, and linked records.",
"filterMonth": "Month",
"editVisit": "Edit visit",
"deleteVisit": "Delete visit",
"deleteVisitConfirm": "Delete this visit? The linked calendar event and payment task will also be removed.",
"visitDeletedToast": "Visit deleted.",
"visitSavedToast": "Visit updated.",
"visitDate": "Visit date",
"markPaid": "Mark paid",
"visitPaidToast": "Payment marked as paid.",
"receiptUploadTitle": "Upload payment receipt",
"receiptUploadHint": "Attach a payment receipt. It will appear in Documents.",
"receiptDocumentName": "Receipt - {{name}} - {{date}}",
"receiptDocumentDescription": "Payment receipt for {{name}} housekeeping visit on {{date}}.",
"taskTemplateData": {
"cleanBathrooms": {
"name": "Убрать ванные комнаты",
"area": "Ванные комнаты"
},
"mopKitchenFloor": {
"name": "Вымыть пол на кухне",
"area": "Кухня"
},
"dustLivingRoom": {
"name": "Вытереть пыль в гостиной",
"area": "Гостиная"
},
"changeBedLinens": {
"name": "Сменить постельное белье",
"area": "Спальни"
},
"cleanRefrigerator": {
"name": "Почистить холодильник",
"area": "Кухня"
},
"cleanWindows": {
"name": "Помыть окна",
"area": "Весь дом"
},
"deepCleanOven": {
"name": "Глубоко очистить духовку",
"area": "Кухня"
},
"washOutdoor": {
"name": "Помыть балкон/патио",
"area": "Улица"
}
}
},
"userMultiSelect": {
"moreUsers": "weitere",
"nobody": "- Niemand -"
}
}
}
+250 -7
View File
@@ -54,7 +54,8 @@
"more": "Mer",
"documents": "Dokument",
"kitchen": "Kök",
"search": "Sök"
"search": "Sök",
"housekeeping": "Städning"
},
"dashboard": {
"title": "Översikt",
@@ -205,7 +206,18 @@
"kanbanArchived": "Arkiverad",
"reminderNeedsDueDate": "Ange ett förfallodatum för att aktivera påminnelser för uppgiften.",
"emptyAction": "Skapa uppgift",
"navLabelOverdue": "Uppgifter, {{count}} försenade"
"navLabelOverdue": "Uppgifter, {{count}} försenade",
"bulkArchive": "Archive",
"bulkArchived": "Tasks archived.",
"bulkDelete": "Delete",
"bulkDeleteConfirm": "Delete {{count}} tasks permanently?",
"bulkDeleted": "Tasks deleted.",
"bulkMarkDone": "Mark done",
"bulkMarkOpen": "Mark open",
"bulkSelect": "Bulk select",
"bulkSelectedCount": "{{count}} selected",
"bulkStatusChanged": "Status changed.",
"selectTask": "Select task"
},
"shopping": {
"title": "Shopping",
@@ -479,7 +491,13 @@
"colorSkyBlue": "Himmelsblå",
"colorYellow": "Gul",
"colorGray": "Grå",
"colorCyan": "Cyan"
"colorCyan": "Cyan",
"iconCleaning": "Städning",
"caldavTargetHint": "Choose a CalDAV calendar to sync this event.",
"caldavTargetLabel": "Sync to CalDAV",
"caldavTargetLocal": "Store locally only",
"attachmentDocumentName": "{{title}} - {{name}}",
"attachmentDocumentDescription": "Bilaga uppladdad för kalenderhändelsen \"{{title}}\"."
},
"notes": {
"title": "Anteckningar",
@@ -977,7 +995,72 @@
"addressbookEnabled": "Addressbook enabled",
"addressbookDisabled": "Addressbook disabled",
"addressbooksRefreshed": "Addressbooks refreshed",
"deleteCardDAVAccountConfirm": "Really delete CardDAV account? All synced contacts will remain but lose their CardDAV link."
"deleteCardDAVAccountConfirm": "Really delete CardDAV account? All synced contacts will remain but lose their CardDAV link.",
"sectionHousekeeping": "Housekeeping",
"housekeepingPaymentsTitle": "Payment tasks",
"housekeepingPaymentTasksLabel": "Create a payment task on each housekeeper check-in",
"housekeepingPaymentTasksHint": "When enabled, each check-in creates a task for paying the staff member. Completing that task marks the visit payment as paid.",
"housekeepingPaymentTasksSaved": "Housekeeping payment setting saved.",
"backupSchedulerDisabled": "Disabled",
"backupSchedulerEnabled": "Enabled",
"backupSchedulerHint": "Scheduled backups are created automatically and old backups are rotated.",
"backupSchedulerKeep": "Retention",
"backupSchedulerKeepCount": "{{count}} backups",
"backupSchedulerLastBackup": "Last backup",
"backupSchedulerLastFail": "{{date}} (failed)",
"backupSchedulerLastSuccess": "{{date}} (successful)",
"backupSchedulerNever": "No backup created yet",
"backupSchedulerSchedule": "Schedule",
"backupSchedulerStatus": "Status",
"backupSchedulerTitle": "Automatic Backups",
"backupSchedulerTrigger": "Create backup now",
"backupSchedulerTriggeredToast": "Backup created successfully.",
"backupSchedulerTriggering": "Creating backup...",
"breadcrumbLabel": "Pfad",
"caldavAccountAdded": "CalDAV account added successfully",
"caldavAccountDeleted": "CalDAV account removed",
"caldavAddAccount": "Add CalDAV Account",
"caldavCalendarsToggle": "Show/hide calendars",
"caldavConnectionFailed": "Connection to CalDAV server failed",
"caldavDescription": "Connect multiple CalDAV accounts (iCloud, Nextcloud, Radicale, Baikal, etc.) and choose which calendars to sync.",
"caldavEmptyState": "No CalDAV accounts connected yet. Add your first account to get started.",
"caldavNameLabel": "Account Name",
"caldavNamePlaceholder": "e.g. My Radicale, iCloud, Nextcloud",
"caldavPasswordHint": "For iCloud: Use app-specific password from appleid.apple.com",
"caldavPasswordLabel": "Password",
"caldavRefreshCalendars": "Refresh calendars",
"caldavSyncFailed": "CalDAV sync failed",
"caldavSyncSuccess": "CalDAV sync successful",
"caldavTitle": "CalDAV Calendars",
"caldavUrlHint": "The base URL of your CalDAV server",
"caldavUsernameLabel": "Username",
"calendarDisabled": "Calendar disabled",
"calendarEnabled": "Calendar enabled",
"calendarsRefreshed": "Calendars refreshed",
"deleteAccountConfirm": "Really delete CalDAV account? All synced calendars will be removed.",
"emptyStateAddFirst": "Füge dein erstes Konto hinzu",
"emptyStateNoAccounts": "Noch keine Konten verbunden",
"helpTooltipCalDAV": "CalDAV ermöglicht die Synchronisation von Kalendern mit iCloud, Nextcloud und anderen CalDAV-Servern.",
"helpTooltipCardDAV": "CardDAV ermöglicht die Synchronisation von Kontakten mit iCloud, Nextcloud und anderen CardDAV-Servern.",
"lastSync": "Last synced",
"modulesHint": "Disabled modules disappear from the navigation. Data is preserved and reappears once a module is re-enabled.",
"modulesSaved": "Module visibility saved.",
"modulesTitle": "Active modules",
"navigationLabel": "Einstellungsnavigation",
"sectionAdmin": "Administration",
"sectionCloudServices": "Cloud-Dienste",
"sectionModules": "Modules",
"sectionModulesNav": "Module",
"sectionOpenStandards": "CalDAV & CardDAV",
"sectionPersonal": "Persönlich",
"sectionSync": "Synchronisation",
"statusError": "Fehler",
"statusNeverSynced": "Noch nie synchronisiert",
"statusSynced": "Synchronisiert",
"statusSyncing": "Synchronisiert…",
"syncedAgo": "vor {{time}}",
"tabSyncCalendar": "Kalender",
"tabSyncContacts": "Kontakte"
},
"login": {
"tagline": "Familjeplanering. Säker. Sekretessvänlig. Öppen källkod.",
@@ -1120,7 +1203,7 @@
"customWeeks": "Veckor"
},
"onboarding": {
"step1Title": "Välkommen till Oikos",
"step1Title": "Välkommen till {{name}}",
"step1Body": "Din personliga familjeplanerare. Uppgifter, kalender, shopping och mer allt på ett ställe.",
"step2Title": "Navigering och moduler",
"step2Body": "Nere på skärmen når du direkt Översikt och Kalender. Med ···-knappen öppnar du fler moduler som Kök, Anteckningar och Kontakter.",
@@ -1203,7 +1286,18 @@
},
"dropzoneTitle": "Släpp filen här eller klicka för att välja",
"dropzoneHint": "Dra en fil till området eller använd filväljaren.",
"selectedFileLabel": "Vald: {{name}}"
"selectedFileLabel": "Vald: {{name}}",
"addFolderButton": "Add folder",
"allFolders": "All folders",
"folderLabel": "Folder",
"noFolder": "No folder",
"newFolderTitle": "New folder",
"folderNameLabel": "Folder name",
"createFolderAction": "Create folder",
"folderCreatedToast": "Folder created.",
"housekeepingFolder": "Städning",
"calendarItemsFolder": "Kalenderobjekt",
"folderBrowserTitle": "Bläddra bland mappar"
},
"shortcuts": {
"goKitchen": "Kök",
@@ -1215,5 +1309,154 @@
"goCal": "Kalender",
"goShop": "Inköpslista",
"goNotes": "Anteckningar"
},
"housekeeping": {
"title": "Städyta",
"bottomNav": "Städnavigation",
"home": "Hem",
"tasks": "Uppgifter",
"report": "Rapportera",
"notCheckedIn": "Inte incheckad",
"checkedInAt": "Incheckad kl.",
"monthTotal": "Aktuell månad · {{count}} pass",
"dailyRate": "Dagspris",
"extras": "Extra",
"checkIn": "Checka in",
"checkOut": "Checka ut",
"quickSupply": "Produkt saknas",
"supplyName": "Produkt",
"supplyPlaceholder": "Vad saknas?",
"checkedInToast": "Incheckning sparad.",
"checkedOutToast": "Utcheckning sparad.",
"supplyAddedToast": "Tillagd i inköpslistan.",
"overdue": "Försenad",
"dueToday": "Idag",
"ok": "OK",
"noTasks": "Inga städuppgifter ännu.",
"everyDays": "Var {{days}} dag",
"completeTask": "Slutför {{name}}",
"taskDoneToast": "Uppgift slutförd.",
"reportTitle": "Rapportera problem",
"problemDescription": "Problembeskrivning",
"problemPlaceholder": "Exempel: trasig lampa",
"addPhoto": "Lägg till foto",
"sendReport": "Skicka",
"reportSentToast": "Problem rapporterat.",
"recentReports": "Senaste rapporter",
"addTask": "Lägg till uppgift",
"taskName": "Uppgift",
"taskNamePlaceholder": "Exempel: städa badrum",
"taskArea": "Område",
"taskAreaPlaceholder": "Exempel: badrum",
"taskFrequency": "Frekvens",
"createTask": "Skapa uppgift",
"taskCreatedToast": "Städuppgift skapad.",
"dashboard": "Översikt",
"reports": "Reports",
"visitsThisMonth": "Besök denna månad",
"lastVisit": "Senaste besök",
"pendingChores": "Väntande uppgifter",
"finishedChores": "Klarmarkerade uppgifter",
"payments": "Betalningar",
"pendingPayments": "Väntande betalningar",
"monthlyPayments": "Månadsbetalningar",
"noPaymentData": "Inga betalningsdata ännu.",
"noVisits": "Inga besök ännu",
"noWorkerTitle": "Ingen städprofil",
"noWorkerHint": "Skapa profilen för kontakt, dagspris och betalningsschema.",
"taskTemplates": "Föreslagna uppgifter",
"addCustomTask": "Lägg till egen uppgift",
"noReports": "Inga rapporter ännu.",
"profileTitle": "Städprofil",
"profilePicture": "Profilbild",
"workerName": "Namn",
"workerUsername": "Användarnamn",
"workerPhone": "Telefon",
"workerEmail": "E-post",
"workerBirthDate": "Födelsedag",
"paymentSchedule": "Betalningsschema",
"scheduleDaily": "Varje besök",
"scheduleTwiceMonthly": "Två gånger per månad",
"scheduleMonthly": "Månadsvis",
"profileColor": "Profilfärg",
"workerNotes": "Anteckningar",
"workerSavedToast": "Städprofil sparad.",
"staff": "Personal",
"staffTitle": "Städpersonal",
"addWorker": "Lägg till person",
"editWorker": "Redigera person",
"noWorkers": "Ingen städpersonal registrerad.",
"moreWorkers": "+{{count}} fler",
"checkInDisabled": "Lägg till personal innan incheckning.",
"calendarColor": "Kalenderfärg",
"visitRecordedAt": "Visit recorded at",
"checkedInToday": "Recorded today",
"visitReports": "Staff visit reports",
"noVisitReports": "No staff visits recorded this month.",
"openVisitReport": "Open visit report",
"visitReportDetails": "Visit report",
"paymentPaid": "Paid",
"paymentPending": "Pending",
"totalPayment": "Total payment",
"paymentStatus": "Payment status",
"paymentTask": "Payment task",
"calendarEvent": "Calendar event",
"notAvailable": "Not available",
"calendarVisitTitle": "Housekeeping: {{name}}",
"paymentTaskTitle": "Pay {{name}} for housekeeping",
"paymentTaskDescription": "Housekeeping visit on {{date}}. Amount due: {{amount}}.",
"staffLogTitle": "{{name}} visits",
"staffLogHint": "Edit visit dates, amounts, and linked records.",
"filterMonth": "Month",
"editVisit": "Edit visit",
"deleteVisit": "Delete visit",
"deleteVisitConfirm": "Delete this visit? The linked calendar event and payment task will also be removed.",
"visitDeletedToast": "Visit deleted.",
"visitSavedToast": "Visit updated.",
"visitDate": "Visit date",
"markPaid": "Mark paid",
"visitPaidToast": "Payment marked as paid.",
"receiptUploadTitle": "Upload payment receipt",
"receiptUploadHint": "Attach a payment receipt. It will appear in Documents.",
"receiptDocumentName": "Receipt - {{name}} - {{date}}",
"receiptDocumentDescription": "Payment receipt for {{name}} housekeeping visit on {{date}}.",
"taskTemplateData": {
"cleanBathrooms": {
"name": "Städa badrum",
"area": "Badrum"
},
"mopKitchenFloor": {
"name": "Moppa köksgolvet",
"area": "Kök"
},
"dustLivingRoom": {
"name": "Damma vardagsrummet",
"area": "Vardagsrum"
},
"changeBedLinens": {
"name": "Byt sängkläder",
"area": "Sovrum"
},
"cleanRefrigerator": {
"name": "Rengör kylskåpet",
"area": "Kök"
},
"cleanWindows": {
"name": "Putsa fönster",
"area": "Hela huset"
},
"deepCleanOven": {
"name": "Djuprengör ugnen",
"area": "Kök"
},
"washOutdoor": {
"name": "Tvätta balkong/uteplats",
"area": "Utomhus"
}
}
},
"userMultiSelect": {
"moreUsers": "weitere",
"nobody": "- Niemand -"
}
}
}
+250 -7
View File
@@ -54,7 +54,8 @@
"more": "Daha Fazla",
"documents": "Belgeler",
"kitchen": "Mutfak",
"search": "Ara"
"search": "Ara",
"housekeeping": "Housekeeping"
},
"dashboard": {
"title": "Genel Bakış",
@@ -205,7 +206,18 @@
"kanbanArchived": "Arşivlenmiş",
"reminderNeedsDueDate": "Görev hatırlatıcılarını etkinleştirmek için bir son tarih belirleyin.",
"emptyAction": "Görev oluştur",
"navLabelOverdue": "Görevler, {{count}} gecikmiş"
"navLabelOverdue": "Görevler, {{count}} gecikmiş",
"bulkArchive": "Archive",
"bulkArchived": "Tasks archived.",
"bulkDelete": "Delete",
"bulkDeleteConfirm": "Delete {{count}} tasks permanently?",
"bulkDeleted": "Tasks deleted.",
"bulkMarkDone": "Mark done",
"bulkMarkOpen": "Mark open",
"bulkSelect": "Bulk select",
"bulkSelectedCount": "{{count}} selected",
"bulkStatusChanged": "Status changed.",
"selectTask": "Select task"
},
"shopping": {
"title": "Alışveriş",
@@ -479,7 +491,13 @@
"colorPurple": "Mor",
"colorRed": "Kırmızı",
"colorSkyBlue": "Gökyüzü mavisi",
"colorYellow": "Sarı"
"colorYellow": "Sarı",
"iconCleaning": "Cleaning",
"caldavTargetHint": "Choose a CalDAV calendar to sync this event.",
"caldavTargetLabel": "Sync to CalDAV",
"caldavTargetLocal": "Store locally only",
"attachmentDocumentName": "{{title}} - {{name}}",
"attachmentDocumentDescription": "\"{{title}}\" takvim etkinliği için ek yüklendi."
},
"notes": {
"title": "Notlar",
@@ -977,7 +995,72 @@
"addressbookEnabled": "Addressbook enabled",
"addressbookDisabled": "Addressbook disabled",
"addressbooksRefreshed": "Addressbooks refreshed",
"deleteCardDAVAccountConfirm": "Really delete CardDAV account? All synced contacts will remain but lose their CardDAV link."
"deleteCardDAVAccountConfirm": "Really delete CardDAV account? All synced contacts will remain but lose their CardDAV link.",
"sectionHousekeeping": "Housekeeping",
"housekeepingPaymentsTitle": "Payment tasks",
"housekeepingPaymentTasksLabel": "Create a payment task on each housekeeper check-in",
"housekeepingPaymentTasksHint": "When enabled, each check-in creates a task for paying the staff member. Completing that task marks the visit payment as paid.",
"housekeepingPaymentTasksSaved": "Housekeeping payment setting saved.",
"backupSchedulerDisabled": "Disabled",
"backupSchedulerEnabled": "Enabled",
"backupSchedulerHint": "Scheduled backups are created automatically and old backups are rotated.",
"backupSchedulerKeep": "Retention",
"backupSchedulerKeepCount": "{{count}} backups",
"backupSchedulerLastBackup": "Last backup",
"backupSchedulerLastFail": "{{date}} (failed)",
"backupSchedulerLastSuccess": "{{date}} (successful)",
"backupSchedulerNever": "No backup created yet",
"backupSchedulerSchedule": "Schedule",
"backupSchedulerStatus": "Status",
"backupSchedulerTitle": "Automatic Backups",
"backupSchedulerTrigger": "Create backup now",
"backupSchedulerTriggeredToast": "Backup created successfully.",
"backupSchedulerTriggering": "Creating backup...",
"breadcrumbLabel": "Pfad",
"caldavAccountAdded": "CalDAV account added successfully",
"caldavAccountDeleted": "CalDAV account removed",
"caldavAddAccount": "Add CalDAV Account",
"caldavCalendarsToggle": "Show/hide calendars",
"caldavConnectionFailed": "Connection to CalDAV server failed",
"caldavDescription": "Connect multiple CalDAV accounts (iCloud, Nextcloud, Radicale, Baikal, etc.) and choose which calendars to sync.",
"caldavEmptyState": "No CalDAV accounts connected yet. Add your first account to get started.",
"caldavNameLabel": "Account Name",
"caldavNamePlaceholder": "e.g. My Radicale, iCloud, Nextcloud",
"caldavPasswordHint": "For iCloud: Use app-specific password from appleid.apple.com",
"caldavPasswordLabel": "Password",
"caldavRefreshCalendars": "Refresh calendars",
"caldavSyncFailed": "CalDAV sync failed",
"caldavSyncSuccess": "CalDAV sync successful",
"caldavTitle": "CalDAV Calendars",
"caldavUrlHint": "The base URL of your CalDAV server",
"caldavUsernameLabel": "Username",
"calendarDisabled": "Calendar disabled",
"calendarEnabled": "Calendar enabled",
"calendarsRefreshed": "Calendars refreshed",
"deleteAccountConfirm": "Really delete CalDAV account? All synced calendars will be removed.",
"emptyStateAddFirst": "Füge dein erstes Konto hinzu",
"emptyStateNoAccounts": "Noch keine Konten verbunden",
"helpTooltipCalDAV": "CalDAV ermöglicht die Synchronisation von Kalendern mit iCloud, Nextcloud und anderen CalDAV-Servern.",
"helpTooltipCardDAV": "CardDAV ermöglicht die Synchronisation von Kontakten mit iCloud, Nextcloud und anderen CardDAV-Servern.",
"lastSync": "Last synced",
"modulesHint": "Disabled modules disappear from the navigation. Data is preserved and reappears once a module is re-enabled.",
"modulesSaved": "Module visibility saved.",
"modulesTitle": "Active modules",
"navigationLabel": "Einstellungsnavigation",
"sectionAdmin": "Administration",
"sectionCloudServices": "Cloud-Dienste",
"sectionModules": "Modules",
"sectionModulesNav": "Module",
"sectionOpenStandards": "CalDAV & CardDAV",
"sectionPersonal": "Persönlich",
"sectionSync": "Synchronisation",
"statusError": "Fehler",
"statusNeverSynced": "Noch nie synchronisiert",
"statusSynced": "Synchronisiert",
"statusSyncing": "Synchronisiert…",
"syncedAgo": "vor {{time}}",
"tabSyncCalendar": "Kalender",
"tabSyncContacts": "Kontakte"
},
"login": {
"tagline": "Aile planlaması. Güvenli. Gizlilik dostu. Açık kaynak.",
@@ -1120,7 +1203,7 @@
"customWeeks": "Weeks"
},
"onboarding": {
"step1Title": "Welcome to Oikos",
"step1Title": "{{name}} uygulamasına hoş geldiniz",
"step1Body": "Your personal family planner. Tasks, calendar, shopping and more all in one place.",
"step2Title": "Gezinme ve Modüller",
"step2Body": "Aşağıda Gösterge Paneli ve Takvim'e doğrudan erişebilirsiniz. ···-düğmesiyle Mutfak, Notlar ve Kişiler gibi ek modülleri açabilirsiniz.",
@@ -1203,7 +1286,18 @@
},
"dropzoneTitle": "Dosyayı buraya bırakın veya seçmek için tıklayın",
"dropzoneHint": "Bir dosyayı bu alana sürükleyin veya dosya seçiciyi kullanın.",
"selectedFileLabel": "Seçildi: {{name}}"
"selectedFileLabel": "Seçildi: {{name}}",
"addFolderButton": "Add folder",
"allFolders": "All folders",
"folderLabel": "Folder",
"noFolder": "No folder",
"newFolderTitle": "New folder",
"folderNameLabel": "Folder name",
"createFolderAction": "Create folder",
"folderCreatedToast": "Folder created.",
"housekeepingFolder": "Ev temizliği",
"calendarItemsFolder": "Takvim öğeleri",
"folderBrowserTitle": "Klasörlere göz at"
},
"shortcuts": {
"goKitchen": "Mutfak",
@@ -1215,5 +1309,154 @@
"help": "Klavye kısayolları",
"new": "Yeni giriş oluştur",
"search": "Aramayı aç"
},
"housekeeping": {
"title": "Cleaner workspace",
"bottomNav": "Housekeeping navigation",
"home": "Home",
"tasks": "Tasks",
"report": "Report",
"notCheckedIn": "Not checked in",
"checkedInAt": "Checked in at",
"monthTotal": "Current month · {{count}} sessions",
"dailyRate": "Daily rate",
"extras": "Extras",
"checkIn": "Check in",
"checkOut": "Check out",
"quickSupply": "Missing product",
"supplyName": "Product name",
"supplyPlaceholder": "What is missing?",
"checkedInToast": "Check-in recorded.",
"checkedOutToast": "Check-out recorded.",
"supplyAddedToast": "Added to the shopping list.",
"overdue": "Overdue",
"dueToday": "Due today",
"ok": "OK",
"noTasks": "No housekeeping tasks yet.",
"everyDays": "Every {{days}} days",
"completeTask": "Complete {{name}}",
"taskDoneToast": "Task completed.",
"reportTitle": "Report a problem",
"problemDescription": "Problem description",
"problemPlaceholder": "Example: burnt-out light bulb",
"addPhoto": "Add photo",
"sendReport": "Send report",
"reportSentToast": "Problem reported.",
"recentReports": "Recent reports",
"addTask": "Add task",
"taskName": "Task",
"taskNamePlaceholder": "Example: Clean bathrooms",
"taskArea": "Area",
"taskAreaPlaceholder": "Example: Bathroom",
"taskFrequency": "Frequency",
"createTask": "Create task",
"taskCreatedToast": "Housekeeping task created.",
"dashboard": "Dashboard",
"reports": "Reports",
"visitsThisMonth": "Visits this month",
"lastVisit": "Last visit",
"pendingChores": "Pending chores",
"finishedChores": "Finished chores",
"payments": "Payments",
"pendingPayments": "Pending payments",
"monthlyPayments": "Monthly payments",
"noPaymentData": "No payment data yet.",
"noVisits": "No visits yet",
"noWorkerTitle": "No housekeeper profile",
"noWorkerHint": "Create the worker profile to define contacts, rate, and payment schedule.",
"taskTemplates": "Suggested chores",
"addCustomTask": "Add custom chore",
"noReports": "No reports yet.",
"profileTitle": "Housekeeper profile",
"profilePicture": "Housekeeper profile picture",
"workerName": "Name",
"workerUsername": "Username",
"workerPhone": "Phone",
"workerEmail": "Email",
"workerBirthDate": "Birthday",
"paymentSchedule": "Payment schedule",
"scheduleDaily": "Every visit",
"scheduleTwiceMonthly": "Twice a month",
"scheduleMonthly": "Monthly",
"profileColor": "Profile color",
"workerNotes": "Notes",
"workerSavedToast": "Housekeeper profile saved.",
"staff": "Staff",
"staffTitle": "Housekeeping staff",
"addWorker": "Add housekeeper",
"editWorker": "Edit housekeeper",
"noWorkers": "No housekeepers registered yet.",
"moreWorkers": "+{{count}} more",
"checkInDisabled": "Add a housekeeper before checking in.",
"calendarColor": "Calendar color",
"visitRecordedAt": "Visit recorded at",
"checkedInToday": "Recorded today",
"visitReports": "Staff visit reports",
"noVisitReports": "No staff visits recorded this month.",
"openVisitReport": "Open visit report",
"visitReportDetails": "Visit report",
"paymentPaid": "Paid",
"paymentPending": "Pending",
"totalPayment": "Total payment",
"paymentStatus": "Payment status",
"paymentTask": "Payment task",
"calendarEvent": "Calendar event",
"notAvailable": "Not available",
"calendarVisitTitle": "Housekeeping: {{name}}",
"paymentTaskTitle": "Pay {{name}} for housekeeping",
"paymentTaskDescription": "Housekeeping visit on {{date}}. Amount due: {{amount}}.",
"staffLogTitle": "{{name}} visits",
"staffLogHint": "Edit visit dates, amounts, and linked records.",
"filterMonth": "Month",
"editVisit": "Edit visit",
"deleteVisit": "Delete visit",
"deleteVisitConfirm": "Delete this visit? The linked calendar event and payment task will also be removed.",
"visitDeletedToast": "Visit deleted.",
"visitSavedToast": "Visit updated.",
"visitDate": "Visit date",
"markPaid": "Mark paid",
"visitPaidToast": "Payment marked as paid.",
"receiptUploadTitle": "Upload payment receipt",
"receiptUploadHint": "Attach a payment receipt. It will appear in Documents.",
"receiptDocumentName": "Receipt - {{name}} - {{date}}",
"receiptDocumentDescription": "Payment receipt for {{name}} housekeeping visit on {{date}}.",
"taskTemplateData": {
"cleanBathrooms": {
"name": "Banyoları temizle",
"area": "Banyolar"
},
"mopKitchenFloor": {
"name": "Mutfak zeminini sil",
"area": "Mutfak"
},
"dustLivingRoom": {
"name": "Oturma odasının tozunu al",
"area": "Oturma odası"
},
"changeBedLinens": {
"name": "Nevresimleri değiştir",
"area": "Yatak odaları"
},
"cleanRefrigerator": {
"name": "Buzdolabını temizle",
"area": "Mutfak"
},
"cleanWindows": {
"name": "Camları temizle",
"area": "Tüm ev"
},
"deepCleanOven": {
"name": "Fırını derinlemesine temizle",
"area": "Mutfak"
},
"washOutdoor": {
"name": "Balkon/verandayı yıka",
"area": "Dış alan"
}
}
},
"userMultiSelect": {
"moreUsers": "weitere",
"nobody": "- Niemand -"
}
}
}
+250 -7
View File
@@ -54,7 +54,8 @@
"more": "Більше",
"documents": "Документи",
"kitchen": "Кухня",
"search": "Пошук"
"search": "Пошук",
"housekeeping": "Housekeeping"
},
"dashboard": {
"title": "Огляд",
@@ -205,7 +206,18 @@
"kanbanArchived": "Архівовано",
"reminderNeedsDueDate": "Встановіть дату виконання, щоб увімкнути нагадування про завдання.",
"emptyAction": "Створити завдання",
"navLabelOverdue": "Завдання, {{count}} прострочено"
"navLabelOverdue": "Завдання, {{count}} прострочено",
"bulkArchive": "Archive",
"bulkArchived": "Tasks archived.",
"bulkDelete": "Delete",
"bulkDeleteConfirm": "Delete {{count}} tasks permanently?",
"bulkDeleted": "Tasks deleted.",
"bulkMarkDone": "Mark done",
"bulkMarkOpen": "Mark open",
"bulkSelect": "Bulk select",
"bulkSelectedCount": "{{count}} selected",
"bulkStatusChanged": "Status changed.",
"selectTask": "Select task"
},
"shopping": {
"title": "Покупки",
@@ -479,7 +491,13 @@
"colorPurple": "Фіолетовий",
"colorRed": "Червоний",
"colorSkyBlue": "Небесно-блакитний",
"colorYellow": "Жовтий"
"colorYellow": "Жовтий",
"iconCleaning": "Cleaning",
"caldavTargetHint": "Choose a CalDAV calendar to sync this event.",
"caldavTargetLabel": "Sync to CalDAV",
"caldavTargetLocal": "Store locally only",
"attachmentDocumentName": "{{title}} - {{name}}",
"attachmentDocumentDescription": "Вкладення завантажено для події календаря «{{title}}»."
},
"notes": {
"title": "Нотатки",
@@ -977,7 +995,72 @@
"addressbookEnabled": "Addressbook enabled",
"addressbookDisabled": "Addressbook disabled",
"addressbooksRefreshed": "Addressbooks refreshed",
"deleteCardDAVAccountConfirm": "Really delete CardDAV account? All synced contacts will remain but lose their CardDAV link."
"deleteCardDAVAccountConfirm": "Really delete CardDAV account? All synced contacts will remain but lose their CardDAV link.",
"sectionHousekeeping": "Housekeeping",
"housekeepingPaymentsTitle": "Payment tasks",
"housekeepingPaymentTasksLabel": "Create a payment task on each housekeeper check-in",
"housekeepingPaymentTasksHint": "When enabled, each check-in creates a task for paying the staff member. Completing that task marks the visit payment as paid.",
"housekeepingPaymentTasksSaved": "Housekeeping payment setting saved.",
"backupSchedulerDisabled": "Disabled",
"backupSchedulerEnabled": "Enabled",
"backupSchedulerHint": "Scheduled backups are created automatically and old backups are rotated.",
"backupSchedulerKeep": "Retention",
"backupSchedulerKeepCount": "{{count}} backups",
"backupSchedulerLastBackup": "Last backup",
"backupSchedulerLastFail": "{{date}} (failed)",
"backupSchedulerLastSuccess": "{{date}} (successful)",
"backupSchedulerNever": "No backup created yet",
"backupSchedulerSchedule": "Schedule",
"backupSchedulerStatus": "Status",
"backupSchedulerTitle": "Automatic Backups",
"backupSchedulerTrigger": "Create backup now",
"backupSchedulerTriggeredToast": "Backup created successfully.",
"backupSchedulerTriggering": "Creating backup...",
"breadcrumbLabel": "Pfad",
"caldavAccountAdded": "CalDAV account added successfully",
"caldavAccountDeleted": "CalDAV account removed",
"caldavAddAccount": "Add CalDAV Account",
"caldavCalendarsToggle": "Show/hide calendars",
"caldavConnectionFailed": "Connection to CalDAV server failed",
"caldavDescription": "Connect multiple CalDAV accounts (iCloud, Nextcloud, Radicale, Baikal, etc.) and choose which calendars to sync.",
"caldavEmptyState": "No CalDAV accounts connected yet. Add your first account to get started.",
"caldavNameLabel": "Account Name",
"caldavNamePlaceholder": "e.g. My Radicale, iCloud, Nextcloud",
"caldavPasswordHint": "For iCloud: Use app-specific password from appleid.apple.com",
"caldavPasswordLabel": "Password",
"caldavRefreshCalendars": "Refresh calendars",
"caldavSyncFailed": "CalDAV sync failed",
"caldavSyncSuccess": "CalDAV sync successful",
"caldavTitle": "CalDAV Calendars",
"caldavUrlHint": "The base URL of your CalDAV server",
"caldavUsernameLabel": "Username",
"calendarDisabled": "Calendar disabled",
"calendarEnabled": "Calendar enabled",
"calendarsRefreshed": "Calendars refreshed",
"deleteAccountConfirm": "Really delete CalDAV account? All synced calendars will be removed.",
"emptyStateAddFirst": "Füge dein erstes Konto hinzu",
"emptyStateNoAccounts": "Noch keine Konten verbunden",
"helpTooltipCalDAV": "CalDAV ermöglicht die Synchronisation von Kalendern mit iCloud, Nextcloud und anderen CalDAV-Servern.",
"helpTooltipCardDAV": "CardDAV ermöglicht die Synchronisation von Kontakten mit iCloud, Nextcloud und anderen CardDAV-Servern.",
"lastSync": "Last synced",
"modulesHint": "Disabled modules disappear from the navigation. Data is preserved and reappears once a module is re-enabled.",
"modulesSaved": "Module visibility saved.",
"modulesTitle": "Active modules",
"navigationLabel": "Einstellungsnavigation",
"sectionAdmin": "Administration",
"sectionCloudServices": "Cloud-Dienste",
"sectionModules": "Modules",
"sectionModulesNav": "Module",
"sectionOpenStandards": "CalDAV & CardDAV",
"sectionPersonal": "Persönlich",
"sectionSync": "Synchronisation",
"statusError": "Fehler",
"statusNeverSynced": "Noch nie synchronisiert",
"statusSynced": "Synchronisiert",
"statusSyncing": "Synchronisiert…",
"syncedAgo": "vor {{time}}",
"tabSyncCalendar": "Kalender",
"tabSyncContacts": "Kontakte"
},
"login": {
"tagline": "Планування для родини. Безпечно. Конфіденційно. Відкритий код.",
@@ -1120,7 +1203,7 @@
"photoOptional": "Необов'язково: можна зберегти без фото профілю."
},
"onboarding": {
"step1Title": "Welcome to Oikos",
"step1Title": "Ласкаво просимо до {{name}}",
"step1Body": "Your personal family planner. Tasks, calendar, shopping and more all in one place.",
"step2Title": "Навігація та модулі",
"step2Body": "Унизу ви маєте прямий доступ до Панелі керування та Календаря. Кнопка ··· відкриває додаткові модулі: Кухня, Нотатки та Контакти.",
@@ -1203,7 +1286,18 @@
},
"dropzoneTitle": "Перетягніть файл сюди або натисніть для вибору",
"dropzoneHint": "Перетягніть файл у цю область або скористайтеся вибором файлу.",
"selectedFileLabel": "Вибрано: {{name}}"
"selectedFileLabel": "Вибрано: {{name}}",
"addFolderButton": "Add folder",
"allFolders": "All folders",
"folderLabel": "Folder",
"noFolder": "No folder",
"newFolderTitle": "New folder",
"folderNameLabel": "Folder name",
"createFolderAction": "Create folder",
"folderCreatedToast": "Folder created.",
"housekeepingFolder": "Прибирання",
"calendarItemsFolder": "Елементи календаря",
"folderBrowserTitle": "Перегляд папок"
},
"shortcuts": {
"goKitchen": "Кухня",
@@ -1215,5 +1309,154 @@
"help": "Гарячі клавіші",
"new": "Створити новий запис",
"search": "Відкрити пошук"
},
"housekeeping": {
"title": "Cleaner workspace",
"bottomNav": "Housekeeping navigation",
"home": "Home",
"tasks": "Tasks",
"report": "Report",
"notCheckedIn": "Not checked in",
"checkedInAt": "Checked in at",
"monthTotal": "Current month · {{count}} sessions",
"dailyRate": "Daily rate",
"extras": "Extras",
"checkIn": "Check in",
"checkOut": "Check out",
"quickSupply": "Missing product",
"supplyName": "Product name",
"supplyPlaceholder": "What is missing?",
"checkedInToast": "Check-in recorded.",
"checkedOutToast": "Check-out recorded.",
"supplyAddedToast": "Added to the shopping list.",
"overdue": "Overdue",
"dueToday": "Due today",
"ok": "OK",
"noTasks": "No housekeeping tasks yet.",
"everyDays": "Every {{days}} days",
"completeTask": "Complete {{name}}",
"taskDoneToast": "Task completed.",
"reportTitle": "Report a problem",
"problemDescription": "Problem description",
"problemPlaceholder": "Example: burnt-out light bulb",
"addPhoto": "Add photo",
"sendReport": "Send report",
"reportSentToast": "Problem reported.",
"recentReports": "Recent reports",
"addTask": "Add task",
"taskName": "Task",
"taskNamePlaceholder": "Example: Clean bathrooms",
"taskArea": "Area",
"taskAreaPlaceholder": "Example: Bathroom",
"taskFrequency": "Frequency",
"createTask": "Create task",
"taskCreatedToast": "Housekeeping task created.",
"dashboard": "Dashboard",
"reports": "Reports",
"visitsThisMonth": "Visits this month",
"lastVisit": "Last visit",
"pendingChores": "Pending chores",
"finishedChores": "Finished chores",
"payments": "Payments",
"pendingPayments": "Pending payments",
"monthlyPayments": "Monthly payments",
"noPaymentData": "No payment data yet.",
"noVisits": "No visits yet",
"noWorkerTitle": "No housekeeper profile",
"noWorkerHint": "Create the worker profile to define contacts, rate, and payment schedule.",
"taskTemplates": "Suggested chores",
"addCustomTask": "Add custom chore",
"noReports": "No reports yet.",
"profileTitle": "Housekeeper profile",
"profilePicture": "Housekeeper profile picture",
"workerName": "Name",
"workerUsername": "Username",
"workerPhone": "Phone",
"workerEmail": "Email",
"workerBirthDate": "Birthday",
"paymentSchedule": "Payment schedule",
"scheduleDaily": "Every visit",
"scheduleTwiceMonthly": "Twice a month",
"scheduleMonthly": "Monthly",
"profileColor": "Profile color",
"workerNotes": "Notes",
"workerSavedToast": "Housekeeper profile saved.",
"staff": "Staff",
"staffTitle": "Housekeeping staff",
"addWorker": "Add housekeeper",
"editWorker": "Edit housekeeper",
"noWorkers": "No housekeepers registered yet.",
"moreWorkers": "+{{count}} more",
"checkInDisabled": "Add a housekeeper before checking in.",
"calendarColor": "Calendar color",
"visitRecordedAt": "Visit recorded at",
"checkedInToday": "Recorded today",
"visitReports": "Staff visit reports",
"noVisitReports": "No staff visits recorded this month.",
"openVisitReport": "Open visit report",
"visitReportDetails": "Visit report",
"paymentPaid": "Paid",
"paymentPending": "Pending",
"totalPayment": "Total payment",
"paymentStatus": "Payment status",
"paymentTask": "Payment task",
"calendarEvent": "Calendar event",
"notAvailable": "Not available",
"calendarVisitTitle": "Housekeeping: {{name}}",
"paymentTaskTitle": "Pay {{name}} for housekeeping",
"paymentTaskDescription": "Housekeeping visit on {{date}}. Amount due: {{amount}}.",
"staffLogTitle": "{{name}} visits",
"staffLogHint": "Edit visit dates, amounts, and linked records.",
"filterMonth": "Month",
"editVisit": "Edit visit",
"deleteVisit": "Delete visit",
"deleteVisitConfirm": "Delete this visit? The linked calendar event and payment task will also be removed.",
"visitDeletedToast": "Visit deleted.",
"visitSavedToast": "Visit updated.",
"visitDate": "Visit date",
"markPaid": "Mark paid",
"visitPaidToast": "Payment marked as paid.",
"receiptUploadTitle": "Upload payment receipt",
"receiptUploadHint": "Attach a payment receipt. It will appear in Documents.",
"receiptDocumentName": "Receipt - {{name}} - {{date}}",
"receiptDocumentDescription": "Payment receipt for {{name}} housekeeping visit on {{date}}.",
"taskTemplateData": {
"cleanBathrooms": {
"name": "Прибрати ванні кімнати",
"area": "Ванні кімнати"
},
"mopKitchenFloor": {
"name": "Помити підлогу на кухні",
"area": "Кухня"
},
"dustLivingRoom": {
"name": "Витерти пил у вітальні",
"area": "Вітальня"
},
"changeBedLinens": {
"name": "Змінити постільну білизну",
"area": "Спальні"
},
"cleanRefrigerator": {
"name": "Почистити холодильник",
"area": "Кухня"
},
"cleanWindows": {
"name": "Помити вікна",
"area": "Увесь дім"
},
"deepCleanOven": {
"name": "Глибоко очистити духовку",
"area": "Кухня"
},
"washOutdoor": {
"name": "Помити балкон/патіо",
"area": "Надворі"
}
}
},
"userMultiSelect": {
"moreUsers": "weitere",
"nobody": "- Niemand -"
}
}
}
+250 -7
View File
@@ -54,7 +54,8 @@
"more": "更多",
"documents": "文档",
"kitchen": "厨房",
"search": "搜索"
"search": "搜索",
"housekeeping": "Housekeeping"
},
"dashboard": {
"title": "概览",
@@ -205,7 +206,18 @@
"kanbanArchived": "已归档",
"reminderNeedsDueDate": "设置截止日期以启用任务提醒。",
"emptyAction": "创建任务",
"navLabelOverdue": "任务,{{count}} 项已逾期"
"navLabelOverdue": "任务,{{count}} 项已逾期",
"bulkArchive": "Archive",
"bulkArchived": "Tasks archived.",
"bulkDelete": "Delete",
"bulkDeleteConfirm": "Delete {{count}} tasks permanently?",
"bulkDeleted": "Tasks deleted.",
"bulkMarkDone": "Mark done",
"bulkMarkOpen": "Mark open",
"bulkSelect": "Bulk select",
"bulkSelectedCount": "{{count}} selected",
"bulkStatusChanged": "Status changed.",
"selectTask": "Select task"
},
"shopping": {
"title": "购物",
@@ -479,7 +491,13 @@
"colorPurple": "紫色",
"colorRed": "红色",
"colorSkyBlue": "天蓝色",
"colorYellow": "黄色"
"colorYellow": "黄色",
"iconCleaning": "Cleaning",
"caldavTargetHint": "Choose a CalDAV calendar to sync this event.",
"caldavTargetLabel": "Sync to CalDAV",
"caldavTargetLocal": "Store locally only",
"attachmentDocumentName": "{{title}} - {{name}}",
"attachmentDocumentDescription": "为日历事件“{{title}}”上传的附件。"
},
"notes": {
"title": "便签板",
@@ -977,7 +995,72 @@
"addressbookEnabled": "Addressbook enabled",
"addressbookDisabled": "Addressbook disabled",
"addressbooksRefreshed": "Addressbooks refreshed",
"deleteCardDAVAccountConfirm": "Really delete CardDAV account? All synced contacts will remain but lose their CardDAV link."
"deleteCardDAVAccountConfirm": "Really delete CardDAV account? All synced contacts will remain but lose their CardDAV link.",
"sectionHousekeeping": "Housekeeping",
"housekeepingPaymentsTitle": "Payment tasks",
"housekeepingPaymentTasksLabel": "Create a payment task on each housekeeper check-in",
"housekeepingPaymentTasksHint": "When enabled, each check-in creates a task for paying the staff member. Completing that task marks the visit payment as paid.",
"housekeepingPaymentTasksSaved": "Housekeeping payment setting saved.",
"backupSchedulerDisabled": "Disabled",
"backupSchedulerEnabled": "Enabled",
"backupSchedulerHint": "Scheduled backups are created automatically and old backups are rotated.",
"backupSchedulerKeep": "Retention",
"backupSchedulerKeepCount": "{{count}} backups",
"backupSchedulerLastBackup": "Last backup",
"backupSchedulerLastFail": "{{date}} (failed)",
"backupSchedulerLastSuccess": "{{date}} (successful)",
"backupSchedulerNever": "No backup created yet",
"backupSchedulerSchedule": "Schedule",
"backupSchedulerStatus": "Status",
"backupSchedulerTitle": "Automatic Backups",
"backupSchedulerTrigger": "Create backup now",
"backupSchedulerTriggeredToast": "Backup created successfully.",
"backupSchedulerTriggering": "Creating backup...",
"breadcrumbLabel": "Pfad",
"caldavAccountAdded": "CalDAV account added successfully",
"caldavAccountDeleted": "CalDAV account removed",
"caldavAddAccount": "Add CalDAV Account",
"caldavCalendarsToggle": "Show/hide calendars",
"caldavConnectionFailed": "Connection to CalDAV server failed",
"caldavDescription": "Connect multiple CalDAV accounts (iCloud, Nextcloud, Radicale, Baikal, etc.) and choose which calendars to sync.",
"caldavEmptyState": "No CalDAV accounts connected yet. Add your first account to get started.",
"caldavNameLabel": "Account Name",
"caldavNamePlaceholder": "e.g. My Radicale, iCloud, Nextcloud",
"caldavPasswordHint": "For iCloud: Use app-specific password from appleid.apple.com",
"caldavPasswordLabel": "Password",
"caldavRefreshCalendars": "Refresh calendars",
"caldavSyncFailed": "CalDAV sync failed",
"caldavSyncSuccess": "CalDAV sync successful",
"caldavTitle": "CalDAV Calendars",
"caldavUrlHint": "The base URL of your CalDAV server",
"caldavUsernameLabel": "Username",
"calendarDisabled": "Calendar disabled",
"calendarEnabled": "Calendar enabled",
"calendarsRefreshed": "Calendars refreshed",
"deleteAccountConfirm": "Really delete CalDAV account? All synced calendars will be removed.",
"emptyStateAddFirst": "Füge dein erstes Konto hinzu",
"emptyStateNoAccounts": "Noch keine Konten verbunden",
"helpTooltipCalDAV": "CalDAV ermöglicht die Synchronisation von Kalendern mit iCloud, Nextcloud und anderen CalDAV-Servern.",
"helpTooltipCardDAV": "CardDAV ermöglicht die Synchronisation von Kontakten mit iCloud, Nextcloud und anderen CardDAV-Servern.",
"lastSync": "Last synced",
"modulesHint": "Disabled modules disappear from the navigation. Data is preserved and reappears once a module is re-enabled.",
"modulesSaved": "Module visibility saved.",
"modulesTitle": "Active modules",
"navigationLabel": "Einstellungsnavigation",
"sectionAdmin": "Administration",
"sectionCloudServices": "Cloud-Dienste",
"sectionModules": "Modules",
"sectionModulesNav": "Module",
"sectionOpenStandards": "CalDAV & CardDAV",
"sectionPersonal": "Persönlich",
"sectionSync": "Synchronisation",
"statusError": "Fehler",
"statusNeverSynced": "Noch nie synchronisiert",
"statusSynced": "Synchronisiert",
"statusSyncing": "Synchronisiert…",
"syncedAgo": "vor {{time}}",
"tabSyncCalendar": "Kalender",
"tabSyncContacts": "Kontakte"
},
"login": {
"tagline": "家庭规划。安全。注重隐私。开源。",
@@ -1120,7 +1203,7 @@
"customWeeks": "Weeks"
},
"onboarding": {
"step1Title": "Welcome to Oikos",
"step1Title": "欢迎使用{{name}}",
"step1Body": "Your personal family planner. Tasks, calendar, shopping and more all in one place.",
"step2Title": "导航与模块",
"step2Body": "底部可直接访问仪表板和日历。点击···按钮可打开厨房、笔记和联系人等更多模块。",
@@ -1203,7 +1286,18 @@
},
"dropzoneTitle": "将文件拖到此处或点击选择",
"dropzoneHint": "将文件拖入此区域,或使用文件选择器。",
"selectedFileLabel": "已选择:{{name}}"
"selectedFileLabel": "已选择:{{name}}",
"addFolderButton": "Add folder",
"allFolders": "All folders",
"folderLabel": "Folder",
"noFolder": "No folder",
"newFolderTitle": "New folder",
"folderNameLabel": "Folder name",
"createFolderAction": "Create folder",
"folderCreatedToast": "Folder created.",
"housekeepingFolder": "家政清洁",
"calendarItemsFolder": "日历项目",
"folderBrowserTitle": "浏览文件夹"
},
"shortcuts": {
"goKitchen": "厨房",
@@ -1215,5 +1309,154 @@
"help": "键盘快捷键",
"new": "创建新条目",
"search": "打开搜索"
},
"housekeeping": {
"title": "Cleaner workspace",
"bottomNav": "Housekeeping navigation",
"home": "Home",
"tasks": "Tasks",
"report": "Report",
"notCheckedIn": "Not checked in",
"checkedInAt": "Checked in at",
"monthTotal": "Current month · {{count}} sessions",
"dailyRate": "Daily rate",
"extras": "Extras",
"checkIn": "Check in",
"checkOut": "Check out",
"quickSupply": "Missing product",
"supplyName": "Product name",
"supplyPlaceholder": "What is missing?",
"checkedInToast": "Check-in recorded.",
"checkedOutToast": "Check-out recorded.",
"supplyAddedToast": "Added to the shopping list.",
"overdue": "Overdue",
"dueToday": "Due today",
"ok": "OK",
"noTasks": "No housekeeping tasks yet.",
"everyDays": "Every {{days}} days",
"completeTask": "Complete {{name}}",
"taskDoneToast": "Task completed.",
"reportTitle": "Report a problem",
"problemDescription": "Problem description",
"problemPlaceholder": "Example: burnt-out light bulb",
"addPhoto": "Add photo",
"sendReport": "Send report",
"reportSentToast": "Problem reported.",
"recentReports": "Recent reports",
"addTask": "Add task",
"taskName": "Task",
"taskNamePlaceholder": "Example: Clean bathrooms",
"taskArea": "Area",
"taskAreaPlaceholder": "Example: Bathroom",
"taskFrequency": "Frequency",
"createTask": "Create task",
"taskCreatedToast": "Housekeeping task created.",
"dashboard": "Dashboard",
"reports": "Reports",
"visitsThisMonth": "Visits this month",
"lastVisit": "Last visit",
"pendingChores": "Pending chores",
"finishedChores": "Finished chores",
"payments": "Payments",
"pendingPayments": "Pending payments",
"monthlyPayments": "Monthly payments",
"noPaymentData": "No payment data yet.",
"noVisits": "No visits yet",
"noWorkerTitle": "No housekeeper profile",
"noWorkerHint": "Create the worker profile to define contacts, rate, and payment schedule.",
"taskTemplates": "Suggested chores",
"addCustomTask": "Add custom chore",
"noReports": "No reports yet.",
"profileTitle": "Housekeeper profile",
"profilePicture": "Housekeeper profile picture",
"workerName": "Name",
"workerUsername": "Username",
"workerPhone": "Phone",
"workerEmail": "Email",
"workerBirthDate": "Birthday",
"paymentSchedule": "Payment schedule",
"scheduleDaily": "Every visit",
"scheduleTwiceMonthly": "Twice a month",
"scheduleMonthly": "Monthly",
"profileColor": "Profile color",
"workerNotes": "Notes",
"workerSavedToast": "Housekeeper profile saved.",
"staff": "Staff",
"staffTitle": "Housekeeping staff",
"addWorker": "Add housekeeper",
"editWorker": "Edit housekeeper",
"noWorkers": "No housekeepers registered yet.",
"moreWorkers": "+{{count}} more",
"checkInDisabled": "Add a housekeeper before checking in.",
"calendarColor": "Calendar color",
"visitRecordedAt": "Visit recorded at",
"checkedInToday": "Recorded today",
"visitReports": "Staff visit reports",
"noVisitReports": "No staff visits recorded this month.",
"openVisitReport": "Open visit report",
"visitReportDetails": "Visit report",
"paymentPaid": "Paid",
"paymentPending": "Pending",
"totalPayment": "Total payment",
"paymentStatus": "Payment status",
"paymentTask": "Payment task",
"calendarEvent": "Calendar event",
"notAvailable": "Not available",
"calendarVisitTitle": "Housekeeping: {{name}}",
"paymentTaskTitle": "Pay {{name}} for housekeeping",
"paymentTaskDescription": "Housekeeping visit on {{date}}. Amount due: {{amount}}.",
"staffLogTitle": "{{name}} visits",
"staffLogHint": "Edit visit dates, amounts, and linked records.",
"filterMonth": "Month",
"editVisit": "Edit visit",
"deleteVisit": "Delete visit",
"deleteVisitConfirm": "Delete this visit? The linked calendar event and payment task will also be removed.",
"visitDeletedToast": "Visit deleted.",
"visitSavedToast": "Visit updated.",
"visitDate": "Visit date",
"markPaid": "Mark paid",
"visitPaidToast": "Payment marked as paid.",
"receiptUploadTitle": "Upload payment receipt",
"receiptUploadHint": "Attach a payment receipt. It will appear in Documents.",
"receiptDocumentName": "Receipt - {{name}} - {{date}}",
"receiptDocumentDescription": "Payment receipt for {{name}} housekeeping visit on {{date}}.",
"taskTemplateData": {
"cleanBathrooms": {
"name": "清洁浴室",
"area": "浴室"
},
"mopKitchenFloor": {
"name": "拖厨房地板",
"area": "厨房"
},
"dustLivingRoom": {
"name": "客厅除尘",
"area": "客厅"
},
"changeBedLinens": {
"name": "更换床上用品",
"area": "卧室"
},
"cleanRefrigerator": {
"name": "清洁冰箱",
"area": "厨房"
},
"cleanWindows": {
"name": "擦窗户",
"area": "全屋"
},
"deepCleanOven": {
"name": "深度清洁烤箱",
"area": "厨房"
},
"washOutdoor": {
"name": "清洗阳台/露台",
"area": "户外"
}
}
},
"userMultiSelect": {
"moreUsers": "weitere",
"nobody": "- Niemand -"
}
}
}