i18n: fix widget heading, translate Select options from model consts, +40 keys
- LowStockTable: rename getHeading → getTableHeading (correct Filament API) - Global I18n::opts() helper wraps Model::CONST values in __() so Select dropdowns show translated status/type/season/etc. labels - Sed-transform ->options(X::CONST), ->options(array_combine(X::A,X::A)), and formatStateUsing(fn($s)=>X::CONST[$s]??$s) → wrap with __() (58 options + 10 combines + 7 formatStateUsing across 28 files) - CalendarBoard: all 7 day names now via __() (was missing 4) - calendar-board.blade: fix untranslated 'săptămâna curentă', 'capacitate', 'rata confirmare', 'mediu', 'plin', 'Pod / Zi' / 'Mecanic / Zi' - +40 RU/EN translations (Client & Auto, Maistru / Mecanic, Programat, Sosit, Finalizat, Anulat, Neprezentat, days of week, calendar KPIs) All 306 tests pass. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -169,7 +169,7 @@
|
||||
<div class="cv-kpi">
|
||||
<div class="cv-kpi-label">{{ __('Ore programate') }}</div>
|
||||
<div class="cv-kpi-value">{{ $stats['scheduled_hours'] }} / {{ $stats['capacity_hours'] }}</div>
|
||||
<div class="cv-kpi-sub">săptămâna curentă · {{ $stats['utilization_pct'] }}% capacitate</div>
|
||||
<div class="cv-kpi-sub">{{ __('săptămâna curentă') }} · {{ $stats['utilization_pct'] }}% {{ __('capacitate') }}</div>
|
||||
</div>
|
||||
<div class="cv-kpi">
|
||||
<div class="cv-kpi-label">{{ __('Fișe deschise') }}</div>
|
||||
@@ -179,7 +179,7 @@
|
||||
<div class="cv-kpi">
|
||||
<div class="cv-kpi-label">{{ __('Confirmate') }}</div>
|
||||
<div class="cv-kpi-value green">{{ $stats['confirmed_count'] }} / {{ $stats['total_count'] }}</div>
|
||||
<div class="cv-kpi-sub">{{ $stats['confirmation_rate_pct'] }}% rata confirmare</div>
|
||||
<div class="cv-kpi-sub">{{ $stats['confirmation_rate_pct'] }}% {{ __('rata confirmare') }}</div>
|
||||
</div>
|
||||
<div class="cv-kpi">
|
||||
<div class="cv-kpi-label">{{ __('No-show alert') }}</div>
|
||||
@@ -277,7 +277,7 @@
|
||||
@else
|
||||
<div class="cv-matrix-wrap">
|
||||
<div class="cv-grid" style="grid-template-columns: 140px repeat({{ count($days) }}, minmax({{ $viewMode === 'month' ? '70' : '160' }}px, 1fr)); min-width: {{ 140 + count($days) * ($viewMode === 'month' ? 75 : 165) }}px;">
|
||||
<div class="cv-cell cv-header-cell" style="background:#EDF2F7;">{{ $groupBy === 'post' ? 'Pod / Zi' : 'Mecanic / Zi' }}</div>
|
||||
<div class="cv-cell cv-header-cell" style="background:#EDF2F7;">{{ $groupBy === 'post' ? __('Pod / Zi') : __('Mecanic / Zi') }}</div>
|
||||
@foreach ($days as $day)
|
||||
<div class="cv-cell cv-header-cell {{ $day['is_today'] ? 'today' : '' }} {{ $day['is_closed'] ? 'closed' : '' }}">
|
||||
<span class="cv-day-name">{{ $day['name'] }}</span>
|
||||
@@ -354,8 +354,8 @@
|
||||
<div class="cv-legend-col">{{ __('Încărcare celulă') }}</div>
|
||||
<div class="cv-legend-items">
|
||||
<div class="cv-legend-item"><span class="cv-load" style="position:static;">0–5h/10</span> {{ __('liber/ușor') }}</div>
|
||||
<div class="cv-legend-item"><span class="cv-load warn" style="position:static;">5–8.5h/10</span> mediu</div>
|
||||
<div class="cv-legend-item"><span class="cv-load full" style="position:static;">{{ __('≥9h/10') }}</span> plin</div>
|
||||
<div class="cv-legend-item"><span class="cv-load warn" style="position:static;">5–8.5h/10</span> {{ __('mediu') }}</div>
|
||||
<div class="cv-legend-item"><span class="cv-load full" style="position:static;">{{ __('≥9h/10') }}</span> {{ __('plin') }}</div>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
|
||||
Reference in New Issue
Block a user