Extraire une série de lignes d'un fichier ini de langue ?

Réduire
X
 
  • Filtrer
  • Heure
  • Afficher
Tout effacer
nouveaux messages

  • [RÉGLÉ] Extraire une série de lignes d'un fichier ini de langue ?

    Bonjour à tous !

    Quelqu'un connaîtrait-il un moyen (script ou programme) capable d'extraire et d'exporter dans un fichier toute une série de lignes non contiguës d'un fichier de langue afin de pouvoir faire ensuite du remplacement de termes dans le fichier override de la langue ?
    En pratique, j'ai deux fichiers d'administration et de site dont je suis en train de vérifier les traductions : plus de 2000 lignes dans l'un, plus de 1400 dans l'autre, et dans ces fichiers, j'ai en tout près de 300 lignes où un mot a besoin d'être remplacé par un autre seulement pour le projet en cours, pas pour tous les projets qui utiliseront cette extension.
    L'idée est donc de pouvoir extraire ces lignes pour créer deux fichiers de substitution de langue. Je l'ai déjà fait un à un pour une centaine de lignes côté site par copier-coller après avoir essayé l'outil de substitution de l'administration, qui est inutilisable dans une telle situation.
    Et je ne me vois pas dupliquer les fichiers originaux, faire la modification et les enregistrer comme overrides après les avoir débarrassés des plus de 3000 lignes à ne pas changer !

    Merci à qui aura une idée de solution simple !
    Robert
    "Patience et longueur de temps font plus que force ni que rage..." (La Fontaine : Le Lion et le Rat) - "Il n'y a pas de problèmes; il n'y a que des solutions" (André Gide).
    MoovJla et LazyDbBackup sur www.joomxtensions.com - FaQ sur www.fontanil.info - Site pro : www.robertg-conseil.fr chez PHPNET, sites perso chez PlanetHoster + sites gérés chez PHPNET, PlanetHoster, Ionos et OVH

  • #2
    Salut Robert.
    Y a p'tet une option depuis Excel mais faudrait connaître toutes les données de ton problème.
    Cordialement.
    __
    Eddy !!!
    Tutoriels BreezingForms en Français : https://www.breezingforms.eddy-vh.com/

    Commentaire


    • #3
      Bonsoir

      Est-ce qu'il faut comprendre extraire du gros fichier les chaînes de caractères dont le code se trouve dans le plus petit fichier ?

      Ainsi tu régénères le petit fichier et tu adaptes le mot à changer ?

      Un petit script php pourrait le faire si c'est ça...

      Je doute d'avoir bien compris....
      Christophe (cavo789)
      Mon blog, on y parle Docker, PHP, WSL, Markdown et plein d'autres choses : https://www.avonture.be
      Logiciel gratuit de scan antivirus : https://github.com/cavo789/aesecure_quickscan (plus de 45.000 virus détectés, 700.000 fichiers sur liste blanche)​

      Commentaire


      • #4
        L'idée est, pour éviter de modifier en substitution de langue un mot 300 fois dans les 2 fichiers ini de l'extension, de récupérer pour chacun toutes les lignes de variables contenant le mot qu'il faudra changer juste pour le site voulu et de les placer dans un fichier dont on pourra ensuite copier le contenu et le coller dans le fr-FR.overrride.ini de l'administration ou du site, donc arriver à lire les originaux ligne par ligne, de chercher le mot à remplacer et de coller la ligne concernée dans un nouveau fichier pour pouvoir secondairement faire du remplacement individuel ou en masse.
        J'ai passé une matinée pour la substitution côté site en copiant-collant et modifiant ligne par ligne après avoir lancé ma recherche sur l'original, soit plus de 100 lignes (et maintenant la cliente a trouvé un autre terme à utiliser qui ne pourra pas se substituer à l'original dans tous les cas, donc va nécessiter de reprendre le fichier encore ligne par ligne).

        La substitution de langue dans l'administration a un gros inconvénient : quand on a déjà fait une substitution du texte, la chaîne déjà modifiée est toujours dans la liste de recherche, ce qui fait que lorsqu'on a des dizaines de lignes concernées, c'est impossible à utiliser.
        "Patience et longueur de temps font plus que force ni que rage..." (La Fontaine : Le Lion et le Rat) - "Il n'y a pas de problèmes; il n'y a que des solutions" (André Gide).
        MoovJla et LazyDbBackup sur www.joomxtensions.com - FaQ sur www.fontanil.info - Site pro : www.robertg-conseil.fr chez PHPNET, sites perso chez PlanetHoster + sites gérés chez PHPNET, PlanetHoster, Ionos et OVH

        Commentaire


        • #5
          Je crois comprendre... et c'est très facile avec Notepad++

          Quand tu cherches avec Notepad++ tu peux "marquer" les lignes puis ensuite supprimer les lignes non marquées. Du coup tu récupéres toutes les chaînes avec ton mot. Et hop fastoche.

          Chercher puis marquer puis supprimer lignes non marquées
          Christophe (cavo789)
          Mon blog, on y parle Docker, PHP, WSL, Markdown et plein d'autres choses : https://www.avonture.be
          Logiciel gratuit de scan antivirus : https://github.com/cavo789/aesecure_quickscan (plus de 45.000 virus détectés, 700.000 fichiers sur liste blanche)​

          Commentaire


          • #6
            Dans la même lignée mais en mieux PSPad

            Commentaire


            • #7
              Merci à vous deux, mais comme je l'ai dit, dans le cas actuel, il y a plus de 3000 lignes dont environ 300 à garder, donc marquer près de 2700 lignes, ce sera pire que copier-coller 300, non ?
              Mais ne vous cassez pas la tête : pas sûr que je ne laisse pas tomber...
              "Patience et longueur de temps font plus que force ni que rage..." (La Fontaine : Le Lion et le Rat) - "Il n'y a pas de problèmes; il n'y a que des solutions" (André Gide).
              MoovJla et LazyDbBackup sur www.joomxtensions.com - FaQ sur www.fontanil.info - Site pro : www.robertg-conseil.fr chez PHPNET, sites perso chez PlanetHoster + sites gérés chez PHPNET, PlanetHoster, Ionos et OVH

              Commentaire


              • #8
                J'ai une macro Excel qui supprimé une ligne si elle contient un terme.
                Je pense qu'il doit être aise de la modifier pour inverser son rôle et supprimer une ligne si elle ne contient pas ...
                Naturellement la macro supprime alors en une fois toute les lignes concernées.
                Je vois ça au bureau et te tiens informé. T'as Excel hein ?
                Cordialement.
                __
                Eddy !!!
                Tutoriels BreezingForms en Français : https://www.breezingforms.eddy-vh.com/

                Commentaire


                • #9
                  Merci Eddy. J'ai Excel, mais je n'ai jamais aimé m'en servir.
                  Tant qu'à faire, si je dois m'y lancer, je pense que je ferai un script PHP qui lira ligne par ligne le fichier d'origine et ne réécrira dans le fichier à adapter que les lignes contenant le(s) terme(s) à rechercher.
                  Mais comme dans le cas qui m'occupe actuellement, le même mot d'origine pourra être remplacé par des termes différents selon l'endroit où il sera utilisé (c'est nouveau...), ça complique encore les choses...
                  "Patience et longueur de temps font plus que force ni que rage..." (La Fontaine : Le Lion et le Rat) - "Il n'y a pas de problèmes; il n'y a que des solutions" (André Gide).
                  MoovJla et LazyDbBackup sur www.joomxtensions.com - FaQ sur www.fontanil.info - Site pro : www.robertg-conseil.fr chez PHPNET, sites perso chez PlanetHoster + sites gérés chez PHPNET, PlanetHoster, Ionos et OVH

                  Commentaire


                  • #10
                    Ah ouais... Si tu as besoin, n'hésite pas...
                    Cordialement.
                    __
                    Eddy !!!
                    Tutoriels BreezingForms en Français : https://www.breezingforms.eddy-vh.com/

                    Commentaire


                    • #11
                      Merci Eddy !
                      "Patience et longueur de temps font plus que force ni que rage..." (La Fontaine : Le Lion et le Rat) - "Il n'y a pas de problèmes; il n'y a que des solutions" (André Gide).
                      MoovJla et LazyDbBackup sur www.joomxtensions.com - FaQ sur www.fontanil.info - Site pro : www.robertg-conseil.fr chez PHPNET, sites perso chez PlanetHoster + sites gérés chez PHPNET, PlanetHoster, Ionos et OVH

                      Commentaire


                      • #12
                        Bonjour RobertG

                        J'ai l'impression que tu penses que c'est compliqué à faire aussi j'ai vite fait une démo.

                        J'ai ouvert le fichier de langue com_users et j'ai cherché "Code de vérification". J'ai fais un Rechercher - Marquer avec "marquer les lignes".
                        Notepad++ marque donc les lignes; on peut fermer la fenêtre de recherche.
                        Puis Recherche -> Signet -> Supprimer les lignes non marquées.

                        Et hop, c'est fait.

                        Toutes les chaînes de traduction avec "Code de vérification" sont récupérées, je n'ai plus qu'à sauver dans une surcharge.



                        Bonne journée
                        Eddy.vh et elecoest aiment ceci.
                        Christophe (cavo789)
                        Mon blog, on y parle Docker, PHP, WSL, Markdown et plein d'autres choses : https://www.avonture.be
                        Logiciel gratuit de scan antivirus : https://github.com/cavo789/aesecure_quickscan (plus de 45.000 virus détectés, 700.000 fichiers sur liste blanche)​

                        Commentaire


                        • #13
                          Merci Christophe pour cette démo !
                          "Patience et longueur de temps font plus que force ni que rage..." (La Fontaine : Le Lion et le Rat) - "Il n'y a pas de problèmes; il n'y a que des solutions" (André Gide).
                          MoovJla et LazyDbBackup sur www.joomxtensions.com - FaQ sur www.fontanil.info - Site pro : www.robertg-conseil.fr chez PHPNET, sites perso chez PlanetHoster + sites gérés chez PHPNET, PlanetHoster, Ionos et OVH

                          Commentaire


                          • #14
                            J'ai appliqué les instructions, modifié les termes spécifiques au site, collé les nouvelles chaînes et valeurs dans les fichiers "fr-FR.override.ini" de l'administration et du site, mais les substitutions ne sont pas prises en compte et quand j'ouvre les fichiers de substitution dans la gestion des langues, ils sont vides. Et si je crée une nouvelle substitution, elle remplace toutes celles que j'ai injectées dans le fichier.
                            J'ai vérifié avec notepad++; les fichiers sont bien en UTF-8.
                            Je ne comprends pas pourquoi Joomla! (3.9.1) ne les reconnaît pas. Quelle erreur fais-je ?

                            Pour compléter : j'envoie le fichier par ftp, je rafraîchis mon affichage du contenu du dossier, je vérifie les droits : 644. J'ouvre la substitution, je sélectionne le dossier site ou administration : le fichier de la langue choisie override disparaît !
                            Dernière édition par RobertG à 20/12/2018, 13h53
                            "Patience et longueur de temps font plus que force ni que rage..." (La Fontaine : Le Lion et le Rat) - "Il n'y a pas de problèmes; il n'y a que des solutions" (André Gide).
                            MoovJla et LazyDbBackup sur www.joomxtensions.com - FaQ sur www.fontanil.info - Site pro : www.robertg-conseil.fr chez PHPNET, sites perso chez PlanetHoster + sites gérés chez PHPNET, PlanetHoster, Ionos et OVH

                            Commentaire


                            • #15
                              Trouvé ! Un guillemet manquant à la fin d'une ligne.
                              Bizarre quand même qu'en simple lecture depuis le menu des substitutions ça déclenche une suppression sur le serveur.
                              "Patience et longueur de temps font plus que force ni que rage..." (La Fontaine : Le Lion et le Rat) - "Il n'y a pas de problèmes; il n'y a que des solutions" (André Gide).
                              MoovJla et LazyDbBackup sur www.joomxtensions.com - FaQ sur www.fontanil.info - Site pro : www.robertg-conseil.fr chez PHPNET, sites perso chez PlanetHoster + sites gérés chez PHPNET, PlanetHoster, Ionos et OVH

                              Commentaire

                              Annonce

                              Réduire
                              Aucune annonce pour le moment.

                              Partenaire de l'association

                              Réduire

                              Hébergeur Web PlanetHoster
                              Travaille ...
                              X