Skip to main content
Drupal is a registered trademark of Dries Buytaert
Release: OpenID Connect / OAuth client 3.0.0-alpha9 New alpha version released for module openid_connect (3.0.0-alpha9). Usage Milestone: Google Analytics Module google_analytics crossed 1,000 active installs. Release: Timelinr 1.0.1 Minor update available for module timelinr (1.0.1). Release: GraphQL Compose Codegen 1.1.2 Minor update available for module graphql_compose_codegen (1.1.2). Release: Mapy.com 1.1.3 Minor update available for module mapycom (1.1.3). Release: Ckeditor5 entity browser 3.0.3 Minor update available for module ckeditor5_entity_browser (3.0.3). Release: Ckeditor5 entity browser 3.0.1 Minor update available for module ckeditor5_entity_browser (3.0.1). Release: Ckeditor5 entity browser 3.0.2 Minor update available for module ckeditor5_entity_browser (3.0.2). Release: Teamleader Integration 4.0.2 Minor update available for module teamleader (4.0.2). Module Revived: Entityqueue Buttons 1.1.2 Module entityqueue_buttons updated after 8 months of inactivity (1.1.2).

File Bulkupload Translations

No security coverage Drupal 11 · not 10
View on drupal.org

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

  1. Upload multiple files in a single operation
  2. The module extracts the language code from each filename using a configurable regex
  3. 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:

  • Suffixreport_en.pdf, document-fr.docx
  • Prefixen-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)

Depends on

Dependencies of the latest stable release

  • content_translation Drupal core
  • field_ui Drupal core
  • media Drupal core

Required by

Tracked projects that depend on this one

No tracked projects depend on this one yet.

Activity

Tracked releases
4
Tracked since
Jan 2025
Latest release
3 months ago
Releases (12 mo)
3 ▲ from 1
Maintenance
Active

Release Timeline

Releases

Version Type Core Release date
1.0.2 Stable 11 May 27, 2026
1.0.1 Stable 11 Mar 3, 2026
1.0.0 Stable 11 Feb 28, 2026
1.0.x-dev Dev 11 Jan 28, 2025