l10n: allows to translate diff messages
PATCH 1/1 l10n: allows to translate diff messages
From: Jordi Mas <[email protected]>
Allows to translate the diff messages shown when the user commits, indicating the number of insertions, deletions and files changed.
---
Allow to translate diff message
Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-git-1045%2Fjordimas%2Flocalize-msg-v1
Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-git-1045/jordimas/localize-msg-v1
Pull-Request: https://github.com/git/git/pull/1045
diff.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-)
diff.c +3 -3
@@ -2593,7 +2593,7 @@ static void print_stat_summary_inserts_deletes(struct diff_options *options, }strbuf_addf (&sb, - (files ==1 ) ?" %d file changed" :" %d files changed" , +Q_ (" %d file changed" ," %d files changed" , files), files);/*
@@ -2606,13 +2606,13 @@ static void print_stat_summary_inserts_deletes(struct diff_options *options,*/ if (insertions || deletions ==0 ) {strbuf_addf (&sb, - (insertions ==1 ) ?", %d insertion(+)" :", %d insertions(+)" , +Q_ (", %d insertion(+)" ,", %d insertions(+)" , insertions), insertions); }if (deletions || insertions ==0 ) {strbuf_addf (&sb, - (deletions ==1 ) ?", %d deletion(-)" :", %d deletions(-)" , +Q_ (", %d deletion(-)" ,", %d deletions(-)" , deletions), deletions); }strbuf_addch (&sb,'\n' );
base-commit: d486ca60a51c9cb1fe068803c3f540724e95e83a
Signature · 1 line
gitgitgadget
Quoted 1 line · Jordi Mas via GitGitGadget
Subject: Re: [PATCH] l10n: allows to translate diff messages
"allow to translate" would be the right phrasing, but it is too vague to say "diff messages". You are only marking 3 messages for translation when there are probably a handful more.
You need to explain which ones, not just vague "diff messages".
I think you are focusing on the words on the "git diff --stat" and "git diff --shortstat" summary line, so
i18n: mark "git diff --[short]stat" summary for translation
perhaps? And remember, i18n is the act of making the code capable of being translated, while l10n is the act of actually translating what i18n prepared into a particular language. Here, i18n is more appropriate.
Quoted 5 lines
From: Jordi Mas <[email protected]>
Allows to translate the diff messages shown when the user commits, indicating the number of insertions, deletions and files changed.
Our log message first explain the current status/behaviour of the code (and highlight the problem in it), and then gives an order to the codebase to "be like so" in imperative mood. Perhaps like this:
"git diff --[short]stat" summarizes the number of paths touched and lines inserted and deleted. Mark this message for translation.
Note that I didn't explicitly say what's wrong with the current behaviour, but "mark for translation" as the order given to the codebase, it should be clear enough from the context that the problem is that it is not marked for translation.
Having said all that, I am not sure if this patch stop at a sensible point. At least "git diff --summary" output should also be updated to match, as they often go hand-in-hand, no?
Also, when showing "git diff --stat" for a binary file, we'd say
$path | Bin 1234 -> 1236 bytes
I wonder if that should also be translated.
While I am at it, there are a handful things that should NEVER be translated in the "git diff" output.
diff.c
Quoted 2 lines
diff.c +0
-0
Between "diff --git" and "--- a/$path", there are metainfo lines that are read by "git apply" (including this "index" line). They should never be translated.
Thanks.
Quoted 6 lines · Junio C Hamano
Also, when showing "git diff --stat" for a binary file, we'd say
$path | Bin 1234 -> 1236 bytesI wonder if that should also be translated.
I think that above should also be translated, for consistency with diff for regular text file.
Signature · 1 line
An old man doll... just what I always wanted! - Clara
Quoted 13 lines · Junio C Hamano
Quoted 1 line · Jordi Mas via GitGitGadget
Subject: Re: [PATCH] l10n: allows to translate diff messages
"allow to translate" would be the right phrasing, but it is too vague to say "diff messages". You are only marking 3 messages for translation when there are probably a handful more.
You need to explain which ones, not just vague "diff messages".
I think you are focusing on the words on the "git diff --stat" and "git diff --shortstat" summary line, so
Quoted 6 lines
i18n: mark "git diff --[short]stat" summary for translation
perhaps? And remember, i18n is the act of making the code capable of being translated, while l10n is the act of actually translating what i18n prepared into a particular language. Here, i18n is more appropriate.
What i18n v.s. l10n means is quite the side-discussion, I have not heard it used like this before, but rather as e.g. defined at :
https://www.w3.org/International/questions/qa-i18n
I.e. in git.git's case that all our gettext-ization would fall under i18n, but l10n are generally a step beyond that, e.g. if "git status" output entries were sorted by locale, fsck and other progress.c users used localized numeric formatting etc.
IOW I agree that i18n is more appropriate here, I just hadn't heard i18n/l10n used in the way that you describe.