git/list[1] front-page[2] threads[3] people[4] search[5] about
 

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

From
Jiang Xin <worldhello.net@gmail.com>
Date
Jul 17, 2017, 00:56 UTC
Message-ID
<CANYiYbGyCbzxPuiUUD5XBo2zAfKiZ9XQcEu_=s8XxsMGP1J4Og@mail.gmail.com>
In-Reply-To
<249ac6f8-af3c-4b20-5bf0-87a82866cc7a@free.fr>
2017-07-16 3:30 GMT+08:00 Jean-Noël Avila <jn.avila@free.fr>:
Show 9 quoted lines
>
>
> 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
Previous: Jean-Noël AvilaNext: Johannes Schindelin
Message 3 of 45 in “[L10N] Kickoff of translation for Git 2.14.0 round 1”
  1. Jiang XinJul 15, 2017
  2. Jean-Noël AvilaJul 15, 2017
  3. Jiang XinJul 17, 2017
  4. Johannes SchindelinJul 17, 2017
  5. Jiang XinJul 18, 2017
  6. PRItime: wrap PRItime for better l10n compatibilityJiang Xin, Jul 17, 2017
  7. Junio C HamanoJul 17, 2017
  8. Jiang XinJul 18, 2017
  9. Junio C HamanoJul 18, 2017
  10. Jiang XinJul 19, 2017
  11. Johannes SchindelinJul 19, 2017
  12. Junio C HamanoJul 19, 2017
  13. Junio C HamanoJul 19, 2017
  14. Junio C HamanoJul 20, 2017
  15. Junio C HamanoJul 20, 2017
  16. Junio C HamanoJul 20, 2017
  17. Jean-Noël AvilaJul 21, 2017
  18. Junio C HamanoJul 21, 2017
  19. Johannes SchindelinJul 22, 2017
  20. Junio C HamanoJul 22, 2017
  21. Johannes SchindelinJul 25, 2017
  22. Junio C HamanoJul 25, 2017
  23. Jiang XinJul 21, 2017
  24. Junio C HamanoJul 21, 2017
  25. Jiang XinJul 21, 2017
  26. Junio C HamanoJul 21, 2017
  27. Jiang XinJul 22, 2017
  28. Makefile: generate pot file using a tweaked version of xgettextJiang Xin, Jul 22, 2017
  29. Junio C HamanoJul 22, 2017
  30. Johannes SchindelinJul 22, 2017
  31. Junio C HamanoJul 22, 2017
  32. Jiang XinJul 24, 2017
  33. Johannes SchindelinJul 25, 2017
  34. Junio C HamanoJul 25, 2017
  35. Jiang XinJul 24, 2017
  36. Junio C HamanoJul 24, 2017
  37. Johannes SchindelinJul 25, 2017
  38. Jean-Noël AVILAJul 23, 2017
  39. Junio C HamanoJul 23, 2017
  40. Jiang XinJul 24, 2017
  41. Junio C HamanoJul 24, 2017
  42. Kaartic SivaraamJul 22, 2017
  43. Jean-Noël AvilaJul 23, 2017
  44. Jordi MasJul 19, 2017
  45. Jiang XinJul 20, 2017

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.