# Common Dialog
dialog.cancel=Cancel
dialog.confirm=Confirm

# Navigation and Main Layout
nav.jobs=Jobs
nav.job.create=Create Job
nav.customers=Address Book
nav.appusers=App Users
nav.statistics=Statistics
nav.invoices=Invoices
nav.messages=Messages
nav.profile=My Profile
nav.myinvoices=Invoices
nav.imprint=Imprint
nav.management=Management
nav.users=Users
nav.showprofile=Show Profile
nav.settings=Settings
nav.logout=Log Out
logout.confirm.title=Confirm logout
logout.confirm.message=Do you really want to log out?

# Profile View
profile.title=Edit Profile
profile.language=Language
profile.company=Company
profile.companyadd=Company Suffix
profile.firstname=First Name
profile.lastname=Last Name
profile.phone=Phone Number
profile.fax=Phone (Fax)
profile.mobile=Phone (Mobile)
profile.email=Email Address
profile.street=Street
profile.housenr=House No.
profile.addressadd=Address Suffix
profile.zip=Postal Code
profile.city=City
profile.diffinvoice=Different Billing Address
profile.basicdata=Master Data
profile.map=Map
profile.invoicecreation=Invoice Creation
profile.settings=Settings
profile.settings.digitalprocess=Digital Processing
profile.settings.digitalprocess.info=Jobs are processed digitally via the app
profile.settings.locateappuser=Locate App Users
profile.settings.locateappuser.info=App user location is transmitted regularly
profile.settings.vatrate=VAT rate
profile.account=Account
profile.security=Security
profile.security.twofactor=Two-Factor Authentication
profile.security.twofactor.info=An additional code is sent via email when logging in
profile.services=Service Catalog
profile.saved=Profile saved
profile.save.error=Error saving: {0}
profile.validation.required.fill=Please fill in all required fields correctly

# Profile Settings
settings.digitalprocessing=Digital Processing via App
settings.digitalprocessinginfo=Enables digital job processing via the mobile app
settings.locationtracking=Locate App Users
settings.locationtrackinginfo=Allows locating app users during job execution
settings.twofactor=2-Factor Authentication
settings.twofactorinfo=When enabled, a code is sent via email at each login

# Profile Billing
profile.billing.enabled=Invoicing via votianLT
profile.billing.prefix=Invoice Prefix

# Profile Validation
profile.validation.company=Company is a required field
profile.validation.firstname=First name is a required field
profile.validation.lastname=Last name is a required field
profile.validation.phone=Phone number is a required field
profile.validation.street=Street is a required field
profile.validation.housenr=House number is a required field
profile.validation.zip=Postal code is a required field
profile.validation.city=City is a required field
profile.validation.email.required=Email address is a required field
profile.validation.email.invalid=Please enter a valid email address
profile.validation.company.required=Company is required
profile.validation.street.required=Street is required
profile.validation.housenr.required=House number is required
profile.validation.zip.required=Postal code is required
profile.validation.city.required=City is required
profile.validation.firstname.required=First name is required
profile.validation.lastname.required=Last name is required
profile.validation.phone.required=Phone number is required

# Profile Invoice
profile.invoice.masterdata=My Master Data
profile.invoice.name=Name
profile.invoice.city=City
profile.invoice.email=Email
profile.invoice.phone=Phone
profile.invoice.placeholder.company=Your Company
profile.invoice.placeholder.name=Your Name
profile.invoice.placeholder.street=Your Street
profile.invoice.placeholder.city=Postal Code City
profile.invoice.placeholder.email=your@email.com
profile.invoice.placeholder.phone=Your Phone Number
profile.invoice.services.list=List Services
profile.invoice.net=Net Total
profile.invoice.vat=VAT
profile.invoice.gross=Gross Total
profile.invoice.customerdata=Customer Data
profile.invoice.customer.company=Customer Company
profile.invoice.customer.name=Customer Name
profile.invoice.customer.street=Customer Street
profile.invoice.customer.city=Customer City
profile.invoice.customer.email=Customer Email
profile.invoice.customer.phone=Customer Phone
profile.invoice.free.elements=Free Elements
profile.invoice.element.text=Text Field
profile.invoice.element.header=Header
profile.invoice.element.date=Date
profile.invoice.element.customer=Customer Info
profile.invoice.element.company=Company Info
profile.invoice.element.amount=Amount
profile.invoice.element.line=Line
profile.invoice.element.image=Image
profile.invoice.element.invoicenumber=Invoice Number
profile.invoice.properties=Properties
profile.invoice.properties.info=Click on an element in the canvas to edit its properties.
profile.invoice.type=Type
profile.invoice.variable=Variable
profile.invoice.xposition=X Position
profile.invoice.yposition=Y Position
profile.invoice.fontsize=Font Size
profile.invoice.color=Color
profile.invoice.element.delete=Delete Element
profile.invoice.image=Upload Image
profile.invoice.image.drop=Drag image here or click
profile.invoice.image.uploaded=Image uploaded successfully
profile.invoice.image.upload.error=Error uploading: {0}
profile.invoice.file.rejected=File rejected: {0}
profile.invoice.text.from.masterdata=Text comes from your master data
profile.invoice.canvas.cleared=Canvas has been cleared
profile.invoice.canvas.read.error=Error: Canvas data could not be read
profile.invoice.template.saved=Template saved successfully
profile.invoice.pdf.error=Error generating PDF: {0}
profile.invoice.pdf.preview=Preview
profile.invoice.pdf.preview.error=Error generating preview: {0}

# Profile Services
profile.services.label=Services
profile.services.description=Manage your services that you offer to your customers here.
profile.services.add=Add New Service
profile.services.load.error=Error loading services: {0}
profile.services.saved=Service saved successfully
profile.services.save.error=Error saving service: {0}
profile.services.deleted=Service deleted successfully
profile.services.delete.error=Error deleting service: {0}
profile.services.dialog.create=Create New Service
profile.services.dialog.edit=Edit Service
profile.services.basis=Calculation Basis
profile.services.basis.distance=Distance Driven
profile.services.basis.time=Time
profile.services.basis.flatrate=Flat Rate
profile.services.vatrate=VAT Rate (%)
profile.services.vatrate.percent=VAT Rate (%)
profile.services.price.flatrate=Flat Rate Price (\u20ac)
profile.services.price.distance=Price per Kilometer (\u20ac)
profile.services.price.time=Price per 15 Minutes (\u20ac)
profile.services.mandatory=Mandatory
profile.services.calculated=Calculated
profile.services.validation.name=Name is required
profile.services.validation.basis=Calculation basis is required
profile.services.validation.flatrate=Flat rate price is required
profile.services.validation.distance=Price per kilometer is required
profile.services.validation.time=Price per 15 minutes is required
profile.services.validation.vatrate=VAT rate is required
profile.services.savechanges=Save Service

# Buttons
button.save=Save Profile Changes
button.savechanges=Save
button.clear=Clear
button.preview=Preview
button.savetemplate=Save Template
button.changepassword=Change Password
button.deleteaccount=Delete Account
button.add=New
button.edit=Edit
button.delete=Delete
button.cancel=Cancel
button.close=Close
button.download=Download
button.back=Back

# Common
common.name=Name
common.yes=Yes
common.no=No
common.total=Total
common.price=Price
common.service=Service
common.customer=Customer
common.actions=Actions
common.loading=Loading...
common.error=Error
common.success=Success
common.required=Required

# Duration
duration.hours.short=hr
duration.minutes.short=min

# Validation
validation.required=Field is required
validation.email=Invalid email address
validation.error=Validation error

# Notifications
notification.saved=Profile saved
notification.error=Error saving
notification.languagechanged=Language changed

# Login
login.title=Log In
login.username=Username
login.password=Password
login.login=Log In
login.forgotpassword=Forgot Password?
login.rememberme=Remember Me
login.register=Register
login.2fa.helper=6-digit code
login.2fa.sent=Code was sent via email
login.2fa.no.credentials=No credentials available
login.2fa.invalid.code=Invalid code
login.2fa.wrong.code=Wrong code

# Error Messages
error.loading=Error loading
error.saving=Error saving
error.validation=Validation error

# Page Titles
page.title.dashboard=VotianLT - Dashboard
page.title.appuser.create=Create New App User
page.title.messages=Messages
page.title.register=Register at VotianLT
page.title.customers=Address Book
page.title.customer.edit=Edit Customer
page.title.verwaltung=Management
page.title.company.create=Create New Company
page.title.imprint=Imprint
page.title.profile.edit=Edit Profile
page.title.admin.dashboard=Admin Dashboard
page.title.invoice.create=Create Invoice
page.title.customer.create=Create New Address
page.title.login=Log In to VotianLT
page.title.jobs=Jobs
page.title.appuser.edit=Edit App User
page.title.statistics=Statistics
page.title.password.forget=Reset Password
page.title.invoices=Invoices
page.title.appusers=App Users
page.title.job.history=Job History
page.title.message.history=Message History
page.title.myinvoices=Invoices
page.title.job.create=Create New Job
page.title.job.summary=Summary
page.title.pricetable=Price Table
page.title.invoice.generator=Invoice Generator
page.title.welcome=VotianLT - Welcome
page.title.password.reset=Reset Password \u2013 Enter Email
page.title.add.appuser=Create New App User
page.title.user.messages=Messages
page.title.edit.customer=Edit Customer
page.title.show.customers=Customers
page.title.add.company=Create New Company
page.title.create.invoice=Create Invoice
page.title.add.customer=Create New Customer
page.title.edit.appuser=Edit App User
page.title.forget.password=Reset Password
page.title.admin.pricetable=Price Table
page.title.add.job=Create New Job

# Dashboard
dashboard.welcome=Welcome, {0}!
dashboard.description=Here you can manage your jobs, organize customers, and use all important features of VotianLT.
dashboard.system.title=System Overview
dashboard.system.intro=Manage your business processes efficiently with the following features
dashboard.feature.setup.title=Setup
dashboard.feature.setup.desc=Configure your system settings and master data
dashboard.feature.customers.title=Customers
dashboard.feature.customers.desc=Manage your customer relationships and contacts
dashboard.feature.jobs.title=Jobs
dashboard.feature.jobs.desc=Create and manage jobs efficiently

# Add App User
addappuser.title=Create New App User
addappuser.designation=Designation
addappuser.phone=Phone (Mobile)
addappuser.password=Password
addappuser.password.confirm=Confirm Password
addappuser.button.submit=Create App User
addappuser.validation.designation=Designation is required
addappuser.validation.phone=Phone number is required
addappuser.validation.password.required=Password is required
addappuser.validation.password.min=Password must have at least 6 characters
addappuser.validation.password.confirm=Password confirmation is required
addappuser.validation.password.mismatch=Passwords do not match
addappuser.validation.email.required=Email is required
addappuser.validation.email.invalid=Invalid email address
addappuser.notification.validation=Please fill in all required fields
addappuser.notification.success=App user created successfully
addappuser.notification.check=Please check your input
addappuser.notification.email.duplicate=This email address is already in use
addappuser.notification.error=Error: {0}
addappuser.placeholder.designation=(HH H 000)

# Edit App User
editappuser.title=Edit App User
editappuser.password.change=New Password
editappuser.password.change.confirm=Confirm New Password
editappuser.password.placeholder=Leave empty to keep current password
editappuser.notification.invalid.id=Invalid app user ID
editappuser.notification.password.mismatch=Passwords do not match
editappuser.notification.saved=App user saved successfully
editappuser.notification.check=Please check your input
editappuser.notification.password.confirm=Please confirm the new password
editappuser.notification.password.enter=Please enter a new password
editappuser.notification.deleted=App user deleted successfully
editappuser.dialog.delete.text=Are you sure you want to delete this app user?
editappuser.dialog.delete.confirm=Delete

# Customers
customers.title=Address Book
customers.button.add=Add New Address
customers.hint.click=Click on an address entry to see details
customers.column.company=Company
customers.column.name=Name
customers.column.email=Email
customers.column.phone=Phone
customers.column.street=Street
customers.column.city=City

# Edit Customer
editcustomer.title=Edit Customer
editcustomer.notification.notfound=Customer not found
editcustomer.notification.invalid.id=Invalid customer ID
editcustomer.notification.saved=Customer saved successfully
editcustomer.notification.check=Please check your input
editcustomer.notification.deleted=Customer deleted successfully
editcustomer.dialog.delete.text=Are you sure you want to delete this customer?
editcustomer.dialog.delete.confirm=Delete

# Add Customer
addcustomer.title=Create New Address
addcustomer.button.submit=Create Address
addcustomer.notification.validation=Please fill in all required fields
addcustomer.notification.success=Customer created successfully
addcustomer.notification.duplicate=An identical address book entry already exists
addcustomer.notification.check=Please check your input
addcustomer.notification.error=Error: {0}
addcustomer.validation.required=This field is required

# Add Company
addcompany.title=Create New Company
addcompany.button.submit=Create Company

# Verwaltung
verwaltung.title=Management
verwaltung.description=Manage your companies, customers, and system settings here

# User Messages
usermessages.title.with=Messages with {0}
usermessages.general.title=General Conversations
usermessages.general.conversation=General Conversation
usermessages.job.title=Job-Related Messages
usermessages.job.conversation=Job {0}
usermessages.no.job.messages=No job-related messages
usermessages.preview.empty=No preview available
usermessages.message.count={0} Messages
usermessages.unknown=Unknown
usermessages.unknown.participant=Unknown Participant

# Admin Dashboard
admindashboard.title=Admin Dashboard
admindashboard.loading=Loading statistics...
admindashboard.error=Error loading: {0}
admindashboard.section.overview=Overview
admindashboard.section.jobs=Jobs
admindashboard.section.tasks=Tasks
admindashboard.section.users=User Activities
admindashboard.section.health=System Status
admindashboard.stat.totaljobs=Total Jobs
admindashboard.stat.users=Users
admindashboard.stat.appusers=App Users
admindashboard.stat.lastupdated=Last Updated
admindashboard.stat.openjobs=Open Jobs
admindashboard.stat.inprogress=In Progress
admindashboard.stat.completed=Completed
admindashboard.stat.cargo=Cargo Items
admindashboard.stat.status.info=Status
admindashboard.stat.status.unavailable=Unavailable
admindashboard.stat.totaltasks=Total Tasks
admindashboard.stat.completedtasks=Completed
admindashboard.stat.pendingtasks=Pending
admindashboard.stat.successrate=Success Rate
admindashboard.stat.photos=Photos
admindashboard.stat.barcodes=Barcodes
admindashboard.stat.signatures=Signatures
admindashboard.stat.comments=Comments
admindashboard.stat.database=Database
admindashboard.stat.database.connected=Connected
admindashboard.stat.database.error=Error
admindashboard.stat.websocket=WebSocket
admindashboard.stat.websocket.active=Active
admindashboard.stat.app=Application
admindashboard.stat.app.running=Running
admindashboard.stat.memory=Memory

# Messages
messages.title=Messages
messages.column.status=Status
messages.column.client=Customer
messages.column.email=Email
messages.column.total=Total
messages.column.unread=Unread
messages.column.lastmessage=Last Message
messages.column.preview=Preview
messages.notification.error=Error loading messages
messages.preview.image=Image
messages.preview.empty=No preview
messages.sender.unknown=Unknown Sender

# Add Job
addjob.title=Create New Job
addjob.customer.label=Principal
addjob.customer.placeholder=Select principal
addjob.customer.unnamed=Unnamed principal
addjob.button.clearfields=Clear Fields
addjob.button.submit=Create Job
addjob.address.salutation=Salutation
addjob.address.salutation.placeholder=Select Salutation
addjob.salutation.mr=Mr
addjob.salutation.ms=Ms
addjob.salutation.other=Other
addjob.address.company.placeholder=Enter company
addjob.address.pickup.label=Pickup address
addjob.address.pickup.placeholder=Select or enter pickup address
addjob.address.delivery.label=Delivery address
addjob.address.delivery.placeholder=Select or enter delivery address
addjob.address.street.placeholder=Enter street
addjob.address.housenumber=House Number
addjob.address.addition.placeholder=Address suffix
addjob.address.city=City
addjob.address.city.placeholder.pickup=City (Pickup)
addjob.address.city.placeholder.delivery=City (Delivery)
addjob.address.delivery.street.placeholder=Street (Delivery)
addjob.address.delivery.addition.placeholder=Address suffix (Delivery)
addjob.address.save=Add address to address book
addjob.address.update=Update address in address book
addjob.section.pickup=Pickup
addjob.section.delivery=Delivery
addjob.stations.apply=Apply Stations
addjob.station.delivery=Delivery Station {0}
addjob.station.add=Add Delivery Station
addjob.station.remove.confirm=Really remove delivery station {0}?
addjob.station.max.reached=Maximum number of 25 delivery stations reached
addjob.station.unused=Not used
addjob.appointment.delivery.info=Delivery dates are set directly in the delivery stations.
addjob.tab.addresses=Client & Addresses
addjob.tab.pickup.address=Principal & Pickup Address
addjob.tab.delivery.address=Delivery Address
addjob.tab.appointments=Appointments & Processing
addjob.tab.cargo=Cargo
addjob.tab.tasks=Tasks
addjob.tab.price=Price & Completion
addjob.appointment.date=Date
addjob.appointment.time=Time
addjob.appointment.pickup=Pickup Date
addjob.appointment.delivery=Delivery Date
addjob.settings.digitalprocess=Digital Processing via App
addjob.appuser.label=App User
addjob.appuser.placeholder=Select App User
addjob.cargo.description=Description
addjob.cargo.description.placeholder=Enter description
addjob.cargo.quantity=Quantity
addjob.cargo.weight=Weight
addjob.cargo.length=Length
addjob.cargo.width=Width
addjob.cargo.height=Height
addjob.cargo.europalette=Euro Pallet
addjob.cargo.disposablepalette=Disposable Pallet
addjob.cargo.dusseldorfpalette=Dusseldorf Pallet
addjob.cargo.gridboxpalette=Grid Box Pallet
addjob.cargo.gridcart=Grid Cart
addjob.cargo.parcel=Parcel
addjob.cargo.add=Add Cargo
addjob.tasks.title=Tasks
addjob.tasks.template.placeholder=Select Template
addjob.tasks.template.save.tooltip=Save as Template
addjob.tasks.template.save.title=Save Template
addjob.tasks.template.name=Template Name
addjob.tasks.template.name.placeholder=Enter name
addjob.tasks.template.name.required=Name is required
addjob.tasks.template.saved=Template "{0}" saved
addjob.tasks.template.save.error=Error saving: {0}
addjob.tasks.template.dialog.error=Error opening dialog: {0}
addjob.tasks.template.no.tasks=No tasks to save
addjob.tasks.template.load.title=Load Template
addjob.tasks.template.load.text=Do you want to load the template "{0}"? This action will replace all current tasks.
addjob.tasks.template.load.confirm=Load
addjob.tasks.template.loaded=Template "{0}" loaded
addjob.tasks.template.load.error=Error loading: {0}
addjob.tasks.template.load.templates.error=Error loading templates: {0}
addjob.tasks.add=Add Task
addjob.tasks.tasktype=Task Type
addjob.tasks.tasktype.placeholder=Select Type
addjob.tasks.description=Description
addjob.tasks.description.placeholder=Enter description
addjob.tasks.buttontext=Button Text
addjob.tasks.buttontext.placeholder=Enter text
addjob.tasks.remark=Remark
addjob.tasks.remark.placeholder=Enter remark
addjob.tasks.photo.min=Min. Photos
addjob.tasks.photo.max=Max. Photos
addjob.tasks.barcode.min=Min. Barcodes
addjob.tasks.barcode.max=Max. Barcodes
addjob.tasks.signature.notelabel=Note (optional)
addjob.tasks.signature.notelabel.placeholder=Enter hint text for the note
addjob.tasks.todolist.title=To-Do List
addjob.tasks.todolist.item.placeholder=Enter to-do
addjob.tasks.todolist.add=Add To-Do
addjob.tasks.comment.label=Comment
addjob.tasks.comment.placeholder=Enter comment
addjob.tasks.comment.required=Comment required
addjob.tasks.optional=Task is optional
addjob.services.title=Services
addjob.services.add=Add Service
addjob.services.calculation=Calculation
addjob.services.basis.distance=Distance Driven
addjob.services.basis.time=Time
addjob.services.basis.flatrate=Flat Rate
addjob.services.vat=VAT
addjob.services.route.missing=Route missing
addjob.services.dialog.title=Select Service
addjob.services.dialog.placeholder=Select Service
addjob.services.dialog.station.placeholder=Select Delivery Station
addjob.services.dialog.add=Add
addjob.services.deliverystation=Delivery Station
addjob.summary.title=Summary
addjob.summary.net=Net
addjob.summary.vat=VAT
addjob.summary.gross=Gross
addjob.route.title=Route
addjob.route.distance=Distance
addjob.route.distance.km=Distance (km)
addjob.route.distance.placeholder=e.g. 150.5
addjob.route.duration=Duration
addjob.route.duration.min=Duration (min.)
addjob.route.duration.placeholder=e.g. 120
addjob.route.manual.title=Manual Route Entry
addjob.route.manual.hint=Enter distance and duration manually if no route was calculated
addjob.notification.success=Job {0} created successfully
addjob.notification.cleared=All fields have been cleared
addjob.notification.draft.restored=Draft restored
addjob.validation.required.fields=Please fill in all required fields
addjob.validation.appuser.required=Please select an app user
addjob.validation.cargo.required=Please specify at least one cargo item
addjob.validation.pickupdate.future=Pickup date must be today or in the future
addjob.validation.deliverydate.future=Delivery date must be today or in the future
addjob.validation.dialog.title=Address Validation
addjob.validation.dialog.loading=Validating addresses...
addjob.validation.dialog.back=Back
addjob.validation.dialog.continue=Continue
addjob.validation.dialog.continue.anyway=Continue Anyway
addjob.validation.pickup.address=Pickup Address
addjob.validation.delivery.address=Delivery Address
addjob.validation.route=Route
addjob.validation.address.not.found.title=Address Not Found
addjob.validation.address.not.found.message=The entered address could not be clearly found on Google. Do you want to save anyway?
addjob.validation.address.save.anyway=Save Anyway
addjob.validation.address.correct=Correct Address

# Job Summary
jobsummary.title=Summary
jobsummary.error.noid=No job ID specified
jobsummary.error.invalidid=Invalid job ID format: {0}
jobsummary.error.notfound=Job with ID {0} not found
jobsummary.button.sendmessage=Send Message
jobsummary.button.jobhistory=Job History
jobsummary.button.complete=Complete Job Manually
jobsummary.dialog.complete.title=Complete Job
jobsummary.dialog.complete.text=Do you want to manually complete job {0}?
jobsummary.dialog.complete.cancel=Cancel
jobsummary.dialog.complete.confirm=Complete
jobsummary.notification.completed=Job {0} has been completed
jobsummary.notification.complete.error=Error completing: {0}
jobsummary.notification.noappuser=No app user is assigned to this job
jobsummary.section.pickup=Pickup
jobsummary.section.delivery=Delivery
jobsummary.station.phone=Phone
jobsummary.section.tasks=Tasks to Confirm
jobsummary.section.cargo=Cargo to Transport
jobsummary.section.info=Additional Information
jobsummary.tasks.none=No tasks
jobsummary.cargo.none=No cargo details
jobsummary.info.netto=Net
jobsummary.info.ust=VAT
jobsummary.info.gesamt=Total
jobsummary.info.bemerkung=Remark
jobsummary.info.digital=Digital processing via app: enabled
jobsummary.info.appuser=App User
jobsummary.task.status.abgeschlossen=Completed
jobsummary.task.status.offen=Open
jobsummary.task.typ=Type
jobsummary.task.completedAt=Completed on
jobsummary.task.completedBy=Completed by
jobsummary.task.todo.items=To-Do Items
jobsummary.task.photo.info=Photos
jobsummary.task.photo.minmax=At least {0} photos required
jobsummary.task.photo.maxonly=Maximum {0} photos allowed
jobsummary.task.photo.taken=Photos taken ({0})
jobsummary.task.button.text=Button Text
jobsummary.button.schliessen=Close
jobsummary.route.planned=Planned Route
jobsummary.button.manualcomplete=Complete manually
jobsummary.dialog.manualcomplete.title=Complete job manually
jobsummary.dialog.manualcomplete.text=Job {0} will now be completed manually. It can no longer be processed via the app afterwards.
jobsummary.dialog.manualcomplete.reason=Reason
jobsummary.dialog.manualcomplete.reason.required=Please enter a reason
jobsummary.dialog.manualcomplete.cancel=Cancel
jobsummary.dialog.manualcomplete.confirm=Accept
jobsummary.history.manualcomplete.reason=Manually completed
jobmanualcomplete.route.hours=Hours
jobmanualcomplete.route.minutes=Minutes
jobmanualcomplete.route.manual.hint=No route data available – please enter distance and duration manually.

# Jobs
jobs.title=Jobs
jobs.filter.search=Search
jobs.filter.search.placeholder=Search by job number...
jobs.filter.startdate=Start Date
jobs.filter.enddate=End Date
jobs.filter.status=Status
jobs.filter.apply=Apply Filter
jobs.status.all=All
jobs.status.open=Open
jobs.status.done=Done
jobs.notification.completed=Job {0} has been completed
jobs.column.status=Status
jobs.column.customer=Customer
jobs.column.jobnumber=Job Number
jobs.column.jobdate=Job Date
jobs.column.destination=Destination
jobs.historie.manuell=Manual
jobs.button.csvexport=CSV Export
jobs.tooltip.complete=Complete Job
jobs.tooltip.createinvoice=Create Invoice
jobs.tooltip.showinvoice=Show Invoice
jobs.tooltip.delete=Delete Job
jobs.dialog.complete.title=Complete Job
jobs.dialog.complete.text=Do you want to manually complete job {0}?
jobs.dialog.complete.confirm=Complete
jobs.dialog.delete.title=Delete Job
jobs.dialog.delete.text=Are you sure you want to delete job {0}?
jobs.notification.complete.error=Error completing: {0}
jobs.notification.deleted=Job {0} has been deleted
jobs.notification.delete.error=Error deleting: {0}

# Create Invoice
createinvoice.title=Create Invoice \u2013 Job {0}
createinvoice.error.invalidid=Invalid Job ID
createinvoice.error.notfound=Job not found
createinvoice.button.create=Create Invoice
createinvoice.section.job=Job Details
createinvoice.section.route=Route Info
createinvoice.section.services=Services
createinvoice.section.summary=Summary
createinvoice.section.vat=VAT
createinvoice.field.vatrate=VAT rate
createinvoice.field.jobnumber=Job Number
createinvoice.field.customer=Customer
createinvoice.field.status=Status
createinvoice.field.price=Price
createinvoice.route.distance=Distance
createinvoice.route.duration=Travel Time
createinvoice.column.service=Service
createinvoice.column.basis=Calculation Basis
createinvoice.summary.net=Net Total
createinvoice.summary.vat=VAT ({0}%)
createinvoice.summary.total=Grand Total
createinvoice.notification.noservices=Please select at least one service
createinvoice.notification.nouser=User not found
createinvoice.notification.notemplate=No invoice template found
createinvoice.notification.error=Error creating invoice: {0}
createinvoice.notification.saved=Invoice {0} has been saved
createinvoice.preview.title=Invoice Preview
createinvoice.preview.number=PREVIEW
createinvoice.button.save=Save
createinvoice.confirm.save.title=Save Invoice
createinvoice.confirm.save.message=This invoice will be permanently saved and cannot be modified afterwards. Continue?
createinvoice.confirm.save.confirm=Yes, save

# Invoices
invoices.title=Invoices
invoices.column.number=Number
invoices.column.customer=Customer
invoices.column.date=Date
invoices.column.amount=Amount
invoices.column.description=Description
invoices.empty=No invoices have been created yet.
invoices.notification.pdf.missing=No PDF is stored for this invoice.
invoices.notification.pdf.error=Failed to display PDF: {0}
invoices.column.status=Status
invoices.column.type=Type
invoices.column.actions=Actions
invoices.disclaimer=Note: Legal retention obligations remain with the issuer. An already issued invoice is never overwritten — corrections are made through a correction document or cancellation invoice that explicitly references the original.
invoices.status.draft=Draft
invoices.status.issued=Issued
invoices.status.sent=Sent
invoices.status.cancelled=Cancelled
invoices.status.corrected=Corrected
invoices.type.invoice=Invoice
invoices.type.cancellation=Cancellation invoice
invoices.type.correction=Correction document
invoices.action.view=View PDF
invoices.action.history=History
invoices.action.marksent=Mark as sent
invoices.action.correct=Correct
invoices.action.cancel=Cancel
invoices.notification.sent=Invoice marked as sent.
invoices.notification.cancelled=Cancellation document {0} created.
invoices.notification.corrected=Correction document {0} created.
invoices.notification.error=Action failed: {0}
invoices.cancel.title=Cancel invoice {0}
invoices.cancel.hint=The original invoice remains visible. A separate cancellation document with its own number will be created, explicitly referencing the original invoice.
invoices.cancel.reason=Reason for cancellation
invoices.cancel.reason.required=Please provide a reason.
invoices.cancel.confirm=Create cancellation document
invoices.correct.title=Correct invoice {0}
invoices.correct.hint=A correction document is intended for formal errors only (e.g. address, delivery date). The original invoice remains visible and the correction document refers to it explicitly.
invoices.correct.fields=Corrected information
invoices.correct.fields.helper=Describe which fields are added or replaced.
invoices.correct.fields.required=Please describe the corrected information.
invoices.correct.reason=Reason for correction
invoices.correct.confirm=Create correction document
invoices.history.title=History for invoice {0}
invoices.history.log=Audit log
invoices.history.empty=No entries available.
invoices.history.original=Original invoice
invoices.history.cancellation=Cancellation document
invoices.history.correction=Correction document
invoices.history.replacement=Replacement invoice
invoices.audit.action.created_draft=Draft created
invoices.audit.action.updated_draft=Draft updated
invoices.audit.action.issued=Issued
invoices.audit.action.sent=Sent
invoices.audit.action.cancelled=Cancelled
invoices.audit.action.corrected=Corrected
invoices.audit.action.replaced=Replaced by new invoice
invoices.audit.action.deleted_draft=Draft deleted
invoices.audit.action.payment_recorded=Payment recorded
invoices.audit.resulting=Resulting document: {0}
invoices.payment.unpaid=Open
invoices.payment.partially_paid=Partially paid
invoices.payment.paid=Paid
invoices.payment.overpaid=Overpaid
invoices.payment.refund_due=Refund due
invoices.action.payment=Record payment
invoices.action.export=Export
invoices.payment.title=Payment for invoice {0}
invoices.payment.hint=Outstanding balance: {0}. Negative amounts can be recorded for corrections.
invoices.payment.amount=Amount
invoices.payment.amount.required=Please enter a non-zero amount.
invoices.payment.reference=Payment reference (e.g. statement, booking ID)
invoices.payment.reason=Note
invoices.payment.confirm=Record payment
invoices.notification.payment=Payment recorded.

# My Invoices
myinvoices.title=Invoices
myinvoices.hint.noopen=You have no open invoices. All invoices have been paid.
myinvoices.bank.institute=Bank
myinvoices.bank.beneficiary=Beneficiary
myinvoices.bank.iban=IBAN
myinvoices.recipient.name=Customer
myinvoices.recipient.department=
myinvoices.item.description=Item: {0}
myinvoices.card.open=Open Invoices
myinvoices.card.bank=Bank Details
myinvoices.bank.reference=Payment Reference
myinvoices.section.title=All Invoices
myinvoices.filter.pagesize=Entries per Page
myinvoices.filter.search=Search
myinvoices.filter.search.placeholder=Search invoice number...
myinvoices.column.status=Status
myinvoices.column.number=Number
myinvoices.column.date=Date
myinvoices.column.amount=Amount
myinvoices.empty.title=No Invoices
myinvoices.empty.desc=No invoices were found.
myinvoices.button.prev=Previous
myinvoices.button.next=Next

# App User
appuser.title=App Users
appuser.button.add=Add App User
appuser.column.designation=Designation
appuser.column.firstname=First Name
appuser.column.lastname=Last Name
appuser.column.phone=Phone
appuser.column.appcode=App Code
appuser.column.email=Email

# Statistics
statistics.title=Statistics
statistics.subtitle=Ask questions about your jobs and customers
statistics.prompt.placeholder=Enter question...
statistics.quick.jobcount=Number of Jobs
statistics.quick.jobcount.prompt=How many jobs do I currently have?
statistics.quick.revenue=Revenue
statistics.quick.revenue.prompt=What is my revenue this month?
statistics.quick.trend=Trends
statistics.quick.trend.prompt=Show me trends from the last 3 months as a bar chart
statistics.ai.label=AI Response
statistics.data.fetched=Data has been retrieved
statistics.loading=Calculating...

# Job Status
jobstatus.IN_PROGRESS=In Progress
jobstatus.COMPLETED=Completed
jobstatus.CREATED=Created
jobstatus.CANCELLED=Cancelled

# Task Types
tasktype.CONFIRMATION=Confirmation
tasktype.SIGNATURE=Signature
tasktype.TODOLIST=To-Do List
tasktype.PHOTO=Photo
tasktype.BARCODE=Barcode
tasktype.COMMENT=Comment

# Password Reset
passwordreset.title=Reset Password
passwordreset.newpassword=New Password
passwordreset.confirmpassword=Confirm Password
passwordreset.button.submit=Save Password
passwordreset.button.cancel=Cancel
passwordreset.button.send=Send Email
passwordreset.notification.enterpassword=Please enter a new password
passwordreset.notification.mismatch=The passwords do not match
passwordreset.notification.success=Password has been changed successfully
passwordreset.notification.invalidtoken=Token invalid or expired
passwordreset.notification.entermail=Please enter email
passwordreset.notification.sent=If the email exists, a link has been sent
passwordreset.notification.wait=Please wait {0} seconds before resending the code

# Email
email.2fa.subject=Your VotianLT Verification Code
email.2fa.body=Your verification code is: {0}\n\nThis code is valid for 10 minutes.\nIf you did not request this registration, please ignore this email.

# Register
register.title=Registration
register.subtitle=Create your VotianLT account
register.email=Email Address
register.password=Password
register.password.placeholder=At least 6 characters
register.password.confirm=Confirm Password
register.password.confirm.placeholder=Repeat password
register.firstname=First Name
register.lastname=Last Name
register.phone=Phone Number
register.company=Company
register.street=Street
register.housenr=House No.
register.zip=Postal Code
register.city=City
register.code.label=Verification Code (6 digits)
register.code.placeholder=e.g. 123456
register.button.submit=Register
register.button.verify=Verify Code and Register
register.button.resend=Resend Code
register.button.back=Back to Home
register.notification.email.required=Please enter an email address
register.notification.email.invalid=Please enter a valid email address
register.notification.email.duplicate=A user with this email address already exists
register.notification.password.required=Please enter a password
register.notification.password.min=The password must be at least 6 characters long
register.notification.password.mismatch=The passwords do not match
register.notification.firstname.required=Please enter your first name
register.notification.lastname.required=Please enter your last name
register.notification.phone.required=Please enter your phone number
register.notification.company.required=Please enter the company name
register.notification.street.required=Please enter the street
register.notification.housenr.required=Please enter the house number
register.notification.zip.required=Please enter the postal code
register.notification.city.required=Please enter the city
register.notification.code.sent=A verification code has been sent to {0}
register.notification.code.emailerror=Error sending email: {0}
register.notification.code.expired=The code has expired. Please send a new code.
register.notification.code.invalid=The entered code is invalid
register.notification.code.startfirst=Please start the registration first
register.notification.code.required=Please enter the 6-digit code
register.notification.success=Registration successful. Please log in.
register.notification.failed=Registration failed: {0}

# Start Page
start.title=VotianLT - Your Digital Transport Partner
start.button.login=Log In
start.button.demo=Demo
start.button.register=Register
login.demo.only.button=Demo access is only available through the Demo button on the start page.
demo.session.active=Demo mode is already being used by another user. Please try again later.
demo.start.error=Demo mode could not be started.
start.button.createorder=Create Job
start.button.notifications=Notifications
start.button.nonotifications=No new notifications
start.hero.description=For solo self-employed and small business owners in the transport industry - fully digital and all-in-one. Focus on your business, we take care of the paperwork.
start.hero.demo.hint=Demo starts immediately with prepared sample data.
start.hero.trial.hint="Try now for free" creates your own account for the free trial month.
start.system.title=The System
start.system.intro=For solo self-employed and small business owners in the transport industry, it is crucial that they can primarily focus on their actual business: winning customers and delivering goods from A to B.
start.feature.setup.title=Setup Wizard
start.feature.setup.desc=With the setup wizard, you can complete your user profile.
start.feature.customers.title=Customer & Job Management
start.feature.customers.desc=With customer and job management, you always have all contact details and job details at a glance.
start.feature.jobs.title=Job Creation
start.feature.jobs.desc=Create jobs in the system with just a few clicks and assign which employee should handle which transport job.
start.app.title=The App
start.app.description=Every job can optionally be processed via the votianLT app \u2013 completely paperless. All relevant job information is delivered directly to the driver's smartphone.
start.imprint.title=Imprint
start.imprint.company=Assecutor Data Service GmbH
start.imprint.address=Ottensener Str. 8, 22525 Hamburg
start.imprint.phone=Phone: +49 40 18 123 771 0
start.imprint.email=Email: ahoi@assecutor.de
imprint.phone=Phone
imprint.email=Email
imprint.country=Germany
imprint.management=Management
imprint.registeredoffice=Registered Office
imprint.commercialregister=Commercial Register
imprint.vatid=VAT ID
imprint.imagecredits=Image Credits for Pictures and Graphics Used
imprint.backgroundimage=Homepage Background Image
start.cta.text=Register today and use the free trial month to put the system through its paces.
start.slogan=Run your business smart ... with votianLT!
start.version=Version

# Login View
login.2fa.title=2FA Code
login.2fa.button=Verify Code
login.votianlt=VotianLT
login.version=Version

# Message Details
messagedetails.button.send=Send
messagedetails.placeholder=Enter message...
messagedetails.noimage=(no image content)
messagedetails.imageerror=(Image could not be loaded)

# Invoice Generator
invoicegenerator.properties.title=Properties
invoicegenerator.properties.type=Type
invoicegenerator.fontsize.label=Font Size
invoicegenerator.color.label=Font Color
invoicegenerator.color.dialog.title=Choose Font Color
invoicegenerator.color.dialog.hex=Hex Color Value
invoicegenerator.button.cancel=Cancel
invoicegenerator.button.apply=Apply
invoicegenerator.button.delete=Delete Element
invoicegenerator.notification.color.applied=Color applied
invoicegenerator.upload.drop=Drag image here or click
invoicegenerator.upload.success=Image uploaded successfully
invoicegenerator.upload.error=Error uploading: {0}
invoicegenerator.file.rejected=File rejected: {0}
invoicegenerator.properties.select.info=Click on an element in the canvas to edit its properties.
invoicegenerator.template.vline=Vertical Line

# CSV Export
csv.header.customer=Client
csv.header.jobnumber=Job Number
csv.header.jobdate=Job Date
csv.header.destination=Destination
csv.filename=jobs.csv

# DatePicker I18n
datepicker.month.januar=January
datepicker.month.februar=February
datepicker.month.m\u00e4rz=March
datepicker.month.april=April
datepicker.month.mai=May
datepicker.month.juni=June
datepicker.month.juli=July
datepicker.month.august=August
datepicker.month.september=September
datepicker.month.oktober=October
datepicker.month.november=November
datepicker.month.dezember=December
datepicker.weekday.sonntag=Sunday
datepicker.weekday.montag=Monday
datepicker.weekday.dienstag=Tuesday
datepicker.weekday.mittwoch=Wednesday
datepicker.weekday.donnerstag=Thursday
datepicker.weekday.freitag=Friday
datepicker.weekday.samstag=Saturday
datepicker.weekdayshort.so=Sun
datepicker.weekdayshort.mo=Mon
datepicker.weekdayshort.di=Tue
datepicker.weekdayshort.mi=Wed
datepicker.weekdayshort.do=Thu
datepicker.weekdayshort.fr=Fri
datepicker.weekdayshort.sa=Sat

# Job History
jobhistory.status.pickupscheduled=Pickup Scheduled
jobhistory.status.pickedup=Picked Up
jobhistory.status.intransit=In Transit
jobhistory.status.delivered=Delivered
jobhistory.image.alt=Enlarged Photo
jobhistory.title=Job History
jobhistory.header=Job History for {0}
jobhistory.info.customer=Customer: {0}
jobhistory.info.createdat=Created on: {0}
jobhistory.info.status=Status: {0}
jobhistory.count={0} entries in history
jobhistory.changedby=Changed by: {0}
jobhistory.entry.create.reason=Job Created
jobhistory.entry.create.description=New job was created: {0}

# Version
version.label=Version

# Management Combo
management.placeholder=Management
management.customers=Customers
management.jobs=Jobs
management.companies=Companies

# User Menu
usermenu.profile=Show Profile
usermenu.settings=Settings
usermenu.logout=Log Out

# CTA Button
cta.freetest=Try for free now

# Miscellaneous
misc.toggle.hide=Hide
misc.toggle.show=Show
misc.nodata=No data available
misc.loading=Loading data...
misc.error=An error occurred
misc.retry=Retry

# Admin Price Table
adminpricetable.title=Price Table
adminpricetable.field.monthly=Monthly Base Package
adminpricetable.field.appuserfee=Fee per App User
adminpricetable.field.appuserfee.helper=Billed monthly per app user set up
adminpricetable.notification.saved=Price table has been saved
adminpricetable.notification.save.error=Error saving: {0}
adminpricetable.notification.load.error=Error loading: {0}

# Invoice generator - system template (invoices to users)
invoicegenerator.issuer.header=Invoice issuer
invoicegenerator.issuer.website=Website
invoicegenerator.issuer.senderline=Sender line
invoicegenerator.issuer.paymentterms=Payment terms
invoicegenerator.issuer.footer=Footer
invoicegenerator.issuer.invoicedate=Invoice date
invoicegenerator.recipient.header=Recipient (user)
invoicegenerator.recipient.company=User company
invoicegenerator.recipient.name=User name
invoicegenerator.recipient.street=User street
invoicegenerator.recipient.city=User city
invoicegenerator.recipient.email=User email
invoicegenerator.template.saved=Template saved
invoicegenerator.template.save.error=Error saving template: {0}
invoicegenerator.button.clear=Clear
invoicegenerator.notification.cleared=Canvas cleared
invoicegenerator.notification.canvas.error=Could not read canvas data
invoicegenerator.notification.preview.error=Preview error: {0}
invoicegenerator.pdf.preview.title=PDF preview

# Admin Dashboard - Customer overview
admindashboard.section.customers=Customers ({0})
admindashboard.customers.column.number=Customer number
admindashboard.customers.column.owner=User
admindashboard.customers.empty=No customers available
invoicegenerator.positions.header=Positions (price table)
invoicegenerator.positions.list=List positions
button.undo=Undo

# Admin profile (company data)
page.title.admin.profile=Edit company data
adminprofile.title=Company data
adminprofile.field.companyname=Company name
adminprofile.field.companysubtitle=Company addition
adminprofile.field.street=Street and number
adminprofile.field.city=ZIP and city
adminprofile.field.phone=Phone
adminprofile.field.fax=Fax
adminprofile.field.email=Email
adminprofile.field.website=Website
adminprofile.field.senderline=Sender line
adminprofile.field.senderline.helper=Single-line sender information above the recipient address on invoices
adminprofile.field.paymentterms=Payment terms
adminprofile.field.footer=Footer
adminprofile.field.footer.helper=Managing directors, tax number, bank details – each line appears as its own line on the invoice
adminprofile.notification.saved=Company data saved
adminprofile.notification.save.error=Error while saving: {0}
adminprofile.notification.load.error=Error while loading: {0}

# Create invoices (admin)
page.title.admin.createinvoices=Create invoices
admincreateinvoices.title=Create invoices
admincreateinvoices.hint=Invoices are due at the end of the month. If a customer starts mid-month, only the remaining days until the end of the month are billed.
admincreateinvoices.column.customer=Customer
admincreateinvoices.column.discount=Discount
admincreateinvoices.discount.position=Discount ({0}%)
admincreateinvoices.discount.dialog.title=Enter discount
admincreateinvoices.discount.dialog.percent=Discount in %
admincreateinvoices.discount.dialog.reason=Reason for the discount
admincreateinvoices.discount.dialog.apply=Apply
admincreateinvoices.column.start=Customer since
admincreateinvoices.column.days=Billed days
admincreateinvoices.column.due=Due on
admincreateinvoices.column.net=Net amount
admincreateinvoices.days.full=Full month
admincreateinvoices.days.partial={0} of {1} days
admincreateinvoices.prorata.suffix=(pro rata {0}/{1} days)
admincreateinvoices.appusers.suffix=({0} app users)
admincreateinvoices.button.create=Create invoice
admincreateinvoices.notification.notemplate=No invoice template available. Please save a template in the invoice generator first.
admincreateinvoices.notification.error=Error creating the invoice: {0}
admincreateinvoices.button.createselected=Create invoices ({0})
admincreateinvoices.field.month=Billing month
admincreateinvoices.filter.label=Show
admincreateinvoices.filter.all=All invoices
admincreateinvoices.filter.open=Only open
admincreateinvoices.filter.sent=Only sent
admincreateinvoices.dialog.title=Review invoices
admincreateinvoices.dialog.position=Invoice {0} of {1}
admincreateinvoices.dialog.button.previous=Back
admincreateinvoices.dialog.button.next=Next
admincreateinvoices.dialog.button.delete=Remove from list
admincreateinvoices.dialog.button.send=Send invoices
admincreateinvoices.pdf.button.send=Send
admincreateinvoices.dialog.notification.removed=Invoice removed from the list
admincreateinvoices.mail.subject=Your invoice {0}
admincreateinvoices.mail.body=Dear Sir or Madam,\n\nplease find attached your invoice {0} for the billing period {1}.\n\nKind regards\n{2}
admincreateinvoices.notification.sent={0} invoice(s) sent by email
admincreateinvoices.notification.sendfailed={0} invoice(s) could not be sent
admincreateinvoices.button.zugferd=E-invoice (ZIP)
admincreateinvoices.notification.zugferd.created=E-invoice {0} created
admincreateinvoices.notification.zugferd.invalid=E-invoice created, but validation failed. See the validation report in the ZIP file.
admincreateinvoices.notification.zugferd.error=Error creating the e-invoice: {0}
admincreateinvoices.notification.zugferd.nopositions=No billable positions available for the e-invoice
