Con sistema de Afinidad via LLM funcionando

This commit is contained in:
Miguel 2024-07-31 14:17:01 +02:00
parent bed4ac84e6
commit 2262ac1f67
3 changed files with 466 additions and 49 deletions

View File

@ -1390,3 +1390,300 @@ Water supply
2024-07-31 11:58:34,586 - INFO - Respuestas recibidas:
['Значение % для установки в ручном режиме', 'Значение, рассчитанное по PID', 'Значение, рассчитанное по PID + Feedforward', 'Значение, рассчитанное по PID + FF к актуатору', 'Значение, рассчитанное по PID с масштабированием', 'Значение для принудительного задания, когда PID отключен', 'Проверьте с форматом', 'W<#>/<#>/<#> Общая - Максимальное давление датчика достигнуто', 'W<#>/<#>/<#> Общая - Уровень в баке ниже минимального', 'W<#>/<#>/<#> Общая - Остановить заполнитель из-за перегрева', 'W<#>/<#>/<#> Общая - Сигналы принудительно', 'Ожидание продукта', 'Ожидание включения селектора подачи', 'Ожидание минимальной накопляемости', 'Предупреждения', 'Системный watchdog', 'Подача воды']
2024-07-31 11:58:34,586 - INFO - Número total de traducciones recibidas: 17
2024-07-31 12:03:28,179 - DEBUG - Decisión de traducción para texto 'Value % to set in Manual Mode': Sí (palabras > 3 letras: True, solo campos especiales: True)
2024-07-31 12:03:28,179 - DEBUG - Decisión de traducción para texto 'Value calculated from PID': Sí (palabras > 3 letras: True, solo campos especiales: True)
2024-07-31 12:03:28,180 - DEBUG - Decisión de traducción para texto 'Value calculated from PID + Feedforward': Sí (palabras > 3 letras: True, solo campos especiales: True)
2024-07-31 12:03:28,180 - DEBUG - Decisión de traducción para texto 'Value calculated from PID + FF to Actuator': Sí (palabras > 3 letras: True, solo campos especiales: True)
2024-07-31 12:03:28,180 - DEBUG - Decisión de traducción para texto 'Value calculated from PID Scaled': Sí (palabras > 3 letras: True, solo campos especiales: True)
2024-07-31 12:03:28,180 - DEBUG - Decisión de traducción para texto 'Value to force when PID es disabled': Sí (palabras > 3 letras: True, solo campos especiales: True)
2024-07-31 12:03:28,182 - DEBUG - Decisión de traducción para texto 'Verificare Con Formato': Sí (palabras > 3 letras: True, solo campos especiales: True)
2024-07-31 12:03:28,183 - DEBUG - Decisión de traducción para texto 'W<#>/<#>/<#> General - Pressure sensor Maximun reached': Sí (palabras > 3 letras: True, solo campos especiales: True)
2024-07-31 12:03:28,184 - DEBUG - Decisión de traducción para texto 'W<#>/<#>/<#> General - Tank under minimun level': Sí (palabras > 3 letras: True, solo campos especiales: True)
2024-07-31 12:03:28,184 - DEBUG - Decisión de traducción para texto 'W<#>/<#>/<#> General - Stop Filler for Overtemperature': Sí (palabras > 3 letras: True, solo campos especiales: True)
2024-07-31 12:03:28,185 - DEBUG - Decisión de traducción para texto 'W<#>/<#>/<#> General - Signals Forced': Sí (palabras > 3 letras: True, solo campos especiales: True)
2024-07-31 12:03:28,185 - DEBUG - Decisión de traducción para texto 'Waiting for product': Sí (palabras > 3 letras: True, solo campos especiales: True)
2024-07-31 12:03:28,185 - DEBUG - Decisión de traducción para texto 'Waiting Infeed Selector Enable': Sí (palabras > 3 letras: True, solo campos especiales: True)
2024-07-31 12:03:28,185 - DEBUG - Decisión de traducción para texto 'Waiting Minimal Accumulation': Sí (palabras > 3 letras: True, solo campos especiales: True)
2024-07-31 12:03:28,186 - DEBUG - Decisión de traducción para texto 'Warnings': Sí (palabras > 3 letras: True, solo campos especiales: True)
2024-07-31 12:03:28,186 - DEBUG - Decisión de traducción para texto 'Watchdog del sistema': Sí (palabras > 3 letras: True, solo campos especiales: True)
2024-07-31 12:03:28,186 - DEBUG - Decisión de traducción para texto 'Water supply': Sí (palabras > 3 letras: True, solo campos especiales: True)
2024-07-31 12:03:28,186 - DEBUG - Decisión de traducción para texto 'YV<#>': No (palabras > 3 letras: False, solo campos especiales: True)
2024-07-31 12:03:28,187 - INFO - Número total de textos a traducir: 17
2024-07-31 12:03:28,187 - INFO - Traduciendo: celdas desde 0 a 17.
2024-07-31 12:03:28,188 - INFO - Solicitando traducción de Italian a Russian para el lote de textos:
{"texts": ["Value % to set in Manual Mode", "Value calculated from PID", "Value calculated from PID + Feedforward", "Value calculated from PID + FF to Actuator", "Value calculated from PID Scaled", "Value to force when PID es disabled", "Verificare Con Formato", "W<#>/<#>/<#> General - Pressure sensor Maximun reached", "W<#>/<#>/<#> General - Tank under minimun level", "W<#>/<#>/<#> General - Stop Filler for Overtemperature", "W<#>/<#>/<#> General - Signals Forced", "Waiting for product", "Waiting Infeed Selector Enable", "Waiting Minimal Accumulation", "Warnings", "Watchdog del sistema", "Water supply"], "source_lang": "Italian", "target_lang": "Russian"}
2024-07-31 12:03:32,608 - INFO - Respuestas recibidas:
['Значение % для установки в ручном режиме', 'Значение, рассчитанное по PID', 'Значение, рассчитанное по PID + Feedforward', 'Значение, рассчитанное по PID + FF к актуатору', 'Значение, рассчитанное по PID с масштабированием', 'Значение для принудительного управления, когда PID отключен', 'Проверить с форматом', 'W<#>/<#>/<#> Общая - Максимальное давление датчика достигнуто', 'W<#>/<#>/<#> Общая - Уровень в баке ниже минимального', 'W<#>/<#>/<#> Общая - Остановить наполнитель из-за перегрева', 'W<#>/<#>/<#> Общая - Сигналы принудительно активированы', 'Ожидание продукта', 'Ожидание включения селектора подачи', 'Ожидание минимальной накопленной массы', 'Предупреждения', 'Системный watchdog', 'Подача воды']
2024-07-31 12:03:32,608 - INFO - Número total de traducciones recibidas: 17
2024-07-31 12:03:59,137 - INFO - Archivo traducido guardado en: .\data\3_master_export2translate_translated.xlsx
2024-07-31 12:36:20,147 - DEBUG - Decisión de traducción para texto 'Value % to set in Manual Mode': Sí (palabras > 3 letras: True, solo campos especiales: True)
2024-07-31 12:36:20,148 - DEBUG - Decisión de traducción para texto 'Value calculated from PID': Sí (palabras > 3 letras: True, solo campos especiales: True)
2024-07-31 12:36:20,148 - DEBUG - Decisión de traducción para texto 'Value calculated from PID + Feedforward': Sí (palabras > 3 letras: True, solo campos especiales: True)
2024-07-31 12:36:20,148 - DEBUG - Decisión de traducción para texto 'Value calculated from PID + FF to Actuator': Sí (palabras > 3 letras: True, solo campos especiales: True)
2024-07-31 12:36:20,148 - DEBUG - Decisión de traducción para texto 'Value calculated from PID Scaled': Sí (palabras > 3 letras: True, solo campos especiales: True)
2024-07-31 12:36:20,149 - DEBUG - Decisión de traducción para texto 'Value to force when PID es disabled': Sí (palabras > 3 letras: True, solo campos especiales: True)
2024-07-31 12:36:20,150 - DEBUG - Decisión de traducción para texto 'Verificare Con Formato': Sí (palabras > 3 letras: True, solo campos especiales: True)
2024-07-31 12:36:20,152 - DEBUG - Decisión de traducción para texto 'W<#>/<#>/<#> General - Pressure sensor Maximun reached': Sí (palabras > 3 letras: True, solo campos especiales: True)
2024-07-31 12:36:20,152 - DEBUG - Decisión de traducción para texto 'W<#>/<#>/<#> General - Tank under minimun level': Sí (palabras > 3 letras: True, solo campos especiales: True)
2024-07-31 12:36:20,152 - DEBUG - Decisión de traducción para texto 'W<#>/<#>/<#> General - Stop Filler for Overtemperature': Sí (palabras > 3 letras: True, solo campos especiales: True)
2024-07-31 12:36:20,152 - DEBUG - Decisión de traducción para texto 'W<#>/<#>/<#> General - Signals Forced': Sí (palabras > 3 letras: True, solo campos especiales: True)
2024-07-31 12:36:20,153 - DEBUG - Decisión de traducción para texto 'Waiting for product': Sí (palabras > 3 letras: True, solo campos especiales: True)
2024-07-31 12:36:20,153 - DEBUG - Decisión de traducción para texto 'Waiting Infeed Selector Enable': Sí (palabras > 3 letras: True, solo campos especiales: True)
2024-07-31 12:36:20,153 - DEBUG - Decisión de traducción para texto 'Waiting Minimal Accumulation': Sí (palabras > 3 letras: True, solo campos especiales: True)
2024-07-31 12:36:20,153 - DEBUG - Decisión de traducción para texto 'Warnings': Sí (palabras > 3 letras: True, solo campos especiales: True)
2024-07-31 12:36:20,153 - DEBUG - Decisión de traducción para texto 'Watchdog del sistema': Sí (palabras > 3 letras: True, solo campos especiales: True)
2024-07-31 12:36:20,153 - DEBUG - Decisión de traducción para texto 'Water supply': Sí (palabras > 3 letras: True, solo campos especiales: True)
2024-07-31 12:36:20,154 - DEBUG - Decisión de traducción para texto 'YV<#>': No (palabras > 3 letras: False, solo campos especiales: True)
2024-07-31 12:36:20,154 - INFO - Número total de textos a traducir: 17
2024-07-31 12:36:20,154 - INFO - Traduciendo: celdas desde 0 a 17.
2024-07-31 12:36:20,155 - INFO - Solicitando traducción de Italian a Russian para el lote de textos:
{"texts": ["Value % to set in Manual Mode", "Value calculated from PID", "Value calculated from PID + Feedforward", "Value calculated from PID + FF to Actuator", "Value calculated from PID Scaled", "Value to force when PID es disabled", "Verificare Con Formato", "W<#>/<#>/<#> General - Pressure sensor Maximun reached", "W<#>/<#>/<#> General - Tank under minimun level", "W<#>/<#>/<#> General - Stop Filler for Overtemperature", "W<#>/<#>/<#> General - Signals Forced", "Waiting for product", "Waiting Infeed Selector Enable", "Waiting Minimal Accumulation", "Warnings", "Watchdog del sistema", "Water supply"], "source_lang": "Italian", "target_lang": "Russian"}
2024-07-31 12:36:25,205 - INFO - Respuestas recibidas:
['Значение % для установки в ручном режиме', 'Значение, рассчитанное по PID', 'Значение, рассчитанное по PID + Feedforward', 'Значение, рассчитанное по PID + FF к актуатору', 'Значение, рассчитанное по PID с масштабированием', 'Значение для принудительного задания при отключенном PID', 'Проверьте с форматом', 'W<#>/<#>/<#> Общая - Максимальное давление датчика достигнуто', 'W<#>/<#>/<#> Общая - Уровень в баке ниже минимального', 'W<#>/<#>/<#> Общая - Остановить заполнитель из-за перегрева', 'W<#>/<#>/<#> Общая - Сигналы принудительно установлены', 'Ожидание продукта', 'Ожидание включения селектора подачи', 'Ожидание минимальной накопительной емкости', 'Предупреждения', 'Системный watchdog', 'Подача воды']
2024-07-31 12:36:25,205 - INFO - Número total de traducciones recibidas: 17
2024-07-31 12:56:08,228 - DEBUG - Decisión de traducción para texto 'Value % to set in Manual Mode': Sí (palabras > 3 letras: True, solo campos especiales: True)
2024-07-31 12:56:08,228 - DEBUG - Decisión de traducción para texto 'Value calculated from PID': Sí (palabras > 3 letras: True, solo campos especiales: True)
2024-07-31 12:56:08,228 - DEBUG - Decisión de traducción para texto 'Value calculated from PID + Feedforward': Sí (palabras > 3 letras: True, solo campos especiales: True)
2024-07-31 12:56:08,228 - DEBUG - Decisión de traducción para texto 'Value calculated from PID + FF to Actuator': Sí (palabras > 3 letras: True, solo campos especiales: True)
2024-07-31 12:56:08,229 - DEBUG - Decisión de traducción para texto 'Value calculated from PID Scaled': Sí (palabras > 3 letras: True, solo campos especiales: True)
2024-07-31 12:56:08,229 - DEBUG - Decisión de traducción para texto 'Value to force when PID es disabled': Sí (palabras > 3 letras: True, solo campos especiales: True)
2024-07-31 12:56:08,229 - DEBUG - Decisión de traducción para texto 'Verificare Con Formato': Sí (palabras > 3 letras: True, solo campos especiales: True)
2024-07-31 12:56:08,230 - DEBUG - Decisión de traducción para texto 'W<#>/<#>/<#> General - Pressure sensor Maximun reached': Sí (palabras > 3 letras: True, solo campos especiales: True)
2024-07-31 12:56:08,230 - DEBUG - Decisión de traducción para texto 'W<#>/<#>/<#> General - Tank under minimun level': Sí (palabras > 3 letras: True, solo campos especiales: True)
2024-07-31 12:56:08,230 - DEBUG - Decisión de traducción para texto 'W<#>/<#>/<#> General - Stop Filler for Overtemperature': Sí (palabras > 3 letras: True, solo campos especiales: True)
2024-07-31 12:56:08,230 - DEBUG - Decisión de traducción para texto 'W<#>/<#>/<#> General - Signals Forced': Sí (palabras > 3 letras: True, solo campos especiales: True)
2024-07-31 12:56:08,230 - DEBUG - Decisión de traducción para texto 'Waiting for product': Sí (palabras > 3 letras: True, solo campos especiales: True)
2024-07-31 12:56:08,230 - DEBUG - Decisión de traducción para texto 'Waiting Infeed Selector Enable': Sí (palabras > 3 letras: True, solo campos especiales: True)
2024-07-31 12:56:08,230 - DEBUG - Decisión de traducción para texto 'Waiting Minimal Accumulation': Sí (palabras > 3 letras: True, solo campos especiales: True)
2024-07-31 12:56:08,230 - DEBUG - Decisión de traducción para texto 'Warnings': Sí (palabras > 3 letras: True, solo campos especiales: True)
2024-07-31 12:56:08,230 - DEBUG - Decisión de traducción para texto 'Watchdog del sistema': Sí (palabras > 3 letras: True, solo campos especiales: True)
2024-07-31 12:56:08,230 - DEBUG - Decisión de traducción para texto 'Water supply': Sí (palabras > 3 letras: True, solo campos especiales: True)
2024-07-31 12:56:08,230 - DEBUG - Decisión de traducción para texto 'YV<#>': No (palabras > 3 letras: False, solo campos especiales: True)
2024-07-31 12:56:08,231 - INFO - Número total de textos a traducir: 17
2024-07-31 12:56:08,231 - INFO - Traduciendo: celdas desde 0 a 17.
2024-07-31 12:56:08,233 - INFO - Solicitando traducción de Italian a Russian para el lote de textos:
{"texts": ["Value % to set in Manual Mode", "Value calculated from PID", "Value calculated from PID + Feedforward", "Value calculated from PID + FF to Actuator", "Value calculated from PID Scaled", "Value to force when PID es disabled", "Verificare Con Formato", "W<#>/<#>/<#> General - Pressure sensor Maximun reached", "W<#>/<#>/<#> General - Tank under minimun level", "W<#>/<#>/<#> General - Stop Filler for Overtemperature", "W<#>/<#>/<#> General - Signals Forced", "Waiting for product", "Waiting Infeed Selector Enable", "Waiting Minimal Accumulation", "Warnings", "Watchdog del sistema", "Water supply"], "source_lang": "Italian", "target_lang": "Russian"}
2024-07-31 12:56:12,796 - INFO - Respuestas recibidas:
['Значение % для установки в ручном режиме', 'Значение, рассчитанное по PID', 'Значение, рассчитанное по PID + Feedforward', 'Значение, рассчитанное по PID + FF к актуатору', 'Значение, рассчитанное по PID с масштабированием', 'Значение для принудительного управления, когда PID отключен', 'Проверьте с форматом', 'W<#>/<#>/<#> Общий - Максимальное давление датчика достигнуто', 'W<#>/<#>/<#> Общий - Уровень в баке ниже минимального', 'W<#>/<#>/<#> Общий - Остановить наполнитель из-за перегрева', 'W<#>/<#>/<#> Общий - Сигналы принудительно', 'Ожидание продукта', 'Ожидание включения селектора подачи', 'Ожидание минимального накопления', 'Предупреждения', 'Системный watchdog', 'Подача воды']
2024-07-31 12:56:12,796 - INFO - Número total de traducciones recibidas: 17
2024-07-31 13:02:46,006 - DEBUG - Decisión de traducción para texto 'Value % to set in Manual Mode': Sí (palabras > 3 letras: True, solo campos especiales: True)
2024-07-31 13:02:46,006 - DEBUG - Decisión de traducción para texto 'Value calculated from PID': Sí (palabras > 3 letras: True, solo campos especiales: True)
2024-07-31 13:02:46,006 - DEBUG - Decisión de traducción para texto 'Value calculated from PID + Feedforward': Sí (palabras > 3 letras: True, solo campos especiales: True)
2024-07-31 13:02:46,007 - DEBUG - Decisión de traducción para texto 'Value calculated from PID + FF to Actuator': Sí (palabras > 3 letras: True, solo campos especiales: True)
2024-07-31 13:02:46,007 - DEBUG - Decisión de traducción para texto 'Value calculated from PID Scaled': Sí (palabras > 3 letras: True, solo campos especiales: True)
2024-07-31 13:02:46,007 - DEBUG - Decisión de traducción para texto 'Value to force when PID es disabled': Sí (palabras > 3 letras: True, solo campos especiales: True)
2024-07-31 13:02:46,009 - DEBUG - Decisión de traducción para texto 'Verificare Con Formato': Sí (palabras > 3 letras: True, solo campos especiales: True)
2024-07-31 13:02:46,010 - DEBUG - Decisión de traducción para texto 'W<#>/<#>/<#> General - Pressure sensor Maximun reached': Sí (palabras > 3 letras: True, solo campos especiales: True)
2024-07-31 13:02:46,011 - DEBUG - Decisión de traducción para texto 'W<#>/<#>/<#> General - Tank under minimun level': Sí (palabras > 3 letras: True, solo campos especiales: True)
2024-07-31 13:02:46,011 - DEBUG - Decisión de traducción para texto 'W<#>/<#>/<#> General - Stop Filler for Overtemperature': Sí (palabras > 3 letras: True, solo campos especiales: True)
2024-07-31 13:02:46,011 - DEBUG - Decisión de traducción para texto 'W<#>/<#>/<#> General - Signals Forced': Sí (palabras > 3 letras: True, solo campos especiales: True)
2024-07-31 13:02:46,011 - DEBUG - Decisión de traducción para texto 'Waiting for product': Sí (palabras > 3 letras: True, solo campos especiales: True)
2024-07-31 13:02:46,012 - DEBUG - Decisión de traducción para texto 'Waiting Infeed Selector Enable': Sí (palabras > 3 letras: True, solo campos especiales: True)
2024-07-31 13:02:46,012 - DEBUG - Decisión de traducción para texto 'Waiting Minimal Accumulation': Sí (palabras > 3 letras: True, solo campos especiales: True)
2024-07-31 13:02:46,012 - DEBUG - Decisión de traducción para texto 'Warnings': Sí (palabras > 3 letras: True, solo campos especiales: True)
2024-07-31 13:02:46,012 - DEBUG - Decisión de traducción para texto 'Watchdog del sistema': Sí (palabras > 3 letras: True, solo campos especiales: True)
2024-07-31 13:02:46,012 - DEBUG - Decisión de traducción para texto 'Water supply': Sí (palabras > 3 letras: True, solo campos especiales: True)
2024-07-31 13:02:46,013 - DEBUG - Decisión de traducción para texto 'YV<#>': No (palabras > 3 letras: False, solo campos especiales: True)
2024-07-31 13:02:46,013 - INFO - Número total de textos a traducir: 17
2024-07-31 13:02:46,013 - INFO - Traduciendo: celdas desde 0 a 17.
2024-07-31 13:02:46,014 - INFO - Solicitando traducción de Italian a Russian para el lote de textos:
{"texts": ["Value % to set in Manual Mode", "Value calculated from PID", "Value calculated from PID + Feedforward", "Value calculated from PID + FF to Actuator", "Value calculated from PID Scaled", "Value to force when PID es disabled", "Verificare Con Formato", "W<#>/<#>/<#> General - Pressure sensor Maximun reached", "W<#>/<#>/<#> General - Tank under minimun level", "W<#>/<#>/<#> General - Stop Filler for Overtemperature", "W<#>/<#>/<#> General - Signals Forced", "Waiting for product", "Waiting Infeed Selector Enable", "Waiting Minimal Accumulation", "Warnings", "Watchdog del sistema", "Water supply"], "source_lang": "Italian", "target_lang": "Russian"}
2024-07-31 13:02:48,959 - INFO - Respuestas recibidas:
['Значение % для установки в ручном режиме', 'Значение, рассчитанное по PID', 'Значение, рассчитанное по PID + Feedforward', 'Значение, рассчитанное по PID + FF к актуатору', 'Значение, рассчитанное по PID с масштабированием', 'Значение для принудительного задания, когда PID отключен', 'Проверить с форматом', 'W<#>/<#>/<#> Общая - Максимальное значение датчика давления достигнуто', 'W<#>/<#>/<#> Общая - Уровень в баке ниже минимального', 'W<#>/<#>/<#> Общая - Остановить наполнитель из-за перегрева', 'W<#>/<#>/<#> Общая - Сигналы принудительно установлены', 'Ожидание продукта', 'Ожидание активации селектора подачи', 'Ожидание минимального накопления', 'Предупреждения', 'Системный watchdog', 'Подача воды']
2024-07-31 13:02:48,959 - INFO - Número total de traducciones recibidas: 17
2024-07-31 13:29:36,189 - DEBUG - Decisión de traducción para texto 'Value % to set in Manual Mode': Sí (palabras > 3 letras: True, solo campos especiales: True)
2024-07-31 13:29:36,190 - DEBUG - Decisión de traducción para texto 'Value calculated from PID': Sí (palabras > 3 letras: True, solo campos especiales: True)
2024-07-31 13:29:36,190 - DEBUG - Decisión de traducción para texto 'Value calculated from PID + Feedforward': Sí (palabras > 3 letras: True, solo campos especiales: True)
2024-07-31 13:29:36,190 - DEBUG - Decisión de traducción para texto 'Value calculated from PID + FF to Actuator': Sí (palabras > 3 letras: True, solo campos especiales: True)
2024-07-31 13:29:36,190 - DEBUG - Decisión de traducción para texto 'Value calculated from PID Scaled': Sí (palabras > 3 letras: True, solo campos especiales: True)
2024-07-31 13:29:36,190 - DEBUG - Decisión de traducción para texto 'Value to force when PID es disabled': Sí (palabras > 3 letras: True, solo campos especiales: True)
2024-07-31 13:29:36,191 - DEBUG - Decisión de traducción para texto 'Verificare Con Formato': Sí (palabras > 3 letras: True, solo campos especiales: True)
2024-07-31 13:29:36,191 - DEBUG - Decisión de traducción para texto 'W<#>/<#>/<#> General - Pressure sensor Maximun reached': Sí (palabras > 3 letras: True, solo campos especiales: True)
2024-07-31 13:29:36,191 - DEBUG - Decisión de traducción para texto 'W<#>/<#>/<#> General - Tank under minimun level': Sí (palabras > 3 letras: True, solo campos especiales: True)
2024-07-31 13:29:36,191 - DEBUG - Decisión de traducción para texto 'W<#>/<#>/<#> General - Stop Filler for Overtemperature': Sí (palabras > 3 letras: True, solo campos especiales: True)
2024-07-31 13:29:36,192 - DEBUG - Decisión de traducción para texto 'W<#>/<#>/<#> General - Signals Forced': Sí (palabras > 3 letras: True, solo campos especiales: True)
2024-07-31 13:29:36,192 - DEBUG - Decisión de traducción para texto 'Waiting for product': Sí (palabras > 3 letras: True, solo campos especiales: True)
2024-07-31 13:29:36,192 - DEBUG - Decisión de traducción para texto 'Waiting Infeed Selector Enable': Sí (palabras > 3 letras: True, solo campos especiales: True)
2024-07-31 13:29:36,192 - DEBUG - Decisión de traducción para texto 'Waiting Minimal Accumulation': Sí (palabras > 3 letras: True, solo campos especiales: True)
2024-07-31 13:29:36,192 - DEBUG - Decisión de traducción para texto 'Warnings': Sí (palabras > 3 letras: True, solo campos especiales: True)
2024-07-31 13:29:36,192 - DEBUG - Decisión de traducción para texto 'Watchdog del sistema': Sí (palabras > 3 letras: True, solo campos especiales: True)
2024-07-31 13:29:36,192 - DEBUG - Decisión de traducción para texto 'Water supply': Sí (palabras > 3 letras: True, solo campos especiales: True)
2024-07-31 13:29:36,192 - DEBUG - Decisión de traducción para texto 'YV<#>': No (palabras > 3 letras: False, solo campos especiales: True)
2024-07-31 13:29:36,192 - INFO - Número total de textos a traducir: 17
2024-07-31 13:29:36,192 - INFO - Traduciendo: celdas desde 0 a 17.
2024-07-31 13:29:36,193 - INFO - Solicitando traducción de Italian a Russian para el lote de textos:
{"texts": ["Value % to set in Manual Mode", "Value calculated from PID", "Value calculated from PID + Feedforward", "Value calculated from PID + FF to Actuator", "Value calculated from PID Scaled", "Value to force when PID es disabled", "Verificare Con Formato", "W<#>/<#>/<#> General - Pressure sensor Maximun reached", "W<#>/<#>/<#> General - Tank under minimun level", "W<#>/<#>/<#> General - Stop Filler for Overtemperature", "W<#>/<#>/<#> General - Signals Forced", "Waiting for product", "Waiting Infeed Selector Enable", "Waiting Minimal Accumulation", "Warnings", "Watchdog del sistema", "Water supply"], "source_lang": "Italian", "target_lang": "Russian"}
2024-07-31 13:29:39,890 - INFO - Respuestas recibidas:
['Значение % для установки в ручном режиме', 'Значение, рассчитанное по PID', 'Значение, рассчитанное по PID + Feedforward', 'Значение, рассчитанное по PID + FF к актуатору', 'Значение, рассчитанное по PID с масштабированием', 'Значение для принудительной установки, когда PID отключен', 'Проверить с форматом', 'W<#>/<#>/<#> Общая - Максимальное значение датчика давления достигнуто', 'W<#>/<#>/<#> Общая - Уровень в баке ниже минимального', 'W<#>/<#>/<#> Общая - Остановить наполнитель из-за перегрева', 'W<#>/<#>/<#> Общая - Сигналы принудительно установлены', 'Ожидание продукта', 'Ожидание активации селектора подачи', 'Ожидание минимальной накопленной массы', 'Предупреждения', 'Системный watchdog', 'Подача воды']
2024-07-31 13:29:39,890 - INFO - Número total de traducciones recibidas: 17
2024-07-31 13:58:27,338 - DEBUG - Decisión de traducción para texto 'Value % to set in Manual Mode': Sí (palabras > 3 letras: True, solo campos especiales: True)
2024-07-31 13:58:27,338 - DEBUG - Decisión de traducción para texto 'Value calculated from PID': Sí (palabras > 3 letras: True, solo campos especiales: True)
2024-07-31 13:58:27,339 - DEBUG - Decisión de traducción para texto 'Value calculated from PID + Feedforward': Sí (palabras > 3 letras: True, solo campos especiales: True)
2024-07-31 13:58:27,339 - DEBUG - Decisión de traducción para texto 'Value calculated from PID + FF to Actuator': Sí (palabras > 3 letras: True, solo campos especiales: True)
2024-07-31 13:58:27,339 - DEBUG - Decisión de traducción para texto 'Value calculated from PID Scaled': Sí (palabras > 3 letras: True, solo campos especiales: True)
2024-07-31 13:58:27,340 - DEBUG - Decisión de traducción para texto 'Value to force when PID es disabled': Sí (palabras > 3 letras: True, solo campos especiales: True)
2024-07-31 13:58:27,341 - DEBUG - Decisión de traducción para texto 'Verificare Con Formato': Sí (palabras > 3 letras: True, solo campos especiales: True)
2024-07-31 13:58:27,343 - DEBUG - Decisión de traducción para texto 'W<#>/<#>/<#> General - Pressure sensor Maximun reached': Sí (palabras > 3 letras: True, solo campos especiales: True)
2024-07-31 13:58:27,343 - DEBUG - Decisión de traducción para texto 'W<#>/<#>/<#> General - Tank under minimun level': Sí (palabras > 3 letras: True, solo campos especiales: True)
2024-07-31 13:58:27,343 - DEBUG - Decisión de traducción para texto 'W<#>/<#>/<#> General - Stop Filler for Overtemperature': Sí (palabras > 3 letras: True, solo campos especiales: True)
2024-07-31 13:58:27,343 - DEBUG - Decisión de traducción para texto 'W<#>/<#>/<#> General - Signals Forced': Sí (palabras > 3 letras: True, solo campos especiales: True)
2024-07-31 13:58:27,344 - DEBUG - Decisión de traducción para texto 'Waiting for product': Sí (palabras > 3 letras: True, solo campos especiales: True)
2024-07-31 13:58:27,344 - DEBUG - Decisión de traducción para texto 'Waiting Infeed Selector Enable': Sí (palabras > 3 letras: True, solo campos especiales: True)
2024-07-31 13:58:27,344 - DEBUG - Decisión de traducción para texto 'Waiting Minimal Accumulation': Sí (palabras > 3 letras: True, solo campos especiales: True)
2024-07-31 13:58:27,344 - DEBUG - Decisión de traducción para texto 'Warnings': Sí (palabras > 3 letras: True, solo campos especiales: True)
2024-07-31 13:58:27,344 - DEBUG - Decisión de traducción para texto 'Watchdog del sistema': Sí (palabras > 3 letras: True, solo campos especiales: True)
2024-07-31 13:58:27,345 - DEBUG - Decisión de traducción para texto 'Water supply': Sí (palabras > 3 letras: True, solo campos especiales: True)
2024-07-31 13:58:27,345 - DEBUG - Decisión de traducción para texto 'YV<#>': No (palabras > 3 letras: False, solo campos especiales: True)
2024-07-31 13:58:27,345 - INFO - Número total de textos a traducir: 17
2024-07-31 13:58:27,346 - INFO - Traduciendo: celdas desde 0 a 17.
2024-07-31 13:58:27,346 - INFO - Solicitando traducción de Italian a Russian para el lote de textos:
{"texts": ["Value % to set in Manual Mode", "Value calculated from PID", "Value calculated from PID + Feedforward", "Value calculated from PID + FF to Actuator", "Value calculated from PID Scaled", "Value to force when PID es disabled", "Verificare Con Formato", "W<#>/<#>/<#> General - Pressure sensor Maximun reached", "W<#>/<#>/<#> General - Tank under minimun level", "W<#>/<#>/<#> General - Stop Filler for Overtemperature", "W<#>/<#>/<#> General - Signals Forced", "Waiting for product", "Waiting Infeed Selector Enable", "Waiting Minimal Accumulation", "Warnings", "Watchdog del sistema", "Water supply"], "source_lang": "Italian", "target_lang": "Russian"}
2024-07-31 13:58:31,440 - INFO - Respuestas recibidas:
['Значение % для установки в ручном режиме', 'Значение, рассчитанное по PID', 'Значение, рассчитанное по PID + Feedforward', 'Значение, рассчитанное по PID + FF к актуатору', 'Значение, рассчитанное по PID с масштабированием', 'Значение для принудительного управления, когда PID отключен', 'Проверить с форматом', 'W<#>/<#>/<#> Общая - Максимальное значение датчика давления достигнуто', 'W<#>/<#>/<#> Общая - Уровень в баке ниже минимального', 'W<#>/<#>/<#> Общая - Остановить наполнитель из-за перегрева', 'W<#>/<#>/<#> Общая - Сигналы принудительно установлены', 'Ожидание продукта', 'Ожидание включения селектора подачи', 'Ожидание минимального накопления', 'Предупреждения', 'Системный watchdog', 'Подача воды']
2024-07-31 13:58:31,440 - INFO - Número total de traducciones recibidas: 17
2024-07-31 13:58:37,226 - INFO - Afinidad: celdas desde 0 a 17.
2024-07-31 14:01:51,358 - INFO - Solicitando Afinidad para el lote de textos:
{"original": ["Value % to set in Manual Mode", "Value calculated from PID", "Value calculated from PID + Feedforward", "Value calculated from PID + FF to Actuator", "Value calculated from PID Scaled", "Value to force when PID es disabled", "Verificare Con Formato", "W[[digits]]/[[digits]]/[[digits]] General - Pressure sensor Maximun reached", "W[[digits]]/[[digits]]/[[digits]] General - Tank under minimun level", "W[[digits]]/[[digits]]/[[digits]] General - Stop Filler for Overtemperature", "W[[digits]]/[[digits]]/[[digits]] General - Signals Forced", "Waiting for product", "Waiting Infeed Selector Enable", "Waiting Minimal Accumulation", "Warnings", "Watchdog del sistema", "Water supply"], "compared": ["Value % to set in Manual Mode", "Value calculated from PID", "Value calculated from PID + Feedforward", "Value calculated from PID + FF to Actuator", "Value calculated from PID Scaled", "Value to force when PID es disabled", "Verificare Con Formato", "W<#>/<#>/<#> General - Pressure sensor Maximun reached", "W<#>/<#>/<#> General - Tank under minimun level", "W<#>/<#>/<#> General - Stop Filler for Overtemperature", "W<#>/<#>/<#> General - Signals Forced", "Waiting for product", "Waiting Infeed Selector Enable", "Waiting Minimal Accumulation", "Warnings", "Watchdog del sistema", "Water supply"]}
2024-07-31 14:02:42,195 - DEBUG - Decisión de traducción para texto 'Value % to set in Manual Mode': Sí (palabras > 3 letras: True, solo campos especiales: True)
2024-07-31 14:02:42,196 - DEBUG - Decisión de traducción para texto 'Value calculated from PID': Sí (palabras > 3 letras: True, solo campos especiales: True)
2024-07-31 14:02:42,196 - DEBUG - Decisión de traducción para texto 'Value calculated from PID + Feedforward': Sí (palabras > 3 letras: True, solo campos especiales: True)
2024-07-31 14:02:42,196 - DEBUG - Decisión de traducción para texto 'Value calculated from PID + FF to Actuator': Sí (palabras > 3 letras: True, solo campos especiales: True)
2024-07-31 14:02:42,196 - DEBUG - Decisión de traducción para texto 'Value calculated from PID Scaled': Sí (palabras > 3 letras: True, solo campos especiales: True)
2024-07-31 14:02:42,197 - DEBUG - Decisión de traducción para texto 'Value to force when PID es disabled': Sí (palabras > 3 letras: True, solo campos especiales: True)
2024-07-31 14:02:42,198 - DEBUG - Decisión de traducción para texto 'Verificare Con Formato': Sí (palabras > 3 letras: True, solo campos especiales: True)
2024-07-31 14:02:42,199 - DEBUG - Decisión de traducción para texto 'W<#>/<#>/<#> General - Pressure sensor Maximun reached': Sí (palabras > 3 letras: True, solo campos especiales: True)
2024-07-31 14:02:42,200 - DEBUG - Decisión de traducción para texto 'W<#>/<#>/<#> General - Tank under minimun level': Sí (palabras > 3 letras: True, solo campos especiales: True)
2024-07-31 14:02:42,200 - DEBUG - Decisión de traducción para texto 'W<#>/<#>/<#> General - Stop Filler for Overtemperature': Sí (palabras > 3 letras: True, solo campos especiales: True)
2024-07-31 14:02:42,200 - DEBUG - Decisión de traducción para texto 'W<#>/<#>/<#> General - Signals Forced': Sí (palabras > 3 letras: True, solo campos especiales: True)
2024-07-31 14:02:42,200 - DEBUG - Decisión de traducción para texto 'Waiting for product': Sí (palabras > 3 letras: True, solo campos especiales: True)
2024-07-31 14:02:42,201 - DEBUG - Decisión de traducción para texto 'Waiting Infeed Selector Enable': Sí (palabras > 3 letras: True, solo campos especiales: True)
2024-07-31 14:02:42,201 - DEBUG - Decisión de traducción para texto 'Waiting Minimal Accumulation': Sí (palabras > 3 letras: True, solo campos especiales: True)
2024-07-31 14:02:42,201 - DEBUG - Decisión de traducción para texto 'Warnings': Sí (palabras > 3 letras: True, solo campos especiales: True)
2024-07-31 14:02:42,201 - DEBUG - Decisión de traducción para texto 'Watchdog del sistema': Sí (palabras > 3 letras: True, solo campos especiales: True)
2024-07-31 14:02:42,201 - DEBUG - Decisión de traducción para texto 'Water supply': Sí (palabras > 3 letras: True, solo campos especiales: True)
2024-07-31 14:02:42,202 - DEBUG - Decisión de traducción para texto 'YV<#>': No (palabras > 3 letras: False, solo campos especiales: True)
2024-07-31 14:02:42,202 - INFO - Número total de textos a traducir: 17
2024-07-31 14:02:42,202 - INFO - Traduciendo: celdas desde 0 a 17.
2024-07-31 14:02:42,203 - INFO - Solicitando traducción de Italian a Russian para el lote de textos:
{"texts": ["Value % to set in Manual Mode", "Value calculated from PID", "Value calculated from PID + Feedforward", "Value calculated from PID + FF to Actuator", "Value calculated from PID Scaled", "Value to force when PID es disabled", "Verificare Con Formato", "W<#>/<#>/<#> General - Pressure sensor Maximun reached", "W<#>/<#>/<#> General - Tank under minimun level", "W<#>/<#>/<#> General - Stop Filler for Overtemperature", "W<#>/<#>/<#> General - Signals Forced", "Waiting for product", "Waiting Infeed Selector Enable", "Waiting Minimal Accumulation", "Warnings", "Watchdog del sistema", "Water supply"], "source_lang": "Italian", "target_lang": "Russian"}
2024-07-31 14:02:45,821 - INFO - Respuestas recibidas:
['Значение % для установки в ручном режиме', 'Значение, рассчитанное по PID', 'Значение, рассчитанное по PID + Feedforward', 'Значение, рассчитанное по PID + FF к актуатору', 'Значение, рассчитанное по масштабированному PID', 'Значение для принудительной установки, когда PID отключен', 'Проверьте формат', 'W<#>/<#>/<#> Общая - Максимальное значение датчика давления достигнуто', 'W<#>/<#>/<#> Общая - Уровень в баке ниже минимального', 'W<#>/<#>/<#> Общая - Остановить наполнитель из-за перегрева', 'W<#>/<#>/<#> Общая - Сигналы принудительно установлены', 'Ожидание продукта', 'Ожидание включения селектора подачи', 'Ожидание минимального накопления', 'Предупреждения', 'Системный watchdog', 'Подача воды']
2024-07-31 14:02:45,821 - INFO - Número total de traducciones recibidas: 17
2024-07-31 14:02:51,595 - INFO - Afinidad: celdas desde 0 a 17.
2024-07-31 14:02:57,297 - INFO - Solicitando Afinidad para el lote de textos:
{"original": ["Value % to set in Manual Mode", "Value calculated from PID", "Value calculated from PID + Feedforward", "Value calculated from PID + FF to Actuator", "Value calculated from PID Scaled", "Value to force when PID es disabled", "Verificare Con Formato", "W[[digits]]/[[digits]]/[[digits]] General - Pressure sensor Maximun reached", "W[[digits]]/[[digits]]/[[digits]] General - Tank under minimun level", "W[[digits]]/[[digits]]/[[digits]] General - Stop Filler for Overtemperature", "W[[digits]]/[[digits]]/[[digits]] General - Signals Forced", "Waiting for product", "Waiting Infeed Selector Enable", "Waiting Minimal Accumulation", "Warnings", "Watchdog del sistema", "Water supply"], "compared": ["Value % to set in Manual Mode", "Value calculated from PID", "Value calculated from PID + Feedforward", "Value calculated from PID + FF to Actuator", "Value calculated from PID Scaled", "Value to force when PID es disabled", "Verificare Con Formato", "W<#>/<#>/<#> General - Pressure sensor Maximun reached", "W<#>/<#>/<#> General - Tank under minimun level", "W<#>/<#>/<#> General - Stop Filler for Overtemperature", "W<#>/<#>/<#> General - Signals Forced", "Waiting for product", "Waiting Infeed Selector Enable", "Waiting Minimal Accumulation", "Warnings", "Watchdog del sistema", "Water supply"]}
2024-07-31 14:05:15,285 - DEBUG - Decisión de traducción para texto 'Value % to set in Manual Mode': Sí (palabras > 3 letras: True, solo campos especiales: True)
2024-07-31 14:05:15,286 - DEBUG - Decisión de traducción para texto 'Value calculated from PID': Sí (palabras > 3 letras: True, solo campos especiales: True)
2024-07-31 14:05:15,286 - DEBUG - Decisión de traducción para texto 'Value calculated from PID + Feedforward': Sí (palabras > 3 letras: True, solo campos especiales: True)
2024-07-31 14:05:15,286 - DEBUG - Decisión de traducción para texto 'Value calculated from PID + FF to Actuator': Sí (palabras > 3 letras: True, solo campos especiales: True)
2024-07-31 14:05:15,287 - DEBUG - Decisión de traducción para texto 'Value calculated from PID Scaled': Sí (palabras > 3 letras: True, solo campos especiales: True)
2024-07-31 14:05:15,287 - DEBUG - Decisión de traducción para texto 'Value to force when PID es disabled': Sí (palabras > 3 letras: True, solo campos especiales: True)
2024-07-31 14:05:15,288 - DEBUG - Decisión de traducción para texto 'Verificare Con Formato': Sí (palabras > 3 letras: True, solo campos especiales: True)
2024-07-31 14:05:15,290 - DEBUG - Decisión de traducción para texto 'W<#>/<#>/<#> General - Pressure sensor Maximun reached': Sí (palabras > 3 letras: True, solo campos especiales: True)
2024-07-31 14:05:15,290 - DEBUG - Decisión de traducción para texto 'W<#>/<#>/<#> General - Tank under minimun level': Sí (palabras > 3 letras: True, solo campos especiales: True)
2024-07-31 14:05:15,290 - DEBUG - Decisión de traducción para texto 'W<#>/<#>/<#> General - Stop Filler for Overtemperature': Sí (palabras > 3 letras: True, solo campos especiales: True)
2024-07-31 14:05:15,291 - DEBUG - Decisión de traducción para texto 'W<#>/<#>/<#> General - Signals Forced': Sí (palabras > 3 letras: True, solo campos especiales: True)
2024-07-31 14:05:15,291 - DEBUG - Decisión de traducción para texto 'Waiting for product': Sí (palabras > 3 letras: True, solo campos especiales: True)
2024-07-31 14:05:15,291 - DEBUG - Decisión de traducción para texto 'Waiting Infeed Selector Enable': Sí (palabras > 3 letras: True, solo campos especiales: True)
2024-07-31 14:05:15,291 - DEBUG - Decisión de traducción para texto 'Waiting Minimal Accumulation': Sí (palabras > 3 letras: True, solo campos especiales: True)
2024-07-31 14:05:15,291 - DEBUG - Decisión de traducción para texto 'Warnings': Sí (palabras > 3 letras: True, solo campos especiales: True)
2024-07-31 14:05:15,292 - DEBUG - Decisión de traducción para texto 'Watchdog del sistema': Sí (palabras > 3 letras: True, solo campos especiales: True)
2024-07-31 14:05:15,292 - DEBUG - Decisión de traducción para texto 'Water supply': Sí (palabras > 3 letras: True, solo campos especiales: True)
2024-07-31 14:05:15,292 - DEBUG - Decisión de traducción para texto 'YV<#>': No (palabras > 3 letras: False, solo campos especiales: True)
2024-07-31 14:05:15,292 - INFO - Número total de textos a traducir: 17
2024-07-31 14:05:15,293 - INFO - Traduciendo: celdas desde 0 a 17.
2024-07-31 14:05:15,294 - INFO - Solicitando traducción de Italian a Russian para el lote de textos:
{"texts": ["Value % to set in Manual Mode", "Value calculated from PID", "Value calculated from PID + Feedforward", "Value calculated from PID + FF to Actuator", "Value calculated from PID Scaled", "Value to force when PID es disabled", "Verificare Con Formato", "W<#>/<#>/<#> General - Pressure sensor Maximun reached", "W<#>/<#>/<#> General - Tank under minimun level", "W<#>/<#>/<#> General - Stop Filler for Overtemperature", "W<#>/<#>/<#> General - Signals Forced", "Waiting for product", "Waiting Infeed Selector Enable", "Waiting Minimal Accumulation", "Warnings", "Watchdog del sistema", "Water supply"], "source_lang": "Italian", "target_lang": "Russian"}
2024-07-31 14:05:19,244 - INFO - Respuestas recibidas:
['Значение % для установки в ручном режиме', 'Значение, рассчитанное по PID', 'Значение, рассчитанное по PID + Feedforward', 'Значение, рассчитанное по PID + FF к актуатору', 'Значение, рассчитанное по масштабированному PID', 'Значение для принудительного задания, когда PID отключен', 'Проверьте с форматом', 'W<#>/<#>/<#> Общая - Максимальное значение датчика давления достигнуто', 'W<#>/<#>/<#> Общая - Уровень в баке ниже минимального', 'W<#>/<#>/<#> Общая - Остановить наполнитель из-за перегрева', 'W<#>/<#>/<#> Общая - Сигналы принудительно', 'Ожидание продукта', 'Ожидание включения селектора подачи', 'Ожидание минимальной накопительной емкости', 'Предупреждения', 'Система watchdog', 'Подача воды']
2024-07-31 14:05:19,245 - INFO - Número total de traducciones recibidas: 17
2024-07-31 14:05:25,074 - INFO - Afinidad: celdas desde 0 a 17.
2024-07-31 14:05:25,075 - INFO - Solicitando Afinidad para el lote de textos:
{"original": ["Value % to set in Manual Mode", "Value calculated from PID", "Value calculated from PID + Feedforward", "Value calculated from PID + FF to Actuator", "Value calculated from PID Scaled", "Value to force when PID es disabled", "Verificare Con Formato", "W[[digits]]/[[digits]]/[[digits]] General - Pressure sensor Maximun reached", "W[[digits]]/[[digits]]/[[digits]] General - Tank under minimun level", "W[[digits]]/[[digits]]/[[digits]] General - Stop Filler for Overtemperature", "W[[digits]]/[[digits]]/[[digits]] General - Signals Forced", "Waiting for product", "Waiting Infeed Selector Enable", "Waiting Minimal Accumulation", "Warnings", "Watchdog del sistema", "Water supply"], "compared": ["Value % to set in Manual Mode", "Value calculated from PID", "Value calculated from PID + Feedforward", "Value calculated from PID + FF to Actuator", "Value calculated from PID Scaled", "Value to force when PID es disabled", "Verificare Con Formato", "W<#>/<#>/<#> General - Pressure sensor Maximun reached", "W<#>/<#>/<#> General - Tank under minimun level", "W<#>/<#>/<#> General - Stop Filler for Overtemperature", "W<#>/<#>/<#> General - Signals Forced", "Waiting for product", "Waiting Infeed Selector Enable", "Waiting Minimal Accumulation", "Warnings", "Watchdog del sistema", "Water supply"]}
2024-07-31 14:06:54,483 - DEBUG - Decisión de traducción para texto 'Value % to set in Manual Mode': Sí (palabras > 3 letras: True, solo campos especiales: True)
2024-07-31 14:06:54,484 - DEBUG - Decisión de traducción para texto 'Value calculated from PID': Sí (palabras > 3 letras: True, solo campos especiales: True)
2024-07-31 14:06:54,484 - DEBUG - Decisión de traducción para texto 'Value calculated from PID + Feedforward': Sí (palabras > 3 letras: True, solo campos especiales: True)
2024-07-31 14:06:54,484 - DEBUG - Decisión de traducción para texto 'Value calculated from PID + FF to Actuator': Sí (palabras > 3 letras: True, solo campos especiales: True)
2024-07-31 14:06:54,484 - DEBUG - Decisión de traducción para texto 'Value calculated from PID Scaled': Sí (palabras > 3 letras: True, solo campos especiales: True)
2024-07-31 14:06:54,484 - DEBUG - Decisión de traducción para texto 'Value to force when PID es disabled': Sí (palabras > 3 letras: True, solo campos especiales: True)
2024-07-31 14:06:54,486 - DEBUG - Decisión de traducción para texto 'Verificare Con Formato': Sí (palabras > 3 letras: True, solo campos especiales: True)
2024-07-31 14:06:54,488 - DEBUG - Decisión de traducción para texto 'W<#>/<#>/<#> General - Pressure sensor Maximun reached': Sí (palabras > 3 letras: True, solo campos especiales: True)
2024-07-31 14:06:54,488 - DEBUG - Decisión de traducción para texto 'W<#>/<#>/<#> General - Tank under minimun level': Sí (palabras > 3 letras: True, solo campos especiales: True)
2024-07-31 14:06:54,488 - DEBUG - Decisión de traducción para texto 'W<#>/<#>/<#> General - Stop Filler for Overtemperature': Sí (palabras > 3 letras: True, solo campos especiales: True)
2024-07-31 14:06:54,488 - DEBUG - Decisión de traducción para texto 'W<#>/<#>/<#> General - Signals Forced': Sí (palabras > 3 letras: True, solo campos especiales: True)
2024-07-31 14:06:54,489 - DEBUG - Decisión de traducción para texto 'Waiting for product': Sí (palabras > 3 letras: True, solo campos especiales: True)
2024-07-31 14:06:54,489 - DEBUG - Decisión de traducción para texto 'Waiting Infeed Selector Enable': Sí (palabras > 3 letras: True, solo campos especiales: True)
2024-07-31 14:06:54,489 - DEBUG - Decisión de traducción para texto 'Waiting Minimal Accumulation': Sí (palabras > 3 letras: True, solo campos especiales: True)
2024-07-31 14:06:54,489 - DEBUG - Decisión de traducción para texto 'Warnings': Sí (palabras > 3 letras: True, solo campos especiales: True)
2024-07-31 14:06:54,489 - DEBUG - Decisión de traducción para texto 'Watchdog del sistema': Sí (palabras > 3 letras: True, solo campos especiales: True)
2024-07-31 14:06:54,490 - DEBUG - Decisión de traducción para texto 'Water supply': Sí (palabras > 3 letras: True, solo campos especiales: True)
2024-07-31 14:06:54,490 - DEBUG - Decisión de traducción para texto 'YV<#>': No (palabras > 3 letras: False, solo campos especiales: True)
2024-07-31 14:06:54,490 - INFO - Número total de textos a traducir: 17
2024-07-31 14:06:54,491 - INFO - Traduciendo: celdas desde 0 a 17.
2024-07-31 14:06:54,492 - INFO - Solicitando traducción de Italian a Russian para el lote de textos:
{"texts": ["Value % to set in Manual Mode", "Value calculated from PID", "Value calculated from PID + Feedforward", "Value calculated from PID + FF to Actuator", "Value calculated from PID Scaled", "Value to force when PID es disabled", "Verificare Con Formato", "W<#>/<#>/<#> General - Pressure sensor Maximun reached", "W<#>/<#>/<#> General - Tank under minimun level", "W<#>/<#>/<#> General - Stop Filler for Overtemperature", "W<#>/<#>/<#> General - Signals Forced", "Waiting for product", "Waiting Infeed Selector Enable", "Waiting Minimal Accumulation", "Warnings", "Watchdog del sistema", "Water supply"], "source_lang": "Italian", "target_lang": "Russian"}
2024-07-31 14:06:57,910 - INFO - Respuestas recibidas:
['Значение % для установки в ручном режиме', 'Значение, рассчитанное по PID', 'Значение, рассчитанное по PID + Feedforward', 'Значение, рассчитанное по PID + FF к актуатору', 'Значение, рассчитанное по масштабированному PID', 'Значение для принудительной установки при отключенном PID', 'Проверьте формат', 'W<#>/<#>/<#> Общая - Максимальное давление датчика достигнуто', 'W<#>/<#>/<#> Общая - Уровень в баке ниже минимального', 'W<#>/<#>/<#> Общая - Остановить наполнитель из-за перегрева', 'W<#>/<#>/<#> Общая - Сигналы принудительно установлены', 'Ожидание продукта', 'Ожидание включения селектора подачи', 'Ожидание минимальной накопленной массы', 'Предупреждения', 'Системный watchdog', 'Подача воды']
2024-07-31 14:06:57,910 - INFO - Número total de traducciones recibidas: 17
2024-07-31 14:07:03,703 - INFO - Afinidad: celdas desde 0 a 17.
2024-07-31 14:07:03,704 - INFO - Solicitando Afinidad para el lote de textos:
{"original": ["Value % to set in Manual Mode", "Value calculated from PID", "Value calculated from PID + Feedforward", "Value calculated from PID + FF to Actuator", "Value calculated from PID Scaled", "Value to force when PID es disabled", "Verificare Con Formato", "W[[digits]]/[[digits]]/[[digits]] General - Pressure sensor Maximun reached", "W[[digits]]/[[digits]]/[[digits]] General - Tank under minimun level", "W[[digits]]/[[digits]]/[[digits]] General - Stop Filler for Overtemperature", "W[[digits]]/[[digits]]/[[digits]] General - Signals Forced", "Waiting for product", "Waiting Infeed Selector Enable", "Waiting Minimal Accumulation", "Warnings", "Watchdog del sistema", "Water supply"], "compared": ["Value % to set in Manual Mode", "Value calculated from PID", "Value calculated from PID + Feedforward", "Value calculated from PID + FF to Actuator", "Value calculated from PID Scaled", "Value to force when PID es disabled", "Verificare Con Formato", "W<#>/<#>/<#> General - Pressure sensor Maximun reached", "W<#>/<#>/<#> General - Tank under minimun level", "W<#>/<#>/<#> General - Stop Filler for Overtemperature", "W<#>/<#>/<#> General - Signals Forced", "Waiting for product", "Waiting Infeed Selector Enable", "Waiting Minimal Accumulation", "Warnings", "Watchdog del sistema", "Water supply"]}
2024-07-31 14:12:04,033 - DEBUG - Decisión de traducción para texto 'Value % to set in Manual Mode': Sí (palabras > 3 letras: True, solo campos especiales: True)
2024-07-31 14:12:04,034 - DEBUG - Decisión de traducción para texto 'Value calculated from PID': Sí (palabras > 3 letras: True, solo campos especiales: True)
2024-07-31 14:12:04,034 - DEBUG - Decisión de traducción para texto 'Value calculated from PID + Feedforward': Sí (palabras > 3 letras: True, solo campos especiales: True)
2024-07-31 14:12:04,034 - DEBUG - Decisión de traducción para texto 'Value calculated from PID + FF to Actuator': Sí (palabras > 3 letras: True, solo campos especiales: True)
2024-07-31 14:12:04,034 - DEBUG - Decisión de traducción para texto 'Value calculated from PID Scaled': Sí (palabras > 3 letras: True, solo campos especiales: True)
2024-07-31 14:12:04,035 - DEBUG - Decisión de traducción para texto 'Value to force when PID es disabled': Sí (palabras > 3 letras: True, solo campos especiales: True)
2024-07-31 14:12:04,036 - DEBUG - Decisión de traducción para texto 'Verificare Con Formato': Sí (palabras > 3 letras: True, solo campos especiales: True)
2024-07-31 14:12:04,038 - DEBUG - Decisión de traducción para texto 'W<#>/<#>/<#> General - Pressure sensor Maximun reached': Sí (palabras > 3 letras: True, solo campos especiales: True)
2024-07-31 14:12:04,038 - DEBUG - Decisión de traducción para texto 'W<#>/<#>/<#> General - Tank under minimun level': Sí (palabras > 3 letras: True, solo campos especiales: True)
2024-07-31 14:12:04,038 - DEBUG - Decisión de traducción para texto 'W<#>/<#>/<#> General - Stop Filler for Overtemperature': Sí (palabras > 3 letras: True, solo campos especiales: True)
2024-07-31 14:12:04,038 - DEBUG - Decisión de traducción para texto 'W<#>/<#>/<#> General - Signals Forced': Sí (palabras > 3 letras: True, solo campos especiales: True)
2024-07-31 14:12:04,039 - DEBUG - Decisión de traducción para texto 'Waiting for product': Sí (palabras > 3 letras: True, solo campos especiales: True)
2024-07-31 14:12:04,039 - DEBUG - Decisión de traducción para texto 'Waiting Infeed Selector Enable': Sí (palabras > 3 letras: True, solo campos especiales: True)
2024-07-31 14:12:04,039 - DEBUG - Decisión de traducción para texto 'Waiting Minimal Accumulation': Sí (palabras > 3 letras: True, solo campos especiales: True)
2024-07-31 14:12:04,039 - DEBUG - Decisión de traducción para texto 'Warnings': Sí (palabras > 3 letras: True, solo campos especiales: True)
2024-07-31 14:12:04,039 - DEBUG - Decisión de traducción para texto 'Watchdog del sistema': Sí (palabras > 3 letras: True, solo campos especiales: True)
2024-07-31 14:12:04,039 - DEBUG - Decisión de traducción para texto 'Water supply': Sí (palabras > 3 letras: True, solo campos especiales: True)
2024-07-31 14:12:04,040 - DEBUG - Decisión de traducción para texto 'YV<#>': No (palabras > 3 letras: False, solo campos especiales: True)
2024-07-31 14:12:04,040 - INFO - Número total de textos a traducir: 17
2024-07-31 14:12:04,040 - INFO - Traduciendo: celdas desde 0 a 17.
2024-07-31 14:12:04,041 - INFO - Solicitando traducción de Italian a Russian para el lote de textos:
{"texts": ["Value % to set in Manual Mode", "Value calculated from PID", "Value calculated from PID + Feedforward", "Value calculated from PID + FF to Actuator", "Value calculated from PID Scaled", "Value to force when PID es disabled", "Verificare Con Formato", "W<#>/<#>/<#> General - Pressure sensor Maximun reached", "W<#>/<#>/<#> General - Tank under minimun level", "W<#>/<#>/<#> General - Stop Filler for Overtemperature", "W<#>/<#>/<#> General - Signals Forced", "Waiting for product", "Waiting Infeed Selector Enable", "Waiting Minimal Accumulation", "Warnings", "Watchdog del sistema", "Water supply"], "source_lang": "Italian", "target_lang": "Russian"}
2024-07-31 14:12:08,853 - INFO - Respuestas recibidas:
['Значение % для установки в ручном режиме', 'Значение, рассчитанное по PID', 'Значение, рассчитанное по PID + Feedforward', 'Значение, рассчитанное по PID + FF к актуатору', 'Значение, рассчитанное по PID с масштабированием', 'Значение для принудительного задания, когда PID отключен', 'Проверить с форматом', 'W<#>/<#>/<#> Общая - Максимальное значение датчика давления достигнуто', 'W<#>/<#>/<#> Общая - Уровень в баке ниже минимального', 'W<#>/<#>/<#> Общая - Остановить наполнитель из-за перегрева', 'W<#>/<#>/<#> Общая - Сигналы принудительно установлены', 'Ожидание продукта', 'Ожидание включения селектора подачи', 'Ожидание минимального накопления', 'Предупреждения', 'Системный watchdog', 'Подача воды']
2024-07-31 14:12:08,854 - INFO - Número total de traducciones recibidas: 17
2024-07-31 14:12:14,567 - INFO - Afinidad: celdas desde 0 a 17.
2024-07-31 14:12:14,567 - INFO - Solicitando Afinidad para el lote de textos:
{"original": ["Value % to set in Manual Mode", "Value calculated from PID", "Value calculated from PID + Feedforward", "Value calculated from PID + FF to Actuator", "Value calculated from PID Scaled", "Value to force when PID es disabled", "Verificare Con Formato", "W[[digits]]/[[digits]]/[[digits]] General - Pressure sensor Maximun reached", "W[[digits]]/[[digits]]/[[digits]] General - Tank under minimun level", "W[[digits]]/[[digits]]/[[digits]] General - Stop Filler for Overtemperature", "W[[digits]]/[[digits]]/[[digits]] General - Signals Forced", "Waiting for product", "Waiting Infeed Selector Enable", "Waiting Minimal Accumulation", "Warnings", "Watchdog del sistema", "Water supply"], "compared": ["Value % to set in Manual Mode", "Value calculated from PID", "Value calculated from PID + Feedforward", "Value calculated from PID + FF to Actuator", "Value calculated from PID Scaled", "Value to force when PID es disabled", "Verificare Con Formato", "W<#>/<#>/<#> General - Pressure sensor Maximun reached", "W<#>/<#>/<#> General - Tank under minimun level", "W<#>/<#>/<#> General - Stop Filler for Overtemperature", "W<#>/<#>/<#> General - Signals Forced", "Waiting for product", "Waiting Infeed Selector Enable", "Waiting Minimal Accumulation", "Warnings", "Watchdog del sistema", "Water supply"]}
2024-07-31 14:13:34,692 - DEBUG - Decisión de traducción para texto 'Value % to set in Manual Mode': Sí (palabras > 3 letras: True, solo campos especiales: True)
2024-07-31 14:13:34,693 - DEBUG - Decisión de traducción para texto 'Value calculated from PID': Sí (palabras > 3 letras: True, solo campos especiales: True)
2024-07-31 14:13:34,693 - DEBUG - Decisión de traducción para texto 'Value calculated from PID + Feedforward': Sí (palabras > 3 letras: True, solo campos especiales: True)
2024-07-31 14:13:34,693 - DEBUG - Decisión de traducción para texto 'Value calculated from PID + FF to Actuator': Sí (palabras > 3 letras: True, solo campos especiales: True)
2024-07-31 14:13:34,693 - DEBUG - Decisión de traducción para texto 'Value calculated from PID Scaled': Sí (palabras > 3 letras: True, solo campos especiales: True)
2024-07-31 14:13:34,694 - DEBUG - Decisión de traducción para texto 'Value to force when PID es disabled': Sí (palabras > 3 letras: True, solo campos especiales: True)
2024-07-31 14:13:34,694 - DEBUG - Decisión de traducción para texto 'Verificare Con Formato': Sí (palabras > 3 letras: True, solo campos especiales: True)
2024-07-31 14:13:34,696 - DEBUG - Decisión de traducción para texto 'W<#>/<#>/<#> General - Pressure sensor Maximun reached': Sí (palabras > 3 letras: True, solo campos especiales: True)
2024-07-31 14:13:34,696 - DEBUG - Decisión de traducción para texto 'W<#>/<#>/<#> General - Tank under minimun level': Sí (palabras > 3 letras: True, solo campos especiales: True)
2024-07-31 14:13:34,696 - DEBUG - Decisión de traducción para texto 'W<#>/<#>/<#> General - Stop Filler for Overtemperature': Sí (palabras > 3 letras: True, solo campos especiales: True)
2024-07-31 14:13:34,697 - DEBUG - Decisión de traducción para texto 'W<#>/<#>/<#> General - Signals Forced': Sí (palabras > 3 letras: True, solo campos especiales: True)
2024-07-31 14:13:34,697 - DEBUG - Decisión de traducción para texto 'Waiting for product': Sí (palabras > 3 letras: True, solo campos especiales: True)
2024-07-31 14:13:34,698 - DEBUG - Decisión de traducción para texto 'Waiting Infeed Selector Enable': Sí (palabras > 3 letras: True, solo campos especiales: True)
2024-07-31 14:13:34,698 - DEBUG - Decisión de traducción para texto 'Waiting Minimal Accumulation': Sí (palabras > 3 letras: True, solo campos especiales: True)
2024-07-31 14:13:34,698 - DEBUG - Decisión de traducción para texto 'Warnings': Sí (palabras > 3 letras: True, solo campos especiales: True)
2024-07-31 14:13:34,698 - DEBUG - Decisión de traducción para texto 'Watchdog del sistema': Sí (palabras > 3 letras: True, solo campos especiales: True)
2024-07-31 14:13:34,699 - DEBUG - Decisión de traducción para texto 'Water supply': Sí (palabras > 3 letras: True, solo campos especiales: True)
2024-07-31 14:13:34,699 - DEBUG - Decisión de traducción para texto 'YV<#>': No (palabras > 3 letras: False, solo campos especiales: True)
2024-07-31 14:13:34,699 - INFO - Número total de textos a traducir: 17
2024-07-31 14:13:34,700 - INFO - Traduciendo: celdas desde 0 a 17.
2024-07-31 14:13:34,701 - INFO - Solicitando traducción de Italian a Russian para el lote de textos:
{"texts": ["Value % to set in Manual Mode", "Value calculated from PID", "Value calculated from PID + Feedforward", "Value calculated from PID + FF to Actuator", "Value calculated from PID Scaled", "Value to force when PID es disabled", "Verificare Con Formato", "W<#>/<#>/<#> General - Pressure sensor Maximun reached", "W<#>/<#>/<#> General - Tank under minimun level", "W<#>/<#>/<#> General - Stop Filler for Overtemperature", "W<#>/<#>/<#> General - Signals Forced", "Waiting for product", "Waiting Infeed Selector Enable", "Waiting Minimal Accumulation", "Warnings", "Watchdog del sistema", "Water supply"], "source_lang": "Italian", "target_lang": "Russian"}
2024-07-31 14:13:38,463 - INFO - Respuestas recibidas:
['Значение % для установки в ручном режиме', 'Значение, рассчитанное по PID', 'Значение, рассчитанное по PID + Feedforward', 'Значение, рассчитанное по PID + FF к актуатору', 'Значение, рассчитанное по PID с масштабированием', 'Значение для принудительного управления при отключенном PID', 'Проверьте формат', 'W<#>/<#>/<#> Общая - Максимальное давление датчика достигнуто', 'W<#>/<#>/<#> Общая - Уровень в баке ниже минимального', 'W<#>/<#>/<#> Общая - Остановить наполнитель из-за перегрева', 'W<#>/<#>/<#> Общая - Сигналы принудительно установлены', 'Ожидание продукта', 'Ожидание включения селектора подачи', 'Ожидание минимальной накопленной массы', 'Предупреждения', 'Системный watchdog', 'Подача воды']
2024-07-31 14:13:38,463 - INFO - Número total de traducciones recibidas: 17
2024-07-31 14:13:44,157 - INFO - Afinidad: celdas desde 0 a 17.
2024-07-31 14:13:44,158 - INFO - Solicitando Afinidad para el lote de textos:
{"original": ["Value % to set in Manual Mode", "Value calculated from PID", "Value calculated from PID + Feedforward", "Value calculated from PID + FF to Actuator", "Value calculated from PID Scaled", "Value to force when PID es disabled", "Verificare Con Formato", "W[[digits]]/[[digits]]/[[digits]] General - Pressure sensor Maximun reached", "W[[digits]]/[[digits]]/[[digits]] General - Tank under minimun level", "W[[digits]]/[[digits]]/[[digits]] General - Stop Filler for Overtemperature", "W[[digits]]/[[digits]]/[[digits]] General - Signals Forced", "Waiting for product", "Waiting Infeed Selector Enable", "Waiting Minimal Accumulation", "Warnings", "Watchdog del sistema", "Water supply"], "compared": ["Value % to set in Manual Mode", "Value calculated from PID", "Value calculated from PID + Feedforward", "Value calculated from PID + FF to Actuator", "Value calculated from PID Scaled", "Value to force when PID es disabled", "Verificare Con Formato", "W<#>/<#>/<#> General - Pressure sensor Maximun reached", "W<#>/<#>/<#> General - Tank under minimun level", "W<#>/<#>/<#> General - Stop Filler for Overtemperature", "W<#>/<#>/<#> General - Signals Forced", "Waiting for product", "Waiting Infeed Selector Enable", "Waiting Minimal Accumulation", "Warnings", "Watchdog del sistema", "Water supply"]}
2024-07-31 14:13:58,257 - INFO - Respuestas recibidas:
[1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.9, 0.9, 0.9, 0.9, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0]
2024-07-31 14:14:38,642 - INFO - Archivo traducido guardado en: .\data\3_master_export2translate_translated.xlsx

View File

@ -12,8 +12,8 @@ from google.cloud import translate_v2 as translate
from google.oauth2 import service_account
import html
client = OpenAI(api_key=openai_api_key())
GOOGLE_APPLICATION_CREDENTIALS ="translate-431108-020c17463fbb.json"
openai_client = OpenAI(api_key=openai_api_key())
GOOGLE_APPLICATION_CREDENTIALS = "translate-431108-020c17463fbb.json"
# Diccionario de idiomas
IDIOMAS = {
@ -25,6 +25,7 @@ IDIOMAS = {
6: ("German", "de-DE"),
}
def configurar_logger():
logger = logging.getLogger("translate_logger")
logger.setLevel(logging.DEBUG)
@ -36,6 +37,7 @@ def configurar_logger():
logger.addHandler(fh)
return logger
def init_google_translate_client():
if os.path.exists(GOOGLE_APPLICATION_CREDENTIALS):
# Usar credenciales de cuenta de servicio
@ -44,57 +46,39 @@ def init_google_translate_client():
)
return translate.Client(credentials=credentials)
else:
raise ValueError("No se han proporcionado credenciales válidas para Google Translate")
raise ValueError(
"No se han proporcionado credenciales válidas para Google Translate"
)
google_translate_client = init_google_translate_client()
def google_translate(text, target_language):
result = google_translate_client.translate(text, target_language=target_language)
translated_text = result['translatedText']
translated_text = result["translatedText"]
return html.unescape(translated_text)
logger = configurar_logger()
def mostrar_idiomas():
print("Selecciona el idioma de destino:")
for numero, (nombre, _) in IDIOMAS.items():
print(f"{numero}: {nombre}")
def read_system_prompt():
try:
with open(".\\data\\system_prompt.txt", "r", encoding="utf-8") as file:
return file.read().strip()
except FileNotFoundError:
logger.warning("Archivo system_prompt.txt no encontrado. Usando prompt por defecto.")
logger.warning(
"Archivo system_prompt.txt no encontrado. Usando prompt por defecto."
)
return "You are a translator."
def translate_batch_openai(texts_dict, source_lang, target_lang):
system_prompt = read_system_prompt()
texts_list = list(texts_dict.values())
joined_text = "\n".join(texts_list)
request_payload = json.dumps({"texts": texts_list, "source_lang": source_lang, "target_lang": target_lang})
logger.info(
f"Solicitando traducción de {source_lang} a {target_lang} para el lote de textos:\n{request_payload}"
)
response = client.chat.completions.create(
model="gpt-4o-mini",
messages=[
{"role": "system", "content": f"You are a translator.{system_prompt}."},
{"role": "user", "content": request_payload}
],
max_tokens=1500,
temperature=0.3,
)
response_payload = json.loads(response.choices[0].message.content.strip())
translations = response_payload.get("texts", [])
logger.info(f"Respuestas recibidas:\n{translations}")
if len(translations) != len(texts_list):
raise ValueError("La cantidad de traducciones recibidas no coincide con la cantidad de textos enviados.")
return dict(zip(texts_dict.keys(), translations))
def translate_batch_ollama(texts, source_lang, target_lang):
joined_text = "\n".join(texts)
@ -102,12 +86,16 @@ def translate_batch_ollama(texts, source_lang, target_lang):
logger.info(
f"Solicitando traducción de {source_lang} a {target_lang} para el lote de textos:\n{joined_text}"
)
response = ollama.generate(model='llama3.1', prompt=f"Translate the following texts from {source_lang} to {target_lang} while preserving special fields like <> and <#>. {system_prompt}: \n\n{joined_text}")
response = ollama.generate(
model="llama3.1",
prompt=f"Translate the following texts from {source_lang} to {target_lang} while preserving special fields like <> and <#>. {system_prompt}: \n\n{joined_text}",
)
translations = response['response'].strip().split("\n")
translations = response["response"].strip().split("\n")
logger.info(f"Respuestas recibidas:\n{translations}")
return translations
def texto_requiere_traduccion(texto):
palabras = re.findall(r"\b\w{4,}\b", texto)
campos_especiales = re.findall(r"<.*?>", texto)
@ -119,31 +107,107 @@ def texto_requiere_traduccion(texto):
)
return requiere_traduccion
def translate_batch_openai(texts_dict, source_lang, target_lang):
system_prompt = read_system_prompt()
texts_list = list(texts_dict.values())
request_payload = json.dumps(
{"texts": texts_list, "source_lang": source_lang, "target_lang": target_lang}
)
logger.info(
f"Solicitando traducción de {source_lang} a {target_lang} para el lote de textos:\n{request_payload}"
)
response = openai_client.chat.completions.create(
model="gpt-4o-mini",
messages=[
{"role": "system", "content": f"You are a translator.{system_prompt}."},
{"role": "user", "content": request_payload},
],
max_tokens=1500,
temperature=0.3,
)
response_payload = json.loads(response.choices[0].message.content.strip())
translations = response_payload.get("texts", [])
logger.info(f"Respuestas recibidas:\n{translations}")
if len(translations) != len(texts_list):
raise ValueError(
"La cantidad de traducciones recibidas no coincide con la cantidad de textos enviados."
)
return dict(zip(texts_dict.keys(), translations))
def affinity_batch_openai(texts_dict):
system_prompt = "Evaluate the semantic similarity between the following pairs of texts on a scale from 0 to 1. Return the similarity score in JSON format for each pair in the same order."
original_list = list(texts_dict.keys())
re_translated_list = list(texts_dict.values())
request_payload = json.dumps(
{"original": original_list, "compared": re_translated_list}
)
logger.info(f"Solicitando Afinidad para el lote de textos:\n{request_payload}")
response = openai_client.chat.completions.create(
model="gpt-4o-mini",
messages=[
{
"role": "system",
"content": f"You are a semantic similarity evaluator.{system_prompt}",
},
{"role": "user", "content": request_payload},
],
max_tokens=1500,
temperature=0.3,
)
response_payload = json.loads(response.choices[0].message.content.strip("'```json\n").strip("```"))
scores = response_payload
logger.info(f"Respuestas recibidas:\n{scores}")
if len(scores) != len(original_list):
raise ValueError(
"La cantidad de afinidades recibidas no coincide con la cantidad de textos enviados."
)
return dict(zip(texts_dict.keys(), scores))
def main(file_path, target_lang_code, target_lang, traducir_todo, batch_size=10):
df = pd.read_excel(file_path)
source_col = "it-IT"
source_translated_col = target_lang_code
target_col = f"{target_lang_code} Translated"
check_translate_col = f"{target_lang_code} CheckTranslate"
affinity_col = f"{target_lang_code} Affinity"
# Asegurarse de que la columna de destino existe
if target_col not in df.columns:
df[target_col] = None
if check_translate_col not in df.columns:
df[check_translate_col] = None
if affinity_col not in df.columns:
df[affinity_col] = None
texts_to_translate = {}
for _, row in df.iterrows():
source_text = str(row[source_col])
source_translated_text = str(row[source_translated_col]) if source_translated_col in df.columns else ""
source_translated_text = (
str(row[source_translated_col])
if source_translated_col in df.columns
else ""
)
processed_text = transformar_texto(source_text)
if traducir_todo:
if texto_requiere_traduccion(processed_text):
texts_to_translate[source_text] = processed_text
else:
if pd.isna(row[source_translated_col]) or source_translated_text.strip() == "":
if (
pd.isna(row[source_translated_col])
or source_translated_text.strip() == ""
):
if texto_requiere_traduccion(processed_text):
texts_to_translate[source_text] = processed_text
@ -151,6 +215,8 @@ def main(file_path, target_lang_code, target_lang, traducir_todo, batch_size=10)
logger.info(f"Número total de textos a traducir: {num_texts}")
print(f"Número total de textos a traducir: {num_texts}")
# Traducciones
# Hacer las traducciones via LLM en batch
translations = {}
for start_idx in range(0, num_texts, batch_size):
end_idx = min(start_idx + batch_size, num_texts)
@ -161,37 +227,91 @@ def main(file_path, target_lang_code, target_lang, traducir_todo, batch_size=10)
retries = 2 # Número de intentos totales (1 inicial + 1 reintento)
for attempt in range(retries):
try:
batch_translations = translate_batch_openai(batch_texts, 'Italian', target_lang)
batch_translations = translate_batch_openai(
batch_texts, "Italian", target_lang
)
translations.update(batch_translations)
break # Si la traducción es exitosa, salimos del bucle de reintentos
except Exception as e:
if attempt < retries - 1: # Si no es el último intento
logger.warning(f"Error en el intento {attempt + 1} de traducción de celdas desde {start_idx} a {end_idx}: {e}. Reintentando...")
print(f"Error en el intento {attempt + 1} de traducción de celdas desde {start_idx} a {end_idx}: {e}. Reintentando...")
logger.warning(
f"Error en el intento {attempt + 1} de traducción de celdas desde {start_idx} a {end_idx}: {e}. Reintentando..."
)
print(
f"Error en el intento {attempt + 1} de traducción de celdas desde {start_idx} a {end_idx}: {e}. Reintentando..."
)
else: # Si es el último intento
logger.error(f"Error en todos los intentos de traducción de celdas desde {start_idx} a {end_idx}: {e}")
print(f"Error en todos los intentos de traducción de celdas desde {start_idx} a {end_idx}: {e}")
logger.error(
f"Error en todos los intentos de traducción de celdas desde {start_idx} a {end_idx}: {e}"
)
print(
f"Error en todos los intentos de traducción de celdas desde {start_idx} a {end_idx}: {e}"
)
logger.info(f"Número total de traducciones recibidas: {len(translations)}")
# Actualizar el DataFrame con las traducciones
# Traduccion inversa
# Actualizar el DataFrame con las traducciones y hacemos la Traduccion inversa
for index, row in df.iterrows():
source_text = str(row[source_col])
if source_text in translations:
df.at[index, target_col] = translations[source_text]
# Realizar la traducción de verificación con Google Translate
try:
google_translation = google_translate(translations[source_text], 'it')
google_translation = google_translate(translations[source_text], "it")
df.at[index, check_translate_col] = google_translation
except Exception as e:
logger.error(f"Error en la traducción de Google para el texto '{source_text}': {e}")
logger.error(
f"Error en la traducción de Google para el texto '{source_text}': {e}"
)
df.at[index, check_translate_col] = "Error en la traducción"
df.at[index, affinity_col] = 0.0
output_path = os.path.join(os.path.dirname(file_path), '3_master_export2translate_translated.xlsx')
# Afinidades
# Se calculan las Afinidades
affinities = {}
for start_idx in range(0, num_texts, batch_size):
end_idx = min(start_idx + batch_size, num_texts)
batch_texts = dict(list(texts_to_translate.items())[start_idx:end_idx])
logger.info(f"Afinidad: celdas desde {start_idx} a {end_idx}.")
print(f"Afinidad: celdas desde: {start_idx} a :{end_idx}.")
retries = 2 # Número de intentos totales (1 inicial + 1 reintento)
for attempt in range(retries):
try:
batch_affinities = affinity_batch_openai(batch_texts)
affinities.update(batch_affinities)
break # Si la llamada es exitosa, salimos del bucle de reintentos
except Exception as e:
if attempt < retries - 1: # Si no es el último intento
logger.warning(
f"Error en el intento {attempt + 1} de Afinidad de celdas desde {start_idx} a {end_idx}: {e}. Reintentando..."
)
print(
f"Error en el intento {attempt + 1} de Afinidad de celdas desde {start_idx} a {end_idx}: {e}. Reintentando..."
)
else: # Si es el último intento
logger.error(
f"Error en todos los intentos de Afinidad de celdas desde {start_idx} a {end_idx}: {e}"
)
print(
f"Error en todos los intentos de Afinidad de celdas desde {start_idx} a {end_idx}: {e}"
)
# Actualizar el DataFrame con las Afinidades
for index, row in df.iterrows():
source_text = str(row[source_col])
if source_text in translations:
df.at[index, affinity_col] = affinities[source_text]
output_path = os.path.join(
os.path.dirname(file_path), "3_master_export2translate_translated.xlsx"
)
df.to_excel(output_path, index=False)
logger.info(f"Archivo traducido guardado en: {output_path}")
print(f"Archivo traducido guardado en: {output_path}")
if __name__ == "__main__":
batch_size = 20
translate_file = ".\\data\\2_master_export2translate.xlsx"