Large amount of translations use invalid formatting conversion
The bug
A large amount of translations uses invalid formatting conversion (see java.util.Formatter). The formatting conversion d (%d) is for decimal integers only whereas s (%s) should be used for Strings.
Currently there are many translations that use the conversion d for Strings like:
There is no such item with name %d
The only reason why this causes no problems is because there is a method that replaces all conversion characters with s (in 1.9-pre1 it is the constructor of the dj class).
Even though it currently creates no problems that is NOT the way this should be handled as then there is no reason why other conversions other than s are used in the translations anyways.
Created Issue:
Large amount of translations uses invalid formatting conversion
The bug
A large amount of translations uses invalid formatting conversion (see java.util.Formatter). The formatting conversion d (%d) is for decimal integers only whereas s (%s) should be used for Strings.
Currently there are many translations that use the conversion d for Strings like:
There is no such item with name %dThe only reason why this causes no problems is because there is a method that replaces all conversion characters with s (in 1.9-pre1 it is the constructor of the {{}} class).
Even though it currently creates no problems that is NOT the way this should be handled as then there is no reason why other conversions other than s are used in the translations anyways.
Large amount of translations usesinvalid formatting conversion
The bug
A large amount of translations uses invalid formatting conversion (see java.util.Formatter). The formatting conversion d (%d) is for decimal integers only whereas s (%s) should be used for Strings.
Currently there are many translations that use the conversion d for Strings like:
There is no such item with name %dThe only reason why this causes no problems is because there is a method that replaces all conversion characters with s (in 1.9-pre1 it is the constructor of the
{{}} class).Even though it currently creates no problems that is NOT the way this should be handled as then there is no reason why other conversions other than s are used in the translations anyways.
The bug
A large amount of translations uses invalid formatting conversion (see java.util.Formatter). The formatting conversion d (%d) is for decimal integers only whereas s (%s) should be used for Strings.
Currently there are many translations that use the conversion d for Strings like:
There is no such item with name %dThe only reason why this causes no problems is because there is a method that replaces all conversion characters with s (in 1.9-pre1 it is the constructor of the dj class).
Even though it currently creates no problems that is NOT the way this should be handled as then there is no reason why other conversions other than s are used in the translations anyways.
Sorry, invalid because this is not an actual issue in the game and also a translation request.
It is not invalid because that is an invalid formatting conversion and it affects the default language (en_US) which cannot be translated on crowdin
Let me rephrase: Does anything in the game not work as expected? No. Translations show up just fine. As such, I do not consider it a bug.
This is a bug, it is not following the formatting conversions defined by the Formatter class
Even though it works it just not correct usage and at least should be changed in a way that all translations only use %s
This is probably a holdover from the transition from numeric IDs to string IDs. However, if the code converts it to the correct format for the utility functions internally, then it doesn't matter what's in the files. The developers can use whatever formatting convention they want. Chances are it was done this way for backwards compatibility. Otherwise, any old language pack would need to be updated to use the new formatting convention, or would probably fail horribly. Instead, they just convert it internally, so ones that use %s work, and so do ones that still use %d.