mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-07 10:14:46 -04:00
Try to use the right country variant english dictionary by default, based on the users locale settings
This commit is contained in:
parent
7d442f9320
commit
b4bd343ed7
@ -285,7 +285,7 @@ def get_windows_temp_path():
|
||||
def get_windows_user_locale_name():
|
||||
import ctypes
|
||||
k32 = ctypes.windll.kernel32
|
||||
n = 200
|
||||
n = 255
|
||||
buf = ctypes.create_unicode_buffer(u'\0'*n)
|
||||
n = k32.GetUserDefaultLocaleName(buf, n)
|
||||
if n == 0:
|
||||
|
@ -12,7 +12,7 @@ from operator import attrgetter
|
||||
|
||||
from calibre.constants import plugins, config_dir
|
||||
from calibre.utils.config import JSONConfig
|
||||
from calibre.utils.localization import get_lang, canonicalize_lang
|
||||
from calibre.utils.localization import get_lang, canonicalize_lang, get_system_locale
|
||||
|
||||
DictionaryLocale = namedtuple('DictionaryLocale', 'langcode countrycode')
|
||||
Dictionary = namedtuple('Dictionary', 'primary_locale locales dicpath affpath builtin name id')
|
||||
@ -82,7 +82,11 @@ def custom_dictionaries(reread=False):
|
||||
_custom = frozenset(dics)
|
||||
return _custom
|
||||
|
||||
default_preferred_locales = {'eng':'en-US', 'deu':'de-DE', 'spa':'es-ES', 'fra':'fr-FR'}
|
||||
default_en_locale = 'en-US'
|
||||
ul = parse_lang_code(get_system_locale())
|
||||
if ul is not None and ul.langcode == 'eng' and ul.countrycode in 'GB BS BZ GH IE IN JM NZ TT'.split():
|
||||
default_en_locale = 'en-' + ul.countrycode
|
||||
default_preferred_locales = {'eng':default_en_locale, 'deu':'de-DE', 'spa':'es-ES', 'fra':'fr-FR'}
|
||||
|
||||
def best_locale_for_language(langcode):
|
||||
best_locale = dprefs['preferred_locales'].get(langcode, default_preferred_locales.get(langcode, None))
|
||||
|
Loading…
x
Reference in New Issue
Block a user