[Libvir] gettext i18n support for libvirt
Daniel P. Berrange
berrange at redhat.com
Wed Sep 20 19:05:29 UTC 2006
On Wed, Sep 20, 2006 at 07:48:11PM +0100, Daniel P. Berrange wrote:
> Attached is an updated version of my previous patch to add gettext support
> to libvirt. It should be pretty self-explanatory - basically wrapping all
> strings with _(..) or gettext_noop(...) where appropriate. I also took
> the opportunity to make some of the messages more consistent with each
> other.
Opps, used old skool diff format. Re-attaching as a unified diff this time...
Dan.
--
|=- Red Hat, Engineering, Emerging Technologies, Boston. +1 978 392 2496 -=|
|=- Perl modules: http://search.cpan.org/~danberr/ -=|
|=- Projects: http://freshmeat.net/~danielpb/ -=|
|=- GnuPG: 7D3B9505 F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505 -=|
-------------- next part --------------
Index: Makefile.am
===================================================================
RCS file: /data/cvs/libvirt/Makefile.am,v
retrieving revision 1.11
diff -u -r1.11 Makefile.am
--- Makefile.am 28 Jun 2006 18:19:13 -0000 1.11
+++ Makefile.am 20 Sep 2006 19:55:46 -0000
@@ -1,6 +1,8 @@
## Process this file with automake to produce Makefile.in
-SUBDIRS = src include docs @PYTHON_SUBDIR@ tests proxy
+SUBDIRS = src include docs @PYTHON_SUBDIR@ tests proxy po
+
+ACLOCAL_AMFLAGS = -I m4
EXTRA_DIST = libvirt.spec.in libvirt.spec COPYING.LIB \
libvirt.pc.in libvirt.pc TODO AUTHORS ChangeLog \
Index: autogen.sh
===================================================================
RCS file: /data/cvs/libvirt/autogen.sh,v
retrieving revision 1.4
diff -u -r1.4 autogen.sh
--- autogen.sh 6 Jul 2006 09:29:34 -0000 1.4
+++ autogen.sh 20 Sep 2006 19:55:46 -0000
@@ -8,6 +8,14 @@
cd $srcdir
DIE=0
+(autopoint --version) < /dev/null > /dev/null 2>&1 || {
+ echo
+ echo "You must have autopoint installed to compile libvirt."
+ echo "Download the appropriate package for your distribution,"
+ echo "or see http://www.gnu.org/software/gettext"
+ DIE=1
+}
+
(autoconf --version) < /dev/null > /dev/null 2>&1 || {
echo
echo "You must have autoconf installed to compile libvirt."
@@ -46,6 +54,8 @@
echo "to pass any to it, please specify them on the $0 command line."
fi
+autopoint --force
+#rm -rf m4
libtoolize --copy --force
aclocal $ACLOCAL_FLAGS
automake --add-missing
Index: config.h.in
===================================================================
RCS file: /data/cvs/libvirt/config.h.in,v
retrieving revision 1.4
diff -u -r1.4 config.h.in
--- config.h.in 10 Feb 2006 10:11:21 -0000 1.4
+++ config.h.in 20 Sep 2006 19:55:46 -0000
@@ -1,8 +1,30 @@
/* config.h.in. Generated from configure.in by autoheader. */
+/* Define to 1 if translation of program messages to the user's native
+ language is requested. */
+#undef ENABLE_NLS
+
+/* Define to 1 if you have the MacOS X function CFLocaleCopyCurrent in the
+ CoreFoundation framework. */
+#undef HAVE_CFLOCALECOPYCURRENT
+
+/* Define to 1 if you have the MacOS X function CFPreferencesCopyAppValue in
+ the CoreFoundation framework. */
+#undef HAVE_CFPREFERENCESCOPYAPPVALUE
+
+/* Define if the GNU dcgettext() function is already present or preinstalled.
+ */
+#undef HAVE_DCGETTEXT
+
/* Define to 1 if you have the <dlfcn.h> header file. */
#undef HAVE_DLFCN_H
+/* Define if the GNU gettext() function is already present or preinstalled. */
+#undef HAVE_GETTEXT
+
+/* Define if you have the iconv() function. */
+#undef HAVE_ICONV
+
/* Define to 1 if you have the <inttypes.h> header file. */
#undef HAVE_INTTYPES_H
Index: configure.in
===================================================================
RCS file: /data/cvs/libvirt/configure.in,v
retrieving revision 1.43
diff -u -r1.43 configure.in
--- configure.in 12 Sep 2006 01:16:22 -0000 1.43
+++ configure.in 20 Sep 2006 19:55:46 -0000
@@ -246,6 +246,10 @@
AC_SUBST(PYTHON_INCLUDES)
AC_SUBST(PYTHON_SITE_PACKAGES)
+AM_GNU_GETTEXT_VERSION([0.14.1])
+AM_GNU_GETTEXT([external])
+ALL_LINGUAS=en_GB
+
# very annoying
rm -f COPYING
cp COPYING.LIB COPYING
@@ -254,6 +258,7 @@
docs/examples/Makefile docs/devhelp/Makefile \
docs/examples/python/Makefile \
libvirt.pc libvirt.spec \
+ po/Makefile.in \
include/libvirt/Makefile include/libvirt/libvirt.h \
python/Makefile python/tests/Makefile \
tests/Makefile proxy/Makefile \
Index: proxy/Makefile.am
===================================================================
RCS file: /data/cvs/libvirt/proxy/Makefile.am,v
retrieving revision 1.6
diff -u -r1.6 Makefile.am
--- proxy/Makefile.am 9 Aug 2006 15:21:16 -0000 1.6
+++ proxy/Makefile.am 20 Sep 2006 19:55:50 -0000
@@ -2,8 +2,8 @@
INCLUDES = -I$(top_builddir)/include -I at top_srcdir@/include \
-I at top_srcdir@/proxy -I at top_srcdir@/src @LIBXML_CFLAGS@ \
- -DPROXY
-
+ -DPROXY -DLOCALEBASEDIR=\""$(datadir)/locale"\" \
+ -DGETTEXT_PACKAGE=\"$(PACKAGE)\"
libexec_PROGRAMS = libvirt_proxy
Index: proxy/libvirt_proxy.c
===================================================================
RCS file: /data/cvs/libvirt/proxy/libvirt_proxy.c,v
retrieving revision 1.9
diff -u -r1.9 libvirt_proxy.c
--- proxy/libvirt_proxy.c 5 Sep 2006 06:48:44 -0000 1.9
+++ proxy/libvirt_proxy.c 20 Sep 2006 19:55:51 -0000
@@ -715,6 +715,19 @@
int main(int argc, char **argv) {
int i;
+ if (!setlocale(LC_ALL, "")) {
+ perror("setlocale");
+ return -1;
+ }
+ if (!bindtextdomain(GETTEXT_PACKAGE, LOCALEBASEDIR)) {
+ perror("bindtextdomain");
+ return -1;
+ }
+ if (!textdomain(GETTEXT_PACKAGE)) {
+ perror("textdomain");
+ return -1;
+ }
+
for (i = 1; i < argc; i++) {
if (!strcmp(argv[i], "-v")) {
debug++;
@@ -725,7 +738,8 @@
exit(1);
}
}
-
+
+
if (geteuid() != 0) {
fprintf(stderr, "%s must be run as root or suid\n", argv[0]);
/* exit(1); */
Index: src/Makefile.am
===================================================================
RCS file: /data/cvs/libvirt/src/Makefile.am,v
retrieving revision 1.27
diff -u -r1.27 Makefile.am
--- src/Makefile.am 29 Aug 2006 22:27:07 -0000 1.27
+++ src/Makefile.am 20 Sep 2006 19:55:51 -0000
@@ -1,7 +1,8 @@
## Process this file with automake to produce Makefile.in
INCLUDES = -I$(top_builddir)/include -I at top_srcdir@/include @LIBXML_CFLAGS@ \
- -DBINDIR=\""$(libexecdir)"\"
+ -DBINDIR=\""$(libexecdir)"\" -DLOCALEBASEDIR=\""$(datadir)/locale"\" \
+ -DGETTEXT_PACKAGE=\"$(PACKAGE)\"
DEPS = libvirt.la
LDADDS = @STATIC_BINARIES@ libvirt.la
VIRSH_LIBS = @VIRSH_LIBS@
Index: src/conf.c
===================================================================
RCS file: /data/cvs/libvirt/src/conf.c,v
retrieving revision 1.3
diff -u -r1.3 conf.c
--- src/conf.c 3 Sep 2006 17:46:32 -0000 1.3
+++ src/conf.c 20 Sep 2006 19:55:51 -0000
@@ -159,7 +159,7 @@
ret = (virConfPtr) malloc(sizeof(virConf));
if (ret == NULL) {
- virConfError(NULL, VIR_ERR_NO_MEMORY, "Allocating configuration", 0);
+ virConfError(NULL, VIR_ERR_NO_MEMORY, _("allocating configuration"), 0);
return(NULL);
}
memset(ret, 0, sizeof(virConf));
@@ -193,7 +193,7 @@
ret = (virConfEntryPtr) malloc(sizeof(virConfEntry));
if (ret == NULL) {
- virConfError(NULL, VIR_ERR_NO_MEMORY, "Allocating configuration", 0);
+ virConfError(NULL, VIR_ERR_NO_MEMORY, _("allocating configuration"), 0);
return(NULL);
}
memset(ret, 0, sizeof(virConfEntry));
@@ -328,7 +328,7 @@
NEXT;
}
if ((ctxt->cur >= ctxt->end) || (!IS_DIGIT(CUR))) {
- virConfError(NULL, VIR_ERR_CONF_SYNTAX, "unterminated number",
+ virConfError(NULL, VIR_ERR_CONF_SYNTAX, _("unterminated number"),
ctxt->line);
return(-1);
}
@@ -360,7 +360,7 @@
while ((ctxt->cur < ctxt->end) && (CUR != '\'') && (!IS_EOL(CUR)))
NEXT;
if (CUR != '\'') {
- virConfError(NULL, VIR_ERR_CONF_SYNTAX, "unterminated string",
+ virConfError(NULL, VIR_ERR_CONF_SYNTAX, _("unterminated string"),
ctxt->line);
return(NULL);
}
@@ -377,7 +377,7 @@
}
if ((ctxt->cur[0] != '"') || (ctxt->cur[1] != '"') ||
(ctxt->cur[2] != '"')) {
- virConfError(NULL, VIR_ERR_CONF_SYNTAX, "unterminated string",
+ virConfError(NULL, VIR_ERR_CONF_SYNTAX, _("unterminated string"),
ctxt->line);
return(NULL);
}
@@ -389,7 +389,7 @@
while ((ctxt->cur < ctxt->end) && (CUR != '"') && (!IS_EOL(CUR)))
NEXT;
if (CUR != '"') {
- virConfError(NULL, VIR_ERR_CONF_SYNTAX, "unterminated string",
+ virConfError(NULL, VIR_ERR_CONF_SYNTAX, _("unterminated string"),
ctxt->line);
return(NULL);
}
@@ -417,7 +417,7 @@
SKIP_SPACES;
if (ctxt->cur >= ctxt->end) {
- virConfError(NULL, VIR_ERR_CONF_SYNTAX, "expecting a value",
+ virConfError(NULL, VIR_ERR_CONF_SYNTAX, _("expecting a value"),
ctxt->line);
return(NULL);
}
@@ -437,7 +437,7 @@
while ((ctxt->cur < ctxt->end) && (CUR != ']')) {
if (CUR != ',') {
virConfError(NULL, VIR_ERR_CONF_SYNTAX,
- "expecting a separator in list", ctxt->line);
+ _("expecting a separator in list"), ctxt->line);
virConfFreeList(lst);
return(NULL);
}
@@ -460,7 +460,7 @@
NEXT;
} else {
virConfError(NULL, VIR_ERR_CONF_SYNTAX,
- "list is not closed with ] ", ctxt->line);
+ _("list is not closed with ] "), ctxt->line);
virConfFreeList(lst);
return(NULL);
}
@@ -470,13 +470,13 @@
}
type = VIR_CONF_LONG;
} else {
- virConfError(NULL, VIR_ERR_CONF_SYNTAX, "expecting a value",
+ virConfError(NULL, VIR_ERR_CONF_SYNTAX, _("expecting a value"),
ctxt->line);
return(NULL);
}
ret = (virConfValuePtr) malloc(sizeof(virConfValue));
if (ret == NULL) {
- virConfError(NULL, VIR_ERR_NO_MEMORY, "Allocating configuration", 0);
+ virConfError(NULL, VIR_ERR_NO_MEMORY, _("allocating configuration"), 0);
if (str != NULL)
free(str);
return(NULL);
@@ -508,14 +508,14 @@
base = ctxt->cur;
/* TODO: probably need encoding support and UTF-8 parsing ! */
if (!IS_CHAR(CUR)) {
- virConfError(NULL, VIR_ERR_CONF_SYNTAX, "expecting a name", ctxt->line);
+ virConfError(NULL, VIR_ERR_CONF_SYNTAX, _("expecting a name"), ctxt->line);
return(NULL);
}
while ((ctxt->cur < ctxt->end) && ((IS_CHAR(CUR)) || (IS_DIGIT(CUR)) || (CUR == '_')))
NEXT;
ret = strndup(base, ctxt->cur - base);
if (ret == NULL) {
- virConfError(NULL, VIR_ERR_NO_MEMORY, "Allocating configuration",
+ virConfError(NULL, VIR_ERR_NO_MEMORY, _("allocating configuration"),
ctxt->line);
return(NULL);
}
@@ -543,7 +543,7 @@
while ((ctxt->cur < ctxt->end) && (!IS_EOL(CUR))) NEXT;
comm = strndup(base, ctxt->cur - base);
if (comm == NULL) {
- virConfError(NULL, VIR_ERR_NO_MEMORY, "Allocating configuration",
+ virConfError(NULL, VIR_ERR_NO_MEMORY, _("allocating configuration"),
ctxt->line);
return(-1);
}
@@ -571,7 +571,7 @@
NEXT;
SKIP_BLANKS;
} else {
- virConfError(NULL, VIR_ERR_CONF_SYNTAX, "expecting a separator",
+ virConfError(NULL, VIR_ERR_CONF_SYNTAX, _("expecting a separator"),
ctxt->line);
return(-1);
}
@@ -603,7 +603,7 @@
return(-1);
SKIP_SPACES;
if (CUR != '=') {
- virConfError(NULL, VIR_ERR_CONF_SYNTAX, "expecting an assignment",
+ virConfError(NULL, VIR_ERR_CONF_SYNTAX, _("expecting an assignment"),
ctxt->line);
return(-1);
}
@@ -621,7 +621,7 @@
while ((ctxt->cur < ctxt->end) && (!IS_EOL(CUR))) NEXT;
comm = strndup(base, ctxt->cur - base);
if (comm == NULL) {
- virConfError(NULL, VIR_ERR_NO_MEMORY, "Allocating configuration",
+ virConfError(NULL, VIR_ERR_NO_MEMORY, _("allocating configuration"),
ctxt->line);
free(name);
virConfFreeValue(value);
@@ -816,7 +816,7 @@
fd = open(filename, O_WRONLY | O_CREAT | O_TRUNC, S_IRUSR | S_IWUSR );
if (fd < 0) {
- virConfError(NULL, VIR_ERR_WRITE_FAILED, "failed to open file", 0);
+ virConfError(NULL, VIR_ERR_WRITE_FAILED, _("failed to open file"), 0);
ret = -1;
goto error;
}
@@ -824,7 +824,7 @@
ret = write(fd, buf->content, buf->use);
close(fd);
if (ret != (int) buf->use) {
- virConfError(NULL, VIR_ERR_WRITE_FAILED, "failed to save content", 0);
+ virConfError(NULL, VIR_ERR_WRITE_FAILED, _("failed to save content"), 0);
ret = -1;
goto error;
}
Index: src/hash.c
===================================================================
RCS file: /data/cvs/libvirt/src/hash.c,v
retrieving revision 1.9
diff -u -r1.9 hash.c
--- src/hash.c 29 May 2006 18:03:27 -0000 1.9
+++ src/hash.c 20 Sep 2006 19:55:51 -0000
@@ -528,7 +528,7 @@
ret = (virConnectPtr) malloc(sizeof(virConnect));
if (ret == NULL) {
- virHashError(NULL, VIR_ERR_NO_MEMORY, "Allocating connection");
+ virHashError(NULL, VIR_ERR_NO_MEMORY, _("allocating connection"));
goto failed;
}
memset(ret, 0, sizeof(virConnect));
@@ -625,13 +625,13 @@
*/
ret = (virDomainPtr) malloc(sizeof(virDomain));
if (ret == NULL) {
- virHashError(conn, VIR_ERR_NO_MEMORY, "Allocating domain");
+ virHashError(conn, VIR_ERR_NO_MEMORY, _("allocating domain"));
goto error;
}
memset(ret, 0, sizeof(virDomain));
ret->name = strdup(name);
if (ret->name == NULL) {
- virHashError(conn, VIR_ERR_NO_MEMORY, "Allocating domain");
+ virHashError(conn, VIR_ERR_NO_MEMORY, _("allocating domain"));
goto error;
}
ret->magic = VIR_DOMAIN_MAGIC;
@@ -642,7 +642,7 @@
if (virHashAddEntry(conn->domains, name, ret) < 0) {
virHashError(conn, VIR_ERR_INTERNAL_ERROR,
- "Failed to add domain to connectio hash table");
+ _("failed to add domain to connection hash table"));
goto error;
}
conn->uses++;
@@ -694,7 +694,7 @@
if (virHashRemoveEntry(conn->domains, domain->name, NULL) < 0) {
virHashError(conn, VIR_ERR_INTERNAL_ERROR,
- "domain missing from connection hash table");
+ _("domain missing from connection hash table"));
goto done;
}
domain->magic = -1;
Index: src/internal.h
===================================================================
RCS file: /data/cvs/libvirt/src/internal.h,v
retrieving revision 1.23
diff -u -r1.23 internal.h
--- src/internal.h 28 Jun 2006 18:19:13 -0000 1.23
+++ src/internal.h 20 Sep 2006 19:55:53 -0000
@@ -16,11 +16,16 @@
#include "libvirt/libvirt.h"
#include "libvirt/virterror.h"
#include "driver.h"
+#include <libintl.h>
#ifdef __cplusplus
extern "C" {
#endif
+#define _(str) dgettext(GETTEXT_PACKAGE, (str))
+#define _N(str) dgettext(GETTEXT_PACKAGE, (str))
+#define gettext_noop(str) (str)
+
/**
* ATTRIBUTE_UNUSED:
*
Index: src/libvirt.c
===================================================================
RCS file: /data/cvs/libvirt/src/libvirt.c,v
retrieving revision 1.45
diff -u -r1.45 libvirt.c
--- src/libvirt.c 30 Aug 2006 14:21:03 -0000 1.45
+++ src/libvirt.c 20 Sep 2006 19:55:53 -0000
@@ -60,10 +60,13 @@
return(0);
initialized = 1;
+ if (!bindtextdomain(GETTEXT_PACKAGE, LOCALEBASEDIR))
+ return (-1);
+
/*
* should not be needed but...
*/
- for (i = 0;i < MAX_DRIVERS;i++)
+ for (i = 0;i < MAX_DRIVERS;i++)
virDriverTab[i] = NULL;
/*
@@ -140,7 +143,8 @@
int i;
if (!initialized)
- virInitialize();
+ if (virInitialize() < 0)
+ return -1;
if (driver == NULL) {
virLibConnError(NULL, VIR_ERR_INVALID_ARG, __FUNCTION__);
@@ -182,7 +186,8 @@
int i;
if (!initialized)
- virInitialize();
+ if (virInitialize() < 0)
+ return -1;
if (libVer == NULL)
return (-1);
@@ -223,7 +228,8 @@
virConnectPtr ret = NULL;
if (!initialized)
- virInitialize();
+ if (virInitialize() < 0)
+ return NULL;
if (name == NULL) {
name = "Xen";
@@ -234,7 +240,7 @@
ret = virGetConnect();
if (ret == NULL) {
- virLibConnError(NULL, VIR_ERR_NO_MEMORY, "Allocating connection");
+ virLibConnError(NULL, VIR_ERR_NO_MEMORY, _("allocating connection"));
goto failed;
}
@@ -290,14 +296,15 @@
virConnectPtr ret = NULL;
if (!initialized)
- virInitialize();
+ if (virInitialize() < 0)
+ return NULL;
if (name == NULL)
name = "Xen";
ret = virGetConnect();
if (ret == NULL) {
- virLibConnError(NULL, VIR_ERR_NO_MEMORY, "Allocating connection");
+ virLibConnError(NULL, VIR_ERR_NO_MEMORY, _("allocating connection"));
goto failed;
}
@@ -313,7 +320,7 @@
if (ret->nb_drivers == 0) {
if (name == NULL)
virLibConnError(NULL, VIR_ERR_NO_CONNECT,
- "could not connect to Xen Daemon nor Xen Store");
+ _("Xen Daemon or Xen Store"));
else
/* we failed to find an adequate driver */
virLibConnError(NULL, VIR_ERR_NO_SUPPORT, name);
Index: src/proxy_internal.c
===================================================================
RCS file: /data/cvs/libvirt/src/proxy_internal.c,v
retrieving revision 1.10
diff -u -r1.10 proxy_internal.c
--- src/proxy_internal.c 30 Aug 2006 14:21:03 -0000 1.10
+++ src/proxy_internal.c 20 Sep 2006 19:55:54 -0000
@@ -190,7 +190,7 @@
setsid();
if (fork() == 0) {
execl(proxyPath, proxyPath, NULL);
- fprintf(stderr, "failed to exec %s\n", proxyPath);
+ fprintf(stderr, _("failed to exec %s\n"), proxyPath);
}
/*
* calling exit() generate troubles for termination handlers
@@ -284,7 +284,7 @@
ret = close(fd);
if (ret != 0)
- fprintf(stderr, "Failed to close socket %d\n", fd);
+ fprintf(stderr, _("Failed to close socket %d\n"), fd);
else if (debug > 0)
fprintf(stderr, "Closed socket %d\n", fd);
return(ret);
@@ -317,7 +317,7 @@
goto retry;
}
if (!quiet)
- fprintf(stderr, "Failed to read socket %d\n", fd);
+ fprintf(stderr, _("Failed to read socket %d\n"), fd);
return(-1);
}
@@ -351,7 +351,7 @@
fd, len);
goto retry;
}
- fprintf(stderr, "Failed to write to socket %d\n", fd);
+ fprintf(stderr, _("Failed to write to socket %d\n"), fd);
return(-1);
}
if (debug)
@@ -413,7 +413,7 @@
return(-1);
if (ret != sizeof(virProxyPacket)) {
fprintf(stderr,
- "Communication error with proxy: got %d bytes of %d\n",
+ _("Communication error with proxy: got %d bytes of %d\n"),
ret, (int) sizeof(virProxyPacket));
xenProxyClose(conn);
return(-1);
@@ -421,7 +421,7 @@
res = request;
if (res->len != sizeof(virProxyPacket)) {
fprintf(stderr,
- "Communication error with proxy: expected %d bytes got %d\n",
+ _("Communication error with proxy: expected %d bytes got %d\n"),
(int) sizeof(virProxyPacket), res->len);
xenProxyClose(conn);
return(-1);
@@ -434,7 +434,7 @@
return(-1);
if (ret != sizeof(virProxyPacket)) {
fprintf(stderr,
- "Communication error with proxy: got %d bytes of %d\n",
+ _("Communication error with proxy: got %d bytes of %d\n"),
ret, (int) sizeof(virProxyPacket));
xenProxyClose(conn);
return(-1);
@@ -443,7 +443,7 @@
if ((res->len < sizeof(virProxyPacket)) ||
(res->len > sizeof(virProxyFullPacket))) {
fprintf(stderr,
- "Communication error with proxy: got %d bytes packet\n",
+ _("Communication error with proxy: got %d bytes packet\n"),
res->len);
xenProxyClose(conn);
return(-1);
@@ -454,7 +454,7 @@
res->len - ret, quiet);
if (ret != (int) (res->len - sizeof(virProxyPacket))) {
fprintf(stderr,
- "Communication error with proxy: got %d bytes of %d\n",
+ _("Communication error with proxy: got %d bytes of %d\n"),
ret, (int) sizeof(virProxyPacket));
xenProxyClose(conn);
return(-1);
@@ -467,13 +467,13 @@
if ((res == NULL) || (res->version != PROXY_PROTO_VERSION) ||
(res->len < sizeof(virProxyPacket))) {
fprintf(stderr,
- "Communication error with proxy: malformed packet\n");
+ _("Communication error with proxy: malformed packet\n"));
xenProxyClose(conn);
return(-1);
}
if (res->serial != serial) {
TODO /* Asynchronous communication */
- fprintf(stderr, "gor asynchronous packet number %d\n", res->serial);
+ fprintf(stderr, _("got asynchronous packet number %d\n"), res->serial);
goto retry;
}
return(0);
@@ -787,7 +787,7 @@
res = virGetDomain(conn, name, uuid);
if (res == NULL)
- virProxyError(conn, VIR_ERR_NO_MEMORY, "Allocating domain");
+ virProxyError(conn, VIR_ERR_NO_MEMORY, _("allocating domain"));
else
res->handle = id;
@@ -834,7 +834,7 @@
res = virGetDomain(conn, name, uuid);
if (res == NULL)
- virProxyError(conn, VIR_ERR_NO_MEMORY, "Allocating domain");
+ virProxyError(conn, VIR_ERR_NO_MEMORY, _("allocating domain"));
else
res->handle = req.data.arg;
@@ -885,7 +885,7 @@
res = virGetDomain(conn, name, (const unsigned char *)&req.extra.str[0]);
if (res == NULL)
- virProxyError(conn, VIR_ERR_NO_MEMORY, "Allocating domain");
+ virProxyError(conn, VIR_ERR_NO_MEMORY, _("allocating domain"));
else
res->handle = req.data.arg;
Index: src/sexpr.c
===================================================================
RCS file: /data/cvs/libvirt/src/sexpr.c,v
retrieving revision 1.4
diff -u -r1.4 sexpr.c
--- src/sexpr.c 26 Aug 2006 15:30:44 -0000 1.4
+++ src/sexpr.c 20 Sep 2006 19:55:54 -0000
@@ -56,7 +56,7 @@
ret = (struct sexpr *) malloc(sizeof(*ret));
if (ret == NULL) {
- virSexprError(VIR_ERR_NO_MEMORY, "failed to allocate a node");
+ virSexprError(VIR_ERR_NO_MEMORY, _("failed to allocate a node"));
return (NULL);
}
ret->kind = SEXPR_NIL;
@@ -349,7 +349,7 @@
ret->value = strndup(start, ptr - start);
if (ret->value == NULL) {
virSexprError(VIR_ERR_NO_MEMORY,
- "failed to copy a string");
+ _("failed to copy a string"));
}
if (*ptr == '\'')
@@ -364,7 +364,7 @@
ret->value = strndup(start, ptr - start);
if (ret->value == NULL) {
virSexprError(VIR_ERR_NO_MEMORY,
- "failed to copy a string");
+ _("failed to copy a string"));
}
}
Index: src/test.c
===================================================================
RCS file: /data/cvs/libvirt/src/test.c,v
retrieving revision 1.9
diff -u -r1.9 test.c
--- src/test.c 30 Aug 2006 14:21:03 -0000 1.9
+++ src/test.c 20 Sep 2006 19:55:55 -0000
@@ -197,26 +197,26 @@
virDomainRestart onCrash = VIR_DOMAIN_RENAME_RESTART;
if (gettimeofday(&tv, NULL) < 0) {
- testError(conn, NULL, VIR_ERR_INTERNAL_ERROR, "cannot get timeofday");
+ testError(conn, NULL, VIR_ERR_INTERNAL_ERROR, _("getting time of day"));
return -1;
}
root = xmlDocGetRootElement(xml);
if ((root == NULL) || (!xmlStrEqual(root->name, BAD_CAST "domain"))) {
- testError(conn, NULL, VIR_ERR_INTERNAL_ERROR, "malformed root element");
+ testError(conn, NULL, VIR_ERR_XML_ERROR, _("domain"));
goto error;
}
ctxt = xmlXPathNewContext(xml);
if (ctxt == NULL) {
- testError(conn, NULL, VIR_ERR_INTERNAL_ERROR, "cannot create xpath context");
+ testError(conn, NULL, VIR_ERR_INTERNAL_ERROR, _("creating xpath context"));
goto error;
}
obj = xmlXPathEval(BAD_CAST "string(/domain/name[1])", ctxt);
if ((obj == NULL) || (obj->type != XPATH_STRING) ||
(obj->stringval == NULL) || (obj->stringval[0] == 0)) {
- testError(conn, NULL, VIR_ERR_INTERNAL_ERROR, "missing name element on domain");
+ testError(conn, NULL, VIR_ERR_INTERNAL_ERROR, _("domain name"));
goto error;
}
name = strdup((const char *)obj->stringval);
@@ -225,12 +225,12 @@
obj = xmlXPathEval(BAD_CAST "string(/domain/uuid[1])", ctxt);
if ((obj == NULL) || (obj->type != XPATH_STRING) ||
(obj->stringval == NULL) || (obj->stringval[0] == 0)) {
- testError(conn, NULL, VIR_ERR_INTERNAL_ERROR, "missing uuid element on domain");
+ testError(conn, NULL, VIR_ERR_XML_ERROR, _("domain uuid"));
goto error;
}
dst_uuid = (char *) &rawuuid[0];
if (!(virParseUUID((char **)&dst_uuid, (const char *)obj->stringval))) {
- testError(conn, NULL, VIR_ERR_INTERNAL_ERROR, "malformed uuid data in domain");
+ testError(conn, NULL, VIR_ERR_XML_ERROR, _("domain uuid"));
goto error;
}
xmlXPathFreeObject(obj);
@@ -238,12 +238,12 @@
obj = xmlXPathEval(BAD_CAST "string(/domain/memory[1])", ctxt);
if ((obj == NULL) || (obj->type != XPATH_STRING) ||
(obj->stringval == NULL) || (obj->stringval[0] == 0)) {
- testError(conn, NULL, VIR_ERR_INTERNAL_ERROR, "missing memory element on domain");
+ testError(conn, NULL, VIR_ERR_XML_ERROR, _("domain memory"));
goto error;
}
memory = strtoll((const char*)obj->stringval, &conv, 10);
if (conv == (const char*)obj->stringval) {
- testError(conn, NULL, VIR_ERR_INTERNAL_ERROR, "malformed memory value for domain");
+ testError(conn, NULL, VIR_ERR_XML_ERROR, _("domain memory"));
goto error;
}
xmlXPathFreeObject(obj);
@@ -255,7 +255,7 @@
} else {
nrVirtCpu = strtoll((const char*)obj->stringval, &conv, 10);
if (conv == (const char*)obj->stringval) {
- testError(conn, NULL, VIR_ERR_INTERNAL_ERROR, "malformed vcpus value for domain");
+ testError(conn, NULL, VIR_ERR_XML_ERROR, _("domain vcpus"));
goto error;
}
}
@@ -266,7 +266,7 @@
if ((obj != NULL) && (obj->type == XPATH_STRING) &&
(obj->stringval != NULL) && (obj->stringval[0] != 0)) {
if (!(onReboot = testRestartStringToFlag((const char *)obj->stringval))) {
- testError(conn, NULL, VIR_ERR_INTERNAL_ERROR, "malformed on_reboot value for domain");
+ testError(conn, NULL, VIR_ERR_XML_ERROR, _("domain reboot behaviour"));
goto error;
}
}
@@ -277,7 +277,7 @@
if ((obj != NULL) && (obj->type == XPATH_STRING) &&
(obj->stringval != NULL) && (obj->stringval[0] != 0)) {
if (!(onReboot = testRestartStringToFlag((const char *)obj->stringval))) {
- testError(conn, NULL, VIR_ERR_INTERNAL_ERROR, "malformed on_poweroff value for domain");
+ testError(conn, NULL, VIR_ERR_XML_ERROR, _("domain poweroff behaviour"));
goto error;
}
}
@@ -288,7 +288,7 @@
if ((obj != NULL) && (obj->type == XPATH_STRING) &&
(obj->stringval != NULL) && (obj->stringval[0] != 0)) {
if (!(onReboot = testRestartStringToFlag((const char *)obj->stringval))) {
- testError(conn, NULL, VIR_ERR_INTERNAL_ERROR, "malformed on_crash value for domain");
+ testError(conn, NULL, VIR_ERR_XML_ERROR, _("domain crash behaviour"));
goto error;
}
}
@@ -331,7 +331,7 @@
if (!(xml = xmlReadDoc(BAD_CAST doc, "domain.xml", NULL,
XML_PARSE_NOENT | XML_PARSE_NONET |
XML_PARSE_NOERROR | XML_PARSE_NOWARNING))) {
- testError(NULL, NULL, VIR_ERR_INTERNAL_ERROR, "cannot parse domain definition");
+ testError(NULL, NULL, VIR_ERR_XML_ERROR, _("domain"));
return -1;
}
@@ -349,14 +349,14 @@
xmlDocPtr xml;
if ((fd = open(file, O_RDONLY)) < 0) {
- testError(NULL, NULL, VIR_ERR_INTERNAL_ERROR, "cannot load domain definition");
+ testError(NULL, NULL, VIR_ERR_INTERNAL_ERROR, _("load domain definition file"));
return -1;
}
if (!(xml = xmlReadFd(fd, file, NULL,
XML_PARSE_NOENT | XML_PARSE_NONET |
XML_PARSE_NOERROR | XML_PARSE_NOWARNING))) {
- testError(NULL, NULL, VIR_ERR_INTERNAL_ERROR, "cannot parse domain definition");
+ testError(NULL, NULL, VIR_ERR_XML_ERROR, _("domain"));
close(fd);
return -1;
}
@@ -376,7 +376,7 @@
struct timeval tv;
if (gettimeofday(&tv, NULL) < 0) {
- testError(NULL, NULL, VIR_ERR_INTERNAL_ERROR, "cannot get timeofday");
+ testError(NULL, NULL, VIR_ERR_INTERNAL_ERROR, _("getting time of day"));
return -1;
}
@@ -431,14 +431,14 @@
virNodeInfoPtr nodeInfo;
if ((fd = open(file, O_RDONLY)) < 0) {
- testError(NULL, NULL, VIR_ERR_INTERNAL_ERROR, "cannot load host definition");
+ testError(NULL, NULL, VIR_ERR_INTERNAL_ERROR, _("loading host definition file"));
return -1;
}
if (!(xml = xmlReadFd(fd, file, NULL,
XML_PARSE_NOENT | XML_PARSE_NONET |
XML_PARSE_NOERROR | XML_PARSE_NOWARNING))) {
- testError(NULL, NULL, VIR_ERR_INTERNAL_ERROR, "cannot parse host definition");
+ testError(NULL, NULL, VIR_ERR_INTERNAL_ERROR, _("host"));
goto error;
}
close(fd);
@@ -446,13 +446,13 @@
root = xmlDocGetRootElement(xml);
if ((root == NULL) || (!xmlStrEqual(root->name, BAD_CAST "node"))) {
- testError(NULL, NULL, VIR_ERR_INTERNAL_ERROR, "malformed root element");
+ testError(NULL, NULL, VIR_ERR_XML_ERROR, _("node"));
goto error;
}
ctxt = xmlXPathNewContext(xml);
if (ctxt == NULL) {
- testError(NULL, NULL, VIR_ERR_INTERNAL_ERROR, "cannot create xpath context");
+ testError(NULL, NULL, VIR_ERR_INTERNAL_ERROR, _("creating xpath context"));
goto error;
}
@@ -468,7 +468,7 @@
char *conv = NULL;
nodeInfo->nodes = strtol((const char*)obj->stringval, &conv, 10);
if (conv == (const char*)obj->stringval) {
- testError(conn, NULL, VIR_ERR_INTERNAL_ERROR, "malformed nodes value for node cpu");
+ testError(conn, NULL, VIR_ERR_XML_ERROR, _("node cpu numa nodes"));
goto error;
}
xmlXPathFreeObject(obj);
@@ -480,7 +480,7 @@
char *conv = NULL;
nodeInfo->sockets = strtol((const char*)obj->stringval, &conv, 10);
if (conv == (const char*)obj->stringval) {
- testError(conn, NULL, VIR_ERR_INTERNAL_ERROR, "malformed sockets value for node cpu");
+ testError(conn, NULL, VIR_ERR_XML_ERROR, _("node cpu sockets"));
goto error;
}
xmlXPathFreeObject(obj);
@@ -492,7 +492,7 @@
char *conv = NULL;
nodeInfo->cores = strtol((const char*)obj->stringval, &conv, 10);
if (conv == (const char*)obj->stringval) {
- testError(conn, NULL, VIR_ERR_INTERNAL_ERROR, "malformed cores value for node cpu");
+ testError(conn, NULL, VIR_ERR_XML_ERROR, _("node cpu cores"));
goto error;
}
xmlXPathFreeObject(obj);
@@ -504,7 +504,7 @@
char *conv = NULL;
nodeInfo->threads = strtol((const char*)obj->stringval, &conv, 10);
if (conv == (const char*)obj->stringval) {
- testError(conn, NULL, VIR_ERR_INTERNAL_ERROR, "malformed threads value for node cpu");
+ testError(conn, NULL, VIR_ERR_XML_ERROR, _("node cpu threads"));
goto error;
}
xmlXPathFreeObject(obj);
@@ -516,7 +516,7 @@
char *conv = NULL;
unsigned int active = strtol((const char*)obj->stringval, &conv, 10);
if (conv == (const char*)obj->stringval) {
- testError(conn, NULL, VIR_ERR_INTERNAL_ERROR, "malformed active value for node cpu");
+ testError(conn, NULL, VIR_ERR_XML_ERROR, _("node active cpu"));
goto error;
}
if (active < nodeInfo->cpus) {
@@ -530,7 +530,7 @@
char *conv = NULL;
nodeInfo->mhz = strtol((const char*)obj->stringval, &conv, 10);
if (conv == (const char*)obj->stringval) {
- testError(conn, NULL, VIR_ERR_INTERNAL_ERROR, "malformed threads value for node cpu");
+ testError(conn, NULL, VIR_ERR_XML_ERROR, _("node cpu mhz"));
goto error;
}
xmlXPathFreeObject(obj);
@@ -549,7 +549,7 @@
char *conv = NULL;
nodeInfo->memory = strtol((const char*)obj->stringval, &conv, 10);
if (conv == (const char*)obj->stringval) {
- testError(conn, NULL, VIR_ERR_INTERNAL_ERROR, "malformed memory value for node");
+ testError(conn, NULL, VIR_ERR_XML_ERROR, _("node memory"));
goto error;
}
xmlXPathFreeObject(obj);
@@ -558,7 +558,7 @@
obj = xmlXPathEval(BAD_CAST "/node/domain", ctxt);
if ((obj == NULL) || (obj->type != XPATH_NODESET) ||
(obj->nodesetval == NULL)) {
- testError(NULL, NULL, VIR_ERR_INTERNAL_ERROR, "cannot extract domain list");
+ testError(NULL, NULL, VIR_ERR_XML_ERROR, _("node domain list"));
goto error;
}
@@ -567,7 +567,7 @@
char *absFile = testBuildFilename(file, (const char *)domFile);
free(domFile);
if (!absFile) {
- testError(NULL, NULL, VIR_ERR_INTERNAL_ERROR, "cannot resolve filename");
+ testError(NULL, NULL, VIR_ERR_INTERNAL_ERROR, _("resolving domain filename"));
goto error;
}
if (testLoadDomainFromFile(conn, i, absFile) != 0) {
@@ -605,7 +605,7 @@
if (node == NULL) {
node = calloc(1, sizeof(testNode));
if (!node) {
- testError(NULL, NULL, VIR_ERR_INTERNAL_ERROR, "cannot allocate memory");
+ testError(NULL, NULL, VIR_ERR_NO_MEMORY, _("allocating node"));
return -1;
}
}
@@ -645,7 +645,7 @@
if ((connid = getNextConnection()) < 0) {
- testError(NULL, NULL, VIR_ERR_INTERNAL_ERROR, "too many connections");
+ testError(NULL, NULL, VIR_ERR_INTERNAL_ERROR, _("too many connections"));
return -1;
}
@@ -722,7 +722,7 @@
return NULL;
dom = virGetDomain(conn, con->domains[i].name, con->domains[i].uuid);
if (dom == NULL) {
- testError(conn, NULL, VIR_ERR_NO_MEMORY, "allocating domain");
+ testError(conn, NULL, VIR_ERR_NO_MEMORY, _("allocating domain"));
return NULL;
}
con->numDomains++;
@@ -730,7 +730,7 @@
}
}
- testError(NULL, NULL, VIR_ERR_INTERNAL_ERROR, "too many domains");
+ testError(NULL, NULL, VIR_ERR_INTERNAL_ERROR, _("too many domains"));
return (NULL);
}
@@ -747,7 +747,7 @@
dom = virGetDomain(conn, con->domains[id].name, con->domains[id].uuid);
if (dom == NULL) {
- testError(conn, NULL, VIR_ERR_NO_MEMORY, "Allocating domain");
+ testError(conn, NULL, VIR_ERR_NO_MEMORY, _("allocating domain"));
return(NULL);
}
dom->handle = id;
@@ -770,7 +770,7 @@
if (id >= 0) {
dom = virGetDomain(conn, con->domains[id].name, con->domains[id].uuid);
if (dom == NULL) {
- testError(conn, NULL, VIR_ERR_NO_MEMORY, "Allocating domain");
+ testError(conn, NULL, VIR_ERR_NO_MEMORY, _("allocating domain"));
return(NULL);
}
dom->handle = id;
@@ -794,7 +794,7 @@
if (id >= 0) {
dom = virGetDomain(conn, con->domains[id].name, con->domains[id].uuid);
if (dom == NULL) {
- testError(conn, NULL, VIR_ERR_NO_MEMORY, "Allocating domain");
+ testError(conn, NULL, VIR_ERR_NO_MEMORY, _("allocating domain"));
return(NULL);
}
dom->handle = id;
@@ -892,7 +892,7 @@
con = &node->connections[domain->conn->handle];
if (gettimeofday(&tv, NULL) < 0) {
- testError(NULL, NULL, VIR_ERR_INTERNAL_ERROR, "cannot get timeofday");
+ testError(NULL, NULL, VIR_ERR_INTERNAL_ERROR, _("getting time of day"));
return (-1);
}
@@ -920,7 +920,7 @@
con = &node->connections[domain->conn->handle];
if (gettimeofday(&tv, NULL) < 0) {
- testError(NULL, NULL, VIR_ERR_INTERNAL_ERROR, "cannot get timeofday");
+ testError(NULL, NULL, VIR_ERR_INTERNAL_ERROR, _("getting time of day"));
return (-1);
}
@@ -947,7 +947,7 @@
con = &node->connections[domain->conn->handle];
if (gettimeofday(&tv, NULL) < 0) {
- testError(NULL, NULL, VIR_ERR_INTERNAL_ERROR, "cannot get timeofday");
+ testError(NULL, NULL, VIR_ERR_INTERNAL_ERROR, _("getting time of day"));
return (-1);
}
@@ -1038,7 +1038,7 @@
con = &node->connections[domain->conn->handle];
if (memory > con->domains[domain->handle].info.maxMem) {
- testError(domain->conn, domain, VIR_ERR_INVALID_ARG, "memory over maximum limit");
+ testError(domain->conn, domain, VIR_ERR_INVALID_ARG, __FUNCTION__);
return (-1);
}
@@ -1064,7 +1064,7 @@
/* We allow more cpus in guest than host */
if (nrCpus > 32) {
- testError(domain->conn, domain, VIR_ERR_INVALID_ARG, "too many virtual cpus");
+ testError(domain->conn, domain, VIR_ERR_INVALID_ARG, __FUNCTION__);
return (-1);
}
Index: src/virsh.c
===================================================================
RCS file: /data/cvs/libvirt/src/virsh.c,v
retrieving revision 1.38
diff -u -r1.38 virsh.c
--- src/virsh.c 3 Sep 2006 17:34:04 -0000 1.38
+++ src/virsh.c 20 Sep 2006 19:55:55 -0000
@@ -230,9 +230,9 @@
*/
static vshCmdInfo info_help[] = {
{"syntax", "help [<command>]"},
- {"help", "print help"},
- {"desc", "Prints global help or command specific help."},
- {"version", "Prints version information."},
+ {"help", gettext_noop("print help")},
+ {"desc", gettext_noop("Prints global help or command specific help.")},
+
{NULL, NULL}
};
@@ -249,10 +249,10 @@
if (!cmdname) {
vshCmdDef *def;
- vshPrint(ctl, "Commands:\n\n");
+ vshPrint(ctl, _("Commands:\n\n"));
for (def = commands; def->name; def++)
vshPrint(ctl, " %-15s %s\n", def->name,
- vshCmddefGetInfo(def, "help"));
+ _N(vshCmddefGetInfo(def, "help")));
return TRUE;
}
return vshCmddefHelp(ctl, cmdname, FALSE);
@@ -263,15 +263,15 @@
*/
static vshCmdInfo info_connect[] = {
{"syntax", "connect [name] [--readonly]"},
- {"help", "(re)connect to hypervisor"},
+ {"help", gettext_noop("(re)connect to hypervisor")},
{"desc",
- "Connect to local hypervisor. This is build-in command after shell start up."},
+ gettext_noop("Connect to local hypervisor. This is built-in command after shell start up.")},
{NULL, NULL}
};
static vshCmdOptDef opts_connect[] = {
- {"name", VSH_OT_DATA, 0, "optional argument currently unused (or used for tests only)"},
- {"readonly", VSH_OT_BOOL, 0, "read-only connection"},
+ {"name", VSH_OT_DATA, 0, gettext_noop("hypervisor connection URI")},
+ {"readonly", VSH_OT_BOOL, 0, gettext_noop("read-only connection")},
{NULL, 0, 0, NULL}
};
@@ -283,7 +283,7 @@
if (ctl->conn) {
if (virConnectClose(ctl->conn) != 0) {
vshError(ctl, FALSE,
- "failed to disconnect from the hypervisor");
+ _("Failed to disconnect from the hypervisor"));
return FALSE;
}
ctl->conn = NULL;
@@ -299,7 +299,7 @@
ctl->conn = virConnectOpenReadOnly(ctl->name);
if (!ctl->conn)
- vshError(ctl, FALSE, "failed to connect to the hypervisor");
+ vshError(ctl, FALSE, _("Failed to connect to the hypervisor"));
return ctl->conn ? TRUE : FALSE;
}
@@ -309,14 +309,14 @@
*/
static vshCmdInfo info_list[] = {
{"syntax", "list"},
- {"help", "list domains"},
- {"desc", "Returns list of domains."},
+ {"help", gettext_noop("list domains")},
+ {"desc", gettext_noop("Returns list of domains.")},
{NULL, NULL}
};
static vshCmdOptDef opts_list[] = {
- {"inactive", VSH_OT_BOOL, 0, "list inactive domains"},
- {"all", VSH_OT_BOOL, 0, "list inactive & active domains"},
+ {"inactive", VSH_OT_BOOL, 0, gettext_noop("list inactive domains")},
+ {"all", VSH_OT_BOOL, 0, gettext_noop("list inactive & active domains")},
{NULL, 0, 0, NULL}
};
@@ -354,14 +354,14 @@
if (active) {
maxid = virConnectNumOfDomains(ctl->conn);
if (maxid < 0) {
- vshError(ctl, FALSE, "failed to list active domains.");
+ vshError(ctl, FALSE, _("Failed to list active domains"));
return FALSE;
}
if (maxid) {
ids = vshMalloc(ctl, sizeof(int) * maxid);
if ((maxid = virConnectListDomains(ctl->conn, &ids[0], maxid)) < 0) {
- vshError(ctl, FALSE, "failed to list active domains.");
+ vshError(ctl, FALSE, _("Failed to list active domains"));
free(ids);
return FALSE;
}
@@ -372,7 +372,7 @@
if (inactive) {
maxname = virConnectNumOfDefinedDomains(ctl->conn);
if (maxname < 0) {
- vshError(ctl, FALSE, "failed to list inactive domains.");
+ vshError(ctl, FALSE, _("Failed to list inactive domains"));
if (ids)
free(ids);
return FALSE;
@@ -381,7 +381,7 @@
names = vshMalloc(ctl, sizeof(char *) * maxname);
if ((maxname = virConnectListDefinedDomains(ctl->conn, names, maxname)) < 0) {
- vshError(ctl, FALSE, "failed to list inactive domains.");
+ vshError(ctl, FALSE, _("Failed to list inactive domains"));
if (ids)
free(ids);
free(names);
@@ -391,7 +391,7 @@
qsort(&names[0], maxname, sizeof(char*), domnamesorter);
}
}
- vshPrintExtra(ctl, "%3s %-20s %s\n", "Id", "Name", "State");
+ vshPrintExtra(ctl, "%3s %-20s %s\n", _("Id"), _("Name"), _("State"));
vshPrintExtra(ctl, "----------------------------------\n");
for (i = 0; i < maxid; i++) {
@@ -408,7 +408,7 @@
virDomainGetID(dom),
virDomainGetName(dom),
ret <
- 0 ? "no state" : vshDomainStateToString(info.state));
+ 0 ? _("no state") : _N(vshDomainStateToString(info.state)));
virDomainFree(dom);
}
for (i = 0; i < maxname; i++) {
@@ -436,6 +436,7 @@
ret <
0 ? "no state" : vshDomainStateToString(info.state));
}
+
virDomainFree(dom);
}
if (ids)
@@ -450,13 +451,13 @@
*/
static vshCmdInfo info_domstate[] = {
{"syntax", "domstate <domain>"},
- {"help", "domain state"},
- {"desc", "Returns state about a running domain."},
+ {"help", gettext_noop("domain state")},
+ {"desc", gettext_noop("Returns state about a running domain.")},
{NULL, NULL}
};
static vshCmdOptDef opts_domstate[] = {
- {"domain", VSH_OT_DATA, VSH_OFLAG_REQ, "domain name, id or uuid"},
+ {"domain", VSH_OT_DATA, VSH_OFLAG_REQ, gettext_noop("domain name, id or uuid")},
{NULL, 0, 0, NULL}
};
@@ -475,7 +476,7 @@
if (virDomainGetInfo(dom, &info) == 0)
vshPrint(ctl, "%s\n",
- vshDomainStateToString(info.state));
+ _N(vshDomainStateToString(info.state)));
else
ret = FALSE;
@@ -488,13 +489,13 @@
*/
static vshCmdInfo info_suspend[] = {
{"syntax", "suspend <domain>"},
- {"help", "suspend a domain"},
- {"desc", "Suspend a running domain."},
+ {"help", gettext_noop("suspend a domain")},
+ {"desc", gettext_noop("Suspend a running domain.")},
{NULL, NULL}
};
static vshCmdOptDef opts_suspend[] = {
- {"domain", VSH_OT_DATA, VSH_OFLAG_REQ, "domain name, id or uuid"},
+ {"domain", VSH_OT_DATA, VSH_OFLAG_REQ, gettext_noop("domain name, id or uuid")},
{NULL, 0, 0, NULL}
};
@@ -512,9 +513,9 @@
return FALSE;
if (virDomainSuspend(dom) == 0) {
- vshPrint(ctl, "Domain %s suspended\n", name);
+ vshPrint(ctl, _("Domain %s suspended\n"), name);
} else {
- vshError(ctl, FALSE, "Failed to suspend domain\n");
+ vshError(ctl, FALSE, _("Failed to suspend domain %s"), name);
ret = FALSE;
}
@@ -527,13 +528,13 @@
*/
static vshCmdInfo info_create[] = {
{"syntax", "create a domain from an XML <file>"},
- {"help", "create a domain from an XML file"},
- {"desc", "Create a domain."},
+ {"help", gettext_noop("create a domain from an XML file")},
+ {"desc", gettext_noop("Create a domain.")},
{NULL, NULL}
};
static vshCmdOptDef opts_create[] = {
- {"file", VSH_OT_DATA, VSH_OFLAG_REQ, "file conatining an XML domain description"},
+ {"file", VSH_OT_DATA, VSH_OFLAG_REQ, gettext_noop("file conatining an XML domain description")},
{NULL, 0, 0, NULL}
};
@@ -556,22 +557,22 @@
fd = open(from, O_RDONLY);
if (fd < 0) {
- vshError(ctl, FALSE, "Failed to read description file %s\n", from);
+ vshError(ctl, FALSE, _("Failed to read description file %s"), from);
return(FALSE);
}
l = read(fd, &buffer[0], sizeof(buffer));
if ((l <= 0) || (l >= (int) sizeof(buffer))) {
- vshError(ctl, FALSE, "Failed to read description file %s\n", from);
+ vshError(ctl, FALSE, _("Failed to read description file %s"), from);
close(fd);
return(FALSE);
}
buffer[l] = 0;
dom = virDomainCreateLinux(ctl->conn, &buffer[0], 0);
if (dom != NULL) {
- vshPrint(ctl, "Domain %s created from %s\n",
+ vshPrint(ctl, _("Domain %s created from %s\n"),
virDomainGetName(dom), from);
} else {
- vshError(ctl, FALSE, "Failed to create domain\n");
+ vshError(ctl, FALSE, _("Failed to create domain from %s"), from);
ret = FALSE;
}
return ret;
@@ -582,13 +583,13 @@
*/
static vshCmdInfo info_define[] = {
{"syntax", "define a domain from an XML <file>"},
- {"help", "define (but don't start) a domain from an XML file"},
- {"desc", "Define a domain."},
+ {"help", gettext_noop("define (but don't start) a domain from an XML file")},
+ {"desc", gettext_noop("Define a domain.")},
{NULL, NULL}
};
static vshCmdOptDef opts_define[] = {
- {"file", VSH_OT_DATA, VSH_OFLAG_REQ, "file conatining an XML domain description"},
+ {"file", VSH_OT_DATA, VSH_OFLAG_REQ, gettext_noop("file conatining an XML domain description")},
{NULL, 0, 0, NULL}
};
@@ -611,22 +612,22 @@
fd = open(from, O_RDONLY);
if (fd < 0) {
- vshError(ctl, FALSE, "Failed to read description file %s\n", from);
+ vshError(ctl, FALSE, _("Failed to read description file %s"), from);
return(FALSE);
}
l = read(fd, &buffer[0], sizeof(buffer));
if ((l <= 0) || (l >= (int) sizeof(buffer))) {
- vshError(ctl, FALSE, "Failed to read description file %s\n", from);
+ vshError(ctl, FALSE, _("Failed to read description file %s"), from);
close(fd);
return(FALSE);
}
buffer[l] = 0;
dom = virDomainDefineXML(ctl->conn, &buffer[0]);
if (dom != NULL) {
- vshPrint(ctl, "Domain %s defined from %s\n",
+ vshPrint(ctl, _("Domain %s defined from %s\n"),
virDomainGetName(dom), from);
} else {
- vshError(ctl, FALSE, "Failed to define domain\n");
+ vshError(ctl, FALSE, _("Failed to define domain from %s"), from);
ret = FALSE;
}
return ret;
@@ -637,13 +638,13 @@
*/
static vshCmdInfo info_undefine[] = {
{"syntax", "undefine <domain>"},
- {"help", "Undefine an inactive domain"},
- {"desc", "Undefine the configuration for an inactive domain"},
+ {"help", gettext_noop("undefine an inactive domain")},
+ {"desc", gettext_noop("Undefine the configuration for an inactive domain.")},
{NULL, NULL}
};
static vshCmdOptDef opts_undefine[] = {
- {"domain", VSH_OT_DATA, VSH_OFLAG_REQ, "domain name, or uuid"},
+ {"domain", VSH_OT_DATA, VSH_OFLAG_REQ, gettext_noop("domain name or uuid")},
{NULL, 0, 0, NULL}
};
@@ -661,9 +662,9 @@
return FALSE;
if (virDomainUndefine(dom) == 0) {
- vshPrint(ctl, "Domain %s has been undefined\n", name);
+ vshPrint(ctl, _("Domain %s has been undefined\n"), name);
} else {
- vshError(ctl, FALSE, "Failed to undefine domain\n");
+ vshError(ctl, FALSE, _("Failed to undefine domain %s"), name);
ret = FALSE;
}
@@ -676,13 +677,13 @@
*/
static vshCmdInfo info_start[] = {
{"syntax", "start a domain "},
- {"help", "start a (previously defined) inactive domain"},
- {"desc", "Start a domain."},
+ {"help", gettext_noop("start a (previously defined) inactive domain")},
+ {"desc", gettext_noop("Start a domain.")},
{NULL, NULL}
};
static vshCmdOptDef opts_start[] = {
- {"name", VSH_OT_DATA, VSH_OFLAG_REQ, "name of the inactive domain" },
+ {"name", VSH_OT_DATA, VSH_OFLAG_REQ, gettext_noop("name of the inactive domain")},
{NULL, 0, 0, NULL}
};
@@ -706,15 +707,15 @@
return FALSE;
if (virDomainGetID(dom) != (unsigned int)-1) {
- vshError(ctl, FALSE, "Domain is already active\n");
+ vshError(ctl, FALSE, _("Domain is already active"));
return FALSE;
}
if (virDomainCreate(dom) == 0) {
- vshPrint(ctl, "Domain %s started\n",
+ vshPrint(ctl, _("Domain %s started\n"),
name);
} else {
- vshError(ctl, FALSE, "Failed to start domain\n");
+ vshError(ctl, FALSE, _("Failed to start domain %s"), name);
ret = FALSE;
}
return ret;
@@ -725,14 +726,14 @@
*/
static vshCmdInfo info_save[] = {
{"syntax", "save <domain> <file>"},
- {"help", "save a domain state to a file"},
- {"desc", "Save a running domain."},
+ {"help", gettext_noop("save a domain state to a file")},
+ {"desc", gettext_noop("Save a running domain.")},
{NULL, NULL}
};
static vshCmdOptDef opts_save[] = {
- {"domain", VSH_OT_DATA, VSH_OFLAG_REQ, "domain name, id or uuid"},
- {"file", VSH_OT_DATA, VSH_OFLAG_REQ, "where to save the data"},
+ {"domain", VSH_OT_DATA, VSH_OFLAG_REQ, gettext_noop("domain name, id or uuid")},
+ {"file", VSH_OT_DATA, VSH_OFLAG_REQ, gettext_noop("where to save the data")},
{NULL, 0, 0, NULL}
};
@@ -754,9 +755,9 @@
return FALSE;
if (virDomainSave(dom, to) == 0) {
- vshPrint(ctl, "Domain %s saved\n", name);
+ vshPrint(ctl, _("Domain %s saved to %s\n"), name, to);
} else {
- vshError(ctl, FALSE, "Failed to save domain\n");
+ vshError(ctl, FALSE, _("Failed to save domain %s to %s"), name, to);
ret = FALSE;
}
@@ -769,13 +770,13 @@
*/
static vshCmdInfo info_restore[] = {
{"syntax", "restore a domain from <file>"},
- {"help", "restore a domain from a saved state in a file"},
- {"desc", "Restore a domain."},
+ {"help", gettext_noop("restore a domain from a saved state in a file")},
+ {"desc", gettext_noop("Restore a domain.")},
{NULL, NULL}
};
static vshCmdOptDef opts_restore[] = {
- {"file", VSH_OT_DATA, VSH_OFLAG_REQ, "the state to restore"},
+ {"file", VSH_OT_DATA, VSH_OFLAG_REQ, gettext_noop("the state to restore")},
{NULL, 0, 0, NULL}
};
@@ -794,9 +795,9 @@
return FALSE;
if (virDomainRestore(ctl->conn, from) == 0) {
- vshPrint(ctl, "Domain restored from %s\n", from);
+ vshPrint(ctl, _("Domain restored from %s\n"), from);
} else {
- vshError(ctl, FALSE, "Failed to restore domain\n");
+ vshError(ctl, FALSE, _("Failed to restore domain from %s"), from);
ret = FALSE;
}
return ret;
@@ -807,13 +808,13 @@
*/
static vshCmdInfo info_resume[] = {
{"syntax", "resume <domain>"},
- {"help", "resume a domain"},
- {"desc", "Resume a previously suspended domain."},
+ {"help", gettext_noop("resume a domain")},
+ {"desc", gettext_noop("Resume a previously suspended domain.")},
{NULL, NULL}
};
static vshCmdOptDef opts_resume[] = {
- {"domain", VSH_OT_DATA, VSH_OFLAG_REQ, "domain name, id or uuid"},
+ {"domain", VSH_OT_DATA, VSH_OFLAG_REQ, gettext_noop("domain name, id or uuid")},
{NULL, 0, 0, NULL}
};
@@ -831,9 +832,9 @@
return FALSE;
if (virDomainResume(dom) == 0) {
- vshPrint(ctl, "Domain %s resumed\n", name);
+ vshPrint(ctl, _("Domain %s resumed\n"), name);
} else {
- vshError(ctl, FALSE, "Failed to resume domain\n");
+ vshError(ctl, FALSE, _("Failed to resume domain %s"), name);
ret = FALSE;
}
@@ -846,13 +847,13 @@
*/
static vshCmdInfo info_shutdown[] = {
{"syntax", "shutdown <domain>"},
- {"help", "gracefully shutdown a domain"},
- {"desc", "Run shutdown in the targetted domain"},
+ {"help", gettext_noop("gracefully shutdown a domain")},
+ {"desc", gettext_noop("Run shutdown in the target domain.")},
{NULL, NULL}
};
static vshCmdOptDef opts_shutdown[] = {
- {"domain", VSH_OT_DATA, VSH_OFLAG_REQ, "domain name, id or uuid"},
+ {"domain", VSH_OT_DATA, VSH_OFLAG_REQ, gettext_noop("domain name, id or uuid")},
{NULL, 0, 0, NULL}
};
@@ -870,9 +871,9 @@
return FALSE;
if (virDomainShutdown(dom) == 0) {
- vshPrint(ctl, "Domain %s is being shutdown\n", name);
+ vshPrint(ctl, _("Domain %s is being shutdown\n"), name);
} else {
- vshError(ctl, FALSE, "Failed to shutdown domain\n");
+ vshError(ctl, FALSE, _("Failed to shutdown domain %s"), name);
ret = FALSE;
}
@@ -885,13 +886,13 @@
*/
static vshCmdInfo info_reboot[] = {
{"syntax", "reboot <domain>"},
- {"help", "reboot a domain"},
- {"desc", "Run a reboot command in the targetted domain"},
+ {"help", gettext_noop("reboot a domain")},
+ {"desc", gettext_noop("Run a reboot command in the target domain.")},
{NULL, NULL}
};
static vshCmdOptDef opts_reboot[] = {
- {"domain", VSH_OT_DATA, VSH_OFLAG_REQ, "domain name, id or uuid"},
+ {"domain", VSH_OT_DATA, VSH_OFLAG_REQ, gettext_noop("domain name, id or uuid")},
{NULL, 0, 0, NULL}
};
@@ -909,9 +910,9 @@
return FALSE;
if (virDomainReboot(dom, 0) == 0) {
- vshPrint(ctl, "Domain %s is being rebooted\n", name);
+ vshPrint(ctl, _("Domain %s is being rebooted\n"), name);
} else {
- vshError(ctl, FALSE, "Failed to reboot domain\n");
+ vshError(ctl, FALSE, _("Failed to reboot domain %s"), name);
ret = FALSE;
}
@@ -924,13 +925,13 @@
*/
static vshCmdInfo info_destroy[] = {
{"syntax", "destroy <domain>"},
- {"help", "destroy a domain"},
- {"desc", "Destroy a given domain."},
+ {"help", gettext_noop("destroy a domain")},
+ {"desc", gettext_noop("Destroy a given domain.")},
{NULL, NULL}
};
static vshCmdOptDef opts_destroy[] = {
- {"domain", VSH_OT_DATA, VSH_OFLAG_REQ, "domain name, id or uuid"},
+ {"domain", VSH_OT_DATA, VSH_OFLAG_REQ, gettext_noop("domain name, id or uuid")},
{NULL, 0, 0, NULL}
};
@@ -948,9 +949,9 @@
return FALSE;
if (virDomainDestroy(dom) == 0) {
- vshPrint(ctl, "Domain %s destroyed\n", name);
+ vshPrint(ctl, _("Domain %s destroyed\n"), name);
} else {
- vshError(ctl, FALSE, "Failed to destroy domain\n");
+ vshError(ctl, FALSE, _("Failed to destroy domain %s"), name);
ret = FALSE;
virDomainFree(dom);
}
@@ -963,13 +964,13 @@
*/
static vshCmdInfo info_dominfo[] = {
{"syntax", "dominfo <domain>"},
- {"help", "domain information"},
- {"desc", "Returns basic information about the domain."},
+ {"help", gettext_noop("domain information")},
+ {"desc", gettext_noop("Returns basic information about the domain.")},
{NULL, NULL}
};
static vshCmdOptDef opts_dominfo[] = {
- {"domain", VSH_OT_DATA, VSH_OFLAG_REQ, "domain name, id or uuid"},
+ {"domain", VSH_OT_DATA, VSH_OFLAG_REQ, gettext_noop("domain name, id or uuid")},
{NULL, 0, 0, NULL}
};
@@ -990,35 +991,36 @@
id = virDomainGetID(dom);
if (id == ((unsigned int)-1))
- vshPrint(ctl, "%-15s %s\n", "Id:", "-");
+ vshPrint(ctl, "%-15s %s\n", _("Id:"), "-");
else
- vshPrint(ctl, "%-15s %d\n", "Id:", id);
- vshPrint(ctl, "%-15s %s\n", "Name:", virDomainGetName(dom));
+ vshPrint(ctl, "%-15s %d\n", _("Id:"), id);
+ vshPrint(ctl, "%-15s %s\n", _("Name:"), virDomainGetName(dom));
+
if (virDomainGetUUIDString(dom, &uuid[0])==0)
- vshPrint(ctl, "%-15s %s\n", "UUID:", uuid);
+ vshPrint(ctl, "%-15s %s\n", _("UUID:"), uuid);
if ((str = virDomainGetOSType(dom))) {
- vshPrint(ctl, "%-15s %s\n", "OS Type:", str);
+ vshPrint(ctl, "%-15s %s\n", _("OS Type:"), str);
free(str);
}
if (virDomainGetInfo(dom, &info) == 0) {
- vshPrint(ctl, "%-15s %s\n", "State:",
- vshDomainStateToString(info.state));
+ vshPrint(ctl, "%-15s %s\n", _("State:"),
+ _N(vshDomainStateToString(info.state)));
- vshPrint(ctl, "%-15s %d\n", "CPU(s):", info.nrVirtCpu);
+ vshPrint(ctl, "%-15s %d\n", _("CPU(s):"), info.nrVirtCpu);
if (info.cpuTime != 0) {
double cpuUsed = info.cpuTime;
cpuUsed /= 1000000000.0;
- vshPrint(ctl, "%-15s %.1lfs\n", "CPU time:", cpuUsed);
+ vshPrint(ctl, "%-15s %.1lfs\n", _("CPU time:"), cpuUsed);
}
- vshPrint(ctl, "%-15s %lu kB\n", "Max memory:",
+ vshPrint(ctl, "%-15s %lu kB\n", _("Max memory:"),
info.maxMem);
- vshPrint(ctl, "%-15s %lu kB\n", "Used memory:",
+ vshPrint(ctl, "%-15s %lu kB\n", _("Used memory:"),
info.memory);
} else {
@@ -1034,13 +1036,13 @@
*/
static vshCmdInfo info_vcpuinfo[] = {
{"syntax", "vcpuinfo <domain>"},
- {"help", "domain vcpu information"},
- {"desc", "Returns basic information about the domain virtual CPUs."},
+ {"help", gettext_noop("domain vcpu information")},
+ {"desc", gettext_noop("Returns basic information about the domain virtual CPUs.")},
{NULL, NULL}
};
static vshCmdOptDef opts_vcpuinfo[] = {
- {"domain", VSH_OT_DATA, VSH_OFLAG_REQ, "domain name, id or uuid"},
+ {"domain", VSH_OT_DATA, VSH_OFLAG_REQ, gettext_noop("domain name, id or uuid")},
{NULL, 0, 0, NULL}
};
@@ -1082,18 +1084,18 @@
int n;
for (n = 0 ; n < ncpus ; n++) {
unsigned int m;
- vshPrint(ctl, "%-15s %d\n", "VCPU:", n);
- vshPrint(ctl, "%-15s %d\n", "CPU:", cpuinfo[n].cpu);
- vshPrint(ctl, "%-15s %s\n", "State:",
- vshDomainVcpuStateToString(cpuinfo[n].state));
+ vshPrint(ctl, "%-15s %d\n", _("VCPU:"), n);
+ vshPrint(ctl, "%-15s %d\n", _("CPU:"), cpuinfo[n].cpu);
+ vshPrint(ctl, "%-15s %s\n", _("State:"),
+ _N(vshDomainVcpuStateToString(cpuinfo[n].state)));
if (cpuinfo[n].cpuTime != 0) {
double cpuUsed = cpuinfo[n].cpuTime;
cpuUsed /= 1000000000.0;
- vshPrint(ctl, "%-15s %.1lfs\n", "CPU time:", cpuUsed);
+ vshPrint(ctl, "%-15s %.1lfs\n", _("CPU time:"), cpuUsed);
}
- vshPrint(ctl, "%-15s ", "CPU Affinity:");
+ vshPrint(ctl, "%-15s ", _("CPU Affinity:"));
for (m = 0 ; m < VIR_NODEINFO_MAXCPUS(nodeinfo) ; m++) {
vshPrint(ctl, "%c", VIR_CPU_USABLE(cpumap, cpumaplen, n, m) ? 'y' : '-');
}
@@ -1117,15 +1119,15 @@
*/
static vshCmdInfo info_vcpupin[] = {
{"syntax", "vcpupin <domain>"},
- {"help", "control domain vcpu affinity"},
- {"desc", "Pin domain VCPUs to host physical CPUs"},
+ {"help", gettext_noop("control domain vcpu affinity")},
+ {"desc", gettext_noop("Pin domain VCPUs to host physical CPUs.")},
{NULL, NULL}
};
static vshCmdOptDef opts_vcpupin[] = {
- {"domain", VSH_OT_DATA, VSH_OFLAG_REQ, "domain name, id or uuid"},
- {"vcpu", VSH_OT_DATA, VSH_OFLAG_REQ, "vcpu number"},
- {"cpulist", VSH_OT_DATA, VSH_OFLAG_REQ, "host cpu number(s) (comma separated)"},
+ {"domain", VSH_OT_DATA, VSH_OFLAG_REQ, gettext_noop("domain name, id or uuid")},
+ {"vcpu", VSH_OT_DATA, VSH_OFLAG_REQ, gettext_noop("vcpu number")},
+ {"cpulist", VSH_OT_DATA, VSH_OFLAG_REQ, gettext_noop("host cpu number(s) (comma separated)")},
{NULL, 0, 0, NULL}
};
@@ -1203,14 +1205,14 @@
*/
static vshCmdInfo info_setvcpus[] = {
{"syntax", "setvcpus <domain> <count>"},
- {"help", "change number of virtual CPUs"},
- {"desc", "Change the number of virtual CPUs active in the guest domain"},
+ {"help", gettext_noop("change number of virtual CPUs")},
+ {"desc", gettext_noop("Change the number of virtual CPUs active in the guest domain.")},
{NULL, NULL}
};
static vshCmdOptDef opts_setvcpus[] = {
- {"domain", VSH_OT_DATA, VSH_OFLAG_REQ, "domain name, id or uuid"},
- {"count", VSH_OT_DATA, VSH_OFLAG_REQ, "number of virtual CPUs"},
+ {"domain", VSH_OT_DATA, VSH_OFLAG_REQ, gettext_noop("domain name, id or uuid")},
+ {"count", VSH_OT_DATA, VSH_OFLAG_REQ, gettext_noop("number of virtual CPUs")},
{NULL, 0, 0, NULL}
};
@@ -1246,14 +1248,14 @@
*/
static vshCmdInfo info_setmem[] = {
{"syntax", "setmem <domain> <bytes>"},
- {"help", "change memory allocation"},
- {"desc", "Change the current memory allocation in the guest domain"},
+ {"help", gettext_noop("change memory allocation")},
+ {"desc", gettext_noop("Change the current memory allocation in the guest domain.")},
{NULL, NULL}
};
static vshCmdOptDef opts_setmem[] = {
- {"domain", VSH_OT_DATA, VSH_OFLAG_REQ, "domain name, id or uuid"},
- {"bytes", VSH_OT_DATA, VSH_OFLAG_REQ, "number of bytes of memory"},
+ {"domain", VSH_OT_DATA, VSH_OFLAG_REQ, gettext_noop("domain name, id or uuid")},
+ {"bytes", VSH_OT_DATA, VSH_OFLAG_REQ, gettext_noop("number of bytes of memory")},
{NULL, 0, 0, NULL}
};
@@ -1289,14 +1291,14 @@
*/
static vshCmdInfo info_setmaxmem[] = {
{"syntax", "setmaxmem <domain> <bytes>"},
- {"help", "change maximum memory limit"},
- {"desc", "Change the maximum memory allocation limit in the guest domain"},
+ {"help", gettext_noop("change maximum memory limit")},
+ {"desc", gettext_noop("Change the maximum memory allocation limit in the guest domain.")},
{NULL, NULL}
};
static vshCmdOptDef opts_setmaxmem[] = {
- {"domain", VSH_OT_DATA, VSH_OFLAG_REQ, "domain name, id or uuid"},
- {"bytes", VSH_OT_DATA, VSH_OFLAG_REQ, "maxmimum memory limit in bytes"},
+ {"domain", VSH_OT_DATA, VSH_OFLAG_REQ, gettext_noop("domain name, id or uuid")},
+ {"bytes", VSH_OT_DATA, VSH_OFLAG_REQ, gettext_noop("maxmimum memory limit in bytes")},
{NULL, 0, 0, NULL}
};
@@ -1332,8 +1334,8 @@
*/
static vshCmdInfo info_nodeinfo[] = {
{"syntax", "nodeinfo"},
- {"help", "node information"},
- {"desc", "Returns basic information about the node."},
+ {"help", gettext_noop("node information")},
+ {"desc", gettext_noop("Returns basic information about the node.")},
{NULL, NULL}
};
@@ -1341,23 +1343,23 @@
cmdNodeinfo(vshControl * ctl, vshCmd * cmd ATTRIBUTE_UNUSED)
{
virNodeInfo info;
-
+
if (!vshConnectionUsability(ctl, ctl->conn, TRUE))
return FALSE;
if (virNodeGetInfo(ctl->conn, &info) < 0) {
- vshError(ctl, FALSE, "failed to get node information");
+ vshError(ctl, FALSE, _("failed to get node information"));
return FALSE;
- }
- vshPrint(ctl, "%-20s %s\n", "CPU model:", info.model);
- vshPrint(ctl, "%-20s %d\n", "CPU(s):", info.cpus);
- vshPrint(ctl, "%-20s %d MHz\n", "CPU frequency:", info.mhz);
- vshPrint(ctl, "%-20s %d\n", "CPU socket(s):", info.sockets);
- vshPrint(ctl, "%-20s %d\n", "Core(s) per socket:", info.cores);
- vshPrint(ctl, "%-20s %d\n", "Thread(s) per core:", info.threads);
- vshPrint(ctl, "%-20s %d\n", "NUMA cell(s):", info.nodes);
- vshPrint(ctl, "%-20s %lu kB\n", "Memory size:", info.memory);
-
+ }
+ vshPrint(ctl, "%-20s %s\n", _("CPU model:"), info.model);
+ vshPrint(ctl, "%-20s %d\n", _("CPU(s):"), info.cpus);
+ vshPrint(ctl, "%-20s %d MHz\n", _("CPU frequency:"), info.mhz);
+ vshPrint(ctl, "%-20s %d\n", _("CPU socket(s):"), info.sockets);
+ vshPrint(ctl, "%-20s %d\n", _("Core(s) per socket:"), info.cores);
+ vshPrint(ctl, "%-20s %d\n", _("Thread(s) per core:"), info.threads);
+ vshPrint(ctl, "%-20s %d\n", _("NUMA cell(s):"), info.nodes);
+ vshPrint(ctl, "%-20s %lu kB\n", _("Memory size:"), info.memory);
+
return TRUE;
}
@@ -1366,13 +1368,13 @@
*/
static vshCmdInfo info_dumpxml[] = {
{"syntax", "dumpxml <name>"},
- {"help", "domain information in XML"},
- {"desc", "Ouput the domain information as an XML dump to stdout"},
+ {"help", gettext_noop("domain information in XML")},
+ {"desc", gettext_noop("Ouput the domain information as an XML dump to stdout.")},
{NULL, NULL}
};
static vshCmdOptDef opts_dumpxml[] = {
- {"domain", VSH_OT_DATA, VSH_OFLAG_REQ, "domain name, id, uuid"},
+ {"domain", VSH_OT_DATA, VSH_OFLAG_REQ, gettext_noop("domain name, id or uuid")},
{NULL, 0, 0, NULL}
};
@@ -1406,12 +1408,12 @@
*/
static vshCmdInfo info_domname[] = {
{"syntax", "domname <domain>"},
- {"help", "convert a domain Id or UUID to domain name"},
+ {"help", gettext_noop("convert a domain id or UUID to domain name")},
{NULL, NULL}
};
static vshCmdOptDef opts_domname[] = {
- {"domain", VSH_OT_DATA, VSH_OFLAG_REQ, "domain id or uuid"},
+ {"domain", VSH_OT_DATA, VSH_OFLAG_REQ, gettext_noop("domain id or uuid")},
{NULL, 0, 0, NULL}
};
@@ -1436,12 +1438,12 @@
*/
static vshCmdInfo info_domid[] = {
{"syntax", "domid <domain>"},
- {"help", "convert a domain name or UUID to domain Id"},
+ {"help", gettext_noop("convert a domain name or UUID to domain id")},
{NULL, NULL}
};
static vshCmdOptDef opts_domid[] = {
- {"domain", VSH_OT_DATA, VSH_OFLAG_REQ, "domain name or uuid"},
+ {"domain", VSH_OT_DATA, VSH_OFLAG_REQ, gettext_noop("domain name or uuid")},
{NULL, 0, 0, NULL}
};
@@ -1471,12 +1473,12 @@
*/
static vshCmdInfo info_domuuid[] = {
{"syntax", "domuuid <domain>"},
- {"help", "convert a domain name or id to domain UUID"},
+ {"help", gettext_noop("convert a domain name or id to domain UUID")},
{NULL, NULL}
};
static vshCmdOptDef opts_domuuid[] = {
- {"domain", VSH_OT_DATA, VSH_OFLAG_REQ, "domain id or name"},
+ {"domain", VSH_OT_DATA, VSH_OFLAG_REQ, gettext_noop("domain id or name")},
{NULL, 0, 0, NULL}
};
@@ -1488,15 +1490,15 @@
if (!vshConnectionUsability(ctl, ctl->conn, TRUE))
return FALSE;
- if (!(dom = vshCommandOptDomainBy(ctl, cmd, "domain", NULL,
+ if (!(dom = vshCommandOptDomainBy(ctl, cmd, "domain", NULL,
VSH_DOMBYNAME|VSH_DOMBYID)))
return FALSE;
-
+
if (virDomainGetUUIDString(dom, uuid) != -1)
vshPrint(ctl, "%s\n", uuid);
else
- vshError(ctl, FALSE, "failed to get domain UUID");
-
+ vshError(ctl, FALSE, _("failed to get domain UUID"));
+
return TRUE;
}
@@ -1506,8 +1508,8 @@
*/
static vshCmdInfo info_version[] = {
{"syntax", "version"},
- {"help", "show versions"},
- {"desc", "Display the version information available"},
+ {"help", gettext_noop("show version")},
+ {"desc", gettext_noop("Display the system version information.")},
{NULL, NULL}
};
@@ -1530,7 +1532,7 @@
hvType = virConnectGetType(ctl->conn);
if (hvType == NULL) {
- vshError(ctl, FALSE, "failed to get hypervisor type\n");
+ vshError(ctl, FALSE, _("failed to get hypervisor type"));
return FALSE;
}
@@ -1539,43 +1541,43 @@
includeVersion %= 1000000;
minor = includeVersion / 1000;
rel = includeVersion % 1000;
- vshPrint(ctl, "Compiled against library: libvir %d.%d.%d\n",
+ vshPrint(ctl, _("Compiled against library: libvir %d.%d.%d\n"),
major, minor, rel);
ret = virGetVersion(&libVersion, hvType, &apiVersion);
if (ret < 0) {
- vshError(ctl, FALSE, "failed to get the library version");
+ vshError(ctl, FALSE, _("failed to get the library version"));
return FALSE;
}
major = libVersion / 1000000;
libVersion %= 1000000;
minor = libVersion / 1000;
rel = libVersion % 1000;
- vshPrint(ctl, "Using library: libvir %d.%d.%d\n",
+ vshPrint(ctl, _("Using library: libvir %d.%d.%d\n"),
major, minor, rel);
major = apiVersion / 1000000;
apiVersion %= 1000000;
minor = apiVersion / 1000;
rel = apiVersion % 1000;
- vshPrint(ctl, "Using API: %s %d.%d.%d\n", hvType,
+ vshPrint(ctl, _("Using API: %s %d.%d.%d\n"), hvType,
major, minor, rel);
ret = virConnectGetVersion(ctl->conn, &hvVersion);
if (ret < 0) {
- vshError(ctl, FALSE, "failed to get the hypervisor version");
+ vshError(ctl, FALSE, _("failed to get the hypervisor version"));
return FALSE;
}
if (hvVersion == 0) {
vshPrint(ctl,
- "cannot extract running %s hypervisor version\n", hvType);
+ _("Cannot extract running %s hypervisor version\n"), hvType);
} else {
major = hvVersion / 1000000;
hvVersion %= 1000000;
minor = hvVersion / 1000;
rel = hvVersion % 1000;
- vshPrint(ctl, "Running hypervisor: %s %d.%d.%d\n",
+ vshPrint(ctl, _("Running hypervisor: %s %d.%d.%d\n"),
hvType, major, minor, rel);
}
return TRUE;
@@ -1586,7 +1588,7 @@
*/
static vshCmdInfo info_quit[] = {
{"syntax", "quit"},
- {"help", "quit this interactive terminal"},
+ {"help", gettext_noop("quit this interactive terminal")},
{NULL, NULL}
};
@@ -1698,8 +1700,8 @@
if (!ok) {
vshError(ctl, FALSE,
d->type == VSH_OT_DATA ?
- "command '%s' requires <%s> option" :
- "command '%s' requires --%s option",
+ _("command '%s' requires <%s> option") :
+ _("command '%s' requires --%s option"),
def->name, d->name);
err = 1;
}
@@ -1726,39 +1728,39 @@
vshCmdDef *def = vshCmddefSearch(cmdname);
if (!def) {
- vshError(ctl, FALSE, "command '%s' doesn't exist", cmdname);
+ vshError(ctl, FALSE, _("command '%s' doesn't exist"), cmdname);
return FALSE;
} else {
vshCmdOptDef *opt;
- const char *desc = vshCmddefGetInfo(def, "desc");
- const char *help = vshCmddefGetInfo(def, "help");
+ const char *desc = _N(vshCmddefGetInfo(def, "desc"));
+ const char *help = _N(vshCmddefGetInfo(def, "help"));
const char *syntax = vshCmddefGetInfo(def, "syntax");
- fputs(" NAME\n", stdout);
+ fputs(_(" NAME\n"), stdout);
fprintf(stdout, " %s - %s\n", def->name, help);
if (syntax) {
- fputs("\n SYNOPSIS\n", stdout);
+ fputs(("\n SYNOPSIS\n"), stdout);
if (!withprog)
fprintf(stdout, " %s\n", syntax);
else
fprintf(stdout, " %s %s\n", progname, syntax);
}
if (desc) {
- fputs("\n DESCRIPTION\n", stdout);
+ fputs(_("\n DESCRIPTION\n"), stdout);
fprintf(stdout, " %s\n", desc);
}
if (def->opts) {
- fputs("\n OPTIONS\n", stdout);
+ fputs(_("\n OPTIONS\n"), stdout);
for (opt = def->opts; opt->name; opt++) {
char buf[256];
if (opt->type == VSH_OT_BOOL)
snprintf(buf, sizeof(buf), "--%s", opt->name);
else if (opt->type == VSH_OT_INT)
- snprintf(buf, sizeof(buf), "--%s <number>", opt->name);
+ snprintf(buf, sizeof(buf), _("--%s <number>"), opt->name);
else if (opt->type == VSH_OT_STRING)
- snprintf(buf, sizeof(buf), "--%s <string>", opt->name);
+ snprintf(buf, sizeof(buf), _("--%s <string>"), opt->name);
else if (opt->type == VSH_OT_DATA)
snprintf(buf, sizeof(buf), "<%s>", opt->name);
@@ -1871,7 +1873,7 @@
int id;
if (!(n = vshCommandOptString(cmd, optname, NULL))) {
- vshError(ctl, FALSE, "undefined domain name or id");
+ vshError(ctl, FALSE, _("undefined domain name or id"));
return NULL;
}
@@ -1904,7 +1906,7 @@
}
if (!dom)
- vshError(ctl, FALSE, "failed to get domain '%s'", n);
+ vshError(ctl, FALSE, _("failed to get domain '%s'"), n);
return dom;
}
@@ -1932,7 +1934,7 @@
return ret;
if (ctl->timing)
- vshPrint(ctl, "\n(Time: %.3f ms)\n\n",
+ vshPrint(ctl, _("\n(Time: %.3f ms)\n\n"),
DIFF_MSEC(&after, &before));
else
vshPrintExtra(ctl, "\n");
@@ -2006,7 +2008,7 @@
sz++;
}
if (quote) {
- vshError(ctl, FALSE, "missing \"");
+ vshError(ctl, FALSE, _("missing \""));
return VSH_TK_ERROR;
}
if (tkstr == NULL || *tkstr == '\0' || p == NULL)
@@ -2067,19 +2069,19 @@
/* first token must be command name */
if (tk != VSH_TK_DATA) {
vshError(ctl, FALSE,
- "unexpected token (command name): '%s'",
+ _("unexpected token (command name): '%s'"),
tkdata);
goto syntaxError;
}
if (!(cmd = vshCmddefSearch(tkdata))) {
- vshError(ctl, FALSE, "unknown command: '%s'", tkdata);
+ vshError(ctl, FALSE, _("unknown command: '%s'"), tkdata);
goto syntaxError; /* ... or ignore this command only? */
}
free(tkdata);
} else if (tk == VSH_TK_OPTION) {
if (!(opt = vshCmddefGetOption(cmd, tkdata))) {
vshError(ctl, FALSE,
- "command '%s' doesn't support option --%s",
+ _("command '%s' doesn't support option --%s"),
cmd->name, tkdata);
goto syntaxError;
}
@@ -2094,16 +2096,16 @@
goto syntaxError;
if (tk != VSH_TK_DATA) {
vshError(ctl, FALSE,
- "expected syntax: --%s <%s>",
+ _("expected syntax: --%s <%s>"),
opt->name,
opt->type ==
- VSH_OT_INT ? "number" : "string");
+ VSH_OT_INT ? _("number") : _("string"));
goto syntaxError;
}
}
} else if (tk == VSH_TK_DATA) {
if (!(opt = vshCmddefGetData(cmd, data_ct++))) {
- vshError(ctl, FALSE, "unexpected data '%s'", tkdata);
+ vshError(ctl, FALSE, _("unexpected data '%s'"), tkdata);
goto syntaxError;
}
}
@@ -2125,7 +2127,7 @@
vshDebug(ctl, 4, "%s: %s(%s): %s\n",
cmd->name,
opt->name,
- tk == VSH_TK_OPTION ? "OPTION" : "DATA",
+ tk == VSH_TK_OPTION ? _("OPTION") : _("DATA"),
arg->data);
}
if (!str)
@@ -2173,19 +2175,19 @@
{
switch (state) {
case VIR_DOMAIN_RUNNING:
- return "running ";
+ return gettext_noop("running");
case VIR_DOMAIN_BLOCKED:
- return "blocked ";
+ return gettext_noop("blocked");
case VIR_DOMAIN_PAUSED:
- return "paused ";
+ return gettext_noop("paused");
case VIR_DOMAIN_SHUTDOWN:
- return "in shutdown";
+ return gettext_noop("in shutdown");
case VIR_DOMAIN_SHUTOFF:
- return "shut off";
+ return gettext_noop("shut off");
case VIR_DOMAIN_CRASHED:
- return "crashed";
+ return gettext_noop("crashed");
default:
- return "no state"; /* = dom0 state */
+ return gettext_noop("no state"); /* = dom0 state */
}
return NULL;
}
@@ -2195,13 +2197,13 @@
{
switch (state) {
case VIR_VCPU_OFFLINE:
- return "offline";
+ return gettext_noop("offline");
case VIR_VCPU_BLOCKED:
- return "blocked";
+ return gettext_noop("blocked");
case VIR_VCPU_RUNNING:
- return "running";
+ return gettext_noop("running");
default:
- return "no state";
+ return gettext_noop("no state");
}
return NULL;
}
@@ -2214,7 +2216,7 @@
*/
if (!conn) {
if (showerror)
- vshError(ctl, FALSE, "no valid connection.");
+ vshError(ctl, FALSE, _("no valid connection"));
return FALSE;
}
return TRUE;
@@ -2253,9 +2255,9 @@
va_list ap;
if (doexit)
- fprintf(stderr, "%s: error: ", progname);
+ fprintf(stderr, _("%s: error: "), progname);
else
- fputs("error: ", stderr);
+ fputs(_("error: "), stderr);
va_start(ap, format);
vfprintf(stderr, format, ap);
@@ -2277,8 +2279,8 @@
if ((x = malloc(size)))
return x;
- vshError(ctl, TRUE, "%s: %d: failed to allocate %d bytes\n",
- filename, line, (int) size);
+ vshError(ctl, TRUE, _("%s: %d: failed to allocate %d bytes"),
+ filename, line, (int) size);
return NULL;
}
@@ -2289,8 +2291,8 @@
if ((x = calloc(nmemb, size)))
return x;
- vshError(ctl, TRUE, "%s: %d: failed to allocate %d bytes\n",
- filename, line, (int) (size*nmemb));
+ vshError(ctl, TRUE, _("%s: %d: failed to allocate %d bytes"),
+ filename, line, (int) (size*nmemb));
return NULL;
}
@@ -2301,8 +2303,8 @@
if ((x = strdup(s)))
return x;
- vshError(ctl, TRUE, "%s: %d: failed to allocate %d bytes\n",
- filename, line, strlen(s));
+ vshError(ctl, TRUE, _("%s: %d: failed to allocate %d bytes"),
+ filename, line, strlen(s));
return NULL;
}
@@ -2329,7 +2331,7 @@
ctl->conn = virConnectOpenReadOnly(ctl->name);
if (!ctl->conn)
- vshError(ctl, TRUE, "failed to connect to the hypervisor");
+ vshError(ctl, TRUE, _("failed to connect to the hypervisor"));
return TRUE;
}
@@ -2474,23 +2476,23 @@
/* global help */
if (!cmdname) {
- fprintf(stdout, "\n%s [options] [commands]\n\n"
- " options:\n"
- " -c | --connect <name> optional argument currently unused (or used for tests only)\n"
- " -d | --debug <num> debug level [0-5]\n"
- " -h | --help this help\n"
- " -q | --quiet quiet mode\n"
- " -t | --timing print timing information\n"
- " -v | --version program version\n\n"
- " commands (non interactive mode):\n", progname);
+ fprintf(stdout, _("\n%s [options] [commands]\n\n"
+ " options:\n"
+ " -c | --connect <uri> hypervisor connection URI\n"
+ " -d | --debug <num> debug level [0-5]\n"
+ " -h | --help this help\n"
+ " -q | --quiet quiet mode\n"
+ " -t | --timing print timing information\n"
+ " -v | --version program version\n\n"
+ " commands (non interactive mode):\n"), progname);
for (cmd = commands; cmd->name; cmd++)
fprintf(stdout,
- " %-15s %s\n", cmd->name, vshCmddefGetInfo(cmd,
- "help"));
+ " %-15s %s\n", cmd->name, _N(vshCmddefGetInfo(cmd,
+ "help")));
fprintf(stdout,
- "\n (specify --help <command> for details about the command)\n\n");
+ _("\n (specify --help <command> for details about the command)\n\n"));
return;
}
if (!vshCmddefHelp(ctl, cmdname, TRUE))
@@ -2576,7 +2578,7 @@
exit(EXIT_SUCCESS);
default:
vshError(ctl, TRUE,
- "unsupported option '-%c'. See --help.", arg);
+ _("unsupported option '-%c'. See --help."), arg);
break;
}
}
@@ -2620,6 +2622,19 @@
char *defaultConn;
int ret = TRUE;
+ if (!setlocale(LC_ALL, "")) {
+ perror("setlocale");
+ return -1;
+ }
+ if (!bindtextdomain(GETTEXT_PACKAGE, LOCALEBASEDIR)) {
+ perror("bindtextdomain");
+ return -1;
+ }
+ if (!textdomain(GETTEXT_PACKAGE)) {
+ perror("textdomain");
+ return -1;
+ }
+
if (!(progname = strrchr(argv[0], '/')))
progname = argv[0];
else
@@ -2644,11 +2659,11 @@
/* interactive mode */
if (!ctl->quiet) {
vshPrint(ctl,
- "Welcome to %s, the virtualization interactive terminal.\n\n",
+ _("Welcome to %s, the virtualization interactive terminal.\n\n"),
progname);
vshPrint(ctl,
- "Type: 'help' for help with commands\n"
- " 'quit' to quit\n\n");
+ _("Type: 'help' for help with commands\n"
+ " 'quit' to quit\n\n"));
}
vshReadlineInit();
do {
Index: src/virterror.c
===================================================================
RCS file: /data/cvs/libvirt/src/virterror.c,v
retrieving revision 1.17
diff -u -r1.17 virterror.c
--- src/virterror.c 29 Aug 2006 22:27:07 -0000 1.17
+++ src/virterror.c 20 Sep 2006 19:55:56 -0000
@@ -240,10 +240,10 @@
lvl = "";
break;
case VIR_ERR_WARNING:
- lvl = "warning";
+ lvl = _("warning");
break;
case VIR_ERR_ERROR:
- lvl = "error";
+ lvl = _("error");
break;
}
switch (err->domain) {
@@ -325,7 +325,7 @@
* formats the message
*/
if (msg == NULL) {
- str = strdup("No error message provided");
+ str = strdup(_("No error message provided"));
} else {
VIR_GET_VAR_STR(msg, str);
}
@@ -379,195 +379,195 @@
return (NULL);
case VIR_ERR_INTERNAL_ERROR:
if (info != NULL)
- errmsg = "internal error %s";
+ errmsg = _("internal error %s");
else
- errmsg = "internal error";
+ errmsg = _("internal error");
break;
case VIR_ERR_NO_MEMORY:
- errmsg = "out of memory";
+ errmsg = _("out of memory");
break;
case VIR_ERR_NO_SUPPORT:
if (info != NULL)
- errmsg = "no support for hypervisor";
+ errmsg = _("no support for hypervisor");
else
- errmsg = "no support for hypervisor %s";
+ errmsg = _("no support for hypervisor %s");
break;
case VIR_ERR_NO_CONNECT:
if (info == NULL)
- errmsg = "could not connect to hypervisor";
+ errmsg = _("could not connect to hypervisor");
else
- errmsg = "could not connect to %s";
+ errmsg = _("could not connect to %s");
break;
case VIR_ERR_INVALID_CONN:
if (info == NULL)
- errmsg = "invalid connection pointer in";
+ errmsg = _("invalid connection pointer in");
else
- errmsg = "invalid connection pointer in %s";
+ errmsg = _("invalid connection pointer in %s");
break;
case VIR_ERR_INVALID_DOMAIN:
if (info == NULL)
- errmsg = "invalid domain pointer in";
+ errmsg = _("invalid domain pointer in");
else
- errmsg = "invalid domain pointer in %s";
+ errmsg = _("invalid domain pointer in %s");
break;
case VIR_ERR_INVALID_ARG:
if (info == NULL)
- errmsg = "invalid argument in";
+ errmsg = _("invalid argument in");
else
- errmsg = "invalid argument in %s";
+ errmsg = _("invalid argument in %s");
break;
case VIR_ERR_OPERATION_FAILED:
if (info != NULL)
- errmsg = "operation failed: %s";
+ errmsg = _("operation failed: %s");
else
- errmsg = "operation failed";
+ errmsg = _("operation failed");
break;
case VIR_ERR_GET_FAILED:
if (info != NULL)
- errmsg = "GET operation failed: %s";
+ errmsg = _("GET operation failed: %s");
else
- errmsg = "GET operation failed";
+ errmsg = _("GET operation failed");
break;
case VIR_ERR_POST_FAILED:
if (info != NULL)
- errmsg = "POST operation failed: %s";
+ errmsg = _("POST operation failed: %s");
else
- errmsg = "POST operation failed";
+ errmsg = _("POST operation failed");
break;
case VIR_ERR_HTTP_ERROR:
- errmsg = "got unknown HTTP error code %d";
+ errmsg = _("got unknown HTTP error code %d");
break;
case VIR_ERR_UNKNOWN_HOST:
if (info != NULL)
- errmsg = "unknown host %s";
+ errmsg = _("unknown host %s");
else
- errmsg = "unknown host";
+ errmsg = _("unknown host");
break;
case VIR_ERR_SEXPR_SERIAL:
if (info != NULL)
- errmsg = "failed to serialize S-Expr: %s";
+ errmsg = _("failed to serialize S-Expr: %s");
else
- errmsg = "failed to serialize S-Expr";
+ errmsg = _("failed to serialize S-Expr");
break;
case VIR_ERR_NO_XEN:
if (info == NULL)
- errmsg = "could not use Xen hypervisor entry";
+ errmsg = _("could not use Xen hypervisor entry");
else
- errmsg = "could not use Xen hypervisor entry %s";
+ errmsg = _("could not use Xen hypervisor entry %s");
break;
case VIR_ERR_NO_XENSTORE:
if (info == NULL)
- errmsg = "could not connect to Xen Store";
+ errmsg = _("could not connect to Xen Store");
else
- errmsg = "could not connect to Xen Store %s";
+ errmsg = _("could not connect to Xen Store %s");
break;
case VIR_ERR_XEN_CALL:
- errmsg = "failed Xen syscall %s %d";
+ errmsg = _("failed Xen syscall %s %d");
break;
case VIR_ERR_OS_TYPE:
if (info == NULL)
- errmsg = "unknown OS type";
+ errmsg = _("unknown OS type");
else
- errmsg = "unknown OS type %s";
+ errmsg = _("unknown OS type %s");
break;
case VIR_ERR_NO_KERNEL:
- errmsg = "missing kernel information";
+ errmsg = _("missing kernel information");
break;
case VIR_ERR_NO_ROOT:
if (info == NULL)
- errmsg = "missing root device information";
+ errmsg = _("missing root device information");
else
- errmsg = "missing root device information in %s";
+ errmsg = _("missing root device information in %s");
break;
case VIR_ERR_NO_SOURCE:
if (info == NULL)
- errmsg = "missing source information for device";
+ errmsg = _("missing source information for device");
else
- errmsg = "missing source information for device %s";
+ errmsg = _("missing source information for device %s");
break;
case VIR_ERR_NO_TARGET:
if (info == NULL)
- errmsg = "missing target information for device";
+ errmsg = _("missing target information for device");
else
- errmsg = "missing target information for device %s";
+ errmsg = _("missing target information for device %s");
break;
case VIR_ERR_NO_NAME:
if (info == NULL)
- errmsg = "missing domain name information";
+ errmsg = _("missing domain name information");
else
- errmsg = "missing domain name information in %s";
+ errmsg = _("missing domain name information in %s");
break;
case VIR_ERR_NO_OS:
if (info == NULL)
- errmsg = "missing operating system information";
+ errmsg = _("missing operating system information");
else
- errmsg = "missing operating system information for %s";
+ errmsg = _("missing operating system information for %s");
break;
case VIR_ERR_NO_DEVICE:
if (info == NULL)
- errmsg = "missing devices information";
+ errmsg = _("missing devices information");
else
- errmsg = "missing devices information for %s";
+ errmsg = _("missing devices information for %s");
break;
case VIR_ERR_DRIVER_FULL:
if (info == NULL)
- errmsg = "too many drivers registered";
+ errmsg = _("too many drivers registered");
else
- errmsg = "too many drivers registered in %s";
+ errmsg = _("too many drivers registered in %s");
break;
case VIR_ERR_CALL_FAILED:
if (info == NULL)
- errmsg = "library call failed, possibly not supported";
+ errmsg = _("library call failed, possibly not supported");
else
- errmsg = "library call %s failed, possibly not supported";
+ errmsg = _("library call %s failed, possibly not supported");
break;
case VIR_ERR_XML_ERROR:
if (info == NULL)
- errmsg = "XML description not well formed or invalid";
+ errmsg = _("XML description not well formed or invalid");
else
- errmsg = "XML description for %s is not well formed or invalid";
+ errmsg = _("XML description for %s is not well formed or invalid");
break;
case VIR_ERR_DOM_EXIST:
if (info == NULL)
- errmsg = "this domain exists already";
+ errmsg = _("this domain exists already");
else
- errmsg = "domain %s exists already";
+ errmsg = _("domain %s exists already");
break;
case VIR_ERR_OPERATION_DENIED:
if (info == NULL)
- errmsg = "operation forbidden for read only access";
+ errmsg = _("operation forbidden for read only access");
else
- errmsg = "operation %s forbidden for read only access";
+ errmsg = _("operation %s forbidden for read only access");
break;
case VIR_ERR_OPEN_FAILED:
if (info == NULL)
- errmsg = "failed to open configuration file for reading";
+ errmsg = _("failed to open configuration file for reading");
else
- errmsg = "failed to open %s for reading";
+ errmsg = _("failed to open %s for reading");
break;
case VIR_ERR_READ_FAILED:
if (info == NULL)
- errmsg = "failed to read configuration file";
+ errmsg = _("failed to read configuration file");
else
- errmsg = "failed to read configuration file %s";
+ errmsg = _("failed to read configuration file %s");
break;
case VIR_ERR_PARSE_FAILED:
if (info == NULL)
- errmsg = "failed to parse configuration file";
+ errmsg = _("failed to parse configuration file");
else
- errmsg = "failed to parse configuration file %s";
+ errmsg = _("failed to parse configuration file %s");
break;
case VIR_ERR_CONF_SYNTAX:
if (info == NULL)
- errmsg = "configuration file syntax error";
+ errmsg = _("configuration file syntax error");
else
- errmsg = "configuration file syntax error: %s";
+ errmsg = _("configuration file syntax error: %s");
break;
case VIR_ERR_WRITE_FAILED:
if (info == NULL)
- errmsg = "failed to write configuration file";
+ errmsg = _("failed to write configuration file");
else
- errmsg = "failed to write configuration file: %s";
+ errmsg = _("failed to write configuration file: %s");
break;
}
return (errmsg);
Index: src/xen_internal.c
===================================================================
RCS file: /data/cvs/libvirt/src/xen_internal.c,v
retrieving revision 1.40
diff -u -r1.40 xen_internal.c
--- src/xen_internal.c 19 Sep 2006 15:55:57 -0000 1.40
+++ src/xen_internal.c 20 Sep 2006 19:55:57 -0000
@@ -1238,7 +1238,7 @@
retry:
dominfos = malloc(maxids * sizeof(xen_v0_getdomaininfo));
if (dominfos == NULL) {
- virXenError(VIR_ERR_NO_MEMORY, "failed to allocate %d domain info",
+ virXenError(VIR_ERR_NO_MEMORY, _("allocating %d domain info"),
maxids);
return(-1);
}
@@ -1285,7 +1285,7 @@
dominfos = malloc(maxids * sizeof(xen_v0_getdomaininfo));
if (dominfos == NULL) {
- virXenError(VIR_ERR_NO_MEMORY, "failed to allocate %d domain info",
+ virXenError(VIR_ERR_NO_MEMORY, "allocating %d domain info",
maxids);
return(-1);
}
Index: src/xend_internal.c
===================================================================
RCS file: /data/cvs/libvirt/src/xend_internal.c,v
retrieving revision 1.62
diff -u -r1.62 xend_internal.c
--- src/xend_internal.c 14 Sep 2006 15:34:50 -0000 1.62
+++ src/xend_internal.c 20 Sep 2006 19:55:58 -0000
@@ -261,10 +261,10 @@
if (len == -1) {
if (do_read)
virXendError(NULL, VIR_ERR_INTERNAL_ERROR,
- "faid to read from Xen Daemon");
+ _("failed to read from Xen Daemon"));
else
virXendError(NULL, VIR_ERR_INTERNAL_ERROR,
- "faid to read from Xen Daemon");
+ _("failed to read from Xen Daemon"));
return (-1);
}
@@ -1053,7 +1053,7 @@
if (ptr == NULL) {
/* this should be caught at the interface but ... */
virXendError(xend, VIR_ERR_INTERNAL_ERROR,
- "Failed to urlencode the create S-Expr");
+ _("failed to urlencode the create S-Expr"));
return (-1);
}
@@ -1094,20 +1094,20 @@
value = sexpr_node(root, "domain/domid");
if (value == NULL) {
virXendError(xend, VIR_ERR_INTERNAL_ERROR,
- "domain information incomplete, missing domid");
+ _("domain information incomplete, missing domid"));
goto error;
}
ret = strtol(value, NULL, 0);
if ((ret == 0) && (value[0] != '0')) {
virXendError(xend, VIR_ERR_INTERNAL_ERROR,
- "domain information incorrect domid not numberic");
+ _("domain information incorrect domid not numeric"));
ret = -1;
} else if (uuid != NULL) {
char **ptr = (char **) &uuid;
if (sexpr_uuid(ptr, root, "domain/uuid") == NULL) {
virXendError(xend, VIR_ERR_INTERNAL_ERROR,
- "domain information incomplete, missing uuid");
+ _("domain information incomplete, missing uuid"));
}
}
@@ -1147,7 +1147,7 @@
name = sexpr_node(root, "domain/name");
if (name == NULL) {
virXendError(xend, VIR_ERR_INTERNAL_ERROR,
- "domain information incomplete, missing name");
+ _("domain information incomplete, missing name"));
goto error;
}
if (domname)
@@ -1156,7 +1156,7 @@
dst_uuid = (char *)&uuid[0];
if (sexpr_uuid(&dst_uuid, root, "domain/uuid") == NULL) {
virXendError(xend, VIR_ERR_INTERNAL_ERROR,
- "domain information incomplete, missing uuid");
+ _("domain information incomplete, missing uuid"));
goto error;
}
@@ -1405,7 +1405,7 @@
tmp = sexpr_node(node, "domain/image/hvm/kernel");
if (tmp == NULL) {
virXendError(NULL, VIR_ERR_INTERNAL_ERROR,
- "domain information incomplete, missing kernel");
+ _("domain information incomplete, missing kernel"));
return(-1);
}
virBufferVSprintf(buf, " <loader>%s</loader>\n", tmp);
@@ -1430,7 +1430,7 @@
tmp = sexpr_node(node, "domain/image/linux/kernel");
if (tmp == NULL) {
virXendError(NULL, VIR_ERR_INTERNAL_ERROR,
- "domain information incomplete, missing kernel");
+ _("domain information incomplete, missing kernel"));
return(-1);
}
virBufferVSprintf(buf, " <kernel>%s</kernel>\n", tmp);
@@ -1484,11 +1484,11 @@
domid = sexpr_int(root, "domain/domid");
virBufferVSprintf(&buf, "<domain type='xen' id='%d'>\n", domid);
-
+
tmp = sexpr_node(root, "domain/name");
if (tmp == NULL) {
virXendError(NULL, VIR_ERR_INTERNAL_ERROR,
- "domain information incomplete, missing name");
+ _("domain information incomplete, missing name"));
goto error;
}
virBufferVSprintf(&buf, " <name>%s</name>\n", tmp);
@@ -1540,7 +1540,7 @@
virBufferAdd(&buf, " <pae/>\n", 11);
virBufferAdd(&buf, " </features>\n", 14);
}
-
+
virBufferAdd(&buf, " <devices>\n", 12);
/* in case of HVM we have devices emulation */
@@ -1561,9 +1561,10 @@
if (dst == NULL) {
virXendError(NULL, VIR_ERR_INTERNAL_ERROR,
- "domain information incomplete, vbd has no dev");
+ _("domain information incomplete, vbd has no dev"));
goto error;
}
+
if (!strncmp(dst, "ioemu:", 6))
dst += 6;
/* New style disk config from Xen >= 3.0.3 */
@@ -1597,9 +1598,10 @@
if (dst == NULL) {
virXendError(NULL, VIR_ERR_INTERNAL_ERROR,
- "domain information incomplete, vbd has no dev");
+ _("domain information incomplete, vbd has no dev"));
goto error;
}
+
if (!strncmp(dst, "ioemu:", 6))
dst += 6;
/* New style cdrom config from Xen >= 3.0.3 */
@@ -1859,7 +1861,7 @@
ret = virGetDomain(conn, name, (const unsigned char *) &uuid[0]);
if (ret == NULL) {
- virXendError(conn, VIR_ERR_NO_MEMORY, "Allocating domain");
+ virXendError(conn, VIR_ERR_NO_MEMORY, _("allocating domain"));
return(NULL);
}
ret->handle = sexpr_int(root, "domain/domid");
@@ -1870,7 +1872,7 @@
error:
virXendError(conn, VIR_ERR_INTERNAL_ERROR,
- "failed to parse Xend domain information");
+ _("failed to parse Xend domain information"));
if (ret != NULL)
virFreeDomain(conn, ret);
return(NULL);
@@ -1949,7 +1951,7 @@
ret = xenDaemonOpen_unix(conn, uri->path);
if (ret < 0)
goto failed;
-
+
ret = xenDaemonGetVersion(conn, &version);
if (ret < 0)
goto failed;
@@ -2558,7 +2560,7 @@
ret = virGetDomain(conn, name, uuid);
if (ret == NULL) {
- virXendError(conn, VIR_ERR_NO_MEMORY, "Allocating domain");
+ virXendError(conn, VIR_ERR_NO_MEMORY, _("allocating domain"));
goto error;
}
ret->handle = id;
@@ -2766,7 +2768,7 @@
ret = virGetDomain(conn, name, uuid);
if (ret == NULL) {
- virXendError(conn, VIR_ERR_NO_MEMORY, "Allocating domain");
+ virXendError(conn, VIR_ERR_NO_MEMORY, _("allocating domain"));
goto error;
}
ret->handle = id;
@@ -2829,13 +2831,13 @@
ret = xenDaemonDomainCreateLinux(conn, sexpr);
free(sexpr);
if (ret != 0) {
- fprintf(stderr, "Failed to create domain %s\n", name);
+ fprintf(stderr, _("Failed to create domain %s\n"), name);
goto error;
}
ret = xend_wait_for_devices(conn, name);
if (ret != 0) {
- fprintf(stderr, "Failed to get devices for domain %s\n", name);
+ fprintf(stderr, _("Failed to get devices for domain %s\n"), name);
goto error;
}
@@ -2846,7 +2848,7 @@
ret = xenDaemonDomainResume(dom);
if (ret != 0) {
- fprintf(stderr, "Failed to resume new domain %s\n", name);
+ fprintf(stderr, _("Failed to resume new domain %s\n"), name);
xenDaemonDomainDestroy(dom);
goto error;
}
Index: src/xml.c
===================================================================
RCS file: /data/cvs/libvirt/src/xml.c,v
retrieving revision 1.40
diff -u -r1.40 xml.c
--- src/xml.c 14 Sep 2006 15:34:50 -0000 1.40
+++ src/xml.c 20 Sep 2006 19:55:59 -0000
@@ -61,7 +61,7 @@
newbuf = (char *) realloc(buf->content, size);
if (newbuf == NULL) {
- virXMLError(VIR_ERR_NO_MEMORY, "growing buffer", size);
+ virXMLError(VIR_ERR_NO_MEMORY, _("growing buffer"), size);
return (-1);
}
buf->content = newbuf;
@@ -113,11 +113,11 @@
virBufferPtr buf;
if (!(buf = malloc(sizeof(*buf)))) {
- virXMLError(VIR_ERR_NO_MEMORY, "allocate new buffer", sizeof(*buf));
+ virXMLError(VIR_ERR_NO_MEMORY, _("allocate new buffer"), sizeof(*buf));
return NULL;
}
if (size && (buf->content = malloc(size))==NULL) {
- virXMLError(VIR_ERR_NO_MEMORY, "allocate buffer content", size);
+ virXMLError(VIR_ERR_NO_MEMORY, _("allocate buffer content"), size);
free(buf);
return NULL;
}
Index: src/xmlrpc.c
===================================================================
RCS file: /data/cvs/libvirt/src/xmlrpc.c,v
retrieving revision 1.4
diff -u -r1.4 xmlrpc.c
--- src/xmlrpc.c 10 May 2006 14:48:20 -0000 1.4
+++ src/xmlrpc.c 20 Sep 2006 19:55:59 -0000
@@ -60,8 +60,8 @@
if (node->type == XML_TEXT_NODE) {
char *x = strdup((const char *)node->content);
if (!x)
- xmlRpcError(VIR_ERR_NO_MEMORY, "copying node content",
- strlen((const char *)node->content));
+ xmlRpcError(VIR_ERR_NO_MEMORY, _("copying node content"),
+ strlen((const char *)node->content));
return x;
}
return NULL;
@@ -154,14 +154,14 @@
if (!ret)
return NULL;
-
+
for (cur = xmlFirstElement(node); cur; cur = xmlNextElement(cur))
n_elements += 1;
ret->value.array.elements = malloc(n_elements * sizeof(xmlRpcValue));
if (!ret->value.array.elements) {
- xmlRpcError(VIR_ERR_NO_MEMORY, "allocate value array",
- n_elements * sizeof(xmlRpcValue));
+ xmlRpcError(VIR_ERR_NO_MEMORY, _("allocate value array"),
+ n_elements * sizeof(xmlRpcValue));
free(ret);
return NULL;
}
@@ -193,7 +193,7 @@
} else if (xmlStrEqual(cur->name, BAD_CAST "value")) {
ret->value = xmlRpcValueUnmarshal(cur);
} else {
- xmlRpcError(VIR_ERR_XML_ERROR, "unexpected dict node", 0);
+ xmlRpcError(VIR_ERR_XML_ERROR, _("unexpected dict node"), 0);
if (ret->name)
free(ret->name);
if (ret->value)
@@ -265,7 +265,7 @@
} else if (xmlStrEqual(node->name, BAD_CAST "nil")) {
ret = xmlRpcValueNew(XML_RPC_NIL);
} else {
- xmlRpcError(VIR_ERR_XML_ERROR, "unexpected value node", 0);
+ xmlRpcError(VIR_ERR_XML_ERROR, _("unexpected value node"), 0);
}
return ret;
@@ -426,22 +426,22 @@
&contentType,
NULL,
strlen(request));
-
+
if (cxt == NULL) {
- xmlRpcError(VIR_ERR_POST_FAILED, "send request", 0);
+ xmlRpcError(VIR_ERR_POST_FAILED, _("send request"), 0);
goto error;
}
if (contentType && strcmp(contentType, "text/xml") != 0) {
errno = EINVAL;
- xmlRpcError(VIR_ERR_POST_FAILED, "unexpected mime type", 0);
+ xmlRpcError(VIR_ERR_POST_FAILED, _("unexpected mime type"), 0);
goto error;
}
len = xmlNanoHTTPContentLength(cxt);
response = malloc(len + 1);
if (response == NULL) {
- xmlRpcError(VIR_ERR_NO_MEMORY, "allocate response", len);
+ xmlRpcError(VIR_ERR_NO_MEMORY, _("allocate response"), len);
goto error;
}
ret = xmlNanoHTTPRead(cxt, response, len);
@@ -449,7 +449,7 @@
errno = EINVAL;
free(response);
response = NULL;
- xmlRpcError(VIR_ERR_POST_FAILED, "read response", 0);
+ xmlRpcError(VIR_ERR_POST_FAILED, _("read response"), 0);
}
response[len] = 0;
@@ -481,7 +481,7 @@
size += strlen(value->value.array.elements[i]->value.string) + 1;
if (!(ptr = malloc(size))) {
- xmlRpcError(VIR_ERR_NO_MEMORY, "allocate string array", size);
+ xmlRpcError(VIR_ERR_NO_MEMORY, _("allocate string array"), size);
return NULL;
}
ret = (char **)ptr;
@@ -511,7 +511,7 @@
*argc = strlen(fmt);
if (!(argv = malloc(sizeof(*argv) * *argc))) {
- xmlRpcError(VIR_ERR_NO_MEMORY, "read response", sizeof(*argv) * *argc);
+ xmlRpcError(VIR_ERR_NO_MEMORY, _("read response"), sizeof(*argv) * *argc);
return NULL;
}
i = 0;
@@ -603,7 +603,7 @@
if (xml == NULL) {
errno = EINVAL;
- xmlRpcError(VIR_ERR_XML_ERROR, "parse server response failed", 0);
+ xmlRpcError(VIR_ERR_XML_ERROR, _("parse server response failed"), 0);
return -1;
}
@@ -667,7 +667,7 @@
ret->uri = strdup(uri);
ret->faultMessage = NULL;
} else
- xmlRpcError(VIR_ERR_NO_MEMORY, "allocate new context", sizeof(*ret));
+ xmlRpcError(VIR_ERR_NO_MEMORY, _("allocate new context"), sizeof(*ret));
return ret;
}
Index: src/xs_internal.c
===================================================================
RCS file: /data/cvs/libvirt/src/xs_internal.c,v
retrieving revision 1.18
diff -u -r1.18 xs_internal.c
--- src/xs_internal.c 2 Sep 2006 21:23:14 -0000 1.18
+++ src/xs_internal.c 20 Sep 2006 19:55:59 -0000
@@ -315,7 +315,7 @@
if (conn->xshandle == NULL) {
if (!(flags & VIR_DRV_OPEN_QUIET))
virXenStoreError(conn, VIR_ERR_NO_XEN,
- "failed to connect to Xen Store");
+ _("failed to connect to Xen Store"));
return (-1);
}
return (0);
@@ -589,7 +589,7 @@
ret = virGetDomain(conn, name, NULL);
if (ret == NULL) {
- virXenStoreError(conn, VIR_ERR_NO_MEMORY, "Allocating domain");
+ virXenStoreError(conn, VIR_ERR_NO_MEMORY, _("allocating domain"));
if (path != NULL)
free(path);
goto done;
Index: tests/Makefile.am
===================================================================
RCS file: /data/cvs/libvirt/tests/Makefile.am,v
retrieving revision 1.8
diff -u -r1.8 Makefile.am
--- tests/Makefile.am 12 Sep 2006 01:16:22 -0000 1.8
+++ tests/Makefile.am 20 Sep 2006 19:55:59 -0000
@@ -10,8 +10,8 @@
-I$(top_srcdir)/include \
-I$(top_srcdir)/src \
@LIBXML_CFLAGS@ \
- -D_XOPEN_SOURCE=600 -D_POSIX_C_SOURCE=199506L
-
+ -D_XOPEN_SOURCE=600 -D_POSIX_C_SOURCE=199506L \
+ -DGETTEXT_PACKAGE=\"$(PACKAGE)\"
LDADDS = \
@STATIC_BINARIES@ \
@LIBXML_LIBS@ \
Index: tests/virshdata/dominfo-fc4.txt
===================================================================
RCS file: /data/cvs/libvirt/tests/virshdata/dominfo-fc4.txt,v
retrieving revision 1.1
diff -u -r1.1 dominfo-fc4.txt
--- tests/virshdata/dominfo-fc4.txt 24 Aug 2006 21:46:28 -0000 1.1
+++ tests/virshdata/dominfo-fc4.txt 20 Sep 2006 19:55:59 -0000
@@ -2,7 +2,7 @@
Name: fc4
UUID: ef861801-45b9-11cb-88e3-afbfe5370493
OS Type: linux
-State: running
+State: running
CPU(s): 1
Max memory: 131072 kB
Used memory: 131072 kB
Index: tests/virshdata/domstate-fc4.txt
===================================================================
RCS file: /data/cvs/libvirt/tests/virshdata/domstate-fc4.txt,v
retrieving revision 1.1
diff -u -r1.1 domstate-fc4.txt
--- tests/virshdata/domstate-fc4.txt 24 Aug 2006 21:46:28 -0000 1.1
+++ tests/virshdata/domstate-fc4.txt 20 Sep 2006 19:55:59 -0000
@@ -1,2 +1,2 @@
-running
+running
Index: tests/virshdata/list-custom.txt
===================================================================
RCS file: /data/cvs/libvirt/tests/virshdata/list-custom.txt,v
retrieving revision 1.1
diff -u -r1.1 list-custom.txt
--- tests/virshdata/list-custom.txt 24 Aug 2006 21:46:28 -0000 1.1
+++ tests/virshdata/list-custom.txt 20 Sep 2006 19:55:59 -0000
@@ -1,5 +1,5 @@
Id Name State
----------------------------------
- 0 fv0 running
- 1 fc4 running
+ 0 fv0 running
+ 1 fc4 running
Index: tests/virshdata/list-default.txt
===================================================================
RCS file: /data/cvs/libvirt/tests/virshdata/list-default.txt,v
retrieving revision 1.1
diff -u -r1.1 list-default.txt
--- tests/virshdata/list-default.txt 24 Aug 2006 21:46:28 -0000 1.1
+++ tests/virshdata/list-default.txt 20 Sep 2006 19:55:59 -0000
@@ -1,4 +1,4 @@
Id Name State
----------------------------------
- 0 Domain-0 running
+ 0 Domain-0 running
More information about the libvir-list
mailing list