PlanTempusApp/PlanTempus.Application/Features/Localization/Translations/en.json
Janus C. H. Knudsen ef174af0e1 Adds localization support across application views
Implements localization for dashboard, cash register, account, and profile sections

Adds localization keys for various UI elements, improving internationalization support
Refactors view components to use ILocalizationService for dynamic text rendering
Prepares ground for multi-language support with translation-ready markup
2026-01-12 15:42:18 +01:00

220 lines
6 KiB
JSON
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{
"menu": {
"home": "Dashboard",
"calendar": "Calendar",
"pos": "Point of Sale",
"products": "Products & Inventory",
"suppliers": "Suppliers",
"customers": "Customers",
"employees": "Employees",
"reports": "Statistics & Reports",
"settings": "Settings",
"account": "Subscription & Account"
},
"groups": {
"dashboard": "Dashboard",
"data": "Data",
"analytics": "Analytics",
"system": "System"
},
"common": {
"save": "Save",
"cancel": "Cancel",
"search": "Search",
"close": "Close",
"delete": "Delete",
"edit": "Edit",
"add": "Add",
"from": "From",
"to": "To",
"all": "All",
"reset": "Reset",
"status": "Status"
},
"sidebar": {
"lockScreen": "Lock screen",
"appName": "Salon OS"
},
"dashboard": {
"title": "Dashboard",
"subtitle": "Overview of today's activity",
"stats": {
"bookingsToday": "Bookings today",
"bookingsTrend": "4 completed, 2 in progress",
"expectedRevenue": "Expected revenue",
"revenueTrend": "+12% vs. average",
"occupancyRate": "Occupancy rate",
"occupancyTrend": "Good capacity",
"needsAttention": "Needs attention"
},
"ai": {
"header": "AI Analysis"
},
"bookings": {
"title": "Today's bookings",
"viewAll": "View all",
"currentTime": "Now:",
"status": {
"confirmed": "Confirmed",
"pending": "Pending",
"inProgress": "In progress",
"completed": "Completed"
}
},
"notifications": {
"title": "Notifications",
"viewAll": "View all",
"markAllRead": "Mark all as read"
},
"attentions": {
"title": "Needs attention",
"viewAll": "View all"
},
"quickStats": {
"title": "This week",
"bookings": "Bookings",
"revenue": "Revenue",
"newCustomers": "New customers",
"cancellations": "Cancellations",
"avgOccupancy": "Avg. occupancy"
},
"quickActions": {
"title": "Quick actions",
"newBooking": "New booking",
"newCustomer": "New customer"
},
"waitlist": {
"title": "Waitlist",
"count": "{count} waiting"
}
},
"cash": {
"title": "Cash Register",
"tabs": {
"overview": "Overview",
"reconciliation": "Reconciliation"
},
"stats": {
"reconciliationsInPeriod": "Reconciliations in period",
"totalRevenue": "Total revenue",
"cashSales": "Cash sales",
"totalDifference": "Total difference",
"transactionsToday": "Transactions today",
"revenueToday": "Revenue today",
"lastReconciliation": "Last reconciliation",
"openedRegister": "Opened register"
},
"filter": {
"register": "Register",
"approved": "Approved",
"draft": "Draft"
},
"table": {
"date": "Date",
"id": "ID",
"period": "Period",
"register": "Register",
"closedBy": "Closed by",
"revenue": "Revenue",
"difference": "Difference",
"selected": "{count} selected",
"noneSelected": "0 selected",
"showingCount": "Showing {count} reconciliations",
"exportSaft": "Export SAF-T",
"downloadCsv": "Download CSV",
"downloadPdf": "Download PDF",
"viewTransactions": "View transactions"
},
"revenue": {
"title": "Period revenue",
"subtitle": "System vs. control",
"cardPayments": "Card payments",
"mobilePay": "MobilePay / Online",
"cashSales": "Cash sales",
"hint": "Card and MobilePay are reconciled against bank/acquirer. Cash is counted below."
},
"balance": {
"title": "Cash in register",
"startBalance": "Starting balance",
"startHint": "Carried over from last reconciliation",
"payouts": "Payouts / Receipts",
"payoutsHint": "Total receipts paid in cash",
"toBank": "Withdrawn to bank",
"toBankHint": "Cash set aside",
"expected": "Expected cash balance",
"counted": "Counted cash balance",
"countedHint": "What is actually in the register?"
},
"difference": {
"title": "Cash difference",
"match": "Register balanced",
"over": "Overage",
"under": "Shortage"
},
"period": {
"title": "Period information",
"dateRange": "Period",
"register": "Register",
"employee": "Employee"
},
"note": {
"title": "Reconciliation note",
"placeholder": "Describe reason for difference..."
},
"approval": {
"title": "Close the day",
"approvedBy": "Approved by (optional)",
"selectPlaceholder": "Select...",
"confirmation": "I confirm that the register has been counted and the figures have been entered to the best of my ability.",
"saveDraft": "Save as draft",
"approve": "Approve & lock"
},
"status": {
"draft": "Draft",
"approved": "Approved"
},
"systemNote": "The system records when and by whom approval was made simple audit trail."
},
"profile": {
"title": "Profile",
"myProfile": "My profile",
"settings": "Settings",
"darkMode": "Dark mode",
"logout": "Log out"
},
"account": {
"title": "Subscription & Account",
"subtitle": "Manage your subscription and payment info",
"subscription": {
"title": "Your subscription",
"currentPlan": "Current plan",
"switchTo": "Switch to {plan}",
"contactSales": "Contact sales",
"contactUs": "Contact us",
"pricePerMonth": "/mo"
},
"billing": {
"title": "Payment & Invoices"
},
"payment": {
"frequency": "Payment frequency",
"monthly": "Monthly",
"yearly": "Yearly",
"nextPayment": "Next payment",
"amount": "Amount",
"cardExpiry": "Card expiry",
"change": "Change",
"switchToYearly": "Switch to yearly billing (save 15%)"
},
"invoices": {
"title": "Invoice history",
"date": "Date",
"invoiceNumber": "Invoice no.",
"amount": "Amount",
"download": "PDF",
"paid": "Paid",
"pending": "Pending",
"overdue": "Overdue"
}
}
}