Script python permettant de traduire un long texte
Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.

1234567891011121314151617181920212223242526272829303132333435
  1. import json
  2. from collections import defaultdict
  3. # Chemin vers ton fichier d'entrée et de sortie
  4. input_file = "Paires-de-phrases-en-ukrainien-francais-2026-01-06.tsv" # Remplace par ton chemin
  5. output_file = "paires.json" # Fichier de sortie
  6. # Dictionnaire pour stocker les paires uniques (clé = phrase ukrainienne, valeur = liste de traductions)
  7. unique_pairs = defaultdict(list)
  8. # Lire le fichier d'entrée
  9. with open(input_file, "r", encoding="utf-8") as f:
  10. for line in f:
  11. # Diviser la ligne en colonnes (séparateur = tabulation)
  12. parts = line.strip().split("\t")
  13. if len(parts) >= 3:
  14. uk_text = parts[1] # Texte ukrainien
  15. fr_text = parts[3] # Traduction française
  16. # Ajouter la paire au dictionnaire (évite les doublons)
  17. if fr_text not in unique_pairs[uk_text]:
  18. unique_pairs[uk_text].append(fr_text)
  19. # Écrire le fichier JSONL de sortie
  20. with open(output_file, "w", encoding="utf-8") as f_out:
  21. for uk_text, fr_translations in unique_pairs.items():
  22. # Prendre la première traduction (ou toutes si tu préfères)
  23. for fr_text in fr_translations:
  24. # Créer une entrée JSONL
  25. entry = {
  26. "text": uk_text,
  27. "translation": fr_text
  28. }
  29. f_out.write(json.dumps(entry, ensure_ascii=False) + "\n")
  30. print(f"Fichier JSONL généré : {output_file}")