Plateforme multilingue
Bonjour,
Je n'ai découvert PluXml que très récemment mais je ne jure déjà que par lui.
Ainsi, je compte migrer les sites internet perso que j'ai déjà réalisé afin de bénéficier de plus de souplesse et de fonctionalité.
Toutefois, pour l'un d'entre eux, j'ai tâché d'écrire les articles en français et en anglais afin de toucher plus de monde. Je me demandais s'il était compliqué de concevoir quelque chose afin de permettre aux utilisateurs de passer d'un mode anglais au mode français. Les images seraient communes et lors de l'édition d'un article, on aurait 2 billets à remplir, par exemple.
Vous croyez que c'est envisageable?
Vous avez une idée du mode de fonctionnement de ce genre de chose, sinon?
Merci pour vos lumières
Fred
Je n'ai découvert PluXml que très récemment mais je ne jure déjà que par lui.
Ainsi, je compte migrer les sites internet perso que j'ai déjà réalisé afin de bénéficier de plus de souplesse et de fonctionalité.
Toutefois, pour l'un d'entre eux, j'ai tâché d'écrire les articles en français et en anglais afin de toucher plus de monde. Je me demandais s'il était compliqué de concevoir quelque chose afin de permettre aux utilisateurs de passer d'un mode anglais au mode français. Les images seraient communes et lors de l'édition d'un article, on aurait 2 billets à remplir, par exemple.
Vous croyez que c'est envisageable?
Vous avez une idée du mode de fonctionnement de ce genre de chose, sinon?
Merci pour vos lumières
Fred
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
Je ne sais pas si une telle fonctionnalité est prévue dans une MAJ future, mais si tu veux la bricoler ce n'est pas très compliqué, du moins au niveau du code pour enregistrer ça.
Il suffit d'ouvrir admin/article.php et de copier les champs que tu as besoin de traduire (tous ou presque?) en les renommant. Il faut copier toutes les lignes traitant les variables (elles sont les unes à la suite des autres, c'est facile) et les champs de formulaire appropriés, avec la disposition que tu veux sur la page. Ensuite il faut faire pareil dans le fichier lib/class.plx.admin: dans la fonction editArticle(), il faut copier et renommer les champs que tu veux ajouter. Idem dans lib/class.plx.motor, sur la fonction parseArticle(). Ensuite, tu prends lib/class.plx.show, et tu copies artChapo() et artContent(), etc. (ex: artTitle() pour le titre, artDate() si tu veux une date à l'anglaise, auquel cas il faut aussi des changements ailleurs…) sous un autre nom, en renommant les variables changées.
Pour la partie code ça devrait suffire, je pense; mais ensuite il faut que tu fasses un petit script dans le thème (ou pour faire propre: tu le mets dans un fichier du dossier lib/ et tu l'invoques dans le template) pour savoir quelle langue utiliser, et ensuite un opérateur conditionnel qui appelle soit la fonction qui récupère le texte français, soit l'autre.
Voilà, j'espère que ça peut t'aider un peu…
bon soirée
Oui cette fonctionnalité est dans la roadmap mais en cours d'abandon car pour l'instant PluXml n'est pas assez tourné vers l'international pour amener ce genre de fonctionnalité en natif.
On se serait orienté vers une usine à gaz...
Mes connaissances en programmation ne sont toutefois pas assez bonnes pour ne serait-ce qu'envisager émettre l'idée de peut-être se pencher sur un bricolage personnel.
Tant pis. J'ai pu faire sans jusqu'à présent, ce n'est pas un très gros soucis
En avance, excusez moi pour mon français qui n'est pas très bon. J'ai fait un traduction à l'espagnol pour mon site Web (pas fini encore) et je pense en faire mon site multilingue. S'il y a quelques idées je peux écrire un peu de
code sous votre modele. J'avais pensé en quelque chose comme des HashArrays... C'est mon premier experience en PHP, par contre j'utilise C++, Perl, AWK et Bash.
Par contre, traduire d'admin (ce qui permettrait à d'autres de l'utiliser) est une autre paire de manches, puisqu'il aurait fallu que ce soit prévu dans le code de départ… Il faudrait supprimer tous les éléments textuels dans les fichiers du dossier /lib et faire des feuilles spéciales pour chaque langage, avec par exemple des variables du genre $nom_de_la_fonction. Ca permettrait aussi de séparer code et contenu et ça éviterait d'aller trifouiller dans /lib dès qu'on veut changer une ligne générée automatiquement…
lib
- lang
-defaut
-fichier_fr.po
-en
-fichier_en.po
-es
-fichier_es.po
-ge
-fichier_ge.po
...
et sur index.php
if ($LANG="en")
include_once($PLX_LANG.'en/fichier_en.po');
elseif ($LANG="de")
include_once($PLX_LANG.'de/fichier_de.po');
else
include_once($PLX_LANG.'defaut/fichier_fr.po');
et sur fichier_lang.po
$nom_msg='traduction de msg';
Est'ce qu'il y a des autres idées? ça marche bien?
effectivement au niveau de l'internationalisation de la plateforme ça pourrait être pas mal, mais ce que la personne demande au début du topic serais de pouvoir créer plusieurs versions d'un même article en différentes langues, et ça me parait vraiment difficile à réaliser avec cette plateforme
Donc je conseillerais FredFred de ce tourner vers une plateforme plus apte à ces besoins (j'aurais bien donné des noms de CMS proposant cette fonctionnalité mais je n'en connais pas).
Je ne dis pas que ce soit léger, mais ça ne me semble pas infaisable. C'est vrai qu'avec un tel système, les mises-à-jour seront très amusantes puisqu'il faudra probablement relire les 2/3 du code pour ne pas effacer les modifications... mais ça ne me semble pas complexe au niveau des modifs à faire (il y en a juste beaucoup).
Je ne connais pas de CMS capables de faire ça, mais à mon avis s'il y en a ce sont des machines à gaz. Il me semble que SPIP ou autres ont probablement des possibilités du genre (c'est une supposition seulement) mais ce n'est pas tout léger.
Maintenant, j'ai une bonne raison de penser à te harceler ... Y aurait-il le soupçon d'un espoir que je puisse caresser l'idée d'obtenir la même chose?
C'est du travail personnalisé ou y a-t-il un moyen de récupérer l'architecture du site?
Merci pour la réponse, quelle qu'elle soit
Mon site perso est en cours de développement mais il permet de voir ce que l'on peut déjà réaliser point de vu plateforme multilingue avec PluXml.
lien vers mon site pluxml français/anglais
J'ai utilisé deux pluxml pour avoir une version française et anglaise que j'ai mis dans un répertoire /fr et /en.
A la racine de mon site j'ai mis un fichier index.php qui choisit la version en fonction de la langue du visiteur.
Dans mon template header.php, j'ai ajouté deux petits drapeaux dans l'entête qui permettent de changer de version.
L'administration marche avec le même mot de passe car j'ai fait une copie de mon pluxml français en anglais.
Je peux ainsi administrer mon site à partir de deux onglets dans firefox, ce qui me permet de maintenir en cohérence les identifiants des articles et catégories. Ainsi je peux créer mes articles en français en anglais en même temps.
Si vous avez des questions, vous pouvez les poster sur le forum.
Ajout dans header.php :
A bientôt
Nicolas
Nicolas75, ce que tu as fait m'intéresse. Je vais essayer de le mettre en place moi aussi.
Merci.
je vais devoir faire un site simple/vitrine, mais en 4 langues. J'étais parti sur un site bâti sur Pluxml, et avec cette modification, ça semble faisable. Mais il faut une install par langue, donc ? Est-il possible d'avoir une idée du code du fichier index.php à la racine du site ?
Pas grand chose de flagrant mise à part la modification du thème dans le footer.(lien du bas)
Le reste est à venir.
Juste un include dans index.php et tout le reste sous forme de plugins et bien sur les templates du thème pour la partie "publique".
L'admin on verras sur le champ lol
- x commentaires
- Fil des commentaires de cet article
- Fil des articles de cette catégorie
- le "a dit:" dans les derniers commentaires de la sidebar
- La question anti spam
- et voir le système de date.
soit pas grand chose.
Je tente cette fois l'administration et vous tiens au courant.
Ici j'aimerais remplacer "Pour la sélection..." et "Supprimer" par leur variable de langue que j'utilise de cette manière: Ps: Tester l'admin avec les login : admin/admin
A Savoir que je ne constate pas de hausse flagrante en ressource pour ce système.
je te propose d'essayer ce plugin jquery (utilisant google translate si mes souvenirs sont bons) : http://sundaymorning.jaysalvat.com/
perso, je trouve le concept sympa d'avoir un blog multi langues, mais le mieux est de gérer une seule installation.
mettre une "balise/marqueur" de la langue en php n'est pas insurmontable, mais faudra être très organisé, surtout pour la section administration
pourquoi ne pas gérer l'ajout d'articles/pages statiques en 2 langues via un fichier xml supplémentaire, traçant que telle id de page est fr ou pas ?
exemple :
* page static1 est fr quand un "sous-ID" == 01
* page static1 est en quand un "sous-ID" == 02
* page static2 est fr quand un "sous-ID" == 01
* page static2 est en quand un "sous-ID" == 02
* ...
ensuite dans l'administration mettre un sélecteur à côté du bouton d'édition (ou page intermédiaire.. ou autre...) pour choisir la langue de la page à éditer avant de l'éditer de façon à charger seulement le texte d'intérêt...
ce ne sont que des idées...
Peux tu la mettre en téléchargement ? Merci par avance.
Pour les articles oui j'imaginais plutôt une traduction en ligne de chaque article via id.
Pour l'admin je viens de faire tout le menu et je posterais le tout une fois fini et vu certaine phrases en dur dans un echo existant.
A décompresser dans le dossier "plugins" langues.zip - 0.01MB
Remplacer tout votre dossier admin par celui-ci admin.zip - 0.09MB.
A savoir que pour l'admin seul les fichiers : top.php, index.php, foot.php et les fichiers dans le dossier "sous_navigation" la traduction à été faite.
Donc si vous désirez m'aidez pour aller plus vite j'accepte volontiers .Et il fraudais que l'on me réponde sur ce fil http://forum.pluxml.org/viewtopic.php?pid=12170#p12170 sur la faisabilité.
Remplacer le thème par défaut par celui-ci defaut.zip - 0.02MB
Et pour finir ouvrez le fichier index.php de votre pluxml et ajouter au dessus de cette ligne:
Ceci:
Pour les articles, je ne pense pas qu'il faille faire une traduction automatique pour plusieurs raisons (mauvaise qualité de traduction mais surtout le manque de flexibilité dans l'adaptation du style). je pense qu'il faudrait opter soit: pour la duplication des champs avec '_langue', valeur récupérée par le cookie, ou avec un thème à part entière avec toujours la duplication des champs. De cette manière le style peut vraiment être intégré et personnalisé pour chaque langue.
En attendant, merci pour cette base. il me reste du chemin à faire pour mon nouveau site FR / EN, mais on avance...
@marama :
Oui j'avais utilisé cette technique pour faire ce site : www.orme-tiseau.com
je suis très très preneur de ta solution. Merci
Car pour le moment je ne vois aucune perte de performance dans le chargement des pages alors que c'est un hébergeur gratuit ou je fais les tests.
Car c'est sur que si Pluxml ce vois multilingue cela pourrais apporter un plus à la communauté.
Pour revenir aux modifications je t'avoue que faire de la duplication d'article fr/en voir d'autres langues je ne serais faire.
Après que la traduction soit de mauvaise qualité en passant par un site je te l'accorde, mais je pense que l'importance soit de comprendre les articles et il est vrai que babelfish de ce coté vaut pas grand chose, je pensé plus a un site comme Reverso.
Bon je continue les fichiers admin en attendant.
Le site gère 2 langues uniquement (fr/en) mais c'est assez simple.
Pour chaque article, le fichier XML possède 2 branches (une par langue), le fonctionnement reste identique pour les catégories, etc.
La langue je la récupère via l'URL
Car si tu as déjà fais ce genre de modification pourquoi ne pas le proposer ?
@fred: je pense que cela peut vraiment être un + pour pluxml si l'admin intègre la gestion de plusieurs langues (pour les articles, le nom des catégories, les pages statiques).
Bon ca fais une base mais je ne continuerais donc pas la traduction de l'admin, car on touche à gros et au pire vous avez un exemple.