JQuery modifier DOM à partir d'un objet

a marqué ce sujet comme résolu.
Auteur du sujet

Bonjour à tous,

Pour un projet personnel, je souhaiterais créer un script GreaseMonkey pour traduire un site déjà existant. C’est un jeu en ligne et j’aimerais me faire un script pour traduire les termes seulement.

J’ai déjà effectué quelques tests pour retrouver certaines données et ça fonctionne. Cependant en fouillant avec Firebug j’ai vu qu’un gros objet était créé au moment d’afficher la page. Il contient toutes les informations qui sont ensuite affichées sur la page.

C’est un objet du genre : window.BattleStatNames.hp qui contient "HP"

Ma question est, plutôt que de parser le html pour traduire tout les termes de la page, y’aurais t’il moyen de jouer avec cet objet pour ensuite mettre à jour les données dans le DOM ?

J’ai essayer avec mon script de modifier la valeur de HP par exemple et l’objet s’en trouve modifié au chargement de la page, mais pas dans le DOM. Y’a t’il du coup un moyen pour modifier les données dans le DOM ?

Merci

+0 -0

Salut !

Je pense qu’il faudrait voir quelle est la fonction qui fait les modifications en se basant sur l’objet, et si c’est possible la relancer après que tu aies fait tes modifs/traductions.

Evitez qu’on vous dise de les lire : FAQ PHP et SymfonyTutoriel WAMP • Cliquez 👍 pour dire merci • Marquez vos sujets résolus

+0 -0
Auteur du sujet

Merci de ta réponse.

Bon entre-temps j’ai réussi à trouver, je modifiais pas les bonnes valeurs. Du coup par exemple j’arrive à traduire un terme mais par contre je crois que l’application tourne sous Backbone et du coup en modifiant un terme dans l’objet cela entraîne un dysfonctionnement par la suite pour les champs de recherche, les tris etc…

Du coup je pense que c’est pas forcement possible de faire ce que je veux avec GreaseMonkey ;)

+0 -0

Ça semble sympa ce jeu, je ne le connaissais pas.

Ça me semble complexe, je m’attendais à plus petit. Pour ce genre de chose j’ai tendance à créer un client moddé (modifié), c’est-à-dire copier les fichiers et les modifier directement dans mon répertoire, ce qui est parfait car tu as une page github : https://github.com/Zarel/Pokemon-Showdown-Client

Je te conseille donc d’essayer de faire un client moddé (si c’est possible). Apparemment certain ont du mal, à moins que ça ne soit pas leur priorité.

Je ne sais pas si tu as lu ce message mais tu as toutes les traductions du jeux. Tu peux peut-être essayer d’automatiser le process.

Zarel : @DanUgore, where has it been ripped from XY? Do you have a link or something?
Zarel : Found it, it’s oras_text.zip in http://projectpokemon.org/research/oras/

Pour ce qui est du texte sur les objets / pokemon, il est stocké côté serveur apparemment :

Je te conseillerai de ne pas prendre en compte ce que le serveur t’envoie, à la place tu charges l’objet à partir d’un fichier local. C’est-à-dire au lieu de le récupérer ce que le serveur t’envoie, tu commentes cette ligne et tu charges le fichier correspondant à la place.

Édité par A-312

+0 -0
Auteur du sujet

Merci beaucoup de ta réponse et de tes recherches.

J’ai peur de ne pas tout comprendre à ce que tu détail, je crois malheureusement que ça dépasse mes compétences.

Qu’est-ce qu’un client moddé (en détail) ?

Comment je peux du coup charger l’objet à partir d’un fichier local ?

Encore merci

+0 -0

Un client moddé : C’est un client qui a subi des modifications non officielles (dans notre cas tes modifications).

Tu fais un fichier pokedex-fr.js par exemple et tu le rajoutes à la page HTML via la balise script.

Ensuite tu repères les endroits qui affiche le texte à l’écran, et tu rajoutes une ligne pour que ça soit ton texte fr qui s’affiche. Il te faudra donc modifier le code JS pour avoir quelques choses de fonctionnelles.

Je n’ai pas suffisamment analysé le code pour être plus précis.


Dans la configuration du programme, tu ne peux pas juste modifier le texte (car le serveur envoie aussi du texte).

+0 -0
Vous devez être connecté pour pouvoir poster un message.
Connexion

Pas encore inscrit ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte