[PATCH/RFC] inconsistent error messages for translation

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



There are lots of variants of the same message:

msgid "cannot stat '%s'"
msgid "failed to stat '%s'"
msgid "failed to stat %s\n"
msgid "Could not stat '%s'"

This patch makes them all "Could not stat %s" and "Could not stat '%s'\n".
That makes .po file shorter.

Also same trivial fix:
-		return error(_("path '%s' does not have all three versions"),
+		return error(_("path '%s' does not have all 3 versions"),

Signed-off-by: Motiejus JakÅtys <desired.mta@xxxxxxxxx>
---

DRY:

#: builtin/fetch.c:282
sprintf(display, "%c %-*s %-*s -> %s%s", r ? '!' : '-',
    TRANSPORT_SUMMARY_WIDTH, _("[tag update]"), REFCOL_WIDTH, remote,
    pretty_ref, r ? _("  (unable to update local ref)") : "");

#: builtin/fetch.c:338
sprintf(display, "%c %-*s %-*s -> %s  (%s)", r ? '!' : '+',
    TRANSPORT_SUMMARY_WIDTH, quickref, REFCOL_WIDTH, remote,
    pretty_ref,
    r ? _("unable to update local ref") : _("forced update"));

It produces
#: builtin/fetch.c:282 builtin/fetch.c:307 builtin/fetch.c:323
msgid "  (unable to update local ref)"
#: builtin/fetch.c:338
msgid "unable to update local ref"

I would like to have one string to translate instead of two.

How I would solve this:
// or similar, unsure if this will work
char *without_brackets = _("unable to update local ref");
char *with_brackets;
snprintf(with_brackets, 20, "  (%s)", trans);

// -- code --
    pretty_ref, r ? with_brackets : "");

It introduces 2 more variables. Is there a more elegant way?

Motiejus

 builtin/checkout.c |    2 +-
 builtin/grep.c     |    2 +-
 builtin/init-db.c  |   24 ++++++++++++------------
 3 files changed, 14 insertions(+), 14 deletions(-)

diff --git a/builtin/checkout.c b/builtin/checkout.c
index eece5d6..417f03d 100644
--- a/builtin/checkout.c
+++ b/builtin/checkout.c
@@ -118,7 +118,7 @@ static int check_all_stages(struct cache_entry *ce, int pos)
 	    ce_stage(active_cache[pos+1]) != 2 ||
 	    strcmp(active_cache[pos+2]->name, ce->name) ||
 	    ce_stage(active_cache[pos+2]) != 3)
-		return error(_("path '%s' does not have all three versions"),
+		return error(_("path '%s' does not have all 3 versions"),
 			     ce->name);
 	return 0;
 }
diff --git a/builtin/grep.c b/builtin/grep.c
index 10a1f65..24d19b8 100644
--- a/builtin/grep.c
+++ b/builtin/grep.c
@@ -413,7 +413,7 @@ static void *load_file(const char *filename, size_t *sz)
 	if (lstat(filename, &st) < 0) {
 	err_ret:
 		if (errno != ENOENT)
-			error(_("'%s': %s"), filename, strerror(errno));
+			error("'%s': %s", filename, strerror(errno));
 		return NULL;
 	}
 	if (!S_ISREG(st.st_mode))
diff --git a/builtin/init-db.c b/builtin/init-db.c
index b7370d9..f1bee61 100644
--- a/builtin/init-db.c
+++ b/builtin/init-db.c
@@ -64,20 +64,20 @@ static void copy_templates_1(char *path, int baselen,
 		memcpy(template + template_baselen, de->d_name, namelen+1);
 		if (lstat(path, &st_git)) {
 			if (errno != ENOENT)
-				die_errno(_("cannot stat '%s'"), path);
+				die_errno(_("Could not stat '%s'"), path);
 		}
 		else
 			exists = 1;
 
 		if (lstat(template, &st_template))
-			die_errno(_("cannot stat template '%s'"), template);
+			die_errno(_("Could not stat template '%s'"), template);
 
 		if (S_ISDIR(st_template.st_mode)) {
 			DIR *subdir = opendir(template);
 			int baselen_sub = baselen + namelen;
 			int template_baselen_sub = template_baselen + namelen;
 			if (!subdir)
-				die_errno(_("cannot opendir '%s'"), template);
+				die_errno(_("Could not opendir '%s'"), template);
 			path[baselen_sub++] =
 				template[template_baselen_sub++] = '/';
 			path[baselen_sub] =
@@ -94,16 +94,16 @@ static void copy_templates_1(char *path, int baselen,
 			int len;
 			len = readlink(template, lnk, sizeof(lnk));
 			if (len < 0)
-				die_errno(_("cannot readlink '%s'"), template);
+				die_errno(_("Could not readlink '%s'"), template);
 			if (sizeof(lnk) <= len)
 				die(_("insanely long symlink %s"), template);
 			lnk[len] = 0;
 			if (symlink(lnk, path))
-				die_errno(_("cannot symlink '%s' '%s'"), lnk, path);
+				die_errno(_("Could not symlink '%s' '%s'"), lnk, path);
 		}
 		else if (S_ISREG(st_template.st_mode)) {
 			if (copy_file(path, template, st_template.st_mode))
-				die_errno(_("cannot copy '%s' to '%s'"), template,
+				die_errno(_("Could not copy '%s' to '%s'"), template,
 					  path);
 		}
 		else
@@ -437,7 +437,7 @@ static int guess_repository_type(const char *git_dir)
 	if (!strcmp(".", git_dir))
 		return 1;
 	if (!getcwd(cwd, sizeof(cwd)))
-		die_errno(_("cannot tell cwd"));
+		die_errno(_("Could not tell cwd"));
 	if (!strcmp(git_dir, cwd))
 		return 1;
 	/*
@@ -518,18 +518,18 @@ int cmd_init_db(int argc, const char **argv, const char *prefix)
 					errno = EEXIST;
 					/* fallthru */
 				case -1:
-					die_errno(_("cannot mkdir %s"), argv[0]);
+					die_errno(_("Could not mkdir %s"), argv[0]);
 					break;
 				default:
 					break;
 				}
 				shared_repository = saved;
 				if (mkdir(argv[0], 0777) < 0)
-					die_errno(_("cannot mkdir %s"), argv[0]);
+					die_errno(_("Could not mkdir %s"), argv[0]);
 				mkdir_tried = 1;
 				goto retry;
 			}
-			die_errno(_("cannot chdir to %s"), argv[0]);
+			die_errno(_("Could not chdir to %s"), argv[0]);
 		}
 	} else if (0 < argc) {
 		usage(init_db_usage[0]);
@@ -575,14 +575,14 @@ int cmd_init_db(int argc, const char **argv, const char *prefix)
 		if (!git_work_tree_cfg) {
 			git_work_tree_cfg = xcalloc(PATH_MAX, 1);
 			if (!getcwd(git_work_tree_cfg, PATH_MAX))
-				die_errno (_("Cannot access current working directory"));
+				die_errno (_("Could not access current working directory"));
 		}
 		if (work_tree)
 			set_git_work_tree(real_path(work_tree));
 		else
 			set_git_work_tree(git_work_tree_cfg);
 		if (access(get_git_work_tree(), X_OK))
-			die_errno (_("Cannot access work tree '%s'"),
+			die_errno (_("Could not access work tree '%s'"),
 				   get_git_work_tree());
 	}
 	else {
-- 
1.7.2.5

--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]