Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message
Laravel Filament Chained Translation Manager

Laravel Filament Chained Translation Manager Laravel Package

statikbe/laravel-filament-chained-translation-manager

A Filament plugin for Laravel that adds a translation manager to browse and edit your app's language files right in the admin panel. It supports chained machine translation via Google, DeepL, OpenAI and more, making it easy to keep every locale up to date.

View on GitHub
Deep Wiki
Context7

A translation manager tool for Laravel Filament, that makes use of the Laravel Chained Translator.

Frequently asked questions about Laravel Filament Chained Translation Manager
How do I install statikbe/laravel-filament-chained-translation-manager in a Laravel app?
Install it with Composer, which pulls in the underlying statikbe/laravel-chained-translator package, then register the plugin in your Filament PanelProvider. If you plan to store translations in the database, publish the config and run the migrations. File-only mode needs no data migration because your existing lang files stay as the base layer. Most teams get a working panel in a few hours, so treat it as a half-day spike rather than a multi-sprint project.
Which Laravel and Filament versions does this translation manager support?
The package targets modern Laravel (10, 11 and 12) and Filament 3.x or 4.x, with a PHP 8.2+ baseline. Check the composer.json constraints before committing, because Filament plugin APIs changed between majors. Pin your Filament major version explicitly and budget upgrade work each cycle, since small single-vendor plugins tend to lag behind Filament releases.
Does the plugin write translations to lang files or to the database?
It is configurable, and this is the most important decision you will make with the package. The file driver edits your lang/ directory directly, while the database driver stores overrides in a table layered on top of the file-based values. Whichever you choose becomes the canonical write target, which affects deploy behavior, rollback semantics and who owns the source of truth. Decide this before installing, ideally as a governance choice rather than a technical default.
Can I use this translation manager in Docker with a read-only or immutable filesystem?
Not with the file driver: edits written to lang/ on disk are wiped on the next deploy and will not work at all on a read-only filesystem. If you run ephemeral containers, the database driver is effectively mandatory, with the accompanying migration and backup obligations. Keep the shipped lang/ files as the read-only base layer and let the database hold the overrides. Verify the write path per environment before enabling it in production.
How does chained machine translation work with Google, DeepL and OpenAI?
Translation lookup resolves through an ordered chain, typically file-based lang files first, then database overrides, then a machine translation provider. You choose the provider and chain order in configuration, so the plugin is really a UI over a resolution mechanism the chained translator already provides. Provider usage is billed and quota-limited, so confirm the cost and rate-limit controls before letting editors trigger machine translation freely. Review machine output before it becomes the canonical value for a locale.
Does adding database or machine translation slow down Laravel __() lookups at runtime?
Every translation call can hit extra I/O when the chain includes a database query or a remote provider, so caching matters. Laravel's translation cache is not automatically aware of every custom driver, so confirm the caching story in the chained translator before enabling the database driver on hot paths. Benchmark under realistic load rather than assuming it is free. For public-facing pages, pre-warming or exporting to files is usually the safer option.
Can I restrict who can edit translations in the Filament panel?
The plugin is a Filament page, so access control depends on Filament's authorization layer and whether the package exposes a policy or gate hook. Verify this in the code before rollout, especially if non-developers such as translators or marketing will use the panel. Also check whether any audit trail records who changed which key. If neither exists, plan to fork or wrap the page rather than granting broad edit access.
How does the translation manager UI handle 10,000+ keys across six locales?
The plugin provides search and filtering over translation keys, which is what makes large key sets workable, but pagination and lazy loading behavior determine whether the page stays usable. Test with your real key count and locale count rather than a demo dataset. If you have very large catalogues, expect to rely heavily on search and filtering instead of scrolling. This is a quick thing to validate during a spike, before translators are onboarded.
Can I import and export translation files with this plugin?
Yes, the plugin supports importing and exporting translation files alongside editing keys in the panel. This is useful for bootstrapping a new locale, syncing with an existing lang/ directory, or handing content to an external translator. Export first if you are moving to the database driver, so you keep a snapshot of your current strings. Treat exports as the rollback artifact if something goes wrong.
Is this package actively maintained, and what are the alternatives?
It is an open-sourced internal tool from a single agency, with roughly 95 stars and no support contract, so assume you may need to fork it. Weigh it against a dedicated TMS such as Crowdin, Lokalise or Phrase if translations are already API-synced, since running both creates two sources of truth. For a database-backed Laravel-only workflow, spatie/laravel-translation-loader is a common alternative, though without the Filament editing UI. Choose based on who owns the canonical translation value, not on feature lists.
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
middlewares/firewall
qubiqx/montapacking
nyoncode/laravel-package-console
pnscripts/filament-broadquill-lite
pnscripts/laravel-sentfold-lite
vleap/mx-sdk-laravel-internal
twidpay/utils
htetmyathlaing/scout-elasticsearch-driver
artisan-toolbox/front-awesome
ls/client-assistant
users-au/laravel-client
robertmarney/lara-hierarchial-collections
simonschaufi/rule-doc-generator
emissaoja/emissaoja
blackbricksoftware/gravityforms-civicrm-form-processor
al-rahabi/fancy-crud
jinas/dhivatar-component
mltstephane/laravel-quality
bernskiold/laravel-talentlms
bernskioldmedia/laravel-form-architect