Adds a new data table to employee detail stats showing completed bookings Includes: - Expanded EmployeeDetailStatsViewComponent with booking data - Updated localization translations for new table labels - Created mock booking data for demonstration - Updated .gitignore to simplify temporary file handling
410 lines
12 KiB
JSON
410 lines
12 KiB
JSON
{
|
||
"menu": {
|
||
"home": "Dashboard",
|
||
"calendar": "Kalender",
|
||
"pos": "Kasse",
|
||
"products": "Produkter & Lager",
|
||
"suppliers": "Leverandører",
|
||
"customers": "Kunder",
|
||
"employees": "Medarbejdere",
|
||
"reports": "Statistik & Rapporter",
|
||
"settings": "Indstillinger",
|
||
"account": "Abonnement & Konto"
|
||
},
|
||
"groups": {
|
||
"dashboard": "Dashboard",
|
||
"data": "Data",
|
||
"analytics": "Analyse",
|
||
"system": "System"
|
||
},
|
||
"common": {
|
||
"save": "Gem",
|
||
"cancel": "Annuller",
|
||
"search": "Søg",
|
||
"close": "Luk",
|
||
"delete": "Slet",
|
||
"edit": "Rediger",
|
||
"add": "Tilføj",
|
||
"from": "Fra",
|
||
"to": "Til",
|
||
"all": "Alle",
|
||
"reset": "Nulstil",
|
||
"status": "Status",
|
||
"yes": "Ja",
|
||
"no": "Nej"
|
||
},
|
||
"sidebar": {
|
||
"lockScreen": "Lås skærm",
|
||
"appName": "Salon OS"
|
||
},
|
||
"dashboard": {
|
||
"title": "Dashboard",
|
||
"subtitle": "Overblik over dagens aktivitet",
|
||
"stats": {
|
||
"bookingsToday": "Bookinger i dag",
|
||
"bookingsTrend": "4 gennemført, 2 i gang",
|
||
"expectedRevenue": "Forventet omsætning",
|
||
"revenueTrend": "+12% vs. gennemsnit",
|
||
"occupancyRate": "Belægningsgrad",
|
||
"occupancyTrend": "God kapacitet",
|
||
"needsAttention": "Kræver handling"
|
||
},
|
||
"ai": {
|
||
"header": "AI Analyse"
|
||
},
|
||
"bookings": {
|
||
"title": "Dagens bookinger",
|
||
"viewAll": "Se alle",
|
||
"currentTime": "Nu:",
|
||
"status": {
|
||
"confirmed": "Bekræftet",
|
||
"pending": "Afventer",
|
||
"inProgress": "I gang",
|
||
"completed": "Gennemført"
|
||
}
|
||
},
|
||
"notifications": {
|
||
"title": "Notifikationer",
|
||
"viewAll": "Se alle",
|
||
"markAllRead": "Marker alle som læst"
|
||
},
|
||
"attentions": {
|
||
"title": "Kræver opmærksomhed",
|
||
"viewAll": "Se alle"
|
||
},
|
||
"quickStats": {
|
||
"title": "Denne uge",
|
||
"bookings": "Bookinger",
|
||
"revenue": "Omsætning",
|
||
"newCustomers": "Nye kunder",
|
||
"cancellations": "Aflysninger",
|
||
"avgOccupancy": "Gns. belægning"
|
||
},
|
||
"quickActions": {
|
||
"title": "Hurtige handlinger",
|
||
"newBooking": "Ny booking",
|
||
"newCustomer": "Ny kunde"
|
||
},
|
||
"waitlist": {
|
||
"title": "Venteliste",
|
||
"count": "{count} venter"
|
||
}
|
||
},
|
||
"cash": {
|
||
"title": "Kasse",
|
||
"tabs": {
|
||
"overview": "Oversigt",
|
||
"reconciliation": "Kasseafstemning"
|
||
},
|
||
"stats": {
|
||
"reconciliationsInPeriod": "Afstemninger i periode",
|
||
"totalRevenue": "Total omsætning",
|
||
"cashSales": "Kontantsalg",
|
||
"totalDifference": "Samlet difference",
|
||
"transactionsToday": "Transaktioner i dag",
|
||
"revenueToday": "Omsætning i dag",
|
||
"lastReconciliation": "Sidste afstemning",
|
||
"openedRegister": "Åbnede kassen"
|
||
},
|
||
"filter": {
|
||
"register": "Kassepunkt",
|
||
"approved": "Godkendt",
|
||
"draft": "Kladde"
|
||
},
|
||
"table": {
|
||
"date": "Dato",
|
||
"id": "ID",
|
||
"period": "Periode",
|
||
"register": "Kassepunkt",
|
||
"closedBy": "Afsluttet af",
|
||
"revenue": "Omsætning",
|
||
"difference": "Difference",
|
||
"selected": "{count} valgt",
|
||
"noneSelected": "0 valgt",
|
||
"showingCount": "Viser {count} afstemninger",
|
||
"exportSaft": "Eksporter SAF-T",
|
||
"downloadCsv": "Download CSV",
|
||
"downloadPdf": "Download PDF",
|
||
"viewTransactions": "Se transaktioner"
|
||
},
|
||
"revenue": {
|
||
"title": "Periodens omsætning",
|
||
"subtitle": "Systemtal vs. kontrol",
|
||
"cardPayments": "Kortbetalinger",
|
||
"mobilePay": "MobilePay / Online",
|
||
"cashSales": "Kontantsalg",
|
||
"hint": "Kort og MobilePay afstemmes mod bank/indløser. Kontanter tælles op nedenfor."
|
||
},
|
||
"balance": {
|
||
"title": "Kontanter i kassen",
|
||
"startBalance": "Startbeholdning",
|
||
"startHint": "Overført fra sidste afstemning",
|
||
"payouts": "Udbetalinger / Bilag",
|
||
"payoutsHint": "Sammentæl bilag betalt kontant",
|
||
"toBank": "Udtaget til bank",
|
||
"toBankHint": "Kontanter lagt til side",
|
||
"expected": "Forventet kontantbeholdning",
|
||
"counted": "Optalt kontantbeholdning",
|
||
"countedHint": "Hvad ligger der faktisk i kassen?"
|
||
},
|
||
"difference": {
|
||
"title": "Kassedifference",
|
||
"match": "Kassen stemmer",
|
||
"over": "Overskud",
|
||
"under": "Underskud"
|
||
},
|
||
"period": {
|
||
"title": "Periodeoplysninger",
|
||
"dateRange": "Periode",
|
||
"register": "Kassepunkt",
|
||
"employee": "Medarbejder"
|
||
},
|
||
"note": {
|
||
"title": "Note til afstemning",
|
||
"placeholder": "Beskriv evt. årsag til difference..."
|
||
},
|
||
"approval": {
|
||
"title": "Afslut dagen",
|
||
"approvedBy": "Godkendt af (valgfrit)",
|
||
"selectPlaceholder": "Vælg...",
|
||
"confirmation": "Jeg bekræfter, at kassen er talt op, og at tallene er indtastet efter bedste evne.",
|
||
"saveDraft": "Gem som kladde",
|
||
"approve": "Godkend & lås"
|
||
},
|
||
"status": {
|
||
"draft": "Kladde",
|
||
"approved": "Godkendt"
|
||
},
|
||
"systemNote": "Systemet gemmer hvornår og af hvem der er godkendt – enkelt kontrolspor."
|
||
},
|
||
"profile": {
|
||
"title": "Profil",
|
||
"myProfile": "Min profil",
|
||
"settings": "Indstillinger",
|
||
"darkMode": "Mørk tilstand",
|
||
"logout": "Log ud"
|
||
},
|
||
"account": {
|
||
"title": "Abonnement & Konto",
|
||
"subtitle": "Administrer dit abonnement og betalingsinfo",
|
||
"subscription": {
|
||
"title": "Dit abonnement",
|
||
"currentPlan": "Nuværende plan",
|
||
"switchTo": "Skift til {plan}",
|
||
"contactSales": "Kontakt salg",
|
||
"contactUs": "Kontakt os",
|
||
"pricePerMonth": "kr/md"
|
||
},
|
||
"billing": {
|
||
"title": "Betaling & Fakturaer"
|
||
},
|
||
"payment": {
|
||
"frequency": "Betalingsfrekvens",
|
||
"monthly": "Månedlig",
|
||
"yearly": "Årlig",
|
||
"nextPayment": "Næste betaling",
|
||
"amount": "Beløb",
|
||
"cardExpiry": "Kortudløb",
|
||
"change": "Skift",
|
||
"switchToYearly": "Skift til årlig betaling (spar 15%)"
|
||
},
|
||
"invoices": {
|
||
"title": "Faktura-historik",
|
||
"date": "Dato",
|
||
"invoiceNumber": "Fakturanr.",
|
||
"amount": "Beløb",
|
||
"download": "PDF",
|
||
"paid": "Betalt",
|
||
"pending": "Afventer",
|
||
"overdue": "Forfalden"
|
||
}
|
||
},
|
||
"employees": {
|
||
"title": "Medarbejdere",
|
||
"subtitle": "Administrer brugere, roller og rettigheder",
|
||
"stats": {
|
||
"activeEmployees": "Aktive medarbejdere",
|
||
"pendingInvitations": "Afventer invitation",
|
||
"rolesDefined": "Roller defineret"
|
||
},
|
||
"tabs": {
|
||
"users": "Brugere",
|
||
"roles": "Roller"
|
||
},
|
||
"users": {
|
||
"count": "brugere",
|
||
"inviteUser": "Inviter bruger",
|
||
"columns": {
|
||
"user": "Bruger",
|
||
"role": "Rolle",
|
||
"status": "Status",
|
||
"lastActive": "Sidst aktiv"
|
||
}
|
||
},
|
||
"roles": {
|
||
"owner": "Ejer",
|
||
"admin": "Admin",
|
||
"leader": "Leder",
|
||
"employee": "Medarbejder"
|
||
},
|
||
"status": {
|
||
"active": "Aktiv",
|
||
"invited": "Invitation sendt"
|
||
},
|
||
"permissions": {
|
||
"title": "Rettighed",
|
||
"calendar": "Kalender",
|
||
"employees": "Medarbejdere",
|
||
"customers": "Kunder",
|
||
"reports": "Rapporter & Økonomi"
|
||
},
|
||
"actions": {
|
||
"edit": "Rediger",
|
||
"remove": "Fjern bruger",
|
||
"resend": "Send invitation igen",
|
||
"cancel": "Annuller invitation"
|
||
},
|
||
"detail": {
|
||
"title": "Medarbejderdetaljer",
|
||
"back": "Tilbage til medarbejdere",
|
||
"save": "Gem ændringer",
|
||
"tabs": {
|
||
"general": "Generelt",
|
||
"hours": "Arbejdstid",
|
||
"services": "Services",
|
||
"salary": "Løn",
|
||
"hr": "HR",
|
||
"stats": "Statistik"
|
||
},
|
||
"contact": "Kontaktoplysninger",
|
||
"personal": "Personlige oplysninger",
|
||
"employment": "Ansættelse",
|
||
"fullname": "Fulde navn",
|
||
"email": "E-mail",
|
||
"phone": "Telefon",
|
||
"address": "Adresse",
|
||
"postalcity": "Postnr. & By",
|
||
"birthdate": "Fødselsdato",
|
||
"emergencycontact": "Nødkontakt",
|
||
"emergencyphone": "Nødkontakt tlf.",
|
||
"employmentdate": "Ansættelsesdato",
|
||
"position": "Stilling",
|
||
"employmenttype": "Ansættelsestype",
|
||
"hoursperweek": "Timer/uge",
|
||
"bookings": "bookinger i år",
|
||
"revenue": "omsætning i år",
|
||
"rating": "rating",
|
||
"employedsince": "ansat siden",
|
||
"hours": {
|
||
"weekly": "Ugentlig arbejdstid",
|
||
"monday": "Mandag",
|
||
"tuesday": "Tirsdag",
|
||
"wednesday": "Onsdag",
|
||
"thursday": "Torsdag",
|
||
"friday": "Fredag",
|
||
"saturday": "Lørdag",
|
||
"sunday": "Søndag"
|
||
},
|
||
"services": {
|
||
"assigned": "Tildelte services"
|
||
},
|
||
"salary": {
|
||
"rates": "Satser",
|
||
"normalrate": "Normal (timeløn)",
|
||
"overtimerate": "Overarbejde (100%)",
|
||
"vacationrate": "Ferie m. løn",
|
||
"provision": "Provision",
|
||
"minimumperhour": "Minimum pr. time",
|
||
"servicecommission": "På services",
|
||
"productcommission": "På produktsalg",
|
||
"supplements": "Tillæg",
|
||
"weekdaysupplement": "8-21 Hverdage",
|
||
"saturdaysupplement": "8-21 Lørdage",
|
||
"sundaysupplement": "Søndag",
|
||
"history": "Lønspecifikationer",
|
||
"period": "Periode",
|
||
"grosssalary": "Bruttoløn",
|
||
"view": "Vis",
|
||
"ratesdrawertitle": "Lønsatser",
|
||
"baserates": "Grundsatser",
|
||
"courserate": "Kursus/skole",
|
||
"timeoffrate": "Afspadsering",
|
||
"paidleaverate": "Fri m. løn",
|
||
"officerate": "Kontor",
|
||
"childsickrate": "Barns 1. sygedag",
|
||
"childhospitalrate": "Barns hospitalsindlæggelse",
|
||
"maternityrate": "Barsel",
|
||
"weekdaysupplementfull": "8-21 Hverdage (udenfor arbejdstid)",
|
||
"saturdaysupplementfull": "8-21 Lørdage (udenfor arbejdstid)",
|
||
"commission": "Provisionsberegning",
|
||
"productcommissionfull": "Provision på produktsalg",
|
||
"servicecommissionfull": "Provision på servicesalg"
|
||
},
|
||
"hr": {
|
||
"contractdocuments": "Kontrakt & Dokumenter",
|
||
"contracttype": "Kontrakttype",
|
||
"terminationnotice": "Opsigelsesvarsel",
|
||
"contractexpiry": "Kontraktudløb",
|
||
"uploaddocument": "Upload dokument",
|
||
"certifications": "Certificeringer",
|
||
"addcertification": "Tilføj certificering",
|
||
"courses": "Kurser",
|
||
"completedcourses": "Gennemførte kurser",
|
||
"plannedcourses": "Planlagte kurser",
|
||
"addcourse": "Tilføj kursus",
|
||
"vacationbalance": "Ferie-saldo",
|
||
"vacationearned": "Optjente feriedage",
|
||
"vacationused": "Brugte feriedage",
|
||
"vacationremaining": "Resterende",
|
||
"absencesickness": "Fravær & Sygdom",
|
||
"sickdays2025": "Sygefravær 2025",
|
||
"sickdays2024": "Sygefravær 2024",
|
||
"childsickdays2025": "Børns sygdom 2025",
|
||
"maternityleave": "Barsel",
|
||
"plannedabsence": "Planlagt fravær",
|
||
"addabsence": "Tilføj fravær"
|
||
},
|
||
"stats": {
|
||
"performance": "Performance",
|
||
"bookingsyear": "Bookinger i år",
|
||
"revenueyear": "Omsætning i år",
|
||
"avgrating": "Gns. rating",
|
||
"occupancy": "Belægningsgrad",
|
||
"completedbookings": "Afsluttede bookinger",
|
||
"date": "Dato",
|
||
"time": "Tid",
|
||
"customer": "Kunde",
|
||
"services": "Services",
|
||
"duration": "Varighed",
|
||
"amount": "Beløb",
|
||
"status": "Status",
|
||
"paid": "Betalt",
|
||
"pending": "Afventer"
|
||
},
|
||
"settings": {
|
||
"label": "Indstillinger",
|
||
"showinbooking": {
|
||
"label": "Vis i online booking",
|
||
"desc": "Kunder kan vælge denne medarbejder"
|
||
},
|
||
"smsreminders": {
|
||
"label": "Modtag SMS-påmindelser",
|
||
"desc": "Få besked om nye bookinger"
|
||
},
|
||
"editcalendar": {
|
||
"label": "Kan redigere egen kalender",
|
||
"desc": "Tillad ændringer i egne bookinger"
|
||
}
|
||
},
|
||
"notifications": {
|
||
"label": "Notifikationer",
|
||
"intro": "Vælg hvilke email-notifikationer medarbejderen skal modtage.",
|
||
"onlinebooking": "Modtag email ved online booking",
|
||
"manualbooking": "Modtag email ved manuel booking",
|
||
"cancellation": "Modtag email ved aflysning",
|
||
"waitlist": "Modtag email ved opskrivning til venteliste",
|
||
"dailysummary": "Modtag daglig oversigt over morgendagens bookinger"
|
||
}
|
||
}
|
||
}
|
||
}
|