I use Translator from the Fdroid store.
It downloads the Mozilla language packs and translates locally.
I use Translator from the Fdroid store.
It downloads the Mozilla language packs and translates locally.
https://f-droid.org/packages/dev.davidv.translator/
It's super fast, offline and has รฅ API so other apps can use it too.
I'm using it to translate my SMS automatically, forked Fossify Messages and integrated this offline translator into it: https://git.jeena.net/jeena/sms-translate/src/branch/feature/upstream-translation-patch/README-translation.md
For pages and documents, Firefox does it locally by using a small model for each language you can download once. Which is great and private.
If you want to type something an get it the translation, perhaps DeepL, but your text is sent to their server, which is not great.
I believe Firefox allows you to point your local LLM (that you self host) as the "ai assistant", so that when you click translate, your own machine (localhost) does the work. I've found the Qwen3 series models (Qwen3-4B) to have been quite capable at translation; I imagine the newer ones are even better.

I suspect local AI models are the answer, but only second best to learning the language.
I wanted to be the funny person to answer with: the dictionary.
But aside of the bad joke, I want to say thanks for the question and thanks for all the answers in this thread!
I wasn't thinking about this as privacy concern (while obviously is), and I am really happy to see this issue is already solved several different ways!
IIRC On Firefox Desktop (or any forks of it) there is a built in translation tool,
You can also prompt engineer local LLMS into translating text for you.
all 10 comments