Mozhi is an alternative-frontend for many translation engines.
Go to file
Midou36O e63ae7e8a7
Some checks are pending
mozhi pipeline / Push Docker image to Codeberg docker registry (push) Waiting to run
mozhi pipeline / Build and publish artifacts (push) Waiting to run
Add JS function to copy the translation link (closes #24) (#32)
Please squash the commit when merging. (In order to avoid the extra 2 commits that have no extra value.)

Reviewed-on: https://codeberg.org/aryak/mozhi/pulls/32
Co-authored-by: Midou36O <midou@midou.dev>
Co-committed-by: Midou36O <midou@midou.dev>
2024-04-04 05:41:35 +00:00
.gitea/workflows install-docker should be b4 qemu 2023-09-21 22:05:59 +05:30
cmd refactor: cleanup and simplify code 2024-03-03 17:45:57 +01:00
docs update swaggo docs 2023-11-12 11:48:52 +05:30
pages add support for selecting certain engines in API 2024-04-03 17:03:14 +05:30
public Cleanup the CSS. 2023-10-13 14:00:41 +01:00
serve tts even when autodetect; source language transliteration (closes #23) 2023-12-04 19:17:41 +05:30
utils add support for selecting certain engines in API 2024-04-03 17:03:14 +05:30
views Add JS function to copy the translation link (closes #24) (#32) 2024-04-04 05:41:35 +00:00
.gitignore guess i have to add docs to the repo itself 2023-08-27 21:53:49 +05:30
compose.yml update compose with the registry image 2023-09-02 11:32:49 +05:30
Dockerfile add arm64 support hopefully (closes #2) 2023-09-21 21:53:49 +05:30
go.mod add support for selecting certain engines in API 2024-04-03 17:03:14 +05:30
go.sum add support for selecting certain engines in API 2024-04-03 17:03:14 +05:30
instances2json.py add projectsegfault instances; instances2json script 2024-03-16 22:30:03 +05:30
instances.json add projectsegfault instances; instances2json script 2024-03-16 22:30:03 +05:30
LICENSE init 2023-06-25 00:10:57 +05:30
main.go SimplyTranslate -> Mozhi + Refactor README 2023-08-27 17:22:32 +05:30
README.md add projectsegfault instances; instances2json script 2024-03-16 22:30:03 +05:30
TODO.md update deps 2023-11-29 18:27:08 +05:30

Mozhi logo

Mozhi

License: AGPLv3 Matrix

Mozhi (spelt moḻi) is an alternative-frontend for many translation engines.

It was initially made as a maintained fork/rewrite of simplytranslate, but has grown to have a lot more features as well!

I'm initially focusing on the api and engines, but eventually Mozhi will have a functioning CLI and webapp.

Supported Engines:

  • Google
  • Reverso
  • DeepL
  • LibreTranslate
  • Yandex
  • IBM Watson
  • MyMemory
  • DuckDuckGo (almost 1-1 with Bing Translate)

Where is the engine code?

The engine code has recently been split from the main codebase. Please check aryak/libmozhi for it.

Installing

You can either use docker or the build artifacts from CI jobs on git.projectsegfau.lt.

Building

GOPRIVATE=codeberg.org/aryak/libmozhi # Get latest commit since proxy server is a bit slow
go mod download
go run github.com/swaggo/swag/cmd/swag@latest init --parseDependency
go build -o mozhi

API Docs

Mozhi makes use of swagger (using the fiber middleware) to manage the documentation of the API.

You can find it in /api/swagger of any instance (example).

Configuration

Features of Mozhi can be customized and toggled on/off using Environment Variables.

  • MOZHI_PORT: Port the webserver listens on (if hosting API)
  • MOZHI_LIBRETRANSLATE_URL: URL of Libretranslate instance (Example: MOZHI_LIBRETRANSLATE_URL=https://lt.psf.lt)
  • MOZHI_DEFAULT_SOURCE_LANG: Language to default to if no source language is set by user. Defaults to Auto-Detect (or first available language in engines which dont support it)
  • MOZHI_DEFAULT_TARGET_LANG: Language to default to if no target language is set by user. Defaults to English

These envvars turn off/on engines. By default all of them are enabled.

  • MOZHI_GOOGLE_ENABLED
  • MOZHI_REVERSO_ENABLED
  • MOZHI_DEEPL_ENABLED
  • MOZHI_LIBRETRANSLATE_ENABLED
  • MOZHI_YANDEX_ENABLED
  • MOZHI_WATSON_ENABLED
  • MOZHI_MYMEMORY_ENABLED
  • MOZHI_DUCKDUCKGO_ENABLED

Instances

Link Cloudflare Country ISP
mozhi.aryak.me No India Airtel
translate.bus-hit.me No Canada Oracle
nyc1.mz.ggtyler.dev No USA Royale Hosting
translate.projectsegfau.lt No Germany / USA / India Avoro / Racknerd / Airtel

Features

  • An all mode where the responses of all supported engines will be shown.
  • Autodetect which will show the language that was detected
  • Text-To-Speech for multiple engines
  • A good API (subjective :P)
  • All the stuff you expect from a translation utility :)

Etymology

Mozhi is the word in Tamil for language. Simple as that :P

Credits

  • Arya: creator
  • Midou36o: made the logo
  • py_: Design files
  • Missuo: creating gDeepLX that does the hard part of making DeepL work
  • translatepy: giving me the format of request for yandex engine
  • SimplyTranslate: Inspiration and base code for the webui
  • Rimgo: Code for embedding html in binary
  • Bnyro: Parallelization of all engines