Merge Tag v0.2.12

This commit is contained in:
2025-05-19 12:56:21 +02:00
48 changed files with 3626 additions and 469 deletions

407
messages/de.json Normal file
View File

@@ -0,0 +1,407 @@
{
"Dashboard": {
"title": "Dashboard"
},
"HabitList": {
"myTasks": "Meine Aufgaben",
"myHabits": "Meine Gewohnheiten",
"addTaskButton": "Aufgabe hinzufügen",
"addHabitButton": "Gewohnheit hinzufügen",
"searchTasksPlaceholder": "Aufgaben suchen...",
"searchHabitsPlaceholder": "Gewohnheiten suchen...",
"sortByLabel": "Sortieren nach:",
"sortByName": "Name",
"sortByCoinReward": "Münzbelohnung",
"sortByDueDate": "Fälligkeitsdatum",
"sortByFrequency": "Häufigkeit",
"toggleSortOrderAriaLabel": "Sortierreihenfolge umkehren",
"noTasksFoundMessage": "Keine Aufgaben gefunden, die Ihrer Suche entsprechen.",
"noHabitsFoundMessage": "Keine Gewohnheiten gefunden, die Ihrer Suche entsprechen.",
"emptyStateTasksTitle": "Noch keine Aufgaben",
"emptyStateHabitsTitle": "Noch keine Gewohnheiten",
"emptyStateTasksDescription": "Erstellen Sie Ihre erste Aufgabe, um Ihren Fortschritt zu verfolgen",
"emptyStateHabitsDescription": "Erstellen Sie Ihre erste Gewohnheit, um Ihren Fortschritt zu verfolgen",
"archivedSectionTitle": "Archiviert",
"deleteTaskDialogTitle": "Aufgabe löschen",
"deleteHabitDialogTitle": "Gewohnheit löschen",
"deleteTaskDialogMessage": "Sind Sie sicher, dass Sie diese Aufgabe löschen möchten? Diese Aktion kann nicht rückgängig gemacht werden.",
"deleteHabitDialogMessage": "Sind Sie sicher, dass Sie diese Gewohnheit löschen möchten? Diese Aktion kann nicht rückgängig gemacht werden.",
"deleteButton": "Löschen"
},
"DailyOverview": {
"addTaskButtonLabel": "Aufgabe hinzufügen",
"addHabitButtonLabel": "Gewohnheit hinzufügen",
"todaysOverviewTitle": "Heutige Übersicht",
"dailyTasksTitle": "Tägliche Aufgaben",
"noTasksDueTodayMessage": "Heute keine Aufgaben fällig. Fügen Sie Aufgaben hinzu, um zu beginnen!",
"dailyHabitsTitle": "Tägliche Gewohnheiten",
"noHabitsDueTodayMessage": "Heute keine Gewohnheiten fällig. Fügen Sie Gewohnheiten hinzu, um zu beginnen!",
"wishlistGoalsTitle": "Wunschlisten-Ziele",
"redeemableBadgeLabel": "{count}/{total} einlösbar",
"noWishlistItemsMessage": "Noch keine Elemente auf der Wunschliste. Fügen Sie Ziele hinzu, auf die Sie hinarbeiten können!",
"readyToRedeemMessage": "Bereit zum Einlösen!",
"coinsToGoMessage": "Noch {amount} Münzen benötigt",
"showLessButton": "Weniger anzeigen",
"showAllButton": "Alles anzeigen",
"viewButton": "Anzeigen",
"deleteTaskDialogTitle": "Aufgabe löschen",
"deleteHabitDialogTitle": "Gewohnheit löschen",
"confirmDeleteDialogMessage": "Sind Sie sicher, dass Sie \"{name}\" löschen möchten? Diese Aktion kann nicht rückgängig gemacht werden.",
"deleteButton": "Löschen",
"overdueTooltip": "Überfällig"
},
"HabitContextMenuItems": {
"startPomodoro": "Pomodoro starten",
"moveToToday": "Auf heute verschieben",
"moveToTomorrow": "Auf morgen verschieben",
"unpin": "Abheften",
"pin": "Anheften",
"edit": "Bearbeiten",
"archive": "Archivieren",
"unarchive": "Dearchivieren",
"delete": "Löschen"
},
"HabitStreak": {
"dailyCompletionStreakTitle": "Tägliche Abschluss-Serie",
"tooltipHabitsLabel": "Gewohnheiten",
"tooltipTasksLabel": "Aufgaben",
"tooltipCompletedLabel": "Abgeschlossen"
},
"CoinBalance": {
"coinBalanceTitle": "Münzguthaben"
},
"AddEditHabitModal": {
"editTaskTitle": "Aufgabe bearbeiten",
"editHabitTitle": "Gewohnheit bearbeiten",
"addNewTaskTitle": "Neue Aufgabe hinzufügen",
"addNewHabitTitle": "Neue Gewohnheit hinzufügen",
"nameLabel": "Name *",
"descriptionLabel": "Beschreibung",
"whenLabel": "Wann *",
"completeLabel": "Abschließen",
"timesSuffix": "mal",
"rewardLabel": "Belohnung",
"coinsSuffix": "Münzen",
"shareLabel": "Teilen",
"saveChangesButton": "Änderungen speichern",
"addTaskButton": "Aufgabe hinzufügen",
"addHabitButton": "Gewohnheit hinzufügen"
},
"ConfirmDialog": {
"confirmButton": "Bestätigen",
"cancelButton": "Abbrechen"
},
"AddEditWishlistItemModal": {
"editTitle": "Belohnung bearbeiten",
"addTitle": "Neue Belohnung hinzufügen",
"nameLabel": "Name *",
"descriptionLabel": "Beschreibung",
"costLabel": "Kosten",
"coinsSuffix": "Münzen",
"redeemableLabel": "Einlösbar",
"timesSuffix": "mal",
"errorNameRequired": "Name ist erforderlich",
"errorCoinCostMin": "Münzkosten müssen mindestens 1 sein",
"errorTargetCompletionsMin": "Zielabschlüsse müssen mindestens 1 sein",
"errorInvalidUrl": "Bitte geben Sie eine gültige URL ein",
"linkLabel": "Link",
"shareLabel": "Teilen",
"saveButton": "Änderungen speichern",
"addButton": "Belohnung hinzufügen"
},
"Navigation": {
"dashboard": "Dashboard",
"tasks": "Aufgaben",
"habits": "Gewohnheiten",
"calendar": "Kalender",
"wishlist": "Wunschliste",
"coins": "Münzen"
},
"TodayEarnedCoins": {
"todaySuffix": "heute"
},
"WishlistItem": {
"usesLeftSingular": "Verwendung übrig",
"usesLeftPlural": "Verwendungen übrig",
"coinsSuffix": "Münzen",
"redeem": "Einlösen",
"redeemedDone": "Erledigt",
"redeemedExclamation": "Eingelöst!",
"editButton": "Bearbeiten",
"archiveButton": "Archivieren",
"unarchiveButton": "Dearchivieren",
"deleteButton": "Löschen"
},
"WishlistManager": {
"title": "Meine Wunschliste",
"addRewardButton": "Belohnung hinzufügen",
"emptyStateTitle": "Ihre Wunschliste ist leer",
"emptyStateDescription": "Fügen Sie Belohnungen hinzu, die Sie mit Ihren Münzen verdienen möchten",
"archivedSectionTitle": "Archiviert",
"popupBlockedTitle": "Popup blockiert",
"popupBlockedDescription": "Bitte erlauben Sie Popups, um den Link zu öffnen",
"deleteDialogTitle": "Belohnung löschen",
"deleteDialogMessage": "Sind Sie sicher, dass Sie diese Belohnung löschen möchten? Diese Aktion kann nicht rückgängig gemacht werden.",
"deleteButton": "Löschen"
},
"UserSelectModal": {
"addUserButton": "Benutzer hinzufügen",
"createNewUserTitle": "Neuen Benutzer erstellen",
"selectUserTitle": "Benutzer auswählen",
"signInSuccessTitle": "Erfolgreich angemeldet",
"signInSuccessDescription": "Willkommen zurück, {username}!",
"errorInvalidPassword": "Ungültiges Passwort"
},
"CoinsManager": {
"title": "Münzverwaltung",
"currentBalanceLabel": "Aktuelles Guthaben",
"coinsSuffix": "Münzen",
"addCoinsButton": "Münzen hinzufügen",
"removeCoinsButton": "Münzen entfernen",
"statisticsTitle": "Statistiken",
"totalEarnedLabel": "Gesamt verdient",
"totalSpentLabel": "Gesamt ausgegeben",
"totalTransactionsLabel": "Gesamt Transaktionen",
"todaysEarnedLabel": "Heute verdient",
"todaysSpentLabel": "Heute ausgegeben",
"todaysTransactionsLabel": "Heutige Transaktionen",
"transactionHistoryTitle": "Transaktionsverlauf",
"showLabel": "Anzeigen:",
"entriesSuffix": "Einträge",
"showingEntries": "Zeige {from} bis {to} von {total} Einträgen",
"noTransactionsTitle": "Noch keine Transaktionen",
"noTransactionsDescription": "Ihr Transaktionsverlauf wird hier angezeigt, sobald Sie beginnen, Münzen zu verdienen oder auszugeben",
"pageLabel": "Seite",
"ofLabel": "von",
"transactionTypeHabitCompletion": "Gewohnheitsabschluss",
"transactionTypeTaskCompletion": "Aufgabenabschluss",
"transactionTypeHabitUndo": "Gewohnheitsrückgängig",
"transactionTypeTaskUndo": "Aufgabenrückgängig",
"transactionTypeWishRedemption": "Wunscherfüllung",
"transactionTypeManualAdjustment": "Manuelle Anpassung",
"transactionTypeCoinReset": "Münzrücksetzung",
"transactionTypeInitialBalance": "Anfangsguthaben"
},
"NotificationBell": {
"errorUpdateTimestamp": "Fehler beim Aktualisieren des gelesenen Benachrichtigungszeitstempels:"
},
"PomodoroTimer": {
"focusLabel1": "Bleiben Sie konzentriert",
"focusLabel2": "Sie schaffen das",
"focusLabel3": "Machen Sie weiter",
"focusLabel4": "Zerquetschen Sie es",
"focusLabel5": "Lassen Sie es geschehen",
"focusLabel6": "Bleiben Sie stark",
"focusLabel7": "Durchhalten",
"focusLabel8": "Ein Schritt nach dem anderen",
"focusLabel9": "Sie können es schaffen",
"focusLabel10": "Konzentrieren und Erobern",
"breakLabel1": "Machen Sie eine Pause",
"breakLabel2": "Entspannen und Aufladen",
"breakLabel3": "Tief durchatmen",
"breakLabel4": "Dehnen Sie sich",
"breakLabel5": "Erfrischen Sie sich",
"breakLabel6": "Sie verdienen dies",
"breakLabel7": "Laden Sie Ihre Energie auf",
"breakLabel8": "Gehen Sie kurz weg",
"breakLabel9": "Klaren Sie Ihren Geist",
"breakLabel10": "Ruhen Sie sich aus und erfrischen Sie sich",
"focusType": "Konzentration",
"breakType": "Pause",
"pauseButton": "Pause",
"startButton": "Start",
"resetButton": "Zurücksetzen",
"skipButton": "Überspringen",
"wakeLockNotSupported": "Browser unterstützt WakeLock nicht",
"wakeLockInUse": "WakeLock bereits in Benutzung",
"wakeLockRequestError": "Fehler beim Anfordern des WakeLock:",
"wakeLockReleaseError": "Fehler beim Freigeben des WakeLock:"
},
"HabitCalendar": {
"title": "Gewohnheitskalender",
"calendarCardTitle": "Kalender",
"selectDatePrompt": "Wählen Sie ein Datum",
"tasksSectionTitle": "Aufgaben",
"habitsSectionTitle": "Gewohnheiten",
"errorCompletingPastHabit": "Fehler beim Abschließen vergangener Gewohnheit:"
},
"NotificationDropdown": {
"notLoggedIn": "Nicht eingeloggt.",
"userCompletedItem": "{username} hat {itemName} abgeschlossen.",
"userRedeemedItem": "{username} hat {itemName} eingelöst.",
"activityRelatedToItem": "Aktivität bezüglich {itemName} von {username}.",
"defaultUsername": "Jemand",
"defaultItemName": "ein geteilter Gegenstand",
"notificationsTitle": "Benachrichtungen",
"notificationsTooltip": "Zeigt Abschlüsse oder Einlösungen von anderen Benutzern für Gewohnheiten oder Wunschlisten, die Sie mit ihnen geteilt haben (Sie müssen Admin sein)",
"noNotificationsYet": "Noch keine Benachrichtigkeiten"
},
"AboutModal": {
"dialogArisLabel": "über",
"changelogButton": "Änderungsprotokoll",
"createdByPrefix": "Erstellt mit ❤️ von",
"starOnGitHubButton": "Auf GitHub bewerten"
},
"PermissionSelector": {
"permissionsTitle": "Berechtigungen",
"adminAccessLabel": "Admin-Zugriff",
"adminAccessDescription": "Admins haben uneingeschränkte Berechtigungen für alle Daten aller Benutzer",
"resourceHabitTask": "Gewohnheit / Aufgabe",
"resourceWishlist": "Wunschliste",
"resourceCoins": "Münzen",
"permissionWrite": "Schreiben",
"permissionInteract": "Interagieren"
},
"UserForm": {
"toastUserUpdatedTitle": "Benutzer aktualisiert",
"toastUserUpdatedDescription": "Benutzer {username} erfolgreich aktualisiert",
"toastUserCreatedTitle": "Benutzer erstellt",
"toastUserCreatedDescription": "Benutzer {username} erfolgreich erstellt",
"actionUpdate": "aktualisieren",
"actionCreate": "erstellen",
"errorFailedUserAction": "Fehler beim {action} des Benutzers",
"errorTitle": "Fehler",
"errorFileSizeLimit": "Die Dateigröße muss kleiner als 5MB sein",
"toastAvatarUploadedTitle": "Avatar hochgeladen",
"toastAvatarUploadedDescription": "Avatar erfolgreich hochgeladen",
"errorFailedAvatarUpload": "Fehler beim Hochladen des Avatars",
"changeAvatarButton": "Avatar ändern",
"uploadAvatarButton": "Avatar hochladen",
"usernameLabel": "Benutzername",
"usernamePlaceholder": "Benutzername",
"newPasswordLabel": "Neues Passwort",
"passwordLabel": "Passwort",
"passwordPlaceholderEdit": "Leerlassen, um das aktuelle beizubehalten",
"passwordPlaceholderCreate": "Passwort eingeben",
"demoPasswordDisabledMessage": "Passwort ist in der Demo-Instanz automatisch deaktiviert",
"disablePasswordLabel": "Passwort deaktivieren",
"cancelButton": "Abbrechen",
"saveChangesButton": "Änderungen speichern",
"createUserButton": "Benutzer erstellen"
},
"ViewToggle": {
"habitsLabel": "Gewohnheiten",
"tasksLabel": "Aufgaben"
},
"HabitItem": {
"overdue": "Überfällig",
"whenLabel": "Wann: {frequency}",
"coinsPerCompletion": "{count} Münzen pro Abschluss",
"completedStatus": "Abgeschlossen",
"completedStatusCount": "Abgeschlossen ({completed}/{target})",
"completedStatusCountMobile": "{completed}/{target}",
"completeButton": "Abschließen",
"completeButtonCount": "Abschließen ({completed}/{target})",
"completeButtonCountMobile": "{completed}/{target}",
"undoButton": "Rückgängig",
"editButton": "Bearbeiten"
},
"TransactionNoteEditor": {
"noteTooLongTitle": "Notiz zu lang",
"noteTooLongDescription": "Notizen müssen weniger als 200 Zeichen haben",
"errorSavingNoteTitle": "Fehler beim Speichern der Notiz",
"errorDeletingNoteTitle": "Fehler beim Löschen der Notiz",
"pleaseTryAgainDescription": "Bitte versuchen Sie es erneut",
"addNotePlaceholder": "Notiz hinzufügen...",
"saveNoteTitle": "Notiz speichern",
"cancelButtonTitle": "Abbrechen",
"deleteNoteTitle": "Notiz löschen",
"editNoteAriaLabel": "Notiz bearbeiten"
},
"Profile": {
"guestUsername": "Gast",
"editProfileButton": "Profil bearbeiten",
"signOutSuccessTitle": "Erfolgreich abgemeldet",
"signOutSuccessDescription": "Sie wurden von Ihrem Konto abgemeldet",
"signOutErrorTitle": "Abmeldefehler",
"signOutErrorDescription": "Abmeldung fehlgeschlagen",
"switchUserButton": "Benutzer wechseln",
"settingsLink": "Einstellungen",
"aboutButton": "Über",
"themeLabel": "Thema",
"editProfileModalTitle": "Profil bearbeiten"
},
"PasswordEntryForm": {
"notYouButton": "Sind Sie es nicht?",
"passwordLabel": "Passwort",
"passwordPlaceholder": "Passwort eingeben",
"loginErrorToastTitle": "Fehler",
"loginFailedErrorToastDescription": "Anmeldung fehlgeschlagen",
"cancelButton": "Abbrechen",
"loginButton": "Anmelden"
},
"CompletionCountBadge": {
"countCompleted": "{completedCount}/{totalCount} abgeschlossen"
},
"SettingsPage": {
"title": "Einstellungen",
"uiSettingsTitle": "UI-Einstellungen",
"numberFormattingLabel": "Zahlenformatierung",
"numberFormattingDescription": "Große Zahlen formatieren (z.B. 1K, 1M, 1B)",
"numberGroupingLabel": "Zahlengruppierung",
"numberGroupingDescription": "Tausendertrennzeichen verwenden (z.B. 1,000 vs 1000)",
"systemSettingsTitle": "Systemeinstellungen",
"timezoneLabel": "Zeitzone",
"timezoneDescription": "Wählen Sie Ihre Zeitzone für eine genaue Datumsverfolgung",
"weekStartDayLabel": "Wochenstarttag",
"weekStartDayDescription": "Wählen Sie Ihren bevorzugten ersten Tag der Woche",
"weekdays": {
"sunday": "Sonntag",
"monday": "Montag",
"tuesday": "Dienstag",
"wednesday": "Mittwoch",
"thursday": "Donnerstag",
"friday": "Freitag",
"saturday": "Samstag"
},
"autoBackupLabel": "Automatische Sicherung",
"autoBackupTooltip": "Wenn aktiviert, werden die Anwendungsdaten (Gewohnheiten, Münzen, Einstellungen usw.) täglich um 2 Uhr morgens Serverzeit automatisch gesichert. Backups werden als ZIP-Dateien im Verzeichnis `backups/` im Projektstamm gespeichert. Nur die letzten 7 Backups werden gespeichert; ältere werden automatisch gelöscht.",
"autoBackupDescription": "Daten automatisch täglich sichern",
"languageLabel": "Sprache",
"languageDescription": "Wählen Sie Ihre bevorzugte Anzeigesprache für die Anwendung.",
"languageChangedTitle": "Sprache geändert",
"languageChangedDescription": "Bitte aktualisieren Sie die Seite, um die Änderungen zu sehen",
"languageDisabledInDemoTooltip": "Das Ändern der Sprache ist in der Demoversion deaktiviert."
},
"Common": {
"authenticationRequiredTitle": "Authentifizierung erforderlich",
"authenticationRequiredDescription": "Bitte melden Sie sich an, um fortzufahren.",
"permissionDeniedTitle": "Berechtigung verweigert",
"permissionDeniedDescription": "Sie haben keine {action}-Berechtigung für {resource}.",
"undoButton": "Rückgängig",
"redoButton": "Wiederholen",
"errorTitle": "Fehler"
},
"useHabits": {
"alreadyCompletedTitle": "Schon abgeschlossen",
"alreadyCompletedDescription": "Sie haben diese Gewohnheit heute bereits abgeschlossen.",
"completedTitle": "Abgeschlossen!",
"earnedCoinsDescription": "Sie haben {coinReward} Münzen verdient.",
"progressTitle": "Fortschritt!",
"progressDescription": "Sie haben {count}/{target} mal heute abgeschlossen.",
"completionUndoneTitle": "Abschluss rückgängig gemacht",
"completionUndounDescription": "Sie haben {count}/{target} Abschlüsse heute.",
"noCompletionsToUndoTitle": "Keine Abschlüsse zum Rückgängigmachen",
"noCompletionsToUndoDescription": "Diese Gewohnheit wurde heute nicht abgeschlossen.",
"alreadyCompletedPastDateTitle": "Schon abgeschlossen",
"alreadyCompletedPastDateDescription": "Diese Gewohnheit wurde bereits am {dateKey} abgeschlossen.",
"earnedCoinsPastDateDescription": "Sie haben {coinReward} Münzen für {dateKey} verdient.",
"progressPastDateDescription": "Sie haben {count}/{target} mal am {dateKey} abgeschlossen."
},
"useWishlist": {
"redemptionLimitReachedTitle": "Einlösungslimit erreicht",
"redemptionLimitReachedDescription": "Sie haben das maximale Einlösungslimit für \"{itemName}\" erreicht.",
"rewardRedeemedTitle": "🎉 Belohnung eingelöst!",
"rewardRedeemedDescription": "Sie haben \"{itemName}\" für {itemCoinCost} Münzen eingelöst.",
"notEnoughCoinsTitle": "Nicht genug Münzen",
"notEnoughCoinsDescription": "Sie benötigen {coinsNeeded} Münzen mehr, um diese Belohnung einzulösen."
},
"useCoins": {
"invalidAmountTitle": "Ungültiger Betrag",
"invalidAmountDescription": "Bitte geben Sie eine gültige positive Zahl ein",
"successTitle": "Erfolg",
"addedCoinsDescription": "{amount} Münzen hinzugefügt",
"removedCoinsDescription": "{amount} Münzen entfernt",
"transactionNotFoundDescription": "Transaktion nicht gefunden"
}
}

407
messages/en.json Normal file
View File

@@ -0,0 +1,407 @@
{
"Dashboard": {
"title": "Dashboard"
},
"HabitList": {
"myTasks": "My Tasks",
"myHabits": "My Habits",
"addTaskButton": "Add Task",
"addHabitButton": "Add Habit",
"searchTasksPlaceholder": "Search tasks...",
"searchHabitsPlaceholder": "Search habits...",
"sortByLabel": "Sort by:",
"sortByName": "Name",
"sortByCoinReward": "Coin Reward",
"sortByDueDate": "Due Date",
"sortByFrequency": "Frequency",
"toggleSortOrderAriaLabel": "Toggle sort order",
"noTasksFoundMessage": "No tasks found matching your search.",
"noHabitsFoundMessage": "No habits found matching your search.",
"emptyStateTasksTitle": "No tasks yet",
"emptyStateHabitsTitle": "No habits yet",
"emptyStateTasksDescription": "Create your first task to start tracking your progress",
"emptyStateHabitsDescription": "Create your first habit to start tracking your progress",
"archivedSectionTitle": "Archived",
"deleteTaskDialogTitle": "Delete Task",
"deleteHabitDialogTitle": "Delete Habit",
"deleteTaskDialogMessage": "Are you sure you want to delete this task? This action cannot be undone.",
"deleteHabitDialogMessage": "Are you sure you want to delete this habit? This action cannot be undone.",
"deleteButton": "Delete"
},
"DailyOverview": {
"addTaskButtonLabel": "Add Task",
"addHabitButtonLabel": "Add Habit",
"todaysOverviewTitle": "Today's Overview",
"dailyTasksTitle": "Daily Tasks",
"noTasksDueTodayMessage": "No tasks due today. Add some tasks to get started!",
"dailyHabitsTitle": "Daily Habits",
"noHabitsDueTodayMessage": "No habits due today. Add some habits to get started!",
"wishlistGoalsTitle": "Wishlist Goals",
"redeemableBadgeLabel": "{count}/{total} Redeemable",
"noWishlistItemsMessage": "No wishlist items yet. Add some goals to work towards!",
"readyToRedeemMessage": "Ready to redeem!",
"coinsToGoMessage": "{amount} coins to go",
"showLessButton": "Show less",
"showAllButton": "Show all",
"viewButton": "View",
"deleteTaskDialogTitle": "Delete Task",
"deleteHabitDialogTitle": "Delete Habit",
"confirmDeleteDialogMessage": "Are you sure you want to delete \"{name}\"? This action cannot be undone.",
"deleteButton": "Delete",
"overdueTooltip": "Overdue"
},
"HabitContextMenuItems": {
"startPomodoro": "Start Pomodoro",
"moveToToday": "Move to Today",
"moveToTomorrow": "Move to Tomorrow",
"unpin": "Unpin",
"pin": "Pin",
"edit": "Edit",
"archive": "Archive",
"unarchive": "Unarchive",
"delete": "Delete"
},
"HabitStreak": {
"dailyCompletionStreakTitle": "Daily Completion Streak",
"tooltipHabitsLabel": "habits",
"tooltipTasksLabel": "tasks",
"tooltipCompletedLabel": "Completed"
},
"CoinBalance": {
"coinBalanceTitle": "Coin Balance"
},
"AddEditHabitModal": {
"editTaskTitle": "Edit Task",
"editHabitTitle": "Edit Habit",
"addNewTaskTitle": "Add New Task",
"addNewHabitTitle": "Add New Habit",
"nameLabel": "Name *",
"descriptionLabel": "Description",
"whenLabel": "When *",
"completeLabel": "Complete",
"timesSuffix": "times",
"rewardLabel": "Reward",
"coinsSuffix": "coins",
"shareLabel": "Share",
"saveChangesButton": "Save Changes",
"addTaskButton": "Add Task",
"addHabitButton": "Add Habit"
},
"ConfirmDialog": {
"confirmButton": "Confirm",
"cancelButton": "Cancel"
},
"AddEditWishlistItemModal": {
"editTitle": "Edit Reward",
"addTitle": "Add New Reward",
"nameLabel": "Name *",
"descriptionLabel": "Description",
"costLabel": "Cost",
"coinsSuffix": "coins",
"redeemableLabel": "Redeemable",
"timesSuffix": "times",
"errorNameRequired": "Name is required",
"errorCoinCostMin": "Coin cost must be at least 1",
"errorTargetCompletionsMin": "Target completions must be at least 1",
"errorInvalidUrl": "Please enter a valid URL",
"linkLabel": "Link",
"shareLabel": "Share",
"saveButton": "Save Changes",
"addButton": "Add Reward"
},
"Navigation": {
"dashboard": "Dashboard",
"tasks": "Tasks",
"habits": "Habits",
"calendar": "Calendar",
"wishlist": "Wishlist",
"coins": "Coins"
},
"TodayEarnedCoins": {
"todaySuffix": "today"
},
"WishlistItem": {
"usesLeftSingular": "use left",
"usesLeftPlural": "uses left",
"coinsSuffix": "coins",
"redeem": "Redeem",
"redeemedDone": "Done",
"redeemedExclamation": "Redeemed!",
"editButton": "Edit",
"archiveButton": "Archive",
"unarchiveButton": "Unarchive",
"deleteButton": "Delete"
},
"WishlistManager": {
"title": "My Wishlist",
"addRewardButton": "Add Reward",
"emptyStateTitle": "Your wishlist is empty",
"emptyStateDescription": "Add rewards that you'd like to earn with your coins",
"archivedSectionTitle": "Archived",
"popupBlockedTitle": "Popup Blocked",
"popupBlockedDescription": "Please allow popups to open the link",
"deleteDialogTitle": "Delete Reward",
"deleteDialogMessage": "Are you sure you want to delete this reward? This action cannot be undone.",
"deleteButton": "Delete"
},
"UserSelectModal": {
"addUserButton": "Add User",
"createNewUserTitle": "Create New User",
"selectUserTitle": "Select User",
"signInSuccessTitle": "Signed in successfully",
"signInSuccessDescription": "Welcome back, {username}!",
"errorInvalidPassword": "invalid password"
},
"CoinsManager": {
"title": "Coins Management",
"currentBalanceLabel": "Current Balance",
"coinsSuffix": "coins",
"addCoinsButton": "Add Coins",
"removeCoinsButton": "Remove Coins",
"statisticsTitle": "Statistics",
"totalEarnedLabel": "Total Earned",
"totalSpentLabel": "Total Spent",
"totalTransactionsLabel": "Total Transactions",
"todaysEarnedLabel": "Today's Earned",
"todaysSpentLabel": "Today's Spent",
"todaysTransactionsLabel": "Today's Transactions",
"transactionHistoryTitle": "Transaction History",
"showLabel": "Show:",
"entriesSuffix": "entries",
"showingEntries": "Showing {from} to {to} of {total} entries",
"noTransactionsTitle": "No transactions yet",
"noTransactionsDescription": "Your transaction history will appear here once you start earning or spending coins",
"pageLabel": "Page",
"ofLabel": "of",
"transactionTypeHabitCompletion": "Habit Completion",
"transactionTypeTaskCompletion": "Task Completion",
"transactionTypeHabitUndo": "Habit Undo",
"transactionTypeTaskUndo": "Task Undo",
"transactionTypeWishRedemption": "Wish Redemption",
"transactionTypeManualAdjustment": "Manual Adjustment",
"transactionTypeCoinReset": "Coin Reset",
"transactionTypeInitialBalance": "Initial Balance"
},
"NotificationBell": {
"errorUpdateTimestamp": "Failed to update notification read timestamp:"
},
"PomodoroTimer": {
"focusLabel1": "Stay Focused",
"focusLabel2": "You Got This",
"focusLabel3": "Keep Going",
"focusLabel4": "Crush It",
"focusLabel5": "Make It Happen",
"focusLabel6": "Stay Strong",
"focusLabel7": "Push Through",
"focusLabel8": "One Step at a Time",
"focusLabel9": "You Can Do It",
"focusLabel10": "Focus and Conquer",
"breakLabel1": "Take a Break",
"breakLabel2": "Relax and Recharge",
"breakLabel3": "Breathe Deeply",
"breakLabel4": "Stretch It Out",
"breakLabel5": "Refresh Yourself",
"breakLabel6": "You Deserve This",
"breakLabel7": "Recharge Your Energy",
"breakLabel8": "Step Away for a Bit",
"breakLabel9": "Clear Your Mind",
"breakLabel10": "Rest and Rejuvenate",
"focusType": "Focus",
"breakType": "Break",
"pauseButton": "Pause",
"startButton": "Start",
"resetButton": "Reset",
"skipButton": "Skip",
"wakeLockNotSupported": "Browser does not support wakelock",
"wakeLockInUse": "Wake lock already in use",
"wakeLockRequestError": "Error requesting wake lock:",
"wakeLockReleaseError": "Error releasing wake lock:"
},
"HabitCalendar": {
"title": "Habit Calendar",
"calendarCardTitle": "Calendar",
"selectDatePrompt": "Select a date",
"tasksSectionTitle": "Tasks",
"habitsSectionTitle": "Habits",
"errorCompletingPastHabit": "Error completing past habit:"
},
"NotificationDropdown": {
"notLoggedIn": "Not logged in.",
"userCompletedItem": "{username} completed {itemName}.",
"userRedeemedItem": "{username} redeemed {itemName}.",
"activityRelatedToItem": "Activity related to {itemName} by {username}.",
"defaultUsername": "Someone",
"defaultItemName": "a shared item",
"notificationsTitle": "Notifications",
"notificationsTooltip": "Shows completions or redemptions by other users for habits or wishlist that you shared with them (you must be admin)",
"noNotificationsYet": "No notifications yet."
},
"AboutModal": {
"dialogArisLabel": "about",
"changelogButton": "Changelog",
"createdByPrefix": "Created with ❤️ by",
"starOnGitHubButton": "Star on GitHub"
},
"PermissionSelector": {
"permissionsTitle": "Permissions",
"adminAccessLabel": "Admin Access",
"adminAccessDescription": "Admins have full permission to all data for all users",
"resourceHabitTask": "Habit / Task",
"resourceWishlist": "Wishlist",
"resourceCoins": "Coins",
"permissionWrite": "Write",
"permissionInteract": "Interact"
},
"UserForm": {
"toastUserUpdatedTitle": "User updated",
"toastUserUpdatedDescription": "Successfully updated user {username}",
"toastUserCreatedTitle": "User created",
"toastUserCreatedDescription": "Successfully created user {username}",
"actionUpdate": "update",
"actionCreate": "create",
"errorFailedUserAction": "Failed to {action} user",
"errorTitle": "Error",
"errorFileSizeLimit": "File size must be less than 5MB",
"toastAvatarUploadedTitle": "Avatar uploaded",
"toastAvatarUploadedDescription": "Successfully uploaded avatar",
"errorFailedAvatarUpload": "Failed to upload avatar",
"changeAvatarButton": "Change Avatar",
"uploadAvatarButton": "Upload Avatar",
"usernameLabel": "Username",
"usernamePlaceholder": "Username",
"newPasswordLabel": "New Password",
"passwordLabel": "Password",
"passwordPlaceholderEdit": "Leave blank to keep current",
"passwordPlaceholderCreate": "Enter password",
"demoPasswordDisabledMessage": "Password is automatically disabled in demo instance",
"disablePasswordLabel": "Disable password",
"cancelButton": "Cancel",
"saveChangesButton": "Save Changes",
"createUserButton": "Create User"
},
"ViewToggle": {
"habitsLabel": "Habits",
"tasksLabel": "Tasks"
},
"HabitItem": {
"overdue": "Overdue",
"whenLabel": "When: {frequency}",
"coinsPerCompletion": "{count} coins per completion",
"completedStatus": "Completed",
"completedStatusCount": "Completed ({completed}/{target})",
"completedStatusCountMobile": "{completed}/{target}",
"completeButton": "Complete",
"completeButtonCount": "Complete ({completed}/{target})",
"completeButtonCountMobile": "{completed}/{target}",
"undoButton": "Undo",
"editButton": "Edit"
},
"TransactionNoteEditor": {
"noteTooLongTitle": "Note too long",
"noteTooLongDescription": "Notes must be less than 200 characters",
"errorSavingNoteTitle": "Error saving note",
"errorDeletingNoteTitle": "Error deleting note",
"pleaseTryAgainDescription": "Please try again",
"addNotePlaceholder": "Add a note...",
"saveNoteTitle": "Save note",
"cancelButtonTitle": "Cancel",
"deleteNoteTitle": "Delete note",
"editNoteAriaLabel": "Edit note"
},
"Profile": {
"guestUsername": "Guest",
"editProfileButton": "Edit profile",
"signOutSuccessTitle": "Signed out successfully",
"signOutSuccessDescription": "You have been logged out of your account",
"signOutErrorTitle": "Sign Out Error",
"signOutErrorDescription": "Failed to sign out",
"switchUserButton": "Switch user",
"settingsLink": "Settings",
"aboutButton": "About",
"themeLabel": "Theme",
"editProfileModalTitle": "Edit Profile"
},
"PasswordEntryForm": {
"notYouButton": "Not you?",
"passwordLabel": "Password",
"passwordPlaceholder": "Enter password",
"loginErrorToastTitle": "Error",
"loginFailedErrorToastDescription": "Login failed",
"cancelButton": "Cancel",
"loginButton": "Login"
},
"CompletionCountBadge": {
"countCompleted": "{completedCount}/{totalCount} completed"
},
"SettingsPage": {
"title": "Settings",
"uiSettingsTitle": "UI Settings",
"numberFormattingLabel": "Number Formatting",
"numberFormattingDescription": "Format large numbers (e.g., 1K, 1M, 1B)",
"numberGroupingLabel": "Number Grouping",
"numberGroupingDescription": "Use thousand separators (e.g., 1,000 vs 1000)",
"systemSettingsTitle": "System Settings",
"timezoneLabel": "Timezone",
"timezoneDescription": "Select your timezone for accurate date tracking",
"weekStartDayLabel": "Week Start Day",
"weekStartDayDescription": "Select your preferred first day of the week",
"weekdays": {
"sunday": "Sunday",
"monday": "Monday",
"tuesday": "Tuesday",
"wednesday": "Wednesday",
"thursday": "Thursday",
"friday": "Friday",
"saturday": "Saturday"
},
"autoBackupLabel": "Auto Backup",
"autoBackupTooltip": "When enabled, the application data (habits, coins, settings, etc.) will be automatically backed up daily around 2 AM server time. Backups are stored as ZIP files in the `backups/` directory at the project root. Only the last 7 backups are kept; older ones are automatically deleted.",
"autoBackupDescription": "Automatically back up data daily",
"languageLabel": "Language",
"languageDescription": "Choose your preferred display language for the application.",
"languageChangedTitle": "Language Changed",
"languageChangedDescription": "Please refresh the page to see the changes",
"languageDisabledInDemoTooltip": "Changing the language is disabled in the demo version."
},
"Common": {
"authenticationRequiredTitle": "Authentication Required",
"authenticationRequiredDescription": "Please sign in to continue.",
"permissionDeniedTitle": "Permission Denied",
"permissionDeniedDescription": "You don't have {action} permission for {resource}s.",
"undoButton": "Undo",
"redoButton": "Redo",
"errorTitle": "Error"
},
"useHabits": {
"alreadyCompletedTitle": "Already completed",
"alreadyCompletedDescription": "You've already completed this habit today.",
"completedTitle": "Completed!",
"earnedCoinsDescription": "You earned {coinReward} coins.",
"progressTitle": "Progress!",
"progressDescription": "You've completed {count}/{target} times today.",
"completionUndoneTitle": "Completion undone",
"completionUndoneDescription": "You have {count}/{target} completions today.",
"noCompletionsToUndoTitle": "No completions to undo",
"noCompletionsToUndoDescription": "This habit hasn't been completed today.",
"alreadyCompletedPastDateTitle": "Already completed",
"alreadyCompletedPastDateDescription": "This habit was already completed on {dateKey}.",
"earnedCoinsPastDateDescription": "You earned {coinReward} coins for {dateKey}.",
"progressPastDateDescription": "You've completed {count}/{target} times on {dateKey}."
},
"useWishlist": {
"redemptionLimitReachedTitle": "Redemption limit reached",
"redemptionLimitReachedDescription": "You've reached the maximum redemptions for \"{itemName}\".",
"rewardRedeemedTitle": "🎉 Reward Redeemed!",
"rewardRedeemedDescription": "You've redeemed \"{itemName}\" for {itemCoinCost} coins.",
"notEnoughCoinsTitle": "Not enough coins",
"notEnoughCoinsDescription": "You need {coinsNeeded} more coins to redeem this reward."
},
"useCoins": {
"invalidAmountTitle": "Invalid amount",
"invalidAmountDescription": "Please enter a valid positive number",
"successTitle": "Success",
"addedCoinsDescription": "Added {amount} coins",
"removedCoinsDescription": "Removed {amount} coins",
"transactionNotFoundDescription": "Transaction not found"
}
}

407
messages/es.json Normal file
View File

@@ -0,0 +1,407 @@
{
"Dashboard": {
"title": "Tablero"
},
"HabitList": {
"myTasks": "Mis tareas",
"myHabits": "Mis hábitos",
"addTaskButton": "Añadir tarea",
"addHabitButton": "Añadir hábito",
"searchTasksPlaceholder": "Buscar tareas...",
"searchHabitsPlaceholder": "Buscar hábitos...",
"sortByLabel": "Ordenar por:",
"sortByName": "Nombre",
"sortByCoinReward": "Recompensa de monedas",
"sortByDueDate": "Fecha límite",
"sortByFrequency": "Frecuencia",
"toggleSortOrderAriaLabel": "Cambiar orden de clasificación",
"noTasksFoundMessage": "No se encontraron tareas que coincidan con tu búsqueda.",
"noHabitsFoundMessage": "No se encontraron hábitos que coincidan con tu búsqueda.",
"emptyStateTasksTitle": "Aún no hay tareas",
"emptyStateHabitsTitle": "Aún no hay hábitos",
"emptyStateTasksDescription": "Crea tu primera tarea para empezar a seguir tu progreso",
"emptyStateHabitsDescription": "Crea tu primer hábito para empezar a seguir tu progreso",
"archivedSectionTitle": "Archivado",
"deleteTaskDialogTitle": "Eliminar tarea",
"deleteHabitDialogTitle": "Eliminar hábito",
"deleteTaskDialogMessage": "¿Estás seguro de que quieres eliminar esta tarea? Esta acción no se puede deshacer.",
"deleteHabitDialogMessage": "¿Estás seguro de que quieres eliminar este hábito? Esta acción no se puede deshacer.",
"deleteButton": "Eliminar"
},
"DailyOverview": {
"addTaskButtonLabel": "Añadir tarea",
"addHabitButtonLabel": "Añadir hábito",
"todaysOverviewTitle": "Resumen de hoy",
"dailyTasksTitle": "Tareas diarias",
"noTasksDueTodayMessage": "No hay tareas para hoy. ¡Añade algunas para empezar!",
"dailyHabitsTitle": "Hábitos diarios",
"noHabitsDueTodayMessage": "No hay hábitos para hoy. ¡Añade algunos para empezar!",
"wishlistGoalsTitle": "Objetivos de lista de deseos",
"redeemableBadgeLabel": "{count}/{total} canjeable",
"noWishlistItemsMessage": "Aún no hay items en la lista de deseos. ¡Añade algunas metas para trabajar!",
"readyToRedeemMessage": "¡Listo para canjear!",
"coinsToGoMessage": "Faltan {amount} monedas",
"showLessButton": "Mostrar menos",
"showAllButton": "Mostrar todo",
"viewButton": "Ver",
"deleteTaskDialogTitle": "Eliminar tarea",
"deleteHabitDialogTitle": "Eliminar hábito",
"confirmDeleteDialogMessage": "¿Estás seguro de que quieres eliminar \"{name}\"? Esta acción no se puede deshacer.",
"deleteButton": "Eliminar",
"overdueTooltip": "Vencido"
},
"HabitContextMenuItems": {
"startPomodoro": "Iniciar Pomodoro",
"moveToToday": "Mover a hoy",
"moveToTomorrow": "Mover a mañana",
"unpin": "Desanclar",
"pin": "Anclar",
"edit": "Editar",
"archive": "Archivar",
"unarchive": "Desarchivar",
"delete": "Eliminar"
},
"HabitStreak": {
"dailyCompletionStreakTitle": "Racha de finalización diaria",
"tooltipHabitsLabel": "hábitos",
"tooltipTasksLabel": "tareas",
"tooltipCompletedLabel": "Completado"
},
"CoinBalance": {
"coinBalanceTitle": "Saldo de monedas"
},
"AddEditHabitModal": {
"editTaskTitle": "Editar tarea",
"editHabitTitle": "Editar hábito",
"addNewTaskTitle": "Añadir nueva tarea",
"addNewHabitTitle": "Añadir nuevo hábito",
"nameLabel": "Nombre *",
"descriptionLabel": "Descripción",
"whenLabel": "Cuándo *",
"completeLabel": "Completar",
"timesSuffix": "veces",
"rewardLabel": "Recompensa",
"coinsSuffix": "monedas",
"shareLabel": "Compartir",
"saveChangesButton": "Guardar cambios",
"addTaskButton": "Añadir tarea",
"addHabitButton": "Añadir hábito"
},
"ConfirmDialog": {
"confirmButton": "Confirmar",
"cancelButton": "Cancelar"
},
"AddEditWishlistItemModal": {
"editTitle": "Editar recompensa",
"addTitle": "Añadir nueva recompensa",
"nameLabel": "Nombre *",
"descriptionLabel": "Descripción",
"costLabel": "Costo",
"coinsSuffix": "monedas",
"redeemableLabel": "Canjeable",
"timesSuffix": "veces",
"errorNameRequired": "El nombre es requerido",
"errorCoinCostMin": "El costo en monedas debe ser al menos 1",
"errorTargetCompletionsMin": "El número de finalizaciones objetivo debe ser al menos 1",
"errorInvalidUrl": "Por favor ingresa una URL válida",
"linkLabel": "Enlace",
"shareLabel": "Compartir",
"saveButton": "Guardar cambios",
"addButton": "Añadir recompensa"
},
"Navigation": {
"dashboard": "Tablero",
"tasks": "Tareas",
"habits": "Hábitos",
"calendar": "Calendario",
"wishlist": "Lista de deseos",
"coins": "Monedas"
},
"TodayEarnedCoins": {
"todaySuffix": "hoy"
},
"WishlistItem": {
"usesLeftSingular": "uso restante",
"usesLeftPlural": "usos restantes",
"coinsSuffix": "monedas",
"redeem": "Canjear",
"redeemedDone": "Hecho",
"redeemedExclamation": "¡Canjeado!",
"editButton": "Editar",
"archiveButton": "Archivar",
"unarchiveButton": "Desarchivar",
"deleteButton": "Eliminar"
},
"WishlistManager": {
"title": "Mi lista de deseos",
"addRewardButton": "Añadir recompensa",
"emptyStateTitle": "Tu lista de deseos está vacía",
"emptyStateDescription": "Añade recompensas que te gustaría ganar con tus monedas",
"archivedSectionTitle": "Archivado",
"popupBlockedTitle": "Popup bloqueado",
"popupBlockedDescription": "Por favor permite los popups para abrir el enlace",
"deleteDialogTitle": "Eliminar recompensa",
"deleteDialogMessage": "¿Estás seguro de que quieres eliminar esta recompensa? Esta acción no se puede deshacer.",
"deleteButton": "Eliminar"
},
"UserSelectModal": {
"addUserButton": "Añadir usuario",
"createNewUserTitle": "Crear nuevo usuario",
"selectUserTitle": "Seleccionar usuario",
"signInSuccessTitle": "Inicio de sesión exitoso",
"signInSuccessDescription": "¡Bienvenido de nuevo, {username}!",
"errorInvalidPassword": "contraseña inválida"
},
"CoinsManager": {
"title": "Gestión de monedas",
"currentBalanceLabel": "Saldo actual",
"coinsSuffix": "monedas",
"addCoinsButton": "Añadir monedas",
"removeCoinsButton": "Quitar monedas",
"statisticsTitle": "Estadísticas",
"totalEarnedLabel": "Total ganado",
"totalSpentLabel": "Total gastado",
"totalTransactionsLabel": "Transacciones totales",
"todaysEarnedLabel": "Ganado hoy",
"todaysSpentLabel": "Gastado hoy",
"todaysTransactionsLabel": "Transacciones hoy",
"transactionHistoryTitle": "Historial de transacciones",
"showLabel": "Mostrar:",
"entriesSuffix": "entradas",
"showingEntries": "Mostrando {from} a {to} de {total} entradas",
"noTransactionsTitle": "Aún no hay transacciones",
"noTransactionsDescription": "Tu historial de transacciones aparecerá aquí una vez que empieces a ganar o gastar monedas",
"pageLabel": "Página",
"ofLabel": "de",
"transactionTypeHabitCompletion": "Finalización de hábito",
"transactionTypeTaskCompletion": "Finalización de tarea",
"transactionTypeHabitUndo": "Deshacer hábito",
"transactionTypeTaskUndo": "Deshacer tarea",
"transactionTypeWishRedemption": "Canje de deseo",
"transactionTypeManualAdjustment": "Ajuste manual",
"transactionTypeCoinReset": "Reinicio de monedas",
"transactionTypeInitialBalance": "Saldo inicial"
},
"NotificationBell": {
"errorUpdateTimestamp": "Error al actualizar la marca de tiempo de notificación leída:"
},
"PomodoroTimer": {
"focusLabel1": "Mantente enfocado",
"focusLabel2": "Tú puedes",
"focusLabel3": "Sigue adelante",
"focusLabel4": "Hazlo",
"focusLabel5": "Haz que suceda",
"focusLabel6": "Mantente fuerte",
"focusLabel7": "Esfuérzate",
"focusLabel8": "Un paso a la vez",
"focusLabel9": "Tú puedes hacerlo",
"focusLabel10": "Enfócate y conquista",
"breakLabel1": "Toma un descanso",
"breakLabel2": "Relájate y recarga",
"breakLabel3": "Respira profundamente",
"breakLabel4": "Estírate",
"breakLabel5": "Refréscate",
"breakLabel6": "Te lo mereces",
"breakLabel7": "Recarga tu energía",
"breakLabel8": "Aléjate un momento",
"breakLabel9": "Despeja tu mente",
"breakLabel10": "Descansa y recupérate",
"focusType": "Enfoque",
"breakType": "Descanso",
"pauseButton": "Pausar",
"startButton": "Iniciar",
"resetButton": "Reiniciar",
"skipButton": "Saltar",
"wakeLockNotSupported": "El navegador no soporta wake lock",
"wakeLockInUse": "Wake lock ya está en uso",
"wakeLockRequestError": "Error al solicitar wake lock:",
"wakeLockReleaseError": "Error al liberar wake lock:"
},
"HabitCalendar": {
"title": "Calendario de hábitos",
"calendarCardTitle": "Calendario",
"selectDatePrompt": "Selecciona una fecha",
"tasksSectionTitle": "Tareas",
"habitsSectionTitle": "Hábitos",
"errorCompletingPastHabit": "Error al completar hábito pasado:"
},
"NotificationDropdown": {
"notLoggedIn": "No has iniciado sesión.",
"userCompletedItem": "{username} completó {itemName}.",
"userRedeemedItem": "{username} canjeó {itemName}.",
"activityRelatedToItem": "Actividad relacionada con {itemName} por {username}.",
"defaultUsername": "Alguien",
"defaultItemName": "un item compartido",
"notificationsTitle": "Notificaciones",
"notificationsTooltip": "Muestra finalizaciones o canjes de otros usuarios para hábitos o lista de deseos que compartiste con ellos (debes ser admin)",
"noNotificationsYet": "Aún no hay notificaciones."
},
"AboutModal": {
"dialogArisLabel": "acerca de",
"changelogButton": "Registro de cambios",
"createdByPrefix": "Creado con ❤️ por",
"starOnGitHubButton": "Dar estrella en GitHub"
},
"PermissionSelector": {
"permissionsTitle": "Permisos",
"adminAccessLabel": "Acceso de administrador",
"adminAccessDescription": "Los administradores tienen permiso completo sobre todos los datos de todos los usuarios",
"resourceHabitTask": "Hábito / Tarea",
"resourceWishlist": "Lista de deseos",
"resourceCoins": "Monedas",
"permissionWrite": "Escritura",
"permissionInteract": "Interactuar"
},
"UserForm": {
"toastUserUpdatedTitle": "Usuario actualizado",
"toastUserUpdatedDescription": "Usuario {username} actualizado con éxito",
"toastUserCreatedTitle": "Usuario creado",
"toastUserCreatedDescription": "Usuario {username} creado con éxito",
"actionUpdate": "actualizar",
"actionCreate": "crear",
"errorFailedUserAction": "Error al {action} usuario",
"errorTitle": "Error",
"errorFileSizeLimit": "El tamaño del archivo debe ser menor a 5MB",
"toastAvatarUploadedTitle": "Avatar subido",
"toastAvatarUploadedDescription": "Avatar subido con éxito",
"errorFailedAvatarUpload": "Error al subir avatar",
"changeAvatarButton": "Cambiar avatar",
"uploadAvatarButton": "Subir avatar",
"usernameLabel": "Nombre de usuario",
"usernamePlaceholder": "Nombre de usuario",
"newPasswordLabel": "Nueva contraseña",
"passwordLabel": "Contraseña",
"passwordPlaceholderEdit": "Dejar en blanco para mantener la actual",
"passwordPlaceholderCreate": "Ingresar contraseña",
"demoPasswordDisabledMessage": "La contraseña está automáticamente desactivada en la instancia demo",
"disablePasswordLabel": "Desactivar contraseña",
"cancelButton": "Cancelar",
"saveChangesButton": "Guardar cambios",
"createUserButton": "Crear usuario"
},
"ViewToggle": {
"habitsLabel": "Hábitos",
"tasksLabel": "Tareas"
},
"HabitItem": {
"overdue": "Vencido",
"whenLabel": "Cuándo: {frequency}",
"coinsPerCompletion": "{count} monedas por finalización",
"completedStatus": "Completado",
"completedStatusCount": "Completado ({completed}/{target})",
"completedStatusCountMobile": "{completed}/{target}",
"completeButton": "Completar",
"completeButtonCount": "Completar ({completed}/{target})",
"completeButtonCountMobile": "{completed}/{target}",
"undoButton": "Deshacer",
"editButton": "Editar"
},
"TransactionNoteEditor": {
"noteTooLongTitle": "Nota demasiado larga",
"noteTooLongDescription": "Las notas deben tener menos de 200 caracteres",
"errorSavingNoteTitle": "Error al guardar nota",
"errorDeletingNoteTitle": "Error al eliminar nota",
"pleaseTryAgainDescription": "Por favor inténtalo de nuevo",
"addNotePlaceholder": "Añadir nota...",
"saveNoteTitle": "Guardar nota",
"cancelButtonTitle": "Cancelar",
"deleteNoteTitle": "Eliminar nota",
"editNoteAriaLabel": "Editar nota"
},
"Profile": {
"guestUsername": "Invitado",
"editProfileButton": "Editar perfil",
"signOutSuccessTitle": "Cierre de sesión exitoso",
"signOutSuccessDescription": "Has cerrado sesión en tu cuenta",
"signOutErrorTitle": "Error al cerrar sesión",
"signOutErrorDescription": "Error al cerrar sesión",
"switchUserButton": "Cambiar usuario",
"settingsLink": "Configuración",
"aboutButton": "Acerca de",
"themeLabel": "Tema",
"editProfileModalTitle": "Editar perfil"
},
"PasswordEntryForm": {
"notYouButton": "¿No eres tú?",
"passwordLabel": "Contraseña",
"passwordPlaceholder": "Ingresar contraseña",
"loginErrorToastTitle": "Error",
"loginFailedErrorToastDescription": "Error al iniciar sesión",
"cancelButton": "Cancelar",
"loginButton": "Iniciar sesión"
},
"CompletionCountBadge": {
"countCompleted": "{completedCount}/{totalCount} completado"
},
"SettingsPage": {
"title": "Configuración",
"uiSettingsTitle": "Configuración de interfaz",
"numberFormattingLabel": "Formato numérico",
"numberFormattingDescription": "Formatear números grandes (ej: 1K, 1M, 1B)",
"numberGroupingLabel": "Agrupación numérica",
"numberGroupingDescription": "Usar separadores de miles (ej: 1,000 vs 1000)",
"systemSettingsTitle": "Configuración del sistema",
"timezoneLabel": "Zona horaria",
"timezoneDescription": "Selecciona tu zona horaria para un seguimiento preciso de fechas",
"weekStartDayLabel": "Día de inicio de semana",
"weekStartDayDescription": "Selecciona tu día preferido para iniciar la semana",
"weekdays": {
"sunday": "Domingo",
"monday": "Lunes",
"tuesday": "Martes",
"wednesday": "Miércoles",
"thursday": "Jueves",
"friday": "Viernes",
"saturday": "Sábado"
},
"autoBackupLabel": "Copia de seguridad automática",
"autoBackupTooltip": "Cuando está habilitado, los datos de la aplicación (hábitos, monedas, configuraciones, etc.) se respaldan automáticamente diariamente alrededor de las 2 AM hora del servidor. Las copias de seguridad se almacenan como archivos ZIP en el directorio `backups/` en la raíz del proyecto. Solo se conservan las últimas 7 copias de seguridad; las más antiguas se eliminan automáticamente.",
"autoBackupDescription": "Realizar copia de seguridad automática diaria",
"languageLabel": "Idioma",
"languageDescription": "Elige tu idioma preferido para mostrar en la aplicación.",
"languageChangedTitle": "Idioma cambiado",
"languageChangedDescription": "Por favor actualiza la página para ver los cambios",
"languageDisabledInDemoTooltip": "Cambiar el idioma está deshabilitado en la versión de demostración."
},
"Common": {
"authenticationRequiredTitle": "Autenticación requerida",
"authenticationRequiredDescription": "Por favor inicia sesión para continuar.",
"permissionDeniedTitle": "Permiso denegado",
"permissionDeniedDescription": "No tienes permiso de {action} para {resource}.",
"undoButton": "Deshacer",
"redoButton": "Rehacer",
"errorTitle": "Error"
},
"useHabits": {
"alreadyCompletedTitle": "Ya completado",
"alreadyCompletedDescription": "Ya has completado este hábito hoy.",
"completedTitle": "¡Completado!",
"earnedCoinsDescription": "Ganaste {coinReward} monedas.",
"progressTitle": "¡Progreso!",
"progressDescription": "Has completado {count}/{target} veces hoy.",
"completionUndoneTitle": "Finalización deshecha",
"completionUndoneDescription": "Tienes {count}/{target} finalizaciones hoy.",
"noCompletionsToUndoTitle": "No hay finalizaciones para deshacer",
"noCompletionsToUndoDescription": "Este hábito no ha sido completado hoy.",
"alreadyCompletedPastDateTitle": "Ya completado",
"alreadyCompletedPastDateDescription": "Este hábito ya fue completado el {dateKey}.",
"earnedCoinsPastDateDescription": "Ganaste {coinReward} monedas por {dateKey}.",
"progressPastDateDescription": "Has completado {count}/{target} veces el {dateKey}."
},
"useWishlist": {
"redemptionLimitReachedTitle": "Límite de canjes alcanzado",
"redemptionLimitReachedDescription": "Has alcanzado el máximo de canjes para \"{itemName}\".",
"rewardRedeemedTitle": "🎉 ¡Recompensa canjeada!",
"rewardRedeemedDescription": "Has canjeado \"{itemName}\" por {itemCoinCost} monedas.",
"notEnoughCoinsTitle": "No hay suficientes monedas",
"notEnoughCoinsDescription": "Necesitas {coinsNeeded} monedas más para canjear esta recompensa."
},
"useCoins": {
"invalidAmountTitle": "Cantidad inválida",
"invalidAmountDescription": "Por favor ingresa un número positivo válido",
"successTitle": "Éxito",
"addedCoinsDescription": "Añadidas {amount} monedas",
"removedCoinsDescription": "Quitadas {amount} monedas",
"transactionNotFoundDescription": "Transacción no encontrada"
}
}

407
messages/fr.json Normal file
View File

@@ -0,0 +1,407 @@
{
"Dashboard": {
"title": "Tableau de bord"
},
"HabitList": {
"myTasks": "Mes tâches",
"myHabits": "Mes habitudes",
"addTaskButton": "Ajouter une tâche",
"addHabitButton": "Ajouter une habitude",
"searchTasksPlaceholder": "Rechercher des tâches...",
"searchHabitsPlaceholder": "Rechercher des habitudes...",
"sortByLabel": "Trier par :",
"sortByName": "Nom",
"sortByCoinReward": "Récompense en pièces",
"sortByDueDate": "Date d'échéance",
"sortByFrequency": "Fréquence",
"toggleSortOrderAriaLabel": "Changer l'ordre de tri",
"noTasksFoundMessage": "Aucune tâche ne correspond à votre recherche.",
"noHabitsFoundMessage": "Aucune habitude ne correspond à votre recherche.",
"emptyStateTasksTitle": "Aucune tâche pour l'instant",
"emptyStateHabitsTitle": "Aucune habitude pour l'instant",
"emptyStateTasksDescription": "Créez votre première tâche pour commencer à suivre vos progrès",
"emptyStateHabitsDescription": "Créez votre première habitude pour commencer à suivre vos progrès",
"archivedSectionTitle": "Archivé",
"deleteTaskDialogTitle": "Supprimer la tâche",
"deleteHabitDialogTitle": "Supprimer l'habitude",
"deleteTaskDialogMessage": "Êtes-vous sûr de vouloir supprimer cette tâche ? Cette action est irréversible.",
"deleteHabitDialogMessage": "Êtes-vous sûr de vouloir supprimer cette habitude ? Cette action est irréversible.",
"deleteButton": "Supprimer"
},
"DailyOverview": {
"addTaskButtonLabel": "Ajouter une tâche",
"addHabitButtonLabel": "Ajouter une habitude",
"todaysOverviewTitle": "Aperçu du jour",
"dailyTasksTitle": "Tâches quotidiennes",
"noTasksDueTodayMessage": "Aucune tâche pour aujourd'hui. Ajoutez des tâches pour commencer !",
"dailyHabitsTitle": "Habitudes quotidiennes",
"noHishabitsDueTodayMessage": "Aucune habitude pour aujourd'hui. Ajoutez des habitudes pour commencer !",
"wishlistGoalsTitle": "Objectifs de la liste de souhaits",
"redeemableBadgeLabel": "{count}/{total} échangeable",
"noWishlistItemsMessage": "Aucun élément dans la liste de souhaits. Ajoutez des objectifs à atteindre !",
"readyToRedeemMessage": "Prêt à échanger !",
"coinsToGoMessage": "Il manque {amount} pièces",
"showLessButton": "Afficher moins",
"showAllButton": "Afficher tout",
"viewButton": "Voir",
"deleteTaskDialogTitle": "Supprimer la tâche",
"deleteHabitDialogTitle": "Supprimer l'habitude",
"confirmDeleteDialogMessage": "Êtes-vous sûr de vouloir supprimer \"{name}\" ? Cette action est irréversible.",
"deleteButton": "Supprimer",
"overdueTooltip": "En retard"
},
"HabitContextMenuItems": {
"startPomodoro": "Démarrer Pomodoro",
"moveToToday": "Déplacer à aujourd'hui",
"moveToTomorrow": "Déplacer à demain",
"unpin": "Détacher",
"pin": "Attacher",
"edit": "Modifier",
"archive": "Archiver",
"unarchive": "Désarchiver",
"delete": "Supprimer"
},
"HabitStreak": {
"dailyCompletionStreakTitle": "Série de complétions quotidiennes",
"tooltipHabitsLabel": "habitudes",
"tooltipTasksLabel": "tâches",
"tooltipCompletedLabel": "Complété"
},
"CoinBalance": {
"coinBalanceTitle": "Solde de pièces"
},
"AddEditHabitModal": {
"editTaskTitle": "Modifier une tâche",
"editHabitTitle": "Modifier une habitude",
"addNewTaskTitle": "Ajouter une nouvelle tâche",
"AddNewHabitTitle": "Ajouter une nouvelle habitude",
"nameLabel": "Nom *",
"descriptionLabel": "Description",
"whenLabel": "Quand *",
"completeLabel": "Compléter",
"timesSuffix": "fois",
"rewardLabel": "Récompense",
"coinsSuffix": "pièces",
"shareLabel": "Partager",
"saveChangesButton": "Sauvegarder les modifications",
"addTaskButton": "Ajouter une tâche",
"addHabitButton": "Ajouter une habitude"
},
"ConfirmDialog": {
"confirmButton": "Confirmer",
"cancelButton": "Annuler"
},
"AddEditWishlistItemModal": {
"editTitle": "Modifier la récompense",
"addTitle": "Ajouter une nouvelle récompense",
"nameLabel": "Nom *",
"descriptionLabel": "Description",
"costLabel": "Coût",
"coinsSuffix": "pièces",
"redeemableLabel": "Échangeable",
"timesSuffix": "fois",
"errorNameRequired": "Le nom est requis",
"errorCoinCostMin": "Le coût en pièces doit être d'au moins 1",
"errorTargetCompletionsMin": "Les complétions cibles doivent être d'au moins 1",
"errorInvalidUrl": "Veuillez entrer une URL valide",
"linkLabel": "Lien",
"shareLabel": "Partager",
"saveButton": "Sauvegarder les modifications",
"addButton": "Ajouter une récompense"
},
"Navigation": {
"dashboard": "Tableau de bord",
"tasks": "Tâches",
"habits": "Habitudes",
"calendar": "Calendrier",
"wishlist": "Liste de souhaits",
"coins": "Pièces"
},
"TodayEarnedCoins": {
"todaySuffix": "aujourd'hui"
},
"WishlistItem": {
"usesLeftSingular": "utilisation restante",
"usesLeftPlural": "utilisations restantes",
"coinsSuffix": "pièces",
"redeem": "Échanger",
"redeemedDone": "Fait",
"redeemedExclamation": "Échangé !",
"editButton": "Modifier",
"archiveButton": "Archiver",
"unarchiveButton": "Désarchiver",
"deleteButton": "Supprimer"
},
"WishlistManager": {
"title": "Ma liste de souhaits",
"addRewardButton": "Ajouter une récompense",
"emptyStateTitle": "Votre liste de souhaits est vide",
"emptyStateDescription": "Ajoutez des récompenses que vous aimeriez gagner avec vos pièces",
"archivedSectionTitle": "Archivé",
"popupBlockedTitle": "Popup bloqué",
"popupBlockedDescription": "Veuillez autoriser les popups pour ouvrir le lien",
"deleteDialogTitle": "Supprimer la récompense",
"deleteDialogMessage": "Êtes-vous sûr de vouloir supprimer cette récompense ? Cette action est irréversible.",
"deleteButton": "Supprimer"
},
"UserSelectModal": {
"addUserButton": "Ajouter un utilisateur",
"createNewUserTitle": "Créer un nouvel utilisateur",
"selectUserTitle": "Sélectionner un utilisateur",
"signInSuccessTitle": "Connecté avec succès",
"signInSuccessDescription": "Bienvenue, {username} !",
"errorInvalidPassword": "mot de passe invalide"
},
"CoinsManager": {
"title": "Gestion des pièces",
"currentBalanceLabel": "Solde actuel",
"coinsSuffix": "pièces",
"addCoinsButton": "Ajouter des pièces",
"removeCoinsButton": "Retirer des pièces",
"statisticsTitle": "Statistiques",
"totalEarnedLabel": "Total gagné",
"totalSpentLabel": "Total dépensé",
"totalTransactionsLabel": "Total des transactions",
"todaysEarnedLabel": "Gagné aujourd'hui",
"todaysSpentLabel": "Dépensé aujourd'hui",
"todaysTransactionsLabel": "Transactions d'aujourd'hui",
"transactionHistoryTitle": "Historique des transactions",
"showLabel": "Afficher :",
"entriesSuffix": "entrées",
"showingEntries": "Affichage de {from} à {to} de {total} entrées",
"noTransactionsTitle": "Aucune transaction pour l'instant",
"noTransactionsDescription": "Votre historique de transactions apparaîtra ici une fois que vous commencerez à gagner ou dépenser des pièces",
"pageLabel": "Page",
"ofLabel": "sur",
"transactionTypeHabitCompletion": "Complétion d'habitude",
"transactionTypeTaskCompletion": "Complétion de tâche",
"transactionTypeHabitUndo": "Annulation d'habitude",
"transactionTypeTaskUndo": "Annulation de tâche",
"transactionTypeWishRedemption": "Échange de souhait",
"transactionTypeManualAdjustment": "Ajustement manuel",
"transactionTypeCoinReset": "Réinitialisation des pièces",
"transactionTypeInitialBalance": "Solde initial"
},
"NotificationBell": {
"errorUpdateTimestamp": "Échec de la mise à jour du timestamp de lecture de notification :"
},
"PomodoroTimer": {
"focusLabel1": "Reste concentré",
"focusLabel2": "Tu peux le faire",
"focusLabel3": "Continue",
"focusLabel4": "Tout donner",
"focusLabel5": "Fais-le arriver",
"focusLabel6": "Reste fort",
"focusLabel7": "Persiste",
"focusLabel8": "Un pas à la fois",
"focusLabel9": "Tu peux y arriver",
"focusLabel10": "Concentre-toi et conquiers",
"breakLabel1": "Prends une pause",
"breakLabel2": "Relaxe-toi et recharge",
"breakLabel3": "Respire profondément",
"breakLabel4": "Étire-toi",
"breakLabel5": "Rafraîchis-toi",
"breakLabel6": "Tu le mérites",
"breakLabel7": "Recharge ton énergie",
"breakLabel8": "Éloigne-toi un moment",
"breakLabel9": "Vide ton esprit",
"breakLabel10": "Repose-toi et récupère",
"focusType": "Concentration",
"breakType": "Pause",
"pauseButton": "Pause",
"startButton": "Démarrer",
"resetButton": "Réinitialiser",
"skipButton": "Passer",
"wakeLockNotSupported": "Le navigateur ne supporte pas le verrouillage de veille",
"wakeLockInUse": "Le verrouillage de veille est déjà actif",
"wakeLockRequestError": "Erreur lors de la demande de verrouillage de veille :",
"wakeLockReleaseError": "Erreur lors de la libération du verrouillage de veille :"
},
"HabitCalendar": {
"title": "Calendrier des habitudes",
"calendarCardTitle": "Calendrier",
"selectDatePrompt": "Sélectionner une date",
"tasksSectionTitle": "Tâches",
"habitsSectionTitle": "Habitudes",
"errorCompletingPastHabit": "Erreur lors de la complétion d'une habitude passée :"
},
"NotificationDropdown": {
"notLoggedIn": "Non connecté.",
"userCompletedItem": "{username} a complété {itemName}.",
"userRedeemedItem": "{username} a échangé {itemName}.",
"activityRelatedToItem": "Activité liée à {itemName} par {username}.",
"defaultUsername": "Quelqu'un",
"defaultItemName": "un élément partagé",
"notificationsTitle": "Notifications",
"notificationsTooltip": "Affiche les complétions ou les échanges par d'autres utilisateurs pour les habitudes ou la liste de souhaits que vous avez partagés avec eux (vous devez être admin)",
"noNotificationsYet": "Aucune notification pour l'instant."
},
"AboutModal": {
"dialogArisLabel": "à propos",
"changelogButton": "Journal des modifications",
"createdByPrefix": "Créé avec ❤️ par",
"starOnGitHubButton": "Étoile sur GitHub"
},
"PermissionSelector": {
"permissionsTitle": "Permissions",
"adminAccessLabel": "Accès administrateur",
"adminAccessDescription": "Les administrateurs ont tous les droits sur les données de tous les utilisateurs",
"resourceHabitTask": "Habitude / Tâche",
"resourceWishlist": "Liste de souhaits",
"resourceCoins": "Pièces",
"permissionWrite": "Écriture",
"permissionInteract": "Interaction"
},
"UserForm": {
"toastUserUpdatedTitle": "Utilisateur mis à jour",
"toastUserUpdatedDescription": "Utilisateur {username} mis à jour avec succès",
"toastUserCreatedTitle": "Utilisateur créé",
"toastUserCreatedDescription": "Utilisateur {username} créé avec succès",
"actionUpdate": "mise à jour",
"actionCreate": "création",
"errorFailedUserAction": "Échec de la {action} de l'utilisateur",
"errorTitle": "Erreur",
"errorFileSizeLimit": "La taille du fichier doit être inférieure à 5MB",
"toastAvatarUploadedTitle": "Avatar téléchargé",
"toastAvatarUploadedDescription": "Avatar téléchargé avec succès",
"errorFailedAvatarUpload": "Échec du téléchargement de l'avatar",
"changeAvatarButton": "Changer l'avatar",
"uploadAvatarButton": "Télécharger l'avatar",
"usernameLabel": "Nom d'utilisateur",
"usernamePlaceholder": "Nom d'utilisateur",
"newPasswordLabel": "Nouveau mot de passe",
"passwordLabel": "Mot de passe",
"passwordPlaceholderEdit": "Laisser vide pour conserver l'actuel",
"passwordPlaceholderCreate": "Entrer le mot de passe",
"demoPasswordDisabledMessage": "Le mot de passe est automatiquement désactivé dans l'instance de démonstration",
"disablePasswordLabel": "Désactiver le mot de passe",
"cancelButton": "Annuler",
"saveChangesButton": "Sauvegarder les modifications",
"createUserButton": "Créer un utilisateur"
},
"ViewToggle": {
"habitsLabel": "Habitudes",
"tasksLabel": "Tâches"
},
"HabitItem": {
"overdue": "En retard",
"whenLabel": "Quand : {frequency}",
"coinsPerCompletion": "{count} pièces par complétion",
"completedStatus": "Complété",
"completedStatusCount": "Complété ({completed}/{target})",
"completedStatusCountMobile": "{completed}/{target}",
"completeButton": "Compléter",
"completeButtonCount": "Compléter ({completed}/{target})",
"completeButtonCountMobile": "{completed}/{target}",
"undoButton": "Annuler",
"editButton": "Modifier"
},
"TransactionNoteEditor": {
"noteTooLongTitle": "Note trop longue",
"noteTooLongDescription": "Les notes doivent faire moins de 200 caractères",
"errorSavingNoteTitle": "Erreur lors de la sauvegarde de la note",
"errorDeletingNoteTitle": "Erreur lors de la suppression de la note",
"pleaseTryAgainDescription": "Veuillez réessayer",
"addNotePlaceholder": "Ajouter une note...",
"saveNoteTitle": "Sauvegarder la note",
"cancelButtonTitle": "Annuler",
"deleteNoteTitle": "Supprimer la note",
"editNoteAriaLabel": "Modifier la note"
},
"Profile": {
"guestUsername": "Invité",
"editProfileButton": "Modifier le profil",
"signOutSuccessTitle": "Déconnexion réussie",
"signOutSuccessDescription": "Vous avez été déconnecté de votre compte",
"signOutErrorTitle": "Erreur de déconnexion",
"signOutErrorDescription": "Échec de la déconnexion",
"switchUserButton": "Changer d'utilisateur",
"settingsLink": "Paramètres",
"aboutButton": "À propos",
"themeLabel": "Thème",
"editProfileModalTitle": "Modifier le profil"
},
"PasswordEntryForm": {
"notYouButton": "Ce n'est pas vous ?",
"passwordLabel": "Mot de passe",
"passwordPlaceholder": "Entrer le mot de passe",
"loginErrorToastTitle": "Erreur",
"loginFailedErrorToastDescription": "Échec de la connexion",
"cancelButton": "Annuler",
"loginButton": "Se connecter"
},
"CompletionCountBadge": {
"countCompleted": "{completedCount}/{totalCount} complété"
},
"SettingsPage": {
"title": "Paramètres",
"uiSettingsTitle": "Paramètres de l'interface",
"numberFormattingLabel": "Formatage des nombres",
"numberFormattingDescription": "Formater les grands nombres (ex: 1K, 1M, 1B)",
"numberGroupingLabel": "Regroupement des nombres",
"numberGroupingDescription": "Utiliser les séparateurs de milliers (ex: 1,000 vs 1000)",
"systemSettingsTitle": "Paramètres système",
"timezoneLabel": "Fuseau horaire",
"timezoneDescription": "Sélectionnez votre fuseau horaire pour un suivi précis des dates",
"weekStartDayLabel": "Jour de début de semaine",
"weekStartDayDescription": "Sélectionnez votre jour préféré pour commencer la semaine",
"weekdays": {
"sunday": "Dimanche",
"monday": "Lundi",
"tuesday": "Mardi",
"wednesday": "Mercredi",
"thursday": "Jeudi",
"friday": "Vendredi",
"saturday": "Samedi"
},
"autoBackupLabel": "Sauvegarde automatique",
"autoBackupTooltip": "Lorsqu'il est activé, les données de l'application (habitudes, pièces, paramètres, etc.) sont automatiquement sauvegardées quotidiennement vers 2 heures du matin, heure du serveur. Les sauvegardes sont stockées sous forme de fichiers ZIP dans le répertoire `backups/` à la racine du projet. Seules les 7 dernières sauvegardes sont conservées ; les plus anciennes sont automatiquement supprimées.",
"autoBackupDescription": "Effectuer une sauvegarde automatique quotidienne",
"languageLabel": "Langue",
"languageDescription": "Choisissez votre langue d'affichage préférée pour l'application.",
"languageChangedTitle": "Langue modifiée",
"languageChangedDescription": "Veuillez actualiser la page pour voir les changements",
"languageDisabledInDemoTooltip": "Le changement de langue est désactivé dans la version de démonstration."
},
"Common": {
"authenticationRequiredTitle": "Authentification requise",
"authenticationRequiredDescription": "Veuillez vous connecter pour continuer.",
"permissionDeniedTitle": "Permission refusée",
"permissionDeniedDescription": "Vous n'avez pas la permission de {action} pour {resource}.",
"undoButton": "Annuler",
"redoButton": "Rétablir",
"errorTitle": "Erreur"
},
"useHabits": {
"alreadyCompletedTitle": "Déjà complété",
"alreadyCompletedDescription": "Vous avez déjà complété cette habitude aujourd'hui.",
"completedTitle": "Complété !",
"earnedCoinsDescription": "Vous avez gagné {coinReward} pièces.",
"progressTitle": "Progrès !",
"progressDescription": "Vous avez complété {count}/{target} fois aujourd'hui.",
"completionUndoneTitle": "Complétion annulée",
"completionUndoneDescription": "Vous avez {count}/{target} complétions aujourd'hui.",
"noCompletionsToUndoTitle": "Aucune complétion à annuler",
"noCompletionsToUndoDescription": "Cette habitude n'a pas été complétée aujourd'hui.",
"alreadyCompletedPastDateTitle": "Déjà complété",
"alreadyCompletedPastDateDescription": "Cette habitude a déjà été complétée le {dateKey}.",
"earnedCoinsPastDateDescription": "Vous avez gagné {coinReward} pièces pour {dateKey}.",
"progressPastDateDescription": "Vous avez complété {count}/{target} fois le {dateKey}."
},
"useWishlist": {
"redemptionLimitReachedTitle": "Limite de rachat atteinte",
"redemptionLimitReachedDescription": "Vous avez atteint le nombre maximum de rachats pour \"{itemName}\".",
"rewardRedeemedTitle": "🎉 Récompense échangée !",
"rewardRedeemedDescription": "Vous avez échangé \"{itemName}\" pour {itemCoinCost} pièces.",
"notEnoughCoinsTitle": "Pas assez de pièces",
"notEnoughCoinsDescription": "Il vous manque {coinsNeeded} pièces pour échanger cette récompense."
},
"useCoins": {
"invalidAmountTitle": "Montant invalide",
"invalidAmountDescription": "Veuillez entrer un nombre positif valide",
"successTitle": "Succès",
"addedCoinsDescription": "Ajouté {amount} pièces",
"removedCoinsDescription": "Retiré {amount} pièces",
"transactionNotFoundDescription": "Transaction non trouvée"
}
}

407
messages/ja.json Normal file
View File

@@ -0,0 +1,407 @@
{
"Dashboard": {
"title": "ダッシュボード"
},
"HabitList": {
"myTasks": "マイタスク",
"myHabits": "マイ習慣",
"addTaskButton": "タスクを追加",
"addHabitButton": "習慣を追加",
"searchTasksPlaceholder": "タスクを検索...",
"searchHabitsPlaceholder": "習慣を検索...",
"sortByLabel": "並び替え:",
"sortByName": "名前",
"sortByCoinReward": "コイン報酬",
"sortByDueDate": "締め切り",
"sortByFrequency": "頻度",
"toggleSortOrderAriaLabel": "並び順を切り替え",
"noTasksFoundMessage": "検索条件に一致するタスクはありません。",
"noHabitsFoundMessage": "検索条件に一致する習慣はありません。",
"emptyStateTasksTitle": "タスクがありません",
"emptyStateHabitsTitle": "習慣がありません",
"emptyStateTasksDescription": "最初のタスクを作成して進捗を追跡しましょう",
"emptyStateHabitsDescription": "最初の習慣を作成して進捗を追跡しましょう",
"archivedSectionTitle": "アーカイブ",
"deleteTaskDialogTitle": "タスクを削除",
"deleteHabitDialogTitle": "習慣を削除",
"deleteTaskDialogMessage": "このタスクを削除してもよろしいですか?この操作は元に戻せません。",
"deleteHabitDialogMessage": "この習慣を削除してもよろしいですか?この操作は元に戻せません。",
"deleteButton": "削除"
},
"DailyOverview": {
"addTaskButtonLabel": "タスクを追加",
"addHabitButtonLabel": "習慣を追加",
"todaysOverviewTitle": "今日の概要",
"dailyTasksTitle": "今日のタスク",
"noTasksDueTodayMessage": "今日のタスクはありません。タスクを追加して始めましょう!",
"dailyHabitsTitle": "今日の習慣",
"noHabitsDueTodayMessage": "今日の習慣はありません。習慣を追加して始めましょう!",
"wishlistGoalsTitle": "ウィッシュリスト目標",
"redeemableBadgeLabel": "{count}/{total} 使用可能",
"noWishlistItemsMessage": "ウィッシュリストにアイテムがありません。達成したい目標を追加しましょう!",
"readyToRedeemMessage": "使用可能です!",
"coinsToGoMessage": "あと{amount}コイン",
"showLessButton": "一部を表示",
"showAllButton": "すべて表示",
"viewButton": "表示",
"deleteTaskDialogTitle": "タスクを削除",
"deleteHabitDialogTitle": "習慣を削除",
"confirmDeleteDialogMessage": "\"{name}\"を削除してもよろしいですか?この操作は元に戻せません。",
"deleteButton": "削除",
"overdueTooltip": "期限超過"
},
"HabitContextMenuItems": {
"startPomodoro": "ポモドーロを開始",
"moveToToday": "今日に移動",
"moveToTomorrow": "明日に移動",
"unpin": "ピン留めを解除",
"pin": "ピン留めする",
"edit": "編集",
"archive": "アーカイブ",
"unarchive": "アーカイブ解除",
"delete": "削除"
},
"HabitStreak": {
"dailyCompletionStreakTitle": "毎日達成ストリーク",
"tooltipHabitsLabel": "習慣",
"tooltipTasksLabel": "タスク",
"tooltipCompletedLabel": "完了"
},
"CoinBalance": {
"coinBalanceTitle": "コイン残高"
},
"AddEditHabitModal": {
"editTaskTitle": "タスクを編集",
"editHabitTitle": "習慣を編集",
"addNewTaskTitle": "新しいタスクを追加",
"addNewHabitTitle": "新しい習慣を追加",
"nameLabel": "名前 *",
"descriptionLabel": "説明",
"whenLabel": "いつ *",
"completeLabel": "完了",
"timesSuffix": "回",
"rewardLabel": "報酬",
"coinsSuffix": "コイン",
"shareLabel": "共有",
"saveChangesButton": "変更を保存",
"addTaskButton": "タスクを追加",
"addHabitButton": "習慣を追加"
},
"ConfirmDialog": {
"confirmButton": "確認",
"cancelButton": "キャンセル"
},
"AddEditWishlistItemModal": {
"editTitle": "報酬を編集",
"addTitle": "新しい報酬を追加",
"nameLabel": "名前 *",
"descriptionLabel": "説明",
"costLabel": "コスト",
"coinsSuffix": "コイン",
"redeemableLabel": "使用可能",
"timesSuffix": "回",
"errorNameRequired": "名前は必須です",
"errorCoinCostMin": "コインコストは1以上である必要があります",
"errorTargetCompletionsMin": "目標達成回数は1以上である必要があります",
"errorInvalidUrl": "有効なURLを入力してください",
"linkLabel": "リンク",
"shareLabel": "共有",
"saveButton": "変更を保存",
"addButton": "報酬を追加"
},
"Navigation": {
"dashboard": "ダッシュボード",
"tasks": "タスク",
"habits": "習慣",
"calendar": "カレンダー",
"wishlist": "ウィッシュリスト",
"coins": "コイン"
},
"TodayEarnedCoins": {
"todaySuffix": "今日"
},
"WishlistItem": {
"usesLeftSingular": "使用可能回数: 1回",
"usesLeftPlural": "使用可能回数: {count}回",
"coinsSuffix": "コイン",
"redeem": "使用する",
"redeemedDone": "完了",
"redeemedExclamation": "使用しました!",
"editButton": "編集",
"archiveButton": "アーカイブ",
"unarchiveButton": "アーカイブ解除",
"deleteButton": "削除"
},
"WishlistManager": {
"title": "マイウィッシュリスト",
"addRewardButton": "報酬を追加",
"emptyStateTitle": "ウィッシュリストが空です",
"emptyStateDescription": "コインで獲得したい報酬を追加しましょう",
"archivedSectionTitle": "アーカイブ",
"popupBlockedTitle": "ポップアップがブロックされました",
"popupBlockedDescription": "リンクを開くためにポップアップを許可してください",
"deleteDialogTitle": "報酬を削除",
"deleteDialogMessage": "この報酬を削除してもよろしいですか?この操作は元に戻せません。",
"deleteButton": "削除"
},
"UserSelectModal": {
"addUserButton": "ユーザーを追加",
"createNewUserTitle": "新しいユーザーを作成",
"selectUserTitle": "ユーザーを選択",
"signInSuccessTitle": "サインインに成功しました",
"signInSuccessDescription": "おかえりなさい、{username}さん!",
"errorInvalidPassword": "パスワードが無効です"
},
"CoinsManager": {
"title": "コイン管理",
"currentBalanceLabel": "現在の残高",
"coinsSuffix": "コイン",
"addCoinsButton": "コインを追加",
"removeCoinsButton": "コインを削除",
"statisticsTitle": "統計",
"totalEarnedLabel": "総獲得額",
"totalSpentLabel": "総支出額",
"totalTransactionsLabel": "総取引数",
"todaysEarnedLabel": "今日の獲得額",
"todaysSpentLabel": "今日の支出額",
"todaysTransactionsLabel": "今日の取引数",
"transactionHistoryTitle": "取引履歴",
"showLabel": "表示:",
"entriesSuffix": "件",
"showingEntries": "{from} から {to} 件(全 {total} 件)",
"noTransactionsTitle": "取引履歴がありません",
"noTransactionsDescription": "コインを獲得または使用すると、ここに取引履歴が表示されます",
"pageLabel": "ページ",
"ofLabel": "/",
"transactionTypeHabitCompletion": "習慣達成",
"transactionTypeTaskCompletion": "タスク達成",
"transactionTypeHabitUndo": "習慣取り消し",
"transactionTypeTaskUndo": "タスク取り消し",
"transactionTypeWishRedemption": "報酬使用",
"transactionTypeManualAdjustment": "手動調整",
"transactionTypeCoinReset": "コインリセット",
"transactionTypeInitialBalance": "初期残高"
},
"NotificationBell": {
"errorUpdateTimestamp": "通知の既読タイムスタンプの更新に失敗しました:"
},
"PomodoroTimer": {
"focusLabel1": "集中しよう",
"focusLabel2": "君ならできる",
"focusLabel3": "頑張れ",
"focusLabel4": "やり遂げろ",
"focusLabel5": "実現させよう",
"focusLabel6": "強く在れ",
"focusLabel7": "突破しよう",
"focusLabel8": "1歩ずつ進もう",
"focusLabel9": "君にはできる",
"focusLabel10": "集中して征服しよう",
"breakLabel1": "休憩しよう",
"breakLabel2": "リラックスして充電しよう",
"breakLabel3": "深呼吸しよう",
"breakLabel4": "ストレッチしよう",
"breakLabel5": "リフレッシュしよう",
"breakLabel6": "君ならできる",
"breakLabel7": "エネルギーを充電しよう",
"breakLabel8": "少し離れよう",
"breakLabel9": "心をクリアにしよう",
"breakLabel10": "休んで回復しよう",
"focusType": "集中",
"breakType": "休憩",
"pauseButton": "一時停止",
"startButton": "開始",
"resetButton": "リセット",
"skipButton": "スキップ",
"wakeLockNotSupported": "ブラウザがWake Lockをサポートしていません",
"wakeLockInUse": "Wake Lockは既に使用中です",
"wakeLockRequestError": "Wake Lockのリクエストエラー:",
"wakeLockReleaseError": "Wake Lockの解放エラー:"
},
"HabitCalendar": {
"title": "習慣カレンダー",
"calendarCardTitle": "カレンダー",
"selectDatePrompt": "日付を選択",
"tasksSectionTitle": "タスク",
"habitsSectionTitle": "習慣",
"errorCompletingPastHabit": "過去の習慣を完了する際にエラーが発生しました:"
},
"NotificationDropdown": {
"notLoggedIn": "ログインしていません。",
"userCompletedItem": "{username}さんが{itemName}を完了しました。",
"userRedeemedItem": "{username}さんが{itemName}を使用しました。",
"activityRelatedToItem": "{username}さんによる{itemName}に関連するアクティビティ。",
"defaultUsername": "誰か",
"defaultItemName": "共有アイテム",
"notificationsTitle": "通知",
"notificationsTooltip": "他のユーザーがあなたと共有した習慣やウィッシュリストの達成・使用を表示します(管理者のみ)",
"noNotificationsYet": "まだ通知はありません。"
},
"AboutModal": {
"dialogArisLabel": "概要",
"changelogButton": "変更履歴",
"createdByPrefix": "❤️で作成:",
"starOnGitHubButton": "GitHubでスターしよう"
},
"PermissionSelector": {
"permissionsTitle": "権限",
"adminAccessLabel": "管理者アクセス",
"adminAccessDescription": "管理者は全ユーザーの全データにアクセスできます",
"resourceHabitTask": "習慣 / タスク",
"resourceWishlist": "ウィッシュリスト",
"resourceCoins": "コイン",
"permissionWrite": "書き込み",
"permissionInteract": "操作"
},
"UserForm": {
"toastUserUpdatedTitle": "ユーザーを更新しました",
"toastUserUpdatedDescription": "{username}さんの情報を更新しました",
"toastUserCreatedTitle": "ユーザーを作成しました",
"toastUserCreatedDescription": "{username}さんを作成しました",
"actionUpdate": "更新",
"actionCreate": "作成",
"errorFailedUserAction": "ユーザーの{action}に失敗しました",
"errorTitle": "エラー",
"errorFileSizeLimit": "ファイルサイズは5MB以下である必要があります",
"toastAvatarUploadedTitle": "アバターをアップロードしました",
"toastAvatarUploadedDescription": "アバターのアップロードに成功しました",
"errorFailedAvatarUpload": "アバターのアップロードに失敗しました",
"changeAvatarButton": "アバターを変更",
"uploadAvatarButton": "アバターをアップロード",
"usernameLabel": "ユーザー名",
"usernamePlaceholder": "ユーザー名",
"newPasswordLabel": "新しいパスワード",
"passwordLabel": "パスワード",
"passwordPlaceholderEdit": "現在のままにする場合は空欄",
"passwordPlaceholderCreate": "パスワードを入力",
"demoPasswordDisabledMessage": "デモインスタンスではパスワードは自動的に無効化されます",
"disablePasswordLabel": "パスワードを無効化",
"cancelButton": "キャンセル",
"saveChangesButton": "変更を保存",
"createUserButton": "ユーザーを作成"
},
"ViewToggle": {
"habitsLabel": "習慣",
"tasksLabel": "タスク"
},
"HabitItem": {
"overdue": "期限超過",
"whenLabel": "いつ: {frequency}",
"coinsPerCompletion": "1回あたり{count}コイン",
"completedStatus": "完了",
"completedStatusCount": "完了({completed}/{target}",
"completedStatusCountMobile": "{completed}/{target}",
"completeButton": "完了",
"completeButtonCount": "完了({completed}/{target}",
"completeButtonCountMobile": "{completed}/{target}",
"undoButton": "取り消し",
"editButton": "編集"
},
"TransactionNoteEditor": {
"noteTooLongTitle": "メモが長すぎます",
"noteTooLongDescription": "メモは200文字以内である必要があります",
"errorSavingNoteTitle": "メモの保存エラー",
"errorDeletingNoteTitle": "メモの削除エラー",
"pleaseTryAgainDescription": "再度お試しください",
"addNotePlaceholder": "メモを追加...",
"saveNoteTitle": "メモを保存",
"cancelButtonTitle": "キャンセル",
"deleteNoteTitle": "メモを削除",
"editNoteAriaLabel": "メモを編集"
},
"Profile": {
"guestUsername": "ゲスト",
"editProfileButton": "プロフィールを編集",
"signOutSuccessTitle": "サインアウトに成功しました",
"signOutSuccessDescription": "アカウントからサインアウトしました",
"signOutErrorTitle": "サインアウトエラー",
"signOutErrorDescription": "サインアウトに失敗しました",
"switchUserButton": "ユーザーを切り替え",
"settingsLink": "設定",
"aboutButton": "概要",
"themeLabel": "テーマ",
"editProfileModalTitle": "プロフィールを編集"
},
"PasswordEntryForm": {
"notYouButton": "違うユーザー?",
"passwordLabel": "パスワード",
"passwordPlaceholder": "パスワードを入力",
"loginErrorToastTitle": "エラー",
"loginFailedErrorToastDescription": "ログインに失敗しました",
"cancelButton": "キャンセル",
"loginButton": "ログイン"
},
"CompletionCountBadge": {
"countCompleted": "完了 {completedCount}/{totalCount}"
},
"SettingsPage": {
"title": "設定",
"uiSettingsTitle": "UI設定",
"numberFormattingLabel": "数字のフォーマット",
"numberFormattingDescription": "大きな数字をフォーマットする1K、1M、1B",
"numberGroupingLabel": "数字のグループ化",
"numberGroupingDescription": "3桁区切りを使用する1,000 対 1000",
"systemSettingsTitle": "システム設定",
"timezoneLabel": "タイムゾーン",
"timezoneDescription": "正確な日付追跡のためにタイムゾーンを選択",
"weekStartDayLabel": "週の開始日",
"weekStartDayDescription": "週の最初の曜日を選択",
"weekdays": {
"sunday": "日曜日",
"monday": "月曜日",
"tuesday": "火曜日",
"wednesday": "水曜日",
"thursday": "木曜日",
"friday": "金曜日",
"saturday": "土曜日"
},
"autoBackupLabel": "自動バックアップ",
"autoBackupTooltip": "有効にすると、アプリケーションデータ習慣、コイン、設定などが毎日午前2時頃サーバー時間に自動的にバックアップされます。バックアップはプロジェクトルートの`backups/`ディレクトリにZIPファイルとして保存されます。最新の7つ分のバックアップのみ保持され、古いものは自動的に削除されます。",
"autoBackupDescription": "毎日データを自動バックアップ",
"languageLabel": "言語",
"languageDescription": "アプリケーションの表示言語を選択",
"languageChangedTitle": "言語が変更されました",
"languageChangedDescription": "変更を反映するにはページを更新してください",
"languageDisabledInDemoTooltip": "デモ版では言語の変更が無効になっています。"
},
"Common": {
"authenticationRequiredTitle": "認証が必要です",
"authenticationRequiredDescription": "続行するにはサインインしてください。",
"permissionDeniedTitle": "権限がありません",
"permissionDeniedDescription": "{resource}sに対する{action}権限がありません。",
"undoButton": "取り消し",
"redoButton": "やり直し",
"errorTitle": "エラー"
},
"useHabits": {
"alreadyCompletedTitle": "既に完了しています",
"alreadyCompletedDescription": "今日は既にこの習慣を完了しています。",
"completedTitle": "完了しました!",
"earnedCoinsDescription": "{coinReward}コインを獲得しました。",
"progressTitle": "進捗!",
"progressDescription": "今日は{count}/{target}回完了しました。",
"completionUndoneTitle": "完了を取り消しました",
"completionUndoneDescription": "今日は{count}/{target}回完了しています。",
"noCompletionsToUndoTitle": "取り消す完了がありません",
"noCompletionsToUndoDescription": "この習慣は今日まだ完了していません。",
"alreadyCompletedPastDateTitle": "既に完了しています",
"alreadyCompletedPastDateDescription": "この習慣は{dateKey}に既に完了しています。",
"earnedCoinsPastDateDescription": "{dateKey}に{coinReward}コインを獲得しました。",
"progressPastDateDescription": "{dateKey}に{count}/{target}回完了しました。"
},
"useWishlist": {
"redemptionLimitReachedTitle": "使用回数制限に達しました",
"redemptionLimitReachedDescription": "\"{itemName}\"の最大使用回数に達しました。",
"rewardRedeemedTitle": "🎉 報酬を使用しました!",
"rewardRedeemedDescription": "\"{itemName}\"を{itemCoinCost}コインで使用しました。",
"notEnoughCoinsTitle": "コインが不足しています",
"notEnoughCoinsDescription": "この報酬を使用するにはあと{coinsNeeded}コイン必要です。"
},
"useCoins": {
"invalidAmountTitle": "無効な値です",
"invalidAmountDescription": "有効な正の数を入力してください",
"successTitle": "成功しました",
"addedCoinsDescription": "{amount}コインを追加しました",
"removedCoinsDescription": "{amount}コインを削除しました",
"transactionNotFoundDescription": "取引が見つかりません"
}
}

407
messages/ru.json Normal file
View File

@@ -0,0 +1,407 @@
{
"Dashboard": {
"title": "Панель управления"
},
"HabitList": {
"myTasks": "Мои задачи",
"myHabits": "Мои привычки",
"addTaskButton": "Добавить задачу",
"addHabitButton": "Добавить привычку",
"searchTasksPlaceholder": "Поиск задач...",
"searchHabitsPlaceholder": "Поиск привычек...",
"sortByLabel": "Сортировать по:",
"sortByName": "Имени",
"sortByCoinReward": "Награде",
"sortByDueDate": "Сроку",
"sortByFrequency": "Частоте",
"toggleSortOrderAriaLabel": "Переключить порядок сортировки",
"noTasksFoundMessage": "Задачи не найдены.",
"noHabitsFoundMessage": "Привычки не найдены.",
"emptyStateTasksTitle": "Нет задач",
"emptyStateHabitsTitle": "Нет привычек",
"emptyStateTasksDescription": "Создайте свою первую задачу",
"emptyStateHabitsDescription": "Создайте свою первую привычку",
"archivedSectionTitle": "Архив",
"deleteTaskDialogTitle": "Удалить задачу",
"deleteHabitDialogTitle": "Удалить привычку",
"deleteTaskDialogMessage": "Вы уверены, что хотите удалить эту задачу? Это действие нельзя отменить.",
"deleteHabitDialogMessage": "Вы уверены, что хотите удалить эту привычку? Это действие нельзя отменить.",
"deleteButton": "Удалить"
},
"DailyOverview": {
"addTaskButtonLabel": "Добавить задачу",
"addHabitButtonLabel": "Добавить привычку",
"todaysOverviewTitle": "Сегодня",
"dailyTasksTitle": "Задачи на сегодня",
"noTasksDueTodayMessage": "Нет задач на сегодня.",
"dailyHabitsTitle": "Привычки на сегодня",
"noHabitsDueTodayMessage": "Нет привычек на сегодня.",
"wishlistGoalsTitle": "Цели",
"redeemableBadgeLabel": "{count}/{total} Доступно",
"noWishlistItemsMessage": "Нет целей.",
"readyToRedeemMessage": "Доступно!",
"coinsToGoMessage": "Осталось {amount} монет",
"showLessButton": "Свернуть",
"showAllButton": "Показать все",
"viewButton": "Просмотр",
"deleteTaskDialogTitle": "Удалить задачу",
"deleteHabitDialogTitle": "Удалить привычку",
"confirmDeleteDialogMessage": "Вы уверены, что хотите удалить \"{name}\"? Это действие нельзя отменить.",
"deleteButton": "Удалить",
"overdueTooltip": "Просрочено"
},
"HabitContextMenuItems": {
"startPomodoro": "Начать помидорку",
"moveToToday": "Перенести на сегодня",
"moveToTomorrow": "Перенести на завтра",
"unpin": "Открепить",
"pin": "Закрепить",
"edit": "Редактировать",
"archive": "В архив",
"unarchive": "Из архива",
"delete": "Удалить"
},
"HabitStreak": {
"dailyCompletionStreakTitle": "Ежедневный прогресс",
"tooltipHabitsLabel": "привычки",
"tooltipTasksLabel": "задачи",
"tooltipCompletedLabel": "Выполнено"
},
"CoinBalance": {
"coinBalanceTitle": "Баланс"
},
"AddEditHabitModal": {
"editTaskTitle": "Редактировать задачу",
"editHabitTitle": "Редактировать привычку",
"addNewTaskTitle": "Новая задача",
"addNewHabitTitle": "Новая привычка",
"nameLabel": "Название *",
"descriptionLabel": "Описание",
"whenLabel": "Когда *",
"completeLabel": "Выполнено",
"timesSuffix": "раз",
"rewardLabel": "Награда",
"coinsSuffix": "монет",
"shareLabel": "Поделиться",
"saveChangesButton": "Сохранить",
"addTaskButton": "Добавить задачу",
"addHabitButton": "Добавить привычку"
},
"ConfirmDialog": {
"confirmButton": "Подтвердить",
"cancelButton": "Отмена"
},
"AddEditWishlistItemModal": {
"editTitle": "Редактировать цель",
"addTitle": "Новая цель",
"nameLabel": "Название *",
"descriptionLabel": "Описание",
"costLabel": "Стоимость",
"coinsSuffix": "монет",
"redeemableLabel": "Доступно",
"timesSuffix": "раз",
"errorNameRequired": "Название обязательно",
"errorCoinCostMin": "Минимальная стоимость 1 монета",
"errorTargetCompletionsMin": "Минимум 1 выполнение",
"errorInvalidUrl": "Некорректная ссылка",
"linkLabel": "Ссылка",
"shareLabel": "Поделиться",
"saveButton": "Сохранить",
"addButton": "Добавить цель"
},
"Navigation": {
"dashboard": "Панель",
"tasks": "Задачи",
"habits": "Привычки",
"calendar": "Календарь",
"wishlist": "Цели",
"coins": "Монеты"
},
"TodayEarnedCoins": {
"todaySuffix": "сегодня"
},
"WishlistItem": {
"usesLeftSingular": "использование",
"usesLeftPlural": "использований",
"coinsSuffix": "монет",
"redeem": "Использовать",
"redeemedDone": "Готово",
"redeemedExclamation": "Использовано!",
"editButton": "Редактировать",
"archiveButton": "В архив",
"unarchiveButton": "Из архива",
"deleteButton": "Удалить"
},
"WishlistManager": {
"title": "Мои цели",
"addRewardButton": "Добавить цель",
"emptyStateTitle": "Нет целей",
"emptyStateDescription": "Добавьте цели, которые хотите достичь",
"archivedSectionTitle": "Архив",
"popupBlockedTitle": "Блокировка",
"popupBlockedDescription": "Разрешите всплывающие окна для открытия ссылки",
"deleteDialogTitle": "Удалить цель",
"deleteDialogMessage": "Вы уверены, что хотите удалить эту цель? Это действие нельзя отменить.",
"deleteButton": "Удалить"
},
"UserSelectModal": {
"addUserButton": "Добавить пользователя",
"createNewUserTitle": "Создать нового пользователя",
"selectUserTitle": "Выбрать пользователя",
"signInSuccessTitle": "Успешный вход",
"signInSuccessDescription": "Добро пожаловать, {username}!",
"errorInvalidPassword": "Неверный пароль"
},
"CoinsManager": {
"title": "Управление монетами",
"currentBalanceLabel": "Текущий баланс",
"coinsSuffix": "монет",
"addCoinsButton": "Добавить монеты",
"removeCoinsButton": "Удалить монеты",
"statisticsTitle": "Статистика",
"totalEarnedLabel": "Всего заработано",
"totalSpentLabel": "Всего потрачено",
"totalTransactionsLabel": "Всего транзакций",
"todaysEarnedLabel": "Заработано сегодня",
"todaysSpentLabel": "Потрачено сегодня",
"todaysTransactionsLabel": "Транзакций сегодня",
"transactionHistoryTitle": "История транзакций",
"showLabel": "Показать:",
"entriesSuffix": "записей",
"showingEntries": "Показано с {from} по {to} из {total} записей",
"noTransactionsTitle": "Нет транзакций",
"noTransactionsDescription": "История транзакций появится здесь, когда вы начнете зарабатывать или тратить монеты",
"pageLabel": "Страница",
"ofLabel": "из",
"transactionTypeHabitCompletion": "Выполнение привычки",
"transactionTypeTaskCompletion": "Выполнение задачи",
"transactionTypeHabitUndo": "Отмена привычки",
"transactionTypeTaskUndo": "Отмена задачи",
"transactionTypeWishRedemption": "Использование цели",
"transactionTypeManualAdjustment": "Ручная корректировка",
"transactionTypeCoinReset": "Сброс монет",
"transactionTypeInitialBalance": "Начальный баланс"
},
"NotificationBell": {
"errorUpdateTimestamp": "Не удалось обновить отметку времени прочтения уведомления:"
},
"PomodoroTimer": {
"focusLabel1": "Сосредоточьтесь",
"focusLabel2": "У вас получится",
"focusLabel3": "Продолжайте",
"focusLabel4": "Разгромите это",
"focusLabel5": "Воплотите это в жизнь",
"focusLabel6": "Оставайтесь сильными",
"focusLabel7": "Прорвитесь",
"focusLabel8": "Один шаг за раз",
"focusLabel9": "Вы можете это сделать",
"focusLabel10": "Сосредоточьтесь и побеждайте",
"breakLabel1": "Передохните",
"breakLabel2": "Расслабьтесь и перезагрузитесь",
"breakLabel3": "Дышите глубже",
"breakLabel4": "Потянитесь",
"breakLabel5": "Освежитесь",
"breakLabel6": "Вы этого заслуживаете",
"breakLabel7": "Восстановите энергию",
"breakLabel8": "Отойдите на немного",
"breakLabel9": "Очистите свой разум",
"breakLabel10": "Отдохните и восстановитесь",
"focusType": "Фокус",
"breakType": "Перерыв",
"pauseButton": "Пауза",
"startButton": "Старт",
"resetButton": "Сброс",
"skipButton": "Пропустить",
"wakeLockNotSupported": "Браузер не поддерживает блокировку экрана",
"wakeLockInUse": "Блокировка экрана уже используется",
"wakeLockRequestError": "Ошибка запроса блокировки экрана:",
"wakeLockReleaseError": "Ошибка освобождения блокировки экрана:"
},
"HabitCalendar": {
"title": "Календарь привычек",
"calendarCardTitle": "Календарь",
"selectDatePrompt": "Выберите дату",
"tasksSectionTitle": "Задачи",
"habitsSectionTitle": "Привычки",
"errorCompletingPastHabit": "Ошибка завершения прошлой привычки:"
},
"NotificationDropdown": {
"notLoggedIn": "Не выполнен вход.",
"userCompletedItem": "{username} выполнил(а) {itemName}.",
"userRedeemedItem": "{username} использовал(а) {itemName}.",
"activityRelatedToItem": "Действие, связанное с {itemName}, пользователем {username}.",
"defaultUsername": "Кто-то",
"defaultItemName": "общий элемент",
"notificationsTitle": "Уведомления",
"notificationsTooltip": "Показывает завершения или погашения другими пользователями для привычек или списка желаний, которыми вы поделились с ними (вы должны быть администратором)",
"noNotificationsYet": "Пока нет уведомлений."
},
"AboutModal": {
"dialogArisLabel": "о программе",
"changelogButton": "Список изменений",
"createdByPrefix": "Сделано с любовью ❤️ от",
"starOnGitHubButton": "Звезда на GitHub"
},
"PermissionSelector": {
"permissionsTitle": "Разрешения",
"adminAccessLabel": "Доступ администратора",
"adminAccessDescription": "Администраторы имеют полный доступ ко всем данным для всех пользователей",
"resourceHabitTask": "Привычка / Задача",
"resourceWishlist": "Список желаний",
"resourceCoins": "Монеты",
"permissionWrite": "Запись",
"permissionInteract": "Взаимодействие"
},
"UserForm": {
"toastUserUpdatedTitle": "Пользователь обновлен",
"toastUserUpdatedDescription": "Пользователь {username} успешно обновлен",
"toastUserCreatedTitle": "Пользователь создан",
"toastUserCreatedDescription": "Пользователь {username} успешно создан",
"actionUpdate": "обновить",
"actionCreate": "создать",
"errorFailedUserAction": "Не удалось {action} пользователя",
"errorTitle": "Ошибка",
"errorFileSizeLimit": "Размер файла должен быть менее 5 МБ",
"toastAvatarUploadedTitle": "Аватар загружен",
"toastAvatarUploadedDescription": "Аватар успешно загружен",
"errorFailedAvatarUpload": "Не удалось загрузить аватар",
"changeAvatarButton": "Изменить аватар",
"uploadAvatarButton": "Загрузить аватар",
"usernameLabel": "Имя пользователя",
"usernamePlaceholder": "Имя пользователя",
"newPasswordLabel": "Новый пароль",
"passwordLabel": "Пароль",
"passwordPlaceholderEdit": "Оставьте пустым, чтобы сохранить текущий",
"passwordPlaceholderCreate": "Введите пароль",
"demoPasswordDisabledMessage": "Пароль автоматически отключен в демонстрационном экземпляре",
"disablePasswordLabel": "Отключить пароль",
"cancelButton": "Отмена",
"saveChangesButton": "Сохранить изменения",
"createUserButton": "Создать пользователя"
},
"ViewToggle": {
"habitsLabel": "Привычки",
"tasksLabel": "Задачи"
},
"HabitItem": {
"overdue": "Просрочено",
"whenLabel": "Когда: {frequency}",
"coinsPerCompletion": "{count} монет за выполнение",
"completedStatus": "Выполнено",
"completedStatusCount": "Выполнено ({completed}/{target})",
"completedStatusCountMobile": "{completed}/{target}",
"completeButton": "Выполнить",
"completeButtonCount": "Выполнить ({completed}/{target})",
"completeButtonCountMobile": "{completed}/{target}",
"undoButton": "Отменить",
"editButton": "Редактировать"
},
"TransactionNoteEditor": {
"noteTooLongTitle": "Слишком длинная заметка",
"noteTooLongDescription": "Заметки должны быть менее 200 символов",
"errorSavingNoteTitle": "Ошибка сохранения заметки",
"errorDeletingNoteTitle": "Ошибка удаления заметки",
"pleaseTryAgainDescription": "Пожалуйста, попробуйте еще раз",
"addNotePlaceholder": "Добавить заметку...",
"saveNoteTitle": "Сохранить заметку",
"cancelButtonTitle": "Отмена",
"deleteNoteTitle": "Удалить заметку",
"editNoteAriaLabel": "Редактировать заметку"
},
"Profile": {
"guestUsername": "Гость",
"editProfileButton": "Редактировать профиль",
"signOutSuccessTitle": "Выход выполнен успешно",
"signOutSuccessDescription": "Вы вышли из своей учетной записи",
"signOutErrorTitle": "Ошибка выхода",
"signOutErrorDescription": "Не удалось выйти",
"switchUserButton": "Сменить пользователя",
"settingsLink": "Настройки",
"aboutButton": "О программе",
"themeLabel": "Тема",
"editProfileModalTitle": "Редактировать профиль"
},
"PasswordEntryForm": {
"notYouButton": "Не вы?",
"passwordLabel": "Пароль",
"passwordPlaceholder": "Введите пароль",
"loginErrorToastTitle": "Ошибка",
"loginFailedErrorToastDescription": "Не удалось войти",
"cancelButton": "Отмена",
"loginButton": "Войти"
},
"CompletionCountBadge": {
"countCompleted": "{completedCount}/{totalCount} выполнено"
},
"SettingsPage": {
"title": "Настройки",
"uiSettingsTitle": "Интерфейс",
"numberFormattingLabel": "Формат чисел",
"numberFormattingDescription": "Использовать сокращения (например, 1К, 1М, 1Млрд)",
"numberGroupingLabel": "Разделители",
"numberGroupingDescription": "Использовать разделители тысяч (например, 1 000 вместо 1000)",
"systemSettingsTitle": "Система",
"timezoneLabel": "Часовой пояс",
"timezoneDescription": "Выберите ваш часовой пояс",
"weekStartDayLabel": "Первый день недели",
"weekStartDayDescription": "Выберите первый день недели",
"weekdays": {
"sunday": "Воскресенье",
"monday": "Понедельник",
"tuesday": "Вторник",
"wednesday": "Среда",
"thursday": "Четверг",
"friday": "Пятница",
"saturday": "Суббота"
},
"autoBackupLabel": "Авто-бэкап",
"autoBackupTooltip": "При включении данные будут автоматически резервироваться ежедневно около 2:00 по времени сервера. Бэкапы хранятся в виде ZIP-файлов в директории `backups/`. Хранятся только последние 7 бэкапов.",
"autoBackupDescription": "Автоматическое резервное копирование данных",
"languageLabel": "Язык",
"languageDescription": "Выберите предпочитаемый язык интерфейса.",
"languageChangedTitle": "Язык изменен",
"languageChangedDescription": "Перезагрузите страницу для применения изменений",
"languageDisabledInDemoTooltip": "Смена языка недоступна в демо-версии."
},
"Common": {
"authenticationRequiredTitle": "Требуется аутентификация",
"authenticationRequiredDescription": "Пожалуйста, войдите, чтобы продолжить.",
"permissionDeniedTitle": "Отказано в доступе",
"permissionDeniedDescription": "У вас нет разрешения на {action} для {resource}.",
"undoButton": "Отменить",
"redoButton": "Повторить",
"errorTitle": "Ошибка"
},
"useHabits": {
"alreadyCompletedTitle": "Уже выполнено",
"alreadyCompletedDescription": "Вы уже выполнили эту привычку сегодня.",
"completedTitle": "Выполнено!",
"earnedCoinsDescription": "Вы заработали {coinReward} монет.",
"progressTitle": "Прогресс!",
"progressDescription": "Вы выполнили {count}/{target} раз сегодня.",
"completionUndoneTitle": "Выполнение отменено",
"completionUndoneDescription": "У вас {count}/{target} выполнений сегодня.",
"noCompletionsToUndoTitle": "Нет отмен",
"noCompletionsToUndoDescription": "Эта привычка не была выполнена сегодня.",
"alreadyCompletedPastDateTitle": "Уже выполнено",
"alreadyCompletedPastDateDescription": "Эта привычка уже была выполнена {dateKey}.",
"earnedCoinsPastDateDescription": "Вы заработали {coinReward} монет за {dateKey}.",
"progressPastDateDescription": "Вы выполнили {count}/{target} раз {dateKey}."
},
"useWishlist": {
"redemptionLimitReachedTitle": "Достигнут лимит погашения",
"redemptionLimitReachedDescription": "Вы достигли максимального количества погашений для \"{itemName}\".",
"rewardRedeemedTitle": "🎉 Награда получена!",
"rewardRedeemedDescription": "Вы получили \"{itemName}\" за {itemCoinCost} монет.",
"notEnoughCoinsTitle": "Недостаточно монет",
"notEnoughCoinsDescription": "Вам нужно еще {coinsNeeded} монет, чтобы получить эту награду."
},
"useCoins": {
"invalidAmountTitle": "Неверная сумма",
"invalidAmountDescription": "Пожалуйста, введите положительное число",
"successTitle": "Успех",
"addedCoinsDescription": "Добавлено {amount} монет",
"removedCoinsDescription": "Удалено {amount} монет",
"transactionNotFoundDescription": "Транзакция не найдена"
}
}

407
messages/zh.json Normal file
View File

@@ -0,0 +1,407 @@
{
"Dashboard": {
"title": "仪表板"
},
"HabitList": {
"myTasks": "我的任务",
"myHabits": "我的习惯",
"addTaskButton": "添加任务",
"addHabitButton": "添加习惯",
"searchTasksPlaceholder": "搜索任务...",
"searchHabitsPlaceholder": "搜索习惯...",
"sortByLabel": "排序方式:",
"sortByName": "名称",
"sortByCoinReward": "金币奖励",
"sortByDueDate": "截止日期",
"sortByFrequency": "频率",
"toggleSortOrderAriaLabel": "切换排序顺序",
"noTasksFoundMessage": "未找到符合搜索条件的任务。",
"noHabitsFoundMessage": "未找到符合搜索条件的习惯。",
"emptyStateTasksTitle": "暂无任务",
"emptyStateHabitsTitle": "暂无习惯",
"emptyStateTasksDescription": "创建第一个任务以开始跟踪进度",
"emptyStateHabitsDescription": "创建第一个习惯以开始跟踪进度",
"archivedSectionTitle": "已归档",
"deleteTaskDialogTitle": "删除任务",
"deleteHabitDialogTitle": "删除习惯",
"deleteTaskDialogMessage": "确定要删除此任务吗?此操作无法撤消。",
"deleteHabitDialogMessage": "确定要删除此习惯吗?此操作无法撤消。",
"deleteButton": "删除"
},
"DailyOverview": {
"addTaskButtonLabel": "添加任务",
"addHabitButtonLabel": "添加习惯",
"todaysOverviewTitle": "今日概览",
"dailyTasksTitle": "每日任务",
"noTasksDueTodayMessage": "今天没有任务。添加一些任务以开始!",
"dailyHabitsTitle": "每日习惯",
"noHabitsDueTodayMessage": "今天没有习惯。添加一些习惯以开始!",
"wishlistGoalsTitle": "愿望清单目标",
"redeemableBadgeLabel": "{count}/{total} 可兑换",
"noWishlistItemsMessage": "还没有愿望清单项目。添加一些目标来努力实现吧!",
"readyToRedeemMessage": "准备兑换!",
"coinsToGoMessage": "还需 {amount} 个金币",
"showLessButton": "显示更少",
"showAllButton": "显示全部",
"viewButton": "查看",
"deleteTaskDialogTitle": "删除任务",
"deleteHabitDialogTitle": "删除习惯",
"confirmDeleteDialogMessage": "确定要删除\"{name}\"吗?此操作无法撤消。",
"deleteButton": "删除",
"overdueTooltip": "逾期"
},
"HabitContextMenuItems": {
"startPomodoro": "开始番茄钟",
"moveToToday": "移动到今天",
"moveToTomorrow": "移动到明天",
"unpin": "取消固定",
"pin": "固定",
"edit": "编辑",
"archive": "归档",
"unarchive": "取消归档",
"delete": "删除"
},
"HabitStreak": {
"dailyCompletionStreakTitle": "每日完成连胜",
"tooltipHabitsLabel": "习惯",
"tooltipTasksLabel": "任务",
"tooltipCompletedLabel": "已完成"
},
"CoinBalance": {
"coinBalanceTitle": "金币余额"
},
"AddEditHabitModal": {
"editTaskTitle": "编辑任务",
"editHabitTitle": "编辑习惯",
"addNewTaskTitle": "添加新任务",
"addNewHabitTitle": "添加新习惯",
"nameLabel": "名称 *",
"descriptionLabel": "描述",
"whenLabel": "时间 *",
"completeLabel": "完成",
"timesSuffix": "次",
"rewardLabel": "奖励",
"coinsSuffix": "金币",
"shareLabel": "分享",
"saveChangesButton": "保存更改",
"addTaskButton": "添加任务",
"addHabitButton": "添加习惯"
},
"ConfirmDialog": {
"confirmButton": "确认",
"cancelButton": "取消"
},
"AddEditWishlistItemModal": {
"editTitle": "编辑奖励",
"addTitle": "添加新奖励",
"nameLabel": "名称 *",
"descriptionLabel": "描述",
"costLabel": "成本",
"coinsSuffix": "金币",
"redeemableLabel": "可兑换",
"timesSuffix": "次",
"errorNameRequired": "名称是必填项",
"errorCoinCostMin": "金币成本至少为 1",
"errorTargetCompletionsMin": "目标完成次数至少为 1",
"errorInvalidUrl": "请输入有效的 URL",
"linkLabel": "链接",
"shareLabel": "分享",
"saveButton": "保存更改",
"addButton": "添加奖励"
},
"Navigation": {
"dashboard": "仪表板",
"tasks": "任务",
"habits": "习惯",
"calendar": "日历",
"wishlist": "愿望清单",
"coins": "金币"
},
"TodayEarnedCoins": {
"todaySuffix": "今天"
},
"WishlistItem": {
"usesLeftSingular": "剩余 1 次",
"usesLeftPlural": "剩余 {count} 次",
"coinsSuffix": "金币",
"redeem": "兑换",
"redeemedDone": "完成",
"redeemedExclamation": "已兑换!",
"editButton": "编辑",
"archiveButton": "归档",
"unarchiveButton": "取消归档",
"deleteButton": "删除"
},
"WishlistManager": {
"title": "我的愿望清单",
"addRewardButton": "添加奖励",
"emptyStateTitle": "您的愿望清单是空的",
"emptyStateDescription": "添加您想用金币兑换的奖励",
"archivedSectionTitle": "已归档",
"popupBlockedTitle": "弹出窗口被阻止",
"popupBlockedDescription": "请允许弹出窗口以打开链接",
"deleteDialogTitle": "删除奖励",
"deleteDialogMessage": "确定要删除此奖励吗?此操作无法撤消。",
"deleteButton": "删除"
},
"UserSelectModal": {
"addUserButton": "添加用户",
"createNewUserTitle": "创建新用户",
"selectUserTitle": "选择用户",
"signInSuccessTitle": "登录成功",
"signInSuccessDescription": "欢迎回来,{username}",
"errorInvalidPassword": "密码错误"
},
"CoinsManager": {
"title": "金币管理",
"currentBalanceLabel": "当前余额",
"coinsSuffix": "金币",
"addCoinsButton": "添加金币",
"removeCoinsButton": "移除金币",
"statisticsTitle": "统计",
"totalEarnedLabel": "总收入",
"totalSpentLabel": "总支出",
"totalTransactionsLabel": "总交易数",
"todaysEarnedLabel": "今日收入",
"todaysSpentLabel": "今日支出",
"todaysTransactionsLabel": "今日交易数",
"transactionHistoryTitle": "交易历史",
"showLabel": "显示:",
"entriesSuffix": "条",
"showingEntries": "显示 {from} 到 {to} 条,共 {total} 条",
"noTransactionsTitle": "尚无交易记录",
"noTransactionsDescription": "当您开始赚取或花费金币时,您的交易历史将在此显示",
"pageLabel": "第",
"ofLabel": "页,共",
"transactionTypeHabitCompletion": "习惯完成",
"transactionTypeTaskCompletion": "任务完成",
"transactionTypeHabitUndo": "习惯撤销",
"transactionTypeTaskUndo": "任务撤销",
"transactionTypeWishRedemption": "愿望兑换",
"transactionTypeManualAdjustment": "手动调整",
"transactionTypeCoinReset": "金币重置",
"transactionTypeInitialBalance": "初始余额"
},
"NotificationBell": {
"errorUpdateTimestamp": "更新通知阅读时间戳失败:"
},
"PomodoroTimer": {
"focusLabel1": "保持专注",
"focusLabel2": "你可以的",
"focusLabel3": "继续加油",
"focusLabel4": "全力以赴",
"focusLabel5": "让它实现",
"focusLabel6": "坚持下去",
"focusLabel7": "突破自我",
"focusLabel8": "一步一个脚印",
"focusLabel9": "你能做到",
"focusLabel10": "专注并征服",
"breakLabel1": "休息一下",
"breakLabel2": "放松充电",
"breakLabel3": "深呼吸",
"breakLabel4": "伸展身体",
"breakLabel5": "刷新自己",
"breakLabel6": "你值得拥有",
"breakLabel7": "补充能量",
"breakLabel8": "暂时离开一下",
"breakLabel9": "清空思绪",
"breakLabel10": "休息并恢复",
"focusType": "专注",
"breakType": "休息",
"pauseButton": "暂停",
"startButton": "开始",
"resetButton": "重置",
"skipButton": "跳过",
"wakeLockNotSupported": "浏览器不支持唤醒锁",
"wakeLockInUse": "唤醒锁已在使用中",
"wakeLockRequestError": "请求唤醒锁时发生错误:",
"wakeLockReleaseError": "释放唤醒锁时发生错误:"
},
"HabitCalendar": {
"title": "习惯日历",
"calendarCardTitle": "日历",
"selectDatePrompt": "选择一个日期",
"tasksSectionTitle": "任务",
"habitsSectionTitle": "习惯",
"errorCompletingPastHabit": "完成过去习惯时出错:"
},
"NotificationDropdown": {
"notLoggedIn": "未登录。",
"userCompletedItem": "{username} 完成了 {itemName}。",
"userRedeemedItem": "{username} 兑换了 {itemName}。",
"activityRelatedToItem": "{username} 对 {itemName} 的相关活动。",
"defaultUsername": "某人",
"defaultItemName": "一个共享项目",
"notificationsTitle": "通知",
"notificationsTooltip": "显示其他用户对您与他们共享的习惯或愿望清单的完成或兑换情况(您必须是管理员)",
"noNotificationsYet": "尚无通知。"
},
"AboutModal": {
"dialogArisLabel": "关于",
"changelogButton": "更新日志",
"createdByPrefix": "由 ❤️ 创建",
"starOnGitHubButton": "在 GitHub 上点赞"
},
"PermissionSelector": {
"permissionsTitle": "权限",
"adminAccessLabel": "管理员权限",
"adminAccessDescription": "管理员对所有用户的全部数据拥有完整权限",
"resourceHabitTask": "习惯/任务",
"resourceWishlist": "愿望清单",
"resourceCoins": "金币",
"permissionWrite": "写入",
"permissionInteract": "交互"
},
"UserForm": {
"toastUserUpdatedTitle": "用户已更新",
"toastUserUpdatedDescription": "成功更新用户 {username}",
"toastUserCreatedTitle": "用户已创建",
"toastUserCreatedDescription": "成功创建用户 {username}",
"actionUpdate": "更新",
"actionCreate": "创建",
"errorFailedUserAction": "用户 {action} 失败",
"errorTitle": "错误",
"errorFileSizeLimit": "文件大小必须小于 5MB",
"toastAvatarUploadedTitle": "头像已上传",
"toastAvatarUploadedDescription": "成功上传头像",
"errorFailedAvatarUpload": "头像上传失败",
"changeAvatarButton": "更改头像",
"uploadAvatarButton": "上传头像",
"usernameLabel": "用户名",
"usernamePlaceholder": "用户名",
"newPasswordLabel": "新密码",
"passwordLabel": "密码",
"passwordPlaceholderEdit": "留空以保持当前密码",
"passwordPlaceholderCreate": "输入密码",
"demoPasswordDisabledMessage": "在演示实例中密码自动禁用",
"disablePasswordLabel": "禁用密码",
"cancelButton": "取消",
"saveChangesButton": "保存更改",
"createUserButton": "创建用户"
},
"ViewToggle": {
"habitsLabel": "习惯",
"tasksLabel": "任务"
},
"HabitItem": {
"overdue": "逾期",
"whenLabel": "时间:{frequency}",
"coinsPerCompletion": "{count} 金币每次完成",
"completedStatus": "已完成",
"completedStatusCount": "已完成 ({completed}/{target})",
"completedStatusCountMobile": "{completed}/{target}",
"completeButton": "完成",
"completeButtonCount": "完成 ({completed}/{target})",
"completeButtonCountMobile": "{completed}/{target}",
"undoButton": "撤销",
"editButton": "编辑"
},
"TransactionNoteEditor": {
"noteTooLongTitle": "备注太长",
"noteTooLongDescription": "备注必须少于200个字符",
"errorSavingNoteTitle": "保存备注出错",
"errorDeletingNoteTitle": "删除备注出错",
"pleaseTryAgainDescription": "请重试",
"addNotePlaceholder": "添加备注...",
"saveNoteTitle": "保存备注",
"cancelButtonTitle": "取消",
"deleteNoteTitle": "删除备注",
"editNoteAriaLabel": "编辑备注"
},
"Profile": {
"guestUsername": "游客",
"editProfileButton": "编辑资料",
"signOutSuccessTitle": "登出成功",
"signOutSuccessDescription": "您已从您的账户登出",
"signOutErrorTitle": "登出错误",
"signOutErrorDescription": "登出失败",
"switchUserButton": "切换用户",
"settingsLink": "设置",
"aboutButton": "关于",
"themeLabel": "主题",
"editProfileModalTitle": "编辑资料"
},
"PasswordEntryForm": {
"notYouButton": "不是您?",
"passwordLabel": "密码",
"passwordPlaceholder": "输入密码",
"loginErrorToastTitle": "错误",
"loginFailedErrorToastDescription": "登录失败",
"cancelButton": "取消",
"loginButton": "登录"
},
"CompletionCountBadge": {
"countCompleted": "{completedCount}/{totalCount} 已完成"
},
"SettingsPage": {
"title": "设置",
"uiSettingsTitle": "界面设置",
"numberFormattingLabel": "数字格式化",
"numberFormattingDescription": "格式化大数字 (例如: 1K, 1M, 1B)",
"numberGroupingLabel": "数字分组",
"numberGroupingDescription": "使用千位分隔符 (例如: 1,000 vs 1000)",
"systemSettingsTitle": "系统设置",
"timezoneLabel": "时区",
"timezoneDescription": "选择您的时区以获得准确的日期跟踪",
"weekStartDayLabel": "周起始日",
"weekStartDayDescription": "选择您偏好的每周第一天",
"weekdays": {
"sunday": "周日",
"monday": "周一",
"tuesday": "周二",
"wednesday": "周三",
"thursday": "周四",
"friday": "周五",
"saturday": "周六"
},
"autoBackupLabel": "自动备份",
"autoBackupTooltip": "启用后应用程序数据习惯、金币、设置等将在每天凌晨2点左右自动备份。备份文件存储在项目根目录的`backups/`目录中仅保留最近7个备份旧的备份会被自动删除。",
"autoBackupDescription": "每天自动备份数据",
"languageLabel": "语言",
"languageDescription": "选择应用程序的首选显示语言。",
"languageChangedTitle": "语言已更改",
"languageChangedDescription": "请刷新页面以查看更改",
"languageDisabledInDemoTooltip": "在演示版本中禁用更改语言。"
},
"Common": {
"authenticationRequiredTitle": "需要身份验证",
"authenticationRequiredDescription": "请登录以继续。",
"permissionDeniedTitle": "权限被拒绝",
"permissionDeniedDescription": "您没有对{resource}的{action}权限。",
"undoButton": "撤销",
"redoButton": "重做",
"errorTitle": "错误"
},
"useHabits": {
"alreadyCompletedTitle": "已完成",
"alreadyCompletedDescription": "您今天已经完成了这个习惯。",
"completedTitle": "已完成!",
"earnedCoinsDescription": "您获得了{coinReward}金币。",
"progressTitle": "有进展!",
"progressDescription": "您今天已完成{count}/{target}次。",
"completionUndoneTitle": "完成已撤销",
"completionUndoneDescription": "您今天有{count}/{target}次完成。",
"noCompletionsToUndoTitle": "没有可撤销的完成",
"noCompletionsToUndoDescription": "这个习惯今天还没有完成过。",
"alreadyCompletedPastDateTitle": "已完成",
"alreadyCompletedPastDateDescription": "这个习惯已于{dateKey}完成。",
"earnedCoinsPastDateDescription": "您因{dateKey}获得了{coinReward}金币。",
"progressPastDateDescription": "您于{dateKey}完成了{count}/{target}次。"
},
"useWishlist": {
"redemptionLimitReachedTitle": "达到兑换限制",
"redemptionLimitReachedDescription": "您已达到\"{itemName}\"的最大兑换次数。",
"rewardRedeemedTitle": "🎉 奖励已兑换!",
"rewardRedeemedDescription": "您已用{itemCoinCost}金币兑换了\"{itemName}\"。",
"notEnoughCoinsTitle": "金币不足",
"notEnoughCoinsDescription": "您还需要{coinsNeeded}金币才能兑换此奖励。"
},
"useCoins": {
"invalidAmountTitle": "无效金额",
"invalidAmountDescription": "请输入有效的正数",
"successTitle": "成功",
"addedCoinsDescription": "添加了{amount}金币",
"removedCoinsDescription": "移除了{amount}金币",
"transactionNotFoundDescription": "未找到交易记录"
}
}