Discussion:
$GLOBALS et class
(trop ancien pour répondre)
denisb
2007-03-06 15:40:44 UTC
Permalink
bonjour,

je travaille sur l'internationalisation d'un site.
ce que j'ai fait fonctionne, mais je me demande si j'ai bien fait tout
comme il faut.


j'ai donc créé x fichiers php de la forme :

$GLOBALS['trad'] = array(
'infos' => 'Informationen',
'contact' => 'Kontakt',
...
);

(les fichiers-langue sont des tableaux de 150 entrées environ pour 6000
caractères)

dans mon script appelant j'ai :

$langues = array('fr','en','de','es',...);
$trad_lg = isset($_REQUEST['lg']) && in_array($_REQUEST['lg'], $langues)
? $_REQUEST['lg'] : $langues[0];
include('../public/inter/lg_'.$trad_lg.'.php');

puis dans ma class appelante je fais :
class Generique {
var $trad;
function Generique() {
$this->trad = $GLOBALS['trad'];
...
} // f-Generique()

function Autre() {
echo $this->trad['infos'];
....
} // f-Autre()

} // c-Generique

ais-je "tout bon", "passable", "cépassadutou"... ?

merci de vos retours,
--
@@@@@
E -00 comme on est very beaux dis !
' `) /
|\_ =="
Thief13
2007-03-07 13:00:14 UTC
Permalink
Les tableaux, c'est quand meme super lourd... Personnelement, je préfère
utiliser des constantes...
denisb
2007-03-08 06:12:00 UTC
Permalink
Post by Thief13
Post by denisb
je travaille sur l'internationalisation d'un site.
ce que j'ai fait fonctionne, mais je me demande si j'ai bien fait
tout comme il faut.
$GLOBALS['trad'] = array(
.....
Les tableaux, c'est quand meme super lourd... Personnelement, je préfère
utiliser des constantes...
merci pour ta réponse.

lourds pourquoi ?
à l'écriture du script ? écrire $trad['truc'] ou _TRUC ...
les tableaux sont'ils plus consommateurs de ressources à l'exécution ?
et puis dans mon cas, j'ai l'impression (fausse ?) que définir 150
constantes ce serait un peu beaucoup... surtout que certaines entrées
sont des textes un peu conséquents alors que le manuel dit : " Une
constante est un identifiant (un nom) qui représente une valeur simple."

sinon, au niveau interne, comment php gére-t'il les constantes par
rapport aux tableaux ? c'est juste une différence d'indexation ou
y-a-t'il autre chose qui ferait préférer les uns aux autres ?
--
@@@@@
E -00 comme on est very beaux dis !
' `) /
|\_ =="
Francois Girault
2007-03-07 13:00:14 UTC
Permalink
Post by denisb
bonjour,
je travaille sur l'internationalisation d'un site.
ce que j'ai fait fonctionne, mais je me demande si j'ai bien fait tout
comme il faut.
[ snip solution alamano ]
ais-je "tout bon", "passable", "cépassadutou"... ?
hors-sujet ? :)

En effet, il existe un outil de traduction de chaîne, GNU gettext
(http://www.gnu.org/software/gettext/manual/gettext.html), que php
intègre nativement :

http://fr3.php.net/gettext
--
FG
denisb
2007-03-08 06:12:00 UTC
Permalink
Post by Francois Girault
Post by denisb
je travaille sur l'internationalisation d'un site.
ce que j'ai fait fonctionne, mais je me demande si j'ai bien fait tout
comme il faut.
il existe un outil de traduction de chaîne, GNU gettext
(http://www.gnu.org/software/gettext/manual/gettext.html), que php
http://fr3.php.net/gettext
merci pour ta réponse.

j'ai regardé ça et nul doute que c'est la solution la plus 'intégrée' et
la plus portable, mais... je me suis un peu perdu...

apparemment, je dois à un moment ou à un autre avoir la main sur le
serveur pour définir les fichiers .po et .mo, et, si j'ai à peu près
compris, le serveur doit être relancé pour prendre en compte ces ajouts.

**dans le cas qui me préoccupe**, ça me parait un peu marteau-pilon pour
enfoncer un clou...

mais je regarderai encore pour d'autres projets plus 'lourds'.
--
@@@@@
E -00 comme on est very beaux dis !
' `) /
|\_ =="
Francois Girault
2007-03-09 11:06:14 UTC
Permalink
Post by denisb
Post by Francois Girault
il existe un outil de traduction de chaîne, GNU gettext
(http://www.gnu.org/software/gettext/manual/gettext.html), que php
http://fr3.php.net/gettext
merci pour ta réponse.
j'ai regardé ça et nul doute que c'est la solution la plus 'intégrée' et
la plus portable, mais... je me suis un peu perdu...
Certes, il vaut mieux lire la doc, et aussi les commentaires, et googler
un peu pour se faire une idée. comme d'hab non ?
Post by denisb
apparemment, je dois à un moment ou à un autre avoir la main sur le
serveur pour définir les fichiers .po et .mo, et, si j'ai à peu près
compris, le serveur doit être relancé pour prendre en compte ces ajouts.
Pour ce qui est question d'avoir la main, vous l'avez puisque vous
mettez votre code php dessus. La génération des fichiers se fait en
local et se efftépète. Pas de redémarrage à ma connaissance.
Post by denisb
**dans le cas qui me préoccupe**, ça me parait un peu marteau-pilon pour
enfoncer un clou...
mais je regarderai encore pour d'autres projets plus 'lourds'.
hum, n'était-ce pas l'occasion d'apprendre un outil standard ? Faut pas
avoir peur de trois fichiers ;)
--
FG
Continuer la lecture sur narkive:
Loading...