# Project pack: LibreTranslate @ a0ec22e Facts about **LibreTranslate** for an AI following the [BespokeAI handover guide](https://handoff.bespokeai.software/guide/v4.md). Pinned to one version; never changes after publication. > LibreTranslate is a self-hosted machine translation service with a simple web page and a full API. It uses open language models, so translations happen on your own computer. You can add languages, translate files and call it from scripts and apps. ## Setup path (checked 2026-11-03) - **Start here, no Docker:** Install it with its language package manager. No Docker. - Offer Docker only if the person asks or this path fails. The commands further down may use Docker; they are not the starting point. - Verdict source: https://docs.libretranslate.com - You may be unable to download source archives or run commands in this session. The person downloads and runs things; if you cannot fetch something, give any changed file in full in chat with its path. ## Version and source - Repository: https://github.com/LibreTranslate/LibreTranslate - Pinned commit: `a0ec22ee93059b138f53fcefe1160d373547a448`. Use exactly this version. - Zip the person can download in a browser: https://github.com/LibreTranslate/LibreTranslate/archive/a0ec22ee93059b138f53fcefe1160d373547a448.zip - Fresh checkout (only if you have a shell and git): use the commands below in an empty folder. If this exact source is already checked out, keep your branch and use the development command; do not clone again or reset local changes. - Official docs: https://docs.libretranslate.com - Licence: **AGPL-3.0-only**. Free to use and change. If other people use your changed version, including over a network (for example a website you host for them), you must offer them your source code under the same licence. Using it privately for yourself or your household has no extra obligations. ## Commands from the pinned source - Developer commands (they may use Docker): ```sh git clone https://github.com/LibreTranslate/LibreTranslate bespoke-libretranslate cd bespoke-libretranslate git checkout --detach a0ec22ee93059b138f53fcefe1160d373547a448 # Prepare development requirements and local configuration first. python3 -m venv .venv . .venv/bin/activate pip install -e . libretranslate --load-only en,es,fr ``` - Separate trial of the current upstream release (not your changes; sample data and a separate data directory only): ```sh docker run -d --name libretranslate -p 5000:5000 -v lt-local:/home/libretranslate/.local libretranslate/libretranslate --load-only en,es,fr # the first start downloads language models, then open http://localhost:5000 ``` - Tools these commands use: Docker for a trial, Python 3.9 to 3.12 for development, several GB of disk for models - Develop: `libretranslate --load-only en,es,fr` - Test: `pytest` - Stack: python, javascript (Flask, Argos Translate, Bootstrap). Difficulty for a non-developer with an AI: **moderate**. A compact Flask app around the Argos Translate engine. The web page and API are small; language models are large downloads. - The project's own AI instructions, in the repository: `AGENTS.md`. Personal data: **no**. Stored in: Language models under the user's local data folder and an optional SQLite file for API keys. Secrets are entered by the person, never in chat. --- Later, only when a step needs it: [reference.md](https://handoff.bespokeai.software/p/libretranslate/a0ec22e/r3/reference.md) (customisation points, must-keep-working, data and costs, coding conventions) · [hosting.md](https://handoff.bespokeai.software/p/libretranslate/a0ec22e/r3/hosting.md) (long-term hosting; hosts are paid third parties) · [bespoke.yaml](https://handoff.bespokeai.software/p/libretranslate/a0ec22e/r3/bespoke.yaml) · [SKILL.md](https://handoff.bespokeai.software/p/libretranslate/a0ec22e/r3/SKILL.md)