iabduul7/filament-auto-transliterate
A Filament plugin for automatic transliteration of text fields. Convert input into Latin script or your chosen target as users type, ideal for slugs, multilingual forms, and cleaner data entry. Simple configuration and seamless integration with Filament forms.
The install is three commands plus one panel registration:
composer require iabduul7/filament-auto-transliterate
php artisan filament-auto-transliterate:install
php artisan filament:assets
The install command is the important step — it publishes the package config and wires up the HTTP endpoint the field uses. Run it before filament:assets so the JS and route config land together. Then register the plugin on your panel in app/Providers/Filament/*PanelProvider.php:
->plugin(FilamentAutoTransliteratePlugin::make())
The first use case to try is a single TextInput bound to a Urdu-script column that sits next to its Roman/English counterpart:
TextInput::make('name_ur')->translatable(),
TextInput::make('name_en'),
Type Roman Urdu into name_ur, hit space, and the token should convert in place. Confirm the header toggle and in-field spinner appear before wiring it into more fields — if they don't, the assets or route are the problem, not the field.
->translatable() (alias ->autoTransliterate()) is opt-in and should be applied to the Urdu-script inputs only. Applying it to your English fields will fight the user's intent.transliterate by default and reach for translate deliberately. Transliteration is phonetic (Roman Urdu → Urdu script); translate is semantic (English meaning → Urdu). They are strictly separated and transliterate will not silently fall through to translation, which is what you want for names and place names.Textarea too — use it for descriptions and notes where a whole sentence is typed word-by-word."iabduul7/filament-auto-transliterate": "0.1.*" and re-read the changelog before upgrading minors.curl while logged out gives a 401/403 by design. If you're seeing 403s in the panel, check the route landed in the correct middleware group (the install command handles this — re-run it if you upgraded).php artisan filament:assets? The field renders normally but nothing happens on space. The header toggle and spinner are the fastest visual tell that JS loaded.How can I help you explore Laravel packages today?