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:
@@ -21,9 +21,9 @@
|
||||
</style>
|
||||
|
||||
<div class="vs-card">
|
||||
<h2 style="font-size:16px;font-weight:600;margin-bottom:12px;">🔎 Decode VIN</h2>
|
||||
<h2 style="font-size:16px;font-weight:600;margin-bottom:12px;">{{ __('🔎 Decode VIN') }}</h2>
|
||||
<form wire:submit="decode" style="display:flex;gap:12px;flex-wrap:wrap;">
|
||||
<input type="text" wire:model="vin" class="vs-input" placeholder="WBAFE81070CY34521" maxlength="17" style="flex:1;min-width:300px;">
|
||||
<input type="text" wire:model="vin" class="vs-input" placeholder="{{ __('WBAFE81070CY34521') }}" maxlength="17" style="flex:1;min-width:300px;">
|
||||
<button type="submit" class="vs-btn">{{ __('Decodează') }}</button>
|
||||
</form>
|
||||
</div>
|
||||
@@ -31,13 +31,13 @@
|
||||
@if ($decoded)
|
||||
<div class="vs-card">
|
||||
@if ($decoded['valid'])
|
||||
<h3 style="font-size:14px;font-weight:600;margin-bottom:16px;">✅ VIN decodificat</h3>
|
||||
<h3 style="font-size:14px;font-weight:600;margin-bottom:16px;">{{ __('✅ VIN decodificat') }}</h3>
|
||||
<div class="vs-grid">
|
||||
<div><div class="vs-stat-l">{{ __('Producător') }}</div><div class="vs-stat-v">{{ $decoded['manufacturer'] }}</div></div>
|
||||
<div><div class="vs-stat-l">{{ __('Țară') }}</div><div class="vs-stat-v">{{ $decoded['country'] }}</div></div>
|
||||
<div><div class="vs-stat-l">An model (estimat)</div><div class="vs-stat-v">{{ $decoded['year'] ?? '—' }}</div></div>
|
||||
<div><div class="vs-stat-l">WMI</div><div class="vs-stat-v" style="font-family:monospace;">{{ $decoded['wmi'] }}</div></div>
|
||||
<div><div class="vs-stat-l">Serial</div><div class="vs-stat-v" style="font-family:monospace;font-size:12px;">{{ $decoded['serial'] }}</div></div>
|
||||
<div><div class="vs-stat-l">{{ __('Serial') }}</div><div class="vs-stat-v" style="font-family:monospace;font-size:12px;">{{ $decoded['serial'] }}</div></div>
|
||||
</div>
|
||||
@else
|
||||
<div style="color:#dc2626;">⚠ {{ $decoded['error'] ?? 'WMI necunoscut — producătorul nu e în baza de date locală.' }}</div>
|
||||
@@ -49,7 +49,7 @@
|
||||
<div class="vs-card">
|
||||
<h3 style="font-size:14px;font-weight:600;margin-bottom:12px;">{{ __('🚗 Mașini cu acest VIN în CRM') }}</h3>
|
||||
<table class="vs-tbl">
|
||||
<thead><tr><th>VIN</th><th>Marca/Model</th><th>Plate</th><th>{{ __('Client') }}</th><th>Km</th></tr></thead>
|
||||
<thead><tr><th>VIN</th><th>{{ __('Marca/Model') }}</th><th>{{ __('Plate') }}</th><th>{{ __('Client') }}</th><th>{{ __('Km') }}</th></tr></thead>
|
||||
<tbody>
|
||||
@foreach ($matches as $v)
|
||||
<tr>
|
||||
@@ -78,7 +78,7 @@
|
||||
<div style="color:#9ca3af;text-align:center;padding:20px;">Niciun rezultat pentru „{{ $partsQuery }}"</div>
|
||||
@else
|
||||
<table class="vs-tbl">
|
||||
<thead><tr><th>Denumire</th><th>{{ __('Cod') }}</th><th>Brand</th><th>{{ __('Stoc') }}</th><th>{{ __('Preț') }}</th></tr></thead>
|
||||
<thead><tr><th>{{ __('Denumire') }}</th><th>{{ __('Cod') }}</th><th>{{ __('Brand') }}</th><th>{{ __('Stoc') }}</th><th>{{ __('Preț') }}</th></tr></thead>
|
||||
<tbody>
|
||||
@foreach ($parts as $p)
|
||||
<tr>
|
||||
|
||||
Reference in New Issue
Block a user