[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: APR_UINT64_FMT_T in localised format strings

From: Stefan Fuhrmann <stefan.fuhrmann_at_wandisco.com>
Date: Sun, 20 Oct 2013 22:39:20 +0200

On Sun, Oct 20, 2013 at 1:51 PM, Branko Čibej <brane_at_wandisco.com> wrote:

> On 20.10.2013 12:23, Mattias Engdegård wrote:
>
> Localised strings must consist entirely of literals; they cannot contain
> preprocessor macros. For example, svnserve/serve.c:2234 has
>
> return svn_error_createf(SVN_ERR_RA_SVN_MALFORMED_DATA, NULL,
> _("Invalid move_behavior value %"
> APR_UINT64_T_FMT " in log command"),
> move_behavior_param);
>
> I suppose the current practice is to format the numbers to separate
> strings and include them using %s in the localised string.
>
> Thanks for the report, Mattias!
Fix committed in r1533970.

> Not at all ... the translator should be free to change the number
> formatting, so changing them to %s would not be correct, IMO. On the other
> hand, I can't really think of a better solution, offhand.
>
>
> (If it were up to me, I'd just make %lld (etc) work in all format strings
> and be done with it.)
>
>
> Unfortunately that assumes that %lld is a valid formatting placeholder.
> That is not the case on all platforms with all compilers.
>

There is a nice double-escapement trick used in other places already.

-- Stefan^2.
Received on 2013-10-20 22:40:17 CEST

This is an archived mail posted to the Subversion Dev mailing list.