Mardi 16 Octobre 2018, 08:04     Connectés : 6      Membres : 5


Mot de passe oublié ?

Pas encore de compte ?

1 2 3 4

Outils de traduction Pour UnderRail !

REPONDRE S'ABONNER
AbounI
Grand gobelin
#51
Alors kworld, tes travaux, ils avancent comme tu le souhaites?
Ejected
kworld
Chevalier
#52
Non, pas vraiment...

J'ai un peu trop de projets de dev pour la Fac et le boulot en ce moment, alors j'ai mis en pause le développement de mes outils de traduction, je reprendrais tout ça une fois le master en poche !

Par contre grâce à toi j'ai remarqué que je n'avais pas mis à jour les liens vers la version actuelle en première page ( passage au HTTPS et au .fr), je corrige ça de suite !
Geralt
Grand chevalier
#53
Tôt ou tard, Kworld vaincra.
« Un peuple prêt à sacrifier un peu de liberté pour un peu de sécurité ne mérite ni l'une ni l'autre, et finit par perdre les deux. » Benjamin Franklin
darker
Novice
#54
New Underrail Expanción (DLC)

Steam:

http://steamcommunity.com/games/250520/announcements/detail/601620085231613598
Ramenos
Novice
#55
Bravo pour le travail. N'hésitez pas à prévenir les développeurs du jeu, il seront ravis d'ajouter votre mod sur leur site.

Après, le niveau d'anglais du jeu n'est pas très élevé donc je pense que cette traduction se destine à ceux et celles qui ne parlent vraiment pas bien l'anglais, non ?
Ramenos, Gamer PC de RPG et tour par tour et voyageur enthousiaste
jpdonald
Citoyen
#56
On continue la discussion ici.

Ce sont les accents qui me donnaient un plantage.
Les accents sur 1 octet plante (mode ansi) et ça fonctionne en mode UTF-8.
dans un héxa un é affichera é (sur 2 octets). Je devine pourquoi.

Sinon pour réintroduire, je vais lire ton source. (en C je crois) mais pourquoi entrer la longueur ? Il y a en programmation des instructions simples pour ça.
Je n'ai pas dû bien comprendre.
jpdonald
kworld
Chevalier
#57
On continue la discussion ici.

Ce sont les accents qui me donnaient un plantage.
Les accents sur 1 octet plante (mode ansi) et ça fonctionne en mode UTF-8.
dans un héxa un é affichera é (sur 2 octets). Je devine pourquoi.

Sinon pour réintroduire, je vais lire ton source. (en C je crois) mais pourquoi entrer la longueur ? Il y a en programmation des instructions simples pour ça.
Je n'ai pas dû bien comprendre.


La raison est simple j'ai fait ce petit programme très très rapidement, et j'ai mal défini mon format de sortie, comme je n'ai pas de marqueur de fin de chaîne dans les ".edlg" que génère mon extracteur et bien je suis obligé de demande le nombre de caractères à lire au moment de la réinjection.

Comme je disais à To_an c'est plus un POC qu'un produit fini.

Puisqu'il est visiblement utilisé, je vais le reprendre et réviser le format de sortie pour éviter de devoir compter les caractère de la chaine modifiée.

Je vais certainement recoder tout ça depuis 0 (Ce ne sera probablement plus du C mais du C# ou du Go, et je tâcherai de documenter le code parce-que là...).

Message édité pour la dernière fois le : 14/04/2018 à 00:20

jpdonald
Citoyen
#58
@kworld

Ca y est, j'ai trouvé comment faire, c'était vraiment trop simple.
Je vais aussi de mon côté faire un petit programme, d'abord pour ces "udlg"
Si ça marche, une fois terminé, je te l'envoie perso avec le source.



Ce dialogue dépasse largement le nombre de caractères de l'original.
jpdonald

Message édité pour la dernière fois le : 14/04/2018 à 08:43

To_an
Garde
#59
Les programmeurs fous; Bon courage à vous deux, d'autant que la future mise à jour pour Underrail progresse, progresse ... progresse :)
Les raisons de tes clics incessants me sont inconnues (Dak'kon PST)
lemanitek
Citoyen
#60
Il envoi du rêve ton screen Jpdonald ! tu me redonnes espoir, je ne pensais pas voir le jeu traduit un jour et la tu viens de me montrer que mon rêve peut devenir une réalité ^^
Pour taper du pied en attendant la venue de l'oiseau temps, suivez ce lien : https://soundcloud.com/lemanitek
kworld
Chevalier
#61
Bon j'ai tout réimplémenté en C#, j'ai changé le format de sortie pour du JSON, et comme de ce fait j'ai des marqueur de fin de texte plus besoin de compter, on édite simplement les champs "Text" du Json.

Pour le moment tout se fait via l'interface graphique, mais je vais remettre le mode ligne de commande en place d'ici demain (c'est plus commode pour extraire et réinjecter des textes des udlg en masse avec un script ^^).

Je peux assez facilement mettre à jour le code pour avoir un véritable éditeur graphique et non un exporteur/injecteur de textes. Mais je ne sais pas si c'est vraiment intéressant.


EDIT : J'ai tout pushé sur mon gitlab, donc tout est dispo par le lien du premier post.



EDIT: Enfin bon... en fait les dialogues on sait depuis 2 ans que c’est possible , mais quid du reste ? ( descriptions de skills, d'objets, l'interface, ...)

L'outil de To_an est suffisant ? Est-ce que tu as pu le tester jpDonald ?

Message édité pour la dernière fois le : 14/04/2018 à 19:54

jpdonald
Citoyen
#62
@kword
OK pour l'édition des dialogues, je vois que tu avances vite.
N'oublie pas le format des accents (le é par ex. doit être écrit é) pas évident ce code dans du binaire.

Pour le reste (liste des objets par ex.) je n'ai pas vraiment cherché, ça ressemble au format des dialogues.
Le dé-compacteur peut être téléchargé, donc pas besoin de travailler en ligne.
Quant aux images XNB l'utilitaire XNBExtract (v0.2.2) transforme les images xnb au format png et de png au xbn en cascade, le pied.
jpdonald
kworld
Chevalier
#63
@kword
OK pour l'édition des dialogues, je vois que tu avances vite.
N'oublie pas le format des accents (le é par ex. doit être écrit é) pas évident ce code dans du binaire.


Oui je gère bien l'utf-8, c'était déjà le cas dans la version en C et j'avais dû gérer l'encodage à la main, dans la version C# j'utilise le Encoding.UTF8 intégré au langage.

Pour le reste (liste des objets par ex.) je n'ai pas vraiment cherché, ça ressemble au format des dialogues.
Le dé-compacteur peut être téléchargé, donc pas besoin de travailler en ligne.


Si le format est similaire à celui des dialogues ça ne devrai pas poser de soucis.

Quant aux images XNB l'utilitaire XNBExtract (v0.2.2) transforme les images xnb au format png et de png au xbn en cascade, le pied.


Dans les images en 2016 je n'avais trouvé que l'image d'aide de réellement intéressante à traduire.




EDIT : Je viens de mettre en ligne une mise à jour de l'outil version C#.

J'ai ajouté un bouton "Editer les textes" qui ouvre une fenêtre permettant d'éditer directement les lignes de dialogue du udlg.

Ça a cette tronche là :




EDIT 2 : Bon j'ai jeté un oeil aux fichiers .k décompressés par l'outil découvert par To_an, le format est différent des ".udlg", mais ça ne devrait pas poser de soucis.

Je vais tâcher de rajouter rapidement le support de ces fichiers dans mon éditeur.

Message édité pour la dernière fois le : 15/04/2018 à 13:35

jpdonald
Citoyen
#64
Nous attendons avec impatience le résultat de ton travail.
Bravo.
jpdonald

Message édité pour la dernière fois le : 15/04/2018 à 13:27

kworld
Chevalier
#65
Nous attendons avec impatience le résultat de ton travail.
Bravo.


C'est déjà en ligne, le lien en première page pointe vers ma forge git , dont tout y est mis à jour en temps réel.

L’exécutable compilé est dans "/Bin/V2_CSharp", je n'ai pas testé ailleurs que sur ma machine de dev, il nécéssite .Net Framework 4.6 ( normalement c'est inclus à windows 8/10 sur le 7 il faut peut être l’installer).

Message édité pour la dernière fois le : 15/04/2018 à 13:39

jpdonald
Citoyen
#66
Fonctionne sur windows 7. Chez moi, tout est OK.

Il va falloir maintenant trouver quelques serviteurs charitables pour traduire ce jeu... Personnellement, je n'y ai jamais joué.

Reste les formats k une fois décompactés, ils ressemblent aux udlg
(Le compacteur-décompacteur est en java... certainement facile à retranscrire dans ton programme... enfin c'est plus facile à dire qu'à faire.)

Petite suggestion: utiliser la langue anglaise plutôt que française dans ton programme afin de le rendre plus... international.

En tout cas c'est du travail de pro.
jpdonald
kworld
Chevalier
#67

Fonctionne sur windows 7. Chez moi, tout est OK.


Super si ça passe directement sous W7 !!


Reste les formats k une fois décompactés, ils ressemblent aux udlg
(Le compacteur-décompacteur est en java... certainement facile à retranscrire dans ton programme... enfin c'est plus facile à dire qu'à faire.)



C'est pas du Java mais du JavaScript ^^ à part le nom rien à voir !
Mais de toute façon, j'ai déjà réimplémenté le compacteur / décompacter en C#, d'une manière un peu différente mais qui à l'air de fonctionner.

Me reste plus qu'à parser le format décompressé, ça risque d'être un peu plus long, mais pas compliqué pour autant.


Petite suggestion: utiliser la langue anglaise plutôt que française dans ton programme afin de le rendre plus... international.

En tout cas c'est du travail de pro.


C'est une bonne suggestion, je vais de tâcher d'internationaliser l'interface.

Il va falloir maintenant trouver quelques serviteurs charitables pour traduire ce jeu... Personnellement, je n'y ai jamais joué.


[/quote]
Ouais, ça c'est une autre histoire !


EDIT : J'ai dû éditer 15 fois ce messages pour m'en sortir avec les balises "Quote" !!

Message édité pour la dernière fois le : 15/04/2018 à 15:01

jpdonald
Citoyen
#68
Pour info... normal aujourd'hui

Je viens de tester sur XP
XP m'indique simplement :
... n'est pas une application W32 valide.

Le principal, sous win7_64, et le 10, ça fonctionne parfaitement.

jpdonald
kworld
Chevalier
#69
Pour info... normal aujourd'hui

Je viens de tester sur XP
XP m'indique simplement :
... n'est pas une application W32 valide.

Le principal, sous win7_64, et le 10, ça fonctionne parfaitement.



Pour XP c'est normal, en plus le programme est compilé en 64bits.


EDIT: J'ai préparé le terrain pour le support des fichiers .k, la compression/decompression est gérée, l'interface graphique à été mise à jour pour les supporter, tout comme la structure générale du programme.

Il ne reste plus qu'à faire les méthodes d'extraction et de réinsertion des textes.

Et pour ça il faut que je potasse un peu pour bien comprendre la structure des fichiers.


EDIT 2: Ça a été plus rapide que prévu, j'ai poussé la nouvelle version de l'éditeur qui supporte également les fichier .k.

Il faut tout de même faire attention, ces fichiers contiennent des couples clef/valeur et pour le moment je n'ai pas fait de filtrage, mais il faut évidement éviter d'éditer les clefs !


Je vais voir comment faire pour n'afficher que les "valeurs" à l'édition.
Vu que le fichier à l'air toujours structuré pour contenir : "une clef, une valeur , une clef , une valeur, ..." et ainsi de suite, une méthode naïve n'extraire que les valeurs serait d'ignorer un champ texte sur deux dans le fichier.


EDIT 3: J'ai implémenté la méthode naïve que je décris juste au dessus et ça fonctionne, donc pas la peine de s'embêter plus.

EDIT 4: Bon avec ça on peut éditer la plupart des textes du jeu, mais il en manque encore quelques-uns. Certains sont contenus dans les fichiers de carte ( .uzl et .uz ) , mais la plupart des textes restant sont des descriptions d'objets, elles sont contenues dans les fichiers .items.

Donc j'ai trouvé ce que va ajouter la prochaine mise à jour de l'outil !!

Je vais commencer par les .items qui contiennent plus de textes et ont une structure bien plus simple que les .uz/.uzl.



EDIT 5 : Les fichiers items sont OK ! L'éditeur ressort un peu plus de faux positif que dans les fichier .k et .udlg, je n'ai pas encore trouvé de méthode de filtrage efficace.

Mais ces faux positif sont assez facile à détecter par un être humain, en gros il suffit de ne pas éditer de texte qui ne ressemble pas à de l'anglais ^^.


Un petit exemple de ce qu'on peut traduire dans les fichier items.




et dans les fichier Knowledge (.k) :




EDIT 6: Bon j'ai rajouté un filtre à faux positifs au parser des fichier .item, et j'ai également rajouté un mode d'ouverture qui est compatible avec tout les fichiers compressés de Underrail ( du coup il marche également avec les .k et les .item, mais pas les udlg ).

Donc l'outil gère maintenant les udlg, les .k, les .item, les .uz, les .uzl, le .world, les .store, les .char, le .v et ... je n'ai rien essayé d'autre en plus je n'ai pas pu tout tester en jeu.

Je pense qu'il y a également des textes dans l’exécutable.

Message édité pour la dernière fois le : 17/04/2018 à 01:52

jpdonald
Citoyen
#70
Wouaaaa !!!

Plus d'excuse pour traduire ce jeu.
Du bon travail, ce qui était impossible est devenu possible.
jpdonald
To_an
Garde
#71
C'est clair, impressionnant kworld. Vous êtes des missiles à tête chercheuse tous les deux :)
Les raisons de tes clics incessants me sont inconnues (Dak'kon PST)
Hawkeye
Villageois
#72
Je plussoie, énorme bravo à vous, par contre je n'arrive pas à accéder à l'éditeur de traduction mais je suppose que c'est temporaire ?
kworld
Chevalier
#73
Je plussoie, énorme bravo à vous, par contre je n'arrive pas à accéder à l'éditeur de traduction mais je suppose que c'est temporaire ?


Le site est accessible sans soucis, c'est la redirection HTTP -> HTTPS qui merdouille si on est jamais allé sur le site HTTPS auparavant.

Je n'aurai pas vu le problème sans ton intervention, merci =p !


Je vais mettre à jour le lien du premier post pour y rajouter ce petit s manquant.
kworld
Chevalier
#74
Si une équipe de traduction se met en place, je dois pouvoir mettre en place sans grosse difficulté une interface web permettant de répartir la traduction des textes entre plusieurs personnes et de générer à la demande le patch de traduction intégrant les dernières lignes traduites.

De plus je pense qu'un lexique contextuel ( si un mot présent dans le lexique est détecté dans la phrase en cours ses infos dans le lexique s'affichent dans un champ dédié ) ne serait pas non plus une mauvaise idée, de même mettre un statut/tag à chaque ligne ( à traduire/ne pas traduire, traduit , relu ) pour pouvoir afficher l'état d'avancement automatiquement.

J'ai l'idée de faire un outil du genre pour aider l’organisation des traductions de groupe depuis un bout de temps, prévoir un truc du genre dédié à Underrail dans un premier temps pourrait être un bon plan.

En faisant bien les choses cette interface pourrait être réutilisable pour à-peu-près n'importe quelle traduction.


EDIT : En fait je vais voir pour mettre un truc du genre en place même si aucune équipe de traduction ne se met en place. Ça me trotte dans la tête depuis bien trop longtemps.

Message édité pour la dernière fois le : 21/04/2018 à 15:46

Djefel
Noble
#75
Tu es en train de révolutionner la méthodologie de la traduction Grand Kworld Malade (je t'avais dit que ça resterait :D), j'espère que tu en es conscient !!!!
Let the boots do the talking