-
Bug
-
Resolution: Unresolved
-
None
-
1.19.4 Pre-release 2, 1.20.5, 1.20.6 Release Candidate 1, 1.20.6, 24w20a, 24w21b, 1.21 Pre-Release 1, 1.21 Pre-Release 2, 1.21 Pre-Release 4, 24w40a
-
Confirmed
-
Internationalisation
-
Important
-
Platform
The bug
When inputting a command with mistakes in the JSON text argument, the error in chat appears in English, no matter the language. Translators on Crowdin can't fix that, as the strings are not present in the Minecraft Translation project on the website.
Steps to reproduce
- Start Minecraft in an affected version.
- Go to Settings - Language, and select a language other than English.
- Create a new single-player world with the cheats option turned on.
- Open up chat or place a command block and type in a /tellraw or a /title command using a JSON text component with errors as the text argument, for example:
- /title @a title {"wrong":"JSON"}
- /tellraw @a {"translate":"chat.type.advancement.task","with":"Wrong JSON"}
- Press Enter in chat or activate the command block.
- See the error message in chat or in the command block.
- Go to https://crowdin.com/translate/minecraft/all/ and search for part of the text found in the error message
Observed behaviour
The error message starts with a translation of "Invalid Chat component", but continues in English. The untranslated part is absent from the Minecraft Translation project on Crowdin.
Expected behaviour
The error messages should be present in the Minecraft Translation project on Crowdin, and for the languages where that translation is provided, the errors message should be output in that language.
List of untranslatable error messages
- <-- [HERE] (in some contexts, even if command.context.here is translated)
/data get entity @a[limit=1] 1 {}
- A score component needs at least a name and an objective
- a boolean (%s) (found in the Source Code, as a returned value)
- a number (%s) (found in the Source Code, as a returned value)
- an array (%) (found in the Source Code, as a returned value)
- an object (%s) (found in the Source Code, as a returned value)
- Couldn't get field 'lineStart' for JsonReader
- Couldn't get field 'pos' for JsonReader
- Couldn't read position of JsonReader
- Couldn't write %s (found in the Source Code, as an IllegalArgumentException)
- Don't know how to serialize %s as a Component
- Don't know how to turn %s into a Component
/title @a title {"wrong":"JSON"}
- Empty at position %s: %s
/tellraw @s []
- Expected ':' at line %s column %s path %s
/tellraw @s [{"hoverEvent"}]
- Expected %s to be ..., was %s (found in the Source Code, as a JsonSyntaxException)
- a string
- an item
- a Boolean
- a Double
- a Float
- a Long
- a Int
- a Byte
- a Character
- a BigDecimal
- a BigInteger
- a Short
- a JsonObject
- a JsonArray
/tellraw @a {"translate":"chat.type.advancement.task","with":"Wrong JSON"}
- Expected %s to be ..., was unknown string '%s' (found in the Source Code, as a JsonSyntaxException)
- Item cannot be both damageable and stackable
/give @s apple[max_damage=999999999,max_stack_size=10]
- JSON data was null or empty (found in the Source Code, as a JsonParseException)
- Missing %s (found in the Source Code, as a JsonSyntaxException)
- Missing field %s (found in the Source Code, as a JsonSyntaxException)
- Missing %s, expected to find ... (found in the Source Code, as a JsonSyntaxException)
- a string
- an item
- a Boolean
- a Double
- a Float
- a Long
- a Int
- a Byte
- a Character
- a BigDecimal
- a BigInteger
- a Short
- a JsonObject
- a JsonArray
- No key %s in MapLike[%s]
/particle minecraft:dust
- Not a boolean (found in the Source Code, as a returned value)
- Not a byte list (found in the Source Code, as a returned value)
- Not a JSON object: %s; Not a json array: %s; Not a string: %s (might be related to the “Not a string” string below)
/give @s apple[minecraft:custom_name="1"]
- Not a list (found in the Source Code, as a returned value)
- Not a long list (found in the Source Code, as a returned value)
- Not a map (found in the Source Code, as a returned value)
- Not a number (found in the Source Code, as a returned value)
- Not a string (found in the Source Code, as a returned value)
- Not an int list (found in the Source Code, as a returned value)
- Null (found in the Source Code, as a returned value)
- null (json) (found in the Source Code, as a returned value)
- null (missing) (found in the Source Code, as a returned value)
- Unexpected empty array of components
- Use JsonReader.setLenient(true) to accept malformed JSON at line %s column %s path %s
/tellraw @s [{"nbt":"textures.CAPE.url","storage":"base64:decode","clickEvent": {"action":"open_url","value":'\{"nbt":"textures.CAPE.url","storage":"base64:decode"}'}}]
List of translatable error messages
The following messages were affected but are now translatable
- Can't parse particle options: %s
particle.invalidOptions
Notes
There are probably other types of errors with JSON text components that I'm not aware of. There is a high chance of them not being translatable either. If you find other error messages that are not translatable, please show them in the comments
UPD: @bodakugga has found 7 error messages that seem to be not translatable
UPD2: @Cybereggs1337 has found 2 more error messages that can be seen in component-error-messages.png
UPD3: @Nethonos has found another error message that can be seen in particle-error-message.png
UPD4: @Cybereggs1337 has found a lot of other untranslatable or potentially untranslatable messages
Links
Search filter for Don't know as in Don't know how to turn {"wrong":"JSON"} into a Component, with 0 results, demonstrating that the error message is not translatable
Case-sensitive search filter for Expected as in Expected with to be a JsonArray, was "Wro...ON", with 21 result neither of which corresponds to the error message, demonstrating that the error message is not translatable