Skip to content

Translate

github-actions[bot] edited this page Sep 15, 2026 · 4 revisions

Translate opens a small typing window right above the keys. Type a sentence, watch the translation appear as you go, then send it to your field with a tap. It never reads what's already in the field. It translates whatever you type into the panel itself, so it works the same in a chat app, a note, or a search bar.

Using it

Open Translate from the toolbar, or from the toolbox if you haven't pinned it (it isn't pinned by default). On a hardware keyboard, use the leader key: double-tap Ctrl, then press R.

The panel has its own search bar at the top. What you type there is what gets translated, not the text already in your field. It's the same key-rerouting trick the GIF, sticker, and Wikipedia panels use: while the panel is focused, your keystrokes go to its search bar instead of the app behind the keyboard. Opening Translate over a chat you're mid-way through never touches what you already wrote. The panel always starts empty and pre-fills from nothing.

  • Source language is always auto-detected. There's no source picker. The header reads "Detect language →" until the first result comes back, then switches to the language it found, for example "Bengali →".
  • Target language is the chip next to it. Tap it to open a dropdown of all 33 supported languages and pick one.
  • The translation updates automatically about 400 milliseconds after you stop typing. Pressing return translates immediately, and changing the target language re-translates what's already in the box right away.
  • Once a translation is showing, two actions light up below it:
    • Insert types the translation into your field at the cursor, leaving whatever was already there in place.
    • Replace text swaps out the field's entire contents for the translation. Use this when the field only holds the sentence you were translating and you want a clean swap rather than an insertion.

Long input is capped: anything past 2,500 characters is silently cut off before it's sent, with no on-screen warning that it happened.

Note

Hardware-keyboard focus-ring navigation reaches the whole panel: Tab and arrow-key cycling take in the target-language chip, the picker's rows while it's open, and both action buttons, the same way they do in the GIF or search panels. One rough edge is left. Esc while the language picker is open closes the whole panel rather than just the picker, so press Enter on the chip to bring the list back.

Options

Tools / Translate

  • Turn on: already on, like every tool. Switching it off removes Translate from both the toolbar and the toolbox.
  • Icon colour: only shown if colorful tool icons are turned on globally. It overrides Translate's icon color.
  • Keyword shortcut: a Trigger words field pre-filled with "translate", plus a Match capitals switch that's off by default. Type the word on its own and the suggestion strip offers to open the tool. See smart suggestion chips.
  • Translate into: the target language, from the same 33-language list as the panel's picker. Defaults to English. Changing it here also changes what the panel opens to next time.
  • LibreTranslate server: F-Droid build only, blank by default. Paste the address of a LibreTranslate server, your own or one you trust. Translation goes there instead of Google, even if a Cloud Translation key is also set. An optional key field sits below it, for instances that ask for one. See Servers for the same field shared across tools.
  • Cloud Translation API key (optional): blank by default. Paste a Google Cloud Translation API key here to use the official API instead of the free endpoint (see below). The field saves as you type, with no separate save button. Under it you'll read "The app uses your key" once you've typed one, "This field is blank. The app uses the key that is built into the app." if this build ships one, or "Without a key, translation uses the free public endpoint of Google" otherwise.

This screen also shows the caption WM Keyboard displays right on the settings page:

The keyboard sends the text that you translate to Google either way, and only while the translate panel is open. The free endpoint is unofficial and rate limited. A Cloud Translation key makes it official and reliable.

If you back up your settings with Include API keys turned on, a Translate key you've pasted in travels with the backup along with your GIF, search, and AI keys.

Details & edge cases

  • Google, or LibreTranslate on the F-Droid build. With no key, WM Keyboard calls Google's free public translation endpoint. It's the same unofficial one browser translate extensions use: fine for personal typing volumes, with no uptime guarantee and its own rate limits. With a key, it calls the official Cloud Translation v2 API instead, billed to your Google Cloud project and reliable. The F-Droid build adds a third path: paste a LibreTranslate server's address under Options. Every translation then goes there instead of either Google option, even with a Cloud Translation key also set. Whichever is active, only the text you type into the panel is sent. Nothing else in the field is.
  • Sent, precisely: the text currently in the panel's search box (truncated to 2,500 characters), the target language code, and your key where one applies. The free Google endpoint receives the text as part of the request URL. The official Google API and a configured LibreTranslate server both send it in a POST body, LibreTranslate's carrying its optional key alongside.
  • When it's sent: automatically ~400ms after you stop typing, immediately on return or retry, and immediately again if you change the target language, all only while the panel is open. Closing the panel cancels any translation in flight.
  • Power Saving mode's "Background network" toggle doesn't touch this. That toggle only stops fetches that happen without you asking: link previews, QR auto-scan, dictionary look-ups. Tools you open yourself, translate included, keep working even with it on.
  • Not available before your phone is unlocked once after a restart. Translate needs the network, and it isn't on the short list of tools that work on a locked device. It won't appear if you're typing on the lock screen before that first unlock.
  • Works the same in both editions. Translate isn't gated to Full. There's nothing Lite is missing here.
  • If a request fails outright, from no connection, a bad key, or a timeout, the panel shows the raw error message rather than a simplified one. An offline failure can read as a technical exception string instead of "No internet connection."

Looking for something different named "translate"? The AI tool has its own Translate action, which uses an LLM for more natural phrasing than a literal translation. Offline voice dictation has a separate "Translate to English" toggle for what you say rather than what you type. Both are configured on their own settings screens, independent of this one. For the full picture of what leaves your device and when, see network policy.

Clone this wiki locally