In gcc/java/parse.y there is this code: parse_error_context (wfl, "Class %qs can't subclass %s %qs", IDENTIFIER_POINTER (DECL_NAME (this_decl)), (CLASS_INTERFACE (TYPE_NAME (super_type)) ? "interface" : "array"), IDENTIFIER_POINTER (DECL_NAME (super_decl)));
The strings substituted for the %s are not available for translation. So this can not be properly translated. Even if the words were markes for translation in isolation, composing a sentence like this is not in general possible to do for an arbitrary language. It needs to be split into two separate messages. -- Summary: %s substituted with "interface"/"array" can't be properly translated Product: gcc Version: 4.2.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: java AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: goeran at uddeborg dot se http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32250