57 lines
1.8 KiB
Python
57 lines
1.8 KiB
Python
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()
|