Multi langue utilisant constante : probleme avec javascript

Résolu
froll Messages postés 12 Date d'inscription lundi 26 novembre 2007 Statut Membre Dernière intervention 10 décembre 2010 - 17 août 2010 à 10:44
froll Messages postés 12 Date d'inscription lundi 26 novembre 2007 Statut Membre Dernière intervention 10 décembre 2010 - 17 août 2010 à 14:39
Bonjour à tous.

Je suis actuellement chargé rendre un site déjà existant multilingue.
J'ai donc décidé pour cela de remplacer les mots par des constantes et de crée un fichier langue_fr qui regroupe ses constantes et les remplace par leur équivalent fr avec des define().
Seulement sur ce site il y'a un module qui utilise fortement le javascript, et donc certain mot fr (par ex: modifier, insérer etc...) sont écrit en dur dans les fichiers javascript. Et là je bloque, j'ai essayé des constantes javascript (enfin, avec une fonction trouvée sur le net), ca marche pas, et je n'arrive pas à voir comment je peux faire pour qu'en modifiant mon fichier "langue_fr" cela se répercute sur ce module.

Une idée?

4 réponses

inwebo Messages postés 380 Date d'inscription lundi 12 novembre 2007 Statut Membre Dernière intervention 23 octobre 2014
17 août 2010 à 12:07
Désolé,

Je n'ai pas précisé que j'avais inclus ceci dans un fichier php dans la balise head. Par contre tu peux très bien écrire un script php qui calcul tout et modifier le header du script pour qu'il se fasse passé pour un bête javascript.

Par exemple :

index.html

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<!-- Notez la source du javascript, il est également possible de passer des variables
ex : <script type="text/javascript" src="var-javascript.php?lang=fr"></script> -->
<script type="text/javascript" src="var-javascript.php"></script>
</head>


[# TEST]

</html>


Et var-javascript.php

<?php
header("Content-type: texte/javascript");

define('TEXTE', 'ceci est un texte contenu dans une constante PHP');


$str 'var texte \'' . TEXTE . '\';';

echo $str ;

?>



________________________________________
( $toBe || !$toBe ) = $this->Question();
3
inwebo Messages postés 380 Date d'inscription lundi 12 novembre 2007 Statut Membre Dernière intervention 23 octobre 2014
17 août 2010 à 11:17
Bonjour,

Peut-être en écrivant du javascript directement en PHP, les constantes PHP seront ainsi disponible également pour javascript. J'ai déjà écrit quelque chose comme cela.

<script type= "text/javascript">

<?php print( 'var total = ' . return_bytes() . ";\n" ); ?>
<?php print( 'var totalMo = "' . ini_get('upload_max_filesize') . "";\n" ); ?>

var nbr = 1;
var k = 1024;
var m = k * k;
var maxFileSizeMB =  <?php print( substr( ini_get('upload_max_filesize'), 0, -1) ); ?>;

</script>


Ici var total est une variable javascript calculée par PHP.

Bien sûr cette exemple n'est qu'une illustration.
________________________________________
( $toBe || !$toBe ) = $this->Question();
0
froll Messages postés 12 Date d'inscription lundi 26 novembre 2007 Statut Membre Dernière intervention 10 décembre 2010
17 août 2010 à 11:31
Est tu sur que les balises php sont reconnu dans un fichier .js ?
Mon Notepad n'a pas l'air de les reconnaitre en tout cas...
0
froll Messages postés 12 Date d'inscription lundi 26 novembre 2007 Statut Membre Dernière intervention 10 décembre 2010
17 août 2010 à 14:39
Hee, ça marche pas mal du tout!

C'est exactement ce dont j'avais besoin, je te remercie! je ne savais pas que l'on pouvait inclure une page php de cette façon!
0
Rejoignez-nous