Merge pull request #1452 from a-andre/locale
This commit is contained in:
commit
d858f86a18
@ -325,16 +325,6 @@ class GrampsLocale:
|
|||||||
else:
|
else:
|
||||||
self.calendar = self.lang
|
self.calendar = self.lang
|
||||||
|
|
||||||
if 'LC_NUMERIC' in os.environ:
|
|
||||||
self.numeric = os.environ['LC_NUMERIC']
|
|
||||||
else:
|
|
||||||
self.numeric = self.lang
|
|
||||||
|
|
||||||
if 'LC_MONETARY' in os.environ:
|
|
||||||
self.currency = os.environ['LC_MONETARY']
|
|
||||||
else:
|
|
||||||
self.currency = self.lang
|
|
||||||
|
|
||||||
def _init_from_environment(self):
|
def _init_from_environment(self):
|
||||||
|
|
||||||
def _check_locale(locale):
|
def _check_locale(locale):
|
||||||
@ -397,18 +387,6 @@ class GrampsLocale:
|
|||||||
if HAVE_ICU and 'COLLATION' in os.environ:
|
if HAVE_ICU and 'COLLATION' in os.environ:
|
||||||
self.collation = os.environ['COLLATION']
|
self.collation = os.environ['COLLATION']
|
||||||
|
|
||||||
loc = locale.getlocale(locale.LC_NUMERIC)
|
|
||||||
if loc and loc[0]:
|
|
||||||
self.numeric = '.'.join(loc)
|
|
||||||
else:
|
|
||||||
self.numeric = self.lang
|
|
||||||
|
|
||||||
loc = locale.getlocale(locale.LC_MONETARY)
|
|
||||||
if loc and loc[0]:
|
|
||||||
self.currency = '.'.join(loc)
|
|
||||||
else:
|
|
||||||
self.currency = self.lang
|
|
||||||
|
|
||||||
# $LANGUAGE overrides $LANG, $LC_MESSAGES
|
# $LANGUAGE overrides $LANG, $LC_MESSAGES
|
||||||
if "LANGUAGE" in os.environ:
|
if "LANGUAGE" in os.environ:
|
||||||
language = [x for x in [self.check_available_translations(l)
|
language = [x for x in [self.check_available_translations(l)
|
||||||
@ -468,7 +446,7 @@ class GrampsLocale:
|
|||||||
else:
|
else:
|
||||||
self._init_from_environment()
|
self._init_from_environment()
|
||||||
else:
|
else:
|
||||||
self.numeric = self.currency = self.calendar = self.collation = self.lang
|
self.calendar = self.collation = self.lang
|
||||||
|
|
||||||
if not self.lang:
|
if not self.lang:
|
||||||
self.lang = 'en_US.UTF-8'
|
self.lang = 'en_US.UTF-8'
|
||||||
@ -570,7 +548,7 @@ class GrampsLocale:
|
|||||||
if not self.language and _first.language:
|
if not self.language and _first.language:
|
||||||
self.language = _first.language
|
self.language = _first.language
|
||||||
|
|
||||||
self.numeric = self.currency = self.calendar = self.collation = self.lang
|
self.calendar = self.collation = self.lang
|
||||||
|
|
||||||
self.rtl_locale = False
|
self.rtl_locale = False
|
||||||
if self.language[0] in _RTL_LOCALES:
|
if self.language[0] in _RTL_LOCALES:
|
||||||
|
@ -46,9 +46,8 @@ are the names of the controls in System Preferences; the names in the
|
|||||||
defaults system are AppleCollationOrder and AppleLocale,
|
defaults system are AppleCollationOrder and AppleLocale,
|
||||||
respectively.)
|
respectively.)
|
||||||
|
|
||||||
The user can override the currency and calendar, and those values are
|
The user can override the calendar, and thise value is appended to AppleLocale
|
||||||
appended to AppleLocale and parsed below. But Gramps makes no use of
|
and parsed below. But Gramps sets the calendar in its own preferences, so it is
|
||||||
currency and sets the calendar in its own preferences, so they're
|
|
||||||
ignored.
|
ignored.
|
||||||
|
|
||||||
Where the mismatch becomes a problem is in date and number
|
Where the mismatch becomes a problem is in date and number
|
||||||
@ -56,7 +55,7 @@ formatting. POSIX specifies a locale for this, but ICU uses format
|
|||||||
strings, and there is no good way to map those strings into one of the
|
strings, and there is no good way to map those strings into one of the
|
||||||
available locales. Users who whan to specify particular ways of
|
available locales. Users who whan to specify particular ways of
|
||||||
formatting different from their base locales will have to figure out
|
formatting different from their base locales will have to figure out
|
||||||
the appropriate locale on their own and set LC_TIME and LC_NUMERIC
|
the appropriate locale on their own and set LC_TIME
|
||||||
appropriately. The "Formats" page on the Languages & Text
|
appropriately. The "Formats" page on the Languages & Text
|
||||||
(International in Leopard) System Preferences pane is a good way to
|
(International in Leopard) System Preferences pane is a good way to
|
||||||
quickly assess the formats in various locales.
|
quickly assess the formats in various locales.
|
||||||
@ -148,7 +147,6 @@ def mac_setup_localization(glocale):
|
|||||||
def _mac_check_locale(locale_string):
|
def _mac_check_locale(locale_string):
|
||||||
locale = None
|
locale = None
|
||||||
calendar = None
|
calendar = None
|
||||||
currency = None
|
|
||||||
div = locale_string.strip().split("@")
|
div = locale_string.strip().split("@")
|
||||||
LOG.debug("Checking Locale %s", ' '.join(div))
|
LOG.debug("Checking Locale %s", ' '.join(div))
|
||||||
locale = glocale.check_available_translations(div[0])
|
locale = glocale.check_available_translations(div[0])
|
||||||
@ -158,10 +156,8 @@ def mac_setup_localization(glocale):
|
|||||||
(name, value) = phrase.split("=")
|
(name, value) = phrase.split("=")
|
||||||
if name == "calendar":
|
if name == "calendar":
|
||||||
calendar = glocale.check_available_translations(value)
|
calendar = glocale.check_available_translations(value)
|
||||||
elif name == "currency":
|
|
||||||
currency = value
|
|
||||||
|
|
||||||
return (locale, calendar, currency)
|
return (locale, calendar)
|
||||||
|
|
||||||
def _mac_get_locale():
|
def _mac_get_locale():
|
||||||
"""
|
"""
|
||||||
@ -214,7 +210,6 @@ def mac_setup_localization(glocale):
|
|||||||
_locale = None
|
_locale = None
|
||||||
_failure = False
|
_failure = False
|
||||||
glocale.calendar = None
|
glocale.calendar = None
|
||||||
glocale.currency = None
|
|
||||||
try:
|
try:
|
||||||
locale.setlocale(locale.LC_ALL, '')
|
locale.setlocale(locale.LC_ALL, '')
|
||||||
_locale = locale.getlocale()
|
_locale = locale.getlocale()
|
||||||
@ -229,7 +224,7 @@ def mac_setup_localization(glocale):
|
|||||||
|
|
||||||
if not glocale.lang:
|
if not glocale.lang:
|
||||||
LOG.debug("Setting from the environment didn't work out, checking defaults")
|
LOG.debug("Setting from the environment didn't work out, checking defaults")
|
||||||
(glocale.lang, glocale.currency, glocale.calendar) = _mac_get_locale()
|
(glocale.lang, glocale.calendar) = _mac_get_locale()
|
||||||
|
|
||||||
glocale.coll_qualifier = None
|
glocale.coll_qualifier = None
|
||||||
glocale.collation = _mac_get_collation()
|
glocale.collation = _mac_get_collation()
|
||||||
@ -293,8 +288,3 @@ def mac_setup_localization(glocale):
|
|||||||
glocale.calendar = time
|
glocale.calendar = time
|
||||||
else:
|
else:
|
||||||
glocale.calendar = glocale.lang[:5]
|
glocale.calendar = glocale.lang[:5]
|
||||||
|
|
||||||
if not glocale.currency:
|
|
||||||
glocale.currency = locale.getlocale(locale.LC_MONETARY)[0] or glocale.lang
|
|
||||||
|
|
||||||
glocale.numeric = locale.getlocale(locale.LC_NUMERIC)[0] or glocale.lang
|
|
||||||
|
@ -581,8 +581,6 @@ def run():
|
|||||||
LOG.debug("Translating Gramps to %s", glocale.language[0])
|
LOG.debug("Translating Gramps to %s", glocale.language[0])
|
||||||
LOG.debug("Collation Locale: %s", glocale.collation)
|
LOG.debug("Collation Locale: %s", glocale.collation)
|
||||||
LOG.debug("Date/Time Locale: %s", glocale.calendar)
|
LOG.debug("Date/Time Locale: %s", glocale.calendar)
|
||||||
LOG.debug("Currency Locale: %s", glocale.currency)
|
|
||||||
LOG.debug("Number-format Locale: %s", glocale.numeric)
|
|
||||||
|
|
||||||
if 'LANG' in os.environ:
|
if 'LANG' in os.environ:
|
||||||
LOG.debug('Using LANG: %s' %
|
LOG.debug('Using LANG: %s' %
|
||||||
|
Loading…
Reference in New Issue
Block a user