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.
Translatable Entities
Section titled “Translatable Entities”| 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.
Processing
Section titled “Processing”| 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 |
DeepL Integration
Section titled “DeepL Integration”| 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 |
SEO Links
Section titled “SEO Links”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"}
Admin Interface
Section titled “Admin Interface”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 |