Message ID | pull.1045.git.git.1626177676801.gitgitgadget@gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | l10n: allows to translate diff messages | expand |
"Jordi Mas via GitGitGadget" <gitgitgadget@gmail.com> writes: > 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. > From: Jordi Mas <jmas@softcatala.org> > > 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 --git a/diff.c b/diff.c > index 52c791574b..29db9ce079 100644 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.
On 14/07/21 06.11, Junio C Hamano wrote: > 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. > I think that above should also be translated, for consistency with diff for regular text file.
On Tue, Jul 13 2021, Junio C Hamano wrote: > "Jordi Mas via GitGitGadget" <gitgitgadget@gmail.com> writes: > >> 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. 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.
diff --git a/diff.c b/diff.c index 52c791574b..29db9ce079 100644 --- a/diff.c +++ b/diff.c @@ -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');