diff options
-rw-r--r-- | tdm/backend/session.c | 4 | ||||
-rw-r--r-- | tdm/kfrontend/tdm_greet.c | 7 |
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] ); |