mirror of
https://github.com/ManInDark/HabitTrove.git
synced 2026-01-20 22:24:28 +01:00
Added i18n support (#129)
This commit is contained in:
407
messages/en.json
Normal file
407
messages/en.json
Normal 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"
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user