Better handling of LANG. My code need to be tided up.
svn: r14212
This commit is contained in:
parent
af1de6aaf6
commit
d3f04fc6ee
@ -1788,7 +1788,7 @@ def get_relationship_calculator(reinit=False):
|
|||||||
lang = ' '
|
lang = ' '
|
||||||
try:
|
try:
|
||||||
lang = os.environ["LANG"]
|
lang = os.environ["LANG"]
|
||||||
_LANG_SET = True
|
lang_set = True
|
||||||
except:
|
except:
|
||||||
# if LANG is not set
|
# if LANG is not set
|
||||||
import locale
|
import locale
|
||||||
@ -1796,25 +1796,39 @@ def get_relationship_calculator(reinit=False):
|
|||||||
if not lang:
|
if not lang:
|
||||||
# if lang is empty/None
|
# if lang is empty/None
|
||||||
lang = locale.getdefaultlocale()[0]
|
lang = locale.getdefaultlocale()[0]
|
||||||
_LANG_SET = False
|
lang_set = False
|
||||||
|
|
||||||
__RELCALC_CLASS = RelationshipCalculator
|
__RELCALC_CLASS = RelationshipCalculator
|
||||||
# set correct relationship calculator based on LANG
|
# set correct relationship calculator based on LANG
|
||||||
|
relation_translation_found = False
|
||||||
for plugin in PluginRegister.get_instance().relcalc_plugins():
|
for plugin in PluginRegister.get_instance().relcalc_plugins():
|
||||||
if not lang in plugin.lang_list and _LANG_SET:
|
|
||||||
# LANG set but with non recognizable language info. Try getlocale
|
|
||||||
import locale
|
|
||||||
lang = locale.getlocale()[0]
|
|
||||||
if not lang:
|
|
||||||
# if lang is empty/None
|
|
||||||
lang = locale.getdefaultlocale()[0]
|
|
||||||
if lang in plugin.lang_list:
|
if lang in plugin.lang_list:
|
||||||
pmgr = BasePluginManager.get_instance()
|
pmgr = BasePluginManager.get_instance()
|
||||||
# the loaded module is put in variable mod
|
# the loaded module is put in variable mod
|
||||||
mod = pmgr.load_plugin(plugin)
|
mod = pmgr.load_plugin(plugin)
|
||||||
if mod:
|
if mod:
|
||||||
__RELCALC_CLASS = eval('mod.' + plugin.relcalcclass)
|
__RELCALC_CLASS = eval('mod.' + plugin.relcalcclass)
|
||||||
|
relation_translation_found = True
|
||||||
break
|
break
|
||||||
|
if not relation_translation_found:
|
||||||
|
# LANG set but with non recognizable language info. Try getlocale
|
||||||
|
import locale
|
||||||
|
lang = locale.getlocale()[0]
|
||||||
|
if not lang:
|
||||||
|
# if lang is empty/None
|
||||||
|
lang = locale.getdefaultlocale()[0]
|
||||||
|
for plugin in PluginRegister.get_instance().relcalc_plugins():
|
||||||
|
if lang in plugin.lang_list:
|
||||||
|
pmgr = BasePluginManager.get_instance()
|
||||||
|
# the loaded module is put in variable mod
|
||||||
|
mod = pmgr.load_plugin(plugin)
|
||||||
|
if mod:
|
||||||
|
__RELCALC_CLASS = eval('mod.' + plugin.relcalcclass)
|
||||||
|
relation_translation_found = True
|
||||||
|
break
|
||||||
|
if not relation_translation_found and \
|
||||||
|
len(PluginRegister.get_instance().relcalc_plugins()):
|
||||||
|
print "No language available or wrong code in rel_xx.py."
|
||||||
|
print "English will be used."
|
||||||
return __RELCALC_CLASS()
|
return __RELCALC_CLASS()
|
||||||
|
|
||||||
#-------------------------------------------------------------------------
|
#-------------------------------------------------------------------------
|
||||||
|
Loading…
Reference in New Issue
Block a user