Mod's version
1.20.1
Issue
A ton of strings in the mod are hardcoded. Please, replace untranslatable components (Component.literal) with translatable (Component.translatable).
Classes/Interfaces in question
SolarForgeBlockItem.java
|
list.add(Component.literal("ALL ENERGY IS LOST WHEN BROKEN!").withStyle(ChatFormatting.RED)); |
InfusingTableBlock.java
|
player.sendSystemMessage(Component.literal("You are not the owner!").withStyle(ChatFormatting.RED)); |
StructureScreen.java
|
graphics.renderTooltip(font,Component.literal("3D View"),mx,my); |
RunicTablePacket.java
|
player.sendSystemMessage(Component.literal("Couldn't find any unlockable fragment. Tell that to dev if you haven't done anything suspicious.").withStyle(ChatFormatting.RED)); |
ElementWeaverContainerScreen.java
You could shorten this code with loop and any offset structure, but whatever works, I guess
https://github.com/FINDERFEED/SolarCraftRepository/blob/9c635c353c7ddf6a067159e5edd61e1e3458272d/src/main/java/com/finderfeed/solarcraft/content/blocks/blockentities/containers/screens/ElementWeaverContainerScreen.java#L43-85
ClientPacketHandles.java
|
ClientHelpers.getClientPlayer().sendSystemMessage(Component.literal("You don't have structure fragment(s) for this structure!")); |
RadiantPortalCreatorTile.java
|
entity.sendSystemMessage(Component.literal("Use wormhole on 1,Y(~120),1 coordinates to return back")); |
InfuserBlock.java
|
user.sendSystemMessage(Component.literal("You are not the owner!").withStyle(ChatFormatting.RED)); |
DimensionCoreTile.java
|
entity.sendSystemMessage(Component.literal("Use wormhole on 1,Y(~120),1 coordinates to return back")); |
RunicEnergyCoreTile.java
|
user.sendSystemMessage(Component.literal("Draining Energy: " + !isDrainingEnergy())); |
SolarNetworkBinderWandAction.java
|
player.displayClientMessage(Component.literal("Position cleared"),true); |
MemoryPuzzleBlockEntity.java
|
player.sendSystemMessage(Component.literal("No Solar Key was found in inventory.")); |
EnchanterBlock.java
|
player.sendSystemMessage(Component.literal("You are not the owner!").withStyle(ChatFormatting.RED)); |
SolarCraftCommands.java
I was thinking to add this class or not, but other modders tend to add translatable strings even for debugging stuff. There are 30+ matches, I'm not listing all of them.
|
stack.sendSuccess(()->Component.literal("Successfully unlocked ability."),true); |
SolarOrbitalMissileLauncherScreen.java
|
IntegerEditBox radbox = new IntegerEditBox(font,relX + 8,relY + 26 + 18*2 + 40,209,18, Component.literal("Rad")); |
|
IntegerEditBox depthbox = new IntegerEditBox(font,relX + 8,relY + 26 + 18*3 + 60,209,18, Component.literal("Depth")); |
TeleportationStone.java
|
player.sendSystemMessage(Component.literal("Teleportation stone cannot be used here.").withStyle(ChatFormatting.RED)); |
|
player.sendSystemMessage(Component.literal("Could not find level " + this.dimension.location() + ", try again.").withStyle(ChatFormatting.RED)); |
SolarLexicon.java
|
.addComponent(new FDTextComponent(ContentAlignment.NO_ALIGNMENT,size,0).setText(Component.literal("Parent progressions:"),0xffffff).setInnerBorder(3)) |
|
builder.addComponent(new FDTextComponent(ContentAlignment.NO_ALIGNMENT,size,0).setText(Component.literal("SPOIILER: ") |
InfusingRecipeEnergyScreen.java
|
graphics.renderTooltip(font,Component.literal("Next recipe"),mousex,mousey); |
|
graphics.renderTooltip(font,Component.literal("Previous recipe"),mousex,mousey); |
SolarForgeScreen.java
|
graphics.renderTooltip(font, List.of(Component.literal("Consume energy. Abilities were moved to separate screen"), |
|
Component.literal("look into hotkey settings.") |
CraftingRecipeScreen.java
|
graphics.renderTooltip(font,Component.literal("Next recipe"),mousex,mousey); |
|
graphics.renderTooltip(font,Component.literal("Previous recipe"),mousex,mousey); |
InfusingCraftingRecipeScreen.java
|
graphics.renderTooltip(font,Component.literal("Next recipe"),mousex,mousey); |
|
graphics.renderTooltip(font,Component.literal("Previous recipe"),mousex,mousey); |
SolarNetworkBinder.java
|
ctx.getPlayer().displayClientMessage(Component.literal("Positions cleared"),true); |
|
cmps.add(Component.literal("Pos 1: " + getPos1(item)).withStyle(ChatFormatting.GOLD)); |
|
cmps.add(Component.literal("Pos 2: " + getPos2(item)).withStyle(ChatFormatting.GOLD)); |
DungeonRayControllerStick.java
|
player.sendSystemMessage(Component.literal("Controller set")); |
|
player.sendSystemMessage(Component.literal("Controller not found")); |
|
player.sendSystemMessage(Component.literal("Created handler")); |
|
player.sendSystemMessage(Component.literal("Added offset:" + clicked.subtract(epos))); |
InfusingCraftingTableTile.java
|
pl.sendSystemMessage(Component.literal("Cant start craft, you don't have " + recipe.get().value().getFragment().getId().toUpperCase(Locale.ROOT) + |
|
pl.sendSystemMessage(Component.literal("INCORRECT FRAGMENT IN RECIPE "+ recipe.get().value().getOutput().getDisplayName()+" TELL MOD AUTHOR TO FIX IT").withStyle(ChatFormatting.RED)); |
|
pl.sendSystemMessage(Component.literal("Recipe invalid.").withStyle(ChatFormatting.RED)); |
|
pl.sendSystemMessage(Component.literal("You are not the owner!").withStyle(ChatFormatting.RED)); |
StructureSelectionScreen.java
|
Minecraft.getInstance().player.sendSystemMessage(Component.literal("Structure is correct") |
|
minecraft.player.sendSystemMessage(Component.literal("And more...").withStyle(ChatFormatting.RED)); |
|
String message1 = "Structure incorrect at: " + ChatFormatting.GOLD + incState.atPos(); |
|
String message2 = "BlockState should be: " + ChatFormatting.GOLD +incState.correct(); |
|
String message3 = "Now: " + ChatFormatting.GOLD + incState.incorrect(); |
InfuserTileEntity.java
|
playerEntity.sendSystemMessage(Component.literal("Can't access inventory").withStyle(ChatFormatting.RED)); |
|
playerEntity.sendSystemMessage(Component.literal("Clear the output slot").withStyle(ChatFormatting.RED)); |
|
playerEntity.sendSystemMessage(Component.literal("Unable to start ").withStyle(ChatFormatting.RED) |
|
.append(Component.literal("melting").withStyle(ChatFormatting.GOLD)).append(" the item: Sun Shard") |
|
playerEntity.sendSystemMessage(Component.literal("Catalysts don't match the recipe.").withStyle(ChatFormatting.RED)); |
|
playerEntity.sendSystemMessage(Component.literal("Structure invalid.").withStyle(ChatFormatting.RED)); |
|
playerEntity.sendSystemMessage(Component.literal("Recipe invalid").withStyle(ChatFormatting.RED)); |
|
playerEntity.sendSystemMessage(Component.literal("INCORRECT FRAGMENT IN RECIPE "+ opt.get().value().output.getDisplayName().getString()+" TELL MOD AUTHOR TO FIX IT").withStyle(ChatFormatting.RED)); |
In next classes/interfaces, Component.literal(type.id.toUpperCase(Locale.ROOT)
Can be changed with Component.translatable("solarcraft.rune_energy_type." + type.id).append(...)
InfusingRecipeCategory.java
|
components.add(Component.literal(type.id.toUpperCase(Locale.ROOT) + ": ").withStyle(ChatFormatting.GOLD) |
AbilityHelper.java
|
.append(Component.literal(" " + type.id.toUpperCase(Locale.ROOT) + ", ")) |
ItemRunicEnergy.java
|
components.add(Component.literal(type.id.toUpperCase(Locale.ROOT) + ": %.2f".formatted(getRunicEnergyFromItem(stack,type)) + "/" + item.getMaxRunicEnergyCapacity()).withStyle(ChatFormatting.GOLD)); |
InfusingRecipeScreen.java
|
graphics.renderTooltip(font,Component.literal(type.id.toUpperCase(Locale.ROOT)).withStyle(ChatFormatting.GOLD),mousex,mousey); |
RETypeSelectionScreen.java
|
graphics.renderTooltip(font, Component.literal(type.id.toUpperCase(Locale.ROOT)),(int)x,(int)y); |
UnlockedEnergyTypeToast.java
|
graphics.drawCenteredString(cmp.getMinecraft().font,type.id.toUpperCase(Locale.ROOT),81,7,0xffffff); |
RuneEnergyPylonBlockItem.java
|
.append(Component.literal(": " + type.id.toUpperCase(Locale.ROOT)))); |
EnchanterContainerScreen.java
|
components.add(Component.literal(type.id.toUpperCase(Locale.ROOT) + ": ").withStyle(ChatFormatting.GOLD) |
RunicEnergyChargerScreen.java
|
components.add(Component.literal(type.id.toUpperCase(Locale.ROOT)).append(Component.literal(": "+ re + "/" + menu.tile.getRunicEnergyLimit()).withStyle(ChatFormatting.GOLD))); |
InfusingRecipeScreen.java
|
graphics.renderTooltip(font,Component.literal("Next recipe"),mousex,mousey); |
|
graphics.renderTooltip(font ,Component.literal("Previous recipe"),mousex,mousey); |
IRunicEnergySaver.java
|
components.add(Component.literal(type.id.toUpperCase(Locale.ROOT)).withStyle(ChatFormatting.GOLD) |
|
components.add(Component.literal(type.id.toUpperCase(Locale.ROOT)).withStyle(ChatFormatting.GOLD) |
RENetworkConnectivityWandAction.java
|
player.sendSystemMessage(Component.literal(type.id.toUpperCase(Locale.ROOT) + ": CONNECTED") |
|
player.sendSystemMessage(Component.literal(type.id.toUpperCase(Locale.ROOT) + ": NOT CONNECTED") |
|
player.sendSystemMessage(Component.literal(type.id.toUpperCase(Locale.ROOT) + ": CONNECTED") |
|
player.sendSystemMessage(Component.literal(type.id.toUpperCase(Locale.ROOT) + ": NOT CONNECTED") |
Strings not associated with Component.literal, but which should be able to be translated
|
graphics.drawCenteredString(font,"Runic Energy Charger",relX + 89 + xOffset,relY + 13 + yOffset, SolarLexiconScreen.TEXT_COLOR); |
|
graphics.drawCenteredString(mc.font,"Recipe Progress",width/2,height / 2 + 20,0xffffff); |
Mod's version
1.20.1
Issue
A ton of strings in the mod are hardcoded. Please, replace untranslatable components (
Component.literal) with translatable (Component.translatable).Classes/Interfaces in question
SolarForgeBlockItem.java
SolarCraftRepository/src/main/java/com/finderfeed/solarcraft/content/blocks/solar_forge_block/SolarForgeBlockItem.java
Line 39 in 9c635c3
InfusingTableBlock.java
SolarCraftRepository/src/main/java/com/finderfeed/solarcraft/content/blocks/InfusingTableBlock.java
Line 52 in 9c635c3
StructureScreen.java
SolarCraftRepository/src/main/java/com/finderfeed/solarcraft/content/items/solar_lexicon/screen/StructureScreen.java
Line 96 in 9c635c3
RunicTablePacket.java
SolarCraftRepository/src/main/java/com/finderfeed/solarcraft/packet_handler/packets/RunicTablePacket.java
Line 98 in 9c635c3
ElementWeaverContainerScreen.java
You could shorten this code with loop and any offset structure, but whatever works, I guesshttps://github.com/FINDERFEED/SolarCraftRepository/blob/9c635c353c7ddf6a067159e5edd61e1e3458272d/src/main/java/com/finderfeed/solarcraft/content/blocks/blockentities/containers/screens/ElementWeaverContainerScreen.java#L43-85
ClientPacketHandles.java
SolarCraftRepository/src/main/java/com/finderfeed/solarcraft/packet_handler/ClientPacketHandles.java
Line 168 in 9c635c3
RadiantPortalCreatorTile.java
SolarCraftRepository/src/main/java/com/finderfeed/solarcraft/content/blocks/blockentities/RadiantPortalCreatorTile.java
Line 57 in 9c635c3
InfuserBlock.java
SolarCraftRepository/src/main/java/com/finderfeed/solarcraft/content/blocks/infusing_table_things/InfuserBlock.java
Line 93 in 9c635c3
DimensionCoreTile.java
SolarCraftRepository/src/main/java/com/finderfeed/solarcraft/content/blocks/blockentities/DimensionCoreTile.java
Line 117 in 9c635c3
RunicEnergyCoreTile.java
SolarCraftRepository/src/main/java/com/finderfeed/solarcraft/content/blocks/blockentities/RunicEnergyCoreTile.java
Line 155 in 9c635c3
SolarNetworkBinderWandAction.java
SolarCraftRepository/src/main/java/com/finderfeed/solarcraft/content/items/solar_wand/wand_actions/solar_network/SolarNetworkBinderWandAction.java
Line 46 in 9c635c3
MemoryPuzzleBlockEntity.java
SolarCraftRepository/src/main/java/com/finderfeed/solarcraft/content/blocks/blockentities/memory_puzzle/MemoryPuzzleBlockEntity.java
Line 106 in 9c635c3
EnchanterBlock.java
SolarCraftRepository/src/main/java/com/finderfeed/solarcraft/content/blocks/primitive/EnchanterBlock.java
Line 54 in 9c635c3
SolarCraftCommands.java
I was thinking to add this class or not, but other modders tend to add translatable strings even for debugging stuff. There are 30+ matches, I'm not listing all of them.
SolarCraftRepository/src/main/java/com/finderfeed/solarcraft/content/commands/SolarCraftCommands.java
Line 120 in 9c635c3
SolarOrbitalMissileLauncherScreen.java
SolarCraftRepository/src/main/java/com/finderfeed/solarcraft/client/screens/SolarOrbitalMissileLauncherScreen.java
Line 49 in 9c635c3
SolarCraftRepository/src/main/java/com/finderfeed/solarcraft/client/screens/SolarOrbitalMissileLauncherScreen.java
Line 50 in 9c635c3
TeleportationStone.java
SolarCraftRepository/src/main/java/com/finderfeed/solarcraft/content/items/TeleportationStone.java
Line 147 in 9c635c3
SolarCraftRepository/src/main/java/com/finderfeed/solarcraft/content/items/TeleportationStone.java
Line 157 in 9c635c3
SolarLexicon.java
SolarCraftRepository/src/main/java/com/finderfeed/solarcraft/content/items/solar_lexicon/screen/SolarLexiconScreen.java
Line 215 in 9c635c3
SolarCraftRepository/src/main/java/com/finderfeed/solarcraft/content/items/solar_lexicon/screen/SolarLexiconScreen.java
Line 245 in 9c635c3
InfusingRecipeEnergyScreen.java
SolarCraftRepository/src/main/java/com/finderfeed/solarcraft/content/items/solar_lexicon/screen/InfusingRecipeEnergyScreen.java
Line 60 in 9c635c3
SolarCraftRepository/src/main/java/com/finderfeed/solarcraft/content/items/solar_lexicon/screen/InfusingRecipeEnergyScreen.java
Line 72 in 9c635c3
SolarForgeScreen.java
SolarCraftRepository/src/main/java/com/finderfeed/solarcraft/content/blocks/solar_forge_block/solar_forge_screen/SolarForgeScreen.java
Line 51 in 9c635c3
SolarCraftRepository/src/main/java/com/finderfeed/solarcraft/content/blocks/solar_forge_block/solar_forge_screen/SolarForgeScreen.java
Line 52 in 9c635c3
CraftingRecipeScreen.java
SolarCraftRepository/src/main/java/com/finderfeed/solarcraft/content/items/solar_lexicon/screen/CraftingRecipeScreen.java
Line 64 in 9c635c3
SolarCraftRepository/src/main/java/com/finderfeed/solarcraft/content/items/solar_lexicon/screen/CraftingRecipeScreen.java
Line 75 in 9c635c3
InfusingCraftingRecipeScreen.java
SolarCraftRepository/src/main/java/com/finderfeed/solarcraft/content/items/solar_lexicon/screen/InfusingCraftingRecipeScreen.java
Line 57 in 9c635c3
SolarCraftRepository/src/main/java/com/finderfeed/solarcraft/content/items/solar_lexicon/screen/InfusingCraftingRecipeScreen.java
Line 68 in 9c635c3
SolarNetworkBinder.java
SolarCraftRepository/src/main/java/com/finderfeed/solarcraft/content/items/SolarNetworkBinder.java
Line 41 in 9c635c3
SolarCraftRepository/src/main/java/com/finderfeed/solarcraft/content/items/SolarNetworkBinder.java
Line 51 in 9c635c3
SolarCraftRepository/src/main/java/com/finderfeed/solarcraft/content/items/SolarNetworkBinder.java
Line 52 in 9c635c3
DungeonRayControllerStick.java
SolarCraftRepository/src/main/java/com/finderfeed/solarcraft/misc_things/DungeonRayControllerStick.java
Line 49 in 9c635c3
SolarCraftRepository/src/main/java/com/finderfeed/solarcraft/misc_things/DungeonRayControllerStick.java
Line 51 in 9c635c3
SolarCraftRepository/src/main/java/com/finderfeed/solarcraft/misc_things/DungeonRayControllerStick.java
Line 72 in 9c635c3
SolarCraftRepository/src/main/java/com/finderfeed/solarcraft/misc_things/DungeonRayControllerStick.java
Line 146 in 9c635c3
InfusingCraftingTableTile.java
SolarCraftRepository/src/main/java/com/finderfeed/solarcraft/content/blocks/blockentities/InfusingCraftingTableTile.java
Line 179 in 9c635c3
SolarCraftRepository/src/main/java/com/finderfeed/solarcraft/content/blocks/blockentities/InfusingCraftingTableTile.java
Line 183 in 9c635c3
SolarCraftRepository/src/main/java/com/finderfeed/solarcraft/content/blocks/blockentities/InfusingCraftingTableTile.java
Line 186 in 9c635c3
SolarCraftRepository/src/main/java/com/finderfeed/solarcraft/content/blocks/blockentities/InfusingCraftingTableTile.java
Line 191 in 9c635c3
StructureSelectionScreen.java
SolarCraftRepository/src/main/java/com/finderfeed/solarcraft/content/items/solar_wand/wand_actions/structure_check/StructureSelectionScreen.java
Line 83 in 9c635c3
SolarCraftRepository/src/main/java/com/finderfeed/solarcraft/content/items/solar_wand/wand_actions/structure_check/StructureSelectionScreen.java
Line 90 in 9c635c3
SolarCraftRepository/src/main/java/com/finderfeed/solarcraft/content/items/solar_wand/wand_actions/structure_check/StructureSelectionScreen.java
Line 98 in 9c635c3
SolarCraftRepository/src/main/java/com/finderfeed/solarcraft/content/items/solar_wand/wand_actions/structure_check/StructureSelectionScreen.java
Line 99 in 9c635c3
SolarCraftRepository/src/main/java/com/finderfeed/solarcraft/content/items/solar_wand/wand_actions/structure_check/StructureSelectionScreen.java
Line 100 in 9c635c3
InfuserTileEntity.java
SolarCraftRepository/src/main/java/com/finderfeed/solarcraft/content/blocks/infusing_table_things/InfuserTileEntity.java
Line 468 in 9c635c3
SolarCraftRepository/src/main/java/com/finderfeed/solarcraft/content/blocks/infusing_table_things/InfuserTileEntity.java
Line 476 in 9c635c3
SolarCraftRepository/src/main/java/com/finderfeed/solarcraft/content/blocks/infusing_table_things/InfuserTileEntity.java
Line 483 in 9c635c3
SolarCraftRepository/src/main/java/com/finderfeed/solarcraft/content/blocks/infusing_table_things/InfuserTileEntity.java
Line 484 in 9c635c3
SolarCraftRepository/src/main/java/com/finderfeed/solarcraft/content/blocks/infusing_table_things/InfuserTileEntity.java
Line 506 in 9c635c3
SolarCraftRepository/src/main/java/com/finderfeed/solarcraft/content/blocks/infusing_table_things/InfuserTileEntity.java
Line 509 in 9c635c3
SolarCraftRepository/src/main/java/com/finderfeed/solarcraft/content/blocks/infusing_table_things/InfuserTileEntity.java
Line 521 in 9c635c3
SolarCraftRepository/src/main/java/com/finderfeed/solarcraft/content/blocks/infusing_table_things/InfuserTileEntity.java
Line 526 in 9c635c3
In next classes/interfaces,
Component.literal(type.id.toUpperCase(Locale.ROOT)Can be changed with
Component.translatable("solarcraft.rune_energy_type." + type.id).append(...)InfusingRecipeCategory.java
SolarCraftRepository/src/main/java/com/finderfeed/solarcraft/compat/jei/recipe_categories/InfusingRecipeCategory.java
Line 129 in 9c635c3
AbilityHelper.java
SolarCraftRepository/src/main/java/com/finderfeed/solarcraft/content/abilities/AbilityHelper.java
Line 27 in 9c635c3
ItemRunicEnergy.java
SolarCraftRepository/src/main/java/com/finderfeed/solarcraft/content/items/runic_energy/ItemRunicEnergy.java
Line 85 in 9c635c3
InfusingRecipeScreen.java
SolarCraftRepository/src/main/java/com/finderfeed/solarcraft/content/items/solar_lexicon/screen/InfusingRecipeScreen.java
Line 227 in 9c635c3
RETypeSelectionScreen.java
SolarCraftRepository/src/main/java/com/finderfeed/solarcraft/content/items/solar_wand/wand_actions/drain_runic_enenrgy_action/RETypeSelectionScreen.java
Line 54 in 9c635c3
UnlockedEnergyTypeToast.java
SolarCraftRepository/src/main/java/com/finderfeed/solarcraft/client/toasts/UnlockedEnergyTypeToast.java
Line 32 in 9c635c3
RuneEnergyPylonBlockItem.java
SolarCraftRepository/src/main/java/com/finderfeed/solarcraft/content/items/RuneEnergyPylonBlockItem.java
Line 48 in 9c635c3
EnchanterContainerScreen.java
SolarCraftRepository/src/main/java/com/finderfeed/solarcraft/content/blocks/blockentities/containers/screens/EnchanterContainerScreen.java
Line 188 in 9c635c3
RunicEnergyChargerScreen.java
SolarCraftRepository/src/main/java/com/finderfeed/solarcraft/content/blocks/blockentities/containers/screens/RunicEnergyChargerScreen.java
Line 84 in 9c635c3
InfusingRecipeScreen.java
SolarCraftRepository/src/main/java/com/finderfeed/solarcraft/content/items/solar_lexicon/screen/InfusingRecipeScreen.java
Line 92 in 9c635c3
SolarCraftRepository/src/main/java/com/finderfeed/solarcraft/content/items/solar_lexicon/screen/InfusingRecipeScreen.java
Line 103 in 9c635c3
IRunicEnergySaver.java
SolarCraftRepository/src/main/java/com/finderfeed/solarcraft/content/blocks/blockentities/runic_energy/IRunicEnergySaver.java
Line 32 in 9c635c3
SolarCraftRepository/src/main/java/com/finderfeed/solarcraft/content/blocks/blockentities/runic_energy/IRunicEnergySaver.java
Line 42 in 9c635c3
RENetworkConnectivityWandAction.java
SolarCraftRepository/src/main/java/com/finderfeed/solarcraft/content/items/solar_wand/wand_actions/RENetworkConnectivityWandAction.java
Line 55 in 9c635c3
SolarCraftRepository/src/main/java/com/finderfeed/solarcraft/content/items/solar_wand/wand_actions/RENetworkConnectivityWandAction.java
Line 58 in 9c635c3
SolarCraftRepository/src/main/java/com/finderfeed/solarcraft/content/items/solar_wand/wand_actions/RENetworkConnectivityWandAction.java
Line 66 in 9c635c3
SolarCraftRepository/src/main/java/com/finderfeed/solarcraft/content/items/solar_wand/wand_actions/RENetworkConnectivityWandAction.java
Line 69 in 9c635c3
Strings not associated with Component.literal, but which should be able to be translated
SolarCraftRepository/src/main/java/com/finderfeed/solarcraft/content/blocks/blockentities/containers/screens/RunicEnergyChargerScreen.java
Line 94 in 9c635c3
SolarCraftRepository/src/main/java/com/finderfeed/solarcraft/registries/overlays/SolarcraftOverlays.java
Line 250 in 9c635c3