Skip to content

Settings reference

This reference lists each tab and each field, with the effect of each setting and its default value. The guide pages that each section links to explain the concepts behind the settings.

The Providers tab of the translation settings with the General card

Where the settings are

Open Catalogues → AI Translation and click Settings. The page has the title Translation settings, and Shopware also registers it as AI Translation in its own Settings overview.

  • To edit and save, you need the nice_translate.editor privilege. See Permissions (ACL).
  • The extension stores all values in the system configuration of Shopware, under the domain NiceTranslate.config.*. A save writes only the keys that you changed. The end of this page contains the full key list.
  • The labels below are the exact en-GB Administration labels. The German Administration shows the same fields with German labels, therefore use the German version of this page for those labels.
  • The tabs are Providers, Automation, Advanced and Subscription, in that order.

The fields continue to operate even if the extension cannot load the provider list. The page then shows The provider list could not be loaded. You can still enter API keys and save them.

While no API key is stored and modernice All-in-One is available for purchase, the other tabs show an informational card about modernice All-in-One. The card advertises the subscription only, and it changes no setting.

Providers

This tab contains everything about the selection of a translation service and the connection to it. Translation providers describes the concepts and the setup steps for each provider.

General

SettingWhat it doesDefault
Default providerThe fallback that the extension uses when neither a job nor a target-language mapping selects a provider.DeepL
Tone of voicePreselects the tone for new translations: Neutral (provider default), Formal or Informal. Only the AI providers act on it. DeepL uses its own Formality setting.Neutral (provider default)
Custom instructionsOptional instructions that the extension adds to the prompt of the AI providers, for example wording rules or brand rules. DeepL and Google Translate ignore them.empty

Providers by target language

SettingWhat it doesDefault
One select for each target language, labelled with the language nameSelect an optional provider for each target language. On-save automation and scheduled automation use this mapping when no provider override is selected. Manual translations keep the provider from their dialog.Use default provider

The extension resolves a provider in three steps: the language mapping, then Default provider, then DeepL as the built-in fallback. The card lists each language except the system language. If the shop has no other language, it shows There are no additional target languages in this shop yet.

Provider cards

A provider card with the API key field, the model dropdown and the connection test

There is one card for each provider: DeepL, Google Translate, OpenAI (ChatGPT), Anthropic Claude, Google Gemini and Mistral. modernice All-in-One has no card here. It is on the Subscription tab.

SettingWhat it doesDefault
API keyThe key that this shop uses for that provider. The badge next to the card title shows Configured or Not configured for the saved key.empty
ModelThe model that the extension uses for the translations. The card shows this field only for the providers with models (OpenAI, Anthropic, Gemini, Mistral). With a valid key, the extension loads the list live from the provider and merges it over the standard list.see the table below
Model type (DeepL only)Prefer quality-optimised (recommended), Quality-optimised only or Latency-optimised (faster).Prefer quality-optimised (recommended)
Formality (DeepL only)Provider default, More formal or Less formal. The extension sends it only for the target languages where DeepL supports formality.Provider default
Test connection (button)Validates the key that the field contains, saved or not, against the provider. It shows the quota information where the provider exposes it. A successful test also refreshes the live model list.

Default models:

ProviderDefault model
DeepL— (no model choice; Model type instead)
Google Translate
OpenAI (ChatGPT)gpt-5.6-luna
Anthropic Claudeclaude-opus-5
Google Geminigemini-flash-lite-latest
Mistralmistral-small-latest

Understanding prices

This is an informational card at the bottom of the tab, and it has no settings. It explains the difference between token pricing and per-character pricing. It lists the input price and the output price that the extension knows for each model. It also links to the current price list of each provider. See Cost & usage.

Automation

This tab configures the background translation that operates without the wizard. Automation gives the full explanation.

The Automation tab with the translate-on-save card

Both cards depend on active message queue workers. A notice at the top of the tab gives this warning: Automation runs in the background and requires active message queue workers. Make sure your hosting runs the Shopware message consumer.

Translate on save

SettingWhat it doesDefault
Translate content automatically after savingThe extension translates the content that somebody saves in the default language into the selected target languages, automatically.off
Content typesThe content types that the automation watches: Products, Categories, Manufacturers, Shopping Experiences (CMS).none selected
Target languagesThe languages that the extension translates the saved content into. The list does not offer the system language.none selected
ProviderSelect one provider for each target, or use the per-language mapping with the default provider as the fallback (Use language mapping / default).Use language mapping / default

On-save translations operate without a job header. While the history recording is on, their changed fields still appear in the global translation history. The Open translation history button goes directly there.

Scheduled translation

SettingWhat it doesDefault
Translate missing content on a scheduleCreates translation jobs for untranslated content, at the interval below.off
IntervalHourly, Every 6 hours, Every 12 hours, Daily (recommended) or Weekly. The card shows this field only while the schedule is on.Daily (recommended)
Content typesThe content types of the scheduled run. These are the same four values as on save, but you select them separately.none selected
Last runA read-only timestamp of the last scheduled run, or Never.Never

Scheduled translation uses the target languages from the on-save card above, but you select its content types separately: a type that you enable for on-save does not go into the schedule.

The scheduled task nice_translate.auto_translate of Shopware ticks once an hour and starts a run after the configured interval passed since the last run. Both workers must operate for that (scheduled-task:run and messenger:consume). While Translate missing content on a schedule is off, no translation run happens, whatever the configured interval is. A due run creates one job for each provider group, therefore a language mapping across several providers produces several jobs.

A second scheduled task, nice_translate.dispatch_batches, runs every minute. It has no setting on this page. It collects the batches and the job-finished notifications that the first attempt did not deliver.

Advanced

The Advanced tab with the translation behaviour card

Translation behaviour

SettingWhat it doesDefault
Batch sizeThe number of records in one queue message. The accepted range is 5 to 200, and values between 10 and 50 suit most shops. The extension clamps a value outside the range.25
Shorten SEO fields automaticallyCuts the meta titles and the meta descriptions at word boundaries when the translation exceeds the field limit. See Safety mechanisms.on
Apply glossaryApplies your glossary terms to each translation. If you switch this off, the glossary is off globally, even for the jobs that request it. See Glossary.on

Translation history

SettingWhat it doesDefault
Record translation historyStores the previous value and the new value of each translated field, so that you can revert or re-apply the translations later. See Translation history.on
Retention period (days)The extension deletes the history entries that are older than this period, also when the recording is off. The accepted range is 1 to 365. The cleanup goes through the hourly scheduled task, therefore the scheduled-task runner must be active.30

Excluded fields

The excluded fields card with an entity row and the expert mode switch

The extension never translates the fields that you list here, in any job, wizard run, quick translation or automation run. For example, exclude description for the products if each market writes its own descriptions.

SettingWhat it doesDefault
EntityThe content type that an exclusion row applies to. Add entity adds a row, and Remove entity deletes it.no rows
Excluded fieldsThe fields of that entity that the extension never translates. The custom-fields entry has the label (all custom fields).none
Expert mode (edit JSON)Edits the same configuration as raw JSON: an object of {"<entity>": ["<field>", …]}.off

If the JSON is invalid, the extension blocks the save with Excluded fields must contain a valid JSON object. Please correct the input before saving. and returns you to the Advanced tab. The expert mode continues to operate even if the extension cannot load the entity list.

Supported content lists the fields that exist for each content type.

Source languages

SettingWhat it doesDefault
One select for each target language, labelled with the language nameSelect the language that the extension uses as the source for that target language. If you select nothing, the extension uses the system default language.System default language

A source language that you select in the wizard overrides this mapping for that run. See Translation wizard.

Subscription

This tab contains the modernice All-in-One card. modernice All-in-One gives the full walkthrough.

SettingWhat it doesDefault
Subscription planSelects the plan for the checkout: Starter, Growth, Scale or Enterprise, each with its included monthly credits. The extension stores no setting for it. The field controls the Subscribe or Change plan button.Starter
Default service tierThe tier that a run uses when it selects none: Speed · 1×, Balanced · 3× or Premium quality · 8×. The tier controls the translation quality and the credit consumption.Balanced · 3×
Subscribe / Change plan (buttons)Opens the in-app purchase checkout of Shopware for the selected plan.
Refresh status (button)Reads the Shopware in-app purchase state and the credit quota again.

While a plan is active, the card also shows Active plan, Translation credits (used of included, with a progress bar) and Billing period.

Configuration keys

All keys are in the system configuration domain NiceTranslate.config.. The extension has no config.xml. You edit these values through the settings page above, or programmatically through the system configuration API of Shopware.

KeyTypeDefaultTab
defaultProviderstringdeeplProviders
toneenumdefaultProviders
customPromptstringemptyProviders
languageProviderMapobject{}Providers
deeplApiKeystringemptyProviders
deeplModelTypeenumprefer_quality_optimizedProviders
deeplFormalityenumdefaultProviders
googleApiKeystringemptyProviders
openaiApiKeystringemptyProviders
openaiModelstringgpt-5.6-lunaProviders
anthropicApiKeystringemptyProviders
anthropicModelstringclaude-opus-5Providers
geminiApiKeystringemptyProviders
geminiModelstringgemini-flash-lite-latestProviders
mistralApiKeystringemptyProviders
mistralModelstringmistral-small-latestProviders
autoTranslateEnabledboolfalseAutomation
autoTranslateEntitiesarray[]Automation
autoTranslateLanguageIdsarray[]Automation
autoTranslateProviderIdstringemptyAutomation
scheduledEnabledboolfalseAutomation
scheduledIntervalHoursint24Automation
scheduledEntitiesarray[]Automation
scheduledLastRunstringempty (the scheduled task writes it)Automation
batchSizeint25Advanced
seoTruncatebooltrueAdvanced
glossaryEnabledbooltrueAdvanced
historyEnabledbooltrueAdvanced
historyRetentionDaysint30Advanced
excludedFieldsobject{}Advanced
sourceLanguageMapobject{}Advanced
managedServiceTierenumbalancedSubscription

The enums accept these values: tone accepts default, formal or informal; deeplModelType accepts prefer_quality_optimized, quality_optimized or latency_optimized; deeplFormality accepts default, prefer_more or prefer_less; managedServiceTier accepts speed, balanced or quality. languageProviderMap maps a language id to a provider id. sourceLanguageMap maps a target language id to a source language id. excludedFields maps an entity name to a list of field names.

modernice extensions for Shopware 6. Shopware is a trademark of shopware AG — this documentation is not affiliated with shopware AG.