Dans Langonet, tu peux regarder dans langonet_utils.php de la version trunk/ en cours (nouvelle version en préparation)
Ah bah, à propos ça aurait été pas mal de créer un trunk et des branches pour Plugonet, notamment quand plugin.xml (i.e. ce qui tournait en 2.1) a été remplacé par paquet.xml.
tu as les regexp :
if (!defined('_LANGONET_PATTERN_FICHIERS_LANG'))
define('_LANGONET_PATTERN_FICHIERS_LANG', '_[a-z]{2,3}\.php$');
if (!defined('_LANGONET_PATTERN_FICHIERS_LANG_FR'))
define('_LANGONET_PATTERN_FICHIERS_LANG_FR', '_fr\.php$');
if (!defined('_LANGONET_PATTERN_CODE_LANGUE'))
define('_LANGONET_PATTERN_CODE_LANGUE', '%_(\w{2,3})(_\w{2,3})?(_\w{2,4})?$%im');
et le code des fonctions trouver_module_langue() et creer_selects(). Ca marche bien mais si on avait un module foo_xx_fr dont le module de langue est foo_xx ça poserait un souci car je considère que les codes de langues sont sur deux ou trois caractères.
Oui c'est insatisfaisant, d'autant qu'ISO 639-6 autorise maintenant 4 caractères.
J'avoue que le tiret aurait ma préférence car il rend la détermination de la langue certaine.
En fait le choix entre tiret ou souligné n'est vraiment pas clair car le RFC 5646 utilise le tiret pour séparer la langue et sa variante. L'essentiel pour nous n'est donc pas de discuter lequel est le mieux, mais seulement de faire un choix. Dans la mesure où ecrire/lang utilise le souligné pour les variantes de langue, il faut l'interdire dans les noms de module, et y autoriser le tiret pour pouvoir structurer les modules de langue d'un plugin.
Maintenant, ça veut dire modifier certains plugins.
Si on envoie un mail sur spip-zone disant qu'on va faire "svn rename" sur le millier de fichiers concernés sur la zone en expliquant pourquoi c'est nécessaire, ça ne devrait poser des problèmes que pour ceux qui ne lisent pas cette liste ou qui ne développent pas sur la zone, sont-ils si nombreux ? En revanche, avant la sortie de versions officielles, il faut modifier le phraseur dans les versions actuelles pour qu'il accepte les 2 caractères afin de ne pas créer d'incompatibilités tout en pouvant poursuivre le développement.
Ce qui est plus embêtant c'est que celle de SPIP.net est fausse sur ce sujet des modules de langue ! voir l'article http://www.spip.net/fr_article2128.html paragraphe "Technique"
Fausse, ce n'est pas le terme qui convient: il est dit de ne pas utiliser le souligné ce qui est justement ce qu'on veut à présent. Qu'en fait le phraseur l'acceptait doit être considéré comme un bug du point de vue de cette doc, qui apparaît du coup prémonitoire. Il lui manque seulement, si on enterinne l'idée du tiret, de parler de celui-ci.
Committo,Ergo:Sum