You've already forked Epicnabbo-Catalogus-Updated-Daily
72 lines
2.2 KiB
PHP
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),
|
|
);
|
|
}
|
|
}
|