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

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

From
Junio C Hamano <gitster@pobox.com>
Date
Aug 20, 2016, 18:03 UTC
Message-ID
<xmqqy43rxqqz.fsf@gitster.mtv.corp.google.com>
In-Reply-To
<9262712.D6TC1VHfMN@cayenne>
Jean-Noël AVILA <jn.avila@free.fr> writes:
Show 5 quoted lines
> 1.  In config.c, the changes to the function die_bad_number tried to flatten the 
> translated strings (no message building logic). I think it went too far, and 
> the reason of the failure can be factorized so that we don't have to 
> retranslate each time. I might be wrong on this one, but I have no example of 
> language where we would need differentiated error reasons.

I do not have a strong opinion on this one. I think it is an attempt to avoid language-lego.

> 2.  in sequencer.c, there is a mistake in the original string to translate 
> "Cannot revert during a another revert"
This should be corrected. Thanks for spotting.
> 3. git-rebase--interactive, in this_nth_commit_message and 
> skip_nth_commit_message are not localizable,

As the "TRANSLATORS" comment alludes to, "This is the Nth thing" can be rephrased to "This is the thing N" or "This is the thing #N" easily, and if that form without ordinal is acceptable for many languages, we should say that it is also OK in C-locale without translation. So I agree that the recent change was pointless (even though the result may be localizable).

In an ideal world, I would imagine that this would be done by using Q_("This is the first thing", "This is the thing #%d", nth) aka ngettext, but

    (1) I haven't seen ngettext used from shell scripts; and
    (2) I do not think po files are set up to express "for this
        message, this language has 4 variants and here are the local
        rules to decide which one to use depending on the number,
        but the rules apply only to this message".  The Plural-Forms
        rule [*1*] seems to be global to a .po file, unfortunately.
so I do not think we cannot do it with ngettext().
[Reference]
*1* https://www.gnu.org/savannah-checkouts/gnu/gettext/manual/html_node/Plural-forms.html
Previous: Jean-Noël AVILANext: Jean-Noël AVILA
Message 3 of 15 in “[L10N] Kickoff of translation for Git 2.10.0 round 1”
  1. Jiang XinAug 15, 2016
  2. Jean-Noël AVILAAug 20, 2016
  3. Junio C HamanoAug 20, 2016
  4. Jean-Noël AVILAAug 20, 2016
  5. Jiang XinAug 21, 2016
  6. Junio C HamanoAug 23, 2016
  7. Jean-Noël AVILAAug 23, 2016
  8. 1/3 i18n: fix typos for translationJean-Noel Avila, Aug 21, 2016
  9. 2/3 i18n: fix git rebase interactive commit messagesJean-Noel Avila, Aug 21, 2016
  10. 3/3 i18n: simplify numeric error reportingJean-Noel Avila, Aug 21, 2016
  11. Junio C HamanoAug 24, 2016
  12. Junio C HamanoAug 23, 2016
  13. Junio C HamanoAug 24, 2016
  14. Junio C HamanoAug 24, 2016
  15. Alex HenrieAug 25, 2016

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.