import pandas as pd import os import PyLibrary.funciones_comunes as fc from translation_config import TranslationConfig # Definir el logger a nivel de módulo logger = None def exportar_para_traduccion(config: TranslationConfig): master_path = config.get_master_path() if not os.path.exists(master_path): print("El archivo maestro no existe.") return # Leer el archivo maestro df_maestro = fc.read_dataframe_with_cleanup_retries(master_path) # Crear un nuevo DataFrame para la exportación df_export = pd.DataFrame() # Copiar la primera columna y la columna del idioma de destino primera_columna = df_maestro.columns[0] df_export[primera_columna] = df_maestro[primera_columna] df_export[config.codigo_idioma_seleccionado] = df_maestro[ config.codigo_idioma_seleccionado ] # Guardar el archivo exportado ruta_export = config.get_translate_path() # Usar ExcelWriter para tener más control sobre el proceso de escritura with pd.ExcelWriter(ruta_export, engine="openpyxl") as writer: df_export.to_excel(writer, index=False, sheet_name="Sheet1") # Ajustar el ancho de las columnas worksheet = writer.sheets["Sheet1"] for idx, col in enumerate(df_export.columns): max_length = max(df_export[col].astype(str).map(len).max(), len(col)) if max_length > 50: max_length = 50 worksheet.column_dimensions[chr(65 + idx)].width = max_length + 2 print(f"Archivo exportado para traducción: {ruta_export}") def run(config: TranslationConfig): global logger logger = fc.configurar_logger(config.work_dir) exportar_para_traduccion(config) if __name__ == "__main__": import menu_pasos_traduccion menu_pasos_traduccion.main()