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. (To cut down size, I'm not including the actual libvirt.pot file ) 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 -=|
Index: Makefile.am =================================================================== RCS file: /data/cvs/libvirt/Makefile.am,v retrieving revision 1.11 diff -r1.11 Makefile.am 3c3,5 < SUBDIRS = src include docs @PYTHON_SUBDIR@ tests proxy --- > SUBDIRS = src include docs @PYTHON_SUBDIR@ tests proxy po > > ACLOCAL_AMFLAGS = -I m4 Index: autogen.sh =================================================================== RCS file: /data/cvs/libvirt/autogen.sh,v retrieving revision 1.4 diff -r1.4 autogen.sh 10a11,18 > (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 > } > 48a57,58 > autopoint --force > #rm -rf m4 Index: config.h.in =================================================================== RCS file: /data/cvs/libvirt/config.h.in,v retrieving revision 1.4 diff -r1.4 config.h.in 2a3,18 > /* 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 > 5a22,27 > /* Define if the GNU gettext() function is already present or preinstalled. */ > #undef HAVE_GETTEXT > > /* Define if you have the iconv() function. */ > #undef HAVE_ICONV > Index: configure.in =================================================================== RCS file: /data/cvs/libvirt/configure.in,v retrieving revision 1.43 diff -r1.43 configure.in 248a249,252 > AM_GNU_GETTEXT_VERSION([0.14.1]) > AM_GNU_GETTEXT([external]) > ALL_LINGUAS=en_GB > 256a261 > po/Makefile.in \ Index: proxy/Makefile.am =================================================================== RCS file: /data/cvs/libvirt/proxy/Makefile.am,v retrieving revision 1.6 diff -r1.6 Makefile.am 5,6c5,6 < -DPROXY < --- > -DPROXY -DLOCALEBASEDIR=\""$(datadir)/locale"\" \ > -DGETTEXT_PACKAGE=\"$(PACKAGE)\" Index: proxy/libvirt_proxy.c =================================================================== RCS file: /data/cvs/libvirt/proxy/libvirt_proxy.c,v retrieving revision 1.9 diff -r1.9 libvirt_proxy.c 717a718,730 > 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; > } > 728c741,742 < --- > > Index: src/Makefile.am =================================================================== RCS file: /data/cvs/libvirt/src/Makefile.am,v retrieving revision 1.27 diff -r1.27 Makefile.am 4c4,5 < -DBINDIR=\""$(libexecdir)"\" --- > -DBINDIR=\""$(libexecdir)"\" -DLOCALEBASEDIR=\""$(datadir)/locale"\" \ > -DGETTEXT_PACKAGE=\"$(PACKAGE)\" Index: src/conf.c =================================================================== RCS file: /data/cvs/libvirt/src/conf.c,v retrieving revision 1.3 diff -r1.3 conf.c 162c162 < virConfError(NULL, VIR_ERR_NO_MEMORY, "Allocating configuration", 0); --- > virConfError(NULL, VIR_ERR_NO_MEMORY, _("allocating configuration"), 0); 196c196 < virConfError(NULL, VIR_ERR_NO_MEMORY, "Allocating configuration", 0); --- > virConfError(NULL, VIR_ERR_NO_MEMORY, _("allocating configuration"), 0); 331c331 < virConfError(NULL, VIR_ERR_CONF_SYNTAX, "unterminated number", --- > virConfError(NULL, VIR_ERR_CONF_SYNTAX, _("unterminated number"), 363c363 < virConfError(NULL, VIR_ERR_CONF_SYNTAX, "unterminated string", --- > virConfError(NULL, VIR_ERR_CONF_SYNTAX, _("unterminated string"), 380c380 < virConfError(NULL, VIR_ERR_CONF_SYNTAX, "unterminated string", --- > virConfError(NULL, VIR_ERR_CONF_SYNTAX, _("unterminated string"), 392c392 < virConfError(NULL, VIR_ERR_CONF_SYNTAX, "unterminated string", --- > virConfError(NULL, VIR_ERR_CONF_SYNTAX, _("unterminated string"), 420c420 < virConfError(NULL, VIR_ERR_CONF_SYNTAX, "expecting a value", --- > virConfError(NULL, VIR_ERR_CONF_SYNTAX, _("expecting a value"), 440c440 < "expecting a separator in list", ctxt->line); --- > _("expecting a separator in list"), ctxt->line); 463c463 < "list is not closed with ] ", ctxt->line); --- > _("list is not closed with ] "), ctxt->line); 473c473 < virConfError(NULL, VIR_ERR_CONF_SYNTAX, "expecting a value", --- > virConfError(NULL, VIR_ERR_CONF_SYNTAX, _("expecting a value"), 479c479 < virConfError(NULL, VIR_ERR_NO_MEMORY, "Allocating configuration", 0); --- > virConfError(NULL, VIR_ERR_NO_MEMORY, _("allocating configuration"), 0); 511c511 < virConfError(NULL, VIR_ERR_CONF_SYNTAX, "expecting a name", ctxt->line); --- > virConfError(NULL, VIR_ERR_CONF_SYNTAX, _("expecting a name"), ctxt->line); 518c518 < virConfError(NULL, VIR_ERR_NO_MEMORY, "Allocating configuration", --- > virConfError(NULL, VIR_ERR_NO_MEMORY, _("allocating configuration"), 546c546 < virConfError(NULL, VIR_ERR_NO_MEMORY, "Allocating configuration", --- > virConfError(NULL, VIR_ERR_NO_MEMORY, _("allocating configuration"), 574c574 < virConfError(NULL, VIR_ERR_CONF_SYNTAX, "expecting a separator", --- > virConfError(NULL, VIR_ERR_CONF_SYNTAX, _("expecting a separator"), 606c606 < virConfError(NULL, VIR_ERR_CONF_SYNTAX, "expecting an assignment", --- > virConfError(NULL, VIR_ERR_CONF_SYNTAX, _("expecting an assignment"), 624c624 < virConfError(NULL, VIR_ERR_NO_MEMORY, "Allocating configuration", --- > virConfError(NULL, VIR_ERR_NO_MEMORY, _("allocating configuration"), 819c819 < virConfError(NULL, VIR_ERR_WRITE_FAILED, "failed to open file", 0); --- > virConfError(NULL, VIR_ERR_WRITE_FAILED, _("failed to open file"), 0); 827c827 < virConfError(NULL, VIR_ERR_WRITE_FAILED, "failed to save content", 0); --- > virConfError(NULL, VIR_ERR_WRITE_FAILED, _("failed to save content"), 0); Index: src/hash.c =================================================================== RCS file: /data/cvs/libvirt/src/hash.c,v retrieving revision 1.9 diff -r1.9 hash.c 531c531 < virHashError(NULL, VIR_ERR_NO_MEMORY, "Allocating connection"); --- > virHashError(NULL, VIR_ERR_NO_MEMORY, _("allocating connection")); 628c628 < virHashError(conn, VIR_ERR_NO_MEMORY, "Allocating domain"); --- > virHashError(conn, VIR_ERR_NO_MEMORY, _("allocating domain")); 634c634 < virHashError(conn, VIR_ERR_NO_MEMORY, "Allocating domain"); --- > virHashError(conn, VIR_ERR_NO_MEMORY, _("allocating domain")); 645c645 < "Failed to add domain to connectio hash table"); --- > _("failed to add domain to connection hash table")); 697c697 < "domain missing from connection hash table"); --- > _("domain missing from connection hash table")); Index: src/internal.h =================================================================== RCS file: /data/cvs/libvirt/src/internal.h,v retrieving revision 1.23 diff -r1.23 internal.h 18a19 > #include <libintl.h> 23a25,28 > #define _(str) dgettext(GETTEXT_PACKAGE, (str)) > #define _N(str) dgettext(GETTEXT_PACKAGE, (str)) > #define gettext_noop(str) (str) > Index: src/libvirt.c =================================================================== RCS file: /data/cvs/libvirt/src/libvirt.c,v retrieving revision 1.45 diff -r1.45 libvirt.c 62a63,65 > if (!bindtextdomain(GETTEXT_PACKAGE, LOCALEBASEDIR)) > return (-1); > 66c69 < for (i = 0;i < MAX_DRIVERS;i++) --- > for (i = 0;i < MAX_DRIVERS;i++) 143c146,147 < virInitialize(); --- > if (virInitialize() < 0) > return -1; 185c189,190 < virInitialize(); --- > if (virInitialize() < 0) > return -1; 226c231,232 < virInitialize(); --- > if (virInitialize() < 0) > return NULL; 237c243 < virLibConnError(NULL, VIR_ERR_NO_MEMORY, "Allocating connection"); --- > virLibConnError(NULL, VIR_ERR_NO_MEMORY, _("allocating connection")); 293c299,300 < virInitialize(); --- > if (virInitialize() < 0) > return NULL; 300c307 < virLibConnError(NULL, VIR_ERR_NO_MEMORY, "Allocating connection"); --- > virLibConnError(NULL, VIR_ERR_NO_MEMORY, _("allocating connection")); 316c323 < "could not connect to Xen Daemon nor Xen Store"); --- > _("Xen Daemon or Xen Store")); Index: src/proxy_internal.c =================================================================== RCS file: /data/cvs/libvirt/src/proxy_internal.c,v retrieving revision 1.10 diff -r1.10 proxy_internal.c 193c193 < fprintf(stderr, "failed to exec %s\n", proxyPath); --- > fprintf(stderr, _("failed to exec %s\n"), proxyPath); 287c287 < fprintf(stderr, "Failed to close socket %d\n", fd); --- > fprintf(stderr, _("Failed to close socket %d\n"), fd); 320c320 < fprintf(stderr, "Failed to read socket %d\n", fd); --- > fprintf(stderr, _("Failed to read socket %d\n"), fd); 354c354 < fprintf(stderr, "Failed to write to socket %d\n", fd); --- > fprintf(stderr, _("Failed to write to socket %d\n"), fd); 416c416 < "Communication error with proxy: got %d bytes of %d\n", --- > _("Communication error with proxy: got %d bytes of %d\n"), 424c424 < "Communication error with proxy: expected %d bytes got %d\n", --- > _("Communication error with proxy: expected %d bytes got %d\n"), 437c437 < "Communication error with proxy: got %d bytes of %d\n", --- > _("Communication error with proxy: got %d bytes of %d\n"), 446c446 < "Communication error with proxy: got %d bytes packet\n", --- > _("Communication error with proxy: got %d bytes packet\n"), 457c457 < "Communication error with proxy: got %d bytes of %d\n", --- > _("Communication error with proxy: got %d bytes of %d\n"), 470c470 < "Communication error with proxy: malformed packet\n"); --- > _("Communication error with proxy: malformed packet\n")); 476c476 < fprintf(stderr, "gor asynchronous packet number %d\n", res->serial); --- > fprintf(stderr, _("got asynchronous packet number %d\n"), res->serial); 790c790 < virProxyError(conn, VIR_ERR_NO_MEMORY, "Allocating domain"); --- > virProxyError(conn, VIR_ERR_NO_MEMORY, _("allocating domain")); 837c837 < virProxyError(conn, VIR_ERR_NO_MEMORY, "Allocating domain"); --- > virProxyError(conn, VIR_ERR_NO_MEMORY, _("allocating domain")); 888c888 < virProxyError(conn, VIR_ERR_NO_MEMORY, "Allocating domain"); --- > virProxyError(conn, VIR_ERR_NO_MEMORY, _("allocating domain")); Index: src/sexpr.c =================================================================== RCS file: /data/cvs/libvirt/src/sexpr.c,v retrieving revision 1.4 diff -r1.4 sexpr.c 59c59 < virSexprError(VIR_ERR_NO_MEMORY, "failed to allocate a node"); --- > virSexprError(VIR_ERR_NO_MEMORY, _("failed to allocate a node")); 352c352 < "failed to copy a string"); --- > _("failed to copy a string")); 367c367 < "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 -r1.9 test.c 200c200 < testError(conn, NULL, VIR_ERR_INTERNAL_ERROR, "cannot get timeofday"); --- > testError(conn, NULL, VIR_ERR_INTERNAL_ERROR, _("getting time of day")); 206c206 < testError(conn, NULL, VIR_ERR_INTERNAL_ERROR, "malformed root element"); --- > testError(conn, NULL, VIR_ERR_XML_ERROR, _("domain")); 212c212 < testError(conn, NULL, VIR_ERR_INTERNAL_ERROR, "cannot create xpath context"); --- > testError(conn, NULL, VIR_ERR_INTERNAL_ERROR, _("creating xpath context")); 219c219 < testError(conn, NULL, VIR_ERR_INTERNAL_ERROR, "missing name element on domain"); --- > testError(conn, NULL, VIR_ERR_INTERNAL_ERROR, _("domain name")); 228c228 < testError(conn, NULL, VIR_ERR_INTERNAL_ERROR, "missing uuid element on domain"); --- > testError(conn, NULL, VIR_ERR_XML_ERROR, _("domain uuid")); 233c233 < testError(conn, NULL, VIR_ERR_INTERNAL_ERROR, "malformed uuid data in domain"); --- > testError(conn, NULL, VIR_ERR_XML_ERROR, _("domain uuid")); 241c241 < testError(conn, NULL, VIR_ERR_INTERNAL_ERROR, "missing memory element on domain"); --- > testError(conn, NULL, VIR_ERR_XML_ERROR, _("domain memory")); 246c246 < testError(conn, NULL, VIR_ERR_INTERNAL_ERROR, "malformed memory value for domain"); --- > testError(conn, NULL, VIR_ERR_XML_ERROR, _("domain memory")); 258c258 < testError(conn, NULL, VIR_ERR_INTERNAL_ERROR, "malformed vcpus value for domain"); --- > testError(conn, NULL, VIR_ERR_XML_ERROR, _("domain vcpus")); 269c269 < testError(conn, NULL, VIR_ERR_INTERNAL_ERROR, "malformed on_reboot value for domain"); --- > testError(conn, NULL, VIR_ERR_XML_ERROR, _("domain reboot behaviour")); 280c280 < testError(conn, NULL, VIR_ERR_INTERNAL_ERROR, "malformed on_poweroff value for domain"); --- > testError(conn, NULL, VIR_ERR_XML_ERROR, _("domain poweroff behaviour")); 291c291 < testError(conn, NULL, VIR_ERR_INTERNAL_ERROR, "malformed on_crash value for domain"); --- > testError(conn, NULL, VIR_ERR_XML_ERROR, _("domain crash behaviour")); 334c334 < testError(NULL, NULL, VIR_ERR_INTERNAL_ERROR, "cannot parse domain definition"); --- > testError(NULL, NULL, VIR_ERR_XML_ERROR, _("domain")); 352c352 < testError(NULL, NULL, VIR_ERR_INTERNAL_ERROR, "cannot load domain definition"); --- > testError(NULL, NULL, VIR_ERR_INTERNAL_ERROR, _("load domain definition file")); 359c359 < testError(NULL, NULL, VIR_ERR_INTERNAL_ERROR, "cannot parse domain definition"); --- > testError(NULL, NULL, VIR_ERR_XML_ERROR, _("domain")); 379c379 < testError(NULL, NULL, VIR_ERR_INTERNAL_ERROR, "cannot get timeofday"); --- > testError(NULL, NULL, VIR_ERR_INTERNAL_ERROR, _("getting time of day")); 434c434 < testError(NULL, NULL, VIR_ERR_INTERNAL_ERROR, "cannot load host definition"); --- > testError(NULL, NULL, VIR_ERR_INTERNAL_ERROR, _("loading host definition file")); 441c441 < testError(NULL, NULL, VIR_ERR_INTERNAL_ERROR, "cannot parse host definition"); --- > testError(NULL, NULL, VIR_ERR_INTERNAL_ERROR, _("host")); 449c449 < testError(NULL, NULL, VIR_ERR_INTERNAL_ERROR, "malformed root element"); --- > testError(NULL, NULL, VIR_ERR_XML_ERROR, _("node")); 455c455 < testError(NULL, NULL, VIR_ERR_INTERNAL_ERROR, "cannot create xpath context"); --- > testError(NULL, NULL, VIR_ERR_INTERNAL_ERROR, _("creating xpath context")); 471c471 < testError(conn, NULL, VIR_ERR_INTERNAL_ERROR, "malformed nodes value for node cpu"); --- > testError(conn, NULL, VIR_ERR_XML_ERROR, _("node cpu numa nodes")); 483c483 < testError(conn, NULL, VIR_ERR_INTERNAL_ERROR, "malformed sockets value for node cpu"); --- > testError(conn, NULL, VIR_ERR_XML_ERROR, _("node cpu sockets")); 495c495 < testError(conn, NULL, VIR_ERR_INTERNAL_ERROR, "malformed cores value for node cpu"); --- > testError(conn, NULL, VIR_ERR_XML_ERROR, _("node cpu cores")); 507c507 < testError(conn, NULL, VIR_ERR_INTERNAL_ERROR, "malformed threads value for node cpu"); --- > testError(conn, NULL, VIR_ERR_XML_ERROR, _("node cpu threads")); 519c519 < testError(conn, NULL, VIR_ERR_INTERNAL_ERROR, "malformed active value for node cpu"); --- > testError(conn, NULL, VIR_ERR_XML_ERROR, _("node active cpu")); 533c533 < testError(conn, NULL, VIR_ERR_INTERNAL_ERROR, "malformed threads value for node cpu"); --- > testError(conn, NULL, VIR_ERR_XML_ERROR, _("node cpu mhz")); 552c552 < testError(conn, NULL, VIR_ERR_INTERNAL_ERROR, "malformed memory value for node"); --- > testError(conn, NULL, VIR_ERR_XML_ERROR, _("node memory")); 561c561 < testError(NULL, NULL, VIR_ERR_INTERNAL_ERROR, "cannot extract domain list"); --- > testError(NULL, NULL, VIR_ERR_XML_ERROR, _("node domain list")); 570c570 < testError(NULL, NULL, VIR_ERR_INTERNAL_ERROR, "cannot resolve filename"); --- > testError(NULL, NULL, VIR_ERR_INTERNAL_ERROR, _("resolving domain filename")); 608c608 < testError(NULL, NULL, VIR_ERR_INTERNAL_ERROR, "cannot allocate memory"); --- > testError(NULL, NULL, VIR_ERR_NO_MEMORY, _("allocating node")); 648c648 < testError(NULL, NULL, VIR_ERR_INTERNAL_ERROR, "too many connections"); --- > testError(NULL, NULL, VIR_ERR_INTERNAL_ERROR, _("too many connections")); 725c725 < testError(conn, NULL, VIR_ERR_NO_MEMORY, "allocating domain"); --- > testError(conn, NULL, VIR_ERR_NO_MEMORY, _("allocating domain")); 733c733 < testError(NULL, NULL, VIR_ERR_INTERNAL_ERROR, "too many domains"); --- > testError(NULL, NULL, VIR_ERR_INTERNAL_ERROR, _("too many domains")); 750c750 < testError(conn, NULL, VIR_ERR_NO_MEMORY, "Allocating domain"); --- > testError(conn, NULL, VIR_ERR_NO_MEMORY, _("allocating domain")); 773c773 < testError(conn, NULL, VIR_ERR_NO_MEMORY, "Allocating domain"); --- > testError(conn, NULL, VIR_ERR_NO_MEMORY, _("allocating domain")); 797c797 < testError(conn, NULL, VIR_ERR_NO_MEMORY, "Allocating domain"); --- > testError(conn, NULL, VIR_ERR_NO_MEMORY, _("allocating domain")); 895c895 < testError(NULL, NULL, VIR_ERR_INTERNAL_ERROR, "cannot get timeofday"); --- > testError(NULL, NULL, VIR_ERR_INTERNAL_ERROR, _("getting time of day")); 923c923 < testError(NULL, NULL, VIR_ERR_INTERNAL_ERROR, "cannot get timeofday"); --- > testError(NULL, NULL, VIR_ERR_INTERNAL_ERROR, _("getting time of day")); 950c950 < testError(NULL, NULL, VIR_ERR_INTERNAL_ERROR, "cannot get timeofday"); --- > testError(NULL, NULL, VIR_ERR_INTERNAL_ERROR, _("getting time of day")); 1041c1041 < testError(domain->conn, domain, VIR_ERR_INVALID_ARG, "memory over maximum limit"); --- > testError(domain->conn, domain, VIR_ERR_INVALID_ARG, __FUNCTION__); 1067c1067 < testError(domain->conn, domain, VIR_ERR_INVALID_ARG, "too many virtual cpus"); --- > testError(domain->conn, domain, VIR_ERR_INVALID_ARG, __FUNCTION__); Index: src/virsh.c =================================================================== RCS file: /data/cvs/libvirt/src/virsh.c,v retrieving revision 1.38 diff -r1.38 virsh.c 233,235c233,235 < {"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.")}, > 252c252 < vshPrint(ctl, "Commands:\n\n"); --- > vshPrint(ctl, _("Commands:\n\n")); 255c255 < vshCmddefGetInfo(def, "help")); --- > _N(vshCmddefGetInfo(def, "help"))); 266c266 < {"help", "(re)connect to hypervisor"}, --- > {"help", gettext_noop("(re)connect to hypervisor")}, 268c268 < "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.")}, 273,274c273,274 < {"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")}, 286c286 < "failed to disconnect from the hypervisor"); --- > _("Failed to disconnect from the hypervisor")); 302c302 < vshError(ctl, FALSE, "failed to connect to the hypervisor"); --- > vshError(ctl, FALSE, _("Failed to connect to the hypervisor")); 312,313c312,313 < {"help", "list domains"}, < {"desc", "Returns list of domains."}, --- > {"help", gettext_noop("list domains")}, > {"desc", gettext_noop("Returns list of domains.")}, 318,319c318,319 < {"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")}, 357c357 < vshError(ctl, FALSE, "failed to list active domains."); --- > vshError(ctl, FALSE, _("Failed to list active domains")); 364c364 < vshError(ctl, FALSE, "failed to list active domains."); --- > vshError(ctl, FALSE, _("Failed to list active domains")); 375c375 < vshError(ctl, FALSE, "failed to list inactive domains."); --- > vshError(ctl, FALSE, _("Failed to list inactive domains")); 384c384 < vshError(ctl, FALSE, "failed to list inactive domains."); --- > vshError(ctl, FALSE, _("Failed to list inactive domains")); 394c394 < vshPrintExtra(ctl, "%3s %-20s %s\n", "Id", "Name", "State"); --- > vshPrintExtra(ctl, "%3s %-20s %s\n", _("Id"), _("Name"), _("State")); 411c411 < 0 ? "no state" : vshDomainStateToString(info.state)); --- > 0 ? _("no state") : _N(vshDomainStateToString(info.state))); 438a439 > 453,454c454,455 < {"help", "domain state"}, < {"desc", "Returns state about a running domain."}, --- > {"help", gettext_noop("domain state")}, > {"desc", gettext_noop("Returns state about a running domain.")}, 459c460 < {"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")}, 478c479 < vshDomainStateToString(info.state)); --- > _N(vshDomainStateToString(info.state))); 491,492c492,493 < {"help", "suspend a domain"}, < {"desc", "Suspend a running domain."}, --- > {"help", gettext_noop("suspend a domain")}, > {"desc", gettext_noop("Suspend a running domain.")}, 497c498 < {"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")}, 515c516 < vshPrint(ctl, "Domain %s suspended\n", name); --- > vshPrint(ctl, _("Domain %s suspended\n"), name); 517c518 < vshError(ctl, FALSE, "Failed to suspend domain\n"); --- > vshError(ctl, FALSE, _("Failed to suspend domain %s"), name); 530,531c531,532 < {"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.")}, 536c537 < {"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")}, 559c560 < vshError(ctl, FALSE, "Failed to read description file %s\n", from); --- > vshError(ctl, FALSE, _("Failed to read description file %s"), from); 564c565 < vshError(ctl, FALSE, "Failed to read description file %s\n", from); --- > vshError(ctl, FALSE, _("Failed to read description file %s"), from); 571c572 < vshPrint(ctl, "Domain %s created from %s\n", --- > vshPrint(ctl, _("Domain %s created from %s\n"), 574c575 < vshError(ctl, FALSE, "Failed to create domain\n"); --- > vshError(ctl, FALSE, _("Failed to create domain from %s"), from); 585,586c586,587 < {"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.")}, 591c592 < {"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")}, 614c615 < vshError(ctl, FALSE, "Failed to read description file %s\n", from); --- > vshError(ctl, FALSE, _("Failed to read description file %s"), from); 619c620 < vshError(ctl, FALSE, "Failed to read description file %s\n", from); --- > vshError(ctl, FALSE, _("Failed to read description file %s"), from); 626c627 < vshPrint(ctl, "Domain %s defined from %s\n", --- > vshPrint(ctl, _("Domain %s defined from %s\n"), 629c630 < vshError(ctl, FALSE, "Failed to define domain\n"); --- > vshError(ctl, FALSE, _("Failed to define domain from %s"), from); 640,641c641,642 < {"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.")}, 646c647 < {"domain", VSH_OT_DATA, VSH_OFLAG_REQ, "domain name, or uuid"}, --- > {"domain", VSH_OT_DATA, VSH_OFLAG_REQ, gettext_noop("domain name or uuid")}, 664c665 < vshPrint(ctl, "Domain %s has been undefined\n", name); --- > vshPrint(ctl, _("Domain %s has been undefined\n"), name); 666c667 < vshError(ctl, FALSE, "Failed to undefine domain\n"); --- > vshError(ctl, FALSE, _("Failed to undefine domain %s"), name); 679,680c680,681 < {"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.")}, 685c686 < {"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")}, 709c710 < vshError(ctl, FALSE, "Domain is already active\n"); --- > vshError(ctl, FALSE, _("Domain is already active")); 714c715 < vshPrint(ctl, "Domain %s started\n", --- > vshPrint(ctl, _("Domain %s started\n"), 717c718 < vshError(ctl, FALSE, "Failed to start domain\n"); --- > vshError(ctl, FALSE, _("Failed to start domain %s"), name); 728,729c729,730 < {"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.")}, 734,735c735,736 < {"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")}, 757c758 < vshPrint(ctl, "Domain %s saved\n", name); --- > vshPrint(ctl, _("Domain %s saved to %s\n"), name, to); 759c760 < vshError(ctl, FALSE, "Failed to save domain\n"); --- > vshError(ctl, FALSE, _("Failed to save domain %s to %s"), name, to); 772,773c773,774 < {"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.")}, 778c779 < {"file", VSH_OT_DATA, VSH_OFLAG_REQ, "the state to restore"}, --- > {"file", VSH_OT_DATA, VSH_OFLAG_REQ, gettext_noop("the state to restore")}, 797c798 < vshPrint(ctl, "Domain restored from %s\n", from); --- > vshPrint(ctl, _("Domain restored from %s\n"), from); 799c800 < vshError(ctl, FALSE, "Failed to restore domain\n"); --- > vshError(ctl, FALSE, _("Failed to restore domain from %s"), from); 810,811c811,812 < {"help", "resume a domain"}, < {"desc", "Resume a previously suspended domain."}, --- > {"help", gettext_noop("resume a domain")}, > {"desc", gettext_noop("Resume a previously suspended domain.")}, 816c817 < {"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")}, 834c835 < vshPrint(ctl, "Domain %s resumed\n", name); --- > vshPrint(ctl, _("Domain %s resumed\n"), name); 836c837 < vshError(ctl, FALSE, "Failed to resume domain\n"); --- > vshError(ctl, FALSE, _("Failed to resume domain %s"), name); 849,850c850,851 < {"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.")}, 855c856 < {"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")}, 873c874 < vshPrint(ctl, "Domain %s is being shutdown\n", name); --- > vshPrint(ctl, _("Domain %s is being shutdown\n"), name); 875c876 < vshError(ctl, FALSE, "Failed to shutdown domain\n"); --- > vshError(ctl, FALSE, _("Failed to shutdown domain %s"), name); 888,889c889,890 < {"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.")}, 894c895 < {"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")}, 912c913 < vshPrint(ctl, "Domain %s is being rebooted\n", name); --- > vshPrint(ctl, _("Domain %s is being rebooted\n"), name); 914c915 < vshError(ctl, FALSE, "Failed to reboot domain\n"); --- > vshError(ctl, FALSE, _("Failed to reboot domain %s"), name); 927,928c928,929 < {"help", "destroy a domain"}, < {"desc", "Destroy a given domain."}, --- > {"help", gettext_noop("destroy a domain")}, > {"desc", gettext_noop("Destroy a given domain.")}, 933c934 < {"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")}, 951c952 < vshPrint(ctl, "Domain %s destroyed\n", name); --- > vshPrint(ctl, _("Domain %s destroyed\n"), name); 953c954 < vshError(ctl, FALSE, "Failed to destroy domain\n"); --- > vshError(ctl, FALSE, _("Failed to destroy domain %s"), name); 966,967c967,968 < {"help", "domain information"}, < {"desc", "Returns basic information about the domain."}, --- > {"help", gettext_noop("domain information")}, > {"desc", gettext_noop("Returns basic information about the domain.")}, 972c973 < {"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")}, 993c994 < vshPrint(ctl, "%-15s %s\n", "Id:", "-"); --- > vshPrint(ctl, "%-15s %s\n", _("Id:"), "-"); 995,996c996,998 < 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)); > 998c1000 < vshPrint(ctl, "%-15s %s\n", "UUID:", uuid); --- > vshPrint(ctl, "%-15s %s\n", _("UUID:"), uuid); 1001c1003 < vshPrint(ctl, "%-15s %s\n", "OS Type:", str); --- > vshPrint(ctl, "%-15s %s\n", _("OS Type:"), str); 1006,1007c1008,1009 < vshPrint(ctl, "%-15s %s\n", "State:", < vshDomainStateToString(info.state)); --- > vshPrint(ctl, "%-15s %s\n", _("State:"), > _N(vshDomainStateToString(info.state))); 1009c1011 < vshPrint(ctl, "%-15s %d\n", "CPU(s):", info.nrVirtCpu); --- > vshPrint(ctl, "%-15s %d\n", _("CPU(s):"), info.nrVirtCpu); 1016c1018 < vshPrint(ctl, "%-15s %.1lfs\n", "CPU time:", cpuUsed); --- > vshPrint(ctl, "%-15s %.1lfs\n", _("CPU time:"), cpuUsed); 1019c1021 < vshPrint(ctl, "%-15s %lu kB\n", "Max memory:", --- > vshPrint(ctl, "%-15s %lu kB\n", _("Max memory:"), 1021c1023 < vshPrint(ctl, "%-15s %lu kB\n", "Used memory:", --- > vshPrint(ctl, "%-15s %lu kB\n", _("Used memory:"), 1037,1038c1039,1040 < {"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.")}, 1043c1045 < {"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")}, 1085,1088c1087,1090 < 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))); 1094c1096 < vshPrint(ctl, "%-15s %.1lfs\n", "CPU time:", cpuUsed); --- > vshPrint(ctl, "%-15s %.1lfs\n", _("CPU time:"), cpuUsed); 1096c1098 < vshPrint(ctl, "%-15s ", "CPU Affinity:"); --- > vshPrint(ctl, "%-15s ", _("CPU Affinity:")); 1120,1121c1122,1123 < {"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.")}, 1126,1128c1128,1130 < {"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)")}, 1206,1207c1208,1209 < {"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.")}, 1212,1213c1214,1215 < {"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")}, 1249,1250c1251,1252 < {"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.")}, 1255,1256c1257,1258 < {"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")}, 1292,1293c1294,1295 < {"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.")}, 1298,1299c1300,1301 < {"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")}, 1335,1336c1337,1338 < {"help", "node information"}, < {"desc", "Returns basic information about the node."}, --- > {"help", gettext_noop("node information")}, > {"desc", gettext_noop("Returns basic information about the node.")}, 1344c1346 < --- > 1349c1351 < vshError(ctl, FALSE, "failed to get node information"); --- > vshError(ctl, FALSE, _("failed to get node information")); 1351,1360c1353,1362 < } < 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); > 1369,1370c1371,1372 < {"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.")}, 1375c1377 < {"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")}, 1409c1411 < {"help", "convert a domain Id or UUID to domain name"}, --- > {"help", gettext_noop("convert a domain id or UUID to domain name")}, 1414c1416 < {"domain", VSH_OT_DATA, VSH_OFLAG_REQ, "domain id or uuid"}, --- > {"domain", VSH_OT_DATA, VSH_OFLAG_REQ, gettext_noop("domain id or uuid")}, 1439c1441 < {"help", "convert a domain name or UUID to domain Id"}, --- > {"help", gettext_noop("convert a domain name or UUID to domain id")}, 1444c1446 < {"domain", VSH_OT_DATA, VSH_OFLAG_REQ, "domain name or uuid"}, --- > {"domain", VSH_OT_DATA, VSH_OFLAG_REQ, gettext_noop("domain name or uuid")}, 1474c1476 < {"help", "convert a domain name or id to domain UUID"}, --- > {"help", gettext_noop("convert a domain name or id to domain UUID")}, 1479c1481 < {"domain", VSH_OT_DATA, VSH_OFLAG_REQ, "domain id or name"}, --- > {"domain", VSH_OT_DATA, VSH_OFLAG_REQ, gettext_noop("domain id or name")}, 1491c1493 < if (!(dom = vshCommandOptDomainBy(ctl, cmd, "domain", NULL, --- > if (!(dom = vshCommandOptDomainBy(ctl, cmd, "domain", NULL, 1494c1496 < --- > 1498,1499c1500,1501 < vshError(ctl, FALSE, "failed to get domain UUID"); < --- > vshError(ctl, FALSE, _("failed to get domain UUID")); > 1509,1510c1511,1512 < {"help", "show versions"}, < {"desc", "Display the version information available"}, --- > {"help", gettext_noop("show version")}, > {"desc", gettext_noop("Display the system version information.")}, 1533c1535 < vshError(ctl, FALSE, "failed to get hypervisor type\n"); --- > vshError(ctl, FALSE, _("failed to get hypervisor type")); 1542c1544 < vshPrint(ctl, "Compiled against library: libvir %d.%d.%d\n", --- > vshPrint(ctl, _("Compiled against library: libvir %d.%d.%d\n"), 1547c1549 < vshError(ctl, FALSE, "failed to get the library version"); --- > vshError(ctl, FALSE, _("failed to get the library version")); 1554c1556 < vshPrint(ctl, "Using library: libvir %d.%d.%d\n", --- > vshPrint(ctl, _("Using library: libvir %d.%d.%d\n"), 1561c1563 < vshPrint(ctl, "Using API: %s %d.%d.%d\n", hvType, --- > vshPrint(ctl, _("Using API: %s %d.%d.%d\n"), hvType, 1566c1568 < vshError(ctl, FALSE, "failed to get the hypervisor version"); --- > vshError(ctl, FALSE, _("failed to get the hypervisor version")); 1571c1573 < "cannot extract running %s hypervisor version\n", hvType); --- > _("Cannot extract running %s hypervisor version\n"), hvType); 1578c1580 < vshPrint(ctl, "Running hypervisor: %s %d.%d.%d\n", --- > vshPrint(ctl, _("Running hypervisor: %s %d.%d.%d\n"), 1589c1591 < {"help", "quit this interactive terminal"}, --- > {"help", gettext_noop("quit this interactive terminal")}, 1701,1702c1703,1704 < "command '%s' requires <%s> option" : < "command '%s' requires --%s option", --- > _("command '%s' requires <%s> option") : > _("command '%s' requires --%s option"), 1729c1731 < vshError(ctl, FALSE, "command '%s' doesn't exist", cmdname); --- > vshError(ctl, FALSE, _("command '%s' doesn't exist"), cmdname); 1733,1734c1735,1736 < 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")); 1737c1739 < fputs(" NAME\n", stdout); --- > fputs(_(" NAME\n"), stdout); 1741c1743 < fputs("\n SYNOPSIS\n", stdout); --- > fputs(("\n SYNOPSIS\n"), stdout); 1748c1750 < fputs("\n DESCRIPTION\n", stdout); --- > fputs(_("\n DESCRIPTION\n"), stdout); 1752c1754 < fputs("\n OPTIONS\n", stdout); --- > fputs(_("\n OPTIONS\n"), stdout); 1759c1761 < snprintf(buf, sizeof(buf), "--%s <number>", opt->name); --- > snprintf(buf, sizeof(buf), _("--%s <number>"), opt->name); 1761c1763 < snprintf(buf, sizeof(buf), "--%s <string>", opt->name); --- > snprintf(buf, sizeof(buf), _("--%s <string>"), opt->name); 1874c1876 < vshError(ctl, FALSE, "undefined domain name or id"); --- > vshError(ctl, FALSE, _("undefined domain name or id")); 1907c1909 < vshError(ctl, FALSE, "failed to get domain '%s'", n); --- > vshError(ctl, FALSE, _("failed to get domain '%s'"), n); 1935c1937 < vshPrint(ctl, "\n(Time: %.3f ms)\n\n", --- > vshPrint(ctl, _("\n(Time: %.3f ms)\n\n"), 2009c2011 < vshError(ctl, FALSE, "missing \""); --- > vshError(ctl, FALSE, _("missing \"")); 2070c2072 < "unexpected token (command name): '%s'", --- > _("unexpected token (command name): '%s'"), 2075c2077 < vshError(ctl, FALSE, "unknown command: '%s'", tkdata); --- > vshError(ctl, FALSE, _("unknown command: '%s'"), tkdata); 2082c2084 < "command '%s' doesn't support option --%s", --- > _("command '%s' doesn't support option --%s"), 2097c2099 < "expected syntax: --%s <%s>", --- > _("expected syntax: --%s <%s>"), 2100c2102 < VSH_OT_INT ? "number" : "string"); --- > VSH_OT_INT ? _("number") : _("string")); 2106c2108 < vshError(ctl, FALSE, "unexpected data '%s'", tkdata); --- > vshError(ctl, FALSE, _("unexpected data '%s'"), tkdata); 2128c2130 < tk == VSH_TK_OPTION ? "OPTION" : "DATA", --- > tk == VSH_TK_OPTION ? _("OPTION") : _("DATA"), 2176c2178 < return "running "; --- > return gettext_noop("running"); 2178c2180 < return "blocked "; --- > return gettext_noop("blocked"); 2180c2182 < return "paused "; --- > return gettext_noop("paused"); 2182c2184 < return "in shutdown"; --- > return gettext_noop("in shutdown"); 2184c2186 < return "shut off"; --- > return gettext_noop("shut off"); 2186c2188 < return "crashed"; --- > return gettext_noop("crashed"); 2188c2190 < return "no state"; /* = dom0 state */ --- > return gettext_noop("no state"); /* = dom0 state */ 2198c2200 < return "offline"; --- > return gettext_noop("offline"); 2200c2202 < return "blocked"; --- > return gettext_noop("blocked"); 2202c2204 < return "running"; --- > return gettext_noop("running"); 2204c2206 < return "no state"; --- > return gettext_noop("no state"); 2217c2219 < vshError(ctl, FALSE, "no valid connection."); --- > vshError(ctl, FALSE, _("no valid connection")); 2256c2258 < fprintf(stderr, "%s: error: ", progname); --- > fprintf(stderr, _("%s: error: "), progname); 2258c2260 < fputs("error: ", stderr); --- > fputs(_("error: "), stderr); 2280,2281c2282,2283 < 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); 2292,2293c2294,2295 < 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)); 2304,2305c2306,2307 < 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)); 2332c2334 < vshError(ctl, TRUE, "failed to connect to the hypervisor"); --- > vshError(ctl, TRUE, _("failed to connect to the hypervisor")); 2477,2485c2479,2487 < 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); 2489,2490c2491,2492 < " %-15s %s\n", cmd->name, vshCmddefGetInfo(cmd, < "help")); --- > " %-15s %s\n", cmd->name, _N(vshCmddefGetInfo(cmd, > "help"))); 2493c2495 < "\n (specify --help <command> for details about the command)\n\n"); --- > _("\n (specify --help <command> for details about the command)\n\n")); 2579c2581 < "unsupported option '-%c'. See --help.", arg); --- > _("unsupported option '-%c'. See --help."), arg); 2622a2625,2637 > 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; > } > 2647c2662 < "Welcome to %s, the virtualization interactive terminal.\n\n", --- > _("Welcome to %s, the virtualization interactive terminal.\n\n"), 2650,2651c2665,2666 < "Type: 'help' for help with commands\n" < " 'quit' to quit\n\n"); --- > _("Type: 'help' for help with commands\n" > " 'quit' to quit\n\n")); Index: src/virterror.c =================================================================== RCS file: /data/cvs/libvirt/src/virterror.c,v retrieving revision 1.17 diff -r1.17 virterror.c 243c243 < lvl = "warning"; --- > lvl = _("warning"); 246c246 < lvl = "error"; --- > lvl = _("error"); 328c328 < str = strdup("No error message provided"); --- > str = strdup(_("No error message provided")); 382c382 < errmsg = "internal error %s"; --- > errmsg = _("internal error %s"); 384c384 < errmsg = "internal error"; --- > errmsg = _("internal error"); 387c387 < errmsg = "out of memory"; --- > errmsg = _("out of memory"); 391c391 < errmsg = "no support for hypervisor"; --- > errmsg = _("no support for hypervisor"); 393c393 < errmsg = "no support for hypervisor %s"; --- > errmsg = _("no support for hypervisor %s"); 397c397 < errmsg = "could not connect to hypervisor"; --- > errmsg = _("could not connect to hypervisor"); 399c399 < errmsg = "could not connect to %s"; --- > errmsg = _("could not connect to %s"); 403c403 < errmsg = "invalid connection pointer in"; --- > errmsg = _("invalid connection pointer in"); 405c405 < errmsg = "invalid connection pointer in %s"; --- > errmsg = _("invalid connection pointer in %s"); 409c409 < errmsg = "invalid domain pointer in"; --- > errmsg = _("invalid domain pointer in"); 411c411 < errmsg = "invalid domain pointer in %s"; --- > errmsg = _("invalid domain pointer in %s"); 415c415 < errmsg = "invalid argument in"; --- > errmsg = _("invalid argument in"); 417c417 < errmsg = "invalid argument in %s"; --- > errmsg = _("invalid argument in %s"); 421c421 < errmsg = "operation failed: %s"; --- > errmsg = _("operation failed: %s"); 423c423 < errmsg = "operation failed"; --- > errmsg = _("operation failed"); 427c427 < errmsg = "GET operation failed: %s"; --- > errmsg = _("GET operation failed: %s"); 429c429 < errmsg = "GET operation failed"; --- > errmsg = _("GET operation failed"); 433c433 < errmsg = "POST operation failed: %s"; --- > errmsg = _("POST operation failed: %s"); 435c435 < errmsg = "POST operation failed"; --- > errmsg = _("POST operation failed"); 438c438 < errmsg = "got unknown HTTP error code %d"; --- > errmsg = _("got unknown HTTP error code %d"); 442c442 < errmsg = "unknown host %s"; --- > errmsg = _("unknown host %s"); 444c444 < errmsg = "unknown host"; --- > errmsg = _("unknown host"); 448c448 < errmsg = "failed to serialize S-Expr: %s"; --- > errmsg = _("failed to serialize S-Expr: %s"); 450c450 < errmsg = "failed to serialize S-Expr"; --- > errmsg = _("failed to serialize S-Expr"); 454c454 < errmsg = "could not use Xen hypervisor entry"; --- > errmsg = _("could not use Xen hypervisor entry"); 456c456 < errmsg = "could not use Xen hypervisor entry %s"; --- > errmsg = _("could not use Xen hypervisor entry %s"); 460c460 < errmsg = "could not connect to Xen Store"; --- > errmsg = _("could not connect to Xen Store"); 462c462 < errmsg = "could not connect to Xen Store %s"; --- > errmsg = _("could not connect to Xen Store %s"); 465c465 < errmsg = "failed Xen syscall %s %d"; --- > errmsg = _("failed Xen syscall %s %d"); 469c469 < errmsg = "unknown OS type"; --- > errmsg = _("unknown OS type"); 471c471 < errmsg = "unknown OS type %s"; --- > errmsg = _("unknown OS type %s"); 474c474 < errmsg = "missing kernel information"; --- > errmsg = _("missing kernel information"); 478c478 < errmsg = "missing root device information"; --- > errmsg = _("missing root device information"); 480c480 < errmsg = "missing root device information in %s"; --- > errmsg = _("missing root device information in %s"); 484c484 < errmsg = "missing source information for device"; --- > errmsg = _("missing source information for device"); 486c486 < errmsg = "missing source information for device %s"; --- > errmsg = _("missing source information for device %s"); 490c490 < errmsg = "missing target information for device"; --- > errmsg = _("missing target information for device"); 492c492 < errmsg = "missing target information for device %s"; --- > errmsg = _("missing target information for device %s"); 496c496 < errmsg = "missing domain name information"; --- > errmsg = _("missing domain name information"); 498c498 < errmsg = "missing domain name information in %s"; --- > errmsg = _("missing domain name information in %s"); 502c502 < errmsg = "missing operating system information"; --- > errmsg = _("missing operating system information"); 504c504 < errmsg = "missing operating system information for %s"; --- > errmsg = _("missing operating system information for %s"); 508c508 < errmsg = "missing devices information"; --- > errmsg = _("missing devices information"); 510c510 < errmsg = "missing devices information for %s"; --- > errmsg = _("missing devices information for %s"); 514c514 < errmsg = "too many drivers registered"; --- > errmsg = _("too many drivers registered"); 516c516 < errmsg = "too many drivers registered in %s"; --- > errmsg = _("too many drivers registered in %s"); 520c520 < errmsg = "library call failed, possibly not supported"; --- > errmsg = _("library call failed, possibly not supported"); 522c522 < errmsg = "library call %s failed, possibly not supported"; --- > errmsg = _("library call %s failed, possibly not supported"); 526c526 < errmsg = "XML description not well formed or invalid"; --- > errmsg = _("XML description not well formed or invalid"); 528c528 < errmsg = "XML description for %s is not well formed or invalid"; --- > errmsg = _("XML description for %s is not well formed or invalid"); 532c532 < errmsg = "this domain exists already"; --- > errmsg = _("this domain exists already"); 534c534 < errmsg = "domain %s exists already"; --- > errmsg = _("domain %s exists already"); 538c538 < errmsg = "operation forbidden for read only access"; --- > errmsg = _("operation forbidden for read only access"); 540c540 < errmsg = "operation %s forbidden for read only access"; --- > errmsg = _("operation %s forbidden for read only access"); 544c544 < errmsg = "failed to open configuration file for reading"; --- > errmsg = _("failed to open configuration file for reading"); 546c546 < errmsg = "failed to open %s for reading"; --- > errmsg = _("failed to open %s for reading"); 550c550 < errmsg = "failed to read configuration file"; --- > errmsg = _("failed to read configuration file"); 552c552 < errmsg = "failed to read configuration file %s"; --- > errmsg = _("failed to read configuration file %s"); 556c556 < errmsg = "failed to parse configuration file"; --- > errmsg = _("failed to parse configuration file"); 558c558 < errmsg = "failed to parse configuration file %s"; --- > errmsg = _("failed to parse configuration file %s"); 562c562 < errmsg = "configuration file syntax error"; --- > errmsg = _("configuration file syntax error"); 564c564 < errmsg = "configuration file syntax error: %s"; --- > errmsg = _("configuration file syntax error: %s"); 568c568 < errmsg = "failed to write configuration file"; --- > errmsg = _("failed to write configuration file"); 570c570 < errmsg = "failed to write configuration file: %s"; --- > errmsg = _("failed to write configuration file: %s"); Index: src/xen_internal.c =================================================================== RCS file: /data/cvs/libvirt/src/xen_internal.c,v retrieving revision 1.40 diff -r1.40 xen_internal.c 1241c1241 < virXenError(VIR_ERR_NO_MEMORY, "failed to allocate %d domain info", --- > virXenError(VIR_ERR_NO_MEMORY, _("allocating %d domain info"), 1288c1288 < virXenError(VIR_ERR_NO_MEMORY, "failed to allocate %d domain info", --- > virXenError(VIR_ERR_NO_MEMORY, "allocating %d domain info", Index: src/xend_internal.c =================================================================== RCS file: /data/cvs/libvirt/src/xend_internal.c,v retrieving revision 1.62 diff -r1.62 xend_internal.c 264c264 < "faid to read from Xen Daemon"); --- > _("failed to read from Xen Daemon")); 267c267 < "faid to read from Xen Daemon"); --- > _("failed to read from Xen Daemon")); 1056c1056 < "Failed to urlencode the create S-Expr"); --- > _("failed to urlencode the create S-Expr")); 1097c1097 < "domain information incomplete, missing domid"); --- > _("domain information incomplete, missing domid")); 1103c1103 < "domain information incorrect domid not numberic"); --- > _("domain information incorrect domid not numeric")); 1110c1110 < "domain information incomplete, missing uuid"); --- > _("domain information incomplete, missing uuid")); 1150c1150 < "domain information incomplete, missing name"); --- > _("domain information incomplete, missing name")); 1159c1159 < "domain information incomplete, missing uuid"); --- > _("domain information incomplete, missing uuid")); 1408c1408 < "domain information incomplete, missing kernel"); --- > _("domain information incomplete, missing kernel")); 1433c1433 < "domain information incomplete, missing kernel"); --- > _("domain information incomplete, missing kernel")); 1487c1487 < --- > 1491c1491 < "domain information incomplete, missing name"); --- > _("domain information incomplete, missing name")); 1543c1543 < --- > 1564c1564 < "domain information incomplete, vbd has no dev"); --- > _("domain information incomplete, vbd has no dev")); 1566a1567 > 1600c1601 < "domain information incomplete, vbd has no dev"); --- > _("domain information incomplete, vbd has no dev")); 1602a1604 > 1862c1864 < virXendError(conn, VIR_ERR_NO_MEMORY, "Allocating domain"); --- > virXendError(conn, VIR_ERR_NO_MEMORY, _("allocating domain")); 1873c1875 < "failed to parse Xend domain information"); --- > _("failed to parse Xend domain information")); 1952c1954 < --- > 2561c2563 < virXendError(conn, VIR_ERR_NO_MEMORY, "Allocating domain"); --- > virXendError(conn, VIR_ERR_NO_MEMORY, _("allocating domain")); 2769c2771 < virXendError(conn, VIR_ERR_NO_MEMORY, "Allocating domain"); --- > virXendError(conn, VIR_ERR_NO_MEMORY, _("allocating domain")); 2832c2834 < fprintf(stderr, "Failed to create domain %s\n", name); --- > fprintf(stderr, _("Failed to create domain %s\n"), name); 2838c2840 < fprintf(stderr, "Failed to get devices for domain %s\n", name); --- > fprintf(stderr, _("Failed to get devices for domain %s\n"), name); 2849c2851 < fprintf(stderr, "Failed to resume new domain %s\n", name); --- > fprintf(stderr, _("Failed to resume new domain %s\n"), name); Index: src/xml.c =================================================================== RCS file: /data/cvs/libvirt/src/xml.c,v retrieving revision 1.40 diff -r1.40 xml.c 64c64 < virXMLError(VIR_ERR_NO_MEMORY, "growing buffer", size); --- > virXMLError(VIR_ERR_NO_MEMORY, _("growing buffer"), size); 116c116 < virXMLError(VIR_ERR_NO_MEMORY, "allocate new buffer", sizeof(*buf)); --- > virXMLError(VIR_ERR_NO_MEMORY, _("allocate new buffer"), sizeof(*buf)); 120c120 < virXMLError(VIR_ERR_NO_MEMORY, "allocate buffer content", size); --- > virXMLError(VIR_ERR_NO_MEMORY, _("allocate buffer content"), size); Index: src/xmlrpc.c =================================================================== RCS file: /data/cvs/libvirt/src/xmlrpc.c,v retrieving revision 1.4 diff -r1.4 xmlrpc.c 63,64c63,64 < 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)); 157c157 < --- > 163,164c163,164 < xmlRpcError(VIR_ERR_NO_MEMORY, "allocate value array", < n_elements * sizeof(xmlRpcValue)); --- > xmlRpcError(VIR_ERR_NO_MEMORY, _("allocate value array"), > n_elements * sizeof(xmlRpcValue)); 196c196 < xmlRpcError(VIR_ERR_XML_ERROR, "unexpected dict node", 0); --- > xmlRpcError(VIR_ERR_XML_ERROR, _("unexpected dict node"), 0); 268c268 < xmlRpcError(VIR_ERR_XML_ERROR, "unexpected value node", 0); --- > xmlRpcError(VIR_ERR_XML_ERROR, _("unexpected value node"), 0); 429c429 < --- > 431c431 < xmlRpcError(VIR_ERR_POST_FAILED, "send request", 0); --- > xmlRpcError(VIR_ERR_POST_FAILED, _("send request"), 0); 437c437 < xmlRpcError(VIR_ERR_POST_FAILED, "unexpected mime type", 0); --- > xmlRpcError(VIR_ERR_POST_FAILED, _("unexpected mime type"), 0); 444c444 < xmlRpcError(VIR_ERR_NO_MEMORY, "allocate response", len); --- > xmlRpcError(VIR_ERR_NO_MEMORY, _("allocate response"), len); 452c452 < xmlRpcError(VIR_ERR_POST_FAILED, "read response", 0); --- > xmlRpcError(VIR_ERR_POST_FAILED, _("read response"), 0); 484c484 < xmlRpcError(VIR_ERR_NO_MEMORY, "allocate string array", size); --- > xmlRpcError(VIR_ERR_NO_MEMORY, _("allocate string array"), size); 514c514 < xmlRpcError(VIR_ERR_NO_MEMORY, "read response", sizeof(*argv) * *argc); --- > xmlRpcError(VIR_ERR_NO_MEMORY, _("read response"), sizeof(*argv) * *argc); 606c606 < xmlRpcError(VIR_ERR_XML_ERROR, "parse server response failed", 0); --- > xmlRpcError(VIR_ERR_XML_ERROR, _("parse server response failed"), 0); 670c670 < xmlRpcError(VIR_ERR_NO_MEMORY, "allocate new context", sizeof(*ret)); --- > xmlRpcError(VIR_ERR_NO_MEMORY, _("allocate new context"), sizeof(*ret)); Index: src/xs_internal.c =================================================================== RCS file: /data/cvs/libvirt/src/xs_internal.c,v retrieving revision 1.18 diff -r1.18 xs_internal.c 318c318 < "failed to connect to Xen Store"); --- > _("failed to connect to Xen Store")); 592c592 < virXenStoreError(conn, VIR_ERR_NO_MEMORY, "Allocating domain"); --- > virXenStoreError(conn, VIR_ERR_NO_MEMORY, _("allocating domain")); Index: tests/Makefile.am =================================================================== RCS file: /data/cvs/libvirt/tests/Makefile.am,v retrieving revision 1.8 diff -r1.8 Makefile.am 13,14c13,14 < -D_XOPEN_SOURCE=600 -D_POSIX_C_SOURCE=199506L < --- > -D_XOPEN_SOURCE=600 -D_POSIX_C_SOURCE=199506L \ > -DGETTEXT_PACKAGE=\"$(PACKAGE)\" Index: tests/virshdata/dominfo-fc4.txt =================================================================== RCS file: /data/cvs/libvirt/tests/virshdata/dominfo-fc4.txt,v retrieving revision 1.1 diff -r1.1 dominfo-fc4.txt 5c5 < State: running --- > State: running Index: tests/virshdata/domstate-fc4.txt =================================================================== RCS file: /data/cvs/libvirt/tests/virshdata/domstate-fc4.txt,v retrieving revision 1.1 diff -r1.1 domstate-fc4.txt 1c1 < running --- > running Index: tests/virshdata/list-custom.txt =================================================================== RCS file: /data/cvs/libvirt/tests/virshdata/list-custom.txt,v retrieving revision 1.1 diff -r1.1 list-custom.txt 3,4c3,4 < 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 -r1.1 list-default.txt 3c3 < 0 Domain-0 running --- > 0 Domain-0 running