Skip to contentSkip to conversation

describe: localize debug output fully

PATCH In review Michael J Gruber 3 participants 7 messages Mar 17, 2017 – Mar 27, 2017

lore
Share & tools
lore
#0 lore raw

PATCH 1/2 describe: localize debug output fully

git describe --debug localizes all debug messages but not the terms head, lightweight, annotated that it outputs for the candidates. Localize them, too.

Also, increase the width of that field to create room for the translated terms.

---
Ralf: this is just the context for the following l10-de patch

 builtin/describe.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)
builtin/describe.c +3 -3
index 76c18059bf..1a760c16f9 100644
@@ -49,7 +49,7 @@ struct commit_name {
 };
 
 static const char *prio_names[] = {
-	"head", "lightweight", "annotated",
+	N_("head"), N_("lightweight"), N_("annotated"),
 };
 
 static int commit_name_cmp(const struct commit_name *cn1,
@@ -396,8 +396,8 @@ static void describe(const char *arg, int last_one)
 	if (debug) {
 		for (cur_match = 0; cur_match < match_cnt; cur_match++) {
 			struct possible_tag *t = &all_matches[cur_match];
-			fprintf(stderr, " %-11s %8d %s\n",
-				prio_names[t->name->prio],
+			fprintf(stderr, " %-15s %8d %s\n",
+				_(prio_names[t->name->prio]),
 				t->depth, t->name->path);
 		}
 		fprintf(stderr, _("traversed %lu commits\n"), seen_commits);
Signature · 1 line
2.12.0.484.g92f9ab2bc1
#1 lore raw

PATCH 2/2 l10n: de: translate describe debug terms

---
Junio: this is just a l10n-followup to the previous code patch ;)

 po/de.po | 14 +++++++++++++-
 1 file changed, 13 insertions(+), 1 deletion(-)
po/de.po +13 -1
index e9c86f5488..913db393dc 100644
@@ -7530,7 +7530,19 @@ msgstr "git describe [<Optionen>] [<Commit-Angabe>...]"
 msgid "git describe [<options>] --dirty"
 msgstr "git describe [<Optionen>] --dirty"
 
-#: builtin/describe.c:217
+#: builtin/describe.c:52
+msgid "head"
+msgstr "Branch"
+
+#: builtin/describe.c:52
+msgid "lightweight"
+msgstr "nicht-annotiert"
+
+#: builtin/describe.c:52
+msgid "annotated"
+msgstr "annotiert"
+
+#: builtin/describe.c:249
 #, c-format
 msgid "annotated tag %s not available"
 msgstr "annotiertes Tag %s ist nicht verfügbar"
Signature · 1 line
2.12.0.484.g92f9ab2bc1
#2 lore raw
In reply to Michael J Gruber
Quoted 6 lines · Michael J Gruber

git describe --debug localizes all debug messages but not the terms head, lightweight, annotated that it outputs for the candidates. Localize them, too.

Also, increase the width of that field to create room for the translated terms.

If you worry about something not fitting within 11, there is no guarantee that 15 is enough. Wouldn't it be saner to make that _("%-11s %8d %s\n") localizable, too?

Alternatively,

	if (debug) {
		static int label_width = -1;
		if (label_width < 0) {
			int i;
			for (i = 0; i < ARRAY_SIZE(prio_names); i++)
				... do a one-time width measurement
                                ... to set label_width
		}
		fprintf(stderr, "%-.*s %8d %s\n", 
		                label_width, _(prio_names[t->name->prio]),
				...);
	...

or something like that, perhaps?

Quoted 31 lines

---
Ralf: this is just the context for the following l10-de patch

 builtin/describe.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)
builtin/describe.c +3 -3
index 76c18059bf..1a760c16f9 100644
@@ -49,7 +49,7 @@ struct commit_name {
 };
 
 static const char *prio_names[] = {
-	"head", "lightweight", "annotated",
+	N_("head"), N_("lightweight"), N_("annotated"),
 };
 
 static int commit_name_cmp(const struct commit_name *cn1,
@@ -396,8 +396,8 @@ static void describe(const char *arg, int last_one)
 	if (debug) {
 		for (cur_match = 0; cur_match < match_cnt; cur_match++) {
 			struct possible_tag *t = &all_matches[cur_match];
-			fprintf(stderr, " %-11s %8d %s\n",
-				prio_names[t->name->prio],
+			fprintf(stderr, " %-15s %8d %s\n",
+				_(prio_names[t->name->prio]),
 				t->depth, t->name->path);
 		}
 		fprintf(stderr, _("traversed %lu commits\n"), seen_commits);
#3 lore raw

PATCH v2 1/2 describe: localize debug output fully

git describe --debug localizes all debug messages but not the terms head, lightweight, annotated that it outputs for the candidates. Localize them, too.

---
 builtin/describe.c | 15 ++++++++++++---
 1 file changed, 12 insertions(+), 3 deletions(-)
builtin/describe.c +12 -3
index 45adbf67d5..99e963dfe7 100644
@@ -50,7 +50,7 @@ struct commit_name {
 };
 
 static const char *prio_names[] = {
-	"head", "lightweight", "annotated",
+	N_("head"), N_("lightweight"), N_("annotated"),
 };
 
 static int commit_name_cmp(const struct commit_name *cn1,
@@ -395,10 +395,19 @@ static void describe(const char *arg, int last_one)
 	free_commit_list(list);
 
 	if (debug) {
+		static int label_width = -1;
+		if (label_width < 0) {
+			int i, w;
+			for (i = 0; i < ARRAY_SIZE(prio_names); i++) {
+				w = strlen(_(prio_names[i]));
+				if (label_width < w)
+					label_width = w;
+			}
+		}		
 		for (cur_match = 0; cur_match < match_cnt; cur_match++) {
 			struct possible_tag *t = &all_matches[cur_match];
-			fprintf(stderr, " %-11s %8d %s\n",
-				prio_names[t->name->prio],
+			fprintf(stderr, " %-*s %8d %s\n",
+				label_width, _(prio_names[t->name->prio]),
 				t->depth, t->name->path);
 		}
 		fprintf(stderr, _("traversed %lu commits\n"), seen_commits);
Signature · 1 line
2.12.2.584.g7becbf139a
#4 lore raw

PATCH v2 2/2 l10n: de: translate describe debug terms

In reply to Junio C Hamano
---
 po/de.po | 14 +++++++++++++-
 1 file changed, 13 insertions(+), 1 deletion(-)
po/de.po +13 -1
index e9c86f5488..913db393dc 100644
@@ -7530,7 +7530,19 @@ msgstr "git describe [<Optionen>] [<Commit-Angabe>...]"
 msgid "git describe [<options>] --dirty"
 msgstr "git describe [<Optionen>] --dirty"
 
-#: builtin/describe.c:217
+#: builtin/describe.c:52
+msgid "head"
+msgstr "Branch"
+
+#: builtin/describe.c:52
+msgid "lightweight"
+msgstr "nicht-annotiert"
+
+#: builtin/describe.c:52
+msgid "annotated"
+msgstr "annotiert"
+
+#: builtin/describe.c:249
 #, c-format
 msgid "annotated tag %s not available"
 msgstr "annotiertes Tag %s ist nicht verfügbar"
Signature · 1 line
2.12.2.584.g7becbf139a
#5 lore raw

v2 cover describe: localize debug output

In reply to Junio C Hamano

v2 computes the width for the localized output dynamically. In fact, it might overcalculated a bit depending on the encoding, but this does not do any harm.

Michael J Gruber (2):
describe: localize debug output fully
l10n: de: translate describe debug terms

 builtin/describe.c | 15 ++++++++++++---
 po/de.po           | 14 +++++++++++++-
 2 files changed, 25 insertions(+), 4 deletions(-)
Signature · 1 line
2.12.2.584.g7becbf139a
#6 lore raw

Re: [PATCH v2 0/2] describe: localize debug output

Quoted 3 lines · Michael J Gruber

v2 computes the width for the localized output dynamically. In fact, it might overcalculated a bit depending on the encoding, but this does not do any harm.

Thanks.

As you said, if we wanted to actually _align_, then it needs much more work. But that is not what we are aiming for in this round, it should be alright.