[traduction] Problème d'entités

Vous vous penchez sur le développement d'applications ou d'extensions pour Mozilla ? C'est alors vers ce forum que se dirigeront naturellement vos requêtes...
Thunderseb
Salamandre
Messages : 37
Inscription : 23 févr. 2007, 14:52

[traduction] Problème d'entités

Message par Thunderseb »

Bonjour à tous.

J'ai un problème avec les entités pour la traduction. Je suis en train de faire une petite extension, et je ne parviens pas à la rendre "traductible".

Voici mon fichier xul avec l'overlay (juste le début)

Code : Tout sélectionner

<!DOCTYPE overlay SYSTEM "chrome://ext/locale/extcode.dtd">
<overlay xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" xmlns:html="http://www.w3.org/1999/xhtml">
  <popup id="contentAreaContextMenu">
	<menu label="Zcode">	  
	  <menupopup>
	    <menu label="Style">
		  <menupopup>
            <menuitem class="context" id="context-zc-gras" label="&item-gras;" oncommand="InsererDoubleBalise('<gras>','</gras>');" />
l'entité que je veux traduire est &item-gras. Dans mon fichier .dtd, j'ai ceci :

Code : Tout sélectionner

<!ENTITY item-gras "Gras">
Ce fichier se trouve dans le dossier /locale/fr-FR/ de l'extension.

J'ai déjà un peu recherché sur le forum après ce genre de problème, et je n'ai pas trouvé de bonnes réponses.

merci d'avance :)

Message envoyé avec : Opera/9.00 (Windows NT 5.1; U; fr)
Dernière modification par Thunderseb le 01 mai 2007, 13:48, modifié 1 fois.
martin
Varan
Messages : 1074
Inscription : 21 janv. 2004, 16:23

Message par martin »

si tu tapes "chrome://foxycode/locale/foxycode.dtd" dans ta barre d'adresse, et que tu fais "Affichage > Code source de la page", vois tu correctement ta dtd ?
Thunderseb
Salamandre
Messages : 37
Inscription : 23 févr. 2007, 14:52

Message par Thunderseb »

En fait, il ne se passe rien, Firefox reste à la page où il se trouvait :?

Message envoyé avec : Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.8.1.1) Gecko/20061204 Firefox/2.0.0.1
martin
Varan
Messages : 1074
Inscription : 21 janv. 2004, 16:23

Message par martin »

alors c'est surement une erreur dans le chrome.manifest .
montre le nous ;) .
Thunderseb
Salamandre
Messages : 37
Inscription : 23 févr. 2007, 14:52

Message par Thunderseb »

Le voilà :

Code : Tout sélectionner

content     foxycode    chrome/content/
overlay chrome://browser/content/browser.xul chrome://foxycode/content/FoxyCode.xul
martin
Varan
Messages : 1074
Inscription : 21 janv. 2004, 16:23

Message par martin »

rajoutes y la ligne :

Code : Tout sélectionner

locale	foxycode	fr-FR	chrome/foxycode/locale/fr-FR/
note que d'après ce chrome.manifest, ton extension n'est pas dans un dans fichier .jar, ce qui est bien sûr préférable pendant le développement.
Thunderseb
Salamandre
Messages : 37
Inscription : 23 févr. 2007, 14:52

Message par Thunderseb »

J'ai ajouté la ligne, mais ça ne change rien.

Firefox me met ceci :

Image

ca survient que je mets le "&" de l'entité

Ca change quoi de mettre dans un .jar ? Le reste de l'extension fonctionne bien :?:
martin
Varan
Messages : 1074
Inscription : 21 janv. 2004, 16:23

Message par martin »

Ferme complétement firefox, puis redémarre le, c'est nécessaire pour que les changements dans le chrome.manifest soient pris en compte.

J'espère aussi que l'entité &itemZCgras; est bien définie dans ta dtd.
Thunderseb a écrit :Ca change quoi de mettre dans un .jar ?
les déclarations dans le .manifest ne sont alors plus les mêmes ;) .
Thunderseb
Salamandre
Messages : 37
Inscription : 23 févr. 2007, 14:52

Message par Thunderseb »

Tout a l'air bon. La dtd, j'ai mis le code dans mon premier post. Voilà la journée que je suis dessus, ça comme à m'agacer ^^

Message envoyé avec : Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.8.1.1) Gecko/20061204 Firefox/2.0.0.1
martin
Varan
Messages : 1074
Inscription : 21 janv. 2004, 16:23

Message par martin »

l'entité 'itemZCgras' est elle bien définie dans ta dtd ? C'est celle ci que Firefox montre dans ta photo d'écran, et non 'item-gras'.
martin
Varan
Messages : 1074
Inscription : 21 janv. 2004, 16:23

Message par martin »

soyons méthodique, maintenant vois tu le contenu de ta dtd si tu charges l'adresse directement dans la barre d'adresse et que tu fais afficher le source ?
Thunderseb
Salamandre
Messages : 37
Inscription : 23 févr. 2007, 14:52

Message par Thunderseb »

non, c'est juste. C'est parce que j'ai changé de nom par après, pour être plus logique avec le reste des scripts.

C'est bien l'entité &itemZCgras et al dtd est

Code : Tout sélectionner

<!ENTITY itemZCgras "Gras">
Message envoyé avec : Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.8.1.1) Gecko/20061204 Firefox/2.0.0.1
martin
Varan
Messages : 1074
Inscription : 21 janv. 2004, 16:23

Message par martin »

après les changements dans le .manifest, et redémarrer, si tu tapes "chrome://foxycode/locale/foxycode.dtd" dans ta barre d'adresse, et que tu fais "Affichage > Code source de la page", vois tu correctement ta dtd ?
Thunderseb
Salamandre
Messages : 37
Inscription : 23 févr. 2007, 14:52

Message par Thunderseb »

Il me met "Fichier introuvable" alors qu'il y est. Enfin, bon, passons ^^ Je vais plutot prendre une extension simple et recopier le système de traduction et essayer de comprendre où je me plantais :) Merci pour ton aide :)


J'ai une autre question, qui est plus pratique à mon avis. J'ai une liste xul :

Code : Tout sélectionner

<menulist id="liste_codes" editable="true">
   <menupopup>		
     <menuitem value="html" label="XHTML" />
     <menuitem value="css" label="CSS" />
     <menuitem value="javascript" label="JavaScript" />
     <menuitem value="xml" label="XML" />
    <menuitem value="php" label="PHP" />
  </menupopup>
</menulist>
Ce que je veux, c'est récupérer la valeur de lélément sélectionné. Je fais comme ça :

Code : Tout sélectionner

document.getElementById('liste_codes').value;
mais ça me donne le label :shock: Même si j'utilise getAttribute("value") ^^ Comment je peux récupérer ce fameux attribut value ?
martin
Varan
Messages : 1074
Inscription : 21 janv. 2004, 16:23

Message par martin »

Thunderseb a écrit :Il me met "Fichier introuvable" alors qu'il y est.
c'est donc toujours un problème d'enregistrement des dossiers de locales dans le .manifest, ou une erreur dans les urls y faisant référence (attention a la casse dans les noms de fichiers en partoculier.
Y'a pas, tant que c'est pas résolu, Firefox plantera sur l'entité.

essaie de mettre un fichier 'test.txt' dans le dossier fr-FR, contenant du texte, puis appelle le dans la barre d'adresse :
chrome://foxycode/locale/test.txt

si fichier introuvable, c'est le .manifest qui est en cause, si il s'affiche, c'est une erreur dans le chemin de la dtd.
Thunderseb a écrit :Il me met "Fichier introuvable" alors qu'il y est.

Code : Tout sélectionner

document.getElementById('liste_codes').value;
mais ça me donne le label :shock: Même si j'utilise getAttribute("value") ^^ Comment je peux récupérer ce fameux attribut value ?
tu n'auras pas accés directement au menuitem sélectionné comme çà, comme dans un combo html.
Il te faut faire çà "à la main", quelque chose comme parcourir les menuitem enfants du menulist, et trouver celui qui a l'attribut checked à true.
http://developer.mozilla.org/en/docs/XUL:menulist
http://developer.mozilla.org/en/docs/XUL:menuitem

bon courage ;) , moi c'est apéro...
Répondre

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 1 invité