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