Je reçois une erreur 422 lors de la traduction de texte brut et de liens avec LibreTranslate. Cependant, des publications similaires (juste du texte et des liens) se traduisent bien.
Sur l’interface utilisateur, une popup affiche « Erreur 422 », rien de plus.
Dans les journaux de discourse, nous avons la trace de la pile suivante (elle dit que je ne peux pas inclure de liens dans les messages) :
Failed to handle exception in exception app middleware : ActiveRecord::RecordInvalid : Validation échouée : Nous sommes désolés, vous ne pouvez pas inclure de liens dans vos messages.
activerecord-7.0.8/lib/active_record/validations.rb:80:in `raise_validation_error'
activerecord-7.0.8/lib/active_record/validations.rb:53:in `save!'
activerecord-7.0.8/lib/active_record/transactions.rb:302:in `block in save!'
activerecord-7.0.8/lib/active_record/transactions.rb:354:in `block in with_transaction_returning_status'
activerecord-7.0.8/lib/active_record/connection_adapters/abstract/transaction.rb:319:in `block in within_new_transaction'
activesupport-7.0.8/lib/active_support/concurrency/load_interlock_aware_monitor.rb:25:in `handle_interrupt'
activesupport-7.0.8/lib/active_support/concurrency/load_interlock_aware_monitor.rb:25:in `block in synchronize'
activesupport-7.0.8/lib/active_support/concurrency/load_interlock_aware_monitor.rb:21:in `handle_interrupt'
activesupport-7.0.8/lib/active_support/concurrency/load_interlock_aware_monitor.rb:21:in `synchronize'
activerecord-7.0.8/lib/active_record/connection_adapters/abstract/transaction.rb:317:in `within_new_transaction'
activerecord-7.0.8/lib/active_record/connection_adapters/abstract/database_statements.rb:316:in `transaction'
activerecord-7.0.8/lib/active_record/transactions.rb:350:in `with_transaction_returning_status'
activerecord-7.0.8/lib/active_record/transactions.rb:302:in `save!'
activerecord-7.0.8/lib/active_record/suppressor.rb:54:in `save!'
/var/www/discourse/plugins/discourse-translator/services/discourse_translator/base.rb:46:in `from_custom_fields'
/var/www/discourse/plugins/discourse-translator/services/discourse_translator/libretranslate.rb:115:in `translate'
/var/www/discourse/plugins/discourse-translator/plugin.rb:78:in `translate'
actionpack-7.0.8/lib/action_controller/metal/basic_implicit_render.rb:6:in `send_action'
actionpack-7.0.8/lib/abstract_controller/base.rb:215:in `process_action'
actionpack-7.0.8/lib/action_controller/metal/rendering.rb:165:in `process_action'
actionpack-7.0.8/lib/abstract_controller/callbacks.rb:234:in `block in process_action'
activesupport-7.0.8/lib/active_support/callbacks.rb:118:in `block in run_callbacks'
/var/www/discourse/app/controllers/application_controller.rb:423:in `block in with_resolved_locale'
i18n-1.14.1/lib/i18n.rb:322:in `with_locale'
/var/www/discourse/app/controllers/application_controller.rb:423:in `with_resolved_locale'
activesupport-7.0.8/lib/active_support/callbacks.rb:127:in `block in run_callbacks'
activesupport-7.0.8/lib/active_support/callbacks.rb:138:in `run_callbacks'
actionpack-7.0.8/lib/abstract_controller/callbacks.rb:233:in `process_action'
actionpack-7.0.8/lib/action_controller/metal/rescue.rb:23:in `process_action'
actionpack-7.0.8/lib/action_controller/metal/instrumentation.rb:67:in `block in process_action'
activesupport-7.0.8/lib/active_support/notifications.rb:206:in `block in instrument'
activesupport-7.0.8/lib/active_support/notifications/instrumenter.rb:24:in `instrument'
activesupport-7.0.8/lib/active_support/notifications.rb:206:in `instrument'
actionpack-7.0.8/lib/action_controller/metal/instrumentation.rb:66:in `process_action'
actionpack-7.0.8/lib/action_controller/metal/params_wrapper.rb:259:in `process_action'
activerecord-7.0.8/lib/active_record/railties/controller_runtime.rb:27:in `process_action'
actionpack-7.0.8/lib/abstract_controller/base.rb:151:in `process'
actionview-7.0.8/lib/action_view/rendering.rb:39:in `process'
rack-mini-profiler-3.3.0/lib/mini_profiler/profiling_methods.rb:89:in `block in profile_method'
actionpack-7.0.8/lib/action_controller/metal.rb:188:in `dispatch'
actionpack-7.0.8/lib/action_controller/metal.rb:251:in `dispatch'
actionpack-7.0.8/lib/action_dispatch/routing/route_set.rb:49:in `dispatch'
actionpack-7.0.8/lib/action_dispatch/routing/route_set.rb:32:in `serve'
actionpack-7.0.8/lib/action_dispatch/journey/router.rb:50:in `block in serve'
actionpack-7.0.8/lib/action_dispatch/journey/router.rb:32:in `each'
actionpack-7.0.8/lib/action_dispatch/journey/router.rb:32:in `serve'
actionpack-7.0.8/lib/action_dispatch/routing/route_set.rb:852:in `call'
railties-7.0.8/lib/rails/engine.rb:530:in `call'
railties-7.0.8/lib/rails/railtie.rb:226:in `public_send'
railties-7.0.8/lib/rails/railtie.rb:226:in `method_missing'
actionpack-7.0.8/lib/action_dispatch/routing/mapper.rb:19:in `block in <class:Constraints>'
actionpack-7.0.8/lib/action_dispatch/routing/mapper.rb:48:in `serve'
actionpack-7.0.8/lib/action_dispatch/journey/router.rb:50:in `block in serve'
actionpack-7.0.8/lib/action_dispatch/journey/router.rb:32:in `each'
actionpack-7.0.8/lib/action_dispatch/journey/router.rb:32:in `serve'
actionpack-7.0.8/lib/action_dispatch/routing/route_set.rb:852:in `call'
/var/www/discourse/lib/middleware/omniauth_bypass_middleware.rb:64:in `call'
rack-2.2.8/lib/rack/tempfile_reaper.rb:15:in `call'
rack-2.2.8/lib/rack/conditional_get.rb:40:in `call'
rack-2.2.8/lib/rack/head.rb:12:in `call'
actionpack-7.0.8/lib/action_dispatch/http/permissions_policy.rb:38:in `call'
/var/www/discourse/lib/content_security_policy/middleware.rb:12:in `call'
/var/www/discourse/lib/middleware/anonymous_cache.rb:393:in `call'
/var/www/discourse/lib/middleware/gtm_script_nonce_injector.rb:10:in `call'
/var/www/discourse/config/initializers/008-rack-cors.rb:14:in `call'
rack-2.2.8/lib/rack/session/abstract/id.rb:266:in `context'
rack-2.2.8/lib/rack/session/abstract/id.rb:260:in `call'
actionpack-7.0.8/lib/action_dispatch/middleware/cookies.rb:704:in `call'
actionpack-7.0.8/lib/action_dispatch/middleware/callbacks.rb:27:in `block in call'
activesupport-7.0.8/lib/active_support/callbacks.rb:99:in `run_callbacks'
actionpack-7.0.8/lib/action_dispatch/middleware/callbacks.rb:26:in `call'
actionpack-7.0.8/lib/action_dispatch/middleware/debug_exceptions.rb:28:in `call'
actionpack-7.0.8/lib/action_dispatch/middleware/show_exceptions.rb:29:in `call'
logster-2.15.0/lib/logster/middleware/reporter.rb:40:in `call'
railties-7.0.8/lib/rails/rack/logger.rb:40:in `call_app'
railties-7.0.8/lib/rails/rack/logger.rb:27:in `call'
/var/www/discourse/config/initializers/100-quiet_logger.rb:20:in `call'
/var/www/discourse/config/initializers/100-silence_logger.rb:29:in `call'
actionpack-7.0.8/lib/action_dispatch/middleware/remote_ip.rb:93:in `call'
actionpack-7.0.8/lib/action_dispatch/middleware/request_id.rb:26:in `call'
/var/www/discourse/lib/middleware/enforce_hostname.rb:24:in `call'
rack-2.2.8/lib/rack/method_override.rb:24:in `call'
actionpack-7.0.8/lib/action_dispatch/middleware/executor.rb:14:in `call'
rack-2.2.8/lib/rack/sendfile.rb:110:in `call'
actionpack-7.0.8/lib/action_dispatch/middleware/host_authorization.rb:131:in `call'
rack-mini-profiler-3.3.0/lib/mini_profiler.rb:191:in `call'
message_bus-4.3.8/lib/message_bus/rack/middleware.rb:60:in `call'
/var/www/discourse/lib/middleware/request_tracker.rb:236:in `call'
railties-7.0.8/lib/rails/engine.rb:530:in `call'
railties-7.0.8/lib/rails/railtie.rb:226:in `public_send'
railties-7.0.8/lib/rails/railtie.rb:226:in `method_missing'
rack-2.2.8/lib/rack/urlmap.rb:74:in `block in call'
rack-2.2.8/lib/rack/urlmap.rb:58:in `each'
rack-2.2.8/lib/rack/urlmap.rb:58:in `call'
unicorn-6.1.0/lib/unicorn/http_server.rb:634:in `process_client'
unicorn-6.1.0/lib/unicorn/http_server.rb:739:in `worker_loop'
unicorn-6.1.0/lib/unicorn/http_server.rb:547:in `spawn_missing_workers'
unicorn-6.1.0/lib/unicorn/http_server.rb:143:in `start'
unicorn-6.1.0/bin/unicorn:128:in `<top (required)>'
/var/www/discourse/vendor/bundle/ruby/3.2.0/bin/unicorn:25:in `load'
/var/www/discourse/vendor/bundle/ruby/3.2.0/bin/unicorn:25:in `<main>'
Trois requêtes atteignent l’instance libretranslate avant qu’elle n’échoue :
[25/Jan/2024:15:56:36 +0000] "POST /libretranslatedetect HTTP/1.1" 200 39 "-" "-" "170.187.194.*"
[25/Jan/2024:15:56:36 +0000] "GET /libretranslatelanguages HTTP/1.1" 200 11115 "-" "excon/0.109.0" "170.187.194.*"
[25/Jan/2024:15:56:40 +0000] "POST /libretranslatetranslate HTTP/1.1" 200 852 "-" "-" "170.187.194.*"
Pour une requête réussie, j’en ai plus :
[25/Jan/2024:16:05:37 +0000] "POST /libretranslatedetect HTTP/1.1" 200 39 "-" "-" "170.187.194.*"
[25/Jan/2024:16:05:37 +0000] "POST /libretranslatedetect HTTP/1.1" 200 39 "-" "-" "170.187.194.*"
[25/Jan/2024:16:05:41 +0000] "POST /libretranslatedetect HTTP/1.1" 200 39 "-" "-" "170.187.194.*"
[25/Jan/2024:16:05:41 +0000] "GET /libretranslatelanguages HTTP/1.1" 200 11115 "-" "excon/0.109.0" "170.187.194.*"
[25/Jan/2024:16:05:42 +0000] "POST /libretranslatetranslate HTTP/1.1" 200 132 "-" "-" "170.187.194.*"
Voici le texte, c’est la section “à propos” d’une catégorie :
BON in a Box est un portail d’outils et de projets, ainsi qu’un moteur de pipeline modulaire pour les EBV et les indicateurs. Plus d’infos. Toute discussion sur la plateforme BON in a Box, les pipelines et les partenariats peut avoir lieu ici. Les discussions sont ouvertes à tous les membres de GEO BON.
Pour les rapports de bugs concernant le moteur de pipeline et l’interface utilisateur, veuillez soumettre un problème dans le dépôt GitHub du moteur de pipeline.
Si vous trouvez un problème avec un script ou un pipeline, veuillez soumettre un problème dans le dépôt GitHub des pipelines.
