[pacman-dev] [PATCH v2 2/2] pacman/pacman-conf, testpkg: Added translatable strings
Matthew Sexton
wsdmatty at gmail.com
Tue Sep 10 09:33:53 UTC 2019
From: Matthew Sexton <WSDMatty at gmail.com>
Added gettext macro to warnings, helps, and errors for translation.
Signed-off-by: Matthew Sexton <wsdmatty at gmail.com>
---
Changes in v2:
- Moved "Include" outside of gettext macro so it doesn't get localised
src/pacman/pacman-conf.c | 44 +++++++++++++++++++++++-----------------
src/util/testpkg.c | 29 +++++++++++++++-----------
2 files changed, 42 insertions(+), 31 deletions(-)
diff --git a/src/pacman/pacman-conf.c b/src/pacman/pacman-conf.c
index d9e596b8..efc62cdd 100644
--- a/src/pacman/pacman-conf.c
+++ b/src/pacman/pacman-conf.c
@@ -20,6 +20,7 @@
#include <getopt.h>
#include <string.h>
#include "conf.h"
+#include "util.h"
const char *myname = "pacman-conf", *myver = "1.0.0";
@@ -37,17 +38,17 @@ static void cleanup(void)
static void usage(int ret)
{
FILE *stream = (ret ? stderr : stdout);
- fputs("pacman-conf - query pacman's configuration file\n", stream);
- fputs("usage: pacman-conf [options] [<directive>...]\n", stream);
- fputs(" pacman-conf (--repo-list|--help|--version)\n", stream);
- fputs("options:\n", stream);
- fputs(" -c, --config=<path> set an alternate configuration file\n", stream);
- fputs(" -R, --rootdir=<path> set an alternate installation root\n", stream);
- fputs(" -r, --repo=<remote> query options for a specific repo\n", stream);
- fputs(" -v, --verbose always show directive names\n", stream);
- fputs(" -l, --repo-list list configured repositories\n", stream);
- fputs(" -h, --help display this help information\n", stream);
- fputs(" -V, --version display version information\n", stream);
+ fputs(_("pacman-conf - query pacman's configuration file\n"), stream);
+ fputs(_("usage: pacman-conf [options] [<directive>...]\n"), stream);
+ fputs(_(" pacman-conf (--repo-list|--help|--version)\n"), stream);
+ fputs(_("options:\n"), stream);
+ fputs(_(" -c, --config=<path> set an alternate configuration file\n"), stream);
+ fputs(_(" -R, --rootdir=<path> set an alternate installation root\n"), stream);
+ fputs(_(" -r, --repo=<remote> query options for a specific repo\n"), stream);
+ fputs(_(" -v, --verbose always show directive names\n"), stream);
+ fputs(_(" -l, --repo-list list configured repositories\n"), stream);
+ fputs(_(" -h, --help display this help information\n"), stream);
+ fputs(_(" -V, --version display version information\n"), stream);
cleanup();
exit(ret);
}
@@ -76,7 +77,7 @@ static void parse_opts(int argc, char **argv)
break;
case 'R':
if ((config->rootdir = strdup(optarg)) == NULL) {
- fprintf(stderr, "error setting rootdir '%s': out of memory\n", optarg);
+ fprintf(stderr, _("error setting rootdir '%s': out of memory\n"), optarg);
cleanup();
exit(1);
}
@@ -106,7 +107,7 @@ static void parse_opts(int argc, char **argv)
}
if(parseconfigfile(config_file) != 0 || setdefaults(config) != 0) {
- fprintf(stderr, "error parsing '%s'\n", config_file);
+ fprintf(stderr, _("error parsing '%s'\n"), config_file);
cleanup();
exit(1);
}
@@ -286,7 +287,7 @@ static int list_repo_directives(void)
}
if(!repo) {
- fprintf(stderr, "error: repo '%s' not configured\n", repo_name);
+ fprintf(stderr, _("error: repo '%s' not configured\n"), repo_name);
return 1;
}
@@ -303,10 +304,10 @@ static int list_repo_directives(void)
} else if(strcasecmp(i->data, "Usage") == 0) {
show_usage("Usage", repo->usage);
} else if(strcasecmp(i->data, "Include") == 0) {
- fputs("warning: 'Include' directives cannot be queried\n", stderr);
+ fprintf(stderr,_("warning: '%s' directives cannot be queried\n"), "Include");
ret = 1;
} else {
- fprintf(stderr, "warning: unknown directive '%s'\n", (char*) i->data);
+ fprintf(stderr, _("warning: unknown directive '%s'\n"), (char*) i->data);
ret = 1;
}
}
@@ -379,10 +380,10 @@ static int list_directives(void)
show_siglevel("RemoteFileSigLevel", config->remotefilesiglevel, 1);
} else if(strcasecmp(i->data, "Include") == 0) {
- fputs("warning: 'Include' directives cannot be queried\n", stderr);
+ fprintf(stderr, _("warning: '%s' directives cannot be queried\n"), "Include");
ret = 1;
} else {
- fprintf(stderr, "warning: unknown directive '%s'\n", (char*) i->data);
+ fprintf(stderr, _("warning: unknown directive '%s'\n"), (char*) i->data);
ret = 1;
}
}
@@ -404,6 +405,11 @@ int main(int argc, char **argv)
goto cleanup;
}
+ /* i18n init */
+#if defined(ENABLE_NLS)
+ bindtextdomain(PACKAGE, LOCALEDIR);
+#endif
+
for(; optind < argc; optind++) {
directives = alpm_list_add(directives, argv[optind]);
}
@@ -414,7 +420,7 @@ int main(int argc, char **argv)
if(repo_list) {
if(directives) {
- fputs("error: directives may not be specified with --repo-list\n", stderr);
+ fprintf(stderr, _("error: directives may not be specified with %s\n"), "--repo-list");
ret = 1;
goto cleanup;
}
diff --git a/src/util/testpkg.c b/src/util/testpkg.c
index cd298ed0..a83439ae 100644
--- a/src/util/testpkg.c
+++ b/src/util/testpkg.c
@@ -22,6 +22,7 @@
#include <stdarg.h> /* va_list */
#include <alpm.h>
+#include "util.h" /* For Localization */
__attribute__((format(printf, 2, 0)))
static void output_cb(alpm_loglevel_t level, const char *fmt, va_list args)
@@ -30,8 +31,8 @@ static void output_cb(alpm_loglevel_t level, const char *fmt, va_list args)
return;
}
switch(level) {
- case ALPM_LOG_ERROR: printf("error: "); break;
- case ALPM_LOG_WARNING: printf("warning: "); break;
+ case ALPM_LOG_ERROR: printf(_("error: ")); break;
+ case ALPM_LOG_WARNING: printf(_("warning: ")); break;
default: return; /* skip other messages */
}
vprintf(fmt, args);
@@ -45,16 +46,20 @@ int main(int argc, char *argv[])
alpm_pkg_t *pkg = NULL;
const int siglevel = ALPM_SIG_PACKAGE | ALPM_SIG_PACKAGE_OPTIONAL;
+#if defined(ENABLE_NLS)
+ bindtextdomain(PACKAGE, LOCALEDIR);
+#endif
+
if(argc != 2) {
- fprintf(stderr, "testpkg (pacman) v" PACKAGE_VERSION "\n\n"
- "Test a pacman package for validity.\n\n"
- "Usage: testpkg <package file>\n");
+ fprintf(stderr, "testpkg (pacman) v" PACKAGE_VERSION "\n\n");
+ fprintf(stderr, _("Test a pacman package for validity.\n\n"));
+ fprintf(stderr, _("Usage: testpkg <package file>\n"));
return 1;
}
handle = alpm_initialize(ROOTDIR, DBPATH, &err);
if(!handle) {
- fprintf(stderr, "cannot initialize alpm: %s\n", alpm_strerror(err));
+ fprintf(stderr, _("cannot initialize alpm: %s\n"), alpm_strerror(err));
return 1;
}
@@ -69,28 +74,28 @@ int main(int argc, char *argv[])
err = alpm_errno(handle);
switch(err) {
case ALPM_ERR_PKG_NOT_FOUND:
- printf("Cannot find the given file.\n");
+ printf(_("Cannot find the given file.\n"));
break;
case ALPM_ERR_PKG_OPEN:
- printf("Cannot open the given file.\n");
+ printf(_("Cannot open the given file.\n"));
break;
case ALPM_ERR_LIBARCHIVE:
case ALPM_ERR_PKG_INVALID:
- printf("Package is invalid.\n");
+ printf(_("Package is invalid.\n"));
break;
default:
- printf("libalpm error: %s\n", alpm_strerror(err));
+ printf(_("libalpm error: %s\n"), alpm_strerror(err));
break;
}
retval = 1;
} else {
alpm_pkg_free(pkg);
- printf("Package is valid.\n");
+ printf(_("Package is valid.\n"));
retval = 0;
}
if(alpm_release(handle) == -1) {
- fprintf(stderr, "error releasing alpm\n");
+ fprintf(stderr, _("error releasing alpm\n"));
}
return retval;
--
2.23.0
More information about the pacman-dev
mailing list