$GLOBALS et class

Le
newdb
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 !
' `) /
|_ =="
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Thief13
Le #75264
Les tableaux, c'est quand meme super lourd... Personnelement, je préfère
utiliser des constantes...
Francois Girault
Le #75490
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

newdb
Le #75255
Thief13
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 !
' `) /
|_ =="


newdb
Le #75256
Francois Girault
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
intègre nativement :
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
Le #74766
Francois Girault
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


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 ?

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.

**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


Publicité
Poster une réponse
Anonyme