SimplyTranslate

SimplyTranslate is a collection of "translation scrapers with interfaces for gemini and the web," made by metalune.

=> Check out metalune on their Gemini capsule!

In other words, SimplyTranslate is a privacy-respecting front end for Google Translate, similar to Twitter's Nitter. Over the course of a couple days – and one synchronous hacking session – I containerized the program to make it easier to deploy on servers worldwide.

When I first found the program, I immediately wanted to add it to my collection of self-hosted front ends. I had only one problem: I run my services with Docker, and SimplyTranslate had no Dockerfile. I tried slapping something together quickly, but curling from the container only threw an error:

curl: (52) Empty reply from server

I hopped onto the #simple-web IRC channel on Libera.Chat and started chatting with the devs. A couple days of back-and-forth later, we sat down to debug together. After scouring the internet, we determined that the application was binding to the wrong interface: 127.0.0.1, which is only accessible from the local machine, instead of 0.0.0.0, which is public.

I cooked up a pair of working Dockerfiles – the first running the app directly and the second through uvicorn:

=> a fast ASGI server for Python.

Metalune made a repo for the Dockerfiles, and I sent in a patch via email. It was committed within the hour.

=> Check out the repo, | the patch I sent, | and the commit itself.

This contribution was particularly interesting! We collaborated over IRC and across timezones, and I ended up returning to git's roots by submitting the patch via git send-email. Compared to the GitHub workflow, this feels very natural!

You can use SimplyTranslate over on metalune's hosted instance, either

=> on the web | or on Gemini.

Also feel free to browse the source code

=> over on SourceHut.

Proxy Information
Original URL
gemini://figbert.com/projects/simply-translate.gmi
Status Code
Success (20)
Meta
text/gemini;lang=en-US
Capsule Response Time
12.910539 milliseconds
Gemini-to-HTML Time
0.695065 milliseconds

This content has been proxied by September (3851b).