| import csv | |
| import deepl | |
| import os | |
| import travel_resolver.libs.nlp.langage_detection.variables as var | |
| def traduce_into_csv(f_in: str, f_out: str, target_lang: str): | |
| """ | |
| Take an input file that contains french text | |
| and translate it into a csv file. | |
| Args: | |
| f_in (str): File path to analyse, must contain extension. | |
| f_out (str): File path containing result, must contain extension. | |
| target_lang (str): Key representing output langage. | |
| """ | |
| translator = deepl.Translator(os.getenv(var.ENV_AUTH_KEY)) | |
| with open(f_in, "r") as csv_file: | |
| csv_reader = csv.reader(csv_file) | |
| with open(f_out, "w", newline="") as output_csv: | |
| csv_writer = csv.writer(output_csv) | |
| for row in csv_reader: | |
| str = "".join(row).lower() | |
| str = translator.translate_text( | |
| str, target_lang=target_lang, source_lang=var.FR | |
| ) | |
| modified_row = [str] | |
| csv_writer.writerow(modified_row) | |
| def main(): | |
| for lang in var.TRAD_TARGETS: | |
| source = "../../../../data/langage_detection/prompts/FR_prompts.csv" | |
| output_csv_file = "../../../../data/langage_detection/" | |
| output_csv_file += lang + "_prompts.csv" | |
| traduce_into_csv(source, output_csv_file, lang) | |
| if __name__ == "__main__": | |
| main() | |