https://gcc.gnu.org/bugzilla/show_bug.cgi?id=38573
Frederic Marchal <fmarchal at perso dot be> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |fmarchal at perso dot be --- Comment #5 from Frederic Marchal <fmarchal at perso dot be> --- This issue is still present in gcc 7. The strings assigned to symstd_msg in gfc_check_intrinsic_standard() should be marked for translation. As it is, the current code in fortran/resolve.c at line 1709 outputs an error message containing one untranslated fragment: /* Check it is actually available in the standard settings. */ if (!gfc_check_intrinsic_standard (isym, &symstd, false, sym->declared_at)) { gfc_error ("The intrinsic %qs declared INTRINSIC at %L is not " "available in the current standard settings but %s. Use " "an appropriate %<-std=*%> option or enable " "%<-fall-intrinsics%> in order to use it.", sym->name, &sym->declared_at, symstd); return false; } I don't know how many languages could work around that string concatenation and still present a meaningful message to the user but none can output a legible message if %s isn't translated. Therefore, I recommend to mark the strings for translation as a stopgap until a full i18n compatible solution is available. I also suggest to write a comment for translators stating that %s is a string such as "available since Fortran 77".