|
|
|
@ -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
|
|
|
|
|