diff --git a/pym/calculate/lib/variables/locale.py b/pym/calculate/lib/variables/locale.py index c415271..a065c01 100644 --- a/pym/calculate/lib/variables/locale.py +++ b/pym/calculate/lib/variables/locale.py @@ -467,11 +467,19 @@ class VariableOsLocaleLocale(ReadonlyVariable, Locale): locale_file = '/etc/env.d/02locale' locale_val = getValueFromCmdLine("calculate", 0) if self.isLangExists(locale_val): - return self.getFieldByLang('locale', locale_val) + cmd_val = self.getFieldByLang('locale', locale_val) else: - locale_val = getValueFromConfig(locale_file, 'LANG') - if self.isValueInFieldExists('locale', locale_val): - return locale_val + cmd_val = None + locale_val = getValueFromConfig(locale_file, 'LANG') + if self.isValueInFieldExists('locale', locale_val): + file_val = locale_val + else: + file_val = None + if file_val or cmd_val: + if self.GetBool('cl_system_boot_set'): + return cmd_val or file_val + else: + return file_val or cmd_val if "LANG" in os.environ and os.environ["LANG"] != "C": return os.environ["LANG"] return self.getFieldByLang("locale", "default") @@ -517,12 +525,14 @@ class VariableOsLocaleXkbname(ReadonlyVariable, Locale): return locale_xkb.split("(")[0] return "" + class VariableOsLocaleLatSet(ReadonlyVariable, Locale): """ Локаль содержит раскладку совместимую с латиницей Используется для отображения индикатора переключения языка """ + def get(self): """xkb layouts (example: en,ru)""" layout = self.Get('os_locale_xkbname').split(',') @@ -531,6 +541,7 @@ class VariableOsLocaleLatSet(ReadonlyVariable, Locale): else: return "off" + class VariableOsLang(ReadonlyVariable, Locale): """ Supported langs