Help with error during msgfmt checking po file

Christian Stimming christian at
Thu Mar 27 16:01:34 EDT 2014

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.



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

More information about the gnucash-devel mailing list