The Bug:
Several strings throughout the game contain comma splices.
For a bit of context, a comma splice is when an instance of a comma is used to link two independent clauses, (an independent clause is a clause that can form a complete sentence standing alone). The use of a comma splice is grammatically incorrect and should instead be replaced with a colon, semicolon, conjunction, or a period/full stop.
Affected Strings:
Before reading the table, please note the following:
Characters colored in GREEN are correct.
Characters colored in RED are incorrect.
Translation Key | Current String | Expected String |
---|---|---|
selectWorld.tooltip.fromNewerVersion1 | World was saved in a newer version, | World was saved in a newer version and |
selectWorld.gameMode.hardcore.line1 | Same as Survival Mode, locked at hardest | Same as Survival Mode, but locked at hardest |
multiplayer.message_not_delivered | Can't deliver chat message, check server logs: %s | Can't deliver chat message; check server logs: %s |
multiplayer.disconnect.authservers_down | Authentication servers are down. Please try again later, sorry! | Authentication servers are down. Please try again later. Sorry! |
debug.copy_location.help | F3 + C = Copy location as /tp command, hold F3 + C to crash the game | F3 + C = Copy location as /tp command, or hold F3 + C to crash the game |
argument.range.ints | Only whole numbers allowed, not decimals | Only whole numbers allowed; not decimals |
argument.block.tag.disallowed | Tags aren't allowed here, only actual blocks | Tags aren't allowed here; only actual blocks |
arguments.swizzle.invalid | Invalid swizzle, expected combination of 'x', 'y' and 'z' | Invalid swizzle; expected combination of 'x', 'y' and 'z' |
argument.item.tag.disallowed | Tags aren't allowed here, only actual items | Tags aren't allowed here; only actual items |
commands.data.modify.expected_list | Expected list, got: %s | Expected list; got: %s |
commands.data.modify.expected_object | Expected object, got: %s | Expected object; got: %s |
commands.clone.toobig | Too many blocks in the specified area (maximum %s, specified %s) | Too many blocks in the specified area (maximum %s; specified %s) |
commands.execute.blocks.toobig | Too many blocks in the specified area (maximum %s, specified %s) | Too many blocks in the specified area (maximum %s; specified %s) |
commands.execute.conditional.pass_count | Test passed, count: %s | Test passed; count: %s |
commands.execute.conditional.fail_count | Test failed, count: %s | Test failed; count: %s |
commands.fill.toobig | Too many blocks in the specified area (maximum %s, specified %s) | Too many blocks in the specified area (maximum %s; specified %s) |
argument.double.low | Double must not be less than %s, found %s | Double must not be less than %s; found %s |
argument.double.big | Double must not be more than %s, found %s | Double must not be more than %s; found %s |
argument.float.low | Float must not be less than %s, found %s | Float must not be less than %s; found %s |
argument.float.big | Float must not be more than %s, found %s | Float must not be more than %s; found %s |
argument.integer.low | Integer must not be less than %s, found %s | Integer must not be less than %s; found %s |
argument.integer.big | Integer must not be more than %s, found %s | Integer must not be more than %s; found %s |
argument.long.low | Long must not be less than %s, found %s | Long must not be less than %s; found %s |
argument.long.big | Long must not be more than %s, found %s | Long must not be more than %s; found %s |
parsing.bool.invalid | Invalid boolean, expected 'true' or 'false' but found '%s' | Invalid boolean; expected 'true' or 'false' but found '%s' |
command.unknown.command | Unknown or incomplete command, see below for error | Unknown or incomplete command; see below for error |
realms.missing.module.error.text | Realms could not be opened right now, please try again later | Realms could not be opened right now. Please try again later |
mco.configure.world.switch.slot.subtitle | This world is empty, choose how to create your world | This world is empty; choose how to create your world |
mco.upload.close.failure | Could not close your realm, please try again later | Could not close your realm. Please try again later |
mco.errorMessage.connectionFailure | An error occurred, please try again later. | An error occurred. Please try again later. |
argument.time.tick_count_too_low | Tick count must not be lower than %s, found %s | Tick count must not be lower than %s; found %s |
commands.data.modify.expected_value | Expected value, got: %s | Expected value; got: %s |
commands.function.error.argument_not_compound | Invalid argument type: %s, expected Compound | Invalid argument type: %s; expected Compound |
mco.errorMessage.realmsService.unknownCompatibility | Could not check compatible version, got response: %s | Could not check compatible version; got response: %s |
commands.datapack.create.io_failure | Can't create pack with name '%s', check logs | Can't create pack with name '%s'; check logs |
test.error.value_not_equal | Expected %s to be %s, was %s | Expected %s to be %s; was %s |
test.error.state_not_equal | Incorrect state. Expected %s, was %s | Incorrect state. Expected %s; was %s |
test.error.expected_items_count | Expected %s items of type %s, found %s | Expected %s items of type %s; found %s |
test.error.expected_entity_data | Expected entity data to be: %s, was: %s | Expected entity data to be: %s; was: %s |
test.error.expected_entity_count | Expected %s entities of type %s, found %s | Expected %s entities of type %s; found %s |
test.error.expected_block_tag | Expected block in #%s, got %s | Expected block in #%s; got %s |
test.error.expected_block | Expected block %s, got %s | Expected block %s; got %s |
test.error.entity_property_details | Entity %s failed test: %s, expected: %s, was: %s | Entity %s failed test: %s; expected: %s; was: %s |
test.error.block_property_missing | Block property missing, expected property %s to be %s | Block property missing; expected property %s to be %s |
test.error.block_property_mismatch | Expected property %s to be %s, was %s | Expected property %s to be %s; was %s |
commands.test.locate.started | Started locating test structures, this might take a while... | Started locating test structures; this might take a while... |
commands.test.locate.done | Finished locating, found %s structure(s) | Finished locating; found %s structure(s) |
slot.only_single_allowed | Only single slots allowed, got '%s' | Only single slots allowed; got '%s' |
commands.tick.query.rate.sprinting | Target tick rate: %s per second (ignored, reference only). | Target tick rate: %s per second (ignored; reference only). |
commands.tick.query.percentiles | Percentiles: P50: %sms P95: %sms P99: %sms, sample: %s | Percentiles: P50: %sms P95: %sms P99: %sms; sample: %s |
h3. Steps to Reproduce:
Display any of the affected strings as listed above by using the command provided below and replacing "XYZ" with the string's translation key.
/tellraw @s {"translate":"XYZ"}
Look closely at how the comma is used within the said string.
Observed Behavior:
Comma splices are present.
Expected Behavior:
No comma splices would be present. All instances of this grammatical error should instead be replaced with a colon, semicolon, conjunction, or a period/full stop.
Linked issues
Attachments
Comments 6
@unknown I have done as requested and have transferred the spreadsheet to this ticket for ease of convenience. Additionally, I must thank @unknown for partly helping with this.
Updated this ticket to include two new strings introduced in 23w03a that are affected by this issue.
Updated this ticket to include two new strings introduced in 23w31a that are affected by this issue.
Relates to MC-131243