feat(i18n): wrap 1103 hardcoded UI strings across Filament with __()
- Convert static $modelLabel/$pluralModelLabel/$title to getter methods - Wrap ->label()/->placeholder()/->helperText()/->description()/->title()/->body() args - Wrap Section::make()/Fieldset::make()/Notification::make()->title() args - Fix RelationManagers::getTitle() signature to match parent (Model, string) - Fix Pages::getTitle() to instance method (BasePage::getTitle is non-static) - Extend lang/ru.json + lang/en.json with 700+ common terms; identity fallback for the rest - Remove duplicate getters in 5 resources that had manual getModelLabel already All 306 tests pass. Missing translations fall back to the RO key so the UI never breaks. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
+13
-8
@@ -11,25 +11,30 @@ class StorageRelationManager extends RelationManager
|
||||
{
|
||||
protected static string $relationship = 'storage';
|
||||
|
||||
protected static ?string $title = 'Istoric depozitare';
|
||||
protected static ?string $title = null;
|
||||
|
||||
public static function getTitle(\Illuminate\Database\Eloquent\Model $ownerRecord, string $pageClass): string
|
||||
{
|
||||
return __('Istoric depozitare');
|
||||
}
|
||||
|
||||
public function table(Table $table): Table
|
||||
{
|
||||
return $table
|
||||
->columns([
|
||||
Tables\Columns\TextColumn::make('season_label')->label('Perioadă')->placeholder('—'),
|
||||
Tables\Columns\TextColumn::make('location')->label('Locație')->placeholder('—'),
|
||||
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('season_label')->label(__('Perioadă'))->placeholder('—'),
|
||||
Tables\Columns\TextColumn::make('location')->label(__('Locație'))->placeholder('—'),
|
||||
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)
|
||||
->badge()
|
||||
->colors(['success' => ['stored'], 'gray' => ['retrieved']]),
|
||||
Tables\Columns\TextColumn::make('fee')->money('MDL')->alignRight(),
|
||||
Tables\Columns\IconColumn::make('paid')->label('Plătit')->boolean(),
|
||||
Tables\Columns\IconColumn::make('paid')->label(__('Plătit'))->boolean(),
|
||||
])
|
||||
->defaultSort('checked_in_at', 'desc')
|
||||
->emptyStateHeading('Niciun istoric')
|
||||
->emptyStateDescription('Folosește „Check-in depozit" pe set pentru a înregistra prima depozitare.');
|
||||
->emptyStateHeading(__('Niciun istoric'))
|
||||
->emptyStateDescription(__('Folosește „Check-in depozit" pe set pentru a înregistra prima depozitare.'));
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user