translatable string fixes

Started by Alvaro Herreraalmost 9 years ago4 messageshackers
Jump to latest
#1Alvaro Herrera
alvherre@2ndquadrant.com

I noticed this entry while updating the translation for 9.6:

#: catalog/index.c:3456 commands/vacuumlazy.c:1345 commands/vacuumlazy.c:1421
#: commands/vacuumlazy.c:1610 commands/vacuumlazy.c:1820
#, c-format
msgid "%s."
msgstr "%s."

All of these correspond to errdetail printing pg_rusage_show() output.
I think these are all bogus and should be changed to
errdetail_internal() instead. Surely if we want pg_rusage_show() output
to be translated, we should apply _() to the snprintf() call inside that
function.

At the same time, trying to append a period in the callers seems
pointless; if we really feel a strong need for that period I suggest we
add a flag to pg_rusage_show() to indicate whether to add it or not,
though my inclination is not to bother.

I also attach style fixes for other issues I found.

--
�lvaro Herrera https://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services

Attachments:

0001-Make-messages-identical.patchtext/plain; charset=us-asciiDownload+1-2
0002-Make-strings-identical.patchtext/plain; charset=us-asciiDownload+2-3
0003-correctly-do-not-quote-type-name.patchtext/plain; charset=us-asciiDownload+1-2
0004-Fix-translation-for-pg_rusage_show.patchtext/plain; charset=us-asciiDownload+6-9
0005-Make-new-message-identical-to-existing-ones.patchtext/plain; charset=us-asciiDownload+7-14
0006-Make-messages-consistent-with-others.patchtext/plain; charset=us-asciiDownload+2-3
#2Alvaro Herrera
alvherre@2ndquadrant.com
In reply to: Alvaro Herrera (#1)
Re: [HACKERS] translatable string fixes

It took me a very long time to figure out how to translate these 9.6-new
strings in the AM validate routines:

msgid "gin operator family \"%s\" contains support procedure %s with cross-type registration"

The problem I had was that the term "cross-type registration" is not
used anywhere else, it's not clear what it means, and (worst from my
POV) I couldn't think of any decent phrasing in Spanish for it. After
staring at the code for a while, I translated them roughly as:

"gin operator family %s contains support procedure %s registered with differing types"

which I think is a tad clearer ... but as a user confronted with such a
message, I would be at a complete loss on what to do about it.

Maybe we can use this phrasing:
"gin operator family %s contains support procedure %s registered with different left and right types"

The other complaint I have about this one and also other amvalidate
functions is the hardcoded AM name, so it's actually one string per AM,
which is annoying (a total of twenty-something messages which are
actually only four or five different ones). Ignoring the second part of
the phrase now, we could use this:
"operator family %s of access method %s contains support procedure %s with cross-type registration"

Thoughts?

--
�lvaro Herrera https://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services

--
Sent via pgsql-translators mailing list (pgsql-translators@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-translators

#3Daniele Varrazzo
daniele.varrazzo@gmail.com
In reply to: Alvaro Herrera (#2)
Re: [HACKERS] translatable string fixes

On Tue, May 23, 2017 at 1:15 AM, Alvaro Herrera
<alvherre@2ndquadrant.com> wrote:

It took me a very long time to figure out how to translate these 9.6-new
strings in the AM validate routines:

msgid "gin operator family \"%s\" contains support procedure %s with cross-type registration"

The problem I had was that the term "cross-type registration" is not
used anywhere else, it's not clear what it means, and (worst from my
POV) I couldn't think of any decent phrasing in Spanish for it. After
staring at the code for a while, I translated them roughly as:

"gin operator family %s contains support procedure %s registered with differing types"

which I think is a tad clearer ... but as a user confronted with such a
message, I would be at a complete loss on what to do about it.

I did something similar, translating the equivalent of "across
different types". Had to look at the source code to understand the
meaning of the sentence. Maybe cross-type registration is a bit too
cryptic.

Maybe we can use this phrasing:
"gin operator family %s contains support procedure %s registered with different left and right types"

The other complaint I have about this one and also other amvalidate
functions is the hardcoded AM name, so it's actually one string per AM,
which is annoying (a total of twenty-something messages which are
actually only four or five different ones). Ignoring the second part of
the phrase now, we could use this:
"operator family %s of access method %s contains support procedure %s with cross-type registration"

Yup, that was boring and error-prone :\

-- Daniele

--
Sent via pgsql-translators mailing list (pgsql-translators@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-translators

#4Tom Lane
tgl@sss.pgh.pa.us
In reply to: Alvaro Herrera (#2)
Re: [HACKERS] translatable string fixes

Alvaro Herrera <alvherre@2ndquadrant.com> writes:

It took me a very long time to figure out how to translate these 9.6-new
strings in the AM validate routines:
msgid "gin operator family \"%s\" contains support procedure %s with cross-type registration"
...
Maybe we can use this phrasing:
"gin operator family %s contains support procedure %s registered with different left and right types"

OK with me, or maybe better "support procedure %s with different left and
right input types". I doubt "registered" adds much.

The other complaint I have about this one and also other amvalidate
functions is the hardcoded AM name, so it's actually one string per AM,
which is annoying (a total of twenty-something messages which are
actually only four or five different ones). Ignoring the second part of
the phrase now, we could use this:
"operator family %s of access method %s contains support procedure %s with cross-type registration"

If that seems better to the actual translators, it's OK with me. It's
not real clear where is the boundary between combining near-duplicate
messages and assembling messages at runtime.

regards, tom lane

--
Sent via pgsql-translators mailing list (pgsql-translators@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-translators