PHPackages                             novius/laravel-filament-translatable - 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. novius/laravel-filament-translatable

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

novius/laravel-filament-translatable
====================================

A Laravel Filament package for translatable fields

1.0.0(2mo ago)1441↓31.5%13AGPL-3.0-or-laterPHPPHP &gt;=8.2CI passing

Since Sep 19Pushed 2mo agoCompare

[ Source](https://github.com/novius/laravel-filament-translatable)[ Packagist](https://packagist.org/packages/novius/laravel-filament-translatable)[ RSS](/packages/novius-laravel-filament-translatable/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (1)Dependencies (7)Versions (3)Used By (3)

Laravel Filament Translatable
=============================

[](#laravel-filament-translatable)

[![License: AGPL v3](https://camo.githubusercontent.com/c61341f63648cdd5aba4f7a073b513106a63778c27b15f96c56157642bc943b4/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4c6963656e73652d4147504c25323076332d626c75652e737667)](http://www.gnu.org/licenses/agpl-3.0)

Introduction
------------

[](#introduction)

This package allows you to manage Laravel Models that use [Laravel Translatable](https://github.com/novius/laravel-translatable) in [Laravel Filament](https://filamentphp.com/).

Requirements
------------

[](#requirements)

- Laravel Filament &gt;= 4
- Laravel &gt;= 11.0
- PHP &gt;= 8.2

Installation
------------

[](#installation)

You can install the package via composer:

```
composer require novius/laravel-filament-translatable
```

Assets
------

[](#assets)

Next we need to publish the package's assets. We do this by running the following command:

```
php artisan vendor:publish --provider="Novius\LaravelFilamentTranslatable\LaravelFilamentTranslatableServiceProvider" --tag="public"
```

Lang files
----------

[](#lang-files)

If you want to customize the lang files, you can publish them with:

```
php artisan vendor:publish --provider="Novius\LaravelFilamentTranslatable\LaravelFilamentTranslatableServiceProvider" --tag="lang"
```

Locale Filter
-------------

[](#locale-filter)

Add the `LocaleFilter` filter on your Filament Resource.

```
use Filament\Resources\Resource;
use Novius\LaravelFilamentTranslatable\Filament\Tables\Filters\LocaleFilter;

class Post extends Resource
{
    public static function table(Table $table): Table
    {
        return $table
            /// ...
            ->filters([
                LocaleFilter::make('locale'),
                /// ...
            ]);
    }
}
```

Locale Column
-------------

[](#locale-column)

Add the `LocaleColumn` column on your Filament Resource.

```
use Filament\Resources\Resource;
use Novius\LaravelFilamentTranslatable\Filament\Tables\Columns\LocaleColumn;

class Post extends Resource
{
    public static function table(Table $table): Table
    {
        return $table
            /// ...
            ->columns([
                /// ...
                LocaleColumn::make('locale'),
            ]);
    }
}
```

Locale Input
------------

[](#locale-input)

Add the `Locale` input on your Filament Resource.

```
use Filament\Resources\Resource;
use Novius\LaravelFilamentTranslatable\Filament\Forms\Components\Locale;

class Post extends Resource
{
    public static function form(Form $form): Form
    {
        return $form
            ->schema([
                // ...
                Locale::make('locale')
                    ->required(),
                // ...
            ]);
    }
}
```

Translations Column and features
--------------------------------

[](#translations-column-and-features)

In your Filament Resource.

```
use Filament\Resources\Resource;
use Novius\LaravelFilamentTranslatable\Filament\Tables\Columns\TranslationsColumn;

class Post extends Resource
{
    public static function form(Form $form): Form
    {
        return $form
            ->schema([
                Hidden::make('locale_parent_id'),
            ]);
    }

    public static function form(Form $form): Form
    {
        return $table
            // ...
            ->columns([
                // ...
                TranslationsColumn::make('translations')
                    ->locales(['de', 'en']) // Optional. Restricted the locals displayed on this list
                    ->flagWidth(16) // Optional. Width in pixel of the flags
                    ->onlyMissing() // Optional. Will display only translations missing
                    ->withoutMissing() // Optional. Will display only existing translations
                    ,
                // ...
            ]);
    }
}
```

And declare your Create page like this :

```
