i18n: wrap all formatStateUsing(fn(\$s)=>X::CONST[\$s]??\$s) with __() (21 files)
Previous sed pass only matched \$state; missed \$s and other arg-name
variants. This time the regex is arg-name-agnostic and touches 21
files across Filament resources & relation managers.
Also wraps two special cases: UserResource role-labels lookup and
LaborResource pricing_mode ternary ('Fix' | 'Pe oră').
+27 human translations for the enum values that were still identity
fallback: WorkOrderWork.STATUSES (De făcut), Purchase.STATUSES,
OnlineOrder.STATUSES, Call.DIRECTIONS/STATUSES, BodyshopJob.TYPES/
STATUSES, TireSet.SEASONS, MessageTemplate.CHANNELS,
DamagePoint.SEVERITIES, ServiceTemplateItem.KINDS.
All 306 tests pass.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -131,7 +131,7 @@ class SubscriptionResource extends Resource
|
||||
->url(fn ($record) => \App\Filament\Central\Resources\CompanyResource::getUrl('view', ['record' => $record->company_id])),
|
||||
Tables\Columns\TextColumn::make('plan.name')->label(__('Plan'))->placeholder('—'),
|
||||
Tables\Columns\TextColumn::make('period')
|
||||
->formatStateUsing(fn ($s) => Subscription::PERIODS[$s] ?? $s)
|
||||
->formatStateUsing(fn ($s) => __(Subscription::PERIODS[$s] ?? $s))
|
||||
->badge(),
|
||||
Tables\Columns\TextColumn::make('amount')
|
||||
->money(fn ($record) => $record->currency)
|
||||
@@ -139,7 +139,7 @@ class SubscriptionResource extends Resource
|
||||
->weight('bold'),
|
||||
Tables\Columns\TextColumn::make('status')
|
||||
->badge()
|
||||
->formatStateUsing(fn ($s) => Subscription::STATUSES[$s] ?? $s)
|
||||
->formatStateUsing(fn ($s) => __(Subscription::STATUSES[$s] ?? $s))
|
||||
->color(fn ($s) => match ($s) {
|
||||
'paid' => 'success',
|
||||
'overdue' => 'danger',
|
||||
|
||||
@@ -36,7 +36,7 @@ class PendingPayments extends BaseWidget
|
||||
Tables\Columns\TextColumn::make('status')
|
||||
->badge()
|
||||
->color(fn ($s) => $s === 'overdue' ? 'danger' : 'warning')
|
||||
->formatStateUsing(fn ($s) => Subscription::STATUSES[$s] ?? $s),
|
||||
->formatStateUsing(fn ($s) => __(Subscription::STATUSES[$s] ?? $s)),
|
||||
Tables\Columns\TextColumn::make('due_at')
|
||||
->label(__('Scadent'))
|
||||
->dateTime()
|
||||
|
||||
@@ -99,13 +99,13 @@ class BodyshopJobResource extends Resource
|
||||
Tables\Columns\TextColumn::make('client.name')->label(__('Client'))->searchable()->placeholder('—'),
|
||||
Tables\Columns\TextColumn::make('vehicle.plate')->label(__('Auto'))->placeholder('—'),
|
||||
Tables\Columns\TextColumn::make('type')
|
||||
->formatStateUsing(fn ($s) => BodyshopJob::TYPES[$s] ?? $s)
|
||||
->formatStateUsing(fn ($s) => __(BodyshopJob::TYPES[$s] ?? $s))
|
||||
->badge()->color('info'),
|
||||
Tables\Columns\IconColumn::make('is_insurance')->label(__('Asig.'))->boolean()->toggleable(),
|
||||
Tables\Columns\TextColumn::make('damage_points_count')->counts('damagePoints')->label(__('Daune'))->alignRight(),
|
||||
Tables\Columns\TextColumn::make('approved_amount')->label(__('Aprobat'))->money('MDL')->alignRight(),
|
||||
Tables\Columns\TextColumn::make('status')
|
||||
->formatStateUsing(fn ($s) => BodyshopJob::STATUSES[$s] ?? $s)
|
||||
->formatStateUsing(fn ($s) => __(BodyshopJob::STATUSES[$s] ?? $s))
|
||||
->badge()
|
||||
->colors([
|
||||
'gray' => ['estimate'],
|
||||
|
||||
+1
-1
@@ -51,7 +51,7 @@ class DamagePointsRelationManager extends RelationManager
|
||||
Tables\Columns\TextColumn::make('kind')->label(__('Tip')),
|
||||
Tables\Columns\TextColumn::make('severity')
|
||||
->label(__('Gravitate'))
|
||||
->formatStateUsing(fn ($s) => DamagePoint::SEVERITIES[$s] ?? $s)
|
||||
->formatStateUsing(fn ($s) => __(DamagePoint::SEVERITIES[$s] ?? $s))
|
||||
->badge()
|
||||
->colors(['gray' => ['minor'], 'warning' => ['medium'], 'danger' => ['severe']]),
|
||||
Tables\Columns\TextColumn::make('notes')->limit(40)->placeholder('—'),
|
||||
|
||||
@@ -77,7 +77,7 @@ class CallResource extends Resource
|
||||
->columns([
|
||||
Tables\Columns\TextColumn::make('called_at')->label(__('Data'))->dateTime('d.m.Y H:i')->sortable(),
|
||||
Tables\Columns\TextColumn::make('direction')
|
||||
->formatStateUsing(fn ($s) => Call::DIRECTIONS[$s] ?? $s)
|
||||
->formatStateUsing(fn ($s) => __(Call::DIRECTIONS[$s] ?? $s))
|
||||
->badge()
|
||||
->colors([
|
||||
'success' => ['incoming'],
|
||||
@@ -88,7 +88,7 @@ class CallResource extends Resource
|
||||
Tables\Columns\TextColumn::make('client.name')->label(__('Client'))->placeholder('—'),
|
||||
Tables\Columns\TextColumn::make('duration_formatted')->label(__('Durată'))->state(fn (Call $r) => $r->duration_formatted),
|
||||
Tables\Columns\TextColumn::make('status')
|
||||
->formatStateUsing(fn ($s) => Call::STATUSES[$s] ?? $s)
|
||||
->formatStateUsing(fn ($s) => __(Call::STATUSES[$s] ?? $s))
|
||||
->badge(),
|
||||
])
|
||||
->filters([
|
||||
|
||||
@@ -88,12 +88,12 @@ class ExpenseResource extends Resource
|
||||
->columns([
|
||||
Tables\Columns\TextColumn::make('paid_at')->label(__('Data'))->date('d.m.Y')->sortable(),
|
||||
Tables\Columns\TextColumn::make('category')
|
||||
->formatStateUsing(fn ($s) => Expense::CATEGORIES[$s] ?? $s)
|
||||
->formatStateUsing(fn ($s) => __(Expense::CATEGORIES[$s] ?? $s))
|
||||
->badge(),
|
||||
Tables\Columns\TextColumn::make('name')->searchable()->wrap(),
|
||||
Tables\Columns\TextColumn::make('supplier.name')->label(__('Furnizor'))->placeholder('—')->toggleable(),
|
||||
Tables\Columns\TextColumn::make('method')
|
||||
->formatStateUsing(fn ($s) => Expense::METHODS[$s] ?? $s),
|
||||
->formatStateUsing(fn ($s) => __(Expense::METHODS[$s] ?? $s)),
|
||||
Tables\Columns\TextColumn::make('amount')->money('MDL')->alignRight()->sortable()
|
||||
->color('danger')
|
||||
->summarize(Tables\Columns\Summarizers\Sum::make()->money('MDL')->label(__('Total'))),
|
||||
|
||||
@@ -84,7 +84,7 @@ class LaborResource extends Resource
|
||||
Tables\Columns\TextColumn::make('name_ro')->label(__('Manoperă'))->searchable()->sortable(),
|
||||
Tables\Columns\TextColumn::make('pricing_mode')
|
||||
->label(__('Tarifare'))
|
||||
->formatStateUsing(fn ($s) => $s === 'fixed' ? 'Fix' : 'Pe oră')
|
||||
->formatStateUsing(fn ($s) => $s === 'fixed' ? __('Fix') : __('Pe oră'))
|
||||
->badge()
|
||||
->color(fn ($s) => $s === 'fixed' ? 'info' : 'gray'),
|
||||
Tables\Columns\TextColumn::make('hours')->label(__('Ore'))->numeric(decimalPlaces: 2)->alignRight(),
|
||||
|
||||
@@ -97,7 +97,7 @@ class MarkupRuleResource extends Resource
|
||||
->columns([
|
||||
Tables\Columns\TextColumn::make('priority')->label('#')->sortable(),
|
||||
Tables\Columns\TextColumn::make('type')
|
||||
->formatStateUsing(fn ($s) => MarkupRule::TYPES[$s] ?? $s)
|
||||
->formatStateUsing(fn ($s) => __(MarkupRule::TYPES[$s] ?? $s))
|
||||
->badge(),
|
||||
Tables\Columns\TextColumn::make('key')->label(__('Cheie'))->placeholder('—'),
|
||||
Tables\Columns\TextColumn::make('range_from')->label(__('De la'))->placeholder('—'),
|
||||
|
||||
@@ -76,7 +76,7 @@ class MessageTemplateResource extends Resource
|
||||
->columns([
|
||||
Tables\Columns\TextColumn::make('name')->searchable()->sortable(),
|
||||
Tables\Columns\TextColumn::make('channel')
|
||||
->formatStateUsing(fn ($s) => MessageTemplate::CHANNELS[$s] ?? $s)
|
||||
->formatStateUsing(fn ($s) => __(MessageTemplate::CHANNELS[$s] ?? $s))
|
||||
->badge(),
|
||||
Tables\Columns\TextColumn::make('body')->label(__('Preview'))->limit(60),
|
||||
Tables\Columns\IconColumn::make('is_active')->boolean(),
|
||||
|
||||
@@ -86,9 +86,9 @@ class OnlineOrderResource extends Resource
|
||||
Tables\Columns\TextColumn::make('customer_phone')->label(__('Telefon'))->copyable(),
|
||||
Tables\Columns\TextColumn::make('delivery_method')
|
||||
->label(__('Livrare'))
|
||||
->formatStateUsing(fn ($s) => OnlineOrder::DELIVERY[$s] ?? $s),
|
||||
->formatStateUsing(fn ($s) => __(OnlineOrder::DELIVERY[$s] ?? $s)),
|
||||
Tables\Columns\TextColumn::make('status')
|
||||
->formatStateUsing(fn ($s) => OnlineOrder::STATUSES[$s] ?? $s)
|
||||
->formatStateUsing(fn ($s) => __(OnlineOrder::STATUSES[$s] ?? $s))
|
||||
->badge()
|
||||
->colors([
|
||||
'warning' => ['new'],
|
||||
|
||||
@@ -98,7 +98,7 @@ class PaymentResource extends Resource
|
||||
Tables\Columns\TextColumn::make('client.name')->label(__('Client'))->searchable(),
|
||||
Tables\Columns\TextColumn::make('workOrder.number')->label(__('Fișă'))->placeholder('—'),
|
||||
Tables\Columns\TextColumn::make('method')
|
||||
->formatStateUsing(fn ($s) => Payment::METHODS[$s] ?? $s)
|
||||
->formatStateUsing(fn ($s) => __(Payment::METHODS[$s] ?? $s))
|
||||
->badge(),
|
||||
Tables\Columns\TextColumn::make('amount')->money('MDL')->alignRight()->sortable()->summarize(Tables\Columns\Summarizers\Sum::make()->money('MDL')->label(__('Total'))),
|
||||
Tables\Columns\TextColumn::make('reference')->label(__('Ref.'))->placeholder('—')->toggleable(),
|
||||
|
||||
@@ -89,7 +89,7 @@ class PayrollAdjustmentResource extends Resource
|
||||
Tables\Columns\TextColumn::make('date')->date('d.m.Y')->sortable(),
|
||||
Tables\Columns\TextColumn::make('user.name')->label(__('Utilizator'))->searchable(),
|
||||
Tables\Columns\TextColumn::make('type')
|
||||
->formatStateUsing(fn ($s) => PayrollAdjustment::TYPES[$s] ?? $s)
|
||||
->formatStateUsing(fn ($s) => __(PayrollAdjustment::TYPES[$s] ?? $s))
|
||||
->badge()
|
||||
->colors([
|
||||
'success' => ['bonus'],
|
||||
|
||||
@@ -88,7 +88,7 @@ class PurchaseResource extends Resource
|
||||
Tables\Columns\TextColumn::make('expected_at')->label(__('Așteptată'))->date('d.m.Y')->placeholder('—'),
|
||||
Tables\Columns\TextColumn::make('received_at')->label(__('Recepționată'))->date('d.m.Y')->placeholder('—'),
|
||||
Tables\Columns\TextColumn::make('status')
|
||||
->formatStateUsing(fn ($s) => Purchase::STATUSES[$s] ?? $s)
|
||||
->formatStateUsing(fn ($s) => __(Purchase::STATUSES[$s] ?? $s))
|
||||
->badge()
|
||||
->colors([
|
||||
'gray' => ['draft'],
|
||||
|
||||
+1
-1
@@ -71,7 +71,7 @@ class ItemsRelationManager extends RelationManager
|
||||
->columns([
|
||||
Tables\Columns\TextColumn::make('kind')
|
||||
->label(__('Tip'))
|
||||
->formatStateUsing(fn ($s) => ServiceTemplateItem::KINDS[$s] ?? $s)
|
||||
->formatStateUsing(fn ($s) => __(ServiceTemplateItem::KINDS[$s] ?? $s))
|
||||
->badge()
|
||||
->color(fn ($s) => $s === 'labor' ? 'info' : 'gray'),
|
||||
Tables\Columns\TextColumn::make('name')->wrap(),
|
||||
|
||||
+1
-1
@@ -26,7 +26,7 @@ class OrdersRelationManager extends RelationManager
|
||||
Tables\Columns\TextColumn::make('number')->label(__('Nr.')),
|
||||
Tables\Columns\TextColumn::make('created_at')->label(__('Data'))->dateTime('d.m.Y H:i'),
|
||||
Tables\Columns\TextColumn::make('status')
|
||||
->formatStateUsing(fn ($s) => OnlineOrder::STATUSES[$s] ?? $s)
|
||||
->formatStateUsing(fn ($s) => __(OnlineOrder::STATUSES[$s] ?? $s))
|
||||
->badge()
|
||||
->colors([
|
||||
'warning' => ['new'],
|
||||
|
||||
@@ -99,7 +99,7 @@ class SubcontractJobResource extends Resource
|
||||
->alignRight()
|
||||
->color(fn ($state) => (float) $state > 0 ? 'success' : ((float) $state < 0 ? 'danger' : 'gray')),
|
||||
Tables\Columns\TextColumn::make('status')
|
||||
->formatStateUsing(fn ($s) => SubcontractJob::STATUSES[$s] ?? $s)
|
||||
->formatStateUsing(fn ($s) => __(SubcontractJob::STATUSES[$s] ?? $s))
|
||||
->badge()
|
||||
->colors([
|
||||
'warning' => ['sent', 'in_progress'],
|
||||
|
||||
@@ -115,7 +115,7 @@ class TireSetResource extends Resource
|
||||
->state(fn (TireSet $r) => $r->sizeLabel()),
|
||||
Tables\Columns\TextColumn::make('season')
|
||||
->label(__('Sezon'))
|
||||
->formatStateUsing(fn ($s) => TireSet::SEASONS[$s] ?? $s)
|
||||
->formatStateUsing(fn ($s) => __(TireSet::SEASONS[$s] ?? $s))
|
||||
->badge()
|
||||
->colors(['warning' => ['summer'], 'info' => ['winter'], 'gray' => ['allseason']]),
|
||||
Tables\Columns\TextColumn::make('tread_min')->label(__('Uzură min'))
|
||||
|
||||
+1
-1
@@ -27,7 +27,7 @@ class StorageRelationManager extends RelationManager
|
||||
Tables\Columns\TextColumn::make('checked_in_at')->label(__('Primit'))->dateTime('d.m.Y'),
|
||||
Tables\Columns\TextColumn::make('checked_out_at')->label(__('Ridicat'))->dateTime('d.m.Y')->placeholder('—'),
|
||||
Tables\Columns\TextColumn::make('status')
|
||||
->formatStateUsing(fn ($s) => TireStorage::STATUSES[$s] ?? $s)
|
||||
->formatStateUsing(fn ($s) => __(TireStorage::STATUSES[$s] ?? $s))
|
||||
->badge()
|
||||
->colors(['success' => ['stored'], 'gray' => ['retrieved']]),
|
||||
Tables\Columns\TextColumn::make('fee')->money('MDL')->alignRight(),
|
||||
|
||||
@@ -146,7 +146,7 @@ class UserResource extends Resource
|
||||
Tables\Columns\TextColumn::make('email')->searchable()->copyable(),
|
||||
Tables\Columns\TextColumn::make('phone')->placeholder('—'),
|
||||
Tables\Columns\TextColumn::make('role')
|
||||
->formatStateUsing(fn ($state) => \App\Auth\Permissions::roleLabels()[$state] ?? $state)
|
||||
->formatStateUsing(fn ($state) => __(\App\Auth\Permissions::roleLabels()[$state] ?? $state))
|
||||
->badge(),
|
||||
Tables\Columns\IconColumn::make('app_authentication_secret')
|
||||
->label(__('2FA'))
|
||||
|
||||
+1
-1
@@ -77,7 +77,7 @@ class PartsRelationManager extends RelationManager
|
||||
Tables\Columns\TextColumn::make('sell_price')->label(__('Preț'))->money('MDL')->alignRight(),
|
||||
Tables\Columns\TextColumn::make('total')->money('MDL')->alignRight(),
|
||||
Tables\Columns\TextColumn::make('status')
|
||||
->formatStateUsing(fn ($s) => WorkOrderPart::STATUSES[$s] ?? $s)
|
||||
->formatStateUsing(fn ($s) => __(WorkOrderPart::STATUSES[$s] ?? $s))
|
||||
->badge()
|
||||
->colors([
|
||||
'gray' => ['needed'],
|
||||
|
||||
+1
-1
@@ -44,7 +44,7 @@ class PaymentsRelationManager extends RelationManager
|
||||
Tables\Columns\TextColumn::make('amount')->money('MDL')->alignRight()
|
||||
->summarize(Tables\Columns\Summarizers\Sum::make()->money('MDL')->label(__('Plătit'))),
|
||||
Tables\Columns\TextColumn::make('method')
|
||||
->formatStateUsing(fn ($s) => Payment::METHODS[$s] ?? $s)
|
||||
->formatStateUsing(fn ($s) => __(Payment::METHODS[$s] ?? $s))
|
||||
->badge(),
|
||||
Tables\Columns\TextColumn::make('reference')->placeholder('—'),
|
||||
])
|
||||
|
||||
+1
-1
@@ -60,7 +60,7 @@ class SubcontractJobsRelationManager extends RelationManager
|
||||
->money('MDL')->alignRight()
|
||||
->color(fn ($s) => (float) $s > 0 ? 'success' : ((float) $s < 0 ? 'danger' : 'gray')),
|
||||
Tables\Columns\TextColumn::make('status')
|
||||
->formatStateUsing(fn ($s) => SubcontractJob::STATUSES[$s] ?? $s)
|
||||
->formatStateUsing(fn ($s) => __(SubcontractJob::STATUSES[$s] ?? $s))
|
||||
->badge()
|
||||
->colors(['warning' => ['sent', 'in_progress'], 'success' => ['done', 'returned'], 'danger' => ['cancelled']]),
|
||||
])
|
||||
|
||||
+1
-1
@@ -89,7 +89,7 @@ class WorksRelationManager extends RelationManager
|
||||
}),
|
||||
Tables\Columns\TextColumn::make('master.name')->label(__('Maistru'))->placeholder('—'),
|
||||
Tables\Columns\TextColumn::make('status')
|
||||
->formatStateUsing(fn ($s) => WorkOrderWork::STATUSES[$s] ?? $s)
|
||||
->formatStateUsing(fn ($s) => __(WorkOrderWork::STATUSES[$s] ?? $s))
|
||||
->badge()
|
||||
->colors(['gray' => ['todo'], 'warning' => ['in_progress'], 'success' => ['done']]),
|
||||
])
|
||||
|
||||
Reference in New Issue
Block a user