PHPackages                             abdulmajeed-jamaan/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. abdulmajeed-jamaan/filament-translatable-tabs

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

abdulmajeed-jamaan/filament-translatable-tabs
=============================================

Simplifying managing json based translation columns using tabs

v5.0.0(6mo ago)3999.4k↓27.6%9[1 issues](https://github.com/Abdulmajeed-Jamaan/filament-translatable-tabs/issues)[1 PRs](https://github.com/Abdulmajeed-Jamaan/filament-translatable-tabs/pulls)1MITPHPCI passing

Since Jan 10Pushed 1mo ago1 watchersCompare

[ Source](https://github.com/Abdulmajeed-Jamaan/filament-translatable-tabs)[ Packagist](https://packagist.org/packages/abdulmajeed-jamaan/filament-translatable-tabs)[ Docs](https://github.com/abdulmajeed-jamaan/filament-translatable-tabs)[ GitHub Sponsors](https://github.com/Abdulmajeed-Jamaan)[ RSS](/packages/abdulmajeed-jamaan-filament-translatable-tabs/feed)WikiDiscussions 4.x Synced 2w ago

READMEChangelog (10)Dependencies (7)Versions (15)Used By (1)

> 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 abdulmajeed-jamaan/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

50

—

FairBetter than 95% of packages

Maintenance78

Regular maintenance activity

Popularity45

Moderate usage in the ecosystem

Community18

Small or concentrated contributor base

Maturity47

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 76.5% 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 ~36 days

Recently: every ~66 days

Total

14

Last Release

120d ago

Major Versions

v1.1.0 → v2.0.02025-01-12

v2.0.2 → v3.0.02025-02-28

v3.0.1 → v4.0.02025-06-24

v3.0.2 → v4.0.12025-07-30

v4.0.1 → v5.0.02026-01-23

### Community

Maintainers

![](https://www.gravatar.com/avatar/14843afb2089a1027aeecea77144d470c30b0146b9fe7ea9028531e670e7c50a?d=identicon)[Abdulmajeed-Jamaan](/maintainers/Abdulmajeed-Jamaan)

---

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 (1 commits)")[![khaled-sadek](https://avatars.githubusercontent.com/u/65240054?v=4)](https://github.com/khaled-sadek "khaled-sadek (1 commits)")

---

Tags

filamentlaravelspatie-translatabletranslationslaraveltranslationfilamentfilament-translatable-tabsAbdulmajeed-Jamaan

###  Code Quality

TestsPest

Static AnalysisPHPStan

Code StyleLaravel Pint

### Embed Badge

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

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

###  Alternatives

[rawilk/profile-filament-plugin

Profile &amp; MFA starter kit for filament.

3915.5k](/packages/rawilk-profile-filament-plugin)[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.

329575.9k35](/packages/codewithdennis-filament-select-tree)[backstage/mails

View logged mails and events in a beautiful Filament UI.

16429.7k](/packages/backstage-mails)[stephenjude/filament-two-factor-authentication

Filament Two Factor Authentication: Google 2FA + Passkey Authentication

85240.3k9](/packages/stephenjude-filament-two-factor-authentication)[marcelweidum/filament-passkeys

Use passkeys in your filamentphp app

6758.2k2](/packages/marcelweidum-filament-passkeys)[stephenjude/filament-jetstream

A Laravel starter kit built with Filament inspired by Jetstream.

17861.9k3](/packages/stephenjude-filament-jetstream)

PHPackages © 2026

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