File Bulkupload Translations
This module simplifies managing multilingual file fields by allowing you to upload all translated files at once. It automatically extracts the language code from filenames and creates the corresponding translations, saving time on repetitive tasks. The module also provides a live testing feature for your filename patterns and allows you to manage existing translations directly within the form.
Managing multilingual file fields in Drupal means editing each translation one by one — open the form, upload, save, switch language, repeat. For 10 languages, that's 10 round-trips.
File Bulkupload Translations eliminates that workflow. Drop all your translated files at once (report_en.pdf, rapport_fr.pdf, bericht_de.pdf…) and the module creates every translation automatically. What used to take minutes now takes seconds.
How it works
- Upload multiple files in a single operation
- The module extracts the language code from each filename using a configurable regex
- Translations are created (or updated) instantly — no extra clicks
Live regex tester
Not sure your filenames will match? The built-in tester gives you real-time visual feedback right on the settings page. Paste your filenames, pick a mode (suffix, prefix, or custom regex), and see exactly what gets extracted — highlighted in context, with green/red status for each file.
Three modes out of the box:
- Suffix —
report_en.pdf,document-fr.docx - Prefix —
en-report.pdf,fr_document.docx - Custom regex — any pattern you need
Manage translations without leaving the form
All existing translations are displayed in a table directly inside the widget. From there you can:
- Edit any translation in a modal dialog
- Remove a translation with one click
Everything is AJAX-powered — the table refreshes automatically, no page reload needed.
Smart validation
The module catches problems before they happen:
- File with a language code not enabled on your site? Rejected with a clear message.
- Two files for the same language in one upload? Blocked immediately.
- Invalid regex? The live tester tells you right away.
Translation publish status
Control how new translations are published:
- Match source — inherits the published/unpublished status of the source entity
- Always published
- Always unpublished (draft) — for review workflows
Requirements
- Drupal 11
- Content Translation, Field UI, and Media (core modules)