/themes/xxx/lang/* et /core/lang/core/fr/*

iGoriGor Member
Bonjour,

Je suis en train de me bidouiller un thème pour mon futur pluxml qui va remplacer mon wordpress. J'ai d'abord fait une copie du thème défaut, l'ai renommé, modifié quelques fichiers .php et la feuille de style.css. Je remercie chaleureusement les développeurs de pluxml, parce que c'est relativement simple à aborder pour un non connaisseur comme ma pomme !

J'ai voulu modifier le message concernant le lien vers les fil RSS des commentaires, des commentaires de tel article, de tel catégorie ou tag. Et je n'ai rien trouvé dans le fichier /themes/montheme/lang/fr.php. En fouillant sur le forum, j'ai trouvé [topic=3758]une discussion[/topic] qui parle de ce sujet, ce qui m'a permis de trouver le fichier core.php qui est dans /core/lang/core/fr/. Dans ce dernier, on trouve tous les messages qui m'intéressent.

J'ai fait une copie des messages que je veux changer, les ai collés dans /themes/montheme/lang/fr.php, et apporté les modifications désirées. Sans succès : c'est toujours le texte qui est dans le core qui s'affiche.

Ma question est : quelle est la meilleure méthode pour modifier ces textes ?

Réponses

  • Oui, tu ne pourras pas les modifier ainsi car la fonction de langue définie des constantes dont les noms correspondent aux index du tableau de langue et dont la valeur est la traduction de ces index.
    Si la constante est déjà définie, elle ne le sera pas une deuxième fois.

    Du coup, sauf à modifier le fichier du core (et ça çaylemal), je ne vois pas comment faire. Si Stéphane a une idée???
  • Merci pour la réponse.
    C'est bien ce que je pensais, donc je n'ai pas suivi la piste de la modification du fichier du core. On va donc attendre de voir si Stéphane a une idée... ;)

    Du coup je vais pourvoir plancher sur un autre problème, qui n'a pas grand'chose à voir avec pluxml, mais plutôt avec le CSS et @font-face... :/
  • Ah, fais attention au chemin pour les font-face...
  • chrisschriss Member
    octobre 2013 modifié
    Bonjour,
    iGor a écrit:

    Du coup je vais pourvoir plancher sur un autre problème, qui n'a pas grand'chose à voir avec pluxml, mais plutôt avec le CSS et @font-face... :/

    dans les @font-face chaque navigateur à son propre format de fichier (.ttf n'est pas lu par IE9 et safari...)

    à lire: http://css.mammouthland.net/css3/font-face.php

    tu peut aussi utiliser les google fonts: http://www.google.com/fonts

    et si tu utilise des .TTF libre de tout droit tu as squirel pour créer ton fichier en different formats
    http://www.fontsquirrel.com/tools/webfont-generator
  • chrisschriss Member
    octobre 2013 modifié
    re,

    si tu as un problème de @font-face dans ce fichier CSS
    [== CSS ==]
    @font-face {
      font-family: "Cantarell";
      src: url("fonts/cantarell/Cantarell-Regular.ttf");
    }
    @font-face {
      font-family: "Cantarell";
      src: url("fonts/cantarell/Cantarell-Bold.ttf");
      font-weight: bold;
    }
    @font-face {
      font-family: "Cantarell";
      src: url("fonts/cantarell/Cantarell-Oblique.ttf");
      font-style: italic;
    }
    @font-face {
      font-family: "Cantarell";
      src: url("fonts/cantarell/Cantarell-BoldOblique.ttf");
      font-style: italic;
      font-weight: bold;
    }
    
    

    normal !!! comment veut tu que [body] par exemple, utilise la bonne fonte puisque toutes les font-family se nomment "Cantarell". ??
    Il faut que tu modifie le nom de chaque font-family.
    Tout cela en plus de ce que j'écris dans mon précédent message....
  • Merci pour vos réponses. Pour le moment le problème des fontes est en voie de résolution et mon site pluxml est en ligne. Je vais faire un retour sur la fin de ma migration et la constitution de mon thème. Mais je vais être assez occupé les prochains jours.

    Mais mes problèmes de fontes étaient surtout liées à un fichier qui ne se chargeait pas, un woff que j'avais téléchargé chez www.linuxlibertine.org J'ai sérieusement eu l'impression que le problème venait du fichier lui-même. Là, avec Cantarell, ça à l'air de fonctionner correctement. La dernière remarque de chriss me semble assez intéressante. Mais ça voudrait dire qu'il faut déclarer autant de police que de style ou poids ?
  • chrisschriss Member
    octobre 2013 modifié
    iGor a écrit:
    .....
    La dernière remarque de chriss me semble assez intéressante. Mais ça voudrait dire qu'il faut déclarer autant de police que de style ou poids ?

    Oui! Prenons l'exemple de Cantarell. Le 1er pas besoin de changer de nom pour l'attribut font-family, le 2ème CantarellB, le 3ème CantarellO et le dernier cantarellBO.
    Bien sûr cela prends du poids sur la page, au chargement.
  • Ok, merci pour tes explications ! :)
  • iGoriGor Member
    Première remarque : je constate une fois de plus que d'avoir plusieurs discussion dans le même fil, c'est pas terrible : mea culpa.

    Deuxième : je réanime cette discussion morte, parce que le coup de la difficulté de modifier les constantes de langues, c'est assez contraignant, je trouve. Dans le cas du français, la plupart des constantes sont déterminées par le /core/lang/fr.php, du coup je vois pas trop à quoi sert le /themes/mon_theme/lang/fr.php

    Je me demande dans quelle mesure plxShow-lang pourrait aider : plxShow-lang. Y aurait-il moyen de dire à pluxml d'aller chercher les valeurs de langues dans le fichier du thème ?

    Merci :)
  • bonjour

    ce serait intéressant cette fonctionnalité:
    si core.LANG.php existe dans le thème par défaut, on l'utilise sinon on utilise core/lang/LANG/core.php

    en cas de besoin, il suffirait de copier le fichier original dans le thème, le renommer par exemple core.fr.php, et il sera prioritaire.

    application, dans class.plx.motor.php, remplacer la ligne 74:
    [== PHP ==]
    //initial, ligne 74		loadLang(PLX_CORE.'lang/'.$lang.'/core.php');
    		$langCore = PLX_ROOT.$this->aConf['racine_themes'].$this->aConf['style'].'/lang/core.'.$this->aConf['default_lang'].'.php';	//éventuel fichier core.LANG.php dans thème
    		if ( ! file_exists($langCore) ) $langCore = PLX_CORE.'lang/'.$lang.'/core.php';		//si le fichier personnalisé n'existe pas, on prend celui du core/
    		loadLang($langCore);		// on charge le fichier voulu
    

    à l'occasion, je ferai un pull request
  • StéphaneStéphane Member, Former PluXml Project Manager
    Ne mélangez pas ce qui est du core de PluXml et ce qui lié au thème.
    S'il y a une gestion des fichiers de langue dans le dossier du thème c'est pour faire un thème multilangue (puisque PluXml gère 10 langues par défaut) indépendamment des traductions gérées nativement par PluXml. C'est pour permettre au concepteur de thème de rendre son thème compatible et distribuable dans plusieurs langues. Rien de plus.
    S'il fallait copier les fichiers de langues dans le dossier du thème, cela demanderait à gérer les versions et les mises à jour du thème lors des sorties de PluXml. 9 chances sur 10 pour que ce soit jamais à jour.

    Consultant PluXml

    Ancien responsable du projet (2010 à 2018)

  • oui, mais ce serait une option possible, non recommandée, non officielle (je ne parlais pas de déplacement de fichier, juste un ajout en préservant le coeur) réservé à certains hardeurs, à charge pour eux de gérer leur mises à jour. mais c'était qu'une suggestion.
  • iGoriGor Member
    Merci pour vos réponses et mes excuses pour mon propre délai de réaction.

    Mon souci, c'est comment faire pour modifier certains éléments textuels dans mon thème. J'ai bien compris que si je touche au core, lors de la mise à jour ça posera problème. Je cherche donc à éviter d'y toucher. Seulement, actuellement, il y a pas mal d'éléments textuels que je ne peux pas paramétrer. Au mieux, je peux supprimer ces éléments ou les afficher.
  • StéphaneStéphane Member, Former PluXml Project Manager
    Bonjour iGor
    Pourquoi ça te pose un problème de mettre les elements de ton thème à traduire dans /themes/xxx/lang/*
    C'est justement fait pour ça

    Consultant PluXml

    Ancien responsable du projet (2010 à 2018)

  • iGoriGor Member
    Bonjour Stéphane,

    Ah, ben ça ne me gêne pas du tout, bien au contraire. Le truc est que certains éléments de texte, j'ai beau les changer dans /themes/xxx/lang/, le changement n'est pas pris en compte. J'ai essayé de changé le texte du flux RSS au fond de chaque article, par exemple, sans succès. De même, je voudrais modifier le texte de la pagination, et je n'y arrive pas avec la méthode orthodoxe.

    J'ai bien réussi certaines modification avec cette méthode. Là comme ça, je n'arrive plus à me souvenir de quel élément, mais j'ai bien édité /themes/xxx/lang/fr.php et tout s'est bien passé.
Connectez-vous ou Inscrivez-vous pour répondre.