Impossible de mettre à jour le texte pour js.composer.error.post_length

J’essaie de mettre à jour le texte pour js.composer.error.post_length. Je rencontre ce problème sur 2.9 et 3.1.0.beta2, en production, en staging et dans mon environnement local.

Sur le frontend, il est affiché [valeur {{min}} manquante] bien que la valeur ait été définie.

Le journal d’erreurs indique :

NoMethodError (méthode non définie `scan' pour {:one=>"Post must be at least %{count} character", :other=>"Post must be at least %{count} characters"}:Hash keys = text.scan(pattern) ^^
Message

NoMethodError (méthode non définie `scan' pour {:one=>"Post must be at least %{count} character", :other=>"Post must be at least %{count} characters"}:Hash

    keys = text.scan(pattern)
               ^^^^^
lib/i18n/i18n_interpolation_keys_finder.rb:6:in `find'
app/models/translation_override.rb:123:in `check_interpolation_keys'
app/models/translation_override.rb:64:in `upsert!'
app/controllers/admin/site_texts_controller.rb:88:in `update'
app/controllers/application_controller.rb:414:in `block in with_resolved_locale'
app/controllers/application_controller.rb:414:in `with_resolved_locale'
lib/middleware/omniauth_bypass_middleware.rb:74:in `call'
lib/content_security_policy/middleware.rb:12:in `call'
config/initializers/100-quiet_logger.rb:20:in `call'
config/initializers/100-silence_logger.rb:29:in `call'
lib/middleware/missing_avatars.rb:22:in `call'
lib/middleware/turbo_dev.rb:31:in `call'

Backtrace

lib/i18n/i18n_interpolation_keys_finder.rb:6:in `find'
app/models/translation_override.rb:123:in `check_interpolation_keys'
activesupport (7.0.4) lib/active_support/callbacks.rb:400:in `block in make_lambda'
activesupport (7.0.4) lib/active_support/callbacks.rb:199:in `block (2 levels) in halting'
activesupport (7.0.4) lib/active_support/callbacks.rb:687:in `block (2 levels) in default_terminator'
activesupport (7.0.4) lib/active_support/callbacks.rb:686:in `catch'
activesupport (7.0.4) lib/active_support/callbacks.rb:686:in `block in default_terminator'
activesupport (7.0.4) lib/active_support/callbacks.rb:200:in `block in halting'
activesupport (7.0.4) lib/active_support/callbacks.rb:595:in `block in invoke_before'
activesupport (7.0.4) lib/active_support/callbacks.rb:595:in `each'

Env

HTTP HOSTS: 127.0.0.1:3000
2 « J'aime »

Cette chaîne a été modifiée en 2021. Elle utilise %{count} au lieu de %{min} et a été convertie en une chaîne plurielle (one, other).

Vous pouvez corriger votre chaîne personnalisée en allant dans Personnaliser → Texte :

  • Recherchez « js.composer.error.post_length »
  • cliquez sur « modifier »
  • cliquez sur « annuler les modifications » et confirmez la question avec « oui »
  • cliquez sur « retour à la recherche »
  • Recherchez « js.composer.error.post_length »
  • Vous verrez 2 résultats, personnalisez les deux chaînes si vous le souhaitez
4 « J'aime »

Je me demande si nous pourrions implémenter une gestion des erreurs qui se rabattrait sur l’anglais dans ces cas-là et enregistrerait quelque chose ?

3 « J'aime »

Pour une raison quelconque, je n’ai pas réussi à faire fonctionner cela, la boîte de dialogue de confirmation ne s’ouvrait pas à cause d’une erreur JS ‘get_attributes’, l’élément de dialogue était nul.

Mais ensuite, j’ai activé le mode sans échec, vérifié si cela fonctionnait et tout a été mis à jour automatiquement. J’ai désactivé le mode sans échec, suis retourné à mon thème et à nouveau, tout fonctionnait comme prévu.

Donc, le mode sans échec l’a résolu, je suppose. Et il n’y a plus d’erreur JS mentionnée ci-dessus. (J’aurais dû essayer avec le mode sans échec en premier lieu, smh).

Merci pour votre aide !

2 « J'aime »