summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--tdm/backend/session.c4
-rw-r--r--tdm/kfrontend/tdm_greet.c7
2 files changed, 10 insertions, 1 deletions
diff --git a/tdm/backend/session.c b/tdm/backend/session.c
index 9a12ce312..4b5f372db 100644
--- a/tdm/backend/session.c
+++ b/tdm/backend/session.c
@@ -807,6 +807,10 @@ systemEnv( const char *user )
env = baseEnv( user );
if (td->authFile)
env = setEnv( env, "XAUTHORITY", td->authFile );
+ char *lang = getenv("LANG");
+ if (lang != NULL) {
+ env = setEnv( env, "LANG", lang );
+ }
env = setEnv( env, "PATH", td->systemPath );
env = setEnv( env, "SHELL", td->systemShell );
return env;
diff --git a/tdm/kfrontend/tdm_greet.c b/tdm/kfrontend/tdm_greet.c
index c90ebc1c9..5c77fadf0 100644
--- a/tdm/kfrontend/tdm_greet.c
+++ b/tdm/kfrontend/tdm_greet.c
@@ -779,7 +779,12 @@ main( int argc ATTR_UNUSED, char **argv )
LogPanic( "Cannot save $HOME\n" );
atexit( cleanup );
- setenv( "LC_ALL", _language, 1 );
+ if ( getenv( "LANG" ) == NULL ) {
+ setenv( "LC_ALL", _language, 1 );
+ }
+ else {
+ setenv( "LC_ALL", getenv( "LANG" ), 1 );
+ }
kg_main( argv[0] );