English format is used to display toolnames
koh-gh opened this issue ยท 4 comments
Minecraft Version
1.18.2
Forge Version
40.0.2.0
Mantle Version
1.9.43
Tinkers' Construct Version
3.6.3.111
Describe your issue
In English, there is "material.tconstruct.wood.format" in the "en_us.json" to display wooden tools as "Wooden". However, in Japanese, there is no problem with the material name and tool name formatted with "item.tconstruct.tool.format" as with other materials, so in the latest version, I deleted "material.tconstruct. wood.format" from the "ja_jp.json".
However, when I checked with the latest version, the format of the "en_us.json" was used as the name of the wooden tool in Japanese. (Tool names made from specific wooden materials are displayed correctly)
The screenshot below is with other mods, but the same thing happened with TiC alone.
Incorrect name(Using English format)
Correct name(Using Japanese format)
If any implementations are using preferentially "material.tconstruct.xxx.format" to get the format to construct the toolname, please correct it. If it's technically difficult, I'm going to bring back "material.tconstruct.wood.format".
Crash Report
No response
Other mods
None
Tried reproducing with just Tinkers?
Yes
Performance Enchancers
None of the above
Searched for known issues?
Checked pinned issues, Searched open issues, Searched closed issues, Checked the FAQ
Its not that the english format is used. Its that if a format is provided in English, you need to provide it for other languages else it defaults to english (it does not default to unset). Optional translation keys do not really work in Minecraft so the behavior of them is rather awkward.
Are you saying that this is a Minecraft specification and that translations present in "en_us.json" must be created even if they are not needed in other languages? If so, I'd like to revive the translation.
Sorta. Minecraft does not support translations being optional. When loading languages, it first loads english, then loads the selected lanaguage, ensuring that any keys that are undefined in the translation (e.g. its outdated) still get a name.
The optional translations (used for things like material name formats) simply work by checking if that key is defined. If it is, its used. I have not come up with a better way of handling it so its simply a limitation that translations must deal with.
Feel free to make a new pull request if needed to correct it, I would probably recommend just correcting it as part of the translations for the features in the next update.