Repository navigation
Settings
Open Budget Translator → Settings.

The Settings screen sets source and target languages, the translation provider (MyMemory, LibreTranslate, DeepL, Google), and optional API credentials. The Cache statistics box on the right shows segment counts, confirmed/auto status, and API vs cache hit rates. Scroll further on the page for URL prefixes, glossary, exclusions, Translate website now, and export/import.
| Setting | Purpose |
|---|---|
| Source language | Language of content in the editor |
| Target languages | Languages to translate into |
Translated pages use URL prefixes such as /en/… when rewrites are enabled. See Frontend.
| Provider | Notes |
|---|---|
| MyMemory (free) | Set MyMemory email to raise the free daily quota |
| LibreTranslate (free / self-hosted) | URL + optional API key |
| DeepL (API key) | API key; Pro uses https://api.deepl.com
|
| Google Cloud Translation (API key) | API key required |
For production quality, prefer DeepL or Google with an API key. Free tiers work best after a batch run fills the cache. See FAQ.
| Option | Purpose |
|---|---|
| Enable /lang/ URL prefixes | Frontend language URLs (/en/…) |
| Translate missing segments on the fly | Call the provider during page render for uncached text (limited per request) |
| Show language switcher (footer / primary menu) | Automatic switcher links |
| Auto-queue changed posts/menus for translation on save | Append new/changed texts to the queue on publish/update |
| Show incomplete-translation notice to visitors | Optional public notice; admins always see a subtle notice when on-the-fly budget skipped segments |
Under Settings → Source auto-corrections (on by default). Small source typos are normalized before caching/translation. This does not rewrite post content in the WordPress editor.
Rules (individually toggleable; master switch disables all):
- Spaces before punctuation:
hier :→hier:,Ende .→Ende. - Multiple spaces → one space
- No space at mid-word line breaks (
el↵ectrolytic→electrolytic; normal breaks between words keep a space) - Sentence starts capitalized (first letter and after
.!?). Single words without spaces (e.g. link labels likewinnt) are left unchanged.
- Do not translate — one phrase per line (brands, codes, shortcodes). Never sent to the API.
-
Glossary (lang) — one entry per line:
Source = Translation(per target language).
| Setting | Purpose |
|---|---|
| Exclude post types | Skip those types from translation/queue |
| Exclude post IDs | Comma-separated IDs |
| Exclude URL paths | One path prefix per line, e.g. /shop
|
Excluded areas stay in the source language and are not queued.
Translate website now queues all published posts, pages, menus, SEO meta (Yoast) and image alts for the selected target languages. Identical passages are translated only once.
- Process next chunk — advance the job manually if WP-Cron is slow.
- Keep the WP-Cron /
bt_every_minuteschedule active when using auto-queue.
Progress and cache statistics appear on the Settings page.
- Export translations (JSON) — full segment cache download.
- Import JSON — upserts by source hash. Leave Do not overwrite confirmed entries checked to protect reviewed rows.