refactor: Projektstruktur in app/ und backend/ aufgeteilt
This commit is contained in:
950
backend/src/main/resources/messages_en.properties
Normal file
950
backend/src/main/resources/messages_en.properties
Normal file
@@ -0,0 +1,950 @@
|
||||
# Common Dialog
|
||||
dialog.cancel=Cancel
|
||||
dialog.confirm=Confirm
|
||||
|
||||
# Navigation and Main Layout
|
||||
nav.jobs=Jobs
|
||||
nav.job.create=Create Job
|
||||
nav.customers=Customers
|
||||
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
|
||||
|
||||
# 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 (Login)*
|
||||
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.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
|
||||
|
||||
# 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=Customers
|
||||
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 Customer
|
||||
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=Customers
|
||||
customers.button.add=Add New Customer
|
||||
customers.hint.click=Click on a customer 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 Customer
|
||||
addcustomer.button.submit=Create Customer
|
||||
addcustomer.notification.validation=Please fill in all required fields
|
||||
addcustomer.notification.success=Customer created successfully
|
||||
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=Customer
|
||||
addjob.customer.placeholder=Select Customer
|
||||
addjob.customer.unnamed=Unnamed Customer
|
||||
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.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=Save Address
|
||||
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.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.noconfig=No configuration required
|
||||
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
|
||||
|
||||
# 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.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.
|
||||
|
||||
# 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
|
||||
|
||||
# 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
|
||||
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}
|
||||
|
||||
# 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.applicense=App Usage License
|
||||
adminpricetable.field.revenue=Revenue Share
|
||||
adminpricetable.notification.saved=Price table has been saved
|
||||
adminpricetable.notification.save.error=Error saving: {0}
|
||||
adminpricetable.notification.load.error=Error loading: {0}
|
||||
Reference in New Issue
Block a user