Erreur « Le corps semble flou » lorsque les utilisateurs tapent en chinois

Ravi de voir que cela est pris en compte ! :+1: Nous gérons un forum international et, bien que l’anglais soit la langue principale, nous avons des catégories dédiées à d’autres langues et cela nous a longtemps agacés.

Maintenant que skipped_locale est uniquement utilisé pour seems_unpretentious, je me demande si nous ne pourrions pas ignorer ‘ko’ puisque le coréen moderne utilise des espaces ? Gardez à l’esprit que je ne parle pas coréen, vous voudrez peut-être vérifier cela.

Pendant que j’ai votre attention, il y a une autre chose qui, je pense, pourrait être une amélioration facile sur TextSentinel mais que je n’ai pas osé toucher (encore une fois, je ne suis pas un développeur Ruby). Si vous avez un moment, je pense que c’est assez simple et que cela pourrait apporter un gain de performance gratuit.

Si je comprends bien, cela vérifie si un mot est plus long que la limite en divisant le texte en mots, calcule la longueur de chacun, analyse toutes les longueurs pour trouver la plus grande, et seulement ensuite la compare à la limite.

Pourrions-nous peut-être éviter tout cela en essayant simplement de faire correspondre le texte à quelque chose comme /\\p{Alnum}{#{max_word_length + 1},}/ (la syntaxe est probablement erronée, mais j’espère que vous comprenez l’idée) ?

Sans connaître le fonctionnement interne de Ruby, cela permettrait plus probablement d’arrêter la vérification dès qu’il y a une correspondance, et s’il n’y a pas de mot trop long (cas le plus fréquent), le texte n’est analysé qu’une seule fois, en évitant la division, la vérification de la longueur de chaque mot, etc.

Désolé si je détourne le sujet ici, mais comme le nouveau PR est déjà fusionné, je ne suis pas sûr du meilleur endroit pour poster cela car c’est peut-être trop petit pour mériter un nouveau sujet, mais cela semble être un gain facile. N’hésitez pas à vous en emparer.

1 « J'aime »