[Cluster-devel] [PATCH] mkfs.gfs2: Improve strings for translation

Steven Whitehouse swhiteho at redhat.com
Fri Nov 16 09:25:44 UTC 2012


Hi,

I think that looks ok. One thought is whether it would be possible to
merge the argument parsing (and the help message) for the three-in-one
binary that we have at the moment. If we have arguments to set the mode
(so we can override the default provided by the binary name) then it
should be possible provided the options are not too different between
the three,

Steve.

On Thu, 2012-11-15 at 18:57 +0000, Andrew Price wrote:
> Separate strings from formatting where possible, e.g. in usage(), and
> improve strings for reuse and to simplify translations.
> 
> Signed-off-by: Andrew Price <anprice at redhat.com>
> ---
>  gfs2/mkfs/main_grow.c |  67 ++++---
>  gfs2/mkfs/main_jadd.c |  41 +++--
>  gfs2/mkfs/main_mkfs.c | 127 +++++++-------
>  po/gfs2-utils.pot     | 475 +++++++++++++++++++++++++++++++-------------------
>  4 files changed, 429 insertions(+), 281 deletions(-)
> 
> diff --git a/gfs2/mkfs/main_grow.c b/gfs2/mkfs/main_grow.c
> index 7bcfce2..8c8f23b 100644
> --- a/gfs2/mkfs/main_grow.c
> +++ b/gfs2/mkfs/main_grow.c
> @@ -61,17 +61,28 @@ static int discard_blocks(int fd, uint64_t start, uint64_t len)
>  
>  static void usage(void)
>  {
> -	fprintf(stdout,
> -		_("Usage:\n"
> -		"\n"
> -		"gfs2_grow [options] /path/to/filesystem\n"
> -		"\n"
> -		"Options:\n"
> -		"  -h               Usage information\n"
> -		"  -q               Quiet, reduce verbosity\n"
> -		"  -T               Test, do everything except update FS\n"
> -		"  -V               Version information\n"
> -		"  -v               Verbose, increase verbosity\n"));
> +	int i;
> +	const char *option, *param, *desc;
> +	const char *options[] = {
> +		"-h", NULL, _("Display this usage information"),
> +		"-q", NULL, _("Quiet, reduce verbosity"),
> +		"-T", NULL, _("Do everything except update FS"),
> +		"-V", NULL, _("Display version information"),
> +		"-v", NULL, _("Increase verbosity"),
> +		NULL, NULL, NULL /* Must be kept at the end */
> +	};
> +
> +	printf("%s\n", _("Usage:"));
> +	printf("    gfs2_grow [%s] <%s>\n\n", _("options"), _("device"));
> +	printf(_("Expands a GFS2 file system after the device upon which the file system resides has been expanded"));
> +	printf("\n\n%s\n", _("Options:"));
> +
> +	for (i = 0; options[i] != NULL; i += 3) {
> +		option = options[i];
> +		param = options[i+1];
> +		desc = options[i+2];
> +		printf("%3s %-15s %s\n", option, param ? param : "", desc);
> +	}
>  }
>  
>  static void decode_arguments(int argc, char *argv[], struct gfs2_sbd *sdp)
> @@ -85,7 +96,7 @@ static void decode_arguments(int argc, char *argv[], struct gfs2_sbd *sdp)
>  			override_device_size <<= 20;
>  			break;
>  		case 'V':
> -			printf("%s %s (built %s %s)\n", argv[0],
> +			printf(_("%s %s (built %s %s)\n"), argv[0],
>  			       VERSION, __DATE__, __TIME__);
>  			printf(REDHAT_COPYRIGHT "\n");
>  			exit(0);
> @@ -96,7 +107,7 @@ static void decode_arguments(int argc, char *argv[], struct gfs2_sbd *sdp)
>  			decrease_verbosity();
>  			break;
>  		case 'T':
> -			printf( _("(Test mode--File system will not "
> +			printf( _("(Test mode - file system will not "
>  			       "be changed)\n"));
>  			test = 1;
>  			break;
> @@ -109,7 +120,7 @@ static void decode_arguments(int argc, char *argv[], struct gfs2_sbd *sdp)
>  			fprintf(stderr, _("Please use '-h' for help.\n"));
>  			exit(EXIT_FAILURE);
>  		default:
> -			fprintf(stderr, _("Invalid option %c\n"), opt);
> +			fprintf(stderr, _("Invalid option '%c'\n"), opt);
>  			exit(EXIT_FAILURE);
>  			break;
>  		}
> @@ -234,8 +245,7 @@ static void fix_rindex(struct gfs2_sbd *sdp, int rindex_fd, int old_rg_count)
>  		lseek(rindex_fd, 0, SEEK_END);
>  		count = write(rindex_fd, buf, sizeof(struct gfs2_rindex));
>  		if (count != sizeof(struct gfs2_rindex)) {
> -			log_crit(_("Error writing first new rindex entry;"
> -				 "aborted.\n"));
> +			log_crit(_("Error writing first new rindex entry; aborted.\n"));
>  			if (count > 0)
>  				goto trunc;
>  			else
> @@ -244,8 +254,7 @@ static void fix_rindex(struct gfs2_sbd *sdp, int rindex_fd, int old_rg_count)
>  		count = write(rindex_fd, buf + sizeof(struct gfs2_rindex),
>  			      writelen - sizeof(struct gfs2_rindex));
>  		if (count != writelen - sizeof(struct gfs2_rindex)) {
> -			log_crit(_("Error writing new rindex entries;"
> -				 "aborted.\n"));
> +			log_crit(_("Error writing new rindex entries; aborted.\n"));
>  			if (count > 0)
>  				goto trunc;
>  			else
> @@ -260,7 +269,7 @@ out:
>  	return;
>  trunc:
>  	count = (count / sizeof(struct gfs2_rindex)) + old_rg_count;
> -	log_crit(_("truncating rindex to %ld\n"),
> +	log_crit(_("truncating rindex to %ld entries\n"),
>  		 (off_t)count * sizeof(struct gfs2_rindex));
>  	ftruncate(rindex_fd, (off_t)count * sizeof(struct gfs2_rindex));
>  	free(buf);
> @@ -272,15 +281,15 @@ trunc:
>   */
>  static void print_info(struct gfs2_sbd *sdp)
>  {
> -	log_notice("FS: Mount Point: %s\n", sdp->path_name);
> -	log_notice("FS: Device:      %s\n", sdp->device_name);
> -	log_notice("FS: Size:        %llu (0x%llx)\n",
> +	log_notice("FS: %-22s%s\n", _("Mount point:"), sdp->path_name);
> +	log_notice("FS: %-22s%s\n", _("Device:"), sdp->device_name);
> +	log_notice("FS: %-22s%llu (0x%llx)\n", _("Size:"),
>  		   (unsigned long long)fssize, (unsigned long long)fssize);
> -	log_notice("FS: RG size:     %u (0x%x)\n", rgsize, rgsize);
> -	log_notice("DEV: Size:       %llu (0x%llx)\n",
> +	log_notice("FS: %-22s%u (0x%x)\n", _("Resource group size:"), rgsize, rgsize);
> +	log_notice("DEV: %-22s%llu (0x%llx)\n", _("Length:"),
>  		   (unsigned long long)sdp->device.length,
>  		   (unsigned long long)sdp->device.length);
> -	log_notice("The file system grew by %lluMB.\n",
> +	log_notice(_("The file system grew by %lluMB.\n"),
>  		   (unsigned long long)fsgrowth / MB);
>  }
>  
> @@ -359,13 +368,13 @@ main_grow(int argc, char *argv[])
>  			exit(EXIT_FAILURE);
>  		}
>  		if (read_sb(sdp) < 0)
> -			die( _("gfs: Error reading superblock.\n"));
> +			die( _("Error reading superblock.\n"));
>  		if (sdp->gfs1) {
>  			die( _("cannot grow gfs1 filesystem\n"));
>  		}
>  		fix_device_geometry(sdp);
>  		if (mount_gfs2_meta(sdp)) {
> -			perror("GFS2 metafs");
> +			perror(_("GFS2 metafs mount failed"));
>  			exit(EXIT_FAILURE);
>  		}
>  
> @@ -373,12 +382,12 @@ main_grow(int argc, char *argv[])
>  		rindex_fd = open(rindex_name, (test ? O_RDONLY : O_RDWR) | O_CLOEXEC);
>  		if (rindex_fd < 0) {
>  			cleanup_metafs(sdp);
> -			die( _("GFS2 rindex not found.  Please run gfs2_fsck.\n"));
> +			die( _("GFS2 rindex not found.  Please run fsck.gfs2.\n"));
>  		}
>  		/* Get master dinode */
>  		sdp->master_dir = lgfs2_inode_read(sdp, sdp->sd_sb.sb_master_dir.no_addr);
>  		if (sdp->master_dir == NULL) {
> -			perror("Could not read master");
> +			perror(_("Could not read master directory"));
>  			exit(EXIT_FAILURE);
>  		}
>  		gfs2_lookupi(sdp->master_dir, "rindex", 6, &sdp->md.riinode);
> diff --git a/gfs2/mkfs/main_jadd.c b/gfs2/mkfs/main_jadd.c
> index e060cc2..da4a401 100644
> --- a/gfs2/mkfs/main_jadd.c
> +++ b/gfs2/mkfs/main_jadd.c
> @@ -59,12 +59,12 @@ rename2system(struct gfs2_sbd *sdp, const char *new_dir, const char *new_name)
>  	error = snprintf(oldpath, PATH_MAX, "%s/new_inode", 
>  			 sdp->metafs_path);
>  	if (error >= PATH_MAX)
> -		die( _("rename2system (1)\n"));
> +		die("rename2system (1)\n");
>  
>  	error = snprintf(newpath, PATH_MAX, "%s/%s/%s",
>  			 sdp->metafs_path, new_dir, new_name);
>  	if (error >= PATH_MAX)
> -		die( _("rename2system (2)\n"));
> +		die("rename2system (2)\n");
>  	
>  	return rename(oldpath, newpath);
>  }
> @@ -76,16 +76,30 @@ rename2system(struct gfs2_sbd *sdp, const char *new_dir, const char *new_name)
>  
>  static void print_usage(const char *prog_name)
>  {
> -	printf( _("Usage:\n\n"
> -		"%s [options] /path/to/filesystem\n\n"
> -		"Options:\n\n"
> -		"  -c <MB>           Size of quota change file\n"
> -		"  -D                Enable debugging code\n"
> -		"  -h                Print this help, then exit\n"
> -		"  -J <MB>           Size of journals\n"
> -		"  -j <num>          Number of journals\n"
> -		"  -q                Don't print anything\n"
> -		"  -V                Print program version information, then exit\n"), prog_name);
> +	int i;
> +	const char *option, *param, *desc;
> +	const char *options[] = {
> +		"-c", "<size>",   _("Size of quota change file, in megabytes"),
> +		"-D", NULL,       _("Enable debugging code"),
> +		"-h", NULL,       _("Display this help, then exit"),
> +		"-J", "<size>",   _("Size of journals, in megabytes"),
> +		"-j", "<number>", _("Number of journals"),
> +		"-q", NULL,       _("Don't print anything"),
> +		"-V", NULL,       _("Display version information, then exit"),
> +		NULL, NULL, NULL /* Must be kept at the end */
> +	};
> +
> +	printf("%s\n", _("Usage:"));
> +	printf("%s [%s] <%s>\n\n", prog_name, _("options"), _("device"));
> +	printf(_("Adds journals to a GFS2 file system."));
> +	printf("\n\n%s\n", _("Options:"));
> +
> +	for (i = 0; options[i] != NULL; i += 3) {
> +		option = options[i];
> +		param = options[i+1];
> +		desc = options[i+2];
> +		printf("%3s %-15s %s\n", option, param ? param : "", desc);
> +	}
>  }
>  
>  /**
> @@ -386,8 +400,7 @@ find_current_journals(struct gfs2_sbd *sdp)
>  close:
>  	closedir(dirp);
>  	if (existing_journals <= 0) {
> -		die( _("There are no journals for this "
> -		    "gfs2 fs! Did you mkfs.gfs2 correctly?\n"));
> +		die( _("No journals found. Did you run mkfs.gfs2 correctly?\n"));
>  	}
>  
>  	sdp->orig_journals = existing_journals;
> diff --git a/gfs2/mkfs/main_mkfs.c b/gfs2/mkfs/main_mkfs.c
> index 3bbb5b4..b83ffec 100644
> --- a/gfs2/mkfs/main_mkfs.c
> +++ b/gfs2/mkfs/main_mkfs.c
> @@ -49,22 +49,37 @@ void print_it(const char *label, const char *fmt, const char *fmt2, ...)
>  static void
>  print_usage(const char *prog_name)
>  {
> -	printf( _("Usage:\n\n"
> -		"%s [options] <device> [ block-count ]\n\n"
> -		"Options:\n\n"
> -		"  -b <bytes>       Filesystem block size\n"
> -		"  -c <MB>          Size of quota change file\n"
> -		"  -D               Enable debugging code\n"
> -		"  -h               Print this help, then exit\n"
> -		"  -J <MB>          Size of journals\n"
> -		"  -j <num>         Number of journals\n"
> -		"  -K               Don't try to discard unused blocks\n"
> -		"  -O               Don't ask for confirmation\n"
> -		"  -p <name>        Name of the locking protocol\n"
> -		"  -q               Don't print anything\n"
> -		"  -r <MB>          Resource Group Size\n"
> -		"  -t <name>        Name of the lock table\n"
> -		"  -V               Print program version information, then exit\n"), prog_name);
> +	int i;
> +	const char *option, *param, *desc;
> +	const char *options[] = {
> +	    "-b", _("<size>"),   _("File system block size, in bytes"),
> +	    "-c", _("<size>"),   _("Size of quota change file, in megabytes"),
> +	    "-D", NULL,          _("Enable debugging code"),
> +	    "-h", NULL,          _("Display this help, then exit"),
> +	    "-J", _("<size>"),   _("Size of journals, in megabytes"),
> +	    "-j", _("<number>"), _("Number of journals"),
> +	    "-K", NULL,          _("Don't try to discard unused blocks"),
> +	    "-O", NULL,          _("Don't ask for confirmation"),
> +	    "-p", _("<name>"),   _("Name of the locking protocol"),
> +	    "-q", NULL,          _("Don't print anything"),
> +	    "-r", _("<size>"),   _("Size of resource groups, in megabytes"),
> +	    "-t", _("<name>"),   _("Name of the lock table"),
> +	    "-V", NULL,          _("Display program version information, then exit"),
> +	    NULL, NULL, NULL /* Must be kept at the end */
> +	};
> +
> +	printf("%s\n", _("Usage:"));
> +	printf("%s [%s] <%s> [%s]\n\n", prog_name, _("options"), _("device"), _("size"));
> +	printf(_("Create a gfs2 file system on a device. If a size, in blocks, is not "
> +	         "specified, the whole device will be used."));
> +	printf("\n\n%s\n", _("Options:"));
> +
> +	for (i = 0; options[i] != NULL; i += 3) {
> +		option = options[i];
> +		param = options[i+1];
> +		desc = options[i+2];
> +		printf("%3s %-15s %s\n", option, param ? param : "", desc);
> +	}
>  }
>  
>  #ifndef BLKDISCARD
> @@ -83,7 +98,7 @@ static int discard_blocks(struct gfs2_sbd *sdp)
>  		       (unsigned long long)range[1]);
>  	if (ioctl(sdp->device_fd, BLKDISCARD, &range) < 0) {
>  		if (sdp->debug)
> -			printf("error = %d\n", errno);
> +			printf("%s = %d\n", _("error"), errno);
>  		return errno;
>  	}
>  	if (sdp->debug)
> @@ -167,7 +182,7 @@ static void decode_arguments(int argc, char *argv[], struct gfs2_sbd *sdp)
>  			break;
>  
>  		case 'V':
> -			printf("gfs2_mkfs %s (built %s %s)\n", VERSION,
> +			printf("mkfs.gfs2 %s (built %s %s)\n", VERSION,
>  			       __DATE__, __TIME__);
>  			printf(REDHAT_COPYRIGHT "\n");
>  			exit(EXIT_SUCCESS);
> @@ -227,8 +242,8 @@ static void decode_arguments(int argc, char *argv[], struct gfs2_sbd *sdp)
>  		printf("  override = %d\n", sdp->override);
>  		printf("  proto = %s\n", sdp->lockproto);
>  		printf("  quiet = %d\n", sdp->quiet);
> -		if (sdp->rgsize==-1)
> -			printf( _("  rgsize = optimize for best performance\n"));
> +		if (sdp->rgsize == (unsigned int)-1)
> +			printf("  rgsize = %s\n", _("Optimize for best performance"));
>  		else
>  			printf("  rgsize = %u\n", sdp->rgsize);
>  		printf("  table = %s\n", sdp->locktable);
> @@ -249,6 +264,7 @@ static void decode_arguments(int argc, char *argv[], struct gfs2_sbd *sdp)
>  static void test_locking(char *lockproto, char *locktable)
>  {
>  	char *c;
> +	const char *errprefix = _("Invalid lock table:");
>  
>  	if (strcmp(lockproto, "lock_nolock") == 0) {
>  		/*  Nolock is always ok.  */
> @@ -260,31 +276,27 @@ static void test_locking(char *lockproto, char *locktable)
>  		}
>  		for (c = locktable; *c; c++) {
>  			if (!isalnum(*c) && (*c != '-') && (*c != '_') && (*c != ':'))
> -				die( _("locktable error: invalid character '%c'\n"), *c);
> +				die("%s %s '%c'\n", errprefix, _("invalid character"), *c);
>  		}
>  
>  		c = strstr(locktable, ":");
>  		if (!c)
> -			die( _("locktable error: missing colon in the locktable\n"));
> +			die("%s %s\n", errprefix, _("missing colon"));
>  
>  		if (c == locktable)
> -			die( _("locktable error: missing cluster name\n"));
> +			die("%s %s\n", errprefix, _("cluster name is missing"));
>  		if (c - locktable > 16)
> -			die( _("locktable error: cluster name too long\n"));
> +			die("%s %s\n", errprefix, _("cluster name is too long"));
>  
>  		c++;
> -		if (!c)
> -			die( _("locktable error: missing filesystem name\n"));
> -
>  		if (strstr(c, ":"))
> -			die( _("locktable error: more than one colon present\n"));
> -
> +			die("%s %s\n", errprefix, _("contains more than one colon"));
>  		if (!strlen(c))
> -			die( _("locktable error: missing filesystem name\n"));
> +			die("%s %s\n", errprefix, _("file system name is missing"));
>  		if (strlen(c) > 16)
> -			die( _("locktable error: filesystem name too long\n"));
> +			die("%s %s\n", errprefix, _("file system name too long"));
>  	} else {
> -		die( _("lockproto error: %s unknown\n"), lockproto);
> +		die( _("Invalid lock protocol: %s\n"), lockproto);
>  	}
>  }
>  
> @@ -490,30 +502,27 @@ print_results(struct gfs2_sbd *sdp, uint64_t real_device_size,
>  		return;
>  
>  	if (sdp->expert)
> -		printf( _("Expert mode:               on\n"));
> -
> -	printf( _("Device:                    %s\n"), sdp->device_name);
> -
> -	printf( _("Blocksize:                 %u\n"), sdp->bsize);
> -	printf( _("Device Size                %.2f GB (%llu blocks)\n"),
> -	       real_device_size / ((float)(1 << 30)),
> -	       (unsigned long long)real_device_size / sdp->bsize);
> -	printf( _("Filesystem Size:           %.2f GB (%llu blocks)\n"),
> -	       sdp->fssize / ((float)(1 << 30)) * sdp->bsize,
> -	       (unsigned long long)sdp->fssize);
> -	printf( _("Journals:                  %u\n"), sdp->md.journals);
> -	printf( _("Resource Groups:           %llu\n"),
> -	       (unsigned long long)sdp->rgrps);
> -	printf( _("Locking Protocol:          \"%s\"\n"), sdp->lockproto);
> -	printf( _("Lock Table:                \"%s\"\n"), sdp->locktable);
> +		printf("%-27s%s\n", _("Expert mode:"), _("on"));
> +
> +	printf("%-27s%s\n", _("Device:"), sdp->device_name);
> +
> +	printf("%-27s%u\n", _("Block size:"), sdp->bsize);
> +	printf("%-27s%.2f %s (%llu %s)\n", _("Device size:"),
> +	       real_device_size / ((float)(1 << 30)), _("GB"),
> +	       (unsigned long long)real_device_size / sdp->bsize, _("blocks"));
> +	printf("%-27s%.2f %s (%llu %s)\n", _("Filesystem size:"),
> +	       sdp->fssize / ((float)(1 << 30)) * sdp->bsize, _("GB"),
> +	       (unsigned long long)sdp->fssize, _("blocks"));
> +	printf("%-27s%u\n", _("Journals:"), sdp->md.journals);
> +	printf("%-27s%llu\n", _("Resource groups:"), (unsigned long long)sdp->rgrps);
> +	printf("%-27s\"%s\"\n", _("Locking protocol:"), sdp->lockproto);
> +	printf("%-27s\"%s\"\n", _("Lock table:"), sdp->locktable);
>  
>  	if (sdp->debug) {
> -		printf("\n");
> -		printf( _("Writes:                    %u\n"), sdp->writes);
> +		printf("\n%-27s%u\n", _("Writes:"), sdp->writes);
>  	}
>  
> -	printf( _("UUID:                      %s\n"), str_uuid(uuid));
> -	printf("\n");
> +	printf("%-27s%s\n\n", _("UUID:"), str_uuid(uuid));
>  }
>  
> 
> @@ -527,7 +536,7 @@ static int is_symlink(char *path, char **abspath)
>  	struct stat lnkstat;
>  
>  	if (lstat(path, &lnkstat) == -1) {
> -		perror("Failed to lstat the device");
> +		perror(_("Failed to lstat the device"));
>  		exit(EXIT_FAILURE);
>  	}
>  	if (!S_ISLNK(lnkstat.st_mode)) {
> @@ -617,7 +626,7 @@ void main_mkfs(int argc, char *argv[])
>  			sdp->bsize = GFS2_DEFAULT_BSIZE;
>  
>  		if (sdp->debug)
> -			printf("\nUsing block size: %u\n", sdp->bsize);
> +			printf("\n%s %u\n", _("Using block size:"), sdp->bsize);
>  	}
>  	verify_bsize(sdp);
>  
> @@ -631,11 +640,11 @@ void main_mkfs(int argc, char *argv[])
>  		sdp->orig_fssize *= sdp->bsize;
>  		sdp->orig_fssize >>= GFS2_BASIC_BLOCK_SHIFT;
>  		if (sdp->orig_fssize > sdp->device.length) {
> -			fprintf(stderr, _("%s: Specified block count is bigger "
> -				"than the actual device.\n"), argv[0]);
> -			die( _("Device Size is %.2f GB (%llu blocks)\n"),
> -			       sdp->dinfo.size / ((float)(1 << 30)),
> -			       (unsigned long long)sdp->dinfo.size / sdp->bsize);
> +			fprintf(stderr, "%s:%s\n", argv[0],
> +			        _("Specified size is bigger than the device."));
> +			die("%s %.2f %s (%llu %s)\n", _("Device size:"),
> +			       sdp->dinfo.size / ((float)(1 << 30)), _("GB"),
> +			       (unsigned long long)sdp->dinfo.size / sdp->bsize, _("blocks"));
>  		}
>  		sdp->device.length = sdp->orig_fssize;
>  	}
> diff --git a/po/gfs2-utils.pot b/po/gfs2-utils.pot
> index 44456dc..1b082a2 100644
> --- a/po/gfs2-utils.pot
> +++ b/po/gfs2-utils.pot
> @@ -8,7 +8,7 @@ msgid ""
>  msgstr ""
>  "Project-Id-Version: gfs2-utils master\n"
>  "Report-Msgid-Bugs-To: linux-cluster at redhat.com\n"
> -"POT-Creation-Date: 2012-11-14 13:58+0000\n"
> +"POT-Creation-Date: 2012-11-15 18:50+0000\n"
>  "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
>  "Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
>  "Language-Team: LANGUAGE <LL at li.org>\n"
> @@ -17,288 +17,366 @@ msgstr ""
>  "Content-Type: text/plain; charset=CHARSET\n"
>  "Content-Transfer-Encoding: 8bit\n"
>  
> -#: gfs2/mkfs/main_mkfs.c:52
> +#: gfs2/mkfs/main_mkfs.c:55 gfs2/mkfs/main_mkfs.c:56 gfs2/mkfs/main_mkfs.c:59
> +#: gfs2/mkfs/main_mkfs.c:65
> +msgid "<size>"
> +msgstr ""
> +
> +#: gfs2/mkfs/main_mkfs.c:55
> +msgid "File system block size, in bytes"
> +msgstr ""
> +
> +#: gfs2/mkfs/main_mkfs.c:56 gfs2/mkfs/main_jadd.c:82
> +msgid "Size of quota change file, in megabytes"
> +msgstr ""
> +
> +#: gfs2/mkfs/main_mkfs.c:57 gfs2/mkfs/main_jadd.c:83
> +msgid "Enable debugging code"
> +msgstr ""
> +
> +#: gfs2/mkfs/main_mkfs.c:58 gfs2/mkfs/main_jadd.c:84
> +msgid "Display this help, then exit"
> +msgstr ""
> +
> +#: gfs2/mkfs/main_mkfs.c:59 gfs2/mkfs/main_jadd.c:85
> +msgid "Size of journals, in megabytes"
> +msgstr ""
> +
> +#: gfs2/mkfs/main_mkfs.c:60
> +msgid "<number>"
> +msgstr ""
> +
> +#: gfs2/mkfs/main_mkfs.c:60 gfs2/mkfs/main_jadd.c:86
> +msgid "Number of journals"
> +msgstr ""
> +
> +#: gfs2/mkfs/main_mkfs.c:61
> +msgid "Don't try to discard unused blocks"
> +msgstr ""
> +
> +#: gfs2/mkfs/main_mkfs.c:62
> +msgid "Don't ask for confirmation"
> +msgstr ""
> +
> +#: gfs2/mkfs/main_mkfs.c:63 gfs2/mkfs/main_mkfs.c:66
> +msgid "<name>"
> +msgstr ""
> +
> +#: gfs2/mkfs/main_mkfs.c:63
> +msgid "Name of the locking protocol"
> +msgstr ""
> +
> +#: gfs2/mkfs/main_mkfs.c:64 gfs2/mkfs/main_jadd.c:87
> +msgid "Don't print anything"
> +msgstr ""
> +
> +#: gfs2/mkfs/main_mkfs.c:65
> +msgid "Size of resource groups, in megabytes"
> +msgstr ""
> +
> +#: gfs2/mkfs/main_mkfs.c:66
> +msgid "Name of the lock table"
> +msgstr ""
> +
> +#: gfs2/mkfs/main_mkfs.c:67
> +msgid "Display program version information, then exit"
> +msgstr ""
> +
> +#: gfs2/mkfs/main_mkfs.c:71 gfs2/mkfs/main_grow.c:75 gfs2/mkfs/main_jadd.c:92
> +msgid "Usage:"
> +msgstr ""
> +
> +#: gfs2/mkfs/main_mkfs.c:72 gfs2/mkfs/main_grow.c:76 gfs2/mkfs/main_jadd.c:93
> +msgid "options"
> +msgstr ""
> +
> +#: gfs2/mkfs/main_mkfs.c:72 gfs2/mkfs/main_grow.c:76 gfs2/mkfs/main_jadd.c:93
> +msgid "device"
> +msgstr ""
> +
> +#: gfs2/mkfs/main_mkfs.c:72
> +msgid "size"
> +msgstr ""
> +
> +#: gfs2/mkfs/main_mkfs.c:73
>  #, c-format
>  msgid ""
> -"Usage:\n"
> -"\n"
> -"%s [options] <device> [ block-count ]\n"
> -"\n"
> -"Options:\n"
> -"\n"
> -"  -b <bytes>       Filesystem block size\n"
> -"  -c <MB>          Size of quota change file\n"
> -"  -D               Enable debugging code\n"
> -"  -h               Print this help, then exit\n"
> -"  -J <MB>          Size of journals\n"
> -"  -j <num>         Number of journals\n"
> -"  -K               Don't try to discard unused blocks\n"
> -"  -O               Don't ask for confirmation\n"
> -"  -p <name>        Name of the locking protocol\n"
> -"  -q               Don't print anything\n"
> -"  -r <MB>          Resource Group Size\n"
> -"  -t <name>        Name of the lock table\n"
> -"  -V               Print program version information, then exit\n"
> -msgstr ""
> -
> -#: gfs2/mkfs/main_mkfs.c:81
> +"Create a gfs2 file system on a device. If a size, in blocks, is not "
> +"specified, the whole device will be used."
> +msgstr ""
> +
> +#: gfs2/mkfs/main_mkfs.c:75 gfs2/mkfs/main_grow.c:78 gfs2/mkfs/main_jadd.c:95
> +msgid "Options:"
> +msgstr ""
> +
> +#: gfs2/mkfs/main_mkfs.c:96
>  #, c-format
>  msgid "Issuing discard ioctl: range: %llu - %llu..."
>  msgstr ""
>  
> -#: gfs2/mkfs/main_mkfs.c:90
> +#: gfs2/mkfs/main_mkfs.c:101
> +msgid "error"
> +msgstr ""
> +
> +#: gfs2/mkfs/main_mkfs.c:105
>  #, c-format
>  msgid "Successful.\n"
>  msgstr ""
>  
> -#: gfs2/mkfs/main_mkfs.c:150
> +#: gfs2/mkfs/main_mkfs.c:165
>  #, c-format
>  msgid "lock protocol name %s is too long\n"
>  msgstr ""
>  
> -#: gfs2/mkfs/main_mkfs.c:165
> +#: gfs2/mkfs/main_mkfs.c:180
>  #, c-format
>  msgid "lock table name %s is too long\n"
>  msgstr ""
>  
> -#: gfs2/mkfs/main_mkfs.c:182 gfs2/mkfs/main_grow.c:109
> -#: gfs2/mkfs/main_jadd.c:138 gfs2/fsck/main.c:103 gfs2/fsck/main.c:114
> +#: gfs2/mkfs/main_mkfs.c:197 gfs2/mkfs/main_grow.c:120
> +#: gfs2/mkfs/main_jadd.c:152 gfs2/fsck/main.c:103 gfs2/fsck/main.c:114
>  #, c-format
>  msgid "Please use '-h' for help.\n"
>  msgstr ""
>  
> -#: gfs2/mkfs/main_mkfs.c:199
> +#: gfs2/mkfs/main_mkfs.c:214
>  msgid "More than one device specified (try -h for help)\n"
>  msgstr ""
>  
> -#: gfs2/mkfs/main_mkfs.c:203 gfs2/mkfs/main_jadd.c:145 gfs2/tune/main.c:92
> +#: gfs2/mkfs/main_mkfs.c:218 gfs2/mkfs/main_jadd.c:159 gfs2/tune/main.c:92
>  #, c-format
>  msgid "Invalid option: %c\n"
>  msgstr ""
>  
> -#: gfs2/mkfs/main_mkfs.c:212 gfs2/convert/gfs2_convert.c:1722
> +#: gfs2/mkfs/main_mkfs.c:227 gfs2/convert/gfs2_convert.c:1722
>  #: gfs2/convert/gfs2_convert.c:1726
>  #, c-format
>  msgid "No device specified. Please use '-h' for help\n"
>  msgstr ""
>  
> -#: gfs2/mkfs/main_mkfs.c:218 gfs2/mkfs/main_jadd.c:157
> +#: gfs2/mkfs/main_mkfs.c:233 gfs2/mkfs/main_jadd.c:171
>  #, c-format
>  msgid "Unrecognized argument: %s\n"
>  msgstr ""
>  
> -#: gfs2/mkfs/main_mkfs.c:221 gfs2/mkfs/main_jadd.c:160
> +#: gfs2/mkfs/main_mkfs.c:236 gfs2/mkfs/main_jadd.c:174
>  #, c-format
>  msgid "Command Line Arguments:\n"
>  msgstr ""
>  
> -#: gfs2/mkfs/main_mkfs.c:231
> -#, c-format
> -msgid "  rgsize = optimize for best performance\n"
> +#: gfs2/mkfs/main_mkfs.c:246
> +msgid "Optimize for best performance"
> +msgstr ""
> +
> +#: gfs2/mkfs/main_mkfs.c:267
> +msgid "Invalid lock table:"
>  msgstr ""
>  
> -#: gfs2/mkfs/main_mkfs.c:258
> +#: gfs2/mkfs/main_mkfs.c:274
>  #, c-format
>  msgid "No lock table specified.\n"
>  msgstr ""
>  
> -#: gfs2/mkfs/main_mkfs.c:263
> -#, c-format
> -msgid "locktable error: invalid character '%c'\n"
> +#: gfs2/mkfs/main_mkfs.c:279
> +msgid "invalid character"
>  msgstr ""
>  
> -#: gfs2/mkfs/main_mkfs.c:268
> -msgid "locktable error: missing colon in the locktable\n"
> +#: gfs2/mkfs/main_mkfs.c:284
> +msgid "missing colon"
>  msgstr ""
>  
> -#: gfs2/mkfs/main_mkfs.c:271
> -msgid "locktable error: missing cluster name\n"
> +#: gfs2/mkfs/main_mkfs.c:287
> +msgid "cluster name is missing"
>  msgstr ""
>  
> -#: gfs2/mkfs/main_mkfs.c:273
> -msgid "locktable error: cluster name too long\n"
> +#: gfs2/mkfs/main_mkfs.c:289
> +msgid "cluster name is too long"
>  msgstr ""
>  
> -#: gfs2/mkfs/main_mkfs.c:277 gfs2/mkfs/main_mkfs.c:283
> -msgid "locktable error: missing filesystem name\n"
> +#: gfs2/mkfs/main_mkfs.c:293
> +msgid "contains more than one colon"
>  msgstr ""
>  
> -#: gfs2/mkfs/main_mkfs.c:280 gfs2/tune/super.c:205
> -#, c-format
> -msgid "locktable error: more than one colon present\n"
> +#: gfs2/mkfs/main_mkfs.c:295
> +msgid "file system name is missing"
>  msgstr ""
>  
> -#: gfs2/mkfs/main_mkfs.c:285
> -msgid "locktable error: filesystem name too long\n"
> +#: gfs2/mkfs/main_mkfs.c:297
> +msgid "file system name too long"
>  msgstr ""
>  
> -#: gfs2/mkfs/main_mkfs.c:287
> +#: gfs2/mkfs/main_mkfs.c:299
>  #, c-format
> -msgid "lockproto error: %s unknown\n"
> +msgid "Invalid lock protocol: %s\n"
>  msgstr ""
>  
> -#: gfs2/mkfs/main_mkfs.c:305
> +#: gfs2/mkfs/main_mkfs.c:317
>  #, c-format
>  msgid "Are you sure you want to proceed? [y/n]"
>  msgstr ""
>  
> -#: gfs2/mkfs/main_mkfs.c:315
> +#: gfs2/mkfs/main_mkfs.c:327
>  msgid "aborted\n"
>  msgstr ""
>  
> -#: gfs2/mkfs/main_mkfs.c:335
> +#: gfs2/mkfs/main_mkfs.c:347
>  #, c-format
>  msgid "block size must be a power of two between 512 and %d\n"
>  msgstr ""
>  
> -#: gfs2/mkfs/main_mkfs.c:339
> +#: gfs2/mkfs/main_mkfs.c:351
>  #, c-format
>  msgid "Error: Block size %d is less than minimum logical block size (%d).\n"
>  msgstr ""
>  
> -#: gfs2/mkfs/main_mkfs.c:345
> +#: gfs2/mkfs/main_mkfs.c:357
>  #, c-format
>  msgid ""
>  "WARNING: Block size %d is inefficient because it is less than the physical "
>  "block size (%d).\n"
>  msgstr ""
>  
> -#: gfs2/mkfs/main_mkfs.c:361 gfs2/mkfs/main_mkfs.c:364
> +#: gfs2/mkfs/main_mkfs.c:373 gfs2/mkfs/main_mkfs.c:376
>  msgid "bad resource group size\n"
>  msgstr ""
>  
> -#: gfs2/mkfs/main_mkfs.c:368 gfs2/mkfs/main_jadd.c:173
> +#: gfs2/mkfs/main_mkfs.c:380 gfs2/mkfs/main_jadd.c:187
>  msgid "no journals specified\n"
>  msgstr ""
>  
> -#: gfs2/mkfs/main_mkfs.c:371 gfs2/mkfs/main_jadd.c:175
> +#: gfs2/mkfs/main_mkfs.c:383 gfs2/mkfs/main_jadd.c:189
>  msgid "bad journal size\n"
>  msgstr ""
>  
> -#: gfs2/mkfs/main_mkfs.c:374 gfs2/mkfs/main_jadd.c:177
> +#: gfs2/mkfs/main_mkfs.c:386 gfs2/mkfs/main_jadd.c:191
>  msgid "bad quota change size\n"
>  msgstr ""
>  
> -#: gfs2/mkfs/main_mkfs.c:459
> +#: gfs2/mkfs/main_mkfs.c:471
>  #, c-format
>  msgid ""
>  "Content of file or device unknown (do you have GNU fileutils installed?)\n"
>  msgstr ""
>  
> -#: gfs2/mkfs/main_mkfs.c:463
> +#: gfs2/mkfs/main_mkfs.c:475
>  #, c-format
>  msgid "It appears to contain: %s"
>  msgstr ""
>  
> -#: gfs2/mkfs/main_mkfs.c:493
> -#, c-format
> -msgid "Expert mode:               on\n"
> +#: gfs2/mkfs/main_mkfs.c:505
> +msgid "Expert mode:"
>  msgstr ""
>  
> -#: gfs2/mkfs/main_mkfs.c:495
> -#, c-format
> -msgid "Device:                    %s\n"
> +#: gfs2/mkfs/main_mkfs.c:505
> +msgid "on"
>  msgstr ""
>  
> -#: gfs2/mkfs/main_mkfs.c:497
> -#, c-format
> -msgid "Blocksize:                 %u\n"
> +#: gfs2/mkfs/main_mkfs.c:507 gfs2/mkfs/main_grow.c:285
> +msgid "Device:"
>  msgstr ""
>  
> -#: gfs2/mkfs/main_mkfs.c:498
> -#, c-format
> -msgid "Device Size                %.2f GB (%llu blocks)\n"
> +#: gfs2/mkfs/main_mkfs.c:509
> +msgid "Block size:"
>  msgstr ""
>  
> -#: gfs2/mkfs/main_mkfs.c:501
> -#, c-format
> -msgid "Filesystem Size:           %.2f GB (%llu blocks)\n"
> +#: gfs2/mkfs/main_mkfs.c:510 gfs2/mkfs/main_mkfs.c:645
> +msgid "Device size:"
>  msgstr ""
>  
> -#: gfs2/mkfs/main_mkfs.c:504
> -#, c-format
> -msgid "Journals:                  %u\n"
> +#: gfs2/mkfs/main_mkfs.c:511 gfs2/mkfs/main_mkfs.c:514
> +#: gfs2/mkfs/main_mkfs.c:646
> +msgid "GB"
>  msgstr ""
>  
> -#: gfs2/mkfs/main_mkfs.c:505
> -#, c-format
> -msgid "Resource Groups:           %llu\n"
> +#: gfs2/mkfs/main_mkfs.c:512 gfs2/mkfs/main_mkfs.c:515
> +#: gfs2/mkfs/main_mkfs.c:647
> +msgid "blocks"
>  msgstr ""
>  
> -#: gfs2/mkfs/main_mkfs.c:507
> -#, c-format
> -msgid "Locking Protocol:          \"%s\"\n"
> +#: gfs2/mkfs/main_mkfs.c:513
> +msgid "Filesystem size:"
>  msgstr ""
>  
> -#: gfs2/mkfs/main_mkfs.c:508
> -#, c-format
> -msgid "Lock Table:                \"%s\"\n"
> +#: gfs2/mkfs/main_mkfs.c:516
> +msgid "Journals:"
>  msgstr ""
>  
> -#: gfs2/mkfs/main_mkfs.c:512
> -#, c-format
> -msgid "Writes:                    %u\n"
> +#: gfs2/mkfs/main_mkfs.c:517
> +msgid "Resource groups:"
>  msgstr ""
>  
> -#: gfs2/mkfs/main_mkfs.c:515
> -#, c-format
> -msgid "UUID:                      %s\n"
> +#: gfs2/mkfs/main_mkfs.c:518
> +msgid "Locking protocol:"
> +msgstr ""
> +
> +#: gfs2/mkfs/main_mkfs.c:519
> +msgid "Lock table:"
>  msgstr ""
>  
> -#: gfs2/mkfs/main_mkfs.c:538
> +#: gfs2/mkfs/main_mkfs.c:522
> +msgid "Writes:"
> +msgstr ""
> +
> +#: gfs2/mkfs/main_mkfs.c:525
> +msgid "UUID:"
> +msgstr ""
> +
> +#: gfs2/mkfs/main_mkfs.c:539
> +msgid "Failed to lstat the device"
> +msgstr ""
> +
> +#: gfs2/mkfs/main_mkfs.c:547
>  msgid "Could not find the absolute path of the device"
>  msgstr ""
>  
> -#: gfs2/mkfs/main_mkfs.c:541
> +#: gfs2/mkfs/main_mkfs.c:550
>  #, c-format
>  msgid "%s is a symlink to %s\n"
>  msgstr ""
>  
> -#: gfs2/mkfs/main_mkfs.c:590
> +#: gfs2/mkfs/main_mkfs.c:599
>  msgid "Failed to build string"
>  msgstr ""
>  
> -#: gfs2/mkfs/main_mkfs.c:596
> +#: gfs2/mkfs/main_mkfs.c:605
>  #, c-format
>  msgid "This will destroy any data on %s.\n"
>  msgstr ""
>  
> -#: gfs2/mkfs/main_mkfs.c:625 gfs2/mkfs/main_grow.c:358
> -#: gfs2/mkfs/main_jadd.c:506
> -msgid "Bad constants (1)"
> +#: gfs2/mkfs/main_mkfs.c:629
> +msgid "Using block size:"
>  msgstr ""
>  
> -#: gfs2/mkfs/main_mkfs.c:634
> -#, c-format
> -msgid "%s: Specified block count is bigger than the actual device.\n"
> +#: gfs2/mkfs/main_mkfs.c:634 gfs2/mkfs/main_grow.c:367
> +#: gfs2/mkfs/main_jadd.c:519
> +msgid "Bad constants (1)"
>  msgstr ""
>  
> -#: gfs2/mkfs/main_mkfs.c:636
> -#, c-format
> -msgid "Device Size is %.2f GB (%llu blocks)\n"
> +#: gfs2/mkfs/main_mkfs.c:644
> +msgid "Specified size is bigger than the device."
>  msgstr ""
>  
> -#: gfs2/mkfs/main_mkfs.c:662
> +#: gfs2/mkfs/main_mkfs.c:671
>  msgid "Error building jindex"
>  msgstr ""
>  
> -#: gfs2/mkfs/main_mkfs.c:667
> +#: gfs2/mkfs/main_mkfs.c:676
>  msgid "Error building per-node directory"
>  msgstr ""
>  
> -#: gfs2/mkfs/main_mkfs.c:672
> +#: gfs2/mkfs/main_mkfs.c:681
>  msgid "Error building inum inode"
>  msgstr ""
>  
> -#: gfs2/mkfs/main_mkfs.c:678
> +#: gfs2/mkfs/main_mkfs.c:687
>  msgid "Error building statfs inode"
>  msgstr ""
>  
> -#: gfs2/mkfs/main_mkfs.c:684
> +#: gfs2/mkfs/main_mkfs.c:693
>  msgid "Error building rindex inode"
>  msgstr ""
>  
> -#: gfs2/mkfs/main_mkfs.c:689
> +#: gfs2/mkfs/main_mkfs.c:698
>  msgid "Error building quota inode"
>  msgstr ""
>  
> @@ -306,139 +384,168 @@ msgstr ""
>  msgid "Unknown mode\n"
>  msgstr ""
>  
> -#: gfs2/mkfs/main_grow.c:65
> +#: gfs2/mkfs/main_grow.c:67
> +msgid "Display this usage information"
> +msgstr ""
> +
> +#: gfs2/mkfs/main_grow.c:68
> +msgid "Quiet, reduce verbosity"
> +msgstr ""
> +
> +#: gfs2/mkfs/main_grow.c:69
> +msgid "Do everything except update FS"
> +msgstr ""
> +
> +#: gfs2/mkfs/main_grow.c:70
> +msgid "Display version information"
> +msgstr ""
> +
> +#: gfs2/mkfs/main_grow.c:71
> +msgid "Increase verbosity"
> +msgstr ""
> +
> +#: gfs2/mkfs/main_grow.c:77
>  #, c-format
>  msgid ""
> -"Usage:\n"
> -"\n"
> -"gfs2_grow [options] /path/to/filesystem\n"
> -"\n"
> -"Options:\n"
> -"  -h               Usage information\n"
> -"  -q               Quiet, reduce verbosity\n"
> -"  -T               Test, do everything except update FS\n"
> -"  -V               Version information\n"
> -"  -v               Verbose, increase verbosity\n"
> +"Expands a GFS2 file system after the device upon which the file system "
> +"resides has been expanded"
>  msgstr ""
>  
>  #: gfs2/mkfs/main_grow.c:99
>  #, c-format
> -msgid "(Test mode--File system will not be changed)\n"
> +msgid "%s %s (built %s %s)\n"
>  msgstr ""
>  
> -#: gfs2/mkfs/main_grow.c:112 gfs2/fsck/main.c:106
> +#: gfs2/mkfs/main_grow.c:110
>  #, c-format
> -msgid "Invalid option %c\n"
> +msgid "(Test mode - file system will not be changed)\n"
>  msgstr ""
>  
> -#: gfs2/mkfs/main_grow.c:200
> +#: gfs2/mkfs/main_grow.c:123
> +#, c-format
> +msgid "Invalid option '%c'\n"
> +msgstr ""
> +
> +#: gfs2/mkfs/main_grow.c:211
>  #, c-format
>  msgid "%d new rindex entries.\n"
>  msgstr ""
>  
> -#: gfs2/mkfs/main_grow.c:227
> +#: gfs2/mkfs/main_grow.c:238
>  #, c-format
>  msgid "Incorrect rindex size. want %ld(%d RGs), have %ld\n"
>  msgstr ""
>  
> -#: gfs2/mkfs/main_grow.c:237
> -msgid "Error writing first new rindex entry;aborted.\n"
> +#: gfs2/mkfs/main_grow.c:248
> +msgid "Error writing first new rindex entry; aborted.\n"
>  msgstr ""
>  
> -#: gfs2/mkfs/main_grow.c:247
> -msgid "Error writing new rindex entries;aborted.\n"
> +#: gfs2/mkfs/main_grow.c:257
> +msgid "Error writing new rindex entries; aborted.\n"
>  msgstr ""
>  
> -#: gfs2/mkfs/main_grow.c:263
> +#: gfs2/mkfs/main_grow.c:272
>  #, c-format
> -msgid "truncating rindex to %ld\n"
> +msgid "truncating rindex to %ld entries\n"
> +msgstr ""
> +
> +#: gfs2/mkfs/main_grow.c:284
> +msgid "Mount point:"
> +msgstr ""
> +
> +#: gfs2/mkfs/main_grow.c:286
> +msgid "Size:"
> +msgstr ""
> +
> +#: gfs2/mkfs/main_grow.c:288
> +msgid "Resource group size:"
>  msgstr ""
>  
> -#: gfs2/mkfs/main_grow.c:351 gfs2/fsck/initialize.c:1306
> +#: gfs2/mkfs/main_grow.c:289
> +msgid "Length:"
> +msgstr ""
> +
> +#: gfs2/mkfs/main_grow.c:292
> +#, c-format
> +msgid "The file system grew by %lluMB.\n"
> +msgstr ""
> +
> +#: gfs2/mkfs/main_grow.c:360 gfs2/fsck/initialize.c:1306
>  msgid "Initializing lists...\n"
>  msgstr ""
>  
> -#: gfs2/mkfs/main_grow.c:362
> -msgid "gfs: Error reading superblock.\n"
> +#: gfs2/mkfs/main_grow.c:371
> +msgid "Error reading superblock.\n"
>  msgstr ""
>  
> -#: gfs2/mkfs/main_grow.c:364
> +#: gfs2/mkfs/main_grow.c:373
>  msgid "cannot grow gfs1 filesystem\n"
>  msgstr ""
>  
> -#: gfs2/mkfs/main_grow.c:376
> -msgid "GFS2 rindex not found.  Please run gfs2_fsck.\n"
> +#: gfs2/mkfs/main_grow.c:377
> +msgid "GFS2 metafs mount failed"
> +msgstr ""
> +
> +#: gfs2/mkfs/main_grow.c:385
> +msgid "GFS2 rindex not found.  Please run fsck.gfs2.\n"
>  msgstr ""
>  
> -#: gfs2/mkfs/main_grow.c:393
> +#: gfs2/mkfs/main_grow.c:390
> +msgid "Could not read master directory"
> +msgstr ""
> +
> +#: gfs2/mkfs/main_grow.c:402
>  msgid "Error: No resource groups found.\n"
>  msgstr ""
>  
> -#: gfs2/mkfs/main_grow.c:401
> +#: gfs2/mkfs/main_grow.c:410
>  msgid "Error: The device has grown by less than one Resource Group (RG).\n"
>  msgstr ""
>  
> -#: gfs2/mkfs/main_grow.c:403
> +#: gfs2/mkfs/main_grow.c:412
>  #, c-format
>  msgid "The device grew by %lluMB. "
>  msgstr ""
>  
> -#: gfs2/mkfs/main_grow.c:405
> +#: gfs2/mkfs/main_grow.c:414
>  #, c-format
>  msgid "One RG is %uMB for this file system.\n"
>  msgstr ""
>  
> -#: gfs2/mkfs/main_grow.c:426
> +#: gfs2/mkfs/main_grow.c:435
>  msgid "gfs2_grow complete.\n"
>  msgstr ""
>  
> -#: gfs2/mkfs/main_jadd.c:62
> -msgid "rename2system (1)\n"
> -msgstr ""
> -
> -#: gfs2/mkfs/main_jadd.c:67
> -msgid "rename2system (2)\n"
> +#: gfs2/mkfs/main_jadd.c:88
> +msgid "Display version information, then exit"
>  msgstr ""
>  
> -#: gfs2/mkfs/main_jadd.c:79
> +#: gfs2/mkfs/main_jadd.c:94
>  #, c-format
> -msgid ""
> -"Usage:\n"
> -"\n"
> -"%s [options] /path/to/filesystem\n"
> -"\n"
> -"Options:\n"
> -"\n"
> -"  -c <MB>           Size of quota change file\n"
> -"  -D                Enable debugging code\n"
> -"  -h                Print this help, then exit\n"
> -"  -J <MB>           Size of journals\n"
> -"  -j <num>          Number of journals\n"
> -"  -q                Don't print anything\n"
> -"  -V                Print program version information, then exit\n"
> +msgid "Adds journals to a GFS2 file system."
>  msgstr ""
>  
> -#: gfs2/mkfs/main_jadd.c:154
> +#: gfs2/mkfs/main_jadd.c:168
>  msgid "no path specified (try -h for help)\n"
>  msgstr ""
>  
> -#: gfs2/mkfs/main_jadd.c:197
> +#: gfs2/mkfs/main_jadd.c:211
>  #, c-format
>  msgid "Filesystem:            %s\n"
>  msgstr ""
>  
> -#: gfs2/mkfs/main_jadd.c:198
> +#: gfs2/mkfs/main_jadd.c:212
>  #, c-format
>  msgid "Old Journals           %u\n"
>  msgstr ""
>  
> -#: gfs2/mkfs/main_jadd.c:199
> +#: gfs2/mkfs/main_jadd.c:213
>  #, c-format
>  msgid "New Journals           %u\n"
>  msgstr ""
>  
> -#: gfs2/mkfs/main_jadd.c:389
> -msgid "There are no journals for this gfs2 fs! Did you mkfs.gfs2 correctly?\n"
> +#: gfs2/mkfs/main_jadd.c:403
> +msgid "No journals found. Did you run mkfs.gfs2 correctly?\n"
>  msgstr ""
>  
>  #: gfs2/tune/main.c:99
> @@ -556,6 +663,11 @@ msgstr ""
>  msgid "locktable error: fsname too long\n"
>  msgstr ""
>  
> +#: gfs2/tune/super.c:205
> +#, c-format
> +msgid "locktable error: more than one colon present\n"
> +msgstr ""
> +
>  #: gfs2/convert/gfs2_convert.c:554
>  msgid "Error: Can't allocate memory for indirect block fix\n"
>  msgstr ""
> @@ -2878,6 +2990,11 @@ msgstr ""
>  msgid "GFS2 fsck %s (built %s %s)\n"
>  msgstr ""
>  
> +#: gfs2/fsck/main.c:106
> +#, c-format
> +msgid "Invalid option %c\n"
> +msgstr ""
> +
>  #: gfs2/fsck/main.c:118
>  #, c-format
>  msgid "No device specified (Please use '-h' for help)\n"





More information about the Cluster-devel mailing list