From 2262ac1f677d95a68ad75e6a4ece771a5fda2339 Mon Sep 17 00:00:00 2001 From: Miguel Date: Wed, 31 Jul 2024 14:17:01 +0200 Subject: [PATCH] Con sistema de Afinidad via LLM funcionando --- .../3_master_export2translate_translated.xlsx | Bin 8272 -> 8328 bytes data/translate_log.log | 297 ++++++++++++++++++ x3_llm_translate_text.py | 218 ++++++++++--- 3 files changed, 466 insertions(+), 49 deletions(-) diff --git a/data/3_master_export2translate_translated.xlsx b/data/3_master_export2translate_translated.xlsx index 2b9885244ce9786abcf729d9a69c866af4df8bc0..7a03a91d123fc73fb1e6fef5a915d7dfbc244bc4 100644 GIT binary patch delta 3927 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 delta 3885 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 diff --git a/data/translate_log.log b/data/translate_log.log index 37f187b..e7b3e32 100644 --- a/data/translate_log.log +++ b/data/translate_log.log @@ -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 diff --git a/x3_llm_translate_text.py b/x3_llm_translate_text.py index 8c636b0..fa64f77 100644 --- a/x3_llm_translate_text.py +++ b/x3_llm_translate_text.py @@ -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,79 +107,211 @@ 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 num_texts = len(texts_to_translate) 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) batch_texts = dict(list(texts_to_translate.items())[start_idx:end_idx]) logger.info(f"Traduciendo: celdas desde {start_idx} a {end_idx}.") print(f"Traduciendo : 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_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" @@ -205,4 +325,4 @@ if __name__ == "__main__": traducir_todo = ( input("¿Desea traducir todas las celdas (s/n)? ").strip().lower() == "s" ) - main(translate_file, target_lang_code, target_lang, traducir_todo, batch_size) \ No newline at end of file + main(translate_file, target_lang_code, target_lang, traducir_todo, batch_size)