PHPackages                             eg-mohamed/filament-translatable-tabs - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Localization &amp; i18n](/categories/localization)
4. /
5. eg-mohamed/filament-translatable-tabs

ActiveLibrary[Localization &amp; i18n](/categories/localization)

eg-mohamed/filament-translatable-tabs
=====================================

Simplifying managing json based translation columns using tabs

v5.1.0(1mo ago)03↓66.7%MITPHP

Since Jan 10Pushed 1mo agoCompare

[ Source](https://github.com/EG-Mohamed/filament-translatable-tabs)[ Packagist](https://packagist.org/packages/eg-mohamed/filament-translatable-tabs)[ Docs](https://github.com/eg-mohamed/filament-translatable-tabs)[ GitHub Sponsors](https://github.com/Abdulmajeed-Jamaan)[ RSS](/packages/eg-mohamed-filament-translatable-tabs/feed)WikiDiscussions main Synced 1w ago

READMEChangelogDependencies (6)Versions (8)Used By (0)

> This package inspired by this [filament-translatable-fields](https://github.com/outer-web/filament-translatable-fields), but allowing filament like customizability on the `Tabs` and `Fields` components in context of each locale.

Filament Translatable Tabs
==========================

[](#filament-translatable-tabs)

[![Latest Version on Packagist](https://camo.githubusercontent.com/b6540ff78a9865694f882928b668a4deeaca218e8c9fd9e1d1b1e83eb0e66217/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f616264756c6d616a6565642d6a616d61616e2f66696c616d656e742d7472616e736c617461626c652d746162732e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/abdulmajeed-jamaan/filament-translatable-tabs)[![GitHub Tests Action Status](https://camo.githubusercontent.com/b656a223d2b2d530578bcffafdb3a2a52f4cf0ea2c888996ad5daf8c661edc91/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f616374696f6e732f776f726b666c6f772f7374617475732f616264756c6d616a6565642d6a616d61616e2f66696c616d656e742d7472616e736c617461626c652d746162732f72756e2d74657374732e796d6c3f6272616e63683d342e78266c6162656c3d7465737473267374796c653d666c61742d737175617265)](https://github.com/abdulmajeed-jamaan/filament-translatable-tabs/actions?query=workflow%3Arun-tests+branch%3A4.x)[![GitHub Code Style Action Status](https://camo.githubusercontent.com/d91424bf2001788f2409d3c39e0995acfec1507401db95b2ceca91693283e869/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f616374696f6e732f776f726b666c6f772f7374617475732f616264756c6d616a6565642d6a616d61616e2f66696c616d656e742d7472616e736c617461626c652d746162732f6669782d7068702d636f64652d7374796c652d6973737565732e796d6c3f6272616e63683d342e78266c6162656c3d636f64652532307374796c65267374796c653d666c61742d737175617265)](https://github.com/abdulmajeed-jamaan/filament-translatable-tabs/actions?query=workflow%3A%22fix+php+code+style+issues%22+branch%3A4.x)[![Total Downloads](https://camo.githubusercontent.com/2871cf8a483f510384408d730a584656b8257daa2a8fc8501ae1745c9d0760e4/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f616264756c6d616a6565642d6a616d61616e2f66696c616d656e742d7472616e736c617461626c652d746162732e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/abdulmajeed-jamaan/filament-translatable-tabs)

Automatically generate tabs for translations.

Works seamlessly with [spatie/laravel-translatable](https://github.com/spatie/laravel-translatable), [lara-zeus/translatable-pro](https://larazeus.com/translatable-pro), but it can be used standalone as well.

[![Preview](./art/single-field-preview.gif)](./art/single-field-preview.gif)

[![Preview](./art/multiple-fields-preview.gif)](./art/multiple-fields-preview.gif)

### Supported Filament versions

[](#supported-filament-versions)

Filament VersionFilament Translatable Tabs Version^3.x^3.x^4.x^4.x^5.x^5.xInstallation
------------

[](#installation)

You can install the package via composer:

```
composer require eg-mohamed/filament-translatable-tabs
```

Then in any registered service provider `boot()` method configure the following:

```
TranslatableTabs::configureUsing(function (TranslatableTabs $component) {
    $component
        // locales labels
        ->localesLabels([
            'ar' => __('locales.ar'),
            'en' => __('locales.en')
        ])
        // default locales
        ->locales(['ar', 'en']);
});
```

Usage
-----

[](#usage)

```
// Single Field
TextInput::make('title')
    ->translatableTabs();

// Multiple Fields
TranslatableTabs::make('anyLabel')
    ->schema([
        Forms\Components\TextInput::make("title"),
        Forms\Components\Textarea::make("content")
    ]);
```

Customizations
--------------

[](#customizations)

You can customize [`Tab`](https://filamentphp.com/docs/3.x/forms/layout/tabs) and [`Field`](https://filamentphp.com/docs/3.x/forms/fields/getting-started) based on locale using the following methods:

```
use AbdulmajeedJamaan\FilamentTranslatableTabs\TranslatableTabs;
use AbdulmajeedJamaan\FilamentTranslatableTabs\TranslatableTab;
use Filament\Forms\Components\Field;

$customizeTab = function (TranslatableTab $component, string $locale) {
    // ...
};

$customizeField = function (Field $component, string $locale) {
    // ...
};

// Globally in boot method
TranslatableTabs::configureUsing(function (TranslatableTabs $component) {
    $component
        ->modifyTabsUsing($customizeTab)
        ->modifyFieldsUsing($customizeField);
});

// Single Field
TextInput::make()
    ->translatableTabs()
    ->modifyTabsUsing($customizeTab)
    ->modifyFieldsUsing($customizeField)

// Multiple Fields
TranslatableTabs::make('anyLabel')
    ->modifyTabsUsing($customizeTab)
    ->modifyFieldsUsing($customizeField)
    ->schema([
        Forms\Components\TextInput::make("title"),
        Forms\Components\Textarea::make("content")
    ]);
```

#### Override the default locale

[](#override-the-default-locale)

You can add the method `locale` to change it on the fly:

```
$localesFn = function () {
    return ['ar', 'en'];

    // also you can override label using:
    return [
        'ar' => 'Arabic',
        'en' => 'English'
    ]
}
// Single Field
TextInput::make('title')
    ->translatableTabs()
    ->locales($localesFn);

// Multiple Fields
TranslatableTabs::make('anyLabel')
    ->locales($localesFn)
    ->schema([
        Forms\Components\TextInput::make("title"),
        Forms\Components\Textarea::make("content")
    ]);
```

### Pre made configurations

[](#pre-made-configurations)

In order to have similar experience to the [preview](#filament-translatable-tabs) set the following:

```
TranslatableTabs::configureUsing(function (TranslatableTabs $component) {
    $component
        ->addDirectionByLocale()
        ->addEmptyBadgeWhenAllFieldsAreEmpty(emptyLabel: __('locales.empty'))
        ->addSetActiveTabThatHasValue();
});
```

Changelog
---------

[](#changelog)

Please see [CHANGELOG](CHANGELOG.md) for more information on what has changed recently.

Contributing
------------

[](#contributing)

Please see [CONTRIBUTING](.github/CONTRIBUTING.md) for details.

Security Vulnerabilities
------------------------

[](#security-vulnerabilities)

Please review [our security policy](../../security/policy) on how to report security vulnerabilities.

Credits
-------

[](#credits)

- [Abdulmajeed-Jamaan](https://github.com/Abdulmajeed-Jamaan)
- [All Contributors](../../contributors)

License
-------

[](#license)

The MIT License (MIT). Please see [License File](LICENSE.md) for more information.

###  Health Score

38

—

LowBetter than 83% of packages

Maintenance90

Actively maintained with recent releases

Popularity3

Limited adoption so far

Community11

Small or concentrated contributor base

Maturity44

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 73.9% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~110 days

Recently: every ~138 days

Total

6

Last Release

45d ago

Major Versions

v1.1.0 → v2.0.02025-01-12

v2.0.2 → v5.1.02026-07-16

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/23424932?v=4)[Mohamed Said](/maintainers/EG-Mohamed)[@EG-Mohamed](https://github.com/EG-Mohamed)

---

Top Contributors

[![Abdulmajeed-Jamaan](https://avatars.githubusercontent.com/u/41128358?v=4)](https://github.com/Abdulmajeed-Jamaan "Abdulmajeed-Jamaan (65 commits)")[![dependabot[bot]](https://avatars.githubusercontent.com/in/29110?v=4)](https://github.com/dependabot[bot] "dependabot[bot] (12 commits)")[![github-actions[bot]](https://avatars.githubusercontent.com/in/15368?v=4)](https://github.com/github-actions[bot] "github-actions[bot] (6 commits)")[![EG-Mohamed](https://avatars.githubusercontent.com/u/23424932?v=4)](https://github.com/EG-Mohamed "EG-Mohamed (4 commits)")[![khaled-sadek](https://avatars.githubusercontent.com/u/65240054?v=4)](https://github.com/khaled-sadek "khaled-sadek (1 commits)")

---

Tags

laraveltranslationfilamentfilament-translatable-tabsAbdulmajeed-Jamaan

###  Code Quality

TestsPest

Static AnalysisPHPStan

Code StyleLaravel Pint

### Embed Badge

![Health badge](/badges/eg-mohamed-filament-translatable-tabs/health.svg)

```
[![Health](https://phpackages.com/badges/eg-mohamed-filament-translatable-tabs/health.svg)](https://phpackages.com/packages/eg-mohamed-filament-translatable-tabs)
```

###  Alternatives

[codewithdennis/filament-select-tree

The multi-level select field enables you to make single selections from a predefined list of options that are organized into multiple levels or depths.

331634.0k37](/packages/codewithdennis-filament-select-tree)[relaticle/flowforge

Flowforge is a lightweight Kanban board package for Filament that works with existing Eloquent models.

418183.2k11](/packages/relaticle-flowforge)[askdkc/breezejp

Laravel Starter Kit (Livewire+Breeze+Laravel UI+Jetstream)や標準のバリデーションメッセージを全て一瞬で日本語化し、言語切替機能も提供するパッケージです / This package provides all-in-one Japanese translation for Laravel StarterKit (Livewire StarterKit, Breeze, Laravel UI and Jetstream) packages and validation messages with language switching feature.

592296.7k1](/packages/askdkc-breezejp)[abdulmajeed-jamaan/filament-translatable-tabs

Simplifying managing json based translation columns using tabs

40108.8k1](/packages/abdulmajeed-jamaan-filament-translatable-tabs)[awcodes/richer-editor

A collection of extensions and tools to enhance the Filament Rich Editor field.

4018.1k11](/packages/awcodes-richer-editor)[codewithdennis/filament-advanced-choice

Beautiful, customizable radio and checkbox form layouts for FilamentPHP.

11615.7k5](/packages/codewithdennis-filament-advanced-choice)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
