Yes, this is the exact opposite question than: Why do people use plain english as translation placeholders?
I used the standard gettext way for translation all the time but now that I'm doing frontend I realized that not only most libraries are using keys/placeholders but this is sometimes recommended (see i18next) over using plain English.
I haven't work much with placeholders but I find it difficult because:
According to the doc of i18-next, it is recommended to use placeholders because:
While this works and might reduce files to load it makes the management of translations a lot harder as you will need to update changes to fallback values in code and json files.
My guess is that there are pros and cons to both methods but I don't see the pros with placeholders so I would like to understand.
I think it only comes down to the previous assumption that a fixed placeholder id means you can later finesse the English translation string without breaking the placeholder's connection to completed foreign translations.
However, I am of the same opinion to you - plain English is better, and if the English changes then certainly the foreign translations also need to be checked whether they too need updating.
Conventions can be wrong.