On Sat, Apr 29, 2017 at 12:02 PM, Jean-Noel Avila <jn.avila@xxxxxxx> wrote: > The building of the reflog message is using strbuf, which is not > friendly with internationalization frameworks. No other reflog > messages are translated right now and switching all the messages to > i18n would require a major rework of the way the messages are built. [CC'd Cornelius Weig who added the code you're modifying] If I'm reading this correctly this is a good patch but quite a bad explanation of what we're changing. The problem here is not that it's cumbersome to translate this using strbuf, but that we're injecting i18n'd messages into the reflog, so e.g. someone with a Chinese locale creating a tag in a shared repo will cause the Chinese i18n message to be inserted into the reflog, and then someone with e.g. a German or English locale will see the Chinese messages when they run "git reflog". That's a very bad thing, and in some ways worse than translating plumbing messages, because here we're injecting i18n'd messages into the on-disk format. Luckily this hasn't made it into 2.13 yet. Junio, if the above description is accurate then this is something we definitely want in the final 2.13. > Signed-off-by: Jean-Noel Avila <jn.avila@xxxxxxx> > --- > builtin/tag.c | 12 ++++++------ > 1 file changed, 6 insertions(+), 6 deletions(-) > > diff --git a/builtin/tag.c b/builtin/tag.c > index 222404522..bdf1e88e9 100644 > --- a/builtin/tag.c > +++ b/builtin/tag.c > @@ -309,7 +309,7 @@ static void create_reflog_msg(const unsigned char *sha1, struct strbuf *sb) > if (rla) { > strbuf_addstr(sb, rla); > } else { > - strbuf_addstr(sb, _("tag: tagging ")); > + strbuf_addstr(sb, "tag: tagging "); > strbuf_add_unique_abbrev(sb, sha1, DEFAULT_ABBREV); > } > > @@ -317,14 +317,14 @@ static void create_reflog_msg(const unsigned char *sha1, struct strbuf *sb) > type = sha1_object_info(sha1, NULL); > switch (type) { > default: > - strbuf_addstr(sb, _("object of unknown type")); > + strbuf_addstr(sb, "object of unknown type"); > break; > case OBJ_COMMIT: > if ((buf = read_sha1_file(sha1, &type, &size)) != NULL) { > subject_len = find_commit_subject(buf, &subject_start); > strbuf_insert(sb, sb->len, subject_start, subject_len); > } else { > - strbuf_addstr(sb, _("commit object")); > + strbuf_addstr(sb, "commit object"); > } > free(buf); > > @@ -332,13 +332,13 @@ static void create_reflog_msg(const unsigned char *sha1, struct strbuf *sb) > strbuf_addf(sb, ", %s", show_date(c->date, 0, DATE_MODE(SHORT))); > break; > case OBJ_TREE: > - strbuf_addstr(sb, _("tree object")); > + strbuf_addstr(sb, "tree object"); > break; > case OBJ_BLOB: > - strbuf_addstr(sb, _("blob object")); > + strbuf_addstr(sb, "blob object"); > break; > case OBJ_TAG: > - strbuf_addstr(sb, _("other tag object")); > + strbuf_addstr(sb, "other tag object"); > break; > } > strbuf_addch(sb, ')'); > -- > 2.12.0 >