- How do I install backtik-ch/filament-translatable in a Laravel Filament app?
- Install it with Composer using composer require backtik-ch/filament-translatable, then register the plugin in your Filament panel provider. Configure your supported locales once, and use the TranslatableInput and TranslatableEntry components on the fields and entries you want to make multilingual. The package is designed as a drop-in UI layer for Filament panels rather than a full translation storage system.
- Does backtik-ch/filament-translatable work with spatie/laravel-translatable models?
- Yes. The package is built around spatie/laravel-translatable attributes and makes them feel native in Filament forms and infolists. It assumes your models already use Spatie Translatable or a compatible multilingual persistence strategy. You should still verify the persistence contract against your existing data in a staging resource before rolling it out widely.
- Which Laravel and Filament versions does filament-translatable support?
- The evaluation notes support for Filament 4 and 5 panels with PHP 8.x. The exact Laravel constraint is not specified in the provided context, so check composer.json before adoption. Because this is a 0.1.0 release, test against the exact Filament minor version you run instead of assuming broad compatibility.
- How do I configure locales and the source locale for translatable fields?
- Locale configuration is centralised in the panel plugin, including the language list, source locale, and optional AI provider or model settings. You configure supported locales once, then the locale-aware form fields and infolist entries use that configuration. Fallback handling is also configurable, which helps when some translations are missing.
- How do I add locale-aware translation inputs to a Filament resource form?
- Use the TranslatableInput form field in your Filament resource form schema and annotate the translatable attributes you want to edit. The component gives you locale-aware inputs with a modal editing mode by default and an inline option for per-screen control. This lets you edit multilingual content alongside the rest of the resource without custom workarounds.
- Can I show translatable values in Filament infolists with TranslatableEntry?
- Yes. TranslatableEntry is the infolist entry component for displaying translatable attributes, with inline-expandable and modal presentation modes. It also supports lineClamp, which is useful for keeping dense infolist tables readable. As with the form field, it relies on your existing translation persistence rather than replacing it.
- Is AI translation included, and can I turn it off?
- Yes, AI translation is part of the package and delegates to laravel/ai, with provider and model settings configured through the panel plugin. Because that introduces credentials and outbound egress, confirm the AI path is opt-in in your environment and pilot with it disabled if your policy restricts third-party content egress. The TranslatableInput and TranslatableEntry components can be used for manual multilingual editing without relying on AI.
- Does this package change my database schema or how translations are stored?
- It is intended as a thin presentation layer over whatever persistence strategy your application already uses, such as JSON columns or a translation table, so adopting it should not force a data-model rewrite. However, the evaluation flags the per-field persistence contract as unclear for a 0.1.0 release. Validate whether the package merely renders existing translations or assumes a storage shape by testing it against your current multilingual data in staging.
- Is a 0.1.0 package safe to use in production Laravel admin panels?
- Treat it as pre-1.0: 0.1.0 has no semver stability guarantee, and API churn is plausible as the plugin contract matures. It also inherits laravel/ai's early-stage release cadence and the risk of unreviewed machine translations reaching production copy. Pilot on one non-critical resource in a staging panel, with AI translation disabled initially, and verify persistence, compatibility, and review workflows before rollout.
- When should I use filament-translatable instead of custom Filament translation fields?
- Choose it when your admin is already built on Filament and your models use spatie/laravel-translatable, because it provides native-feeling locale-aware fields and entries with little custom code. If you use Nova, a custom Livewire admin, or headless/API-only workflows, the UI value is limited and custom fields or a different translation workflow may fit better. Teams with strict content-review requirements should also compare it with a draft-and-review process before enabling AI generation.