Files
Epicnabbo-Catalogus-Updated…/Updated_Cms/app/Filament/Traits/TranslatableResource.php
T
Remco 1d3f30e43d 🆙 More fixes 🆙
2026-01-19 23:26:11 +01:00

72 lines
2.2 KiB
PHP

<?php
namespace App\Filament\Traits;
use Illuminate\Support\Str;
trait TranslatableResource
{
public static function getNavigationGroup(): ?string
{
$vars = get_class_vars(static::class);
$group = $vars['navigationGroup'] ?? null;
$groupStr = '';
if ($group instanceof \UnitEnum) {
$groupStr = $group->name;
} elseif (is_string($group)) {
$groupStr = $group;
}
return __(
sprintf('filament::resources.navigations.%s', $groupStr),
);
}
public static function getPluralModelLabel(): string
{
$vars = get_class_vars(static::class);
$identifier = $vars['translateIdentifier'] ?? null;
$identifierStr = '';
if ($identifier instanceof \UnitEnum) {
$identifierStr = $identifier->name;
} elseif (is_string($identifier)) {
$identifierStr = $identifier;
}
return __(sprintf(
Str::endsWith(static::class, 'RelationManager')
? 'filament::resources.resources.%s.navigation_label'
: 'filament::resources.resources.%s.plural',
$identifierStr,
));
}
public static function getNavigationLabel(): string
{
$vars = get_class_vars(static::class);
$identifier = $vars['translateIdentifier'] ?? null;
$identifierStr = '';
if ($identifier instanceof \UnitEnum) {
$identifierStr = $identifier->name;
} elseif (is_string($identifier)) {
$identifierStr = $identifier;
}
return __(
sprintf('filament::resources.resources.%s.navigation_label', $identifierStr),
);
}
public static function getModelLabel(): string
{
$vars = get_class_vars(static::class);
$identifier = $vars['translateIdentifier'] ?? null;
$identifierStr = '';
if ($identifier instanceof \UnitEnum) {
$identifierStr = $identifier->name;
} elseif (is_string($identifier)) {
$identifierStr = $identifier;
}
return __(
sprintf('filament::resources.resources.%s.label', $identifierStr),
);
}
}