[PATCH:xload] Internationalize xload: Call gettext on strings printed to stderr
Alan Coopersmith
alan.coopersmith at sun.com
Fri Jan 15 22:30:06 PST 2010
From: Jay Hobson <jay.hobson at sun.com>
Originally done for Solaris 9 to fix Sun bug 4365629
http://bugs.opensolaris.org/bugdatabase/view_bug.do?bug_id=4365629
Signed-off-by: Alan Coopersmith <alan.coopersmith at sun.com>
---
COPYING | 23 +++++++++++++++
xload.c | 93 ++++++++++++++++++++++++++++++++++++++++++++-------------------
2 files changed, 88 insertions(+), 28 deletions(-)
diff --git a/COPYING b/COPYING
index b8a9751..ec9d38e 100644
--- a/COPYING
+++ b/COPYING
@@ -1,3 +1,26 @@
+Copyright © 2000 Sun Microsystems, Inc. All rights reserved.
+
+Permission is hereby granted, free of charge, to any person obtaining a
+copy of this software and associated documentation files (the "Software"),
+to deal in the Software without restriction, including without limitation
+the rights to use, copy, modify, merge, publish, distribute, sublicense,
+and/or sell copies of the Software, and to permit persons to whom the
+Software is furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice (including the next
+paragraph) shall be included in all copies or substantial portions of the
+Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+DEALINGS IN THE SOFTWARE.
+
+ ----------------------------------------
+
Copyright (c) 1989 X Consortium
Permission is hereby granted, free of charge, to any person obtaining
diff --git a/xload.c b/xload.c
index e423e65..7cfcb86 100644
--- a/xload.c
+++ b/xload.c
@@ -29,6 +29,29 @@ other dealings in this Software without prior written authorization
from the X Consortium.
*/
+/*
+ * Copyright © 2000 Sun Microsystems, Inc. All rights reserved.
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice (including the next
+ * paragraph) shall be included in all copies or substantial portions of the
+ * Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ * DEALINGS IN THE SOFTWARE.
+ */
+
/*
* xload - display system load average in a window
@@ -50,6 +73,9 @@ from the X Consortium.
#include <X11/Xmu/SysUtil.h>
#include "xload.h"
+#include <libintl.h>
+#include <X11/Xlocale.h>
+
#include "xload.bit"
static char *ProgramName;
@@ -109,32 +135,32 @@ static int light_update = 10 * 1000;
static void usage(void)
{
- fprintf (stderr, "usage: %s [-options ...]\n\n", ProgramName);
- fprintf (stderr, "where options include:\n");
- fprintf (stderr,
- " -display dpy X server on which to display\n");
- fprintf (stderr,
- " -geometry geom size and location of window\n");
- fprintf (stderr,
- " -fn font font to use in label\n");
- fprintf (stderr,
- " -scale number minimum number of scale lines\n");
- fprintf (stderr,
- " -update seconds interval between updates\n");
- fprintf (stderr,
- " -label string annotation text\n");
- fprintf (stderr,
- " -bg color background color\n");
- fprintf (stderr,
- " -fg color graph color\n");
- fprintf (stderr,
- " -hl color scale and text color\n");
- fprintf (stderr,
- " -nolabel removes the label from above the chart.\n");
- fprintf (stderr,
- " -jumpscroll value number of pixels to scroll on overflow\n");
- fprintf (stderr,
- " -remote host remote host to monitor\n");
+ fprintf (stderr, gettext("usage: %s [-options ...]\n\n"), ProgramName);
+ fprintf (stderr, gettext("where options include:\n"));
+ fprintf (stderr, " -display %s",
+ gettext("display X server on which to display\n"));
+ fprintf (stderr, " -geometry %s",
+ gettext("geometry size and location of window\n"));
+ fprintf (stderr, " -fn %s",
+ gettext("font font to use in label\n"));
+ fprintf (stderr, " -scale %s",
+ gettext("number minimum number of scale lines\n"));
+ fprintf (stderr, " -update %s",
+ gettext("seconds interval between updates\n"));
+ fprintf (stderr, " -label %s",
+ gettext("string annotation text\n"));
+ fprintf (stderr, " -bg %s",
+ gettext("color background color\n"));
+ fprintf (stderr, " -fg %s",
+ gettext("color graph color\n"));
+ fprintf (stderr, " -hl %s",
+ gettext("color scale and text color\n"));
+ fprintf (stderr, " -nolabel %s",
+ gettext("removes the label from above the chart.\n"));
+ fprintf (stderr, " -jumpscroll %s",
+ gettext("value number of pixels to scroll on overflow\n"));
+ fprintf (stderr, " -lights %s",
+ gettext("use keyboard leds to display current load\n"));
fprintf (stderr, "\n");
exit(1);
}
@@ -147,6 +173,9 @@ main(int argc, char **argv)
Arg args[1];
Pixmap icon_pixmap = None;
char *label, host[256];
+ char *domaindir;
+
+ XtSetLanguageProc ( NULL, NULL, NULL );
ProgramName = argv[0];
@@ -155,12 +184,12 @@ main(int argc, char **argv)
InitLoadPoint();
/* reset gid first while still (maybe) root */
if (setgid(getgid()) == -1) {
- fprintf(stderr, "%s: setgid failed: %s\n",
+ fprintf(stderr, gettext("%s: setgid failed: %s\n"),
ProgramName, strerror(errno));
exit(1);
}
if (setuid(getuid()) == -1) {
- fprintf(stderr, "%s: setuid failed: %s\n",
+ fprintf(stderr, gettext("%s: setuid failed: %s\n"),
ProgramName, strerror(errno));
exit(1);
}
@@ -169,6 +198,14 @@ main(int argc, char **argv)
toplevel = XtAppInitialize(&app_con, "XLoad", options, XtNumber(options),
&argc, argv, NULL, NULL, (Cardinal) 0);
+
+ textdomain("xload");
+
+ if ((domaindir = getenv ( "TEXTDOMAINDIR" )) == NULL) {
+ domaindir = "/usr/share/locale"; /*XLOCALEDIR;*/
+ }
+ bindtextdomain("xload", domaindir);
+
if (argc != 1) usage();
XtGetApplicationResources( toplevel, (XtPointer) &resources,
--
1.5.6.5
More information about the xorg-devel
mailing list