Skip to content

Feature Overview

The plugin translates shop content via the DeepL API. All translation runs are processed asynchronously via the Shopware message queue, so even large volumes are processed in the background without timeouts.

Entity Fields / Details
Products Name, description, meta data, custom fields; optionally include variants
Categories Name, description, custom fields; optionally include child categories
CMS slots Content slot configurations, extensible with custom field paths
Snippets Complete snippet sets (storefront, messages, dynamic snippets), key filter
Mail templates Subject and/or content, including MailTemplateTypes
Properties Groups and options (name, description, custom fields)
Salutations Display name, letter name
Units Short code, name
Blog (Netzp Blog 6) Title, slug (optional), content, teaser, meta fields, categories, authors
Forms (MoorlForms) Name, success/error messages, elements, more fields

Netzp Blog 6 and MoorlForms are optional: the respective jobs only appear when the plugin is installed. Details: Plugin Compatibility.

Feature Description
Message queue Asynchronous processing as Shopware jobs, status tracking (pending, running, completed, failed)
Error tracking Failed jobs persist their error message, single and bulk retry from the queue view
Rate limiting DeepL rate limits (HTTP 429) are retried automatically, honoring DeepL’s Retry-After header
Translation cache Already translated texts are kept in the database; the cache can be disabled per job
Templates Save frequently used job configurations and reuse them including execution history
Target languages Multiple target languages in a single job run
Feature Description
Free and Pro API Switchable in the settings, correct base URL per plan
Glossaries DeepL glossaries per job, plus a configurable default glossary
HTML handling HTML content is translated structure-preserving (tag handling), formatting is kept
Ignore characters Configurable characters (e.g. ®, ✓) stay unchanged
Dummy text detection Placeholder texts (e.g. Lorem Ipsum) are not translated, threshold configurable

Internal links in translated content are rewritten to the target language SEO URL:

  • Relative links (/category-name) are replaced with the target language SEO URL
  • Absolute links only when they belong to the matching sales channel, external links stay unchanged
  • Language prefixes from the sales channel domain configuration are respected (https://domain.com/en)
  • Fallback to technical URLs (/navigation/{id}) when no SEO URL exists
  • Static URL replacements configurable, e.g. {"impressum": "imprint"}

The module is located in the Shopware admin under Content > Translation with DeepL:

Area Function
Create Job Choose a job type or saved template, set parameters, queue the job
Queue Job list with status and error messages, single/bulk delete, retry
Live Translation Translate text directly, test cache behaviour and runtime
Translation Cache View and manage cache entries
DeepL Usage Consumption against the DeepL API quota