Ottimo vedere che è stato affrontato!
Gestiamo un forum internazionale e, sebbene l’inglese sia la lingua principale, abbiamo categorie dedicate ad altre lingue e questo è stato un fastidio di lunga data.
Ora che skipped_locale viene utilizzato solo per seems_unpretentious, mi chiedo se possiamo saltare ‘ko’ poiché il coreano moderno usa gli spazi? Tieni presente che non parlo coreano, quindi potresti voler ricontrollare.
Mentre ho la tua attenzione, c’è un’altra cosa che penso potrebbe essere un facile miglioramento su TextSentinel ma non ho osato toccare (di nuovo, non sono uno sviluppatore Ruby). Se hai un momento, penso che sia abbastanza semplice e potrebbe portare un guadagno di prestazioni gratuito.
Per quanto ho capito, questo controlla se una parola è più lunga del limite dividendo il testo in parole, calcolando la lunghezza di ciascuna, analizzando tutte le lunghezze per trovare la più alta e solo allora confrontandola con il limite.
Potremmo forse saltare tutto questo provando semplicemente a confrontare il testo con qualcosa come /\\p{Alnum}{#{max_word_length + 1},}/ (sintassi probabilmente errata, ma spero che tu capisca l’idea)?
Senza conoscere il funzionamento interno di Ruby, è più probabile che questo interrompa il controllo non appena c’è una corrispondenza e, se non ci sono parole troppo lunghe (caso più comune), il testo viene analizzato una sola volta, saltando la divisione, il controllo della lunghezza della singola parola, ecc.
Mi scuso se sto dirottando l’argomento, ma poiché la nuova PR è già stata unita, non sono sicuro del posto migliore dove pubblicarlo poiché è forse troppo piccolo per meritare un nuovo argomento, ma sembra una vittoria facile. Sentiti libero di procedere.