Empêcher traduction titre articles

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

  • Empêcher traduction titre articles

    Bonjour,

    Je dois insérer une balise notranslate pour empêcher les titres de mes articles d'être traduits par les modules de traduction.

    Savez-vous à quel niveau je peux trouver où mettre ma balise ?

    Merci d'avance.

  • #2
    Re : Empêcher traduction titre articles

    Bonjour,

    sauf erreur, notranslate est un attribut d'une balise meta.

    Qui dit balise meta dit en-tête de page ou tout au moins head part :
    Code:
    <meta name=”google” value=”notranslate” />
    C'est la partie d'un article qu'il est rigoureusement impossible d'accéder depuis l'éditeur d'articles de Joomla! Ne reste donc que deux possibilités :
    1) Surcharger la page .PHP qui génère ce type d'article
    2) utiliser un composant permettant d'insérer du PHP dans l'éditeur (JCE, tinyMCE etc...) le composant 'sourcerer' de nonumber remplit parfaitement ce genre de tâche, même avec sa version gratuite de base. http://www.nonumber.nl/extensions/sourcerer

    Cordialement
    Il y a 10 sortes de gens. Ceux qui savent compter en binaire et ceux qui ne savent pas ...

    Commentaire


    • #3
      Re : Empêcher traduction titre articles

      Bonjour Part de Gâteau (c'est le traducteur...)

      Merci pour ta réponse.
      Je vais étudier ça de très près.

      Commentaire


      • #4
        Re : Empêcher traduction titre articles

        Bonjour Johl,

        D'après Google (http://googlewebmastercentral.blogsp...e-barrier.html) :
        • La meta notranslate va empêcher de traduire toute la page.
        • La classe notranslate va empêcher de traduire un élément de texte, par exemple :
          <span class="notranslate">Texte à ne pas traduire</span>

        Si l'objectif est d'empêcher la traduction uniquement pour les titres des articles, il faudra insérer cette classe notranslate pour les titres dans les surcharges des vues utilisées des articles.

        Amicalement,
        Rajoz

        [MODIF 17:13]
        Petite note complémentaire :
        Si le code du titre est du type <h2 class="titre">Titre de la page</h2>
        Le code suivant ne va pas marcher : <h2 class="titre notranslate">Titre de la page</h2>
        Il faut mettre :
        <h2 class="titre">
        <span class="notranslate">Titre de la page</span>
        </h2>
        [/MODIF]
        Dernière édition par Rajoz à 31/07/2014, 16h13

        Commentaire


        • #5
          Re : Empêcher traduction titre articles

          Merci Rajoz pour tes recherches et ton exemple.
          Il faut que je me penche là-dessus.

          Mais peut-on le faire que pour "certains" articles ?

          Exemple : aucun article de la catégorie X ne doit avoir son titre de traduit.

          Commentaire


          • #6
            Re : Empêcher traduction titre articles

            Bonjour Johl,

            Dans la vue "un article" le titre de la catégorie est disponible donc il est possible de tester ce titre de catégorie pour ajouter ou pas la classe notranslate. Je n'ai pas vérifié dans les autres vues (blog, archive, featured, etc.) mais cela devrait aussi être faisable.

            Amicalement,
            Rajoz

            Commentaire


            • #7
              Re : Empêcher traduction titre articles

              Humm, cela ne m'a pas l'air tout simple.
              Il va falloir que j'étudie tout ça calmement.
              Merci encore pour ton aide.

              Commentaire


              • #8
                Re : Empêcher traduction titre articles

                oooppsss, merci Rajoz, à lire trop vite j'avais raté le notranslate partiel
                Il y a 10 sortes de gens. Ceux qui savent compter en binaire et ceux qui ne savent pas ...

                Commentaire


                • #9
                  Re : Empêcher traduction titre articles

                  Envoyé par Johl Voir le message
                  Humm, cela ne m'a pas l'air tout simple.
                  Il va falloir que j'étudie tout ça calmement.
                  Merci encore pour ton aide.
                  Bonjour Johl,

                  Ce n'est pas si compliqué

                  Je te propose une autre méthode que les catégories pour choisir quel titre doit être traduit ou pas. C'est d'utiliser le paramètre "Clé de référence" qui se trouve dans l'onglet Publication d'un article (en backend). Donc de choisir quel article doit avoir son titre traduit ou pas.

                  L'avantage d'utiliser un paramètre d'article comme Clé de référence c'est que celui-ci fait partie de l'article et est donc plus simple à retrouver dans les différentes vues des articles. Cela facilite la surcharge.

                  Ce paramètre n'est pas souvent utilisé voire pas du tout. Personnellement, je ne l'ai utilisé qu'une seule fois, c'était quand j'ai développé le composant pour la traduction en français de l'aide de l'administration de Joomla! (bouton Aide sur les pages de l'administration).

                  Voici en exemple la vue featured qui permet l'affichage en blog des articles en vedette et qui se place souvent en page d'accueil. Comme tu peux le voir les modifications sont limitées.

                  1) Préparation de la surcharge
                  J'ai choisi le template Protostar (c'est similaire avec d'autres templates) :
                  • création dans templates/protostar/html/ des sous-répertoires com_content/featured/
                  • copie des fichiers default.php, default_item.php et default_links
                    • depuis : components/com_content/views/featured/tmpl/
                    • vers : templates/protostar/html/com_content/featured/

                  2) Edition du fichier default_item.php copié dans le template

                  Ajouter le code suivant (en rouge) aux environs de la ligne 17 :
                  Code:
                  $info    = $this->item->params->get('info_block_position', 0);
                  
                  [COLOR=#ff0000]$xref  = strtolower($this->escape($this->item->xreference));
                  $xref1 = '';
                  $xref2 = '';
                  if ($xref == "notranslate") :
                      $xref1 = '<span class="notranslate">';
                      $xref2 = '</span>';
                  endif;[/COLOR]
                  ?>
                  Modifier le code pour l'affichage du titre (ajouts en rouge) sur les lignes 36 et 39 (lignes décalées après l'ajout précédent) :
                  Code:
                  <?php if ($params->get('link_titles') && $params->get('access-view')) : ?>
                      <a href="<?php echo JRoute::_(ContentHelperRoute::getArticleRoute($this->item->slug, $this->item->catid)); ?>" itemprop="url">
                          <?php echo [COLOR=#ff0000]$xref1 . [/COLOR]$this->escape($this->item->title) [COLOR=#ff0000]. $xref2;[/COLOR] ?>
                      </a>
                  <?php else : ?>
                      <?php echo [COLOR=#ff0000]$xref1 . [/COLOR]$this->escape($this->item->title) [COLOR=#ff0000]. $xref2;[/COLOR] ?>
                  <?php endif; ?>
                  Petit test de cette surcharge :
                  • Installation de Joomla! 3.3.3 avec les exemples en anglais : en page d'accueil sont affichés les articles en vedette Joomla!, Beginners, Upraders et Professionals
                  • Demande de traduction en français :
                    • Joomla! -> Joomla!
                    • Beginners -> Débutants
                    • Upgraders -> Valorisation (les charmes de la traduction Google )
                    • Professionals -> Professionnels

                  • Ajout de notranslate dans le paramètre Clé de référence (Key Reference) de l'article Beginners
                  • Demande de traduction en français : Beginners n'est pas traduit
                  • Ajout de notranslate dans le paramètre Clé de référence (Key Reference) de l'article Professionals
                  • Demande de traduction en français : Beginners et Professionnals ne sont pas traduits
                  • Suppresion de notranslate de l'article Beginners
                  • Demande de traduction enfrançais : seul Professionals n'est pas traduit

                  Amicalement,
                  Rajoz

                  Commentaire


                  • #10
                    Re : Empêcher traduction titre articles

                    Et bien Rajoz, que de travail tu as effectué !

                    Merci, c'est vraiment très sympathique de ta part !

                    Je vais essayer tout ça dans l'après-midi en essayant de ne pas tout casser

                    Je te tiens informé du résultat.

                    Encore un grand merci pour ton aide.

                    Commentaire


                    • #11
                      Re : Empêcher traduction titre articles

                      Bonjour Johl,

                      Tu ne risques pas de casser grand chose. C'est le gros avantage de la méthode de surcharge (override) avec aussi le fait que les modifications ne sont pas écrasées lors des mises à jour.

                      S'il y a un problème, il suffit de supprimer le fichier copié dans le template (celui que l'on a modifié) et Joomla! re-utilisera le fichier d'origine du composant qui lui n'a pas été modifié.

                      Pour la vue "Un article", la démarche et le code sont identiques à ceux de la vue "featured" :

                      Copie du fichier components/com_content/views/article/tmpl/default.php
                      vers templates/protostar/html/com_content/article/default.php

                      Modification du fichier copié dans le template :

                      a) Ajout du code en rouge aux environs de la ligne 37 :
                      Code:
                      if (!empty($this->item->pagination) && $this->item->pagination && !$this->item->paginationposition && $this->item->paginationrelative)
                      {
                          echo $this->item->pagination;
                      }
                      [COLOR=#ff0000]$xref  = strtolower($this->escape($this->item->xreference));
                      $xref1 = '';
                      $xref2 = '';
                      if ($xref == "notranslate") :
                          $xref1 = '<span class="notranslate">';
                          $xref2 = '</span>';
                      endif;[/COLOR]
                      ?>
                      b) Modification des deux lignes d'affichage du titre (ajouts en rouge) aux environs de la ligne 56 :
                      Code:
                      <?php if ($params->get('link_titles') && !empty($this->item->readmore_link)) : ?>
                          <a href="<?php echo $this->item->readmore_link; ?>" itemprop="url">
                              <?php echo [COLOR=#ff0000]$xref1 .[/COLOR] $this->escape($this->item->title) [COLOR=#ff0000]. $xref2[/COLOR]; ?>
                          </a>
                      <?php else : ?>
                          <?php echo [COLOR=#ff0000]$xref1 . [/COLOR]$this->escape($this->item->title) [COLOR=#ff0000]. $xref2[/COLOR]; ?>
                      <?php endif; ?>
                      Test sur l'installation de Joomla! en anglais avec affichage de type "Un article" :
                      • Le titre de l'article Beginners qui n'a pas le paramètre notranslate est traduit
                      • Le titre de l'article Professionals qui a le paramètre notranslate n'est pas traduit

                      Amicalement,
                      Rajoz

                      Commentaire


                      • #12
                        Re : Empêcher traduction titre articles

                        Voilà, fait. Cela a super bien marché : une fois.

                        Quand j'ai fait un F5, pouf, plus de blocage. C'est trop bête car cela a vraiment très bien marché au 1er coup.

                        Et maintenant, marche plus du tout. Ce qui est bizarre c'est que cela a marché une fois. Soit ça marche tout le temps, soit ça ne marche jamais (0 ou 1 en gros).

                        Alors j'ai fait autrement (mais ça m'embête car ton travail est super et était plus simple), j'empêche l'affichage du titre de l'article et je mets du code dans la description (ce qui est beaucoup plus fastidieux) :

                        Code:
                        <h2><span style="font-size: 16pt;"><strong><span class="notranslate">Le titre de mon article</span> </strong> </span>
                        </h2>
                        <p>La description qui suit. Lorem ipsum.</p>

                        En tout cas, merci beaucoup pour ton aide. Tu es très doué.

                        Commentaire


                        • #13
                          Re : Empêcher traduction titre articles

                          Bonjour Johl,

                          Explique un peu plus ta configuration :
                          • Quelle est la vue qui pose problème : featured ou article ?
                          • Quelle est l'installation de Joomla! (version, langue)
                          • Quel est le navigateur ?
                          • Puis-je avoir un lien sur le site que je puisse regarder ?

                          Pour comparaison, ma configuration de test :
                          • Joomla! 3.3.3 anglais avec les exemples en anglais
                          • Chrome 36 sur PC
                          • Sous Chrome je fais "Traduire en français" et je regarde quels titres d'article sont traduits ou pas. Je regarde, je regarde aussi par "Inspecter l'élément" si le span est mis ou pas pour le titre.
                          • Je reviens à l'anglais par F5 ou par "Afficher l'original".

                          J'ai répété de multiples fois les F5 ou "Afficher l'original" et "Traduire en français", je n'ai jamais eu de problème avec le blocage de la traduction des titres "notranslate".

                          J'ai continué à tester en surchargeant la vue blog de la même manière, j'ai donc maintenant les vues article, blog et featured qui fonctionnent sur mon site de test.

                          Ta solution doit bien fonctionner aussi. De toute façon, il faut ajouter quelque chose à l'article (notranslate dans le paramètre). Là tu dois changer le paramètre d'affichage du titre et ajouter du code et le titre dans le texte de l'article.

                          Amicalement,
                          Rajoz

                          Commentaire


                          • #14
                            Re : Empêcher traduction titre articles

                            J'ai mis dans featured et j'ai passé mes articles en featured
                            Je suis en 3.3.3 français
                            navigateur : firefox
                            Je suis en local

                            Oui, c'est ce qui est bizarre, c'est que cela a marché une fois.

                            Bien sur il faut aussi ajouter quelque chose avec ta solution, mais elle était quand même plus simple que la mienne.

                            Commentaire


                            • #15
                              Re : Empêcher traduction titre articles

                              Je recommence tout. Je te tiens informé.

                              Commentaire

                              Annonce

                              Réduire
                              Aucune annonce pour le moment.

                              Partenaire de l'association

                              Réduire

                              Hébergeur Web PlanetHoster
                              Travaille ...
                              X