From ad7c3eb581627159959cbfa5c57b0a76eb2d99e7 Mon Sep 17 00:00:00 2001
From: Mamoru TASAKA <mtasaka@fedoraproject.org>
Date: Wed, 24 Mar 2021 00:10:36 +0900
Subject: [PATCH] xscreensaver-gfx: set locate with gettext mechanism
To make some strings translated for xscreensaver-gfx, set locale with gettext mechanism.
Also, adjust Makefile to pass cflags.
---
driver/Makefile.in | 4 +++-
driver/xscreensaver-gfx.c | 15 +++++++++++++++
2 files changed, 18 insertions(+), 1 deletion(-)
diff --git a/driver/Makefile.in b/driver/Makefile.in
index 2c3c1c9..d5c12a8 100644
--- a/driver/Makefile.in
+++ b/driver/Makefile.in
@@ -104,7 +104,7 @@ DAEMON_OBJS = xscreensaver.o blurb.o atoms.o clientmsg.o xinput.o prefs.o \
$(UTILS_BIN)/xmu.o
DAEMON_LIBS = $(LIBS_PRE) $(XINPUT_LIBS) -lX11 $(LIBS_POST)
-GFX_DEFS =
+GFX_DEFS = -DLOCALEDIR=\"$(localedir)\"
GFX_SRCS = xscreensaver-gfx.c screens.c windows.c subprocs.c \
exec.c prefsw.c dpms.c fade.c exts.c atomswm.c
GFX_OBJS = xscreensaver-gfx.o screens.o windows.o subprocs.o \
@@ -833,6 +833,8 @@ xscreensaver: $(DAEMON_OBJS)
$(CC) $(LDFLAGS) -o $@ $(DAEMON_OBJS) $(DAEMON_LIBS)
xscreensaver-gfx.o: XScreenSaver_ad.h
+xscreensaver-gfx.o: xscreensaver-gfx.c
+ $(CC) -c $(CC_ALL) $(GFX_DEFS) $<
xscreensaver-gfx: $(GFX_OBJS)
$(CC) $(LDFLAGS) -o $@ $(GFX_OBJS) $(GFX_LIBS)
diff --git a/driver/xscreensaver-gfx.c b/driver/xscreensaver-gfx.c
index 61c50d5..b9c06e2 100644
--- a/driver/xscreensaver-gfx.c
+++ b/driver/xscreensaver-gfx.c
@@ -42,6 +42,10 @@
# include <X11/extensions/Xrandr.h>
#endif /* HAVE_RANDR */
+#ifdef ENABLE_NLS
+# include <libintl.h>
+#endif
+
#include "xscreensaver.h"
#include "version.h"
#include "atoms.h"
@@ -559,6 +563,17 @@ main (int argc, char **argv)
putenv (s);
/* free (s); */ /* some versions of putenv do not copy */
+# ifdef ENABLE_NLS
+ {
+ bindtextdomain (GETTEXT_PACKAGE, LOCALEDIR);
+ textdomain (GETTEXT_PACKAGE);
+ bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8");
+ if (!setlocale (LC_ALL, ""))
+ fprintf (stderr, "%s: warning: could not set default locale\n",
+ progname);
+ }
+# endif /* ENABLE_NLS */
+
connect_to_server (si);
if (p->xsync_p)
--
2.30.2