Re: [Galette-devel] Traduction plugin |
[ Thread Index |
Date Index
| More lists.galette.eu/devel Archives
]
Salut,
Le 02.03.2017 20:01, Amaury a écrit :
Ou de faire un truc encore plus crade: mettre le texte en dur tant
qu'on y est mais:
Hou, malheureux ! :D
Le 2 mars 2017 à 18:25, André Lefranc <a.lefranc@xxxxxxxxxxx> a
écrit :
Il est possible de modifier le local_lang ou lang_local (chercher
les fichiers semblables)
Confer
http://galette.eu/documentation/fr/usermanual/avancee.html#ajout-et-modification-de-chaines
Ce mécanisme est prévu pour potentiellement surcharger les traductions
de Galette. Je ne sais même plus si c'est applicable aux plugins (ça
fonctionnera peut-être en 0.8, mais clairement plus en 0.9). Bref ; ce
n'est pas une bonne idée à moyen terme, d'autant plus qu'un plugin ne
peut distribuer ces fichiers (ils ne seront pas à la bonne place).
essayes de voir dans le menu configuration/traduction des libellés
si
tu vois des champs à traduire. (il faut se connecter en mode
admin).
C'est la façon la plus simple.
Pour un plugin, ce n'est pas vraiment envisageable (à moins d'admettre
que les utilisateurs du plugin doivent d'abord traduire les chaînes... À
vous de voir hein :D).
Ce n'est pas prévu pour ça dans tous les cas.
J'ai vu que j'avais déjà rencontré ce "souci" ... A l'époque,
j'avais édité le fichier "lang_french.php" de Galette ...
Ça marche, mais je doute que ce soit une "bonne manière" de faire
!?...
La règle est simple : ne jamais toucher aux fichiers de Galette ! :p
(voir le lien fourni plus haut).
Côté développeur, la traduction n'est pas une affaire facile de
mon
point de vue.
Tout est une histoire de point de vue... La trad n'est pas forcément des
plus simples ; mais personne n'a jamais voulu traduire, ni travailler à
la simplification... De fait, étant le seul vrai utilisateur du système
et l'existant me convenant... Pourquoi changer ?
Du coup, j'ai toujours peur de voir Johan venir la nuit pour me
flageller ! ... ^^
Et tu as bien raison :D
Bon, j'ai pas vraiment le temps de développer davantage pour le moment
(ni le courage je dois bien l'avouer) :
- les trads sont basées sur gettext, c'est standard (je vous laisse
chercher les liens qui vont bien);
- le Makefile ne permet que d'automatiser certaines opérations, qui
seraient parfaitement réalisables avec des outils standards
(utilisateurs de windows... bah, installez cygwin, hein :D).
En gros, les étapes :
1- extraction des chaînes depuis les fichiers (à moins que vous ne
préfériez le faire à la main ; dans Galette et d'autres projets, c'est
un peu impensable),
2- conversion des chaînes extraites dans un fichier POT (voir la doc
gettext),
3- mise à jour (ou création [1]) du fichier PO pour chaque langue (voir
la doc gettext),
4- traduction des chaînes dans les PO (bah oui, faut bosser un peu -
voir poedit),
5- extraction des chaînes des PO dans des fichiers PHP (pour "simplifier
la vie" des utilisateurs uniquement !) [2]
Bon, clairement, ce n'est pas forcément super simple.
L’internationalisation ne l'est **jamais** ; avec la meilleure volonté
du monde, je ne serait pas en mesure de faire vraiment beaucoup mieux.
(BTW, pour les esprits "chagrins" : une partie du process automatisé par
le makefile est basé sur du Python - qui est disponible sous windows).
J'ai tenté il y a quelque temps de passer par un système de trad en
ligne ; ça n'a pas intéressé grand monde (et ça ne simplifie pas
forcément beaucoup la vie des développeurs d'ailleurs).
Plusieurs solutions :
1- documenter proprement et entièrement le process,
2- essayer d'améliorer/modifier le système actuel pour que tout un
chacun puisse l'utiliser (pas forcément incohérent avec le 1),
3- utiliser des fichiers PHP uniquement et les remplir à la main (bon
courage),
4- ne pas traduire (à savoir : la langue de base des traductions, ce
n'est pas le français -- ça ne marche pas... râler sur gettext pour le
coup).
Une solution simple qui devrait fonctionner : utiliser le contenu du
répertoire "lang" d'un plugin officiel existant, et lancer un make
(encore une fois pour windows... ... ... bah, installez cygwin, hein
:D).
[1] la création des fichiers n'existe que dans l'actuelle version de
développement.
[2] ce dernier point pourrait être évité, au prix d'un dépendance
supplémentaire... À voir, car ça pourrait remettre en cause le système
de surcharge également :/
Pour conclure : oui, c'est relativement complexe. C'est difficile de
vraiment faire mieux.
Le système est certes perfectible ; ça sera toujours dans certaines
limites... Pour travailler au quotidien avec ce genre de choses à gérer,
je peux vous assurer que ce n'est jamais une sinécure :(
Cela étant dit :
- je ne documenterai pas davantage pour le moment (pas le temps, pas
l'envie - cela fait des années que je demande de l'aide pour la doc --
et pas que pour le développement -- je ne peux pas tout maintenir seul),
- je n'utilise pas (et ne compte pas utiliser) windows ni mac ; je ne
suis pas en mesure de dire comment faire sur ces systèmes.
Voilà voilà !
++
--
Johan
--
Galette development - http://galette.eu/
List documentation: https://listengine.tuxfamily.org/lists.galette.eu/devel/