Aller au contenu


Fix For Non Displayed Accented Characters In Skyrim -French-


  • Veuillez vous connecter pour répondre
30 réponses à ce sujet

#26 Jacob Bronsky

Jacob Bronsky

    Les mots s'arrêtent à TABRONEH.


Posté 02 mai 2014 - 08:26

Hey, joli progrès ! Alors ça marche aussi pour les noms d'objets qu'on enchante ? Je pourrai faire mon Bâton-Fléau Vélothi ? :D
Que le Bar,
Même tard,
Restera ouvert.

#27 MagikMike

MagikMike

    Crétins de bugs !


Posté 02 mai 2014 - 08:54

Juste magique !
PNOG
PNOS

On a toujours besoin d'un petit PNO chez soi (merci Neluche)

#28 Majora

Majora

Posté 02 mai 2014 - 10:35

Oui, quand on y pense, c'était logique, Skyrim étant en UTF-8, si les caractères acceptés dans la liste de ceux valides ne sont pas écrits en UTF-8, il n'acceptera pas dans le jeu de valider si on les tape. Or, maintenant, il accepte tous les accents que l'on peux taper, je peux enfin créer de jolis noms d'objets enchantés sans me soucier qu'il ne me l'accepte pas.

Mon prochain objectif sera de faire reconnaître Alt et Alt Gr au jeu, après tout, ces deux touches sont reconnues dans le fichier keyboard_french et les autres, au cas où elles apparaissent dans les codes du jeu, donc ce n'est pas un problème du fait que SKyrim ne les connais pas.  
Mais ça, ce sera pour un nouveau sujet quand j'aurais avancé un peu plus ;) En attendant, j'espère que cette petite avancée dans les accents aidera beaucoup de gens.

Edit: Le seul endroit où cela bug c'est dans les notes avec les Alias=Player, il ne remplace pas les é par é, et je ne vois pas comment on pourrait lui faire changer d'avis, car dites-moi si je me trompe mais, le fait qu'il n'y a que dans les Alias=Player que le couple de caractères n'est pas remplacé veut dire que c'est peut être inhérent au Papyrus et je ne vois pas comment faire là, je sèche :P

Edit2: Bon j'ai utilisé Elenwen pour son dialogue lors de la quête Immunité Diplomatique, car notre nom (Alias=Player) fait partie d'un dialogue, et il s'affiche bien correctement.
Je pense donc en déduire que dans les livres ou notes, les textes ne sont pas écrits en UTF-8 mais en autre chose, simple format HTML? CSS? Bref, comme cela n'est pas en UTF-8, lorsque le nom est repris, les caractères ne sont pas convertis normalement. Donc quels serait les moyens que cela le fasse?

Edit3: http://www.uesp.net/...ble_File_Format
Note that interpretation is done after alias lookup and substitution, so if the string used for an alias is in a different encoding to the string containing the alias, the combined string will not be displayed correctly. Note also that each localisation's fonts include incomplete character support, eg. the English localisation's font cannot display Cyrillic characters even when strings are encoded in UTF-8, nor can it display some of the lesser-used characters available in Windows-1252.

Voilà pourquoi dans les notes les caractères ne sont pas remplacés.
C'est bon, j'ai trouvé, Skyrim utilise bien l'UTF-8 en priorité, or quand dans un mot/note se trouve un caractère comme é, à, è etc... il ne le reconnait pas en tant qu'UTF-8 et passe en Windows-1252, bilan, les caractères tels que é dans le nom ne seront pas reconduits tels quels.
Or si l'on remplace juste tous les é par é et les autres caractères par leurs équivalents, de sorte qu'ils soient tous remplacés, alors le jeu lira bien la note/livre sous format UTF-8 et le nom s'affichera bien.
Mission: dans tous les strings_french de skyrim, à savoir Skyrim_French, Update_French, et les DLCs, remplacés les éèêëÊËàâäÂÄî etc etc... par leurs équivalents é è ê ë Ê etc... etc...

Y compris les caractères que l'on ne peut taper sans codes, comme les majuscules de é et ç, car ils peuvent apparaîtrent dans les textes, en gros y'a du boulot :P

Edit4: Bien, j'ai remplacé chaque caractère par leurs équivalents dans mes strings grâce à TEVTranslator, en remplaçant aussi les É È À Ç Ù et miracle, cela marche très très bien, maintenant, toutes mes notes/livres sont bien lues en UTF8 et les noms s'affichent très bien dans le jeu partout. J'hésite à aller dans l'excès et remplacer les oe par les œ et OE par Œ par perfectionnisme non?
Il me reste donc à faire update_french et les 3 add-ons :P

J'ai fais Skyrim_french / Update_french / Dawnguard_french, plus que Hearthfire et Dragonborn, et l'entièreté du jeu acceptera les accents.

Modifié par Majora, 04 mai 2014 - 13:53.


#29 Majora

Majora

Posté 04 mai 2014 - 19:48

Nouveau message car voilà, j'ai mis tous les strings français en UTF8, et ils affichent parfaitement les noms dans tout le jeu, sous toutes ces formes.

Cependant, ce sont les strings de Skyrim et de ses Add-Ons en Vanilla, il ne passeront donc pas en priorité sur ceux du PNOS. Autrement dit, il faudrait soit modifier les strings présents dans le PNOS, soit réécrire les modifications des strings dans les nouveaux et remplacer les anciens strings du PNOS par les nouveaux.

Modifié par Majora, 04 mai 2014 - 21:54.


#30 Nico coiN

Nico coiN

    Commissaire Magret


Posté 04 mai 2014 - 22:59

Eh bien, quel boulot ! Merci pour ton investisement sur ce problème. À ma connaissance il n'y a pas de e dans l'o dans tout Skyrim (et pareil pour les DLC).

Hélas, ceci ne pourra pas atterrir dans le PNOS en l'état. Si j'ai bien compris, pour que l'astuce fonctionne il faut que l'intégralité des caractères spéciaux du jeu soit remplacée par leur équivalent en UTF-8. Soit.

Et qu'en est-il des mods ? Parce que si on inclus ça dans le PNOS je vois déjà arriver les critiques du genre :

Citation

Depuis l'installation du dernier PNOS sur mon jeu ayant plein de mods, j'ai plein de textes avec des caractères bizarres et incompréhensibles.
En effet, cette astuce devrait être étendue à absolument tous les mods installés contenant du texte...

On ne peut décidément pas instaurer une fonctionnalité qui va poser problème à quasiment tout le monde. C'est pour ça que je dis que ça ne peut pas être fait en l'état. Finalement cest peut-être cette raison qui a poussé Bethesda à retirer la saisie des caractères accentués lors d'une des toutes premières mises à jour du jeu, début 2012).

Par contre, (je dis bien par contre), maintenant qu'on connaît bien le problème il me paraît envisageable de créer un plugin pour SKSE qui se chargerait de faire ça à la volée. Après tout, les endroits précis où le problème se pose sont peu nombreux et connus. Alors pourquoi ne pas échanger un é par un é dynamiquement, uniquement au moment où on est censés le voir, et juste sur l'affichage (parce que modifier réellement le contenu d'un alias en cours de partie est une très mauvaise idée).

Autre idée : modifier réellement l'alias, mais ne faire ça qu'à l'écran de création du personnage, immédiatement après avoir validé la création. Seule la saisie pose problème si j'ai bien compris ? Donc si on saisit des caractères spéciaux puis que le plugin les convertit en caractères acceptables pour le jeu avant de remplir tous les alias concernés... Ben je dirais qu'une fois que c'est dans la boîte, il n'y a plus de souci ensuite... Pareil pour la saisie des noms lors d'enchantement, etc...

Et si on veut aller plus loin, un plugin SKSE dédié (ou le même) pourrait aussi permettre d'accepter toute combinaison Alt+xxxx, non ?
Canard mystique, grand instigateur et créateur de la carpe d'ondepluie.

#31 Majora

Majora

Posté 05 mai 2014 - 00:15

Oui, j'ai compris comment Skyrim marche en ce qui concerne l'anglais et le français, il lit en UTF-8 en premier, et si il tombe sur un caractère non encodé, il passe à Windows-1252, sûrement pour éviter les erreurs et le CTD (Crash To Desktop).

Ce qui donne comme scénarii:

Lecture en UTF-8 => caractère non encodé: é => Encodage du texte en Windows-1252. Affichage en jeu: é
ou:
Lecture en UTF-8 => caractère déjà codé: é => Encodage du texte toujours en UTF-8. Affichage en jeu: é
ou
Lecture en UTF-8 => caractère déjà codé: é et présence d'un caractère non encodé: é => Encodage du texte en Windows-1252. Affichage en jeu: é et é

Le truc c'est que dans Skyrim en anglais, les accents ne se trouvent pas et il n'y en a normalement nul part, ce qui fait que le jeu n'encodera jamais théoriquement en Windows-1252, donc rajouter les caractères codés en UTF-8 sur la ligne validNameChar dans fontconfig.txt permet à quelqu'un jouant en anglais de pouvoir utiliser des accents sans aucune répercussion négative, les seuls accents pouvant apparaître dans le jeu étant dans l'Alias du Joueur et de ce fait déjà sous forme UTF-8.

Le véritable problème comme tu l'as dis, c'est qu'à la base quand les strings_french officiels ont été fait, les développeurs ont écrit sans convertir en UTF-8, sans doute à cause d'une petite flemme, ne voulant pas faire ce petit effort en plus pour quelque chose qu'ils devaient juger obsolète. Cependant, ils savaient ce que cela impliquerait en faisant cela, et donc que le fait de mettre un caractère spécial en UTF-8 dans son nom ferait "bugger" l'affichage, c'est donc pour cette raison qu'ils ont bloquer les accents et autres dans le nom des personnages, pour palier je pense à cette petite flemme ^^.
Je pense cependant que si ils avaient pris le temps de coder tous les accents dans les strings, de sorte que le jeu continue à tout le temps lire en UTF-8 comme la version anglaise, les moddeurs français auraient vus que il fallait faire comme cela et aurait de eux même pris la peine d'encoder en UTF-8 leurs mods.
Résultats, maintenant on se retrouve comme tu l'as dis à cette habitude d'encoder "naturellement" en Windows-1252 les mods et strings quand on crée ou traduit des mods.
Même à la limite, refaire tout le PNOS en ré-encodant en UTF-8 ne serait pas si difficile (un peu long, c'est vrai par contre), il n'y a à la limite que les textes où apparaissent des scripts de "Remplacement de Texte" comme les "Alias=Player" à ré-encoder en UTF-8, sachant que si il n'y a pas de caractères spéciaux du genre é, è et à, il n'y a même pas besoin de le faire, mais il est vrai que des conflits avec d'autres mods apparaîtront sûrement.
Les anglais ont vraiment la belle vie, leur jeu n'encode normalement jamais en Windows-1252, et en français c'était normalement aussi le cas, mais bénis soient ces gens qui ont décidés d'écrire é au lieu de é dans les strings...

Sinon, maintenant j'ai mon ensemble de strings (Skyrim, Update, Dawnguard, Hearthfire, Dragonborn) totalement Vanilla et sans corrections de fautes etc... Donc si quelqu'un souhaite jouer sans aucun mods, il pourrait avec ceux-ci pouvoir jouer totalement normalement avec les caractères spéciaux et sans aucune répercussion, ni problème d'affichage où que ce soit.

J'espère quand même que malgré tout, cela aura aider à mieux comprendre le fonctionnement de Skyrim.

Modifié par Majora, 05 mai 2014 - 00:18.





0 utilisateur(s) li(sen)t ce sujet

0 membre(s), 0 invité(s), 0 utilisateur(s) anonyme(s)