Try playing around with the various locale-related environment variables before launching the xscreensaver daemon.
It *may* be that to make this work it's necessary for xscreensaver to call setlocale(), which it did briefly (possibly only in 5.12) but I turned that off because it screws everything up. See comment in xscreensaver.c:
/* It turns out that if we do NLS stuff here, people running in Japanese
locales get font craziness on the password dialog, presumably because
it is displaying Japanese characters in a non-Japanese font. I don't
understand how to automatically make all this crap work properly by
default, so until someone sends me a better patch, just leave it off
and run the daemon in English. -- jwz, 29-Sep-2010
*/
#undef ENABLE_NLS
#ifdef ENABLE_NLS
if (!setlocale (LC_ALL, ""))
fprintf (stderr, "locale not supported by C library\n");
Try playing around with the various locale-related environment variables before launching the xscreensaver daemon.
It *may* be that to make this work it's necessary for xscreensaver to call setlocale(), which it did briefly (possibly only in 5.12) but I turned that off because it screws everything up. See comment in xscreensaver.c:
/* It turns out that if we do NLS stuff here, people running in Japanese
locales get font craziness on the password dialog, presumably because
it is displaying Japanese characters in a non-Japanese font. I don't
understand how to automatically make all this crap work properly by
default, so until someone sends me a better patch, just leave it off
and run the daemon in English. -- jwz, 29-Sep-2010
*/
#undef ENABLE_NLS
#ifdef ENABLE_NLS
if (!setlocale (LC_ALL, ""))
fprintf (stderr, "locale not supported by C library\n");
bindtextdomain (GETTEXT_PACKAGE, LOCALEDIR);
textdomain (GETTEXT_PACKAGE);
#endif /* ENABLE_NLS */