Mettre à jour un vieux thème 4/4

Rédigé par GC-nomade 3 commentaires

Normalisé le thème en multilingue

Dans les articles précédents de cette série, nous avons ajouté au thème quelques fonctions d'affichages. Le fil d'Ariane, les mots clés, la liste de mots clés ainsi que celle des archives du blog.

Vous avez remarqué ces morceau de codes , comme $plxShow->lang('ARCHIVES'); qui affiche le mot en capital. C'est l'affichage par défaut lorsqu'aucun dictionnaire n'est trouvé.

Les mots que l'on retrouve dans les fonctions natives de PluXml sont toujours les mêmes. Si votre thème n'a pas besoin de traduction supplémentaire, un copier/coller du répertoire lang du thème par défaut est suffisant. Il y a plus d'une dizaine de langues disponible.

Aprés avoir ajouter le répertoire lang au thème, rafraichissez la page d'accueil.

Le fil d’Ariane n'affiche plus HOME / page mais Accueil / page, idem pour TAGS et ARCHIVES qui affiche respectivement mots clés et Archives. Maintenant, lorsque dans l'administration vous changerez la langue de votre Pluxml, ces mots seront traduits ou plutôt, extrait du fichier xx.php stocké dans le répertoire lang du thème.

Invoquons le YAKA

Ce thème est maintenant partiellement multilingue.Maintenant Il n'y a qu'a le rendre entièrement multilingue.

En éditant l'un des fichier de langues , ouvrez fr.php dans votre éditeur, on découvre dans le code un tableau. $LANG = array();
Ce tableau est composé de clés , écrite en majuscule avec en face en valeur , le texte à afficher. Les clés sont(doivent être) les mêmes dans tous les fichiers langues du répertoire, les textes en face sont les traductions.

un exemple

Regardez dans le fichier header.php du thème et cherchez si il y a un mot à traduire , entre le code PHP et HTM, il y a assez peu de mots en fait , les template sont des écrins pour les contenus qui y sont injectés.
Pluxml remplie cette jolie boite qu'est un thème pour présenter au monde entier vos créations à vous. :)
Il y en a même qui dise que c'est le meilleurs CMS au monde, sans preuves du contraire, c'est pour moi le casMyHumbleSelf

On y trouve le mots 'Accueil' dans la fonctions affichant le menu des pages statiques.

Il s'agit à coup sur d'un mot présents dans le(s) dictionnaire(s), vérifions

Contenu du fichier fr.php

$LANG = array(

#header.php
'MENU'						=> 'Menu',
'HOME'	=> 'Accueil',
'GOTO_CONTENT'			=> 'Aller au contenu',
'GOTO_MENU'				=> 'Aller au menu',
'COMMENTS_RSS_FEEDS'		=> 'Fil Rss des commentaires',
'COMMENTS'					=> 'Fil des commentaires',
'ARTICLES_RSS_FEEDS'		=> 'Fil Rss des articles',
'ARTICLES'					=> 'Fil des articles',

# sidebar.php
'CATEGORIES' 				=> 'Catégories',
'LATEST_ARTICLES'			=> 'Derniers articles',
'LATEST_COMMENTS'			=> 'Derniers commentaires',
'ARCHIVES'					=> 'Archives',

# footer.php
'POWERED_BY'				=> 'Généré par',
'PLUXML_DESCRIPTION'		=> 'Blog ou Cms sans base de données',
'IN'							=> 'en',
'ADMINISTRATION'			=> 'Administration',
'GOTO_TOP'					=> 'Remonter en haut de page',
'TOP'						=> 'Haut de page',

# erreur.php
'ERROR'					=> 'La page que vous avez demandée n'existe pas',
'BACKTO_HOME'				=> 'Retour à la page d'accueil',

# common
'WRITTEN_BY'				=> 'Rédigé par',
'CLASSIFIED_IN'				=> 'Classé dans',
'TAGS'						=> 'Mots clés',

# commentaires.php
'SAID'						=> 'a dit',
'WRITE_A_COMMENT'			=> 'Écrire un commentaire',
'NAME'						=> 'Votre nom ou pseudo',
'WEBSITE'					=> 'Votre site Internet (facultatif)',
'EMAIL'						=> 'Votre adresse e-mail (facultatif)',
'COMMENT'					=> 'Contenu de votre message',
'CLEAR'						=> 'Effacer',
'SEND'						=> 'Envoyer votre commentaire',
'COMMENTS_CLOSED'		=> 'Les commentaires sont fermés',
'ANTISPAM_WARNING'			=> 'Vérification anti-spam',

'REPLY'						=> 'Répondre',
'REPLY_TO'					=> 'Répondre à',
'CANCEL'					=> 'Annuler',

);

?>

Ce mot est bien là et on y trouve sa valeur dans la clé :HOME, pour que ce mot accueil soit affiché automatiquement dans la langue de PluXml, la fonction lang()est à utiliser, comme suit : $plxShow->lang('HOME');.

Dans le fichier du template header.php, remplacez : <ul><?php $plxShow->staticList('Accueil'); ?></ul> par <ul><?php $plxShow->staticList($plxShow->getLang('HOME')); ?></ul>. notez que le mot 'Accueil' est passé en variable dans des apostrophe comme une chaine de caractère, dans la fonction staticList(); . $plxShow->getLang('HOME') n'est pas une chaine de caractère , mais une fonction, les apostrophes ne sont pas à mettre pour que la fonction s'exécute.

Suivez l'exemple.

Il faut maintenant reprendre un a un les fichiers template du thème et rechercher ces mots à extraire de(s) dictionnaire(s). Le fichier de langue est commenté, et facilite la tache pour repérer ces mots.

Les traductions ne me conviennent pas ou ont des erreurs!

Pour changer, corriger ou modifier la valeur d'une traduction, il suffit simplement de modifier le texte(valeur) situé entre les apostrophes et d'enregistrer le fichier une fois la modification faite.
Attention si le texte modifié comporte une apostrophe, il faut la cacher (l’échapper) au code pour qu'elle soit interprétée comme faisant partie de la chaîne, la valeur stockée entre deux apostrophes, et n'ont pas comme la fermeture de cette valeur. Pour cela il faut la précéder d'une barre oblique : ce qui donne par exemple 'HOME' => 'Page d\'accueil', . notez la virgule pour indiquez au script de passer à la prochaine clé.

Pour vos premières modification, faites une copie du fichier avant de le modifier, une erreur de typo, un caractère d’échappement ou une virgule omise ou en trop arrive fréquemment.

Mon thème est-il normalisé maintenant

— Oui et non . Il n'y a pas de format de codage ni de structure de répertoire rigide imposé par PluXml pour un thème. Il y a cependant un minimum requis pour la compatibilité.

  1. Un fichier infos.xml
  2. Et a minima les fichiers suivants:
    • home.php
    • article.php
    • categorie.php
    • archives.php
    • static.php
    • tags.php
    • erreur.php
  3. Un repertoire lang ou y stocker les dictionnaires de langues pour un thème multilingue, avec au minimum le fichier fr.php pour un PluXml en français.

Les fichiers suivant sont aussi essentiels sino fortement conseillés pour les partie de codes redondantes de vos page et l'affichage des commentaires et de son formulaire.

  1. header.php
  2. sidebar.php
  3. footer.php
  4. commentaires.php
  5. un répertoire img pour les images du thème.

Pour le reste, cela dépend de votre organisation habituelle., des répertoires pour les styles, les scripts, etc. À vous de voir comment vous souhaitez organiser votre thème.Certains affublé de nombres de fonctionnalités embarque aussi leur script PhP ou font usage de plugins.

L'adaptation du thème perruche est juste une entrée en la matière, et ne présente que les fonctions de base du CMS PluXml dans leurs fonctionnements les plus simples.

Ces fonctions sont éprouvées et efficaces. Elles disposent quasiment toutes de points d'accroches (hook) qui permettent facilement, via de simples ou complexes plugins, ajouter, améliorer ou modifier le comportement de PluXml pour toutes sortes de besoin spécifiques, et les thèmes sont aussi un point d'entrée pour ces modifications.

Le est à propos de l'affichage des commentaires à partir d'un template externe à celui de l'article et embarquant des fonctionnalités supplémentaires.

"Si vous trouvez dans ce texte des fautes ou des erreurs, merci de me le signaler."GC-nomade

2 notes / moyenne 10

Hébergeur bénévole de ressources pour le CMS PluXml, un CMS en flat file propulsé à l'XML.

Mon site PluXml perso : re7net.com.

3 commentaires

#1  - jack3 a dit :

Excellent tutoriel qui parle bien aux utilisateurs qui ne maîtrisent pas le codage et c'est une très bonne idée d'expliquer les mots clefs du genre...

>...il faut la cacher (l’échapper) au code pour qu'elles soit interprétée comme faisant partie de la chaine (petite faute à "chaine". On écrit "chaîne") la valeur stockée entre deux apostrophe et n'ont pas comme la fermeture de cette valeur.
>...Elles disposent quasiment toutes de points d'accroches (hook).

Il ne s'agit pas d'apprendre le PHP aux visiteur mais de les familiariser avec des mots qu'ils trouveront dans le code source quand ils viendront à manipuler ces éléments.

Il faut continuer comme cela en ajoutant une petite phrase discrète en fin d'article précisant par exemple : "Si vous trouvez dans ce texte des fautes ou des erreurs, merci de me le signaler."

En tout cas, Bravo !!! :)

Jack

Répondre
#2  - jack31 a dit :

>...il faut la cacher (l’échapper) au code pour qu'elles soit interprétée comme faisant partie de la chaine (petite faute à "chaine". On écrit "chaîne") la valeur stockée entre deux apostrophe et n'ont pas comme la fermeture de cette valeur.
>...Elles disposent quasiment toutes de points d'accroches (hook).

Il y a aussi deux fautes aux mots apostrophe (manque le "s" et il y un en trop à "d'accroches".

Répondre
#3  - jack31 a dit :

Et pour finir ce premier "audit", signalons que l'antispam a quelques ratés (il y a des sujets concernant cela sur les forums) et qu'à la fin de chaque articles d'une série, tu pourrais mettre un lien "Lire la suite..." par exemple.

Il me semble qu'il y a un vieux plugin pour faire ça mais c'est parfaitement inutile. ;)

Répondre

Écrire un commentaire

Quelle est le cinquième caractère du mot azunpdw ?

Fil RSS des commentaires de cet article