[spip-dev] Plugin Import/Export de .PO

Hop,

Bon, voilà donc. J'ai joué avec les PO hier et aujourd'hui, puisqu'on en a discuté sur IRC je ne sais même plus pour quelle raison.

Leur avantage est que de nombreux outils d'édition existent pour ces fichiers PO.

Il se trouve que la fonction gettext() de PHP n'est pas du tout adapté pour utiliser, directement dans SPIP des fichiers .po (ou .mo) (je n'ai même pas réussi à utiliser la fonction gettext() d'ailleurs !). Plusieurs raisons à cela :
- aucune façon de lister les chaines disponibles
- la fonction retourne toujours du contenu (au moins celui qu'on lui passe), ce qui fait que c'est impossible de déterminer si la fonction a traduit ou non le texte.

Hormis le système de détermination des pluriels (qui est mieux en .PO/gettext car on peut écrire la formule mathématique de détermination du type de pluriel correspondant à la langue), je crois que notre système de fichiers de langue est plus pratique pour son utilisation en PHP.

Bref. Nous avons suggéré avec Fil de réaliser un transformateur de fichiers .PO en fichiers SPIP, et vice versa. Voici donc, sur la zone un premier prototype fonctionnel (http://zone.spip.org/trac/spip-zone/changeset/41660).

Je n'ai pas trop de temps pour m'en occuper en détail ou le paufiner, mais si vous pouvez jouer un peu avec et tester, voir ou imaginer ce que l'on peut en faire au bout du compte... n'hésitez pas à en causer :slight_smile:

Matthieu.

Yop,

Kent1 et moi-même avions commencé des travaux sur l'interface de tradLang dans le but de l'améliorer et de favoriser les échanges entre traducteurs.
Donc on fout tout ça à la poubelle et on repart vers les .po avec les interfaces standard existantes ?

Bah non !

Il y a deux choses :
- d'une part, les .po ne peuvent pas être utilisés directement par SPIP (avec les fonctions PHP gettext() prévues du moins) ; il n'y a donc pas de raison de s'orienter vers une utilisation de .po à la place de nos fichiers de langues actuels.
- il existe de nombreux logiciels, toutes plateformes confondues, pour éditer des .po

Partant de ce constat, un traducteur .po <> .spip a tout lieu d'exister.

Je ne vois pas pourquoi tu sembles t'affoler de cette arrivée. Ce plugin peut très bien intégrer tradLang, ou s'intégrer je ne sais comment quelque part.

Qu'est-ce qui te chiffonnes ?

Rien me chiffonne, je ne voyais pas l’architecture globale d’utilisation entre les .po et les fichiers de langue SPIP. D’ailleurs c’est pas encore clair comment on rapatrierait un .po dans TradLang.

Mais je ne m’affolait pas, c’était une vraie question pas un troll :wink: