Documentation

Configuration reference

Review every DiploTranslatorOmni application setting, its default and its purpose.

This documentation applies to Omni for Umbraco 17 and 18. Both version lines have the same functionality and configuration. Choose the package version for your Umbraco site.

All settings are optional and live below DiploTranslatorOmni. Out-of-range values are normalised to safe effective values and logged as warnings.

Names are relative to each section below. For example, the full configuration path for MaxSectionPages is DiploTranslatorOmni:ContentTranslation:MaxSectionPages. The translation-request settings are directly under DiploTranslatorOmni. Licence keys and approved profile selections are managed in Settings → Translator settings, rather than in this configuration.

Example appsettings.json configuration

This example shows the configurable settings with their current effective defaults. Merge the DiploTranslatorOmni section into your existing appsettings.json, keeping the site's other settings. If that section already exists, update its entries rather than adding a duplicate. You only need to include settings you want to override.

{
  "DiploTranslatorOmni": {
    "ChatProfileAlias": null,
    "TranslationRequestTimeoutSeconds": 60,
    "TranslationRetryCount": 2,
    "TranslationRetryDelayMilliseconds": 500,
    "MaxConcurrentTranslationRequests": 4,
    "MaxConcurrentContentUnitTranslations": 2,
    "MaxConcurrentTranslationJobs": 2,
    "MaxQueuedTranslationJobs": 20,
    "ContentTranslation": {
      "JobHistoryPageSize": 50,
      "MaxSectionPages": 1000,
      "MaxSelectedPages": 1000,
      "MaxSelectedPropertiesPerPage": 100,
      "PropertyEditorMappings": []
    },
    "Glossary": {
      "AllowSectionUsersToManage": true
    },
    "Permissions": {
      "AllowSectionUsersToOverwriteExistingValues": true
    },
    "DatabaseCleanup": {
      "Enabled": true,
      "InitialDelayMinutes": 5,
      "IntervalHours": 24,
      "ContentStateRetentionDays": 0,
      "JobHistoryRetentionDays": 90,
      "BatchSize": 1000
    },
    "Diagnostics": {
      "Enabled": false,
      "IncludeRawValues": false,
      "DevelopmentOnly": true,
      "Path": "App_Data/DiploTranslatorOmni/Diagnostics"
    },
    "Licensing": {
      "RequestTimeoutSeconds": 10
    }
  }
}

Leave ChatProfileAlias as null when using approved profiles in Translator settings; set an alias only for the fallback workflow described below. PropertyEditorMappings is empty by default; see custom editor mapping examples when adding a supported mapping. The fixed paid-licence validation and outage-grace policies are omitted because they cannot be customised. Restart the site after changing concurrency settings.

Translation requests

SettingDefaultPurpose
ChatProfileAliasNoneFallback Chat profile alias, used only when no profiles are approved in Translator settings. Otherwise the approved default applies.
TranslationRequestTimeoutSeconds60Timeout for each provider attempt; valid range 1–300 seconds. A provider that ignores cancellation may continue after the timeout.
TranslationRetryCount2Retries after the initial request; range 0–5. Content validation may also request a corrected translation.
TranslationRetryDelayMilliseconds500Base delay for exponential backoff with jitter; range 0–30,000 ms. Retry delays are capped at 30 seconds.
MaxConcurrentTranslationRequests4Host-wide request cap, clamped from 1 to 16. Restart required after changing it.
MaxConcurrentContentUnitTranslations2Range 1–2. Allows the first requests for pairs of independent built-in top-level RichText/TinyMCE fragments to overlap. Set to 1 for serial fragments. Retries, fallbacks, properties, section pages and saves remain sequential. The host-wide request cap and runtime guards still apply. Restart required.
MaxConcurrentTranslationJobs2Host-wide cap on executing page, section, selected-page batch and Dictionary jobs; range 1–16. Restart required.
MaxQueuedTranslationJobs20Host-wide capacity for admitted jobs waiting to execute; range 0–1000. Zero disables waiting capacity. A full queue rejects new jobs before evaluation usage is consumed. Restart required.

ContentTranslation

SettingDefaultPurpose
JobHistoryPageSize50Job-history records requested per page; range 1–500.
MaxSectionPages1000Maximum pages included in a section scan, including its root; range 1–100,000.
MaxSelectedPages1000Maximum pages submitted in one section or selected-page batch job; range 1–MaxSectionPages.
MaxSelectedPropertiesPerPage100Maximum selected properties submitted for each page; range 1–1000.
PropertyEditorMappingsEmptyExplicit editor-alias mappings to PlainText or RichText. Up to 200 mappings; see custom property editors for supported value shapes.

Permissions and glossary

SettingDefaultPurpose
Glossary:AllowSectionUsersToManagetrueAllows Translation-section users to manage glossary rules.
Permissions:AllowSectionUsersToOverwriteExistingValuestrueAllows Translation-section users to use overwrite and force-selected modes.

DatabaseCleanup

SettingDefaultPurpose
EnabledtrueEnables scheduled metadata and job-history cleanup.
InitialDelayMinutes5Delay before the first cleanup run; range 0–10,080 minutes.
IntervalHours24Interval between cleanup runs; range 1–8760 hours.
ContentStateRetentionDays0Translation-state retention; range 0–36,500 days. Zero disables age-based cleanup for this table. Removing baselines can cause later comparisons to require review.
JobHistoryRetentionDays90Completed job-history retention; zero disables cleanup for this table. Range 0–36,500 days.
BatchSize1000Maximum records processed in a cleanup batch; range 1–2000.

Cleanup never changes Umbraco content values.

Diagnostics

SettingDefaultPurpose
EnabledfalseEnables content-translation diagnostic files.
IncludeRawValuesfalseIncludes potentially sensitive raw persisted values.
DevelopmentOnlytrueRestricts diagnostic capture to Development.
PathApp_Data/DiploTranslatorOmni/DiagnosticsOptional output directory; invalid paths fall back to the default.

Follow the diagnostic logging guide for application log levels and file collection. The raw-value flag can expose source and target content; leave it off for routine support details.

Licensing

SettingDefaultPurpose
RequestTimeoutSeconds10Timeout for Polar licensing requests; range 1–60 seconds.
PaidValidationIntervalMinutes15Fixed vendor policy for paid validation checks. Overrides are normalised back to 15.
PaidOutageGraceHours24Fixed vendor policy for eligible previously validated paid licences during temporary provider outages. Overrides are normalised back to 24; this does not extend expired or revoked licences.

These keys belong under DiploTranslatorOmni:Licensing. Activate and manage keys in the backoffice licensing panel. See licence setup.

Diplo Translator Omni

Ready to translate your first draft?

Bring AI translation into the Umbraco backoffice — and keep the final say with your editors.

Try it on your own Umbraco site: five single-page draft translation runs, with no time limit. AI provider usage costs are separate.