On Thu, Nov 27, 2025 at 10:24 AM Álvaro Herrera <[email protected]> wrote: > I gave these a quick look, and they look correct to me. I didn't test > the resulting libpq though.
Thanks for the review!
> Of those, as an example,
> this one caught my attention for strange wording,
> "internal error: field \"%s\" still active at end of object"
> I think it means we haven't seen the closing quote at the end of the
> field, right? Maybe say something like "unterminated field \"%s\" ..."?
Oh, those catch logic errors in the parsing engine. v3-0002 removes
those from the translation files as well.
> There's also the strings in CHECK_MSETOPT and siblings macros missing
> quotes -- should be
> "failed to set \"%s\" on OAuth connection: %s"
Personally I prefer bare %s there, since it's an option name. Compare
setsockopt(SO_REUSEADDR) failed
failed to set CURLMOPT_SOCKETDATA on OAuth connection
> You're right, that's no good. We could try to define a new macro (maybe
> jsonapi_gettext()) that does stock _() on backend but libpq_gettext() on
> frontend ... but that wouldn't work nicely for frontend users other than
> libpq. Maybe something like
>
> #ifndef jsonapi_gettext
> #ifdef FRONTEND
> #define jsonapi_gettext(msg) libpq_gettext(msg)
> #else
> #define jsonapi_gettext(msg) gettext(msg)
> #endif
> #endif
>
> so any callers that want a third definition can just define it
> themselves in the compile line?
Yeah, the pattern should probably follow that of the
JSONAPI_USE_PQEXPBUFFER conditionals. I think I'll defer this until
after [1]; otherwise I might need to solve it twice. 0004 has been
dropped from the set.
On Thu, Nov 13, 2025 at 4:58 PM Jacob Champion
<[email protected]> wrote:
> I assume translation changes such as these are generally
> backportable?
For now, I'll proceed as if a backport to 18 is appropriate for these.
Thanks again!
--Jacob
[1]
https://postgr.es/m/CAOYmi%2BmrGg%2Bn_X2MOLgeWcj3v_M00gR8uz_D7mM8z%3DdX1JYVbg%40mail.gmail.com
v3-0001-libpq-Add-missing-OAuth-translations.patch
Description: Binary data
v3-0002-libpq-oauth-Don-t-translate-internal-errors.patch
Description: Binary data
v3-0003-libpq-Align-oauth_json_set_error-with-other-NLS-p.patch
Description: Binary data
