Skip to content

Commit a940021

Browse files
committed
Partially fix plugin translation files + small fixes
1 parent db72382 commit a940021

File tree

5 files changed

+21
-10
lines changed

5 files changed

+21
-10
lines changed

cli/src/main/java/org/mcphackers/mcp/main/MainCLI.java

-4
Original file line numberDiff line numberDiff line change
@@ -150,10 +150,6 @@ public MainCLI(String[] args) {
150150
}
151151

152152
public static void main(String[] args) {
153-
if (args.length != 0) {
154-
new MainCLI(args);
155-
return;
156-
}
157153
AnsiConsole.systemInstall();
158154
new MainCLI(args);
159155
}

src/main/java/org/mcphackers/mcp/MCP.java

+6
Original file line numberDiff line numberDiff line change
@@ -342,4 +342,10 @@ public List<Path> getLibraries() {
342342
return DownloadData.getLibraries(MCPPaths.get(this, MCPPaths.LIB), getCurrentVersion());
343343
}
344344
}
345+
346+
public static void reloadPluginTranslations() {
347+
pluginManager.getLoadedPlugins().forEach((key, plugin) -> {
348+
MCP.TRANSLATOR.readTranslation(plugin.getClass());
349+
});
350+
}
345351
}

src/main/java/org/mcphackers/mcp/TranslatorUtil.java

+13-5
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,9 @@
44
import java.io.IOException;
55
import java.io.InputStream;
66
import java.io.InputStreamReader;
7+
import java.net.URL;
78
import java.nio.charset.StandardCharsets;
9+
import java.util.Enumeration;
810
import java.util.HashMap;
911
import java.util.Map;
1012

@@ -17,22 +19,28 @@ public void changeLang(Language lang) {
1719
translations.clear();
1820
currentLang = lang;
1921
readTranslation(MCP.class);
22+
MCP.reloadPluginTranslations();
2023
}
2124

2225
public void readTranslation(Class<?> cls) {
2326
readTranslation(cls, DEFAULT_LANG);
24-
readTranslation(cls, currentLang);
27+
if (currentLang != DEFAULT_LANG) {
28+
readTranslation(cls, currentLang);
29+
}
2530
}
2631

2732
private void readTranslation(Class<?> cls, Language lang) {
2833
readTranslation(translations, cls, lang);
2934
}
3035

3136
private void readTranslation(Map<String, String> map, Class<?> cls, Language lang) {
32-
String resourceName = "/lang/" + lang.locale.toString() + ".lang";
33-
//FIXME Hardcoded MCP.class because Class#getResourceAsStream return result is not the same as ClassLoader#getResourceAsStream
34-
try (InputStream resource = (cls == MCP.class) ? cls.getResourceAsStream(resourceName) : cls.getClassLoader().getResourceAsStream(resourceName)) {
35-
this.readTranslation(map, resource);
37+
String resourceName = "lang/" + lang.locale.toString() + ".lang";
38+
try {
39+
Enumeration<URL> translations = cls.getClassLoader().getResources(resourceName);
40+
while (translations.hasMoreElements()) {
41+
URL url = translations.nextElement();
42+
this.readTranslation(map, url.openStream());
43+
}
3644
} catch (IOException ex) {
3745
ex.printStackTrace();
3846
}

src/main/java/org/mcphackers/mcp/tasks/TaskSetup.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ public TaskSetup(MCP instance) {
3939
@Override
4040
protected Stage[] setStages() {
4141
return new Stage[] {
42-
stage(getLocalizedStage("setup"), () -> {
42+
stage(getLocalizedStage("setup"), 0, () -> {
4343
new TaskCleanup(mcp).cleanup();
4444
FileUtil.createDirectories(MCPPaths.get(mcp, JARS));
4545
FileUtil.createDirectories(MCPPaths.get(mcp, LIB));

src/test/resources/lang/en_US.lang

+1
Original file line numberDiff line numberDiff line change
@@ -1 +1,2 @@
11
task.mergemappings = Merge mappings
2+
task.mergemappings.desc = Merges mappings into V2 format

0 commit comments

Comments
 (0)