Météo du Québec

GÉNÉRAL => Questions => Discussion démarrée par: tonyboy1223 le Samedi 7 Janvier 2012 à 21:18

Titre: tags cumulus <#tomorrowdaylength>
Posté par: tonyboy1223 le Samedi 7 Janvier 2012 à 21:18
Salut À tous
Existe t-il dans cumulus un tag pour la durée du jour du lendemain deplus ou moin qu'aujourd'hui équivalent au tag <#tomorrowdaylength> mais en chiffre uniquement.  Il y a cette information dans cumulus mais celui que l'on retrouve avec le tag <#tomorrowdaylength> ces sous forme de phrase et en anglais...

J'aurais aimé avoir uniquement sous la forme de ex. +/- 2 min 45... plus tot que ''There will be 1min 21s more daylight tomorrow''

ou peut être qu'une autre façon me permettrait d'arrivée à mes fin...

Merci à tous
Titre: Re: tags cumulus <#tomorrowdaylength>
Posté par: meteo_jacques le Lundi 9 Janvier 2012 à 07:12
Bonjour Tony,

Pour ce genre de traduction de texte fixe, on peut utiliser un peu de javascript.
Personnellement, j'utilise cette fonction :
<script type="text/javascript">
function Remplace(expr,a,b) {
var i=0
while (i!=-1) {
i=expr.indexOf(a,i);
if (i>=0) {
expr=expr.substring(0,i)+b+expr.substring(i+a.length);
i+=b.length;
}
}
return expr
}
</script>

Tu places simplement ce bout de code en entier, tout juste avant la balise </head>.
Puis à l'endroit même ou tu veux une modification du texte, tu insère un appel de la fpnction Remplace.
Dans ton cas tu appel 3 fois la fonctions, comme suit:


<td><strong>
<script type="text/javascript">
document.write(Remplace('<#tomorrowdaylength>', 'There will be ,''));
document.write(Remplace('<#tomorrowdaylength>', less daylight tomorrow','en moins'));
document.write(Remplace('<#tomorrowdaylength>', 'more daylight tomorrow','en plus'));
</script></strong>
</td>
Comme tu vois, dans cette fonction, il y a 3 parametres:
1 - La chaine de texte à modifier
2 - Le texte à trouver dans cette chaine.
3 - Le texte francisé

Espérant t'avoir inspiré un peu.

Amicalement,
Jacques
Titre: Re: tags cumulus <#tomorrowdaylength>
Posté par: tonyboy1223 le Lundi 9 Janvier 2012 à 08:45
Merci.
J'ai regardé mon code, et j'avais déja cette fonction, j'ai inséré tout simplement au bonne endroit le code avec de la fonction de remplacement, mais sans succès, je n'avait rien d'affiché :-(

ce que j'ai remarqué ces qu'il manquait des guillemets a la suite de 'There will be  et avant less daylight tomorrow' , est ce normale ?

<td><strong>
      <script type="text/javascript">
         document.write(Remplace('<#tomorrowdaylength>', 'There will be ,''));
         document.write(Remplace('<#tomorrowdaylength>', less daylight tomorrow','en moins'));
         document.write(Remplace('<#tomorrowdaylength>', 'more daylight tomorrow','en plus'));
      </script></strong>
   </td>
J'ai quand même modifié le code et ajouté les guillemets mais la fonction est exécuté trois fois, donc je me dit que le code etait correcte...

Je continu mes test...

En passant, merci beaucoup...
Titre: Re: tags cumulus <#tomorrowdaylength>
Posté par: meteo_jacques le Lundi 9 Janvier 2012 à 09:01
Bonjour Tony,

La syntaxe exacte est :

document.write(Remplace('<#tomorrowdaylength>', 'more daylight tomorrow', 'en plus'));

Donc, les apostrophes ' encadre chacun des 3 paramètres.

Désolé pour les fôtes... Je t'ai répondu avant le premier café du matin!  :roll:

Jacques