Selecting Arabic / Hebrew (and similar) also drives text direction (RTL). See General Settings.
Set the form (fill) language
1
Open General settings
In Studio, open Form settings (gear) → General.
2
Choose Language
Pick the respondent locale. Built-in fill strings switch to that catalog when it exists (otherwise English is used as fallback).
3
Text direction
RTL languages set direction automatically. You can still override Text direction (
ltr / rtl) when the control is shown.4
Save
Click Save in the settings bar, then publish the form if you use draft/publish.
Set the Studio language
In Global Settings, set Language to:- Auto (app locale) — follows your Laravel
app()->getLocale() en/pl/ … — any locale that exists in the Studio JS catalog (package or published)
Publish translations into your app
Publish once so you can edit strings under your app’slang/ tree (safe across Composer updates as long as you keep your overrides).
Published files override package defaults. Partial files are OK — missing keys fall back to the package English (then package locale) layers. See merge order below.
Edit PHP translations
PHP strings power Blade / Livewire fill chrome, mail copy, validation messages, and some Studio notifications. Keys use thefilament-flex-forms:: namespace, for example filament-flex-forms::fill.submit.
Typical files after publish:
Edit JS translations (Studio + Fill)
Studio (React) and Fill JS use flat JSON catalogs — one string per key. Example (js/fill/en.json):
lang/vendor/filament-flex-forms/js/studio/en.json— admin Studio UIlang/vendor/filament-flex-forms/js/fill/en.json— respondent JS strings that share the fill surface
- Package English
- Your published English overrides
- Package requested locale
- Your published requested locale overrides
FLEX_FORMS_I18N_JS_PATH / filament-flex-forms.i18n.js_path (Config & env).
Add a new language (e.g. German)
1
Publish catalogs
Run
php artisan vendor:publish --tag=filament-flex-forms-translations.2
Copy English → new locale
PHP:JS:
3
Translate the files
Edit the
de PHP arrays and both JSON files. Locale folder / file names use tags like de, en, pl, or pt_BR.4
Select it in the product
- Fill: Form Settings → General → Language (once the fill catalog exists)
- Studio: Global Settings → Language (once the studio catalog exists)
js/{studio|fill}/ folder — including tags that are not in the shipped list (for example hu, pt_BR). No package update is required.Right-to-Left (RTL)
For Arabic, Hebrew, Persian, Urdu, and similar audiences:- Set Language on the form (General).
- Confirm Text direction is
rtl(auto for those languages, or set manually).
dir="rtl".
Checklist
- Fill language set per form (General)
- Studio language set in Global Settings (or Auto)
- Translations published if you customize strings
- PHP + both JS surfaces updated for new locales
- Field labels written in the respondent language
- RTL checked on a real phone for Arabic/Hebrew forms