Translator est un outil en ligne de commande puissant pour traduire des documents texte, principalement en format Markdown, en utilisant différents moteurs d'IA tels que Claude, GPT-4, Ollama, ou AI.YOU.
Version : 1.1.0 Beta
- Support de multiples moteurs d'IA : Anthropic Claude, OpenAI GPT, Ollama, et AI.YOU
- Traduction de fichiers entiers ou mode interactif pour des traductions rapides
- Préservation du formatage, y compris les sauts de ligne et l'espacement
- Gestion intelligente des lots pour optimiser les performances et respecter les limites des API
- Options de personnalisation avancées pour chaque traduction
Avant d'installer Translator, assurez-vous d'avoir Go installé sur votre système. Translator nécessite Go 1.16 ou une version ultérieure.
Pour vérifier votre version de Go, exécutez :
go version
Si Go n'est pas installé, vous pouvez le télécharger et l'installer depuis le site officiel de Go.
Pour installer Translator, suivez ces étapes :
-
Clonez le dépôt :
git clone https://github.com/chrlesur/translator.git
-
Naviguez dans le répertoire du projet :
cd translator
-
Compilez et installez le projet :
go install ./cmd/translator
Cette commande compilera le projet et placera l'exécutable dans votre GOPATH/bin
.
Assurez-vous que votre GOPATH/bin
est dans votre PATH. Vous pouvez l'ajouter en exécutant cette commande dans PowerShell :
$env:Path += ";$env:GOPATH\bin"
Pour rendre ce changement permanent, ajoutez-le à votre profil PowerShell ou aux variables d'environnement du système.
Ajoutez la ligne suivante à votre fichier .bashrc
, .zshrc
ou équivalent :
export PATH=$PATH:$(go env GOPATH)/bin
Puis rechargez votre configuration de shell :
source ~/.bashrc # ou ~/.zshrc, selon votre shell
Pour vérifier que Translator est correctement installé, exécutez :
translator version
Cela devrait afficher la version actuelle de Translator.
Pour mettre à jour Translator vers la dernière version, naviguez dans le répertoire du projet et exécutez :
git pull
go install ./cmd/translator
Créez un fichier .env
à la racine du projet avec les informations d'authentification nécessaires :
CLAUDE_API_KEY=votre_clé_claude
OPENAI_API_KEY=votre_clé_openai
AIYOU_EMAIL=votre_email_aiyou
AIYOU_PASSWORD=votre_mot_de_passe_aiyou
Si vous préférez ne pas installer Translator globalement, vous pouvez le compiler et l'exécuter directement depuis le répertoire du projet :
- Naviguez dans le répertoire du projet
- Compilez le projet :
go build -o translator ./cmd/translator
- Exécutez le programme compilé :
./translator [commandes et options]
Cette méthode créera un exécutable nommé translator
(ou translator.exe
sur Windows) dans le répertoire courant.
translator translate input.md EN --engine "anthropic" --model "claude-3-sonnet-20240229"
Pour utiliser AI.YOU, vous devez spécifier l'ID de l'assistant lors de l'exécution de la commande :
translator translate input.md EN --engine "aiyou" -A "votre_id_assistant"
translator interactive --engine "openai" --model "gpt-4"
translator test-api --engine "anthropic" --model "claude-3-5-sonnet-20240620"
-d, --debug
: Active le mode debug-b, --batch-size
: Nombre cible de tokens par lot pour le traitement (défaut: 1000)-t, --threads
: Nombre de threads pour le traitement parallèle (défaut: 4)-s, --source-lang
: Langue source du texte à traduire (défaut: français)-i, --instruction
: Instruction complémentaire pour la traduction-e, --engine
: Moteur de traduction (anthropic, openai, ollama, aiyou)-m, --model
: Modèle spécifique à utiliser pour le moteur choisi-A, --aiyou-assistant-id
: ID de l'assistant AI.YOU (requis pour le moteur aiyou)--ollama-host
: Hôte Ollama (défaut: localhost)--ollama-port
: Port Ollama (défaut: 11434)-c, --context-size
: Taille du contexte pour le modèle (0 pour utiliser la valeur par défaut)
Pour contribuer au projet :
- Forkez le dépôt
- Créez votre branche de fonctionnalité (
git checkout -b feature/AmazingFeature
) - Committez vos changements (
git commit -m 'Add some AmazingFeature'
) - Poussez vers la branche (
git push origin feature/AmazingFeature
) - Ouvrez une Pull Request
translator/
│
├── cmd/
│ └── translator/
│ └── main.go
│
├── internal/
│ ├── api/
│ │ ├── claude.go
│ │ ├── openai.go
│ │ └── ollama.go
│ │
│ ├── cli/
│ │ └── interactive.go
│ │
│ └── translation/
│ ├── translator.go
│ ├── utils.go
│ └── language-codes.go
│
├── pkg/
│ ├── fileutils/
│ │ └── fileutils.go
│ │
│ └── logger/
│ └── logger.go
│
├── .env
├── go.mod
├── go.sum
├── LICENSE
└── README.md
Le traducteur fonctionne en plusieurs étapes :
- Lecture du fichier d'entrée
- Segmentation du contenu en lots gérables
- Traduction parallèle des lots
- Assemblage des traductions
- Écriture du fichier de sortie
Le processus utilise un système de tokens pour optimiser l'utilisation des API de traduction et respecter leurs limites.
Distribué sous la licence GPL-3.0. Voir LICENSE
pour plus d'informations.
Christophe Lesur - christophe.lesur@cloud-temple.com
Lien du projet : https://github.com/chrlesur/translator