[spip-dev] multi-linguisme

Une double petite remarque sur le fichier inc_lang.php3.

1. A chacun de ses appels,
la fonction traduire_nom_langue alloue en mémoire un tableau,
toujours le même, qu'elle affecte à une variable globale homonyme.
Sauf erreur de ma part, il serait infiniment plus efficace d'allouer
directement et une fois pour toutes le tableau global lors du chargement du fichier,
ce qui donnerait:

global $codes_langues ;
$codes_langues = array(
  'aa' => "Afar",
.....
  'zu' => "Zulu");

function traduire_nom_langue($lang) {
     global $codes_langues;
  return (($codes_langues[$lang]) ? $codes_langues[$lang] : $lang);
}

2. Comme ce tableau doit être enrichi à chaque ajout d'une langue (ou une variante),
il aurait plus sa place dans un fichier séparé, afin que le module trad_lang puisse
le mettre à jour automatiquement et facilement.

S'agissant de ce module, j'avoue n'avoir rien compris à son intention; qu'attend-il
en entrée et que délivre-t-il en sortie ?

esj

la fonction traduire_nom_langue alloue en mémoire un tableau,
toujours le même, qu'elle affecte à une variable globale homonyme.
Sauf erreur de ma part, il serait infiniment plus efficace d'allouer
directement et une fois pour toutes le tableau global lors du
chargement du fichier,
ce qui donnerait:

global $codes_langues ;
$codes_langues = array(
  'aa' => "Afar",
.....
  'zu' => "Zulu");

function traduire_nom_langue($lang) {
     global $codes_langues;
  return (($codes_langues[$lang]) ? $codes_langues[$lang] : $lang);
}

Bonne idée, ça a permis de corriger un bug.

a+

Antoine.

> la fonction traduire_nom_langue alloue en mémoire un tableau,
> toujours le même, qu'elle affecte à une variable globale homonyme.
> Sauf erreur de ma part, il serait infiniment plus efficace d'allouer
> directement et une fois pour toutes le tableau global lors du
> chargement du fichier,
> ce qui donnerait:
>
> global $codes_langues ;
> $codes_langues = array(
> 'aa' => "Afar",
> .....
> 'zu' => "Zulu");
>
> function traduire_nom_langue($lang) {
> global $codes_langues;
> return (($codes_langues[$lang]) ? $codes_langues[$lang] : $lang);
> }

Bonne idée, ça a permis de corriger un bug.

a+

Antoine.

Bonsoir Antoine,

Après avoir vérifié une première fois avec la version CVS si l'anomalie que
j'avais déclarée

Salut Laurent,

Après avoir vérifié une première fois avec la version CVS si l'anomalie que
j'avais déclarée

http://www.spip.net/bugs/view_bug_page.php?f_id=0000189

avait disparue, j'ai cru que c'était le cas.
Mais la version CVS contient toutes les langues et pas seulement 1.

Avec la version CVS j'ai donc reproduit mon anomalie en supprimant tous les
fichiers langues sauf les [fr]

Tu es sûr que tu as bien pris la version CVS (pas les fichiers datés ou
numérotés) ? C'est-à-dire :
http://www.spip.net/spip-cvs/cvs_root.tar.gz?tarball=1&cvsroot=SPIP
(login / pass : cvs / cvs)

a+

Antoine.

Tu es sûr que tu as bien pris la version CVS (pas les fichiers datés ou
numérotés) ? C'est-à-dire :
http://www.spip.net/spip-cvs/cvs_root.tar.gz?tarball=1&cvsroot=SPIP
(login / pass : cvs / cvs)

a+

Antoine.

Salut Antoine,

Désolé, j'ai pris en compte la version numérotée 2003-12-28 au lieu de la
version CVS

Cela marche mieux comme ça . Même manip que décrite précédemment
(suppression des autres fichiers lang ...)
et tout semble ok :slight_smile:

a+

Laurent