feat(i18n): convert 38 hardcoded static labels + safe blade wrap + 226 keys
- Convert all remaining static \$modelLabel/\$pluralModelLabel to getter methods with __() (AppointmentResource, WorkOrderResource, MasterResource, ServiceTemplateResource, LaborResource, and 33 others) - Safe blade wrap v2 (37 files, 201 wraps): fixed the regex to not match `->`, `=>`, `!<` — previous aggressive pass broke @if directives - Bulk-translate lowercase model-label keys (programări, fișe lucru, tehnicieni, șabloane servicii, norme-ore, etc.) — these were the RO strings appearing in page titles/breadcrumbs - Add human RU/EN for mechanic-kpi (Mecanic/Lucrări/Norma ore/etc.) and calendar-board words Tests 306 green. Blade compiles cleanly. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -16,12 +16,12 @@
|
||||
<td style="padding:14px 18px;font-size:18px;text-align:right;font-weight:700;color:{{ $themeColor }};">
|
||||
{{ $appointment->date?->format('d.m.Y') }}
|
||||
</td></tr>
|
||||
<tr><td style="padding:8px 18px;font-size:13px;color:#374151;">Ora</td>
|
||||
<tr><td style="padding:8px 18px;font-size:13px;color:#374151;">{{ __('Ora') }}</td>
|
||||
<td style="padding:8px 18px;font-size:14px;text-align:right;font-weight:600;">
|
||||
{{ \Illuminate\Support\Str::substr($appointment->time_start, 0, 5) }} – {{ \Illuminate\Support\Str::substr($appointment->time_end, 0, 5) }}
|
||||
</td></tr>
|
||||
@if ($appointment->title)
|
||||
<tr><td style="padding:8px 18px;font-size:12px;color:#6b7280;">Subiect</td>
|
||||
<tr><td style="padding:8px 18px;font-size:12px;color:#6b7280;">{{ __('Subiect') }}</td>
|
||||
<td style="padding:8px 18px;font-size:12px;text-align:right;">{{ $appointment->title }}</td></tr>
|
||||
@endif
|
||||
@if ($vehicle)
|
||||
@@ -32,11 +32,11 @@
|
||||
</td></tr>
|
||||
@endif
|
||||
@if ($master)
|
||||
<tr><td style="padding:8px 18px;font-size:12px;color:#6b7280;">Maistru</td>
|
||||
<tr><td style="padding:8px 18px;font-size:12px;color:#6b7280;">{{ __('Maistru') }}</td>
|
||||
<td style="padding:8px 18px;font-size:12px;text-align:right;">{{ $master->name }}</td></tr>
|
||||
@endif
|
||||
@if ($post)
|
||||
<tr><td style="padding:8px 18px;font-size:12px;color:#6b7280;">Pod</td>
|
||||
<tr><td style="padding:8px 18px;font-size:12px;color:#6b7280;">{{ __('Pod') }}</td>
|
||||
<td style="padding:8px 18px;font-size:12px;text-align:right;">{{ $post->name }}</td></tr>
|
||||
@endif
|
||||
</table>
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
<td style="padding:14px 18px;font-size:18px;text-align:right;font-weight:700;color:#059669;">
|
||||
{{ number_format((float) $payment->amount, 2, '.', ' ') }} {{ $currency }}
|
||||
</td></tr>
|
||||
<tr><td style="padding:8px 18px;font-size:12px;color:#6b7280;">Metoda</td>
|
||||
<tr><td style="padding:8px 18px;font-size:12px;color:#6b7280;">{{ __('Metoda') }}</td>
|
||||
<td style="padding:8px 18px;font-size:12px;text-align:right;">
|
||||
{{ \App\Models\Tenant\Payment::METHODS[$payment->method] ?? $payment->method }}
|
||||
</td></tr>
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
|
||||
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" style="margin:16px 0;border:1px solid #e5e7eb;border-radius:8px;">
|
||||
<tr><td style="padding:14px;">
|
||||
<div style="font-size:11px;text-transform:uppercase;color:#6b7280;letter-spacing:.5px;">Vehicul</div>
|
||||
<div style="font-size:11px;text-transform:uppercase;color:#6b7280;letter-spacing:.5px;">{{ __('Vehicul') }}</div>
|
||||
<div style="font-size:16px;font-weight:700;margin-top:4px;">
|
||||
{{ $vehicle->make }} {{ $vehicle->model }} {{ $vehicle->year ?? '' }}
|
||||
@if ($vehicle->plate) <span style="color:{{ $themeColor }};">[{{ $vehicle->plate }}]</span> @endif
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
<p style="color: #6b7280; margin-bottom: 24px;">{{ __('Comanda ta a fost primită cu succes.') }}</p>
|
||||
|
||||
<div style="background: #f9fafb; border-radius: 10px; padding: 18px; margin-bottom: 18px;">
|
||||
<div style="font-size: 14px; color: #6b7280;">Comanda</div>
|
||||
<div style="font-size: 14px; color: #6b7280;">{{ __('Comanda') }}</div>
|
||||
<div style="font-size: 22px; font-weight: 700; margin-bottom: 8px;">#{{ $order->number }}</div>
|
||||
<div style="color: #6b7280; font-size: 13px;">
|
||||
{{ $order->created_at->isoFormat('D MMM YYYY, HH:mm') }} ·
|
||||
@@ -19,7 +19,7 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<h3 style="font-size: 16px; margin-bottom: 8px;">Produsele tale</h3>
|
||||
<h3 style="font-size: 16px; margin-bottom: 8px;">{{ __('Produsele tale') }}</h3>
|
||||
<table style="width: 100%; border-collapse: collapse; margin-bottom: 18px; font-size: 14px;">
|
||||
@foreach ($items as $item)
|
||||
<tr>
|
||||
@@ -34,7 +34,7 @@
|
||||
@endforeach
|
||||
@if ((float) $order->delivery_fee > 0)
|
||||
<tr>
|
||||
<td style="padding: 8px 0; color: #6b7280;">Livrare</td>
|
||||
<td style="padding: 8px 0; color: #6b7280;">{{ __('Livrare') }}</td>
|
||||
<td style="padding: 8px 0; text-align: right;">{{ number_format((float) $order->delivery_fee, 2) }} {{ $currency }}</td>
|
||||
</tr>
|
||||
@endif
|
||||
|
||||
@@ -32,7 +32,7 @@
|
||||
</tr>
|
||||
@if ($paid > 0)
|
||||
<tr>
|
||||
<td style="padding:6px 16px;font-size:12px;color:#6b7280;">Achitat</td>
|
||||
<td style="padding:6px 16px;font-size:12px;color:#6b7280;">{{ __('Achitat') }}</td>
|
||||
<td style="padding:6px 16px;font-size:12px;text-align:right;color:#059669;">{{ number_format($paid, 2, '.', ' ') }} {{ $currency }}</td>
|
||||
</tr>
|
||||
@endif
|
||||
@@ -51,6 +51,6 @@
|
||||
</div>
|
||||
@endif
|
||||
|
||||
<p style="margin-top:20px;">{{ __('Atașat veți găsi') }} <b>{{ __('fișa de lucru completă') }}</b> (PDF).</p>
|
||||
<p style="margin-top:20px;">{{ __('Atașat veți găsi') }} <b>{{ __('fișa de lucru completă') }}</b> {{ __('(PDF).') }}</p>
|
||||
<p>{{ __('Vă mulțumim pentru încredere!') }}</p>
|
||||
@endcomponent
|
||||
|
||||
Reference in New Issue
Block a user