From: "Nguyễn Thái Ngọc Duy" <pclouds@gmail.com>
To: pclouds@gmail.com
Cc: git@vger.kernel.org, gitster@pobox.com, szeder.dev@gmail.com
Subject: [PATCH v3 15/16] fsck: reduce word legos to help i18n
Date: Sat, 10 Nov 2018 06:16:14 +0100 [thread overview]
Message-ID: <20181110051615.8641-16-pclouds@gmail.com> (raw)
In-Reply-To: <20181110051615.8641-1-pclouds@gmail.com>
These messages will be marked for translation later. Reduce word legos
and give translators almost full phrases. describe_object() is updated
so that it can be called from printf() twice.
While at there, remove \n from the strings to reduce a bit of work
from translators.
Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
---
builtin/fsck.c | 65 +++++++++++++++++++++++++++++++-------------------
1 file changed, 40 insertions(+), 25 deletions(-)
diff --git a/builtin/fsck.c b/builtin/fsck.c
index 06eb421720..1feb6142f4 100644
--- a/builtin/fsck.c
+++ b/builtin/fsck.c
@@ -52,16 +52,24 @@ static int name_objects;
static const char *describe_object(struct object *obj)
{
- static struct strbuf buf = STRBUF_INIT;
- char *name = name_objects ?
- lookup_decoration(fsck_walk_options.object_names, obj) : NULL;
+ static struct strbuf bufs[] = {
+ STRBUF_INIT, STRBUF_INIT, STRBUF_INIT, STRBUF_INIT
+ };
+ static int b = 0;
+ struct strbuf *buf;
+ char *name = NULL;
- strbuf_reset(&buf);
- strbuf_addstr(&buf, oid_to_hex(&obj->oid));
+ if (name_objects)
+ name = lookup_decoration(fsck_walk_options.object_names, obj);
+
+ buf = bufs + b;
+ b = (b + 1) % ARRAY_SIZE(bufs);
+ strbuf_reset(buf);
+ strbuf_addstr(buf, oid_to_hex(&obj->oid));
if (name)
- strbuf_addf(&buf, " (%s)", name);
+ strbuf_addf(buf, " (%s)", name);
- return buf.buf;
+ return buf->buf;
}
static const char *printable_type(struct object *obj)
@@ -105,25 +113,29 @@ static int fsck_config(const char *var, const char *value, void *cb)
return git_default_config(var, value, cb);
}
-static void objreport(struct object *obj, const char *msg_type,
- const char *err)
-{
- fprintf(stderr, "%s in %s %s: %s\n",
- msg_type, printable_type(obj), describe_object(obj), err);
-}
-
static int objerror(struct object *obj, const char *err)
{
errors_found |= ERROR_OBJECT;
- objreport(obj, "error", err);
+ fprintf_ln(stderr, "error in %s %s: %s",
+ printable_type(obj), describe_object(obj), err);
return -1;
}
static int fsck_error_func(struct fsck_options *o,
struct object *obj, int type, const char *message)
{
- objreport(obj, (type == FSCK_WARN) ? "warning" : "error", message);
- return (type == FSCK_WARN) ? 0 : 1;
+ switch (type) {
+ case FSCK_WARN:
+ fprintf_ln(stderr, "warning in %s %s: %s",
+ printable_type(obj), describe_object(obj), message);
+ return 0;
+ case FSCK_ERROR:
+ fprintf_ln(stderr, "error in %s %s: %s",
+ printable_type(obj), describe_object(obj), message);
+ return 1;
+ default:
+ BUG("%d (FSCK_IGNORE?) should never trigger this callback", type);
+ }
}
static struct object_array pending;
@@ -165,10 +177,12 @@ static int mark_object(struct object *obj, int type, void *data, struct fsck_opt
if (!(obj->flags & HAS_OBJ)) {
if (parent && !has_object_file(&obj->oid)) {
- printf("broken link from %7s %s\n",
- printable_type(parent), describe_object(parent));
- printf(" to %7s %s\n",
- printable_type(obj), describe_object(obj));
+ printf_ln("broken link from %7s %s\n"
+ " to %7s %s",
+ printable_type(parent),
+ describe_object(parent),
+ printable_type(obj),
+ describe_object(obj));
errors_found |= ERROR_REACHABLE;
}
return 1;
@@ -371,10 +385,11 @@ static int fsck_obj(struct object *obj, void *buffer, unsigned long size)
struct tag *tag = (struct tag *) obj;
if (show_tags && tag->tagged) {
- printf("tagged %s %s", printable_type(tag->tagged),
- describe_object(tag->tagged));
- printf(" (%s) in %s\n", tag->tag,
- describe_object(&tag->object));
+ printf_ln("tagged %s %s (%s) in %s",
+ printable_type(tag->tagged),
+ describe_object(tag->tagged),
+ tag->tag,
+ describe_object(&tag->object));
}
}
--
2.19.1.1231.g84aef82467
next prev parent reply other threads:[~2018-11-10 5:46 UTC|newest]
Thread overview: 71+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-10-28 6:51 [PATCH 00/12] Mark more strings for translation Nguyễn Thái Ngọc Duy
2018-10-28 6:51 ` [PATCH 01/12] git.c: mark " Nguyễn Thái Ngọc Duy
2018-10-28 6:51 ` [PATCH 02/12] alias.c: mark split_cmdline_strerror() " Nguyễn Thái Ngọc Duy
2018-10-28 6:51 ` [PATCH 03/12] archive.c: mark more " Nguyễn Thái Ngọc Duy
2018-10-28 6:51 ` [PATCH 04/12] attr.c: mark more string " Nguyễn Thái Ngọc Duy
2018-10-28 6:51 ` [PATCH 05/12] read-cache.c: mark more strings " Nguyễn Thái Ngọc Duy
2018-10-28 6:51 ` [PATCH 06/12] read-cache.c: add missing colon separators Nguyễn Thái Ngọc Duy
2018-10-28 6:51 ` [PATCH 07/12] reflog: mark strings for translation Nguyễn Thái Ngọc Duy
2018-10-28 6:51 ` [PATCH 08/12] remote.c: mark messages " Nguyễn Thái Ngọc Duy
2018-10-29 7:56 ` Junio C Hamano
2018-10-29 16:16 ` Duy Nguyen
2018-10-28 6:51 ` [PATCH 09/12] repack: mark more strings " Nguyễn Thái Ngọc Duy
2018-10-28 6:51 ` [PATCH 10/12] parse-options: replace opterror() with optname() Nguyễn Thái Ngọc Duy
2018-10-28 6:51 ` [PATCH 11/12] parse-options.c: mark more strings for translation Nguyễn Thái Ngọc Duy
2018-10-28 6:51 ` [PATCH 12/12] fsck: mark " Nguyễn Thái Ngọc Duy
2018-10-29 10:53 ` SZEDER Gábor
2018-10-29 14:09 ` Junio C Hamano
2018-10-29 16:14 ` Duy Nguyen
2018-10-29 17:38 ` Ævar Arnfjörð Bjarmason
2018-10-29 17:43 ` Ævar Arnfjörð Bjarmason
2018-11-01 1:36 ` Jiang Xin
2018-10-30 23:27 ` Jonathan Nieder
2018-11-05 17:21 ` Duy Nguyen
2018-11-05 19:20 ` [PATCH v2 00/16] Mark more " Nguyễn Thái Ngọc Duy
2018-11-05 19:20 ` [PATCH v2 01/16] git.c: mark " Nguyễn Thái Ngọc Duy
2018-11-06 2:02 ` Junio C Hamano
2018-11-05 19:20 ` [PATCH v2 02/16] alias.c: mark split_cmdline_strerror() " Nguyễn Thái Ngọc Duy
2018-11-05 19:20 ` [PATCH v2 03/16] archive.c: mark more " Nguyễn Thái Ngọc Duy
2018-11-06 2:09 ` Junio C Hamano
2018-11-05 19:20 ` [PATCH v2 04/16] attr.c: mark more string " Nguyễn Thái Ngọc Duy
2018-11-05 19:20 ` [PATCH v2 05/16] read-cache.c: turn die("internal error") to BUG() Nguyễn Thái Ngọc Duy
2018-11-06 2:10 ` Junio C Hamano
2018-11-05 19:20 ` [PATCH v2 06/16] read-cache.c: mark more strings for translation Nguyễn Thái Ngọc Duy
2018-11-05 19:20 ` [PATCH v2 07/16] read-cache.c: add missing colon separators Nguyễn Thái Ngọc Duy
2018-11-06 2:12 ` Junio C Hamano
2018-11-05 19:20 ` [PATCH v2 08/16] reflog: mark strings for translation Nguyễn Thái Ngọc Duy
2018-11-06 2:13 ` Junio C Hamano
2018-11-05 19:20 ` [PATCH v2 09/16] remote.c: turn some error() or die() to BUG() Nguyễn Thái Ngọc Duy
2018-11-06 2:21 ` Junio C Hamano
2018-11-05 19:20 ` [PATCH v2 10/16] remote.c: mark messages for translation Nguyễn Thái Ngọc Duy
2018-11-05 19:20 ` [PATCH v2 11/16] repack: mark more strings " Nguyễn Thái Ngọc Duy
2018-11-05 19:20 ` [PATCH v2 12/16] parse-options: replace opterror() with optname() Nguyễn Thái Ngọc Duy
2018-11-06 2:33 ` Junio C Hamano
2018-11-06 14:02 ` Ramsay Jones
2018-11-06 19:08 ` Jeff King
2018-11-10 4:55 ` Duy Nguyen
2018-11-10 14:59 ` Ramsay Jones
2018-11-05 19:20 ` [PATCH v2 13/16] parse-options.c: turn some die() to BUG() Nguyễn Thái Ngọc Duy
2018-11-06 3:27 ` Junio C Hamano
2018-11-05 19:20 ` [PATCH v2 14/16] parse-options.c: mark more strings for translation Nguyễn Thái Ngọc Duy
2018-11-05 19:20 ` [PATCH v2 15/16] fsck: reduce word legos to help i18n Nguyễn Thái Ngọc Duy
2018-11-06 3:41 ` Junio C Hamano
2018-11-10 4:59 ` Duy Nguyen
2018-11-05 19:20 ` [PATCH v2 16/16] fsck: mark strings for translation Nguyễn Thái Ngọc Duy
2018-11-10 5:15 ` [PATCH v3 00/16] Mark more " Nguyễn Thái Ngọc Duy
2018-11-10 5:16 ` [PATCH v3 01/16] git.c: mark " Nguyễn Thái Ngọc Duy
2018-11-10 5:16 ` [PATCH v3 02/16] alias.c: mark split_cmdline_strerror() " Nguyễn Thái Ngọc Duy
2018-11-10 5:16 ` [PATCH v3 03/16] archive.c: mark more " Nguyễn Thái Ngọc Duy
2018-11-10 5:16 ` [PATCH v3 04/16] attr.c: mark more string " Nguyễn Thái Ngọc Duy
2018-11-10 5:16 ` [PATCH v3 05/16] read-cache.c: turn die("internal error") to BUG() Nguyễn Thái Ngọc Duy
2018-11-10 5:16 ` [PATCH v3 06/16] read-cache.c: mark more strings for translation Nguyễn Thái Ngọc Duy
2018-11-10 5:16 ` [PATCH v3 07/16] read-cache.c: add missing colon separators Nguyễn Thái Ngọc Duy
2018-11-10 5:16 ` [PATCH v3 08/16] reflog: mark strings for translation Nguyễn Thái Ngọc Duy
2018-11-10 5:16 ` [PATCH v3 09/16] remote.c: turn some error() or die() to BUG() Nguyễn Thái Ngọc Duy
2018-11-10 5:16 ` [PATCH v3 10/16] remote.c: mark messages for translation Nguyễn Thái Ngọc Duy
2018-11-10 5:16 ` [PATCH v3 11/16] repack: mark more strings " Nguyễn Thái Ngọc Duy
2018-11-10 5:16 ` [PATCH v3 12/16] parse-options: replace opterror() with optname() Nguyễn Thái Ngọc Duy
2018-11-10 5:16 ` [PATCH v3 13/16] parse-options.c: turn some die() to BUG() Nguyễn Thái Ngọc Duy
2018-11-10 5:16 ` [PATCH v3 14/16] parse-options.c: mark more strings for translation Nguyễn Thái Ngọc Duy
2018-11-10 5:16 ` Nguyễn Thái Ngọc Duy [this message]
2018-11-10 5:16 ` [PATCH v3 16/16] fsck: mark " Nguyễn Thái Ngọc Duy
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20181110051615.8641-16-pclouds@gmail.com \
--to=pclouds@gmail.com \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=szeder.dev@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).