Changeset 89116 in spip-zone


Ignore:
Timestamp:
May 7, 2015, 3:42:43 PM (4 years ago)
Author:
eric@…
Message:

Avec l'aide de jluc la regexp fonction_l a été fixée.
On sait maintenant reconnaitre toutes les chaines de _L().
On dépile donc le patche précédent.

Location:
_plugins_/langonet/trunk
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/langonet/trunk/inc/langonet_generer_fichier.php

    r89115 r89116  
    55if (!defined('_LANGONET_SIGNATURE_SPIP'))
    66        define('_LANGONET_SIGNATURE_SPIP', "// This is a SPIP language file  --  Ceci est un fichier langue de SPIP");
    7 if (!defined('_LANGONET_SIGNATURE'))
    8         define('_LANGONET_SIGNATURE', "// Produit automatiquement par le plugin LangOnet à partir de la langue source");
    97
    108if (!defined('_LANGONET_TAG_DEFINITION_L'))
     
    142140        // d'opération en cours.
    143141        foreach ($items_source as $_item => $_valeur) {
    144                 // Traitement du cas non détecté par la regexp fonction_l suivant : _L('le cas qui m\'ennuie').
    145                 // Das ce cas la chaine _L détectée s'arrête au \.
    146                 // De fait l'insertion de 'item' => 'le cas qui m\', dans le fichier provoque une erreur car cela
    147                 // echappe la quote.
    148                 // Pour pallier si on détecte le \ en fin de chaine on le retire et on ajoute un commentaire comme quoi
    149                 // la chaine trouvée est incomplète.
    150                 $valeur_incomplete = false;
    151                 if (substr($_valeur, -1) === '\\') {
    152                         $_valeur = substr($_valeur, 0, strlen($_valeur)-1);
    153                         $valeur_incomplete = true;
    154                 }
    155 
    156142                // Si l'item existe dans le fichier cible existant on vérifie si il n'est pas obsolète dans le cas où
    157143                // le mode est 'inutile' (opération verifier_utilisation)
     
    173159                                        _LANGONET_TAG_DEFINITION_L,
    174160                                        preg_replace("/'[$](\w+)'/", '\'@\1@\'', $_valeur),
    175                                         $mode,
    176                                         $valeur_incomplete ? _T('langonet:info_chaine_incomplete') : '');
     161                                        $mode);
    177162                        }
    178163                        else if ($mode !== 'oublie') {
     
    221206                }
    222207                if (!is_string($_traduction)) {
    223                         $t = str_replace("'", '\\\'', $_traduction[1]);
     208                        $t = str_replace("\'", '\'', $_traduction[1]);
     209                        $t = str_replace("'", '\\\'', $t);
    224210                        if ($_traduction[2] == 'inutile')
    225211                                $contenu[]= "/*\t" . $_traduction[0] ."\n\t'$_item' => '$t',*/";
    226212                        else {
    227213                                $prefixe = !$_traduction[0] ? '' : ("/*\t". $_traduction[0] ." */\n");
    228                                 $suffixe = !$_traduction[3] ? '' : (" #". $_traduction[3]);
    229                                 $contenu[]= "${prefixe}\t'${_item}' => '${t}',${suffixe}";
     214                                $contenu[]= "${prefixe}\t'${_item}' => '${t}',";
    230215                        }
    231216                }
  • _plugins_/langonet/trunk/inc/langonet_verifier_l.php

    r77222 r89116  
    44
    55if (!defined('_LANGONET_PATTERN_FONCTION_L'))
    6         define("_LANGONET_PATTERN_FONCTION_L", "#\b_L\s*[(]\s*(['\"])([^\\1]+)\\1[^)]*\)#Uims");
     6        define("_LANGONET_PATTERN_FONCTION_L", "#\b_L\s*[(]\s*([\"'])((?:\\\\\\1|[^\\1])+)\\1[^)]*\)#Uims");
    77if (!defined('_LANGONET_PATTERN_FICHIERS_L'))
    88        define('_LANGONET_PATTERN_FICHIERS_L', '(?<!/charsets|/lang|/req)(/[^/]*\.(php))$');
  • _plugins_/langonet/trunk/lang/langonet_fr.php

    r89114 r89116  
    3939        'info_bloc_logs_fonction_l' => 'Cliquez sur un lien ci-dessous pour télécharger le dernier fichier de logs de vérification des utilisations de _L() dans une arborescence donnée.',
    4040        'info_bloc_logs_utilisation' => 'Cliquez sur un lien ci-dessous pour télécharger le dernier fichier de logs de vérification des définitions obsolètes d\'un fichier de langue.',
    41         'info_chaine_incomplete' => ' !!! détection incomplète, la chaine est tronquée. Vérifier le libellé exact !!!',
    4241        'info_chemin_langue' => 'Dossier dans lequel est installé le fichier de langue (exemple : <em>plugins/rainette/lang/</em>, ou <em>ecrire/lang/</em>)',
    4342        'info_fichier_liste' => 'Choisissez le fichier de langue dont vous voulez afficher les items, parmi ceux présents dans le site.',
Note: See TracChangeset for help on using the changeset viewer.