Help with error during msgfmt checking po files

Dmitry Pavlov zeldigas at gmail.com
Sat Mar 29 08:41:12 EDT 2014


I've tried to generate an updated ru.po using a gnucash.pot file, as
described on wiki page:
/usr/bin/msgmerge -o ru.new.po ru.po gnucash.pot

As a result msmerge added the following comment to that translation (in
bold):
#. src/report/business-reports/taxinvoice.scm
#: ../intl-scm/guile-strings.c:1778
*#, fuzzy, c-format*
msgid ""
"Width of the logo in CSS format, e.g. 10% or 32px. Leave blank to display "

So the proper way is to fix initial string, but not a translation, because
each time we perform regeneration, we will have to fix it.


2014-03-28 0:06 GMT+04:00 Dmitry Pavlov <zeldigas at gmail.com>:

> Thank you, but I'm not sure, if it's it right to manually remove this
> string. I'll check tomorrow if msgmerge will insert this formatting
> directive again on updating po from pot.
> 28.03.2014 0:01 пользователь "Christian Stimming" <christian at cstimming.de>
> написал:
>
>> The flag "c-format" is wrong, as the string is not used in a sprintf
>> format
>> string (to my knowledge). If you remove the "c-format", the file is
>> accepted
>> by msgfmt.
>>
>> I think the difference between de.po and ru.po is that de.po accidentally
>> has
>> a valid sprintf format character as the next one after the % and the
>> whitespace. Whereas ru.po has some cyrillic utf-8 character, which for
>> sure is
>> not a valid printf format character. This is partly msgfmt's fault and
>> partly
>> our translation string extraction's fault where the "c-format" flag is
>> erroneously inserted.
>>
>> Regards,
>>
>> Christian
>>
>>
>> Am Dienstag, 25. März 2014, 16:24:54 schrieb Dmitry Pavlov:
>> > Hello,
>> >
>> > could you help me please to find out, what is wrong with the following
>> line
>> > in ru.po:
>> >
>> > #. src/report/business-reports/taxinvoice.scm
>> > #: ../intl-scm/guile-strings.c:1772
>> > #, c-format
>> > msgid ""
>> > "Width of the logo in CSS format, e.g. 10% or 32px. Leave blank to
>> display
>> > "
>>  "the logo at its natural width. The height of the logo will be scaled "
>> > "accordingly."
>> > msgstr ""
>> > "Ширина логотипа в формате CSS (т.е. 10% или 32px). Пустое поле
>> означает,
>> > что "
>>  "логотип будет отображаться в исходном размере. Высота логотипа "
>> > "масштабируется соответствующим образом."
>> >
>> > when checking file with msgfmt as described on wiki
>> >
>> > msgfmt -c --statistics ru.po
>> >
>> > I got an error that msgstr is not valid, but build is passed, no errors.
>> >
>> > According to comment string it's marked as c format string and may be
>> > msgfmt does not like a % that is alone, not like %s etc., but for de.po
>> > it's ok, no errors.
>> > --
>> > С уважением,
>> > Дмитрий Павлов
>> > _______________________________________________
>> > gnucash-devel mailing list
>> > gnucash-devel at gnucash.org
>> > https://lists.gnucash.org/mailman/listinfo/gnucash-devel
>>
>


-- 
С уважением,
Дмитрий Павлов


More information about the gnucash-devel mailing list