summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar NebelNidas2022-10-10 13:25:02 +0200
committerGravatar NebelNidas2023-10-09 11:55:07 +0200
commitcc4154d610adf7aee7816279171a50fe074aa675 (patch)
treea68ff74ab7fc543c7476eb651d3cb59a8633ad76
parentAdd Mapping-IO import support; small cleanup (diff)
downloadenigma-cc4154d610adf7aee7816279171a50fe074aa675.tar.gz
enigma-cc4154d610adf7aee7816279171a50fe074aa675.tar.xz
enigma-cc4154d610adf7aee7816279171a50fe074aa675.zip
Add progress listener to Mapping-IO conversion; deduplicate lang files
-rw-r--r--enigma-swing/src/main/java/cuchaz/enigma/gui/GuiController.java16
-rw-r--r--enigma/src/main/java/cuchaz/enigma/translation/mapping/serde/MappingIoConverter.java24
-rw-r--r--enigma/src/main/java/cuchaz/enigma/translation/mapping/serde/enigma/EnigmaMappingsReader.java8
-rw-r--r--enigma/src/main/java/cuchaz/enigma/translation/mapping/serde/enigma/EnigmaMappingsWriter.java6
-rw-r--r--enigma/src/main/java/cuchaz/enigma/translation/mapping/serde/srg/SrgMappingsWriter.java4
-rw-r--r--enigma/src/main/java/cuchaz/enigma/translation/mapping/serde/tiny/TinyMappingsReader.java2
-rw-r--r--enigma/src/main/java/cuchaz/enigma/translation/mapping/serde/tinyv2/TinyV2Reader.java2
-rw-r--r--enigma/src/main/resources/lang/en_us.json16
-rw-r--r--enigma/src/main/resources/lang/fr_fr.json14
-rw-r--r--enigma/src/main/resources/lang/ja_jp.json13
-rw-r--r--enigma/src/main/resources/lang/zh_cn.json13
11 files changed, 62 insertions, 56 deletions
diff --git a/enigma-swing/src/main/java/cuchaz/enigma/gui/GuiController.java b/enigma-swing/src/main/java/cuchaz/enigma/gui/GuiController.java
index 73472ca9..5b04f3cf 100644
--- a/enigma-swing/src/main/java/cuchaz/enigma/gui/GuiController.java
+++ b/enigma-swing/src/main/java/cuchaz/enigma/gui/GuiController.java
@@ -157,9 +157,18 @@ public class GuiController implements ClientPacketHandler {
157 EntryTree<EntryMapping> mappings; 157 EntryTree<EntryMapping> mappings;
158 158
159 if (useMappingIo) { 159 if (useMappingIo) {
160 String loadingMessage;
161
162 if (format.getMappingIoCounterpart().hasSingleFile()) {
163 loadingMessage = I18n.translate("progress.mappings.loading_file");
164 } else {
165 loadingMessage = I18n.translate("progress.mappings.loading_directory");
166 }
167
168 progress.init(1, loadingMessage);
160 MemoryMappingTree mappingTree = new MemoryMappingTree(); 169 MemoryMappingTree mappingTree = new MemoryMappingTree();
161 MappingReader.read(path, format.getMappingIoCounterpart(), mappingTree); 170 MappingReader.read(path, format.getMappingIoCounterpart(), mappingTree);
162 mappings = MappingIoConverter.fromMappingIo(mappingTree); 171 mappings = MappingIoConverter.fromMappingIo(mappingTree, progress);
163 } else { 172 } else {
164 mappings = format.read(path, progress, saveParameters); 173 mappings = format.read(path, progress, saveParameters);
165 } 174 }
@@ -219,10 +228,13 @@ public class GuiController implements ClientPacketHandler {
219 loadedMappingPath = path; 228 loadedMappingPath = path;
220 229
221 if (useMappingIo) { 230 if (useMappingIo) {
222 MemoryMappingTree mappingTree = MappingIoConverter.toMappingIo(mapper.getObfToDeobf()); 231 MemoryMappingTree mappingTree = MappingIoConverter.toMappingIo(mapper.getObfToDeobf(), progress);
232
233 progress.init(1, I18n.translate("progress.mappings.writing"));
223 MappingWriter writer = MappingWriter.create(path, format.getMappingIoCounterpart()); 234 MappingWriter writer = MappingWriter.create(path, format.getMappingIoCounterpart());
224 mappingTree.accept(writer); 235 mappingTree.accept(writer);
225 writer.close(); 236 writer.close();
237 progress.step(1, I18n.translate("progress.done"));
226 } else if (saveAll) { 238 } else if (saveAll) {
227 format.write(mapper.getObfToDeobf(), path, progress, saveParameters); 239 format.write(mapper.getObfToDeobf(), path, progress, saveParameters);
228 } else { 240 } else {
diff --git a/enigma/src/main/java/cuchaz/enigma/translation/mapping/serde/MappingIoConverter.java b/enigma/src/main/java/cuchaz/enigma/translation/mapping/serde/MappingIoConverter.java
index d3fd341f..171f2526 100644
--- a/enigma/src/main/java/cuchaz/enigma/translation/mapping/serde/MappingIoConverter.java
+++ b/enigma/src/main/java/cuchaz/enigma/translation/mapping/serde/MappingIoConverter.java
@@ -3,6 +3,7 @@ package cuchaz.enigma.translation.mapping.serde;
3import java.util.Deque; 3import java.util.Deque;
4import java.util.LinkedList; 4import java.util.LinkedList;
5import java.util.List; 5import java.util.List;
6import java.util.stream.StreamSupport;
6 7
7import net.fabricmc.mappingio.MappedElementKind; 8import net.fabricmc.mappingio.MappedElementKind;
8import net.fabricmc.mappingio.tree.MemoryMappingTree; 9import net.fabricmc.mappingio.tree.MemoryMappingTree;
@@ -11,6 +12,7 @@ import net.fabricmc.mappingio.tree.MappingTree.FieldMapping;
11import net.fabricmc.mappingio.tree.MappingTree.MethodArgMapping; 12import net.fabricmc.mappingio.tree.MappingTree.MethodArgMapping;
12import net.fabricmc.mappingio.tree.MappingTree.MethodMapping; 13import net.fabricmc.mappingio.tree.MappingTree.MethodMapping;
13 14
15import cuchaz.enigma.ProgressListener;
14import cuchaz.enigma.translation.mapping.EntryMap; 16import cuchaz.enigma.translation.mapping.EntryMap;
15import cuchaz.enigma.translation.mapping.EntryMapping; 17import cuchaz.enigma.translation.mapping.EntryMapping;
16import cuchaz.enigma.translation.mapping.tree.EntryTree; 18import cuchaz.enigma.translation.mapping.tree.EntryTree;
@@ -23,16 +25,23 @@ import cuchaz.enigma.translation.representation.entry.Entry;
23import cuchaz.enigma.translation.representation.entry.FieldEntry; 25import cuchaz.enigma.translation.representation.entry.FieldEntry;
24import cuchaz.enigma.translation.representation.entry.LocalVariableEntry; 26import cuchaz.enigma.translation.representation.entry.LocalVariableEntry;
25import cuchaz.enigma.translation.representation.entry.MethodEntry; 27import cuchaz.enigma.translation.representation.entry.MethodEntry;
28import cuchaz.enigma.utils.I18n;
26 29
27public class MappingIoConverter { 30public class MappingIoConverter {
28 public static MemoryMappingTree toMappingIo(EntryTree<EntryMapping> mappings) { 31 public static MemoryMappingTree toMappingIo(EntryTree<EntryMapping> mappings, ProgressListener progress) {
32 List<EntryTreeNode<EntryMapping>> classes = StreamSupport.stream(mappings.spliterator(), false)
33 .filter(node -> node.getEntry() instanceof ClassEntry)
34 .toList();
35
36 progress.init(classes.size(), I18n.translate("progress.mappings.converting.to_mappingio"));
37 int steps = 0;
38
29 MemoryMappingTree mappingTree = new MemoryMappingTree(); 39 MemoryMappingTree mappingTree = new MemoryMappingTree();
30 mappingTree.visitNamespaces("intermediary", List.of("named")); 40 mappingTree.visitNamespaces("intermediary", List.of("named"));
31 41
32 for (EntryTreeNode<EntryMapping> node : mappings) { 42 for (EntryTreeNode<EntryMapping> classNode : classes) {
33 if (node.getEntry() instanceof ClassEntry) { 43 progress.step(steps++, classNode.getEntry().getFullName());
34 writeClass(node, mappings, mappingTree); 44 writeClass(classNode, mappings, mappingTree);
35 }
36 } 45 }
37 46
38 mappingTree.visitEnd(); 47 mappingTree.visitEnd();
@@ -131,10 +140,13 @@ public class MappingIoConverter {
131 mappingTree.visitComment(MappedElementKind.METHOD_ARG, methodArgMapping.javadoc()); 140 mappingTree.visitComment(MappedElementKind.METHOD_ARG, methodArgMapping.javadoc());
132 } 141 }
133 142
134 public static EntryTree<EntryMapping> fromMappingIo(MemoryMappingTree mappingTree) { 143 public static EntryTree<EntryMapping> fromMappingIo(MemoryMappingTree mappingTree, ProgressListener progress) {
135 EntryTree<EntryMapping> dstMappingTree = new HashEntryTree<>(); 144 EntryTree<EntryMapping> dstMappingTree = new HashEntryTree<>();
145 progress.init(mappingTree.getClasses().size(), I18n.translate("progress.mappings.converting.from_mappingio"));
146 int steps = 0;
136 147
137 for (ClassMapping classMapping : mappingTree.getClasses()) { 148 for (ClassMapping classMapping : mappingTree.getClasses()) {
149 progress.step(steps++, classMapping.getDstName(0) != null ? classMapping.getDstName(0) : classMapping.getSrcName());
138 readClass(classMapping, dstMappingTree); 150 readClass(classMapping, dstMappingTree);
139 } 151 }
140 152
diff --git a/enigma/src/main/java/cuchaz/enigma/translation/mapping/serde/enigma/EnigmaMappingsReader.java b/enigma/src/main/java/cuchaz/enigma/translation/mapping/serde/enigma/EnigmaMappingsReader.java
index 54613426..d5570e98 100644
--- a/enigma/src/main/java/cuchaz/enigma/translation/mapping/serde/enigma/EnigmaMappingsReader.java
+++ b/enigma/src/main/java/cuchaz/enigma/translation/mapping/serde/enigma/EnigmaMappingsReader.java
@@ -40,12 +40,12 @@ public enum EnigmaMappingsReader implements MappingsReader {
40 FILE { 40 FILE {
41 @Override 41 @Override
42 public EntryTree<EntryMapping> read(Path path, ProgressListener progress, MappingSaveParameters saveParameters) throws IOException, MappingParseException { 42 public EntryTree<EntryMapping> read(Path path, ProgressListener progress, MappingSaveParameters saveParameters) throws IOException, MappingParseException {
43 progress.init(1, I18n.translate("progress.mappings.enigma_file.loading")); 43 progress.init(1, I18n.translate("progress.mappings.loading_file"));
44 44
45 EntryTree<EntryMapping> mappings = new HashEntryTree<>(); 45 EntryTree<EntryMapping> mappings = new HashEntryTree<>();
46 readFile(path, mappings); 46 readFile(path, mappings);
47 47
48 progress.step(1, I18n.translate("progress.mappings.enigma_file.done")); 48 progress.step(1, I18n.translate("progress.done"));
49 49
50 return mappings; 50 return mappings;
51 } 51 }
@@ -60,7 +60,7 @@ public enum EnigmaMappingsReader implements MappingsReader {
60 EntryTree<EntryMapping> mappings = new HashEntryTree<>(); 60 EntryTree<EntryMapping> mappings = new HashEntryTree<>();
61 List<Path> files = Files.walk(root).filter(f -> !Files.isDirectory(f)).filter(f -> f.toString().endsWith(".mapping")).toList(); 61 List<Path> files = Files.walk(root).filter(f -> !Files.isDirectory(f)).filter(f -> f.toString().endsWith(".mapping")).toList();
62 62
63 progress.init(files.size(), I18n.translate("progress.mappings.enigma_directory.loading")); 63 progress.init(files.size(), I18n.translate("progress.mappings.loading_directory"));
64 int step = 0; 64 int step = 0;
65 65
66 for (Path file : files) { 66 for (Path file : files) {
@@ -102,7 +102,7 @@ public enum EnigmaMappingsReader implements MappingsReader {
102 throw new IllegalArgumentException("No paths to read mappings from"); 102 throw new IllegalArgumentException("No paths to read mappings from");
103 } 103 }
104 104
105 progress.init(paths.length, I18n.translate("progress.mappings.enigma_directory.loading")); 105 progress.init(paths.length, I18n.translate("progress.mappings.loading_directory"));
106 int step = 0; 106 int step = 0;
107 107
108 for (Path file : paths) { 108 for (Path file : paths) {
diff --git a/enigma/src/main/java/cuchaz/enigma/translation/mapping/serde/enigma/EnigmaMappingsWriter.java b/enigma/src/main/java/cuchaz/enigma/translation/mapping/serde/enigma/EnigmaMappingsWriter.java
index df1af912..73f29a16 100644
--- a/enigma/src/main/java/cuchaz/enigma/translation/mapping/serde/enigma/EnigmaMappingsWriter.java
+++ b/enigma/src/main/java/cuchaz/enigma/translation/mapping/serde/enigma/EnigmaMappingsWriter.java
@@ -58,7 +58,7 @@ public enum EnigmaMappingsWriter implements MappingsWriter {
58 public void write(EntryTree<EntryMapping> mappings, MappingDelta<EntryMapping> delta, Path path, ProgressListener progress, MappingSaveParameters saveParameters) { 58 public void write(EntryTree<EntryMapping> mappings, MappingDelta<EntryMapping> delta, Path path, ProgressListener progress, MappingSaveParameters saveParameters) {
59 Collection<ClassEntry> classes = mappings.getRootNodes().filter(entry -> entry.getEntry() instanceof ClassEntry).map(entry -> (ClassEntry) entry.getEntry()).toList(); 59 Collection<ClassEntry> classes = mappings.getRootNodes().filter(entry -> entry.getEntry() instanceof ClassEntry).map(entry -> (ClassEntry) entry.getEntry()).toList();
60 60
61 progress.init(classes.size(), I18n.translate("progress.mappings.enigma_file.writing")); 61 progress.init(classes.size(), I18n.translate("progress.mappings.writing"));
62 62
63 int steps = 0; 63 int steps = 0;
64 64
@@ -78,11 +78,9 @@ public enum EnigmaMappingsWriter implements MappingsWriter {
78 Collection<ClassEntry> changedClasses = delta.getChangedRoots().filter(entry -> entry instanceof ClassEntry).map(entry -> (ClassEntry) entry).toList(); 78 Collection<ClassEntry> changedClasses = delta.getChangedRoots().filter(entry -> entry instanceof ClassEntry).map(entry -> (ClassEntry) entry).toList();
79 79
80 applyDeletions(path, changedClasses, mappings, delta.getBaseMappings(), saveParameters.getFileNameFormat()); 80 applyDeletions(path, changedClasses, mappings, delta.getBaseMappings(), saveParameters.getFileNameFormat());
81
82 changedClasses = changedClasses.stream().filter(entry -> !isClassEmpty(mappings, entry)).collect(Collectors.toList()); 81 changedClasses = changedClasses.stream().filter(entry -> !isClassEmpty(mappings, entry)).collect(Collectors.toList());
83 82
84 progress.init(changedClasses.size(), I18n.translate("progress.mappings.enigma_directory.writing")); 83 progress.init(changedClasses.size(), I18n.translate("progress.mappings.writing"));
85
86 AtomicInteger steps = new AtomicInteger(); 84 AtomicInteger steps = new AtomicInteger();
87 85
88 Translator translator = new MappingTranslator(mappings, VoidEntryResolver.INSTANCE); 86 Translator translator = new MappingTranslator(mappings, VoidEntryResolver.INSTANCE);
diff --git a/enigma/src/main/java/cuchaz/enigma/translation/mapping/serde/srg/SrgMappingsWriter.java b/enigma/src/main/java/cuchaz/enigma/translation/mapping/serde/srg/SrgMappingsWriter.java
index 4621efef..5addcade 100644
--- a/enigma/src/main/java/cuchaz/enigma/translation/mapping/serde/srg/SrgMappingsWriter.java
+++ b/enigma/src/main/java/cuchaz/enigma/translation/mapping/serde/srg/SrgMappingsWriter.java
@@ -45,7 +45,7 @@ public enum SrgMappingsWriter implements MappingsWriter {
45 List<String> methodLines = new ArrayList<>(); 45 List<String> methodLines = new ArrayList<>();
46 46
47 List<? extends Entry<?>> rootEntries = Lists.newArrayList(mappings).stream().map(EntryTreeNode::getEntry).toList(); 47 List<? extends Entry<?>> rootEntries = Lists.newArrayList(mappings).stream().map(EntryTreeNode::getEntry).toList();
48 progress.init(rootEntries.size(), I18n.translate("progress.mappings.srg_file.generating")); 48 progress.init(rootEntries.size(), I18n.translate("progress.mappings.converting"));
49 49
50 int steps = 0; 50 int steps = 0;
51 51
@@ -54,7 +54,7 @@ public enum SrgMappingsWriter implements MappingsWriter {
54 writeEntry(classLines, fieldLines, methodLines, mappings, entry); 54 writeEntry(classLines, fieldLines, methodLines, mappings, entry);
55 } 55 }
56 56
57 progress.init(3, I18n.translate("progress.mappings.srg_file.writing")); 57 progress.init(3, I18n.translate("progress.mappings.writing"));
58 58
59 try (PrintWriter writer = new LfPrintWriter(Files.newBufferedWriter(path))) { 59 try (PrintWriter writer = new LfPrintWriter(Files.newBufferedWriter(path))) {
60 progress.step(0, I18n.translate("type.classes")); 60 progress.step(0, I18n.translate("type.classes"));
diff --git a/enigma/src/main/java/cuchaz/enigma/translation/mapping/serde/tiny/TinyMappingsReader.java b/enigma/src/main/java/cuchaz/enigma/translation/mapping/serde/tiny/TinyMappingsReader.java
index 534a567c..1575f468 100644
--- a/enigma/src/main/java/cuchaz/enigma/translation/mapping/serde/tiny/TinyMappingsReader.java
+++ b/enigma/src/main/java/cuchaz/enigma/translation/mapping/serde/tiny/TinyMappingsReader.java
@@ -35,7 +35,7 @@ public enum TinyMappingsReader implements MappingsReader {
35 EntryTree<EntryMapping> mappings = new HashEntryTree<>(); 35 EntryTree<EntryMapping> mappings = new HashEntryTree<>();
36 lines.remove(0); 36 lines.remove(0);
37 37
38 progress.init(lines.size(), I18n.translate("progress.mappings.tiny_file.loading")); 38 progress.init(lines.size(), I18n.translate("progress.mappings.loading_file"));
39 39
40 for (int lineNumber = 0; lineNumber < lines.size(); lineNumber++) { 40 for (int lineNumber = 0; lineNumber < lines.size(); lineNumber++) {
41 progress.step(lineNumber, ""); 41 progress.step(lineNumber, "");
diff --git a/enigma/src/main/java/cuchaz/enigma/translation/mapping/serde/tinyv2/TinyV2Reader.java b/enigma/src/main/java/cuchaz/enigma/translation/mapping/serde/tinyv2/TinyV2Reader.java
index eecbc35b..28185f58 100644
--- a/enigma/src/main/java/cuchaz/enigma/translation/mapping/serde/tinyv2/TinyV2Reader.java
+++ b/enigma/src/main/java/cuchaz/enigma/translation/mapping/serde/tinyv2/TinyV2Reader.java
@@ -46,7 +46,7 @@ public final class TinyV2Reader implements MappingsReader {
46 private EntryTree<EntryMapping> read(Path path, List<String> lines, ProgressListener progress) throws MappingParseException { 46 private EntryTree<EntryMapping> read(Path path, List<String> lines, ProgressListener progress) throws MappingParseException {
47 EntryTree<EntryMapping> mappings = new HashEntryTree<>(); 47 EntryTree<EntryMapping> mappings = new HashEntryTree<>();
48 48
49 progress.init(lines.size(), "progress.mappings.tiny_v2.loading"); 49 progress.init(lines.size(), "progress.mappings.loading_file");
50 50
51 BitSet state = new BitSet(STATE_SIZE); 51 BitSet state = new BitSet(STATE_SIZE);
52 @SuppressWarnings({"unchecked", "rawtypes"}) MappingPair<? extends Entry<?>, RawEntryMapping>[] holds = new MappingPair[STATE_SIZE]; 52 @SuppressWarnings({"unchecked", "rawtypes"}) MappingPair<? extends Entry<?>, RawEntryMapping>[] holds = new MappingPair[STATE_SIZE];
diff --git a/enigma/src/main/resources/lang/en_us.json b/enigma/src/main/resources/lang/en_us.json
index 421620e9..2a3cfb2d 100644
--- a/enigma/src/main/resources/lang/en_us.json
+++ b/enigma/src/main/resources/lang/en_us.json
@@ -137,6 +137,7 @@
137 "log_panel.messages": "Messages", 137 "log_panel.messages": "Messages",
138 "log_panel.users": "Users", 138 "log_panel.users": "Users",
139 139
140 "progress.done": "Done!",
140 "progress.operation": "%s - Operation in progress", 141 "progress.operation": "%s - Operation in progress",
141 "progress.jar.indexing": "Indexing jar", 142 "progress.jar.indexing": "Indexing jar",
142 "progress.jar.indexing.entries": "Entries...", 143 "progress.jar.indexing.entries": "Entries...",
@@ -147,15 +148,12 @@
147 "progress.sources.writing": "Writing sources...", 148 "progress.sources.writing": "Writing sources...",
148 "progress.classes.deobfuscating": "Deobfuscating classes...", 149 "progress.classes.deobfuscating": "Deobfuscating classes...",
149 "progress.classes.decompiling": "Decompiling classes...", 150 "progress.classes.decompiling": "Decompiling classes...",
150 "progress.mappings.enigma_file.loading": "Loading mapping file", 151 "progress.mappings.loading_file": "Loading mapping file",
151 "progress.mappings.enigma_file.done": "Done!", 152 "progress.mappings.loading_directory": "Loading mapping files",
152 "progress.mappings.enigma_file.writing": "Writing classes", 153 "progress.mappings.writing": "Writing classes",
153 "progress.mappings.enigma_directory.loading": "Loading mapping files", 154 "progress.mappings.converting": "Converting mappings",
154 "progress.mappings.enigma_directory.writing": "Writing classes", 155 "progress.mappings.converting.to_mappingio": "Converting to Mapping-IO",
155 "progress.mappings.tiny_file.loading": "Loading mapping file", 156 "progress.mappings.converting.from_mappingio": "Converting from Mapping-IO",
156 "progress.mappings.tiny_v2.loading": "Loading mapping file",
157 "progress.mappings.srg_file.generating": "Generating mappings",
158 "progress.mappings.srg_file.writing": "Writing mappings",
159 "progress.stats": "Generating stats", 157 "progress.stats": "Generating stats",
160 "progress.stats.data": "Generating data", 158 "progress.stats.data": "Generating data",
161 159
diff --git a/enigma/src/main/resources/lang/fr_fr.json b/enigma/src/main/resources/lang/fr_fr.json
index d3d0c297..520dd32e 100644
--- a/enigma/src/main/resources/lang/fr_fr.json
+++ b/enigma/src/main/resources/lang/fr_fr.json
@@ -131,6 +131,7 @@
131 "log_panel.messages": "Messages", 131 "log_panel.messages": "Messages",
132 "log_panel.users": "Utilisateurs", 132 "log_panel.users": "Utilisateurs",
133 133
134 "progress.done": "Terminé !",
134 "progress.operation": "%s - Opération en cours", 135 "progress.operation": "%s - Opération en cours",
135 "progress.jar.indexing": "Indexation du jar", 136 "progress.jar.indexing": "Indexation du jar",
136 "progress.jar.indexing.entries": "Entrées...", 137 "progress.jar.indexing.entries": "Entrées...",
@@ -141,15 +142,10 @@
141 "progress.sources.writing": "Écriture des sources...", 142 "progress.sources.writing": "Écriture des sources...",
142 "progress.classes.deobfuscating": "Déobfuscation des classes...", 143 "progress.classes.deobfuscating": "Déobfuscation des classes...",
143 "progress.classes.decompiling": "Décompilation des classes...", 144 "progress.classes.decompiling": "Décompilation des classes...",
144 "progress.mappings.enigma_file.loading": "Chargement du fichier de mappings", 145 "progress.mappings.loading_file": "Chargement du fichier de mappings",
145 "progress.mappings.enigma_file.done": "Terminé !", 146 "progress.mappings.loading_directory": "Chargement des fichiers de mappings",
146 "progress.mappings.enigma_file.writing": "Écriture des classes", 147 "progress.mappings.writing": "Écriture des mappings",
147 "progress.mappings.enigma_directory.loading": "Chargement des fichiers de mappings", 148 "progress.mappings.converting": "Conversion des mappings",
148 "progress.mappings.enigma_directory.writing": "Écriture des classes",
149 "progress.mappings.tiny_file.loading": "Chargement du fichier de mappings",
150 "progress.mappings.tiny_v2.loading": "Chargement du fichier de mappings",
151 "progress.mappings.srg_file.generating": "Génération des mappings",
152 "progress.mappings.srg_file.writing": "Écriture des mappings",
153 "progress.stats": "Génération des statistiques", 149 "progress.stats": "Génération des statistiques",
154 "progress.stats.data": "Génération des données", 150 "progress.stats.data": "Génération des données",
155 151
diff --git a/enigma/src/main/resources/lang/ja_jp.json b/enigma/src/main/resources/lang/ja_jp.json
index 09e7ee08..b4d51998 100644
--- a/enigma/src/main/resources/lang/ja_jp.json
+++ b/enigma/src/main/resources/lang/ja_jp.json
@@ -132,6 +132,7 @@
132 "log_panel.messages": "メッセージ", 132 "log_panel.messages": "メッセージ",
133 "log_panel.users": "ユーザー", 133 "log_panel.users": "ユーザー",
134 134
135 "progress.done": "完了しました!",
135 "progress.operation": "%s - 処理中", 136 "progress.operation": "%s - 処理中",
136 "progress.jar.indexing": "jarのインデックス中", 137 "progress.jar.indexing": "jarのインデックス中",
137 "progress.jar.indexing.entries": "エントリー...", 138 "progress.jar.indexing.entries": "エントリー...",
@@ -142,15 +143,9 @@
142 "progress.sources.writing": "ソースコードを書き出し中...", 143 "progress.sources.writing": "ソースコードを書き出し中...",
143 "progress.classes.deobfuscating": "クラスを難読化解除中...", 144 "progress.classes.deobfuscating": "クラスを難読化解除中...",
144 "progress.classes.decompiling": "クラスのデコンパイル中...", 145 "progress.classes.decompiling": "クラスのデコンパイル中...",
145 "progress.mappings.enigma_file.loading": "マッピングファイルをロード", 146 "progress.mappings.loading_file": "マッピングファイルをロード",
146 "progress.mappings.enigma_file.done": "完了しました!", 147 "progress.mappings.loading_directory": "マッピングファイルの読込中",
147 "progress.mappings.enigma_file.writing": "クラスの書き出し中", 148 "progress.mappings.writing": "マッピングの書き出し中",
148 "progress.mappings.enigma_directory.loading": "マッピングファイルの読込中",
149 "progress.mappings.enigma_directory.writing": "クラスの書き出し中",
150 "progress.mappings.tiny_file.loading": "マッピングファイルの読込中",
151 "progress.mappings.tiny_v2.loading": "マッピングファイルの読込中",
152 "progress.mappings.srg_file.generating": "マッピングの作成中",
153 "progress.mappings.srg_file.writing": "マッピングの書き出し中",
154 "progress.stats": "統計情報を作成中", 149 "progress.stats": "統計情報を作成中",
155 "progress.stats.data": "データの作成中", 150 "progress.stats.data": "データの作成中",
156 151
diff --git a/enigma/src/main/resources/lang/zh_cn.json b/enigma/src/main/resources/lang/zh_cn.json
index fe806fb3..dbc6dd33 100644
--- a/enigma/src/main/resources/lang/zh_cn.json
+++ b/enigma/src/main/resources/lang/zh_cn.json
@@ -75,6 +75,7 @@
75 "info_panel.tree.implementations": "实现", 75 "info_panel.tree.implementations": "实现",
76 "info_panel.tree.calls": "调用图", 76 "info_panel.tree.calls": "调用图",
77 77
78 "progress.done": "完成!",
78 "progress.operation": "%s - 进行中", 79 "progress.operation": "%s - 进行中",
79 "progress.jar.indexing": "索引 Jar", 80 "progress.jar.indexing": "索引 Jar",
80 "progress.jar.indexing.entries": "条目...", 81 "progress.jar.indexing.entries": "条目...",
@@ -85,15 +86,9 @@
85 "progress.sources.writing": "写出源码中...", 86 "progress.sources.writing": "写出源码中...",
86 "progress.classes.deobfuscating": "反混淆类中...", 87 "progress.classes.deobfuscating": "反混淆类中...",
87 "progress.classes.decompiling": "反编译类中...", 88 "progress.classes.decompiling": "反编译类中...",
88 "progress.mappings.enigma_file.loading": "加载映射文件", 89 "progress.mappings.loading_file": "加载映射文件",
89 "progress.mappings.enigma_file.done": "完成!", 90 "progress.mappings.loading_directory": "加载映射文件",
90 "progress.mappings.enigma_file.writing": "写入类", 91 "progress.mappings.writing": "写出映射",
91 "progress.mappings.enigma_directory.loading": "加载映射文件",
92 "progress.mappings.enigma_directory.writing": "写入类",
93 "progress.mappings.tiny_file.loading": "加载映射文件",
94 "progress.mappings.tiny_v2.loading": "加载映射文件",
95 "progress.mappings.srg_file.generating": "生成映射",
96 "progress.mappings.srg_file.writing": "写出映射",
97 "progress.stats": "生成统计范围", 92 "progress.stats": "生成统计范围",
98 "progress.stats.data": "生成数据", 93 "progress.stats.data": "生成数据",
99 94