Affichage langue arabe
lebuzz35
Member
Bonjour, je travaille actuellement dans un pays de langue arabe (langue nationale) et j'utilise pluxml pour des sites simples de contenu. Ça se passe bien sauf que je dois impérativement afficher les contenus et le site en multilingue et notamment en langue arabe. Le problème se pose sur l'affichage du contenu de droite à gauche (comme le menu) et ce, de manière fiable et propre. J'ai travaillé le code des classes de pluxml (plx.show), notamment pour sur les fonctions liées aux pages statics en langue arabe en ajoutant une balide "<p dir="rtl"> devant l'affichage des textes. Mais ce n'est pas satisfaisant et la structure de pluxml est mal adaptée à cela (ou alors passer par un CSS spécifique ?). A noter que je souhaite avoir aussi d'autres langues possibles pour le site (notamment anglaise).
Ce que je recherche c'est un nouveau plugin qui permettrait de faire cela, couplé avec le plugin multilingue éventuellement (Multilingue v0.7.1).
Y a t-il une réflexion actuellement sur le sujet ? Cela pourrait donner un bon coup de fouet (dans le bon sens du terme) à Pluxml... :-) qui reste intéressant pour les petits sites à contenu.
Je peux aider à la réalisation de ce plugin éventuellement.
Ce que je recherche c'est un nouveau plugin qui permettrait de faire cela, couplé avec le plugin multilingue éventuellement (Multilingue v0.7.1).
Y a t-il une réflexion actuellement sur le sujet ? Cela pourrait donner un bon coup de fouet (dans le bon sens du terme) à Pluxml... :-) qui reste intéressant pour les petits sites à contenu.
Je peux aider à la réalisation de ce plugin éventuellement.
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
un des bases des sites avec plusieurs langues est d'encoder tous les textes en UTF-8. cela ne te pose pas de problème pour ça ?
ensuite montre un exemple de problème que tu rencontres, peut-être qu'on trouvera des solutions petits pas par petits pas.
[em] **/
public function defaultAffiche() {
if ($this->plxMotor->aConf == "eg")
return " dir='rtl'";
}
[/em]
Cette fonction permet d'initialiser la directive RTL afin d'aligner à droite un texte qui aurait comme balise <p dir='rtl'>. Par exemple, ligne 1358, ça donne :
[em]echo "<p ".$this->defaultAffiche().">" . L_STATICCONTENT_INPROCESS.'</p>';[/em]
Mais le pb est qu'il faille modifier la lib de pluxml et cela ne devient plus standard. Néanmoins, je suis parti sur cette option et donc à chaque fois qu'il y a un affichage, je vais devoir placer cette variable juste après "echo"... pas top, j'en conviens !
Avez-vous une autre idée ?
Et si tu changes l'ordre d'affichage des pages statiques en modifiant la valeur dans la colonne "Ordre" sur la page de gestion des pages statiques.
Est-ce que ça ne pourrait pas faire l'affaire ?
Consultant PluXml
Ancien responsable et développeur de PluXml (2010 à 2018)
En fait, il faudrait changer le template/thème/css en cliquant sur la langue désirée...
HTML : <p class="menu <? echo $lang;?>"" </p>
avec lang = fr ou ar
Côté CSS
Je ne connais pas dir='rtl'
Au niveau du fichier header.php tu pourrais donc avoir
Consultant PluXml
Ancien responsable et développeur de PluXml (2010 à 2018)
direction = right to left
Consultant PluXml
Ancien responsable et développeur de PluXml (2010 à 2018)
Merci.