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(3mo ago)3755.2k—4.8%91MITPHPCI 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 1mo ago

READMEChangelog (10)Dependencies (7)Versions (14)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

51

—

FairBetter than 96% of packages

Maintenance85

Actively maintained with recent releases

Popularity44

Moderate usage in the ecosystem

Community18

Small or concentrated contributor base

Maturity45

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 78.3% 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 ~33 days

Recently: every ~58 days

Total

14

Last Release

59d 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] (11 commits)")[![github-actions[bot]](https://avatars.githubusercontent.com/in/15368?v=4)](https://github.com/github-actions[bot] "github-actions[bot] (5 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

[kenepa/translation-manager

Manage your application's translation strings in Filament.

14583.6k2](/packages/kenepa-translation-manager)[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.

590244.8k1](/packages/askdkc-breezejp)[schmeits/filament-character-counter

This is a Filament character counter TextField and Textarea form field for Filament v4 and v5

33184.7k6](/packages/schmeits-filament-character-counter)[statikbe/laravel-filament-chained-translation-manager

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

92108.7k](/packages/statikbe-laravel-filament-chained-translation-manager)[outerweb/filament-translatable-fields

Filament integration for spatie/laravel-translatable

3582.9k8](/packages/outerweb-filament-translatable-fields)[defstudio/filament-searchable-input

A searchable autocomplete input for Filament forms

3212.4k](/packages/defstudio-filament-searchable-input)

PHPackages © 2026

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