Web lists-archives.com

Re: [L10N] Kickoff of translation for Git 2.14.0 round 1

2017-07-16 3:30 GMT+08:00 Jean-Noël Avila <jn.avila@xxxxxxx>:
> A few remarks on i18n:
>  * commit cb71f8bdb5 ("PRItime: introduce a new "printf format" for
> timestamps") does not play well with i18n framework. The static string
> concatenation cannot be correctly interpreted by msgmerge. I don't know
> how we can combine variable format indicators with translatable strings.

We can add a new wrapper for raw timestamp like:

    +const char *format_raw_time(timestamp_t time)
    +       static struct strbuf time_buf = STRBUF_INIT;
    +       strbuf_reset(&time_buf);
    +       strbuf_addf(&time_buf, "%"PRItime, time);
    +       return time_buf.buf;

, and replace macro PRItime in i18n messages with format_raw_time
wrapper, like this:

    -                       strbuf_addf(&sb, Q_("%"PRItime" year",
"%"PRItime" years", years), years);
    +                       strbuf_addf(&sb, Q_("%s year", "%s years",
years), format_raw_time(years));

Jiang Xin