[spip-dev] Salvatore et lecture / écriture de fichier

Bonjour,

Je bosse sur un plugin permettant de mettre trad-lang en plugin SPIP couplé à salvatore

Seulement il y a quelque chose qui est problématique dans le fonctionnement actuel de salvatore :

  • Lorsqu’il lit les fichiers pour les insérer en base, salvatore charge l’array du fichier et regarde si la chaine contient ou pour définir son statut (ligne 89 de lecteur.php) …

  • Lorsqu’il écrit les fichiers, il met ce statut en commentaire # NEW;

Si on souhaite donc importer ce fichier issu de salvatore dans un autre trad-lang, il ne peut donc pas détecter le statut.

Il est beaucoup plus simple de détecter le statut à même la chaine de langue cependant je ne sais pas ce que cela couterait en perf de remettre les et à même la chaine

Si quelqu’un a une idée pour gérer ce type de problème…

Une solution serait de générer un second fichier de langue complet qui serait un array bidimentionnel qui ne serait pas utilisé par SPIP mais serait un fichier de travail pour salvatore / trad-lang mettant à disposition l’ensemble des infos de chaque chaine de langue (ces fichiers pourraient être évités lors de la génération des paquets ensuite). Ainsi une chaine de langue pourrait apparaitre de la sorte dans ce fichier :

‘chaine_a_traduire’ => array(‘langue’ => ‘fr’, ‘str’ => ‘Version française de la chaine’, ‘modif’ => ‘2011-02-12 12:34:23’, ‘status’ => ‘NEW’…),

Qu’en pensez vous?

kent1

Il suffirait que salvatore soit un peu plus smart en posant un commentaire plus explicite comme
# chaine_a_traduire : NEW
ou
# chaine_a_traduire : MODIF

qui du coup serait facile a récuperer via un preg_match_all sur la source du fichier de langue.

Cédric