ARNO*

Geek dilettante habitant une belle et grande propriété sur la Côte d’améthyste

  • Sur un site #SPIP, j’ai besoin de détecter les langues des messages, mais je ne veux détecter que dans trois langues (français, anglais, allemand).

    Du coup mon #plugin seenthis_detecter_langue n’est pas utilisable directement :
    https://git.spip.net/spip-contrib-extensions/seenthis_detecter_langue

    parce que je n’ai pas prévu de limiter arbitrairement le choix des langues. (Ce qui est assez logique en général.)

    Du coup, dans mes_fonctions.php, je fabrique une fonction detecter_la_langue ainsi :

    $my_ngrams = false;
    function detecter_la_langue($texte) {
            if (!$my_ngrams) {
                    $my_ngrams["fr"] = $GLOBALS["ngrams"]['fr'];
                    $my_ngrams["en"] = $GLOBALS["ngrams"]['en'];
                    $my_ngrams["de"] = $GLOBALS["ngrams"]['de'];
                    $GLOBALS["ngrams"] = $my_ngrams;
            }
            return detecter_langue($texte);
    }

    Du coup on ne teste les « ngrams » que sur ces trois langues, donc le plugin ne pourra plus retourner qu’une de ces trois valeurs.

    • Tu me dira que je pourrais coder ça proprement directement dans le plugin, mais comme je trouve que limiter arbitrairement la détection des langues n’est généralement pas une bonne idée, je préfère pas l’intégrer au plugin.

    • Ha ben je tombe justement sur un problème avec détecter langue qui attribue la langue ca dès que le mot « invariable » est dans le texte d’un post seenthis, et #du_coup je me dis que ça serait pas mal de pouvoir étendre ou limiter le bouzin :p

      PS : j’ai fourbé comme un crado avec cet ajout dans mes_fonctions.php :

      include_spip("inc/detecter_langue");
      unset($GLOBALS["ngrams"]['ca']);