Translation Helper

This commit is contained in:
paulevsGitch 2020-10-25 23:51:09 +03:00
parent f8d6c3cf2c
commit e6aaadcb18
2 changed files with 78 additions and 34 deletions

View file

@ -1,9 +1,5 @@
package ru.betterend;
import java.util.List;
import com.google.common.collect.Lists;
import net.fabricmc.api.ModInitializer;
import net.fabricmc.loader.api.FabricLoader;
import net.minecraft.util.Identifier;
@ -26,6 +22,7 @@ import ru.betterend.registry.ItemTagRegistry;
import ru.betterend.registry.SoundRegistry;
import ru.betterend.registry.StructureRegistry;
import ru.betterend.util.Logger;
import ru.betterend.util.TranslationHelper;
import ru.betterend.world.generator.BetterEndBiomeSource;
public class BetterEnd implements ModInitializer {
@ -56,7 +53,7 @@ public class BetterEnd implements ModInitializer {
FabricLoader.getInstance().getEntrypoints("betterend", BetterEndPlugin.class).forEach(BetterEndPlugin::register);
if (isDevEnvironment()) {
printMissingNames();
TranslationHelper.printMissingNames();
}
}
@ -68,35 +65,7 @@ public class BetterEnd implements ModInitializer {
return String.format("%s:%s", MOD_ID, id);
}
private static boolean isDevEnvironment() {
public static boolean isDevEnvironment() {
return FabricLoader.getInstance().isDevelopmentEnvironment();
}
private static void printMissingNames() {
List<String> missingNames = Lists.newArrayList();
ItemRegistry.getModBlocks().forEach((block) -> {
String name = block.getName().asString();
if (name.contains(".betterend.")) {
missingNames.add(name);
}
});
ItemRegistry.getModItems().forEach((item) -> {
String name = item.getName().asString();
if (name.contains(".betterend.")) {
missingNames.add(name);
}
});
if (!missingNames.isEmpty()) {
System.out.println("========================================");
System.out.println(" MISSING NAMES LIST ");
System.out.println("========================================");
missingNames.forEach((name) -> {
System.out.println(name);
});
System.out.println("========================================");
}
}
}

View file

@ -0,0 +1,75 @@
package ru.betterend.util;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.Collections;
import java.util.List;
import com.google.common.collect.Lists;
import com.google.gson.Gson;
import com.google.gson.JsonObject;
import ru.betterend.BetterEnd;
import ru.betterend.registry.ItemRegistry;
public class TranslationHelper {
public static void printMissingNames() {
List<String> missingNamesEn = Lists.newArrayList();
List<String> missingNamesRu = Lists.newArrayList();
Gson gson = new Gson();
InputStream streamEn = BetterEnd.class.getResourceAsStream("/assets/betterend/lang/en_us.json");
InputStream streamRu = BetterEnd.class.getResourceAsStream("/assets/betterend/lang/ru_ru.json");
JsonObject translationEn = gson.fromJson(new InputStreamReader(streamEn), JsonObject.class);
JsonObject translationRu = gson.fromJson(new InputStreamReader(streamRu), JsonObject.class);
ItemRegistry.getModBlocks().forEach((block) -> {
String name = block.getName().getString();
if (!translationEn.has(name)) {
missingNamesEn.add(name);
}
if (!translationRu.has(name)) {
missingNamesRu.add(name);
}
});
ItemRegistry.getModItems().forEach((item) -> {
String name = item.getName().getString();
if (!translationEn.has(name)) {
missingNamesEn.add(name);
}
if (!translationRu.has(name)) {
missingNamesRu.add(name);
}
});
if (!missingNamesEn.isEmpty() || !missingNamesRu.isEmpty()) {
System.out.println("========================================");
System.out.println(" MISSING NAMES LIST");
if (!missingNamesEn.isEmpty()) {
Collections.sort(missingNamesEn);
System.out.println("========================================");
System.out.println(" ENGLISH");
System.out.println("========================================");
missingNamesEn.forEach((name) -> {
System.out.println(name);
});
}
if (!missingNamesRu.isEmpty()) {
Collections.sort(missingNamesRu);
System.out.println("========================================");
System.out.println(" RUSSIAN");
System.out.println("========================================");
missingNamesRu.forEach((name) -> {
System.out.println(name);
});
}
System.out.println("========================================");
}
}
}