[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