Documentation
- Getting started
- Add a translation model
- Enable the Safari extension
- Translate in Safari
- Processing modes
- On-device models & processors
- Import images in the app
- Cache
- Sync
- Diagnostics
- 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
- Whole page: tap the page menu left of the address bar → Translating Charm → Translate Page.
- Swipe left on one image; swipe again or to the right to see the original. On readers that turn pages by swiping (e.g. pixiv's phone layout) it becomes a two-finger swipe; you can also switch to two fingers or turn it off in the app's Safari Extension settings.
- Floating ball: tap to turn on auto-translate for images you scroll to; long-press for the menu (translate all, show originals, hide on this site). Drag it anywhere; each site remembers its position.
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.