Text Version of the Lesson
If you work with multi-language projects in Filament, there's not much you need to learn, as Filament primarily relies on Laravel Localization features. But I will briefly demonstrate to you how it works.
Filament "System" Translations
Filament has many components translated into many languages: buttons, labels, menu items, etc.
So, you can just change the system locale in Laravel, and Filament will automatically apply the new translated texts.
config/app.php
'locale' => 'en', 'locale' => 'lt',
Here's how the Filament dashboard will look now, with some system words translated into my Lithuanian language:

But, of course, the rest is up to you to translate all the things manually.
If you want to edit those system translations, you need to publish them, it's part of the installation process, but you may also do it later.
php artisan vendor:publish --tag=filament-panels-translations
Then you will have a lot of language files in /lang/vendor/filament-panels:

Inside each language, you will see a structure of files. They are pretty self-explanatory in their purpose. Each file is a PHP array:

So you can try to edit any value, and it will be shown on...
Hello.
How can we translate the resource name "Product" not just in the menu, but on the resource section of the page, for example in the bold text "Sukurti Product"?
Thank you
There are methods
getModelLabel()andgetPluralModelLabel()How to translate the model name, when I click create product button, it shows the second word "product" still English, but the first word "Create" already be translated.
Just found out the answer: public static function getModelLabel(): string { return __('Product'); }
Hm, i didnt catch this. Resourcefile XY: Tables\Columns\TextColumn::make('description') ->label(__('Description')), de.json: { "Description": "Beschreibung", } This works fine in table view. If i click on edit/create etc, the label and translation is away. The field (label) description => Description Do you have an example?
I got it. You also have to code the translation method in the resource in return form/schema, not just in return table/column.
How to use this in SAAS project? like, if I have 2 tenants one from France and another from Italy then store translations in file doesn't work.
Why wouldn't it work? You just have to add the language switcher to the UI, but other than that - it has to work. Especially since the way you store translations has nothing to do with SAAS projects