- Statut : non résolu
- Ce sujet contient 12 réponses, 3 participants et a été mis à jour pour la dernière fois par
Flobogo, le il y a 11 années et 3 mois.
-
AuteurMessages
-
26 février 2014 à 11 h 04 min #534712
Bonjour,
Ma configuration WP actuelle :
– Version de WordPress : 3.8.1
– Version de PHP/MySQL : 5.4.24 / 5.5.36
– Thème utilisé : Zeeminty – Enfant
– Extensions en place : Akismet (2.5.9), File Renaming on upload (1.2), Forum_wordpress_fr (3.1), jonradio Private Site (2.10), Mes fonctions (1.0), Ninja Pages, Categories, and Tags (1.3.2), Post Thumbnail Editor (2.3.0), Theme My Login (6.3.9), WordPress Database Backup (2.2.4), WordPress Importer (0.6.1), WP-Optimize (1.6.1), WP Security Audit Log (0.6.3) … et Genealogy (1.2.1)
– Adresse du site : en local pour le test du plugin
– Nom de l’hébergeur : en localProblème(s) rencontré(s) : le plugin Genealogy n’a pas de traduction française. Je l’ai créée avec Poedit, mais soit elle n’est pas prise en compte, soit elle fait bugguer le plugin.
En détails :
Pour un site familial privé, j’ai besoin d’un plugin de Généalogie. Après en avoir testé deux ou trois autres, j’ai essayé Genealogy, bien qu’un peu ancien –> compatibilité assurée jusqu’à WP 3.5.2, non mis à jour depuis nov 2012Ce plugin n’avait ni traduction, ni même de fichier .pot mais il comportait les chaînes de traduction.
Avec Poedit, j’ai donc créé le fichier .pot (au passage, que faire quand il ne récupère pas toutes les entrées ?).
J’ai ensuite généré les fichiers .po et .mo que j’ai bien appelés genealogy-fr_FR.po et genealogy-fr_FR.moJusque là, tout allait bien, j’étais même fière de moi 😉
J’ai essayé plusieurs endroits pour mettre mes fichiers : à la racine du plugin, dans un dossier « language » que j’ai créé, puis dans celui de mon thème. Rien à faire, ma trad’ n’était pas prise en compte.
Je fouille sur le Net, et je finis pas trouver la page du Codex sur l’internationalisation des fichiers puis celle sur la fonction load_plugin_textdomain
Donc, je comprends qu’il faut rajouter ces lignes :
// AJOUT de la fonction traduction (Localization support)
function myplugin_init() {
load_plugin_textdomain( ‘genealogy’, false, dirname( plugin_basename( __FILE__ ) ) );
}
add_action(‘plugins_loaded’, ‘myplugin_init’);Je les ai mises directement dans le fichier genealogy.php
Et là, miracle, ma traduction apparaît enfin !Oui, MAIS … le plugin ne fonctionne plus correctement : les pages individuelles qu’il permet de générer pour la généalogie ne sont plus reconnues et aboutissent en erreur 404 :fire:
Que faut-il faire ? Y a-t-il un endroit spécifique dans le fichier .php où il faut mettre les lignes de code pour la fonction load_plugin_textdomain ?
Merci de m’aider, parce que là, j’en peux plus 😡
26 février 2014 à 13 h 53 min #940330Bonjour,
êtes-vous sûr que ce sont ces lignes de code qui provoquent le bug et non les diverses manipulations préalables ?
autre formulation: est-ce que si vous supprimez ces lignes de code, tout fonctionne normalement ?
26 février 2014 à 14 h 06 min #940331Il est possible que, par erreur, dans le .po, des variables aient été traduites. As tu par exemple bien gardé tous les %s, %$ et autres signes cabalistiques ?
Flobogo wrote:Avec Poedit, j’ai donc créé le fichier .pot (au passage, que faire quand il ne récupère pas toutes les entrées ?).Faire la mise à jour du fichier .po, via PoEdit il repasse dans les fichiers.
26 février 2014 à 21 h 59 min #940332Merci à vous deux de ces conseils.
J’ai fini hier soir à 02 h du mat’, je n’avais plus le courage de rien vérifier … et ce matin, ma 1ère idée était de venir appeler au secours ici 😉
En fait, PapiBoyington a vu juste : c’est un bug du plugin Genealogy qui ne fonctionne donc plus –> le lien ne se fait pas entre la liste des membres de la famille et la page individuelle de chaque membre qui aboutit en erreur 404.
J’ai donc travaillé pour rien à traduire ce plugin
Bon, pas tout à fait pour rien, j’ai appris à utiliser Poedit pour extraire les chaînes à traduire … et je note ta remarque, lumière de Lune : on peut « repasser » sur les fichiers pour rechercher d’autres chaînes à traduire.
Et le code de fonction d’internationalisation inséré dans le fichier .php principal du plugin était bon : j’ai revérifié aujourd’hui, après avoir d’abord tenté de recharger une version saine du plugin, j’ai reproduit le bug des pages 404, mais au moins, j’ai pu constater que ma traduction était bien prise en compte si je le remettais en place.Donc, ma question de départ est ✅
Hélas, je me retrouve sans plugin d’arbre généalogique. Je teste maintenant WP Family Tree, qui fonctionne bien … mais qui ne comporte aucune chaîne traduisible ! J’ai écrit à l’auteur … 😕
Est-ce possible de remplacer en dur dans tous les fichiers les mots que je veux traduire, par exemple « father » par « père« , etc … ?
Est-ce que ça ne risque pas de faire bugguer les fonctions du plugin (surtout avec les accents ?)26 février 2014 à 22 h 07 min #940333peut-être faudrait-il ouvrir un autre topic pour cette nouvelle question, non ?
26 février 2014 à 22 h 40 min #940334On reste quand même dans une question relative à la traduction d’un plugin. 😉
Bon, si besoin je poserai ma question dans un autre topic, mais si vous avez une piste … 😕
26 février 2014 à 22 h 51 min #940335En fait, plutôt que remplacer en dur, je teconseillerais de roucouler auprès du créateur du plugin « moi y’en a internationaliser ton plugin si toi vouloir, mais toi mettre mon boulot dans mises à jour »
Sinon tu refait la même chose à chaque mise à jour
Car le boulot d’internationlisation n’est pas beaucoup plus difficile que celui de « rechercher – remplacer », le remplacement est juste un peu plus complexe.
Mais quand tu sais que tu utilises __( ‘the string in english’, ‘textdomain’ ) pour générer une traduction et _e( ‘the string in english’, ‘textdomain’ ) pour l’afficher, tu as tout compris – en fait _e( est l’équivalent de echo __(
26 février 2014 à 23 h 27 min #940336Plutôt que « remplacer en dur » … « roucouler … en douce » ? 😆
L’idée est bonne, mais le gaillard coriace : il vient de répondre à mon mail qu’il voulait bien travailler sur l’internationalisation … si j’achète la version pro du plugin
C’est pas juste, alors que les anglophones peuvent profiter gratuitement de la version « free » :rolleyes:
Je roucoule de plus belle : j’ai répondu que je lui offrais la trad’ en français si lui offrait le fichier .pot, et que c’est ça l’esprit de wordpress , mais … pas sûr qu’il accroche :rolleyes:Bon, sérieusement, je comprends le principe des instructions __(‘quelque chose’, « textdomain’) ou _e pour l’afficher, mais mes compétences en PHP sont insuffisantes pour bien comprendre quand il faut utiliser l’un ou l’autre et ce qu’il faudra y mettre.
Donc, coder en dur, c’est pas bien, mais est-ce possible ?
27 février 2014 à 2 h 21 min #940337Et le deal inverse ? tu lui fais l’internationalisation contre la version pro ?
27 février 2014 à 7 h 58 min #940338ça me semblerait un bon deal 😎
27 février 2014 à 11 h 03 min #940339Oui, ce serait un bon deal si j’étais capable de faire l’internationalisation.
Mais j’ai regardé hier soir : autant il y a certaines chaînes facile à repérer et je saurais mettre le _e mais c’est surtout le cas côté admin’. Par contre, dès que les chaînes à traduire sont incluses dans des fonctions ou des « commandes » en PHP (ce qui est le cas pour le côté visiteur, puisque c’est le fonctionnement même du plugin), ça me dépasse et j’aurais peur de tout casser.
Si je dois tester ma tentative d’internationalisation à chaque virgule, j’en ai pour des mois !!Et le concepteur du plugin accepte mon petit deal : internationalisation contre traduction en français … mais pas avant le printemps. Je n’ai plus qu’à m’armer de patience, si c’est fait pour avril, ça me va.
Au pire, je vais essayer de traduire « en dur » les quelques mots qui posent problème côté visiteur … si j’arrive à les repérer précisément dans les différentes fonctions.
Pour finir, un petit :hs:
Lumière de Lune, pourrais-tu retourner sur ce topic là ? Pour l’instant, j’utilise un plugin, mais je pense qu’avec un petit coup de pouce je pourrais me débrouiller sans.27 février 2014 à 11 h 13 min #940340Fait ^^
1 mars 2014 à 22 h 26 min #940341Bonsoir,
Juste pour dire qu’à titre provisoire, j’ai traduit en dur (dans le fichier class.node.php du plugin WP-Family-Tree que j’utilise finalement) les expressions clés qui apparaissent côté visiteur –> traduire « father » et « mother » et autres petites choses comme ça, c’était quand même à ma portée :happy:
Après tout, je m’en f— que l’admin’ du plugin soit en anglais puisque j’ai réussi à m’en servir.
Comme ça, si le créateur du plugin internationalise, tant mieux, sinon tant pis.Et merci pour le coup de main sur l’autre topic, qui est résolu 😎
Pour celui-ci également, on peut marquer ✅
-
AuteurMessages
- Vous devez être connecté pour répondre à ce sujet.