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/


Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/