2011/4/17 Jonathan Nieder <jrnie...@gmail.com>:
> Felipe E. F. de Castro wrote:
>
>> In the file cg_print.c, there is a translatable string which makes
>> gettext think it is in C-format, while in fact it is not:
>>
>> _("%time")
>
> The gettext manual ("info gettext") says the following:
>
>           `xgettext' of course could make a wrong decision the other way
>        round, i.e. a string marked as a format string actually is not a format
>        string.  In this case the `msgfmt' might give too many warnings and
>        would prevent translating the `.po' file.  The method to prevent this
>        wrong decision is similar to the one used above, only the comment to
>        use must contain the string `xgettext:no-c-format'.
>
> So I suppose a comment like so:
>
>        /* xgettext:no-c-format */
>
> on the line before might help.  Could you try that and see?

Oh, very nice, it worked. But it has a little detail there: you should
put the comment just before the translatable marked string. And in
order to do that, you have to break the indentation in another way.

See what I mean in the attached diff file, ok?
*** cg_print.c	2011-04-18 20:34:00.309575533 -0300
--- cg_print_modified.c	2011-04-18 20:32:49.685603137 -0300
***************
*** 94,101 ****
      {
        printf ("%6.6s %5.5s %7.7s %11.11s %7.7s/%-7.7s     %-8.8s\n",
  	      "", "", "", "", _("called"), _("total"), _("parents"));
!       printf ("%-6.6s %5.5s %7.7s %11.11s %7.7s+%-7.7s %-8.8s\t%5.5s\n",
! 	      _("index"), _("%time"), _("self"), _("descendants"),
  	      _("called"), _("self"), _("name"), _("index"));
        printf ("%6.6s %5.5s %7.7s %11.11s %7.7s/%-7.7s     %-8.8s\n",
  	      "", "", "", "", _("called"), _("total"), _("children"));
--- 94,102 ----
      {
        printf ("%6.6s %5.5s %7.7s %11.11s %7.7s/%-7.7s     %-8.8s\n",
  	      "", "", "", "", _("called"), _("total"), _("parents"));
!       printf ("%-6.6s %5.5s %7.7s %11.11s %7.7s+%-7.7s %-8.8s\t%5.5s\n", _("index"),
!       /* xgettext:no-c-format */
! 	      _("%time"), _("self"), _("descendants"),
  	      _("called"), _("self"), _("name"), _("index"));
        printf ("%6.6s %5.5s %7.7s %11.11s %7.7s/%-7.7s     %-8.8s\n",
  	      "", "", "", "", _("called"), _("total"), _("children"));

Reply via email to