Re: [Galette-devel] Traduction plugin |
[ Thread Index |
Date Index
| More lists.galette.eu/devel Archives
]
Bonjour,
Et un grand MERCI à tous ! :D
J'ai lu, avec attention, toutes vos remarques !
Je ne désespère pas de faire tout proprement plus tard ... Mais, actuellement, ce que j'ai fait :
Malgré les avertissements, j'ai édité le "lang_french.php", du répertoire "lang" du plugin, en ajoutant les lignes "$lang['Return'] = 'Retour';".
Je sais que ce n'est pas beau, mais ça a l'air de fonctionner ...
Et puis, ce n'est pas beau de mentir non plus ! Alors je préfère avouer ... Dussè-je être flagellé jusqu'à la fin de ma vie !... :P
@++
Fred
----- Mail original -----
De: "Johan Cwiklinski" <johan@xxxxxxxx>
À: devel@xxxxxxxxxxxxxxxx
Envoyé: Jeudi 2 Mars 2017 20:49:38
Objet: Re: [Galette-devel] Traduction plugin
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/
--
Galette development - http://galette.eu/
List documentation: https://listengine.tuxfamily.org/lists.galette.eu/devel/