1455 lines
53 KiB
TypeScript
1455 lines
53 KiB
TypeScript
export default {
|
||
// ── Common / Global ──
|
||
common: {
|
||
cancel: 'Cancel',
|
||
save: 'Save',
|
||
saving: 'Saving...',
|
||
optional: 'optional',
|
||
select: 'Select',
|
||
},
|
||
landing: {
|
||
openGarage: 'Open Garage',
|
||
heroTitle: 'Digital Fleet',
|
||
heroTitleAccent: 'Management',
|
||
heroSubtitle: 'Real-time cost tracking, automatic notifications and gamified point system – all in one place.',
|
||
cardStats: 'Statistics',
|
||
cardStatsLabel: 'Managed Vehicles',
|
||
cardStatsValue: '1,245+',
|
||
cardGamification: 'Gamification',
|
||
cardGamificationLabel: 'Monthly Score',
|
||
cardCosts: 'Costs',
|
||
cardCostsFuel: 'Fuel',
|
||
cardCostsService: 'Service',
|
||
cardCostsTotal: 'Total',
|
||
cardCostsUnit: 'HUF',
|
||
},
|
||
menu: {
|
||
features: 'Features',
|
||
garage: 'Vehicles',
|
||
calendar: 'Service Calendar',
|
||
finance: 'Finance & Costs',
|
||
diagnostic: 'Live Diagnostics',
|
||
addVehicle: '+ Add New Vehicle',
|
||
},
|
||
header: {
|
||
welcome: 'Welcome',
|
||
userMenu: 'User menu',
|
||
profile: 'Profile Settings',
|
||
logout: 'Logout',
|
||
subtitle: 'Your dashboard and vehicle overview',
|
||
switchLanguage: 'Switch language',
|
||
close: 'Close',
|
||
noCompanies: 'No companies yet',
|
||
newCompany: '➕ New Company',
|
||
joinCompany: '🔗 Join Company',
|
||
createCompany: '➕ Create Company',
|
||
actions: 'Actions',
|
||
garageSelector: 'Garage Selector',
|
||
myCompany: '🏢 My Company',
|
||
myCompanies: '🏢 My Companies',
|
||
personalGarage: '👤 Personal Garage',
|
||
privateGarage: '👤 Private Garage',
|
||
company: '🏢 Company',
|
||
companyGarage: 'My Company Garage',
|
||
companyGarageLabel: '{name}_garage',
|
||
companyGarageFallback: 'Company_garage',
|
||
personalGarageLabel: '{name}_garage',
|
||
personalGarageFallback: 'User_garage',
|
||
companyPrefix: 'Company',
|
||
user: 'User',
|
||
welcomeCard: 'Welcome, {name}!',
|
||
language: 'Language',
|
||
regionSettings: 'Region Settings',
|
||
regionDescription: 'Date, time & currency format',
|
||
dashboard: 'Dashboard',
|
||
menu: 'Menu',
|
||
adminCenter: '🔐 Admin Center',
|
||
},
|
||
dashboard: {
|
||
loading: 'Loading...',
|
||
errorRetry: 'Retry',
|
||
statusActive: 'Active',
|
||
statusUnknown: 'Unknown',
|
||
condition: 'Condition',
|
||
mileage: 'km',
|
||
subtitle: 'Your dashboard and vehicle overview',
|
||
guest: 'Guest',
|
||
// Bento Box layout
|
||
myVehicles: 'My Vehicles',
|
||
vehicles: 'vehicles',
|
||
noVehicles: 'No vehicles yet. Add your first one!',
|
||
activeProcesses: 'Active Processes / Notifications',
|
||
noNotifications: 'All clear — no notifications',
|
||
totalVehicles: 'Total Vehicles',
|
||
addVehicle: '+ Add Vehicle',
|
||
refresh: 'Refresh',
|
||
statsAndPoints: 'Statistics & Points',
|
||
live: 'LIVE',
|
||
monthlyScore: 'Monthly Score',
|
||
totalKm: 'Total Distance',
|
||
fuelCost: 'Fuel Cost',
|
||
serviceCost: 'Service Cost',
|
||
co2Savings: 'CO₂ Savings',
|
||
achievements: 'Achievements',
|
||
detailedView: 'Detailed View',
|
||
modalPlaceholder: 'Content for this section will be available soon.',
|
||
},
|
||
finance: {
|
||
wallet: 'Wallet',
|
||
totalCredits: 'Total Credits',
|
||
purchased: 'Purchased',
|
||
bonus: 'Bonus',
|
||
earned: 'Earned',
|
||
voucher: 'Voucher',
|
||
topUp: 'Top Up',
|
||
live: 'LIVE',
|
||
retry: 'Retry',
|
||
// WalletDetailsModal keys
|
||
walletDetails: 'Wallet Details',
|
||
walletBreakdown: 'Balance Breakdown',
|
||
topUpWallet: 'Purchased',
|
||
referralRewards: 'Earned',
|
||
rewards: 'Bonus',
|
||
activeVouchers: 'Voucher',
|
||
totalBalance: 'Total Credits',
|
||
requestPayout: 'Request Payout',
|
||
transactionHistory: 'Transaction History',
|
||
all: 'All',
|
||
noTransactions: 'No transactions',
|
||
// Cost Manager keys
|
||
costManager: 'Cost Manager',
|
||
manageAllCosts: 'Manage All Costs',
|
||
costDate: 'Date',
|
||
costType: 'Type',
|
||
costAmount: 'Amount',
|
||
costVehicle: 'Vehicle',
|
||
costDescription: 'Description',
|
||
noCosts: 'No costs found',
|
||
costManagerDescription: 'Overview of all costs across your vehicles',
|
||
payoutComingSoon: 'Payout feature coming soon!',
|
||
},
|
||
zen: {
|
||
hide: 'Hide UI (Zen mode)',
|
||
show: 'Show UI',
|
||
},
|
||
auth: {
|
||
invalid_credentials: 'Invalid email or password.',
|
||
user_inactive: 'Your account is not activated yet. Please verify your email!',
|
||
forgotPasswordMessage: 'The password reset feature is under development. Please contact the administrator!',
|
||
// Resend verification
|
||
resendTitle: 'Resend Activation Email',
|
||
resendDescription: 'Enter your email address and we will resend the activation link.',
|
||
resendButton: 'Send Email',
|
||
resend_cooldown: 'Resend ({seconds}s)',
|
||
send_email: 'Send Email',
|
||
resendSuccess: 'The activation email has been sent! Check your folders (including Spam).',
|
||
resendLink: 'Didn\'t receive the activation email?',
|
||
backToLogin: 'Back to Login',
|
||
// Login view
|
||
loginTitle: 'Login to Garage',
|
||
loginButton: 'Login',
|
||
loginLoading: 'Please wait...',
|
||
forgotPassword: 'Forgot your password?',
|
||
rememberMe: 'Remember me',
|
||
noAccount: 'Don\'t have a garage yet?',
|
||
registerLink: 'Register',
|
||
// Register view
|
||
registerTitle: 'Open New Garage',
|
||
registerButton: 'Register',
|
||
haveAccount: 'Already have a garage?',
|
||
loginLink: 'Login',
|
||
// Forgot password view
|
||
forgotTitle: 'Request New Password',
|
||
forgotDescription: 'Enter your email address and we will send you a security link.',
|
||
forgotSuccess: 'The reset link has been sent to your email!',
|
||
forgotSendButton: 'Send Link',
|
||
// Inactive user in forgot flow
|
||
inactiveMessage: 'Your account is not activated yet! Please activate using the link in the email, or request a new activation email.',
|
||
resendActivationButton: 'Resend Activation Email',
|
||
resendActivationSuccess: 'The activation email has been resent!',
|
||
// Social login
|
||
socialDivider: 'Or login with Social account',
|
||
// Errors
|
||
loginFailed: 'Login failed. Please check your credentials.',
|
||
registerFailed: 'Registration failed.',
|
||
resendFailed: 'Resend failed. Please try again later.',
|
||
forgotFailed: 'An error occurred while sending the request. Please try again.',
|
||
// Account Restore (30-day)
|
||
restoreLink: 'Restore deleted account',
|
||
restoreTitle: 'Restore Deleted Account',
|
||
restoreStep1: 'Enter your email address to request a restoration code.',
|
||
restoreStep2: 'Enter the received code and your new password.',
|
||
restoreEmailLabel: 'Email Address',
|
||
restoreSendCode: 'Send Restoration Code',
|
||
restoreOtpLabel: 'Restoration Code (6 digits)',
|
||
restoreNewPassword: 'New Password',
|
||
restoreVerifyButton: 'Restore Account',
|
||
restoreSuccess: 'Your account has been successfully restored! Auto-logging in...',
|
||
restoreError: 'Restoration failed. Please try again.',
|
||
restoreNotFound: 'No deleted account found with this email address.',
|
||
restoreCodeSent: 'The restoration code has been sent to your email!',
|
||
},
|
||
profile: {
|
||
title: 'Profile Settings',
|
||
loading: 'Loading profile data...',
|
||
completion: 'Profile Completion',
|
||
accountInfo: 'Account Info',
|
||
email: 'Email',
|
||
phone: 'Phone Number',
|
||
edit: 'Edit',
|
||
cancel: 'Cancel',
|
||
save: 'Save',
|
||
changePassword: 'Change Password',
|
||
// Tabs
|
||
tabPersonal: 'Personal & Address',
|
||
tabDocs: 'Documents & Emergency',
|
||
// Personal data
|
||
personalData: 'Personal Data (KYC)',
|
||
lastName: 'Last Name',
|
||
firstName: 'First Name',
|
||
birthPlace: 'Place of Birth',
|
||
birthDate: 'Date of Birth',
|
||
mothersLastName: 'Mother\'s Last Name',
|
||
mothersFirstName: 'Mother\'s First Name',
|
||
// Address
|
||
addressTitle: 'Address Data',
|
||
zipCode: 'ZIP Code',
|
||
city: 'City',
|
||
street: 'Street',
|
||
streetType: 'Street Type',
|
||
houseNumber: 'House Number',
|
||
stairwell: 'Stairwell',
|
||
floor: 'Floor',
|
||
door: 'Door',
|
||
parcelId: 'Parcel ID',
|
||
hrsz: 'Parcel No.',
|
||
selectPlaceholder: 'Select...',
|
||
// Identity docs
|
||
identityDocs: 'Documents (Identity Docs)',
|
||
idCard: 'ID Card (ID_CARD)',
|
||
drivingLicense: 'Driving License (LICENSE)',
|
||
docNumber: 'Number',
|
||
docExpiry: 'Expiry',
|
||
categories: 'Categories',
|
||
number: 'Number:',
|
||
expiry: 'Expiry:',
|
||
categoriesLabel: 'Categories:',
|
||
// ICE contact
|
||
iceTitle: 'Emergency Contact (ICE)',
|
||
iceName: 'Name',
|
||
iceRelation: 'Relation',
|
||
icePhone: 'Phone Number',
|
||
iceEmail: 'Email Address',
|
||
iceNameLabel: 'Name:',
|
||
iceRelationLabel: 'Relation:',
|
||
icePhoneLabel: 'Phone:',
|
||
iceEmailLabel: 'Email:',
|
||
// Password modal
|
||
passwordTitle: 'Change Password',
|
||
currentPassword: 'Current Password',
|
||
newPassword: 'New Password',
|
||
confirmPassword: 'Confirm New Password',
|
||
passwordRequired: 'All fields are required.',
|
||
passwordMismatch: 'The new password and confirmation do not match.',
|
||
passwordMinLength: 'The new password must be at least 6 characters long.',
|
||
passwordChanged: 'Password successfully changed!',
|
||
passwordChangeFailed: 'Password change failed.',
|
||
// Save messages
|
||
saveSuccess: 'Profile data and documents updated successfully!',
|
||
saveError: 'An error occurred while saving.',
|
||
// Regional settings tab
|
||
tabRegional: 'Regional Settings',
|
||
regionalLanguage: 'Language',
|
||
regionalDateFormat: 'Date Format',
|
||
regionalCurrency: 'Currency',
|
||
dateFormatHU: 'YYYY. MM. DD.',
|
||
dateFormatISO: 'YYYY-MM-DD',
|
||
currencyHUF: 'HUF (Ft)',
|
||
currencyEUR: 'EUR (€)',
|
||
currencyUSD: 'USD ($)',
|
||
// Delete Account
|
||
deleteAccount: 'Delete Account',
|
||
deleteAccountConfirm: 'Are you sure you want to delete your account?',
|
||
deleteAccountWarning: 'Are you sure you want to delete your account? This action is permanent and cannot be undone.',
|
||
deleteAccountReason: 'Why do you want to delete your account? (optional)',
|
||
deleteAccountButton: 'Yes, delete my account',
|
||
deleteAccountCancel: 'Cancel',
|
||
deleteSuccess: 'Your account has been successfully deleted. Redirecting...',
|
||
deleteError: 'An error occurred while deleting your account.',
|
||
// Last Admin Warning
|
||
lastAdminWarningTitle: '⚠️ Last Admin Warning',
|
||
lastAdminWarning: 'Warning! You are the last active administrator of your company. Deleting your account will put company data and fleet into passive (orphan) state!',
|
||
// Back
|
||
backToGarage: 'Back to Garage',
|
||
// Diagnostic
|
||
xray: '🩻 X-RAY: person (address_* fields)',
|
||
},
|
||
kyc: {
|
||
title: 'Garage Activation — Complete Your Account',
|
||
stepAddress: 'Address',
|
||
stepExtras: 'Extras',
|
||
// Step 1
|
||
addressTitle: '📍 Address Data',
|
||
addressDescription: 'ZIP code and city are required to activate your account.',
|
||
softKyc: '(Soft KYC)',
|
||
country: 'Country',
|
||
zipCode: 'ZIP Code',
|
||
city: 'City',
|
||
optionalAddress: '📝 Additional Address Details (optional)',
|
||
streetName: 'Street Name',
|
||
streetType: 'Type',
|
||
houseNumber: 'House Number',
|
||
// Step 2
|
||
extrasTitle: '🔧 Additional Data',
|
||
extrasDescription: 'You can provide these details later in your profile.',
|
||
extrasOptional: '(All optional)',
|
||
phoneNumber: '📞 Phone Number',
|
||
documentsTitle: '🪪 Document Details (optional)',
|
||
idCard: 'ID Card',
|
||
drivingLicense: 'Driving License',
|
||
docNumber: 'Document Number',
|
||
docExpiry: 'Expiry',
|
||
language: '🌐 Language',
|
||
currency: '💰 Currency',
|
||
// Navigation
|
||
back: 'Back',
|
||
next: 'Next',
|
||
submitting: 'Processing...',
|
||
submit: 'Activate Garage 🚀',
|
||
skip: 'Skip, I\'ll fill it in later in my profile →',
|
||
// Validation
|
||
zipRequired: 'Please enter the ZIP code.',
|
||
cityRequired: 'Please enter the city.',
|
||
addressRequired: 'Address is required to activate your garage.',
|
||
// Errors
|
||
submitError: 'Garage activation failed. Please try again.',
|
||
},
|
||
verifyEmail: {
|
||
verifying: 'Activating account...',
|
||
verifyingDesc: 'Please wait while we verify the confirmation link.',
|
||
success: 'Successful activation and login!',
|
||
successDesc: 'Your account is now active and you are automatically logged in.',
|
||
redirectCountdown: 'Redirecting in {seconds} seconds...',
|
||
redirectNow: 'Redirecting...',
|
||
goToProfile: 'Go to Profile',
|
||
checkEmail: '📧 Check your email inbox',
|
||
checkEmailDesc: 'We have sent you a confirmation email. Please <strong>check your inbox and spam folder</strong>.<br><br>If the email <strong>does not arrive within 10 minutes</strong>, you can request a new one by clicking the button below.',
|
||
emailLabel: 'Email Address',
|
||
emailPlaceholder: 'example@email.com',
|
||
resendButton: 'I didn\'t receive the email, resend it',
|
||
resending: 'Sending...',
|
||
resendSuccess: 'The new confirmation email has been sent!',
|
||
resendFailed: 'Resend failed. Please try again later.',
|
||
backToLogin: '← Back to Login',
|
||
tokenExpired: 'The link has expired or is invalid.',
|
||
},
|
||
company: {
|
||
// CompanyGarageView
|
||
garageTitle: 'Company Garage',
|
||
user: 'User',
|
||
// Dashboard cards
|
||
fleetTitle: 'Fleet Overview',
|
||
fleetVehicles: 'Managed vehicles: {count}',
|
||
fleetActive: 'Active',
|
||
fleetInactive: 'Inactive',
|
||
gamificationTitle: 'Gamification',
|
||
gamificationScore: 'Monthly Score: {score}',
|
||
quickActionsTitle: 'Quick Actions',
|
||
quickNewWaybill: 'New Waybill',
|
||
quickReportIssue: 'Report Issue',
|
||
// Organization Settings
|
||
companyDataTitle: 'Company Data',
|
||
companyDataMenu: 'Company Data',
|
||
close: 'Close',
|
||
settingsTitle: 'Company Settings',
|
||
settingsDescription: 'Edit company details',
|
||
settingsModalTitle: 'Edit Company Details',
|
||
settingsName: 'Company Name (short)',
|
||
settingsFullName: 'Full Company Name',
|
||
settingsTaxNumber: 'Tax Number',
|
||
settingsDisplayName: 'Display Name',
|
||
settingsAddressZip: 'ZIP Code',
|
||
settingsAddressCity: 'City',
|
||
settingsAddressStreet: 'Street',
|
||
settingsAddressHouseNumber: 'House Number',
|
||
settingsSaveSuccess: 'Company details updated successfully!',
|
||
settingsSaveError: 'Error saving company details.',
|
||
// CompanyOnboardingView
|
||
onboardingTitle: 'Company Registration — 3 simple steps',
|
||
stepLegal: 'Company Data',
|
||
stepAddress: 'Address',
|
||
stepContact: 'Contact',
|
||
// Step 1
|
||
legalTitle: '⚖️ Legal Data',
|
||
legalDescription: 'Enter your company\'s tax number, then click <strong>Load Company Data</strong> for automatic filling.',
|
||
taxNumber: 'Tax Number',
|
||
taxLookup: 'Load Company Data',
|
||
taxLookupTitle: 'Load company data by tax number',
|
||
fullName: 'Full Company Name',
|
||
shortName: 'Short Name',
|
||
displayName: 'Display Name',
|
||
regNumber: 'Registration Number',
|
||
// Step 2
|
||
addressTitle: '📍 Address & Finance',
|
||
addressDescription: 'Company headquarters address and default financial settings.',
|
||
country: 'Country',
|
||
language: 'Language',
|
||
currency: 'Currency',
|
||
zipCode: 'ZIP Code',
|
||
city: 'City',
|
||
streetName: 'Street Name',
|
||
streetType: 'Type',
|
||
houseNumber: 'House Number',
|
||
stairwell: 'Stairwell',
|
||
floor: 'Floor',
|
||
door: 'Door',
|
||
parcelId: 'Parcel ID',
|
||
// Step 3
|
||
contactTitle: '📞 Contact',
|
||
contactDescription: 'Primary contact details (the logged-in user) cannot be modified.',
|
||
contactName: 'Contact Name',
|
||
contactEmail: 'Email Address',
|
||
contactPhone: 'Phone Number',
|
||
// Navigation
|
||
cancel: 'Cancel',
|
||
back: 'Back',
|
||
next: 'Next',
|
||
submitting: 'Creating...',
|
||
submit: 'Create Company 🚀',
|
||
// Validation
|
||
taxRequired: 'Please enter the tax number.',
|
||
fullNameRequired: 'Please enter the full company name.',
|
||
shortNameRequired: 'Please enter the short name.',
|
||
displayNameRequired: 'Please enter the display name.',
|
||
regNumberRequired: 'Please enter the registration number.',
|
||
zipRequired: 'Please enter the ZIP code.',
|
||
cityRequired: 'Please enter the city.',
|
||
emailRequired: 'Please enter the primary email address.',
|
||
phoneRequired: 'Please enter the primary phone number.',
|
||
// Errors
|
||
lookupError: 'Failed to load company data. Please check the tax number.',
|
||
duplicateCompany: 'This company is already registered in the system.',
|
||
submitError: 'Company creation failed. Please try again.',
|
||
// Success
|
||
successMessage: 'Company created successfully! Redirecting to garage...',
|
||
// Smart Company Claiming / Joining
|
||
activeExistsPanel: 'This company is already registered in the system.',
|
||
joinRequestButton: 'Send Join Request',
|
||
joinRequestSent: 'Your join request has been sent to the company administrator!',
|
||
orphanedPanel: 'This company was previously registered but is currently inactive. You can claim it.',
|
||
claimRequestButton: 'Request Company Claim',
|
||
claimCodeSent: 'The claim code has been sent to the company\'s official email!',
|
||
claimVerifyTitle: 'Verify Claim',
|
||
claimOtpLabel: 'Claim Code (6 digits)',
|
||
claimVerifyButton: 'Confirm Claim',
|
||
claimSuccess: 'Company successfully assigned to your account!',
|
||
claimError: 'Claim failed. Please try again.',
|
||
manualFallbackTitle: '📄 Manual Claim (Upload Documents)',
|
||
manualFallbackDescription: 'If none of the above options work, upload documents (e.g., court ruling, signature specimen) for manual admin approval.',
|
||
uploadDocumentLabel: 'Upload Document',
|
||
uploadDocumentButton: 'Choose File',
|
||
manualSubmitButton: 'Submit Claim',
|
||
manualSubmitSuccess: 'Your request has been submitted for admin approval!',
|
||
domainMismatch: 'Your email domain does not match the company\'s domain. Please use the manual claim option.',
|
||
},
|
||
organization: {
|
||
backToPrivate: '⬅️ Back to Private Garage',
|
||
fallbackName: 'Company Garage',
|
||
},
|
||
address: {
|
||
stairwell: 'Stairwell: {value}',
|
||
floor: 'Floor: {value}',
|
||
door: 'Door: {value}',
|
||
hrsz: 'Parcel No.: {value}',
|
||
placeholder: '—',
|
||
},
|
||
servicebook: {
|
||
tabLabel: 'Service Book',
|
||
noEvents: 'No service events recorded yet.',
|
||
addEvent: 'Add Event',
|
||
cancel: 'Cancel',
|
||
saving: 'Saving...',
|
||
eventDate: 'Event Date',
|
||
odometer: 'Odometer (km)',
|
||
eventType: 'Event Type',
|
||
description: 'Description',
|
||
descriptionPlaceholder: 'Describe the service or repair...',
|
||
eventTypes: {
|
||
SERVICE: 'Service',
|
||
REPAIR: 'Repair',
|
||
ACCIDENT: 'Accident',
|
||
INSPECTION: 'Inspection',
|
||
TIRE_CHANGE: 'Tire Change',
|
||
MAINTENANCE: 'Maintenance',
|
||
UPGRADE: 'Upgrade',
|
||
RECALL: 'Recall',
|
||
},
|
||
eventSaved: 'Service event saved successfully!',
|
||
eventSaveError: 'Failed to save service event.',
|
||
loadError: 'Failed to load service events.',
|
||
atOdometer: 'at {km} km',
|
||
costAmount: 'Cost (optional)',
|
||
costPlaceholder: 'Enter amount...',
|
||
},
|
||
|
||
// ── Vehicle ──────────────────────────────────────────────────────
|
||
vehicle: {
|
||
edit_title: 'Edit Vehicle',
|
||
add_title: 'Add New Vehicle',
|
||
features_hint: 'Select the vehicle equipment and extra options.',
|
||
// Fuel types
|
||
fuelTypes: {
|
||
benzin: 'Petrol',
|
||
diesel: 'Diesel',
|
||
electric: 'Electric',
|
||
hybrid: 'Hybrid',
|
||
plugin_hybrid: 'Plug-in Hybrid',
|
||
lpg: 'LPG',
|
||
cng: 'CNG',
|
||
hydrogen: 'Hydrogen',
|
||
ethanol: 'Ethanol',
|
||
},
|
||
// Vehicle classes
|
||
classes: {
|
||
personal: 'Personal',
|
||
motorcycle: 'Motorcycle',
|
||
lcv: 'Light Commercial',
|
||
hgv: 'Heavy Duty',
|
||
machine: 'Construction Machine',
|
||
bus: 'Bus',
|
||
camper: 'Camper / Caravan',
|
||
trailer: 'Trailer',
|
||
boat: 'Boat',
|
||
other: 'Other',
|
||
},
|
||
// AC types
|
||
acTypes: {
|
||
manual: 'Manual',
|
||
automatic: 'Automatic',
|
||
dual_zone: 'Dual Zone',
|
||
tri_zone: 'Tri Zone',
|
||
quad_zone: 'Quad Zone',
|
||
},
|
||
// Cylinder layouts
|
||
cylinderLayouts: {
|
||
inline: 'Inline',
|
||
v: 'V-Configuration',
|
||
boxer: 'Boxer',
|
||
w: 'W-Configuration',
|
||
rotary: 'Rotary (Wankel)',
|
||
},
|
||
// Placeholders
|
||
placeholder_brand: 'BMW, Toyota, ...',
|
||
placeholder_model: 'X5, Corolla, ...',
|
||
placeholder_year: '2024',
|
||
placeholder_trim: 'e.g. Comfort, Sport, ...',
|
||
placeholder_name: 'e.g. Black Beauty',
|
||
placeholder_mileage: '0',
|
||
placeholder_custom_class: 'e.g. Quad, Segway, Golf Cart',
|
||
placeholder_engine_capacity: '1995',
|
||
placeholder_power_kw: '150',
|
||
placeholder_torque_nm: '320',
|
||
placeholder_type_designation: 'e.g. GTI, M Sport, AMG',
|
||
placeholder_curb_weight: '1500',
|
||
placeholder_max_weight: '2200',
|
||
placeholder_battery_capacity: '50',
|
||
placeholder_range: '400',
|
||
placeholder_color: 'e.g. Black, White',
|
||
placeholder_notes: 'e.g. Service history, notes...',
|
||
placeholder_final_mileage: '0',
|
||
// Extra labels
|
||
label_custom_class: 'Please specify the vehicle type',
|
||
label_dates_section: 'Dates',
|
||
label_first_registration: 'First Registration Date',
|
||
label_next_mot: 'Next MOT Expiry',
|
||
label_insurance_expiry: 'Insurance Expiry',
|
||
label_purchase_date: 'Purchase Date',
|
||
label_color: 'Color',
|
||
label_cylinder_count: 'Number of Cylinders',
|
||
label_battery_capacity: 'Battery Capacity (kWh)',
|
||
label_range: 'Range (km)',
|
||
label_ac_connector: 'AC Charging Connector',
|
||
label_dc_connector: 'DC Fast Charging Connector',
|
||
label_final_mileage: 'Final Odometer Reading',
|
||
label_archive_reason: 'Archive Reason',
|
||
// Danger zone
|
||
danger_zone: 'Danger Zone',
|
||
danger_zone_desc: 'Permanently remove the vehicle from the garage. This action cannot be undone!',
|
||
remove_vehicle: 'Remove Vehicle',
|
||
confirm_archive_title: 'Confirm Vehicle Archival',
|
||
confirm_archive_desc: 'The vehicle will be permanently removed from the garage. This action cannot be undone!',
|
||
confirm_archive: 'Permanent Removal',
|
||
archive_reason_sold: 'Sold',
|
||
archive_reason_scrapped: 'Scrapped',
|
||
archive_reason_stolen: 'Stolen',
|
||
archive_reason_transferred: 'Transferred to new owner',
|
||
archive_reason_other: 'Other',
|
||
// Drive types
|
||
driveTypes: {
|
||
fwd: 'Front-Wheel Drive (FWD)',
|
||
rwd: 'Rear-Wheel Drive (RWD)',
|
||
awd: 'All-Wheel Drive (AWD)',
|
||
'4wd': '4-Wheel Drive (4WD)',
|
||
chain: 'Chain',
|
||
shaft: 'Shaft',
|
||
belt: 'Belt',
|
||
},
|
||
// Transmission types
|
||
transmissionTypes: {
|
||
manual: 'Manual',
|
||
automatic: 'Automatic',
|
||
sequential: 'Sequential',
|
||
cvt: 'CVT (Continuously Variable)',
|
||
semi_auto: 'Semi-Automatic',
|
||
dct: 'DCT (Dual Clutch)',
|
||
manual_sequential: 'Manual (Sequential)',
|
||
},
|
||
// Body types
|
||
bodyTypes: {
|
||
sedan: 'Sedan',
|
||
hatchback: 'Hatchback',
|
||
wagon: 'Estate / Wagon',
|
||
estate: 'Estate / Wagon',
|
||
coupe: 'Coupé',
|
||
convertible: 'Convertible',
|
||
suv: 'SUV',
|
||
mpv: 'MPV',
|
||
pickup: 'Pickup',
|
||
van: 'Van',
|
||
},
|
||
// Labels
|
||
label_drive_type: 'Drive Type',
|
||
label_transmission: 'Transmission',
|
||
label_body_type: 'Body Type',
|
||
label_engine: 'Engine',
|
||
label_vin: 'VIN (Chassis Number)',
|
||
label_mileage: 'Current Mileage',
|
||
label_fuel_type: 'Fuel Type',
|
||
label_trim_level: 'Trim Level',
|
||
label_condition: 'Condition',
|
||
label_features: 'Features / Equipment',
|
||
label_dates: 'Dates',
|
||
label_mot_expiry: 'MOT Expiry',
|
||
label_document_expiry: 'Document Expiry',
|
||
label_reg_cert_number: 'Registration Certificate Number',
|
||
label_title_cert_number: 'Title Certificate Number',
|
||
label_documents: 'Documents',
|
||
label_ev_section: 'Electric Drive / Battery',
|
||
label_engine_capacity: 'Engine Capacity (cm³)',
|
||
label_power_kw: 'Power (kW)',
|
||
label_torque_nm: 'Torque (Nm)',
|
||
label_curb_weight: 'Curb Weight (kg)',
|
||
label_max_weight: 'Max Gross Weight (kg)',
|
||
label_type_designation: 'Type Designation',
|
||
label_ac_type: 'Air Conditioning',
|
||
label_cylinder_layout: 'Cylinder Layout',
|
||
label_door_count: 'Number of Doors',
|
||
label_seat_count: 'Number of Seats',
|
||
label_condition_select: 'Condition',
|
||
label_notes: 'Notes',
|
||
label_vehicle_class: 'Category',
|
||
label_license_plate: 'License Plate',
|
||
label_brand: 'Brand',
|
||
label_model: 'Model',
|
||
label_year: 'Year',
|
||
label_name: 'Nickname',
|
||
// Warranty
|
||
warranty_section_title: 'Warranty / Guarantee',
|
||
label_is_under_warranty: 'Valid Warranty',
|
||
label_warranty_expiry_date: 'Warranty Expiry Date',
|
||
// Tab labels
|
||
tab_basic: 'Basic Data',
|
||
tab_technical: 'Technical',
|
||
tab_administration: 'Administration',
|
||
tab_equipment: 'Equipment',
|
||
// Accordion labels
|
||
accordion_technical_features: 'Technical Features',
|
||
accordion_interior_features: 'Interior',
|
||
accordion_exterior_features: 'Exterior',
|
||
accordion_multimedia_features: 'Multimedia',
|
||
accordion_other_features: 'Other',
|
||
// Save button
|
||
save_changes: 'Save Changes',
|
||
add_vehicle: 'Add Vehicle',
|
||
saving: 'Saving...',
|
||
// Validation
|
||
required_fields_hint: 'Please fill in the required fields',
|
||
// Condition options
|
||
condition_excellent: 'Excellent',
|
||
condition_good: 'Good',
|
||
condition_fair: 'Fair',
|
||
condition_poor: 'Poor',
|
||
// Feature categories
|
||
featureCategories: {
|
||
technical: 'Technical',
|
||
interior: 'Interior',
|
||
exterior: 'Exterior',
|
||
multimedia: 'Multimedia',
|
||
other: 'Other',
|
||
},
|
||
// Features (extras)
|
||
features: {
|
||
abs: 'ABS',
|
||
esp: 'ESP (Electronic Stability)',
|
||
traction_control: 'Traction Control (TCS)',
|
||
hill_assist: 'Hill Start Assist',
|
||
hill_descent: 'Hill Descent Control',
|
||
lane_assist: 'Lane Keep Assist',
|
||
blind_spot: 'Blind Spot Monitor',
|
||
adaptive_cruise: 'Adaptive Cruise Control (ACC)',
|
||
parking_sensors_front: 'Front Parking Sensors',
|
||
parking_sensors_rear: 'Rear Parking Sensors',
|
||
rear_camera: 'Rear View Camera',
|
||
'360_camera': '360° Camera',
|
||
auto_parking: 'Auto Parking Assist',
|
||
start_stop: 'Start-Stop System',
|
||
keyless_go: 'Keyless Go',
|
||
night_vision: 'Night Vision',
|
||
traffic_sign_recognition: 'Traffic Sign Recognition',
|
||
driver_alert: 'Driver Alert',
|
||
emergency_brake: 'Emergency Brake Assist',
|
||
cross_traffic_alert: 'Cross Traffic Alert',
|
||
leather_seats: 'Leather Seats',
|
||
heated_seats_front: 'Front Heated Seats',
|
||
heated_seats_rear: 'Rear Heated Seats',
|
||
ventilated_seats: 'Ventilated Seats',
|
||
massage_seats: 'Massage Seats',
|
||
electric_seats: 'Electric Seat Adjustment',
|
||
memory_seats: 'Memory Seats',
|
||
sport_seats: 'Sport Seats',
|
||
heated_steering: 'Heated Steering Wheel',
|
||
ambient_lighting: 'Ambient Lighting',
|
||
panoramic_roof: 'Panoramic Roof',
|
||
sunroof: 'Sunroof',
|
||
auto_dim_mirror: 'Auto-Dimming Mirror',
|
||
electric_steering_adjust: 'Electric Steering Adjustment',
|
||
rear_blind: 'Rear Blind',
|
||
rear_side_blinds: 'Rear Side Blinds',
|
||
digital_instrument_cluster: 'Digital Instrument Cluster',
|
||
head_up_display: 'Head-Up Display (HUD)',
|
||
alloy_wheels: 'Alloy Wheels',
|
||
roof_rails: 'Roof Rails',
|
||
tow_bar: 'Tow Bar',
|
||
tinted_windows: 'Tinted Windows',
|
||
privacy_glass: 'Privacy Glass',
|
||
led_headlights: 'LED Headlights',
|
||
adaptive_headlights: 'Adaptive Headlights (AFS)',
|
||
fog_lights: 'Fog Lights',
|
||
cornering_lights: 'Cornering Lights',
|
||
rain_sensor: 'Rain Sensor',
|
||
light_sensor: 'Light Sensor',
|
||
auto_wipers: 'Auto Wipers',
|
||
electric_trunk: 'Electric Trunk',
|
||
hands_free_trunk: 'Hands-Free Trunk',
|
||
side_steps: 'Side Steps',
|
||
mudguards: 'Mudguards',
|
||
navigation: 'Navigation (GPS)',
|
||
apple_carplay: 'Apple CarPlay',
|
||
android_auto: 'Android Auto',
|
||
bluetooth: 'Bluetooth',
|
||
usb_charging: 'USB Charging',
|
||
wireless_charging: 'Wireless Charging',
|
||
dab_radio: 'DAB+ Digital Radio',
|
||
premium_sound: 'Premium Sound System',
|
||
subwoofer: 'Subwoofer',
|
||
rear_entertainment: 'Rear Entertainment',
|
||
wifi_hotspot: 'WiFi Hotspot',
|
||
voice_control: 'Voice Control',
|
||
gesture_control: 'Gesture Control',
|
||
spare_tire: 'Spare Tire',
|
||
tire_repair_kit: 'Tire Repair Kit',
|
||
first_aid_kit: 'First Aid Kit',
|
||
warning_triangle: 'Warning Triangle',
|
||
fire_extinguisher: 'Fire Extinguisher',
|
||
winter_tires: 'Winter Tires',
|
||
cargo_net: 'Cargo Net',
|
||
cargo_cover: 'Cargo Cover',
|
||
pet_barrier: 'Pet Barrier',
|
||
roof_box: 'Roof Box',
|
||
bike_rack: 'Bike Rack',
|
||
ski_rack: 'Ski Rack',
|
||
airbag_front: 'Front Airbag',
|
||
electric_windows: 'Electric Windows',
|
||
// ── Missing keys from Vue template ──
|
||
hill_start_assist: 'Hill Start Assist',
|
||
hill_descent_control: 'Hill Descent Control',
|
||
cruise_control: 'Cruise Control',
|
||
adaptive_cruise_control: 'Adaptive Cruise Control',
|
||
rear_view_camera: 'Rear View Camera',
|
||
auto_hold: 'Auto Hold',
|
||
airbag_driver: 'Driver Airbag',
|
||
airbag_passenger: 'Passenger Airbag',
|
||
airbag_side: 'Side Airbag',
|
||
airbag_curtain: 'Curtain Airbag',
|
||
isofix: 'ISOFIX',
|
||
tpms: 'Tire Pressure Monitoring System',
|
||
electric_seat_adjust: 'Electric Seat Adjustment',
|
||
heated_steering_wheel: 'Heated Steering Wheel',
|
||
auto_dimming_mirror: 'Auto-Dimming Mirror',
|
||
trunk_cover: 'Trunk Cover',
|
||
xenon_headlights: 'Xenon Headlights',
|
||
digital_cockpit: 'Digital Cockpit',
|
||
garage_kept: 'Garage Kept',
|
||
smoke_free: 'Smoke Free',
|
||
pet_free: 'Pet Free',
|
||
service_book: 'Service Book',
|
||
original_mileage: 'Verified Mileage',
|
||
first_owner: 'First Owner',
|
||
fleet_vehicle: 'Fleet Vehicle',
|
||
imported: 'Imported',
|
||
accident_free: 'Accident Free',
|
||
// ── Extra fallback keys from VehicleFormModal template ──
|
||
winter_tyres: 'Winter Tyres',
|
||
auto_headlights: 'Auto Headlights',
|
||
rear_spoiler: 'Rear Spoiler',
|
||
side_skirts: 'Side Skirts',
|
||
chrome_package: 'Chrome Package',
|
||
black_package: 'Black Package',
|
||
running_boards: 'Running Boards',
|
||
spare_tyre: 'Spare Tyre',
|
||
reflective_vest: 'Reflective Vest',
|
||
winter_package: 'Winter Package',
|
||
smoking_package: 'Smoking Package',
|
||
pet_friendly: 'Pet Friendly',
|
||
child_lock: 'Child Lock',
|
||
anti_theft: 'Anti-Theft',
|
||
gps_tracker: 'GPS Tracker',
|
||
service_history: 'Service History',
|
||
},
|
||
// ── Motorcycle-specific labels ──
|
||
label_strokes: 'Stroke',
|
||
label_cooling: 'Cooling',
|
||
label_fuel_mixture: 'Fuel Mixture',
|
||
label_valves: 'Number of Valves',
|
||
label_passenger_capacity: 'Passenger Capacity',
|
||
label_has_reverse_gear: 'Has Reverse Gear',
|
||
// Motorcycle strokes
|
||
motorcycleStrokes: {
|
||
'2_stroke': '2-Stroke',
|
||
'4_stroke': '4-Stroke',
|
||
electric: 'Electric',
|
||
},
|
||
// Motorcycle cooling
|
||
motorcycleCooling: {
|
||
air: 'Air Cooling',
|
||
liquid: 'Liquid Cooling',
|
||
oil: 'Oil Cooling',
|
||
air_oil: 'Air + Oil Cooling',
|
||
},
|
||
// Motorcycle mixture
|
||
motorcycleMixture: {
|
||
carburetor: 'Carburetor',
|
||
injection: 'Injection',
|
||
},
|
||
// Motorcycle feature categories
|
||
motorcycleFeatureCategories: {
|
||
technical: 'Technical',
|
||
frame_body: 'Frame & Body',
|
||
luggage: 'Luggage',
|
||
multimedia: 'Multimedia',
|
||
other: 'Other',
|
||
},
|
||
// Motorcycle features (extras)
|
||
motorcycleFeatures: {
|
||
// Technical
|
||
dual_front_disc: 'Dual Front Disc Brake',
|
||
front_disc: 'Front Disc Brake',
|
||
rear_disc: 'Rear Disc Brake',
|
||
chip_tuning: 'Chip Tuning',
|
||
electronic_suspension: 'Electronic Suspension',
|
||
onboard_computer: 'Onboard Computer',
|
||
metal_brake_line: 'Metal Brake Line',
|
||
rev_counter: 'Rev Counter',
|
||
immobiliser: 'Immobiliser',
|
||
catalyst: 'Catalytic Converter',
|
||
electric_starter: 'Electric Starter',
|
||
all_wheel_drive: 'All-Wheel Drive',
|
||
alarm: 'Alarm System',
|
||
sport_exhaust: 'Sport Exhaust',
|
||
sport_air_filter: 'Sport Air Filter',
|
||
cruise_control: 'Cruise Control',
|
||
turbo: 'Turbocharger',
|
||
'12v_system': '12V Power Socket',
|
||
heated_grip: 'Heated Grips',
|
||
abs: 'ABS',
|
||
seat_belt: 'Seat Belt',
|
||
dtc: 'DTC (Traction Control)',
|
||
fog_light: 'Fog Light',
|
||
airbag: 'Airbag',
|
||
xenon_headlight: 'Xenon Headlight',
|
||
// Frame & Body
|
||
full_extra: 'Full Extra',
|
||
leather_seat: 'Leather Seat',
|
||
heated_seat: 'Heated Seat',
|
||
backrest: 'Backrest',
|
||
center_stand: 'Center Stand',
|
||
footrest: 'Footrest',
|
||
windshield: 'Windshield',
|
||
plexiglass: 'Plexiglass',
|
||
tank_pad: 'Tank Pad',
|
||
tank_protector_leather: 'Tank Protector (Leather)',
|
||
seat_height_adjust: 'Seat Height Adjustment',
|
||
crash_bar: 'Crash Bar',
|
||
hand_guards: 'Hand Guards',
|
||
heated_mirror: 'Heated Mirror',
|
||
tow_hitch: 'Tow Hitch',
|
||
// Luggage
|
||
factory_cases: 'Factory Cases',
|
||
rear_case: 'Rear Case (Top Box)',
|
||
side_cases: 'Side Cases',
|
||
lockable_case: 'Lockable Case',
|
||
side_bag: 'Side Bag',
|
||
tank_bag: 'Tank Bag',
|
||
bag_holder_bracket: 'Bag Holder Bracket',
|
||
fork_bag: 'Fork Bag',
|
||
// Multimedia
|
||
cd_player: 'CD Player',
|
||
gps_navigation: 'GPS Navigation',
|
||
hi_fi: 'Hi-Fi Sound System',
|
||
radio: 'Radio',
|
||
info_display: 'Info Display',
|
||
// Other
|
||
under_warranty: 'Under Warranty',
|
||
us_model: 'US Model',
|
||
immediate_takeover: 'Immediate Takeover',
|
||
showroom_vehicle: 'Showroom Vehicle',
|
||
orderable: 'Orderable',
|
||
car_trade_in_possible: 'Car Trade-In Possible',
|
||
first_owner: 'First Owner',
|
||
garage_kept: 'Garage Kept',
|
||
female_owner: 'Female Owner',
|
||
low_mileage: 'Low Mileage',
|
||
second_owner: 'Second Owner',
|
||
motorcycle_trade_in_possible: 'Motorcycle Trade-In Possible',
|
||
track_fairing: 'Track Fairing',
|
||
regularly_maintained: 'Regularly Maintained',
|
||
service_book: 'Service Book',
|
||
title_certificate: 'Title Certificate',
|
||
},
|
||
// ── LCV-specific labels ──
|
||
label_cargo_section: '📦 CARGO SPECS',
|
||
label_cargo_volume_m3: 'Cargo Volume (m³)',
|
||
label_cargo_length_mm: 'Cargo Length (mm)',
|
||
label_cargo_width_mm: 'Cargo Width (mm)',
|
||
label_cargo_height_mm: 'Cargo Height (mm)',
|
||
label_wheelhouse_distance_mm: 'Wheelhouse Distance (mm)',
|
||
// LCV body types
|
||
lcvBodyTypes: {
|
||
closed_van: 'Closed Van',
|
||
pickup: 'Pickup',
|
||
double_cab_chassis: 'Double Cab Chassis',
|
||
single_cab_chassis: 'Single Cab Chassis',
|
||
box_tail_lift: 'Box Body with Tail Lift',
|
||
tipper: 'Tipper',
|
||
dropside: 'Dropside',
|
||
refrigerated_van: 'Refrigerated Van',
|
||
crew_cab_pickup: 'Crew Cab Pickup',
|
||
window_van: 'Window Van',
|
||
combi_van: 'Combi Van',
|
||
platform_truck: 'Platform Truck',
|
||
},
|
||
// LCV feature categories
|
||
lcvFeatureCategories: {
|
||
technical: 'Technical',
|
||
interior: 'Interior',
|
||
exterior: 'Exterior',
|
||
multimedia: 'Multimedia',
|
||
},
|
||
// LCV features (extras)
|
||
lcvFeatures: {
|
||
// Technical
|
||
abs: 'ABS',
|
||
asr: 'ASR (Traction Control)',
|
||
gps_tracker: 'GPS Tracker',
|
||
immobiliser: 'Immobiliser',
|
||
alarm: 'Alarm',
|
||
cruise_control: 'Cruise Control',
|
||
parking_sensors_rear: 'Rear Parking Sensors',
|
||
// Interior
|
||
curtain_airbag: 'Curtain Airbag',
|
||
rear_side_airbag: 'Rear Side Airbag',
|
||
switchable_airbag: 'Switchable Passenger Airbag',
|
||
side_airbag: 'Side Airbag',
|
||
passenger_airbag: 'Passenger Airbag',
|
||
driver_airbag: 'Driver Airbag',
|
||
roll_bar: 'Roll Bar',
|
||
cargo_tie_down: 'Cargo Tie-Down Points',
|
||
isofix: 'ISOFIX Child Seat Anchors',
|
||
full_extra: 'Full Extra',
|
||
auxiliary_heating: 'Auxiliary Heater (Webasto)',
|
||
leather_interior: 'Leather Interior',
|
||
heated_seat: 'Heated Seat',
|
||
partition_wall: 'Partition Wall',
|
||
seat_height_adjustment: 'Seat Height Adjustment',
|
||
adjustable_steering_wheel: 'Adjustable Steering Wheel',
|
||
central_locking: 'Central Locking',
|
||
trip_computer: 'Trip Computer',
|
||
power_steering: 'Power Steering',
|
||
// Exterior
|
||
power_windows: 'Power Windows',
|
||
power_mirrors: 'Power Mirrors',
|
||
heated_mirrors: 'Heated Mirrors',
|
||
alloy_wheels: 'Alloy Wheels',
|
||
tinted_glass: 'Tinted Glass',
|
||
tow_bar: 'Tow Bar',
|
||
sunroof: 'Sunroof',
|
||
fog_lights: 'Fog Lights',
|
||
xenon_headlights: 'Xenon Headlights',
|
||
// Multimedia
|
||
cd_changer: 'CD Changer',
|
||
cd_radio: 'CD Radio',
|
||
gps: 'GPS Navigation',
|
||
hifi: 'Hi-Fi Sound System',
|
||
radio_cassette: 'Radio Cassette',
|
||
},
|
||
// ── HGV-specific labels ──
|
||
label_hgv_section: '🚛 HGV SPECS',
|
||
label_operating_hours: 'Operating Hours',
|
||
label_bed_count: 'Number of Bunks',
|
||
label_axle_count: 'Number of Axles',
|
||
label_driven_axle_count: 'Driven Axles',
|
||
label_payload_capacity_kg: 'Payload Capacity (kg)',
|
||
label_working_width_mm: 'Working Width (mm)',
|
||
label_lifting_height_mm: 'Lifting Height (mm)',
|
||
label_ground_clearance_mm: 'Ground Clearance (mm)',
|
||
label_pto_type: 'PTO Type',
|
||
label_has_differential_lock: 'Differential Lock',
|
||
// HGV body types
|
||
hgvBodyTypes: {
|
||
chassis: 'Chassis',
|
||
chassis_cab: 'Chassis Cab',
|
||
tipper: 'Tipper',
|
||
tipper_3_way: '3-Way Tipper',
|
||
tipper_double: 'Double Sided Tipper',
|
||
tipper_trailer: 'Tipper Trailer',
|
||
box: 'Box Body',
|
||
box_tail_lift: 'Box Body with Tail Lift',
|
||
box_insulated: 'Insulated Box Body',
|
||
box_curtain_side: 'Curtain Side Box Body',
|
||
curtain_sider: 'Curtain Sider',
|
||
flatbed: 'Flatbed',
|
||
flatbed_stake: 'Stake Side Flatbed',
|
||
flatbed_dropside: 'Dropside Flatbed',
|
||
refrigerated: 'Refrigerated',
|
||
refrigerated_trailer: 'Refrigerated Trailer',
|
||
tanker: 'Tanker',
|
||
tanker_fuel: 'Fuel Tanker',
|
||
tanker_milk: 'Milk Tanker',
|
||
tanker_chemical: 'Chemical Tanker',
|
||
tanker_powder: 'Powder Tanker',
|
||
tractor_unit: 'Tractor Unit',
|
||
tractor_unit_4x2: 'Tractor Unit 4x2',
|
||
tractor_unit_6x2: 'Tractor Unit 6x2',
|
||
tractor_unit_6x4: 'Tractor Unit 6x4',
|
||
tractor_unit_8x4: 'Tractor Unit 8x4',
|
||
semi_trailer: 'Semi-Trailer',
|
||
semi_trailer_curtain: 'Curtain Sider Semi-Trailer',
|
||
semi_trailer_box: 'Box Semi-Trailer',
|
||
semi_trailer_tipper: 'Tipper Semi-Trailer',
|
||
semi_trailer_tanker: 'Tanker Semi-Trailer',
|
||
semi_trailer_flatbed: 'Flatbed Semi-Trailer',
|
||
semi_trailer_low_loader: 'Low Loader Semi-Trailer',
|
||
semi_trailer_car_transporter: 'Car Transporter Semi-Trailer',
|
||
container: 'Container',
|
||
container_carrier: 'Container Carrier',
|
||
swap_body: 'Swap Body',
|
||
hook_lift: 'Hook Lift',
|
||
crane: 'Crane',
|
||
crane_truck: 'Crane Truck',
|
||
crane_trailer: 'Crane Trailer',
|
||
fire_truck: 'Fire Truck',
|
||
fire_truck_aerial: 'Aerial Fire Truck',
|
||
ambulance: 'Ambulance',
|
||
hearse: 'Hearse',
|
||
armored: 'Armored',
|
||
livestock: 'Livestock Carrier',
|
||
car_transporter: 'Car Transporter',
|
||
mobile_shop: 'Mobile Shop',
|
||
workshop: 'Workshop Truck',
|
||
tow_truck: 'Tow Truck',
|
||
street_sweeper: 'Street Sweeper',
|
||
refuse_truck: 'Refuse Truck',
|
||
concrete_mixer: 'Concrete Mixer',
|
||
concrete_pump: 'Concrete Pump',
|
||
dump_truck: 'Dump Truck',
|
||
timber_truck: 'Timber Truck',
|
||
log_trailer: 'Log Trailer',
|
||
double_cab: 'Double Cab',
|
||
triple_cab: 'Triple Cab',
|
||
crew_cab: 'Crew Cab',
|
||
sleeper_cab: 'Sleeper Cab',
|
||
day_cab: 'Day Cab',
|
||
glider_kit: 'Glider Kit',
|
||
},
|
||
// HGV transmission types
|
||
hgvTransmissionTypes: {
|
||
manual: 'Manual',
|
||
manual_async: 'Manual (Async)',
|
||
semi_auto: 'Semi-Automatic',
|
||
auto: 'Automatic',
|
||
manual_split: 'Manual Split Gearbox',
|
||
semi_auto_split: 'Semi-Auto Split Gearbox',
|
||
auto_split: 'Auto Split Gearbox',
|
||
cvt: 'CVT',
|
||
},
|
||
// PTO types
|
||
ptoTypes: {
|
||
front: 'Front PTO',
|
||
engine_mounted: 'Engine-Mounted PTO',
|
||
gearbox_mounted: 'Gearbox-Mounted PTO',
|
||
},
|
||
// HGV feature categories
|
||
hgvFeatureCategories: {
|
||
technical_work: 'Technical / Work',
|
||
cabin: 'Cabin',
|
||
multimedia: 'Multimedia',
|
||
},
|
||
// HGV features (extras)
|
||
hgvFeatures: {
|
||
// Technical / Work
|
||
diff_lock_front: 'Front Differential Lock',
|
||
diff_lock_rear: 'Rear Differential Lock',
|
||
diff_lock_center: 'Center Differential Lock',
|
||
diff_lock_full: 'Full Differential Lock',
|
||
cross_axle_lock: 'Cross-Axle Differential Lock',
|
||
retarder: 'Retarder',
|
||
exhaust_brake: 'Exhaust Brake',
|
||
engine_brake: 'Engine Brake',
|
||
auxiliary_brake: 'Auxiliary Brake',
|
||
hill_holder: 'Hill Holder',
|
||
hill_descent_control: 'Hill Descent Control',
|
||
traction_control: 'Traction Control',
|
||
stability_control: 'Stability Control (ESP)',
|
||
roll_stability: 'Roll Stability Program (RSP)',
|
||
lane_departure: 'Lane Departure Warning',
|
||
adaptive_cruise: 'Adaptive Cruise Control (ACC)',
|
||
collision_warning: 'Collision Warning',
|
||
emergency_brake_assist: 'Emergency Brake Assist',
|
||
blind_spot_monitor: 'Blind Spot Monitor',
|
||
traffic_sign_recognition: 'Traffic Sign Recognition',
|
||
driver_alert: 'Driver Alert System',
|
||
tyre_pressure_monitor: 'Tyre Pressure Monitor (TPMS)',
|
||
reverse_camera: 'Reverse Camera',
|
||
'360_camera': '360° Camera',
|
||
side_camera: 'Side Camera',
|
||
front_camera: 'Front Camera',
|
||
rear_camera: 'Rear Camera',
|
||
parking_sensors: 'Parking Sensors',
|
||
front_parking_sensors: 'Front Parking Sensors',
|
||
rear_parking_sensors: 'Rear Parking Sensors',
|
||
side_parking_sensors: 'Side Parking Sensors',
|
||
tachograph: 'Tachograph',
|
||
digital_tachograph: 'Digital Tachograph',
|
||
smart_tachograph: 'Smart Tachograph (G2V2)',
|
||
gps_tracker: 'GPS Tracker',
|
||
fleet_management: 'Fleet Management System',
|
||
fuel_monitoring: 'Fuel Monitoring System',
|
||
eco_driving: 'Eco Driving Assistant',
|
||
weigh_in_motion: 'Weigh-In-Motion System',
|
||
load_securing: 'Load Securing System',
|
||
// Cabin
|
||
sleeper_cabin: 'Sleeper Cabin',
|
||
single_bunk: 'Single Bunk',
|
||
double_bunk: 'Double Bunk',
|
||
upper_bunk: 'Upper Bunk',
|
||
lower_bunk: 'Lower Bunk',
|
||
fridge: 'Refrigerator',
|
||
freezer: 'Freezer',
|
||
microwave: 'Microwave Oven',
|
||
coffee_machine: 'Coffee Machine',
|
||
water_heater: 'Water Heater',
|
||
air_conditioner: 'Air Conditioner',
|
||
parking_heater: 'Parking Heater',
|
||
auxiliary_heater: 'Auxiliary Heater',
|
||
night_heater: 'Night Heater',
|
||
roof_vent: 'Roof Vent',
|
||
power_vent: 'Power Roof Vent',
|
||
sun_visor: 'Sun Visor',
|
||
curtain_set: 'Curtain Set',
|
||
cabin_lighting: 'Cabin Lighting',
|
||
led_cabin_lighting: 'LED Cabin Lighting',
|
||
reading_light: 'Reading Light',
|
||
cabin_table: 'Cabin Table',
|
||
passenger_seat: 'Passenger Seat',
|
||
passenger_seat_swivel: 'Swivel Passenger Seat',
|
||
driver_seat_suspension: 'Air Suspension Driver Seat',
|
||
seat_heating: 'Seat Heating',
|
||
seat_ventilation: 'Seat Ventilation',
|
||
armrest: 'Armrest Seat',
|
||
storage_box: 'Storage Box',
|
||
wardrobe: 'Wardrobe',
|
||
// Multimedia
|
||
navigation: 'Navigation (GPS)',
|
||
apple_carplay: 'Apple CarPlay',
|
||
android_auto: 'Android Auto',
|
||
bluetooth: 'Bluetooth',
|
||
usb_charging: 'USB Charging',
|
||
wireless_charging: 'Wireless Charging',
|
||
dab_radio: 'DAB+ Digital Radio',
|
||
cb_radio: 'CB Radio',
|
||
satellite_radio: 'Satellite Radio',
|
||
digital_tv: 'Digital TV',
|
||
dvb_t: 'DVB-T TV',
|
||
dvb_s: 'DVB-S Satellite TV',
|
||
premium_sound: 'Premium Sound System',
|
||
subwoofer: 'Subwoofer',
|
||
rear_entertainment: 'Rear Entertainment System',
|
||
wifi_hotspot: 'WiFi Hotspot',
|
||
},
|
||
},
|
||
|
||
// ── Service Finder ────────────────────────────────────────────────
|
||
serviceFinder: {
|
||
title: '🔧 Service Finder',
|
||
heroTitle: '🔧 <span class="text-sf-accent">Service</span> Finder',
|
||
heroSubtitle: 'Find the best auto service providers in one place',
|
||
// Dashboard Card 3 — Launchpad
|
||
plannedMaintenance: 'Planned Maintenance',
|
||
sosTitle: 'Emergency Help',
|
||
sosSubtitle: 'Need immediate roadside assistance?',
|
||
comingSoon: 'Coming Soon',
|
||
searchPlaceholder: 'Service or provider (e.g. AC repair)',
|
||
cityPlaceholder: 'City or ZIP Code',
|
||
searchButton: 'Search',
|
||
searching: 'Searching...',
|
||
quickFilters: 'Quick filters:',
|
||
resultsTitle: 'Results ({count})',
|
||
startSearching: 'Start searching!',
|
||
noResults: 'No results for your search.',
|
||
pageInfo: 'Page: {current} / {total}',
|
||
backToDashboard: 'Back to Dashboard',
|
||
noResultsTitle: 'No results',
|
||
noResultsHint: 'Try different search terms or browse using the quick filters!',
|
||
showAll: 'Show all providers',
|
||
previous: 'Previous',
|
||
next: 'Next',
|
||
// Source badges
|
||
sourceVerified: 'Verified',
|
||
sourceCommunity: 'Community',
|
||
sourceRobot: 'Robot Data',
|
||
sourceVerifiedTitle: 'Verified provider',
|
||
sourceCommunityTitle: 'Community recommended',
|
||
sourceRobotTitle: 'Robot collected data',
|
||
sourceVerifiedLabel: 'Verified provider',
|
||
sourceCommunityLabel: 'Community recommended',
|
||
sourceRobotLabel: 'Robot collected',
|
||
addressNotAvailable: 'Address not available',
|
||
noCategory: 'No category',
|
||
// Quick filter chips
|
||
filterAutoSzerelo: '🔧 Car Mechanic',
|
||
filterGumiszerviz: '🛞 Tire Service',
|
||
filterKarosszeria: '🔩 Body Shop',
|
||
filterAutoMento: '🚛 Tow Truck',
|
||
filterBenzinkut: '⛽ Gas Station',
|
||
filterAutoKozmetika: '✨ Car Detailing',
|
||
// SOS Tab
|
||
sosTabTitle: 'SOS Rescue',
|
||
sosPlaceholder: '🚧 This feature is under development. You will be able to request emergency roadside assistance here soon!',
|
||
// Planned Tab
|
||
plannedTabTitle: 'Planned Search',
|
||
// Provider Detail Modal
|
||
detailTitle: 'Provider Details',
|
||
detailCategory: 'Category',
|
||
detailAddress: 'Address',
|
||
detailSource: 'Source',
|
||
detailSpecialization: 'Specialization',
|
||
detailRating: 'Rating',
|
||
detailNoRating: 'No rating yet',
|
||
detailNoSpecialization: 'Not specified',
|
||
editRequest: '✏️ Complete Data (Earn Points!)',
|
||
close: 'Close',
|
||
},
|
||
|
||
// ── Provider ──────────────────────────────────────────────────────
|
||
provider: {
|
||
quickAddTitle: 'Add New Provider',
|
||
quickAddSubtitle: 'Help the community! You earn points for adding.',
|
||
nameLabel: 'Provider Name',
|
||
nameRequired: 'Required',
|
||
namePlaceholder: 'e.g. MOL Auto Service',
|
||
categoryLabel: 'Category',
|
||
categoryRequired: 'Required',
|
||
categoryPlaceholder: 'Select a category',
|
||
zipLabel: 'ZIP Code',
|
||
zipOptional: 'optional',
|
||
zipPlaceholder: 'e.g. 1011',
|
||
cityLabel: 'City',
|
||
cityOptional: 'optional',
|
||
cityPlaceholder: 'e.g. Budapest',
|
||
streetLabel: 'Street, House Number',
|
||
streetOptional: 'optional',
|
||
streetPlaceholder: 'e.g. Kossuth Street 1',
|
||
submitButton: 'Register Provider & Earn Points!',
|
||
submitting: 'Registering...',
|
||
closeButton: 'Close',
|
||
successMessage: 'Successfully registered! You earned {points} points!',
|
||
successSubtext: 'Thank you for helping build the community!',
|
||
errorMessage: 'An error occurred while registering the provider. Please try again!',
|
||
// Autocomplete
|
||
autocompletePlaceholder: 'Search provider...',
|
||
autocompleteNoResults: 'No results found.',
|
||
autocompleteAddNew: '+ Add new provider and earn points!',
|
||
autocompleteClear: 'Clear selection',
|
||
autocompleteVerified: '✓ Verified',
|
||
autocompleteSourceVerified: 'Verified',
|
||
autocompleteSourceRobot: 'Robot collected',
|
||
autocompleteSourceCommunity: 'Community',
|
||
// Soft-deduplication
|
||
duplicateWarning: 'Similar providers found nearby: {matches}. Are you sure you want to add a new one?',
|
||
duplicateWarningShort: 'Similar provider found nearby: {name}. Are you sure you want to add a new one?',
|
||
// Edit Modal
|
||
editTitle: 'Edit Provider Data',
|
||
streetNameLabel: 'Street Name',
|
||
streetNamePlaceholder: 'e.g. Egressy',
|
||
streetTypeLabel: 'Street Type',
|
||
streetTypePlaceholder: 'Select type...',
|
||
houseNumberLabel: 'House Number',
|
||
houseNumberPlaceholder: 'e.g. 4',
|
||
phoneLabel: 'Phone',
|
||
phonePlaceholder: 'e.g. +36 20 123 4567',
|
||
emailLabel: 'Email',
|
||
emailPlaceholder: 'e.g. info@provider.hu',
|
||
websiteLabel: 'Website',
|
||
websitePlaceholder: 'e.g. https://provider.hu',
|
||
tagsLabel: 'Service Tags',
|
||
tagsPlaceholder: 'Add tags (comma-separated)',
|
||
editInfo: 'Your edits will be reviewed and may earn gamification points!',
|
||
},
|
||
|
||
admin: {
|
||
services: {
|
||
title: 'Services',
|
||
subtitle: 'Manage service catalog entries, credit costs, and availability',
|
||
create_button: 'Create New Service',
|
||
refresh: 'Refresh',
|
||
loading: 'Loading services...',
|
||
empty: 'No services found',
|
||
empty_hint: 'Create your first service to get started.',
|
||
badge_inactive: 'Inactive',
|
||
credit_cost_label: 'Credit Cost',
|
||
credit_unit: 'credits',
|
||
edit_button: 'Edit',
|
||
deactivate_button: 'Deactivate',
|
||
activate_button: 'Activate',
|
||
// Modal
|
||
modal_edit_title: 'Edit Service',
|
||
modal_create_title: 'Create New Service',
|
||
field_code: 'Service Code',
|
||
field_code_placeholder: 'e.g. SRV_DATA_EXPORT',
|
||
field_name: 'Service Name',
|
||
field_name_placeholder: 'e.g. Data Export',
|
||
field_description: 'Description',
|
||
field_description_placeholder: 'Describe what this service does...',
|
||
field_credit_cost: 'Credit Cost',
|
||
cancel: 'Cancel',
|
||
saving: 'Saving...',
|
||
save_changes: 'Save Changes',
|
||
create: 'Create Service',
|
||
},
|
||
packages: {
|
||
title: 'Subscription Packages',
|
||
subtitle: 'Manage subscription tiers, pricing, and entitlements',
|
||
create_button: 'Create New Package',
|
||
show_hidden: 'Show inactive packages',
|
||
refresh: 'Refresh',
|
||
loading: 'Loading packages...',
|
||
empty: 'No packages found',
|
||
empty_hint: 'Create your first subscription package to get started.',
|
||
badge_inactive: 'Inactive',
|
||
badge_custom: 'Custom',
|
||
type_private: 'Private',
|
||
type_corporate: 'Corporate',
|
||
monthly: 'Monthly',
|
||
yearly: 'Yearly',
|
||
max_vehicles_label: 'Max Vehicles',
|
||
max_garages_label: 'Max Garages',
|
||
free_credits_label: 'Free Credits / mo',
|
||
edit_button: 'Edit',
|
||
delete_button: 'Deactivate',
|
||
// Modal
|
||
modal_edit_title: 'Edit Package',
|
||
modal_create_title: 'Create New Package',
|
||
field_name: 'Package Name',
|
||
field_name_placeholder: 'e.g. private_pro_v2',
|
||
field_type: 'Package Type',
|
||
field_monthly_price: 'Monthly Price',
|
||
field_yearly_price: 'Yearly Price',
|
||
field_currency: 'Currency',
|
||
field_max_vehicles: 'Max Vehicles',
|
||
field_max_garages: 'Max Garages',
|
||
field_free_credits: 'Free Credits / Month',
|
||
field_commission_rate: 'Commission Rate (%)',
|
||
field_referral_bonus: 'Referral Bonus (credits)',
|
||
field_credit_price: 'Price (Credits)',
|
||
field_is_public: 'Active / Inactive',
|
||
field_available_until: 'Expiry Date',
|
||
active: 'Active',
|
||
inactive: 'Inactive',
|
||
date_from_label: 'Date From',
|
||
date_until_label: 'Date Until',
|
||
field_entitlements: 'Services (Entitlements)',
|
||
entitlement_placeholder: 'Select a service to add...',
|
||
cancel: 'Cancel',
|
||
saving: 'Saving...',
|
||
save_changes: 'Save Changes',
|
||
create: 'Create Package',
|
||
},
|
||
users: {
|
||
// Search & Filters
|
||
search_category_all: 'All',
|
||
search_category_email: 'E-mail',
|
||
search_category_name: 'Name',
|
||
search_category_phone: 'Phone',
|
||
search_category_id: 'ID',
|
||
search_category_address: 'Address',
|
||
search_placeholder: 'Search...',
|
||
search_button: 'Search',
|
||
clear_search: 'Clear search',
|
||
filter_all_roles: 'All Roles',
|
||
filter_all_status: 'All Status',
|
||
status_active: 'Active',
|
||
status_inactive: 'Inactive',
|
||
status_deleted: 'Deleted',
|
||
refresh: 'Refresh',
|
||
// Bulk actions
|
||
n_selected: '{count} user(s) selected',
|
||
bulk_ban: 'Ban',
|
||
bulk_unban: 'Unban',
|
||
bulk_soft_delete: 'Soft Delete',
|
||
bulk_restore: 'Restore',
|
||
bulk_hard_delete: 'Hard Delete',
|
||
clear_selection: 'Clear Selection',
|
||
loading: 'Loading...',
|
||
// Table columns
|
||
col_email: 'E-mail',
|
||
col_name: 'Name',
|
||
col_phone: 'Phone',
|
||
col_address: 'Address',
|
||
col_role: 'Role',
|
||
col_status: 'Status',
|
||
col_subscription: 'Subscription',
|
||
col_region: 'Region',
|
||
col_created: 'Created',
|
||
col_actions: 'Actions',
|
||
// Individual actions (kebab menu)
|
||
actions: 'Actions',
|
||
action_edit: 'Edit',
|
||
action_password_reset: 'Password Reset E-mail',
|
||
action_ban: 'Ban',
|
||
action_unban: 'Unban',
|
||
action_soft_delete: 'Soft Delete',
|
||
action_restore: 'Restore',
|
||
action_hard_delete: 'Hard Delete',
|
||
// Empty states
|
||
empty_search: 'No users match your search',
|
||
empty_search_hint: 'Try a different search category or term.',
|
||
empty_no_users: 'No users in the database yet.',
|
||
// Pagination
|
||
showing_of: 'Showing {showing} of {total} users',
|
||
pagination_prev: 'Previous',
|
||
pagination_next: 'Next',
|
||
pagination_page: 'Page {current} of {total}',
|
||
},
|
||
},
|
||
}
|