A library for automated directory translation
Project description
Lesia
About
Lesia is a tool to help you maintain your multilingual documents that integrates easily into your workflow.
Features
- Translate documents easily
- Preserves syntax (LaTeX/Markdown/MyST/Typst)
- Learns from your post-edits
- Preserves terminology (you may provide your vocabulary)
- Good quality translation
- Integrates easily in any workflow
- Easy to use for collaborative use (e.g. git)
- Supports any LLM of your choice
Documentation
Installation
- Make sure you have uv installed
- Install it via uv
uv tool install lesia - Verify that it works
lesia --help
Usage
- Create a directory dedicated for the project:
mkdir my-dir cd my-dir- Initialize the project
lesia init - Create a directory for the documents you want to translate
mkdir -p src/fr- In this example our source language is French
- Move your files to the created source directory
src/fr - Create directories for target languages
mkdir -p src/en,mkdir -p src/ua - Associate source and target directories with desired languages
lesia set-source src/fr french lesia set-target src/en english lesia set-target src/ua ukrainian
- Mark files that should be translated
lesia add src/fr/main.md - Synchronize directories
lesia sync - Set a model you want to use for translation
lesia set-llm google gemini-3.0-flash - Set a token (if needed)
export LLM_API_KEY=your-key - Translate
lesia translate all english lesia translate all ukrainian
- Learn more in the docs
Development
- Ensure you have uv tool installed (visit their site for the installation guide)
- Clone the repo:
git clone https://github.com/DobbiKov/lesia - Enter
cd lesia - Install dependencies
uv sync - Install tool from your directory and make it editable
uv tool install -e . - Enjoy
Contributing
The suggestions and pull requests are welcome.
Citation
If you use this software in your research or writing, please cite it as follows:
@software{korotenko_lesia_2026,
author = {Korotenko, Yehor},
title = {lesia},
month = jun,
year = 2026,
publisher = {Zenodo},
version = {v0.1.7},
doi = {10.5281/zenodo.20610935},
url = {https://doi.org/10.5281/zenodo.20610935}
}
French University Support
Free access to open-source models via ILaaS; no API key required for Paris-Saclay members if running your translations from MyDocker.
Credits
- Nicolas M. Thiéry - for supervising this project.
- LISN (Université Paris-Saclay) - for financing the internship and providing workspace.
- CMA SaclAI-School - for financing the project.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file lesia-0.1.9.tar.gz.
File metadata
- Download URL: lesia-0.1.9.tar.gz
- Upload date:
- Size: 415.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
32893221df62f466301062c60e304dc2ab8c846d84dad26cd2271fbc432063bb
|
|
| MD5 |
c1137d435fbe149b86a3774245c8e6f9
|
|
| BLAKE2b-256 |
f012b565438c158780e0cc23d5c832983b978e20ca8f35e555d0c154e891ad21
|
Provenance
The following attestation bundles were made for lesia-0.1.9.tar.gz:
Publisher:
release.yml on DobbiKov/lesia
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
lesia-0.1.9.tar.gz -
Subject digest:
32893221df62f466301062c60e304dc2ab8c846d84dad26cd2271fbc432063bb - Sigstore transparency entry: 2008089029
- Sigstore integration time:
-
Permalink:
DobbiKov/lesia@9767c213304778193248779da7ad210899ded32a -
Branch / Tag:
refs/tags/v0.1.9 - Owner: https://github.com/DobbiKov
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@9767c213304778193248779da7ad210899ded32a -
Trigger Event:
push
-
Statement type:
File details
Details for the file lesia-0.1.9-py3-none-any.whl.
File metadata
- Download URL: lesia-0.1.9-py3-none-any.whl
- Upload date:
- Size: 364.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6af70eadfd34c85a1bdf51776b4d348747e6451ba708c18792c1f96e3333dd52
|
|
| MD5 |
83be9687f8e46f4b0a3e1a21c61f80b5
|
|
| BLAKE2b-256 |
6ea88c5839a1f55bf74312f27a993d8d0f4cd4bab44c403e1ab9df68bd0a4122
|
Provenance
The following attestation bundles were made for lesia-0.1.9-py3-none-any.whl:
Publisher:
release.yml on DobbiKov/lesia
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
lesia-0.1.9-py3-none-any.whl -
Subject digest:
6af70eadfd34c85a1bdf51776b4d348747e6451ba708c18792c1f96e3333dd52 - Sigstore transparency entry: 2008089201
- Sigstore integration time:
-
Permalink:
DobbiKov/lesia@9767c213304778193248779da7ad210899ded32a -
Branch / Tag:
refs/tags/v0.1.9 - Owner: https://github.com/DobbiKov
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@9767c213304778193248779da7ad210899ded32a -
Trigger Event:
push
-
Statement type: