https://gcc.gnu.org/bugzilla/show_bug.cgi?id=38573

Jerry DeLisle <jvdelisle at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |jvdelisle at gcc dot gnu.org

--- Comment #6 from Jerry DeLisle <jvdelisle at gcc dot gnu.org> ---
(In reply to Frederic Marchal from comment #5)
> 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".

It looks wrong to me here. The "but %s" makes no sense in English. There are
two sentences in the above error message. Do you need the strings split like
this?

       gfc_error ("The procedure %qs declared INTRINSIC at %L is not "
          "available with the current standard setting of %s. "
          "Try a different standard setting option (-std= ) or enable "
          "all intrinsics (-fall-intrinsics).",
          sym->name, &sym->declared_at, symstd);

Reply via email to