Overview
Dprime TranslatePress AI Translation registers an AI translation engine inside TranslatePress with three selectable providers: OpenAI, Anthropic Claude, and DeepSeek. Once selected, untranslated strings on your site are sent to the chosen provider in batches, translated, and stored in the TranslatePress database. Strings are translated once and served from your database afterwards.
Key features:
Provider API usage is billed separately by OpenAI, Anthropic, or DeepSeek based on your account and the selected model.
Before you start
- WordPress 6.4 or newer
- PHP 8.2 or newer
- translatepress multilingual must be active
Installation
- Install and activate TranslatePress.
- Upload the plugin zip via Plugins > Add New > Upload Plugin, then activate it.
- Go to Settings > TranslatePress > Automatic Translation.
- Enable Automatic Translation and select AI Translation (Dprime) as the translation engine.
- Choose a provider, paste its API key, keep the recommended model or pick another, and save the TranslatePress settings.
- Use Refresh models to load models available to that API key when needed.
- Use the Test connection button on the Dprime settings page to verify the connection.
- Visit your site in a secondary language to start translating.
Interface guide
Use these screens with the steps below. Select an image to open it at full size.

Using the plugin
- Works with the free version of TranslatePress. No paid add ons are required.
- Integrates natively into the TranslatePress Automatic Translation tab, including the built in Test API credentials tool.
- Three AI providers: OpenAI, Anthropic Claude, and DeepSeek. One is active at a time and each keeps its own API key and model.
- Per provider model dropdowns with a Refresh models action that loads the models currently accessible to the saved API key.
- Uses the OpenAI Responses API with strict structured output, the Anthropic Messages API, and the DeepSeek chat completions API with JSON output mode.
- Built in English and Arabic website localization standard for formal, accurate, natural copy, applied to every provider.
- Avoids decorative dashes, generic automated wording, invented claims, and unnecessary marketing filler.
- Preserves HTML tags, URLs, email addresses, numbers, currencies, shortcodes, brand terms, and TranslatePress placeholder tokens.
- Custom instructions field for approved brand spellings, glossary terms, and exact wording preferences.
- Optimized background translation run with cursor based database scanning, dynamic character aware batches of up to 250 strings, duplicate removal, local passthrough for non linguistic values, and bulk database writes.
- Translation Catalogue Scan that reconciles regular and gettext rows across every secondary language, including empty translations stored under any status and records missing from one language catalogue.
- Explicit run states with only the valid action controls visible: Start for a new run, Pause and Stop while running, Resume and Stop when paused or waiting for an error, and Start after a stopped or completed run.
- Usage tracking with totals for strings translated, API requests, tokens, and estimated cost, plus live average speed, a breakdown by provider and model, and a recent activity log.
- Editable token prices per provider so cost estimates match the current rates of the models you use.
- Maintenance tool to delete stored translations per language or for all languages, scoped to machine translations only or to all translations, so content can be rebuilt after changing the provider, model, or instructions.
- Respects the TranslatePress daily machine translation limit.
- Translations remain fully editable in the TranslatePress visual editor.
- Temporary 1.7.6 beta diagnostic build keeps the full capture, uses bounded OpenAI request chunks, splits timed out batches automatically, repairs worker leases, and retries temporary provider failures without losing completed translations.
Styling and CSS classes
These public-facing class hooks are present in the plugin styles. Add custom CSS only after checking the result on a staging site.
.dp-actions.dp-btn.dp-btn-danger.dp-btn-ghost.dp-btn-icon.dp-btn-loading.dp-btn-primary.dp-btn-secondary.dp-card.dp-card--nopad.dp-card-body.dp-card-desc.dp-card-pad.dp-card-title.dp-dot.dp-dot-acc.dp-dot-err.dp-dot-ok.dp-dot-warn.dp-empty.dp-field.dp-field-full.dp-field-hint.dp-field-labelData and cleanup
- 11 WordPress settings
- Database table: your WordPress table prefix + dptai_usage
- Scheduled task: dptai_job_watchdog
- Optional external services: OpenAI, Anthropic, DeepSeek
Retention: kept until the plugin is uninstalled. Uninstall policy: delete the plugin-owned data declared above.
Troubleshooting
- Confirm the required WordPress, PHP, and companion-plugin versions above.
- Save the plugin settings again, then repeat the exact action that failed.
- Clear page, object, and browser caches when the issue affects front-end output.
- Temporarily test with unrelated plugins disabled on a staging site to identify a conflict.
- If the problem remains, record the steps, visible error, and relevant logs before contacting support.
Frequently asked questions
Does this work with the free version of TranslatePress?
Yes. The plugin hooks into the engine system available in the free version. No TranslatePress paid plan is required.
Which AI providers are supported?
OpenAI, Anthropic Claude, and DeepSeek. One provider is active at a time, selected from a dropdown in the TranslatePress Automatic Translation settings. Each provider keeps its own API key and model, so switching providers never loses a saved key.
How do I choose a model?
Each provider has its own model dropdown with a recommended default. After saving an API key, use Refresh models to load the translation capable models accessible to that account.
How is English and Arabic handled?
English to Arabic is produced in formal Modern Standard Arabic suitable for professional website use. Arabic to English is rendered in polished formal international English. The engine preserves meaning and structure, avoids literal phrasing, uses culturally natural wording, and does not add generic automated copy or unsupported claims. The standard applies to every provider.
Does the engine add dashes or extra marketing text?
No. It is instructed not to introduce em dashes, en dashes, or hyphen separators unless a dash is part of protected source content such as a URL, code, product name, number range, or existing source content. It also avoids generic filler and added promotional language.
How do I get an accurate untranslated count?
Open the Translate tab and use Scan catalogue. The scan checks every regular and gettext row currently registered by TranslatePress, regardless of its stored status. It also compares all secondary languages, so a source string found for one language is counted as missing and untranslated when another language has no matching record. Strings that TranslatePress has never rendered or registered cannot be counted yet, so render new dynamic content in the affected language and scan again.
How do I translate everything at once?
Open the Translate tab under Dprime > TranslatePress AI Translation, choose a language or all secondary languages, and start the background run. It translates every discovered untranslated string on the server and keeps running after the page is closed. While the Translate tab remains open, a browser assisted worker also processes one locked batch at a time, so hosts that block WordPress loopback requests do not leave a run stuck at zero. The optimized runner groups short strings into larger requests, splits long content by character count, removes duplicate API work, and saves each completed batch with one database update. Strings are discovered when pages are viewed, so browse new pages in a secondary language once before starting it.
Can I pause or stop a run?
Yes. Pause and Stop take effect after the batch in progress finishes saving, so finished translations always stay saved. Resume continues from the remaining strings. The run also pauses itself on errors and when the TranslatePress daily machine translation limit is reached, and shows the reason.
How do I see how much I have translated and spent?
The Usage tab records every translation run with strings, tokens, and an estimated cost, whether it comes from a page visit or from Translate now. Estimates use the token prices saved in Settings, which you can adjust per provider. The provider bill is always the source of truth.
How do I delete translations and start over?
Open the Maintenance tab under Dprime > TranslatePress AI Translation. Pick a language or all secondary languages, choose whether to delete machine translations only or all translations including manual edits, and confirm. The strings are translated again on the next visit when automatic translation is enabled.
How much does translation cost?
Providers bill per token. Costs depend on the provider, model, reasoning effort, and amount of text. Version 1.7.6 retains diagnostic capture, owned worker leases, and stale lease recovery. OpenAI GPT 5 requests are divided into bounded synchronous chunks, and a timed out chunk is retried automatically in smaller groups before the run enters provider backoff. Version 1.7.2 reduces repeated prompt overhead by sending larger compact batches, skips values that do not need linguistic translation, and avoids duplicate strings within each worker batch. Each translated string is stored, so the normal cost is one time per string.
Can I control brand names and terminology?
Yes. The Brand and glossary instructions field under Dprime > TranslatePress AI Translation applies your approved terminology after the built in quality and preservation rules.
Updates and access
An active individual or portfolio entitlement provides updates and support. After expiry, the installed local version remains, while update access, support, new activations, domain moves, and protected remote services stop.