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