Translation Manager
Communitybenriadh1/laravel-filament-translation-manager is a Filament v5 plugin that adds a clean translation management page with inline editing, filtering, prefix tabs, and optional status widget support.
filament/
namespace. Review the source and install at your own risk. Found
malware or an unresolved security issue the author won't
address?
Report it
.
Author:
Riadh Ben Ali
Documentation
- Highlights
- Requirements
- Install
- Register In Panel
- Quick Start
- Config Model
- Common Configuration Examples
- Prefix Tabs
- Translation Status Widget
- Example Workflow
- Localization
- Inspiration
- License
A Filament v5 translation management plugin for browsing, filtering, and updating Laravel translation keys from inside your admin panel, with inline editing, missing-translation workflows, prefix tabs, and optional status widget support.
Release version: 1.1.0
#Highlights
- Dedicated
Translation Managerpage in Filament navigation - Inline editing with
SaveandCancelactions - Search by translation key and translation content
- Multi-select filters for groups and locales
Only show missing translationsworkflow- Prefix tabs with per-group missing and total counters
- Optional dashboard widget for missing translation count
- Publishable config, views, and package language files
- English and French package UI translations
- Sensible locale fallback using
app.localeandapp.fallback_locale
#Requirements
- PHP
^8.2 - Filament
^5.0
#Install
composer require benriadh1/laravel-filament-translation-manager
Optional publish commands:
php artisan vendor:publish --tag=benriadh-filament-translation-manager-config
php artisan vendor:publish --tag=benriadh-filament-translation-manager-lang
php artisan vendor:publish --tag=benriadh-filament-translation-manager-views
#Register In Panel
use Benriadh1\FilamentTranslationManager\BenriadhFilamentTranslationManagerPlugin;
use Filament\Panel;
public function panel(Panel $panel): Panel
{
return $panel->plugins([
BenriadhFilamentTranslationManagerPlugin::make(),
]);
}
#Quick Start
After installation, open your Filament panel and go to Translation Manager.
By default, the package will:
- use
filament-translation-manager.localeswhen configured - otherwise fall back to
app.localeandapp.fallback_locale - scan your Laravel translation groups
- let your team search, filter, and update translations inline
This makes it useful for day-to-day content maintenance as well as translation QA before release.
#Config Model
Main config file: config/filament-translation-manager.php
<?php
use Filament\Support\Icons\Heroicon;
return [
'locales' => [],
'gate' => null,
'ignore_groups' => [],
'navigation_sort' => null,
'navigation_group' => 'benriadh-filament-translation-manager::messages.navigation_group',
'prefix_tabs' => [
'sys' => 'System',
'acc' => 'Accounting',
],
'widget' => [
'enabled' => false,
'gate' => null,
'sort' => null,
],
'navigation_icon' => Heroicon::OutlinedLanguage,
];
Core keys:
locales: Managed locales. If empty, the package usesapp.localeandapp.fallback_locale.gate: Laravel ability used to authorize access to the manager page.ignore_groups: Translation groups excluded from the manager and widget counts.navigation_sort: Navigation sort order in Filament.navigation_group: Sidebar group label, as a translation key or plain string.prefix_tabs: Translation groups shown as dedicated quick-access tabs.widget: Controls the optional missing-translations widget.navigation_icon: Navigation icon for the page. Setnullto hide it.
#Common Configuration Examples
#Managed locales
'locales' => ['en', 'fr', 'de'],
#Authorization
'gate' => 'manage-translations',
#Ignore framework or system groups
'ignore_groups' => ['pagination', 'passwords'],
#Navigation placement
'navigation_group' => 'Settings',
'navigation_sort' => 90,
#Hide the navigation icon
'navigation_icon' => null,
#Prefix Tabs
Prefix tabs help surface important translation groups such as sys, acc, or any module-specific group used across your application.
Simple list format:
'prefix_tabs' => ['sys', 'acc'],
Custom label format:
'prefix_tabs' => [
'sys' => 'System Core',
'acc' => 'Accounting',
],
When a configured group exists in your language files, the manager shows:
- a dedicated tab for that group
- the total number of keys in that group
- the number of missing translations for the selected locales
Groups included in prefix tabs are separated from the default All listing so high-priority translation sets are easier to review.
#Translation Status Widget
Enable the widget to display the current number of missing translations:
'widget' => [
'enabled' => true,
'gate' => 'manage-translations',
'sort' => 10,
],
Notes:
- If
widget.gateisnull, the widget falls back to the maingatevalue. - Ignored groups are excluded from the widget count.
- The widget uses the same resolved locales as the manager page.
#Example Workflow
Imagine your application has a translation group called sys for shared UI labels used in a Companies resource.
#lang/en/sys.php
<?php
return [
'companies' => [
'title' => 'Companies',
'fields' => [
'name' => 'Company name',
'email' => 'Email',
],
'actions' => [
'create' => 'Create company',
'edit' => 'Edit company',
],
],
];
#Use the keys in your Filament resource
<?php
use Filament\Forms\Components\TextInput;
use Filament\Schemas\Schema;
public static function form(Schema $schema): Schema
{
return $schema->components([
TextInput::make('name')
->label(__('sys.companies.fields.name'))
->required(),
TextInput::make('email')
->label(__('sys.companies.fields.email'))
->email(),
]);
}
#Add a dedicated tab for that group
'prefix_tabs' => [
'sys' => 'SYS',
],
Now the sys group appears as its own tab in Translation Manager, making those labels easier to audit and complete.
#Localization
The package ships with UI translations for:
resources/lang/en/messages.phpresources/lang/fr/messages.php
Publish them if you want to customize wording for your project:
php artisan vendor:publish --tag=benriadh-filament-translation-manager-lang
#Inspiration
- Plugin concept inspired by Laravel Filament Chained Translation Manager
#License
MIT. See LICENSE.md.
The author
From the same author
Notification Bell
This plugin adds a real-time notification bell UI to your admin panel. It provides a clean, familiar UX (like modern SaaS apps) for displaying, managing, and interacting with notifications directly inside Filament.
Author:
Riadh Ben Ali
BenRiadh Theme
A modern and customizable theme package for Filament, designed to enhance the visual experience of your admin panels with clean styling, flexible configuration, and seamless integration.
Author:
Riadh Ben Ali
Featured Plugins
A selection of plugins curated by the Filament team
Custom Dashboards
Let your users build and share their own dashboards with a drag-and-drop interface. Define your data sources in PHP and let them do the rest.
Filament
Data Lens
Advanced Data Visualization for Laravel Filament - a premium reporting solution enabling custom column creation, sophisticated filtering, and enterprise-grade data insights within admin panels.
Padmission
Spotlight Pro
Browse your Filament Panel with ease. Filament Spotlight Pro adds a Spotlight/Raycast like Command Palette to your Filament Panel.
Dennis Koch