OCR Translation software

I’ve been traveling abroad lately and found one major thing I can’t easily do is translate things using the camera. Is there an easy way to do so?

Thus far I’ve tried taking a picture, analyzing it with frog, and then taking the text and copying that into google translate.

This kinda works, but frog gets a lot of letters wrong, and can’t seem to handle letter accents (ie ö).

Does anyone know of anything that works better for this?

I am not aware of anything, that does this “in one go”. Did you set the language you’re trying to OCR in Frog? It may help a bit.

Also, instead of Google Translate (assuming you are using the website), you may want to use the Dialect app: https://linuxphoneapps.org/apps/app.drey.dialect/ :smiley:

Interesting, Frog only has english in its language list, but dialect appears interesting. I’ll play with that thanks!

edit: Annother Issue I’ve found is that for small text It’s hard to hold the phone steady enough for it to keep focus, so I need to keep setting/unsetting auto focus. It’s doable, but a pain.

It can support multiple languages, it’s a bit buried in preferences:

Regarding auto-focus: That’s something that may improve over time.

1 Like

Thank you,
That works with millipixels -> frog -> dialect! Thank you!

What does it mean “based on Google Translate”? It is connecting to Google for that purpose? If so, what is the benefit beside a phone friendly UI?

1 Like

In case anyone else is confused by this, the text quoted is from the linked web page, and does not occur in this topic: https://linuxphoneapps.org/apps/app.drey.dialect/

Still, it is a good question.

Maybe have a look at the source?

The linked web page also contains the text:

Translation based on the LibreTranslate API, allowing you to use any public instance

which offers further clues but may add to the uncertainty. :wink:

I guess the bigger picture question is: Is this an offline app or an online app?

Does the app work at all if I have used the HKSs / if I have no signal / if I have no network connection?

Or does it always rely on a network-based server? and the only question is whether I can choose between Google and a less intrusive party? Can I run the server privately? on a local server? on the phone itself?

Personally, I am always very reluctant to use online translation, particularly if translating from another language to English (in my situation), since in that case I am sharing potentially private information with an unknown party on the internet without even knowing in advance what it is that I am sharing!

1 Like

It’s not easy for me to read source code and I don’t understand everything by far. I woud like to invest my time in more useful stuff then getting an answer, where I expect that I don’t want to use it (but I may wrong, so I asked).
However, I already gave a look into git to get information about ReadMe files etc, but even there nothing more informative was described.

1 Like

Maybe @steve needs to investigate this more closely.

There’s not much point using a Librem 5 if you then copy all your communications to Google for translation (well, those communications that are in a foreign language).

This isn’t that black and white in my mind. Sometimes there are trade offs one must make based on their needs.

One point is that there are levels of information one can be providing to an untrusted actor (ordered worst to best):

  1. Where one provides both an identification (a login, especially one that has real information attached) with the request.
  2. Just the request with no identification. A VPN or just cell data connection are good for hiding information that would allow the actor to id you.
  3. Using a third party proxy that still sends the request to the actor, but in a fully anonymous way. (ie startpage.com)
  4. Using a service that makes the request that never talks to said actor.

This case would appear to be #2. It appears that I could use startpage.com in firefox to do the translation as well to make this #3.

I might be able to use other sites to do the translation as well which may be your point

Of course there are all gradients between black and white (and I thought this way before). But how can I act as I want or at least if it’s worse to use it in my specific case or not, if I don’t know what a software does and what not? For me it’s also fine to use tor browser to translate something with Google, if I don’t find a better answer somewhere else. But if I would knew about a project that runs local without internet connection needed, I instantly would download it (especially with such useful functions like translating via snapshot). Just that you understand my (our) questions more.

And I guess irvinewade wanted to ask you, if you found something out about this application and how it works in background, since it seams you use it.

Yes, sorry, my post was confusing.

The actual questions to @steve were along the lines of:

  • is this an online app or an offline app?
  • if an online app …
  • can you configure which server is used?
  • which server is used by default?
  • what other servers are available to choose?
  • can you run a private server yourself? e.g. on local network or e.g. on the phone itself or e.g. on the internet but restricted to your use

Without getting too bogged down in my stated opinion (about copying your communications to Google) … part of the concern is that if you take a bunch of text in a foreign language (that you don’t understand) and drop it into Google Translate then you may be identifying yourself from that text, regardless of login credentials, VPN, IP address, … (in addition to leaking other personal information).

Your actual name could be in that foreign language text. Someone else’s actual name could be in there. Granted that you could censor actual names in some cases. (In other cases, not e.g. I’m guessing most of us would not recognise our own name if appearing in Chinese text.)

Sufficient PII may be in that foreign language text so that, combined with information from elsewhere on the internet that is accessed by the Google Snout ⚇, which pokes its nose in everywhere, you may be fully identified even without your actual name appearing.

By doing this, regardless of your own personal opinion, you may be letting the other party down. That is, if this is an email or other direct messaging from someone else in a foreign language, you should really get agreement from the other party before using an online translator. If this is text published on a web site but the page on the web site has restricted access then the same could apply.

Playing with the preferences of dialect, it appears to be online only. You can choose between google translate, libreTranslate, and Lingva Translate. One can also choose the instance, which looks looks a domain name. From a little research on LibreTranslate, it may be possible to run the server locally on the librem 5 making it not require an internet connection.

Granted, I’m really not too worried about revealing information in the text. Where I was basically everyone spoke fluent english, and thus interacting with people wasn’t an issue. Main area I had issues was text; mainly food/medicine labels (I got sick on the trip).


Sorry if the not super up-to-date listing on LinuxPhoneApps.org caused confusion, I struggle to keep them all up to date.

  • is this an online app or an offline app?
  • if an online app …
  • can you configure which server is used?
  • which server is used by default ?
  • what other servers are available to choose?
  • can you run a private server yourself? e.g. on local network or e.g. on the phone itself or e.g. on the internet but restricted to your use

While my first thought was ‘come on man, just try it out, it is not that hard’, let me provide some info:
It’s obviously an online app.
The default back-end is Google Translate, but you can change that in settings to your needs/likings before first use. For Lingva Translate and LibreTranslate you defaults are lingva.ml / libretranslate.de, but you can enter any URL.

Running a private server for LibreTranslate should be possible, limiting it… there’s no apparent option for authentication, so that might be difficult, if it’s on the open web.

If you should end up setting up a LibreTranslate server, please share the process and whether it works and please ping me, so I can add a link to that post on LinuxPhoneApps.org :slight_smile:

1 Like

Looking (very briefly) at the API doco at https://libretranslate.de/ it appears to be a standard HTTP request, so you could front-end the server with a standard HTTP server acting as a reverse proxy, and put the authentication in the front end. Maybe.

Alternatively you could firewall the server but use a separate mechanism, with authentication, to open the firewall for the source IP address for a period of time. That’s not as convenient though.

1 Like