Thread (1 message) 1 message, 1 author, 2016-06-15

Re: [PATCH v2] i18n: format_tracking_info "Your branch is behind" message

From: Junio C Hamano <hidden>
Date: 2016-06-15 22:52:54

Jiang Xin [off-list ref] writes:
quoted hunk
Function format_tracking_info in remote.c is called by
wt_status_print_tracking in wt-status.c, which will print
branch tracking message in git-status. git-checkout also
show these messages through it's report_tracking function.

Signed-off-by: Jiang Xin <redacted>
---
 remote.c |   48 +++++++++++++++++++++++++++++++++++++-----------
 1 files changed, 37 insertions(+), 11 deletions(-)
diff --git a/remote.c b/remote.c
index 73a38..45ac1 100644
--- a/remote.c
+++ b/remote.c
@@ -1572,19 +1572,45 @@ int format_tracking_info(struct branch *branch, struct strbuf *sb)
 	base = branch->merge[0]->dst;
 	base = shorten_unambiguous_ref(base, 0);
 	if (!num_theirs)
-		strbuf_addf(sb, "Your branch is ahead of '%s' "
-			    "by %d commit%s.\n",
-			    base, num_ours, (num_ours == 1) ? "" : "s");
+		strbuf_addf(sb,
+			Q_(
+			/* The singular version */
+			"Your branch is ahead of '%s' by %d commit.\n",
+			/* The plural version */
+			"Your branch is ahead of '%s' by %d commits.\n",
+			/* Give ngettext() the count */
+			num_ours),
+			base,
+			num_ours);
It may be just me, but I think

		strbuf_addf(sb,
			Q_("Your branch is ahead of '%s' by %d commit.\n",
			   "Your branch is ahead of '%s' by %d commits.\n",
			   num_ours),
                        base, num_ours);

would be far easier to read than these repetitive comments.

It allows you to see it more clearly that the two strings and one variable
are given to Q_(), and the last two, base and num_ours, are the values to
be formatted by whatever the format string Q_() would choose.

When the strings are longer, an extra indent would probably help, e.g.

		strbuf_addf(sb,
			Q_("Your branch is behind '%s' by %d commit, "
				"and can be fast-forwarded.\n",
			   "Your branch is behind '%s' by %d commits, "
				"and can be fast-forwarded.\n",
			   num_theirs),
			base, num_theirs);
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help