simply-translate.md (2345B)
1 +++ 2 title = "SimplyTranslate" 3 date = 2021-07-02 4 updated = 2022-09-22 5 weight = 5 6 +++ 7 8 [**SimplyTranslate**][st] is a collection of "translation scrapers with 9 interfaces for gemini and the web," made by [metalune]. In other words, 10 it's a privacy-respecting front end for Google Translate, similar to 11 Twitter's [Nitter]. Over the course of a couple days – and one 12 synchronous hacking session – I containerized the program to make it 13 easier to deploy on servers worldwide. 14 15 <!-- more --> 16 17 When I first found the program, I immediately wanted to add it to my 18 collection of self-hosted front ends. I had only one problem: I run my 19 services with Docker, and SimplyTranslate had no Dockerfile. I tried 20 slapping something together quickly, but curling from the container only 21 threw an error: 22 23 ``` 24 curl: (52) Empty reply from server 25 ``` 26 27 I hopped onto the `#simple-web` IRC channel on [Libera.Chat] and started 28 chatting with the devs. A couple days of back-and-forth later, we sat 29 down to debug together. After scouring the internet, we determined that 30 the application was binding to the wrong interface: `127.0.0.1`, which 31 is only accessible from the local machine, instead of `0.0.0.0`, which 32 is public. 33 34 I cooked up a pair of working Dockerfiles – the first running the app 35 directly and the second through [uvicorn]. Metalune made a [repo for the 36 Dockerfiles][repo], and I sent in a [patch via email][patch]. It was 37 [committed] within the hour. 38 39 This contribution was particularly interesting! We collaborated over IRC 40 and across timezones, and I ended up returning to git's roots by 41 submitting the patch via `git send-email`. Compared to the GitHub 42 workflow, this feels very natural! 43 44 You can use SimplyTranslate over on metalune's [hosted instance], and 45 browse the source code [on Codeberg]. 46 47 [st]: https://simple-web.org/projects/simplytranslate.html 48 [metalune]: gemini://metalune.xyz 49 [Nitter]: https://github.com/zedeus/nitter 50 [Libera.Chat]: https://libera.chat 51 [uvicorn]: https://www.uvicorn.org 52 [repo]: https://codeberg.org/SimpleWeb/SimplyTranslate-Docker 53 [patch]: https://lists.sr.ht/~metalune/simplytranslate-devel/patches/23516 54 [committed]: https://codeberg.org/SimpleWeb/SimplyTranslate-Docker/commit/4fc34e3503def3a8436dab4f84a1731070a715ba 55 [hosted instance]: https://simplytranslate.org 56 [on Codeberg]: https://codeberg.org/SimpleWeb