This commit is contained in:
arrelin
2026-01-23 12:23:25 +03:00
parent a3e941b19f
commit 71f772f2b9
14 changed files with 569 additions and 131 deletions

View File

@@ -0,0 +1,143 @@
{
"common": {
"loading": "Loading...",
"error": "Error",
"cancel": "Cancel",
"confirm": "Confirm",
"delete": "Delete",
"add": "Add",
"create": "Create",
"save": "Save",
"back": "Back",
"toHome": "Home",
"logout": "Log out",
"exit": "Exit",
"currency": "$"
},
"login": {
"title": "Family Budget",
"subtitle": "Sign in to continue",
"googleButton": "Sign in with Google",
"authError": "Error getting authorization link"
},
"noFamily": {
"welcome": "Welcome!",
"createFamily": "Create your family",
"familyName": "Family name",
"familyNameRequired": "Family name *",
"familyNamePlaceholder": "For example: Smith Family",
"password": "Password",
"passwordOptional": "(optional)",
"passwordPlaceholder": "For access protection",
"passwordHint": "Password will be needed to access the family budget",
"createButton": "Create family",
"adminPanel": "Admin panel",
"enterFamilyName": "Enter family name",
"alreadyInFamily": "You are already in a family",
"createError": "Error creating family",
"joiningFamily": "Joining family...",
"invalidInvite": "Invite link is invalid or expired",
"joinError": "Error joining family"
},
"family": {
"defaultName": "Family",
"totalLimit": "Total limit",
"totalRemaining": "Total remaining",
"shoppingList": "Shopping list",
"inviteMember": "Invite member",
"loadError": "Error loading categories"
},
"category": {
"remaining": "Remaining:",
"limit": "Limit:",
"percentRemaining": "% remaining",
"addExpense": "Add expense",
"expense": "Expense",
"reset": "Reset",
"history": "History",
"management": "Category management",
"newCategory": "New category",
"categoryName": "Category name",
"categoryLimit": "Limit ($)",
"addCategory": "Add category",
"deleteConfirm": "Delete category?",
"resetConfirm": "Delete all expenses for this category?",
"createError": "Error creating category",
"deleteError": "Error deleting category",
"resetError": "Error resetting expenses"
},
"expense": {
"addTitle": "Add expense",
"amount": "Amount ($)",
"amountPlaceholder": "0.00",
"description": "Description",
"descriptionPlaceholder": "Optional",
"historyTitle": "Expense history",
"noExpenses": "No expenses",
"addError": "Error adding expense",
"historyError": "Error loading expense history"
},
"invite": {
"title": "Invite member",
"description": "Create an invite link to add a new member to the family. The link will be valid for 7 days.",
"createLink": "Create link",
"creating": "Creating...",
"sendLink": "Send this link to the person you want to invite:",
"copyLink": "Copy link",
"copied": "Copied!",
"createError": "Error creating invite link",
"pageTitle": "Family invitation",
"pageDescription": "You have been invited to join a family budget. Sign in with Google to accept the invitation.",
"loginAndJoin": "Sign in and join",
"validating": "Validating invitation...",
"joining": "Joining family...",
"invalid": "Link is invalid or has expired",
"notFound": "Link not found",
"alreadyInFamily": "You are already in a family",
"joinError": "Error joining family"
},
"admin": {
"title": "Admin panel",
"subtitle": "Family management",
"accessDenied": "Access denied",
"requiresAdmin": "Administrator rights required",
"createFamily": "Create new family",
"familyName": "Family name",
"familyNamePlaceholder": "For example: Smith Family",
"familyPassword": "Family password",
"familyPasswordPlaceholder": "Protect your family with a password",
"createButton": "Create family",
"familyList": "Family list",
"noFamilies": "No families found",
"createFirst": "Create the first family",
"fillNameAndPassword": "Fill in the family name and password",
"createError": "Error creating family",
"deleteConfirm": "Delete family?",
"deleteError": "Error deleting family"
},
"shopping": {
"title": "Shopping list",
"addPlaceholder": "Add item...",
"toBuy": "To buy",
"purchased": "Purchased",
"empty": "Shopping list is empty",
"allPurchased": "All purchased",
"clear": "Clear",
"loadError": "Error loading shopping list",
"addError": "Error adding item",
"toggleError": "Error changing status",
"deleteError": "Error deleting item",
"updateError": "Error updating item",
"markAllError": "Error updating list",
"clearError": "Error clearing list"
},
"confirm": {
"deleteItem": "Delete item?",
"deleteItemMessage": "The item will be permanently removed from the list.",
"markAll": "Mark all as purchased?",
"markAllMessage": "All items in the list will be marked as purchased.",
"markButton": "Mark",
"clearAll": "Clear list?",
"clearAllMessage": "All items will be permanently removed from the list."
}
}