Languages & Translation — User Manual

Languages in dbXapp — Overview

dbXapp distinguishes two levels:

  • System languages — which languages are available on the website and in the admin (e.g. German, English, Spanish).
  • Content Languages in CMS Every page and every folder exists Per language as a separate data set, but the versions are linked.

This help explains both: the settings on this Config page and the daily work in the content CMS.

This Config page

Path: ?dbx_modul=dbxContent_admin&dbx_run1=content&dbx_run2=config

Here you determine, Which languages are active and Like automatic translations Go to sync.

FieldWhat it means
Master languageThe leading language (usually DE). Structure, commission and auto-sync are based on it. In the CMS marked with star (*).
Available languagesAll languages that are selectable in the CMS tree, in language tabs and for visitors. The master language must be there.
Home page (master)The content ID of the homepage in the master language. Other languages find their homepage automatically over the linkage.
Translation providerControls what happens during transfer and auto-sync with texts (copy, leave blank or API).
API key / URL / modelOnly necessary at DeepL or OpenAI. Leave blank for "Copy text".
Tip: In the header of this page you can see the Active providers — it applies immediately after saving for sync and commission.

Master language and other languages

Master (e.g. DE*) │ ├─ controls folder structure and new pages ├─ loest “Transferred to other languages” from └─ updates linked languages during storage (auto-sync) Other languages (EN, ES, ...) │ ├─ own texts and permalinks per language ├─ are often "inactive" at commission first └─ can deviate manually (fork)

The link between language versions is Internal — You do not have to maintain the same page IDs in DE and EN. In the tree you recognize the status of the Language badges (Present, missing, car, manual).

Working in Content CMS

Entry CMS: ?dbx_modul=dbxContent_admin&dbx_run1=cms

  • Language tabs above (DE*, EN, ES) — change the editing language. The star shows the master language.
  • New page/folder in Master — after saving, the dialog appears if necessary Translate into other languages.
  • Button "Translate" (Language icon) — creates missing language versions or updates the preview before transferring.
  • Button "Auto-Sync" (Link icon, master only) — returns separate languages to automatic execution.

Transferred to other languages (provision)

  1. The page or folder in the Master language Voting.
  2. Open dialog (after saving or via translation button).
  3. Tick target languages, check texts — API providers generate advances.
  4. Takeover — New versions are created. Pages start inactive, so that you can check before publication.

In Folders You can optionally use the The entire subtree incl. Pages also transmitted. Missing folders in target languages are automatically recreated from the master structure.

Auto-Sync — Save Master

If you save in the master language, all linked languages with status auto updated in the background:

  • Texts (translated or copied depending on the provider)
  • Structure, template settings, permalink base
  • Media connections (hero, gallery, pictures in the text)

The Active/Inactive status the target language is preserved – an inactive EN page is not suddenly switched live by master sync.

Fork — If a language is to remain unique

Save them in one Non-master language, the linkage is separated ()manual / Fork. Message: Language connection separately (manually).

From then on, the master no longer automatically adopts this language. This makes sense for adapted marketing texts or other permalinks.

To join again: in the master language Auto-Sync Activate — the next master save then rewrites the slave content.

Translation provider in detail

ProvidersBehaviourWhen to use?
copyAdopt text unchangedRecommended as standard — free, no account, for all customer installations
noneLeave translation fields emptyWhen target texts should consciously start empty
deeplDeepL APIAutomatic translation; own API key needed (free plan possible)
openaiOpenAI Chat APIFlexible with model selection; own API key, paid for after use
customOwn logicFor developers: dbx/modules/dbxContent/translate.php

In case of API errors, the original text is taken over. In addition, a note appears in the CMS and an entry under Admin by SysMsg (About:) dbxContentTranslate).

Which provider for whom?

  • Customer installation (standard): copy — always works without cost and without external service.
  • Small website with auto translation: deepl with DeepL API Free (about 500,000 characters per month, 0 EUR).
  • Larger sites / many texts: DeepL API Pro (paid) or manually with copy maintain dialogue.
  • OpenAI: Only if the operator deliberately bears API costs — ChatGPT Plus/Pro is not API access.
  • Google Translate: In dbXapp not installed. Only over custom + own development possible.
Important: ChatGPT in the browser (Plus, Pro, ...) and the OpenAI API are Two separate products. A chat subscription does not provide an API key and no API credits.

Apply for API keys and in dbXapp Entries

API keys are personal access keys of a translation provider. Every customer should, if at all, his own Use the key. Keys belong in the field API key on this config page.

RecruitmentDeepLOpenAI
Providersdeeplopenai
API keyDeepL API Key (free keys often end up on :fx)OpenAI Key (begins with) sk-...)
API URLLeave empty (Standard: Free API). Only on DeepL Pro: https://api.deepl.com/v2/translateLeave empty (standard endpoint)
Model— (not relevant)e.g. gpt-4o-mini (cheap, usually sufficient for translations)
DeepL API Free (free, recommended for testing)
  1. create an account; and DeepL API Free Select:
    https://www.deepl.com/pro-api
  2. After notification under Account → API keys (or in the DeepL Pro portal) create an API key.
    Documentation: https://developers.deepl.com/docs/getting-started/auth
  3. Key in dbXapp Underground API key Enter, provider deepl, URL empty leave.
  4. In the CMS test: Master page save → commission EN → texts should be suggested translated.

Free plan: approx. 500,000 characters per month, 0 EUR. For larger websites often too little – then DeepL API Pro or at copy remain.

Note: Free keys are used automatically api-free.deepl.com — this is in dbXapp Already the default if the API URL is empty.

OpenAI API (paid after use)
  1. Separate Developer account (not) ChatGPT-Chat:
    https://platform.openai.com
  2. Underground Billing Deposit payment method (API is charged separately):
    https://platform.openai.com/settings/organization/billing
  3. Create API key under API keys:
    https://platform.openai.com/api-keys
  4. In dbXapp: Provider openaienter key, model e.g. gpt-4o-miniLeave the URL blank.

Costs: Pay-per-use (per token). Cheap models also cause running costs for many pages. Not suitable as "free for all customers".

Working without API key (standard)

Providers copy Select — leave all fields for API blank. When transferred to other languages, the master text is taken over; You manually adjust the texts in the commission dialog or in the target language. This is the safest option for editorial and customer installations.

Google and other providers

Google Cloud Translation and similar services dbXapp not directly as a provider. Google offers a small free quota for new cloud accounts, after which the use is paid. A connection would only be about the provider custom and one of their own translate.php possible by a developer.

Home page per language

The Home page (master) is the content ID of your home page in the master language (e.g. home page with ID 1).

  • Visitors in the master language see this page as a homepage.
  • In EN/ES, the system searches for the matching linked page (same content, different language).
  • If a language version of the homepage is missing, there is no home page for this language.

Delete in several languages

Delete them from the Master language and there are several language versions, a dialog with checkboxes appears:

  • auto-Versions are preset
  • manualVersions only on request
  • Permalinks are cleaned per language

Media and languages

Media files themselves are Language neutral (one image, one file). They are linked per page and language (hero, gallery, inline in the text). In commission and auto-sync, these links are copied into the target languages – not the file duplicated.

For website visitors

  • The Available languages from this config determine which languages are offered.
  • The selected language controls menu, permalink resolution and the voice-dependent guest full-page cache file.
  • Only Active Pages are publicly visible — check new translations first, then actively set them.

Cache and Live View

After saving, the page cache is usually automatically updated. If changes are missing live:

  1. Admin page cache empty
  2. Reload page in browser with hard reload

Frequent questions

Why is EN missing in the tree?
The page was created only in the master language. Save or “Translate” → execute commission for EN.

Why is EN no longer updated?
EN was stored once manually (fork). Re-activate auto-sync in the master language or consciously maintain EN yourself.

Does translation make mistakes?
Provider and API key on this config page Admin by SysMsg Reading. Until the correction, text is copied. For DeepL: Check free key and empty API URL. In OpenAI: Billing on platform.openai.com Active?

I have ChatGPT Pro — is that enough?
No. ChatGPT Pro is only the chat subscription in the browser. For dbXapp You need a separate API key from platform.openai.com (paid after use) — or you stay with copy DeepL Free.

Is there a free car translation for customers?
copy is always free. DeepL API Free (about 500,000 characters/month) is free, but each customer needs their own account: deepl.com/pro-api.

Can I change the master language?
Technically yes — but concerns CMS logic and homepage. Change only wisely and then check structure/links.

What does the migration notice below mean?
Internal database status for multilingual tables — not relevant for everyday use, only for support/updates.

Typical process (multilingual website)

1. Here: Master Language + Available Languages + Provider Set 2. CMS: Create folders and pages in Master 3. Commission → EN (and other languages) 4. Check target languages, adjust Permalink + text 5. Pages in target languages on “Active” 6. Ongoing care only in Master* → Auto-Sync keeps EN/ES current 7. Special deviations: edit in EN/ES (Fork)
Example: Homepage ID 1 → Provision EN → EN text “Welcome” check → Activate the EN Visitors with EN see the twisted English home page.

Further assistance

The general CMS manual (folder, media, editor): Help button in the CMS with topic content.

This page: ?dbx_modul=dbxContent&dbx_run1=help&topic=content_lng

CMS assignment: stable permalink help-content-sprachen. The folder can be changed without the permalink changing.