Ticket #1441: 1441.patch

File 1441.patch, 2.1 KB (added by sascha_silbe, 15 years ago)

move ~/.i18n parsing from sugar-emulator to sugar

  • bin/sugar.in

    From: Sascha Silbe <sascha@silbe.org>
    Subject: [PATCH] move ~/.i18n parsing from sugar-emulator to sugar (#1441)
    
    The control panel stores locale settings in ~/.i18n, but currently this file
    is only read by Fedora scripts and sugar-emulator. Parsing it in sugar will 
    make language selection work in "native" sessions on all distros.
    
    Signed-off-by: Sascha Silbe <sascha@silbe.org>
    
    ---
     bin/sugar.in                |    5 ++++-
     src/jarabe/util/emulator.py |   21 ---------------------
     2 files changed, 4 insertions(+), 22 deletions(-)
    
    diff --git a/bin/sugar.in b/bin/sugar.in
    index fea79a9..55a085e 100644
    a b if ! test -f "$GTK2_RC_FILES"; then 
    4545    exit 1
    4646fi
    4747
    48 # Source debug definitions
     48# Source language settings and debug definitions
     49if [ -f ~/.i18n ]; then
     50        . ~/.i18n
     51fi
    4952if [ -f ~/.sugar/debug ]; then
    5053        . ~/.sugar/debug
    5154fi
  • src/jarabe/util/emulator.py

    diff --git a/src/jarabe/util/emulator.py b/src/jarabe/util/emulator.py
    index d2dacb5..ab713ba 100644
    a b def _setup_env(): 
    104104    os.environ['STREAM_ENGINE_LOGFILE'] = os.path.join(
    105105            env.get_profile_path(), 'logs', 'telepathy-stream-engine.log')
    106106
    107     path = os.path.join(os.environ.get("HOME"), '.i18n')
    108     if os.path.exists(path):   
    109         fd = open(path, "r")
    110         lines = fd.readlines()
    111         fd.close()
    112 
    113         language_env_variable = None
    114         lang_env_variable = None
    115 
    116         for line in lines:
    117             if line.startswith("LANGUAGE="):
    118                 lang = line[9:].replace('"', '')
    119                 language_env_variable = lang.strip()
    120             elif line.startswith("LANG="):
    121                 lang_env_variable = line[5:].replace('"', '')
    122 
    123         # There might be cases where .i18n may not contain a LANGUAGE field
    124         if language_env_variable is not None:
    125             os.environ['LANGUAGE'] = language_env_variable
    126         if lang_env_variable is not None:
    127             os.environ['LANG'] = lang_env_variable
    128107
    129108def main():
    130109    """Script-level operations"""