This project is an application that performs translation on bodies of text using DeepL via a wrapper API.
- Clone this repo
- Sign up for a DeepL account (free tier) here and copy the generated API key to a
.envfile. - Go to the backend directory of the repo
cd translator
- run
pip install .to install all dependencies
pip install .
- Run
make startto build the app's image and start the docker container
make start
- Navigate to the FastAPI docs here
- Go to the frontend directory of the repo
cd ../translator-ui
- Start the application
npm run dev
- Navigate to the webpage at http://localhost:3000/translate
- Translate a body of text
- Submit text to the translator in FastAPI, receive the translation result in the target language
- Specify other parameters
- Source language: from the list of source languages, or can be left up to the translation tool to detect the source language
- Target language: from the list of target languages, must be specified
- Formality: the desired level of formality of the translation for the target language
- Context: extra information can be submitted along with the text to help the translation tool perform a more accurate translation. The context is not translated and does not bill any characters to DeepL
- Glossary: see below (only via FastAPI)
- Create, read, or delete a Glossary
- Creates a mapping between words to override the DeepL translations
- Users can create their own glossaries and instruct the text translator to use it