https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93718
Bug ID: 93718 Summary: Use a single translation message template for structurally equal messages Product: gcc Version: 10.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c Assignee: unassigned at gcc dot gnu.org Reporter: roland.illig at gmx dot de Target Milestone: --- In cp/parser.c, function cp_parser_required_error, there are more than 20 messages that are essentially the same. case RT_EXTERN: gmsgid = G_("expected %<extern%>"); break; Instead of G_("expected %<extern%>"), the call should be: case RT_EXTERN: gmsgid = G_("expected %q"); gparam = "extern"; break; This has the benefit that the translators don't have to translate each of these messages individually, and it completely removes any chance of copy-and-paste mistakes on the translator's side. In the current situation, I as a translator could accidentally translate "expected %<extern%>" with "expected %<inline%>", and this mistake would only be caught by manual human inspection.