Mercredi 15 Août 2018, 11:16     Connectés : 5      Membres : 4


Mot de passe oublié ?

Pas encore de compte ?

1 …  5 6 7 8 9 10

Eador Genesis : La traduction française

REPONDRE S'ABONNER
MonsieurP
Novice
#176
Je viens de tester :

Certaines fois le mot "après" est mal orthographié

A la fin de quelques phrases il y a le signe "^"

Des textes de dialogue sont trop long : ils sont coupé en bas, impossible de voir la fin

EDIT : Avec la dernière version bien sûr

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

targus
Paladin
#177
Je viens de tester :

Certaines fois le mot "après" est mal orthographié

A la fin de quelques phrases il y a le signe "^"

Des textes de dialogue sont trop long : ils sont coupé en bas, impossible de voir la fin

EDIT : Avec la dernière version bien sûr


- Je viens de m'apercevoir qu'il y avait encore de lettres accentuées qui traînaient (fichier "message.txt" entre autre)
- Pour le ^ en fin de phrase, je ne vois pas ; peut-être un problème de balise ?
- Pour les textes trop longs, il faudrait passer en revue environ 10000 lignes. Et pour chaque phrase trop longue essayer de ne pas dénaturer son sens.

C'est le genre de projet à éviter : pas de lettres accentuées, phrases avec un nombre de caractères maximum. On est pas loin d'un Inquisitor II
targus
Paladin
#178
Je me demandais si kworld (ou quelqu'un d'autre) ne pourrait pas concevoir un petit programme signalant les lignes dépassant un certain nombre de caractères dans un fichier texte...
To_an
Garde
#179
Salut targus. Il y a une méthode simple sous Notepad++, en espérant que ton gros fichier soit au format texte et que chaque ligne de dialogue n'occupe qu'une seule ligne. Et il faudra aussi malheureusement tenir compte des balises si je comprends bien.

1]. Ouvre ton fichier dans Notepad++
2]. CRTL+F pour ouvrir la fenêtre de recherche
3]. Onglet Marqueur
4]. Dans le champ sous forme de liste déroulante Recherche, tape exactement .{XXX,} XX représentant le nombre de caractères pour chaque ligne.
5]. Coche les cases Marquer les lignes, Boucler et Expression régulière.
6]. Rechercher tout lance la recherche des lignes ayant plus de XXX caractères, tout en les marquant et Purger annule le marquage des lignes.
Les raisons de tes clics incessants me sont inconnues (Dak'kon PST)
targus
Paladin
#180
@Salut To_an
ça ne fonctionne pas ; quelque soit le nombre de XXX, j'ai toujours "mark:0"
Tu peux essayer en téléchargeant les fichiers et tester sur le fichier "dialog.var" dans le dossier "var" - même avec un nombre faible .{20,}
EDIT
C'est bon, mais je ne sais pas pourquoi ça ne marchait pas avec un nombre faible.

Message édité pour la dernière fois le : 18/01/2018 à 22:06

targus
Paladin
#181
@MonsieurP
Pourrais-tu faire une capture d'écran d'une fenêtre où le texte est trop long ? C'est pour être sûr du nombre de caractères maximum, car sinon il faut que je lance une partie.

EDIT -
J'ai beaucoup de phrase avec des variables dont on ne connaît pas le nombre de caractère. Par exemple :
"Text: #Le heros %s est entre dans la province de %s. Une bande de la milice locale avance dans sa direction." ou le premier %s est remplacé par le nom que le joueur a donné à son héros, et le deuxième %s est remplacé par le nom d'une province.
De plus, j'ai repéré des textes s'étalant sur 2 lignes.

C'est trop compliqué à gérer...

Message édité pour la dernière fois le : 18/01/2018 à 22:33

kworld
Chevalier
#182
Salut Targus,

si ça peut t'aider la regexp :

#([^#][\n]*){220,}#


va cibler tout groupe de plus de 220 caractères différent de # situés entre 2#, les retour à la ligne comptent pour un caractère. Tu peux utilise ça dans notePad ++ comme To_an te l'as indiqué.



Pour tes variables, tu n'as aucun moyen de savoir leur type ?

Par exemple pas de "%Town" qui te renverrai uniquement des villes ?

Parce que si c'est le cas je peux te bricoler assez rapidement un programme auquel tu indiques le pire cas possible pour chaque type de variable, la longueur maximale d'une ligne (dans un fichier de config) et le fichier à vérifier ( en paramètre) et qui te renvoie les numéro des lignes trop longue ainsi que le nombre de caractères excédentaires.
all_zebest
Héros
#183
Si tu faisais ça, je te décernerais le prix Zebest du technicien !
targus
Paladin
#184
- Pour la variable "province", dans le fichier "province_name", le nom le plus long possède 29 caractères,
- Mais pour la variable "nom du joueur", c'est aléatoire et on pourrait se fixer un nombre maximum de caractère par exemple de 10 caractères.
- Pour les textes, il me faudrait des captures d'écran afin de m'assurer qu'il s'agit bien du fichier "dialog.var" qui est à reprendre et également compter le nombre exact de caractères maximum rentrant dans la fenêtre de dialogues.
targus
Paladin
#185
Le nombre de caractères affichés dans la fenêtre se compte entre # (début texte) et ##### (fin de texte).
Par contre, en lançant le jeu, j'ai vu qu'il y avait déjà 2 fenêtres de dialogues différentes, une pour le tutorial et une autre pour l'apprentissage où le Maître guide le héros dans ses premiers pas. Cette deuxième fenêtre contient environ 450 caractères. Mais je me demande s'il n'existe pas une troisième fenêtre de dialogue plus grande, que l'on retrouve plus tard dans le jeu ? En effet, j'ai repéré le dialogue suivant :

Text: #Un chaman dans la province de %s a trouve quelques rares champignons dans la foret locale. Leur extrait augmente significativement le potentiel magique. Ramasser ces champignons aboutira a augmenter significativement le revenu de gemmes dans la province.
Cependant, la parcelle de foret ou poussent les champignons doit etre eclairci prochainement. Si vous abattez les arbres, les champignons disparaitront, mais si vous interdisez l'eclaircissement, cela nuira au revenu d'or. Quels sont vos ordres, Maitre ?#
Answer1: Interdisez l'abattage des arbres !;
Answer2: L'or est beaucoup plus important que les gemmes. Nous ferons sans les champignons.;
Answer3: Ne me derangez plus avec des questions aussi insignifiantes !;#####

Il y a environ 700 caractères, et le dialogue en anglais comprend environ 650 caractères, donc ça ne peut pas tenir dans le fenêtre à 450 caractères. Je ne vais pas tronquer ce dialogue à 450 caractères si ça s'avère que ce n'est pas nécessaire. C'est un vrai casse-tête ce projet.
Je reste en stand-by en attendant plus de précisions de la part de joueurs.
kworld
Chevalier
#186
J'ai jeté un œil aux fichiers, les variable ne sont pas fortement typées, grosso modo %s pour un string, %d pour un chiffre. Donc pas moyen de savoir si le %d se réfère a une ville , au nom du personnage, une province , une classe , ...

Je peux te bricoler un truc quand même, tout les %s auront la même taille max et je considère les %d comme comprenant 3 chiffres donc t'auras des faux positifs dans les lignes signalées. Mais ça te permettra de faire un élagage quand même.

Je te fais ça d'ici ce soir.

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

kworld
Chevalier
#187
Targus,

dans le fichier dialog.var, les fnetre de dialog sont structurée comme suit :


/625 (Герой - половина трофея 1)
Window: 4;
Bitmap: 57;
Text: #Le Heros accepte volontiers de vous donner la moitie des trophees en tant que maitre de ces terres.#
Answer1: Excellent. Mettez ca dans la tresorerie.;
Answer2: Je le mets au defi de refuser !;#####



les champs window et bitmap permettent peut-être de définir le type de boite de dialogue, as-tu essayé de les modifier ?

EDIT : Je viens de faire le test avec la fenêtre d'abandon de partie et c'est bien ça tu peux switcher de type de fenêtre à l'aide des combinaison de windows/bitmap =). Et donc utiliser des fenêtres plus grandes au besoin.


Je vais voir maintenant si il n'y à pas moyen d'ajouter un type de fenêtre customisé, pour pouvoir conserver le cohérence entre l'image de fond de la fenêtre et son contenu textuel.


Si c'est le cas il n'y aura plus besoin de réduire les texte seulement de changer les fenêtres.


EDIT 2: Toutes mes confuses ! Il suffit normalement de ne pas éditer le champ bmp et de n'éditer que le type de fenêtre. Du coup l’icône reste la bonne et c'est tout bon.

En tâtonnant un peu on va trouver les fenêtres qui contiennent le plus grand nombre de caractères maximum. Et remplacer celle d'origine quand le besoin s'en fait sentir !

une fois qu'on à les info de base, y'a même moyen d'automatiser le traitement avec un petit programme ou un petit script (si le nombre de caractères est supérieur au max du type de fenêtre on passe au type supérieur, si on est au max du max c'est signalé comme texte à raccourcir.)

J'ai également accès aux outils permettant d'éditer les fichiers .dat donc si certains textes sont inclus uniquement dans des bitmaps je peux les éditer.

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

targus
Paladin
#188
Voici 3 captures d'écran qui permettent déjà de voir que les options de réponse sont séparées du texte principal.
La fenêtre normale pour ce texte est la numéro 2. J'ai testé avec les fenêtres 3 à 5 (la 5 n'affiche rien).
Le numéro de Bitmap dans le fichier affiche l'image à gauche du texte principal.



Voici la capture d'écran la plus intéressante, car elle permet de déterminer avec exactitude le nombre de caractère entrant dans la fenêtre 2 ; j'ai pris pour essai le texte qui me semblait le plus long dans le fichier dialog.var.
Il doit y avoir 478 caractères, mais il manque la fin du texte, càd 32 caractères dans cet exemple.




Sur 478 caractères, le dernier exemple (texte long) ne possède pas de variables.
Pour les dialogues avec %s représentant des unités ennemis, on pourrait réserver 30 caractères.
Pour les %s représentant le nom du joueur, on peut réserver 10 caractères.
L'ennui, c'est les zones "blanches" laissées par un mot qui ne peut pas s'écrire en fin de ligne ; dans l'exemple avec texte long, on doit perdre pas loin de 40 caractères.

Si je prends comme objectif 420 caractères, on ne devrait pas avoir trop de textes tronqués, et peut-être aucun.

Je m'aperçois également que les options de réponse dans le dernier exemple sont trop longs !!

Message édité pour la dernière fois le : 19/01/2018 à 16:07

kworld
Chevalier
#189
On peut ajouter un "coupeur' mot automatique dans le programme.
En gros on définit en plus la longueur maximale d'une ligne, si on dépasse cette longueur pouf on colle un \n pour passer à la ligne que le mot soit fini ou non.

Bon en faisant ça basiquement ça peut donner des truc moyen du genre "Maison" coupé en deux juste après le "M", mais en ajoutant des conditions on pourrait arriver à un compromis propre.


En faisant ça on peut savoir également si le texte dépasse le nombre de caractères maximum en prenant en compte l'espace perdu par les saut de ligne volontaires.


Je suis pas certain d'être clair sur ce coup là ^^...

Message édité pour la dernière fois le : 19/01/2018 à 16:18

targus
Paladin
#190
Je vais attaquer le fichier "dialog.var" en limitant les textes principaux à 470 caractères et ceux avec des variables à 420 caractères.
Pour les mots coupés en fin de ligne, on ne peut pas couper n'importe comment - par exemple pour "Maison", avoir un "M" en fin de ligne et "aison" à la ligne suivante. Faire ça proprement serait laisser "Mai" en fin de ligne et "-son" à la ligne suivante (ou Mai- et son ?)

Alors, peut-être faudra-t-il reprendre également le fichier "campagn_dialog" ?
Il faut également vérifier le fichier "tutorial", car j'ai aperçu un texte trop long d'un mot seulement.
Il faut vraiment pinailler.
kworld
Chevalier
#191
Je vais attaquer le fichier "dialog.var" en limitant les textes principaux à 470 caractères et ceux avec des variables à 420 caractères.
Pour les mots coupés en fin de ligne, on ne peut pas couper n'importe comment - par exemple pour "Maison", avoir un "M" en fin de ligne et "aison" à la ligne suivante. Faire ça proprement serait laisser "Mai" en fin de ligne et "-son" à la ligne suivante (ou Mai- et son ?)

Alors, peut-être faudra-t-il reprendre également le fichier "campagn_dialog" ?
Il faut également vérifier le fichier "tutorial", car j'ai aperçu un texte trop long d'un mot seulement.
Il faut vraiment pinailler.


Bon pour te simplifier la tâche sans pour autant tout automatiser, je vais te bricoler un truc ce soir qui te signalera les lignes à problèmes en prenant en compte les caractères perdus, lors des retours à la ligne (automatiques ou non ).


Pour le texte principal , je pars sur maximum 18 lignes de 30 caractères, avec un retour chariot automatiquement après ou avant un espace précédent un mot plus long que le nombre de caractères encore disponibles sur la ligne.

Pour les réponses je pense à maximum une ligne de 45 caractères.

( ces valeurs seront de tout façon facilement paramétrables.)

Avec ça on devrait pourvoir passer l’intégralité des fichiers à la moulinette en un temps record. ^^

targus
Paladin
#192
C'est 30 caractères max par ligne (voir le dernier screenshot)
Une variable %s va te compter 2 caractères...
kworld
Chevalier
#193
C'est 30 caractères max par ligne (voir le dernier screenshot)
Une variable %s va te compter 2 caractères...


Les variables je les remplace en amont pour mon calcul, 3 caractères pour les %d et pour les %s je partais sur un bon 15.

Mais pareil je vais mettre tout ça dans un fichier de conf pour ajuster ça au besoin.
kworld
Chevalier
#194
Voilà un premier jet : http://www.mediafire.com/file/k37cqq19x6bz1t1/EadorDialogChecker.zip Version plus à jour en bas de page


Bon par contre j'en ai profité pour tester le développement d'un programme multiplateforme avec .net core 2, donc pour pouvoir l'utiliser il faut que tu installes le "runtime" de .net core 2.x :

https://www.microsoft.com/net/download/visual-studio-sdks

Il faudra probablement redémarrer après l'installation.


Ça marche seulement avec les dialogues.var pour le moment donc dialog campain.var et dialog.var

Pour le lancer tu as juste a faire glisser le fichier var sur "run.bat", ça te créera un fichier out.txt à coté du fichier.var.


Le fichier out.txt est constitué d'une succession de block de textes de cette forme :


------------------------------

/16 ������ ����� Numéro du bloc posant problème ( les caractère russes qui suivent le numéro sur cette ligne ont été repris mais ils s’affichent mal )

Texte : 64 caractères de trop Texte trop long
Answer 2 : 57 caractères de trop Réponse n°2 trop longue
Answer 3 : 52 caractères de trop

------------------------------




EDIT : Voilà une nouvelle version qui intègre directement les dépendances, de ce fait pas besoin d'installer le "runtime" normalement :

http://www.mediafire.com/file/7h85mlbnou1nh6d/EadorDialogChecker_de%CC%81pendances-inte%CC%81gre%CC%81es.zip

Cette version intègre également le remplacement des %s par des mots de 15 caractères et les %d par des chiffres de 3 caractères, avant de procéder au contrôle.

Je n'ai pas mis la configuration des tailles dans un fichier externe pour ces premiers jets, c'est réglé comme suit :

Config.Config c = new Config.Config();

c.AnswerMaxLength = 30;
c.TextMaxLineLength = 30;
c.TextMaxTotalLength = 470;

c.VariableDecimalLength = 3;
c.VariableStringLength = 15;


EDIT 2: J'ai mis à jour le 2ème lien mediafire avec une version corrigeant un soucis tout con de boucle infinie...

Message édité pour la dernière fois le : 20/01/2018 à 11:24

targus
Paladin
#195
@kworld
je ne peux pas m'en occuper avant lundi ou mardi. Je vais toujours télécharger ton utilitaire
Boon947
Novice
#196
Hello,

En ma qualité de "traducteur officiel RU>EN du mod officieux New Horizons", je peux apporter quelques précisions utiles.

La fenêtre de type 2 mesure 500x400 pixels. Avec la taille de police choisie, cela correspond à 18 lignes de 32 caractères, soit un maximum absolu de 576 caractères. Comme vous l'avez remarqué, le line wrap diminue ce maximum théorique. Il est important de noter qu'un texte trop long, outre le fait d'être tronqué à l'affichage, provoque un buffer overflow et rend le jeu instable !

Pour les curieux, l'URL du mod New Horizons en anglais :
http://eador.com/B2/viewtopic.php?t=4241

A+
kworld
Chevalier
#197
Merci pour les infos Boon, je vais mettre à jour mon outil pour utiliser tes valeurs, comme ça on aura une idée encore plus juste des textes à reprendre.

Le Line wrap y est pris en compte et les variables sont gérés ( bon à taille fixe par type).

J'ai pas mal squatté le forum des créateurs de New Horizon ces derniers jours.
J'ai l'impression qu'ils on le code source du jeu en leur possession ( portage de l'exécutable sous linux !), ils sont en relation avec les développeurs ?
Boon947
Novice
#198
Hello kworld,

Tu as vu juste, les développeurs de NH ont bien le code source de Genesis.

En fait, c'est moi qui ai porté Genesis sous Linux :-)

http://www.rpgfrance.com/taverne-topic-16487-4-eador-genesis-traduction-francaise#post97

A+
targus
Paladin
#199
@kworld,
J'ai jeté un coup d'oeil sur ton utilitaire. Une ligne de "Answer" devrait faire 50 caractères (d'après le fichier anglais) et non 30 caractères. Comment modifier ce réglage dans ton utilitaire ?
Pour le texte principal, au moins il y aura une marge de manoeuvre pour les "line wrap" (un terme que je ne connaissais pas) en fonction de la longueur de la des variables %s que tu as mis à 15 caractères (nom d'une province et nom du joueur) et environ 35 caractères pour les line wrap.
Certaines textes comportent des lignes qui ne font pas 30 caractères, celles où les éclaireurs précisent le nombre et le type d'unités repérées. Mais tant pis, au moins on sera sûr que l'ensemble du texte tiendra dans la fenêtre de dialogue.

Donc, juste le réglage des "answers" modifier.
jpdonald
Citoyen
#200
Bonjour,

Je constate que la traduction ne possède pas les accents !!!!!
Pour info

Les caractères utilisent une image bitmap (PaintBrush ) -->



Là encore il suffit de modifier quelques caractères sur la bitmap et adapter le texte en conséquence. On peut remarquer les caractères russes... il y a donc de la place pour les minuscules et majuscules accentuées françaises.

Problème des accents résolu.
jpdonald