# Set locale if it is not set or doesn't contain a dot:
[ "$LANG" = "${LANG#*.}" -a "$LANG" != "C" ] \
&& export LANG="${LANG:-de_DE}.${LC_encoding}"
-# All system messages should still be in "native" ("C") language:
-export LC_MESSAGES="C"
+# All system messages should still be in "native" ("C") language for
+# non-X11 sessions:
+[ -z "$GDMSESSION" -a -z "$XDG_SESSION_COOKIE" ] \
+ export LC_MESSAGES="C"
# Clean up ...
unset LC_CTYPE LC_encoding 2>/dev/null