At Wed, 2 Mar 2022 14:39:54 +0900, Masahiko Sawada <sawada.m...@gmail.com> wrote in > On Wed, Mar 2, 2022 at 11:55 AM Amit Kapila <amit.kapil...@gmail.com> wrote: > > > > On Mon, Feb 28, 2022 at 5:46 PM Masahiko Sawada <sawada.m...@gmail.com> > > wrote: > > > > > > I've attached two patches: the first one changes > > > apply_error_callback() so that it uses complete sentences with if-else > > > blocks in order to have a translation work, > > > > > > > This is an improvement over what we have now but I think this is still > > not completely correct as per message translation rules: > > + else > > + errcontext("processing remote data during \"%s\" in transaction %u at %s", > > + logicalrep_message_type(errarg->command), > > + errarg->remote_xid, > > + (errarg->ts != 0) ? timestamptz_to_str(errarg->ts) : "(not-set)"); > > > > As per guidelines [1][2], we don't prefer to construct messages at > > run-time aka we can do better for the following part: + (errarg->ts > > != 0) ? timestamptz_to_str(errarg->ts) : "(not-set)". I think we need > > to use if-else here to split it further. If you agree, then the same > > needs to be dealt with in other parts of the patch as well. > > I intended to use "(not-set)" as a value rather than a word in the > sentence so I think it doesn't violate the guidelines. We can split it > further as you suggested but we will end up having more if-else > branches.
It seems to me exactly our way. In the first place I doubt "(not-set)" fits the place for timestamp even in English. Moreover, if we (I?) translated the message into Japanese, it would look like; CONTEXT: (not-set)にトランザクション 2352314 内で "TRUNCATE" でのリモートデータの処理中 I don't think that looks fine. Translating "(not-set)" makes things even worse. CONTEXT: (非設定)にトランザクション 2352314 内で "TRUNCATE" でのリモートデータの処理中 Yes, I can alleviate that strangeness a bit by modulating it, but it still looks odd. CONTEXT: 時刻(非設定)、トランザクション 2352314 内で "TRUNCATE" でのリモートデータの処理中 Rather, I'd prefer simply to list the attributes. CONTEXT: processing remote data during "MESSAGE". Transaction (unknown). Time (unknown), replication target relation (unknown), column (unknown) CONTEXT: "MESSAGE"でのリモートデータの処理中. トランザクション (不明). 時刻 (不明), レプリケーション対象リレーション (不明), column (不明) regards. -- Kyotaro Horiguchi NTT Open Source Software Center