Translating Charm 中文

Documentation

  1. Getting started
  2. Add a translation model
  3. Enable the Safari extension
  4. Translate in Safari
  5. Processing modes
  6. On-device models & processors
  7. Import images in the app
  8. Cache
  9. Sync
  10. Diagnostics
  11. FAQ

Getting started

Open the app: Overview lists what is left to set up — add a translation model, download the on-device models, and enable the extension in Safari.

Add a translation model

Translation Models → choose a service (OpenAI, Anthropic, DeepSeek, OpenRouter or OpenAI-compatible) → enter the API key and model ID → Test Connection → Save. You can add several and switch between them in Translation Settings.

API keys are kept only in this device's keychain. The recognized text is sent to the service you chose; with Image-Assisted Translation on, a page thumbnail is sent as well.

Enable the Safari extension

Settings → Apps → Safari → Extensions → Translating Charm → turn on Allow Extension. The first time you use it on a site, Safari asks for access; choose Always Allow on This Website.

Translate in Safari

Processing modes

Send to App (default): pages are processed by the app with the full models and the GPU. If the app is already running (in front, in Split View / Slide Over or processing), it takes over silently; otherwise it opens for about a second to start background processing and returns you to Safari, where results appear as they finish while the system shows the progress.

In Safari: everything happens inside the extension without opening the app. The extension has little memory, so it loads only the models that fit and otherwise uses system text recognition and solid-color erasing.

On-device models & processors

Download the manga text detector, the manga-ocr encoder/decoder and LaMa inpainting (about 330 MB) in On-Device Models. Without them, system text recognition and solid-color erasing are used.

After a download the app measures each model on the CPU, GPU and Neural Engine of your device, checks the results and picks the fastest; you can override it under Processing Device or measure again. Under Memory you choose how long idle models stay loaded; they are also released under memory pressure or on low battery.

Import images in the app

Import Images takes pages from Photos or Files; see the results under Jobs, compare with the original, view the recognized and translated text, and share the page.

Cache

Browse and delete translated pages and translation memory under Cache, and set how long entries are kept and the size limit. The least recently used entries go first.

Sync

Choose iCloud or WebDAV (e.g. your own Nextcloud or Synology). All settings sync; the translation cache optionally. If settings changed on two devices you choose which to keep. API keys sync through iCloud Keychain, or are encrypted with your passphrase before upload to WebDAV; the passphrase stays on the device.

Diagnostics

About & Licenses → Diagnostics shows what this installation was granted (App Group, shared keychain, iCloud, memory limit, background GPU) and what that means, with a button to copy the report (no keys or passwords) for support.

FAQ

The extension can't run on this page

Allow Translating Charm for the site from Safari's page menu, then reload.

Couldn't read the image

Some sites block hotlinking. The extension downloads images through the app the way Safari does, with the page as referrer; if it still fails, reload and try again, or use Import Images in the app.

No text found

The detector and manga-ocr support Japanese originals only; other languages use system text recognition.

Translation is slow

Make sure the on-device models are installed and check the measurements under On-Device Models → Processing Device. Loading the models takes a few seconds once; they then stay in memory.

The model service reports an error

The app shows the reason (invalid key, quota, unknown model …). Use Test Connection in Translation Models.