schneespur/release/schneespur-1.0.2/lang/en/job.php
Michael 7288b93500 Release v1.0.2: diagnostic infrastructure core
Add neutral diagnostic framework for future reporting modules:
- DiagnosticReporterInterface, Registry, Manager, PayloadSanitizer
- Laravel exception hook in bootstrap/app.php
- Module permission declarations (requires_permissions in module.json)
- Core diagnostic report points (module boot/install/update failures)
- Module documentation update (moduldoku.md)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-05-18 16:54:11 +00:00

152 lines
5.7 KiB
PHP

<?php
return [
'type_raumen' => 'Clearing',
'type_streuen' => 'Gritting',
'type_kontrolle' => 'Inspection',
'type_raumen_streuen' => 'Clearing & Gritting',
'started' => 'Job has been started.',
'ended' => 'Job has been ended.',
'manual_create_title' => 'Create job manually',
'manual_created' => 'Job was created manually.',
'manual_label' => 'Manually created',
'field_started_at' => 'Start',
'field_ended_at' => 'End',
'field_notes' => 'Notes',
'field_type' => 'Job type',
'field_customer' => 'Customer',
'field_object' => 'Site',
'field_driver' => 'Driver',
'field_vehicle' => 'Vehicle',
'page_list' => 'Jobs',
'page_detail' => 'Job Details',
'col_date' => 'Date',
'col_driver' => 'Driver',
'col_customer' => 'Customer',
'col_type' => 'Job Type',
'col_duration' => 'Duration',
'col_status' => 'Status',
'col_actions' => 'Actions',
'col_gps_points' => 'GPS Points',
'status_active' => 'Active',
'status_completed' => 'Completed',
'filter_date_from' => 'From',
'filter_date_to' => 'To',
'filter_driver' => 'Driver',
'filter_customer' => 'Customer',
'filter_type' => 'Job Type',
'filter_object' => 'Site',
'filter_all' => 'All',
'filter_btn' => 'Filter',
'filter_reset' => 'Reset',
'empty_heading' => 'No jobs found',
'empty_body' => 'No jobs have been recorded yet.',
'detail_customer' => 'Customer',
'detail_object' => 'Site',
'detail_driver' => 'Driver',
'detail_type' => 'Job Type',
'detail_started_at' => 'Start',
'detail_ended_at' => 'End',
'detail_vehicle' => 'Vehicle',
'detail_vehicle_none' => 'No vehicle assigned',
'detail_notes' => 'Notes',
'detail_notes_empty' => 'No notes',
'detail_weather' => 'Weather Data',
'detail_gps_track' => 'GPS Track',
'detail_gps_empty' => 'No GPS track available (manual job)',
'detail_gps_empty_manual' => 'No GPS track available (manual entry, no GPS track expected)',
'detail_gps_empty_no_signal' => 'No GPS track available (GPS data was not transmitted from the device)',
'detail_manual_badge' => 'Manual',
'btn_view' => 'Details',
'weather_retry_btn' => 'Retry',
'weather_not_fetched' => 'Not fetched',
'detail_photos' => 'Photos',
'detail_photo_alt' => 'Job photo',
'detail_photos_empty' => 'No photos available.',
'no_active_job' => 'No active job.',
'photo_uploaded' => 'Photo uploaded.',
'photo_limit_reached' => 'Maximum :max photos per job allowed.',
'detail_photo_annotated' => 'With metadata',
'btn_download_pdf' => 'Download PDF',
'pdf_title' => 'Proof of Service',
'pdf_subtitle' => 'Job #:id from :date',
'pdf_section_customer' => 'Customer Information',
'pdf_section_job' => 'Job Details',
'pdf_address' => 'Address',
'pdf_contact' => 'Contact Person',
'pdf_generated_at' => 'Generated on :date',
'pdf_points' => 'points',
'pdf_time' => 'Time',
'pdf_lat' => 'Latitude',
'pdf_lon' => 'Longitude',
'pdf_track_start' => 'Start',
'pdf_track_end' => 'End',
'pdf_active_blocked' => 'PDF download available only after job completion.',
'pdf_gps_sampled' => 'Showing :shown of :total coordinates (sampled)',
'pdf_customer_report_title' => 'Combined Proof of Service',
'pdf_customer_report_subtitle' => ':customer — :from to :to',
'pdf_cover_summary' => 'Summary',
'pdf_cover_total_jobs' => 'Total Jobs',
'pdf_cover_total_duration' => 'Total Duration',
'pdf_cover_job_types' => 'Breakdown by Job Type',
'pdf_cover_weather_summary' => 'Weather Summary',
'pdf_cover_temp_range' => 'Temperature Range',
'pdf_cover_conditions' => 'Most Frequent Conditions',
'pdf_cover_no_weather' => ':count job without weather data|:count jobs without weather data',
'pdf_cover_toc' => 'Table of Contents',
'pdf_cover_toc_date' => 'Date',
'pdf_cover_toc_type' => 'Type',
'pdf_cover_toc_duration' => 'Duration',
'pdf_cover_active_marker' => 'Active',
'pdf_cover_phone' => 'Phone',
'pdf_cover_email' => 'Email',
'pdf_no_jobs_in_range' => 'No jobs found in the selected date range.',
'edit_title' => 'Edit Job',
'edit_notes_label' => 'Notes',
'edit_grace_remaining' => 'Editable until',
'edit_save' => 'Save',
'edit_cancel' => 'Cancel',
'edit_success' => 'Job was updated.',
'audit_title' => 'Change Log',
'audit_action_label' => 'Action',
'audit_action_updated' => 'Updated',
'audit_action_deleted' => 'Deleted',
'audit_action_created' => 'Created',
'audit_field_notes' => 'Notes',
'audit_by' => 'User',
'audit_at' => 'Timestamp',
'audit_old_value' => 'Old Value',
'audit_new_value' => 'New Value',
'audit_no_entries' => 'No changes recorded.',
'lock_open' => 'Editable (grace period)',
'lock_closed' => 'Locked',
'lock_grace_remaining' => ':hours hrs remaining',
'lock_since' => 'Locked since :date',
'delete_confirmation_word' => 'DELETE',
'delete_title' => 'Delete Job',
'delete_warning' => 'This action cannot be undone. All GPS data, photos, and weather data will be deleted.',
'delete_confirm_label' => 'Type "DELETE" to confirm',
'delete_confirm_placeholder' => 'DELETE',
'delete_btn' => 'Delete',
'delete_success' => 'Job was deleted.',
'delete_confirm_mismatch' => 'Confirmation does not match. Please type "DELETE".',
'duration_hours_minutes' => ':hours hr :minutes min',
'duration_hours' => ':hours hour|:hours hours',
'duration_minutes' => ':minutes min',
'retention_hint' => ':count jobs exceed the retention period.',
'retention_hint_oldest' => 'Oldest: :date.',
'retention_hint_action' => 'Review retention settings',
];