Automatic Translation Guide

Automatic translation is handled by the free, local-first companion client — WPTSALL Client. By decoupling translation execution from the WordPress web server, heavy AI workloads never slow down your public website.

Zero Cloud Lock-in: WPTSALL Client runs on your local computer or private server. You bring your own API keys (DeepSeek, OpenAI, Claude, DeepL, Ollama) and pay direct wholesale token rates with zero vendor markup.

1. Enable the Client API in WordPress

First, authorize communication between your WordPress instance and the client:

  1. In wp-admin, navigate to WPTSALL → Task Management → Authorization.
  2. Toggle Enable Client API to active.
  3. The plugin displays two secure credentials:
    • Route Secret: A random unguessable token that forms part of your private REST endpoint path:
      /wp-json/wptsall/v2/{route_secret}/client/...
    • Device-Scoped Token: An authentication bearer token scoped strictly to task claim and callback write-back capabilities.
  4. Click Save Authorization.
Security Notice: The device-scoped token is an operational authentication credential, NOT a commercial license key. You can revoke and rotate it at any time from this screen.

2. Install the WPTSALL Client

WPTSALL Client is built in Rust for optimal speed and memory safety. It ships in two formats sharing the exact same core engine:

  • Desktop Native App: Full graphical application for Linux, macOS, and Windows.
  • Local Headless WebUI: Lightweight daemon serving a responsive browser UI on http://127.0.0.1:8977.

Two-step install for the background WebUI service (port 8977) — download, review, then run:

  • Linux / macOS:
    curl -fsSL -o install.sh https://raw.githubusercontent.com/wpmmcc/wptsall-client-releases/main/install.sh
    less install.sh    # review the script before running it
    sh install.sh
  • Windows (PowerShell):
    irm https://raw.githubusercontent.com/wpmmcc/wptsall-client-releases/main/install.ps1 -OutFile install.ps1
    Get-Content install.ps1    # review the script before running it
    powershell -ExecutionPolicy Bypass -File .\install.ps1
Full Client Guide Available: For in-depth instructions covering Desktop App setup, systemd user services, LaunchAgent daemons, Windows Startup shortcuts, OTA updates with minisign verification, uninstallation options, and the full environment variable parameter table, see the dedicated WPTSALL Client Setup & Admin Guide →.

3. Connect the Client to Your Site

  1. Launch WPTSALL Client and click Add Site.
  2. Enter a nickname for your site (e.g. My Online Store).
  3. Paste your Site Base URL (e.g. https://www.example.com).
  4. Paste the Route Secret and Device-Scoped Token generated in Step 1.
  5. Click Test Connection. The client verifies the Protocol v2 handshake and displays site connection status.

4. Configure a Translation Provider

WPTSALL Client allows you to configure any HTTP(S) translation endpoint. Under Settings → Providers, choose your preferred provider:

  • DeepSeek: Outstanding translation quality and unmatched cost efficiency (supports deepseek-chat).
  • OpenAI: Direct access to gpt-4o, gpt-4o-mini.
  • Anthropic Claude: Native support for claude-3-5-sonnet.
  • DeepL API: Industry-standard neural machine translation with formality controls.
  • Local Ollama / vLLM: 100% offline, free translation using local models (e.g. qwen2.5, llama3) running on http://localhost:11434.

All provider credentials and API keys are stored in your local SQLite database (~/.local/share/wptsall-client/runtime/wptsall.db) and are never transmitted to any external third party.

5. Run the Translation Worker

With your site and provider configured, navigate to the Worker tab:

  • Run Once Mode (Batch): The client claims pending translation tasks from WordPress, translates each field using the configured provider, writes results back, and cleanly exits. Ideal for scheduled cron jobs or manual trigger.
  • Continuous Daemon Mode: The client polls WordPress for newly queued posts or updated content at a configured interval (e.g. every 60 seconds) and translates automatically in the background.

6. Data Boundaries & Idempotent Write-Back

Strict Idempotency: All write-back operations use unique task signatures and collision locks. If a network interruption occurs midway through a translation batch, rerunning the worker is completely safe and will never duplicate content or corrupt existing translations.

Review the complete architectural security boundaries:

  • The WordPress plugin never initiates outbound connections to remote servers.
  • The client communicates only with your configured WordPress URL and your selected translation endpoint.
  • No intermediary cloud servers or SaaS accounts are involved at any point.