1. Le forum de Minecraft-France va définitivement fermer ses portes. Celui-ci restera en lecture seule mais vous ne pourrez plus y apporter de nouveaux topics. Nous vous invitons à nous rejoindre sur le Discord de Minecraft-France qui permet de présenter vos projets, discuter avec la communauté etc.. Merci à tous d'avoir fait vivre ce forum de nombreuses années. Pour nous rejoindre sur Discord, Cliquez ici

Autres [1.6+] Resource Pack - Langues

Discussion dans 'Tutoriels' créé par Redz, 11 Mai 2016.

  1. Redz

    Redz Résident de l'End

    Inscrit:
    7 Sept 2014
    Messages:
    5 289
    Points:
    249
    Créer un pack de ressources basique

    Minecraft est un des jeux les plus populaires de son temps ; il fallait bien lui ajouter des langues ! Depuis Minecraft 1.1, sortie en janvier 2012, et toujours aujourd'hui, les traducteurs du jeu ajoutent toujours des langues. Plusieurs langues sont d'ailleurs fictives, ou même fun, comme la langue elfique, ou l'anglais en caractères renversés. (la plupart des langues fun d'aujourd'hui ont été ajoutées après la 1.9.2).

    Les resources pack (pack de ressources en français) ont la possibilité de changer des traductions d'une langue, ou même d'en ajouter !

    Logiciels nécessaires :
    Extracteur de fichier (je vous conseille 7-zip)
    Editeur de texte hors bloc-notes (Sublime text ou Notepad++)

    I/ Où trouver ces fichiers de langage (en .lang) ?

    Les fichiers lang se trouveront dans deux endroits différents.

    Pour l'Anglais des États-Unis (langue de base de Minecraft) :
    • Il est dans votre .minecraft\versions
    • Choisissez ensuite la version du fichier (si vous cherchez en 1.7 vous n'aurez pas les traductions des versions des nouveaux objets 1.8 par exemple).
    • Ouvrez le fichier en .jar avec un logiciel d'extraction de fichier (7zip par exemple).
    • Pour finir, ouvrez assets\minecraft\lang (vous reconnaissez la structure d'un resource pack) et le fichier en .lang est bien ici.
    Pour le reste des langues,
    • Vous irez dans .minecraft\assets\indexes\
    • Vous aurez le nom des versions .json normalement, pareil, ouvrez la version que vous souhaitez (même explication qu'au dessus) avec un éditeur de texte (Notepad++ par exemple, JE VOUS DÉCONSEILLE BLOC NOTE car il ne prend pas en compte les sauts à la ligne et c'est illisible).
    Vous voyez beaucoup de caractères dans une structure de programmation, ne prenez pas peur.
    En effet, depuis la 1.7, Mojang a décidé de crypter l'assets\virtual, ancien lieu des langues, mais aussi des sons.

    (pour trouver la langue que vous recherchez n'hésitez pas à utiliser le CTRL+F)

    Vous voyez quelque chose du style :
    Code (cpp):

    "minecraft/lang/fr_CA.lang": {
      "hash": "723c4b7b38e8b6b31f4553839b39dbd012bb8ffb",
      "size": 147529
      },
     


    Vous pouvez voir sur la première ligne le type de fichier, par exemple pour les sons, c'est "minecraft/sounds/DOSSIER+LE SON.ogg", mais ce qui nous intéresse sont les langues : "minecraft/lang/NOM CODIFIÉ DE LA LANGUE.lang"

    Exemple de composition du nom codifié de la langue :
    fr = nom de la langue, ici le français et CA = région/pays parlant la langue, ici le Canada (me tapez pas c'est pas moi c'est Mojang)
    • Sur la deuxième ligne, on voit "hash :" suivi d'une valeur, c'est grâce à cette valeur que l'on trouve sa localisation.
    • Gardez cette fenêtre ouverte, puis retournez dans votre explorateur de fichiers,
    • D'assets/indexes vous passez à assets/objects.
    • Vous voyez des dossiers contenant 2 caractères, ces 2 caractères correspondent aux 2 premiers caractères de votre valeur "hash" relevée au dessus.
    • Ouvrez ce dossier, et vous voyez un nombre variable de fichiers.
    • Leur nom est la valeur complète du "hash", trouvez le fichier qui vous intéresse.
    • Ouvrez le fichier avec un éditeur de texte.
    • Vous avez trouvé votre langue !

    II/ Le fonctionnement ~très simple~ des fichiers lang

    • Enregistrez votre fichier quelque part sur votre ordinateur avec le nom codifié de la langue (trouvé en haut)

    Code (cpp):
    achievement.acquireIron=L'âge du fer
    A gauche vous avez "l'ID" de la chose à traduire, égal, à droite, comment est-il rendu.
    Il est très simple de modifier des valeurs de la langue, vous changez juste ce texte de droite, ne touchez pas à la gauche, sinon "l'ID" ne serait plus le même.

    Vous pouvez même ajouter vos propres "ID" sur ce fichier, qui ne seront, par contre, pas utilisables, excepté sur une map contenant ce pack, à l'aide de commandes [Les utiliser grâce au format JSON, III B., tutoriel de @Mlakuss]

    Vous verrez parfois des "%s" ou d'autres caractères commençant par %, ce sont tout simplement des variables :
    Code (cpp):
    achievement.openInventory.desc=Appuyez sur "%1$s" pour ouvrir l'inventaire.
    Par exemple, %1$s signifie la touche à laquelle est assignée l'inventaire (E par défaut)
    Exemple plus connu :
    Code (cpp):
    death.attack.player=%1$s s'est fait tuer par %2$s
    Ici, %1$s signifie qui a été tué par qui, signifié par %2$s
    Il est conseillé de ne pas les changer, mais vous pouvez par contre les changer de place, faire ceci n'a aucun problème.
    Code (cpp):
    death.attack.player=Vainqueur : %2$s Perdant : %1$s
    Il est aussi possible d'utiliser des couleurs grâce aux codes de formatage §
    Ainsi il est possible de faire ceci :
    Code (cpp):
    item.apple.name=§cPomme
    III/ Ajouter une langue customisée, non-existante dans Minecraft

    Ce n'est pas très connu, mais il est possible d'ajouter ses propres langues dans Minecraft.

    Pour ceci créez votre fichier de langue renommez-le comme vous le souhaitez sous forme d'un nom codifié.

    Ensuite allez dans votre pack.mcmeta (celui qui se trouve dans le premier dossier d'un pack normalement)

    Ajoutez une accolade "{"language":{}}" (ce sont les mêmes syntaxes que les NBT tags des commandblocks ou pour le /tellraw, c'est le JSON)

    Ajoutez ensuite un "tag" construit de cette façon
    Code (cpp):

    "fr_FR": {
      "region": "France",
      "name": "Français",
      "bidirectional": false
      },
     
    (N'oubliez pas les virgules quand vous ajoutez plusieurs langues)

    Sur la première ligne, vous avez le nom codifié (+le nom) de votre fichier.
    Ensuite vous avez "region", c'est à dire le lieu où la langue est parlée, cet info est affiché lors de la séléction des langues.
    Puis "name", c'est-à-dire le nom de la langue, cet info est affiché lors de la séléction des langues.
    Et bidirectional, qui semble permettre à "region" de se mettre à gauche ~au lieu de droite~ de "name" lors du choix de langue, si mis sur true.

    Il existe un fichier modèle dans l'indexes\*.json, trouvable de la même façon que précédemment, sous le nom de "pack.mcmeta", le même nom donc.
     
    • J'aime J'aime x 3
  2. Mlakuss

    Mlakuss Rédacteur

    Inscrit:
    7 Sept 2013
    Messages:
    1 694
    Points:
    180
    Sexe:
    Homme
    Complément d'informations:

    Le fichier lang doit être enregistré en UTF-8 (ou Unicode ? Il faut que je vérifie C'est bien UTF-8) pour les caractères spéciaux (le symbole paragraphe, '§' en fait partie). En tout cas, pas en ANSI.

    La première ligne des fichiers .lang doit être vide.
     
    • Informatif Informatif x 3
    #2 Mlakuss, 11 Mai 2016
    Dernière édition: 11 Mai 2016

Partager cette page