Re: [L10N] Kickoff of translation for Git 2.14.0 round 1
- From
Johannes Schindelin <johannes.schindelin@gmx.de>
- Date
- Jul 17, 2017, 16:06 UTC
- Message-ID
- <alpine.DEB.2.21.1.1707171805460.4193@virtualbox>
- In-Reply-To
- <CANYiYbGyCbzxPuiUUD5XBo2zAfKiZ9XQcEu_=s8XxsMGP1J4Og@mail.gmail.com>
Hi,
On Mon, 17 Jul 2017, Jiang Xin wrote:
Show 30 quoted lines
> 2017-07-16 3:30 GMT+08:00 Jean-Noël Avila <jn.avila@free.fr>:
> >
> >
> > 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));That would come at the price of complexifying the code just to accommodate a translation tool.
How do you gentle people deal with PRIuMAX?
Ciao, Dscho