[GNC-dev] 'c++-format' flags disappear on msgmerge

john jralls at ceridwen.us
Tue Nov 7 12:29:04 EST 2023



> On Nov 6, 2023, at 20:00, john <jralls at ceridwen.us> wrote:
> 
> 
> 
>> On Nov 6, 2023, at 16:21, Frank H. Ellenberger <frank.h.ellenberger at gmail.com> wrote:
>> 
>> Hi,
>> 
>> as GIMPNET (IRC) is currently split I use the mailing list.
>> 
>> When i tried to msgmerge PR #1815 I watched that c++-format flags disappeared from the po files starting with
>> 
>> #: gnucash/gnucash-cli.cpp:170
>> #, c++-format
>> msgid "Unknown quotes command '{1}'"
>> msgstr "Unbekannter Kurs-Befehl »{1}«"
>> 
>> which becomes
>> 
>> #: gnucash/gnucash-cli.cpp:170
>> msgid "Unknown quotes command '{1}'"
>> msgstr "Unbekannter Kurs-Befehl »{1}«"
>> 
>> I am running xgettext (GNU gettext-tools) 0.21.1
>> 
>> Did someone change options for its call?
>> 
> 
> Frank,
> 
> Not recently: the last change to po/CMakeLists.txt was 8 months ago, as was the last change to gnucash-cli.cpp. Did you do an OS update recently that might have installed a different version of boost?
> 
> Did you try nuking your build directory and reconfiguring it?

These gettext manual pages might be germane:
https://www.gnu.org/software/gettext/manual/html_node/c_002b_002b_002dformat.html
https://www.gnu.org/software/gettext/manual/html_node/c_002dformat-Flag.html

The first one points to the C++20 std::format (see https://en.cppreference.com/w/cpp/utility/format/format) which technically isn't what we're using for those strings, but we do want msgmerge and msgfmt to behave as if we are, ensuring that the number of curly-brace pairs is the same in the msgid and msgstr. As noted in the second one we can force it by adding a comment //xgettext:c++-format in front of every boost::formatted string but it would be nice to figure out what changed first.

Regards,
John Ralls



More information about the gnucash-devel mailing list