我在灯丝中使用 Spatie 可翻译插件,当我在灯丝资源(列表、创建和编辑)中使用它时它可以工作,但是当我想在下面的自定义页面中使用它时它会给出错误:
use Filament\Forms\Form;
use Filament\Forms\Components\TextInput;
use Filament\Forms\Concerns\InteractsWithForms;
use Filament\Actions;
class EditCompany extends Page implements HasForms
{
use InteractsWithForms;
use EditRecord\Concerns\Translatable;
public ?array $data = [];
protected static ?string $navigationIcon = 'heroicon-o-document-text';
protected static string $view = 'filament.pages.edit-company';
public function mount(): void
{
$this->form->fill();
}
public function form(Form $form): Form
{
return $form
->schema([
TextInput::make('name')
->required(),
])
->statePath('data');
}
protected function getHeaderActions(): array
{
return [
Actions\LocaleSwitcher::make(),
];
}
}
这是我的刀片文件:
<x-filament-panels::page>
<x-filament-panels::form>
{{ $this->form }}
</x-filament-panels::form>
</x-filament-panels::page>
有人在自定义页面中使用过 spatie 可翻译吗,或者知道如何修复它。
我尝试了filament spatie可翻译EditRecord:
use EditRecord\Concerns\Translatable;
use Filament\Resources\Concerns\Translatable;
class Setting extends Page
{
public function getActiveFormsLocale(): ?string
{
if (! in_array($this->activeLocale, $this->getTranslatableLocales())) {
return null;
}
return $this->activeLocale;
}
public ?string $activeLocale = 'en';
然后..
Components\TextInput::make('key_name'.$this->getActiveFormsLocale())