[addresses/languages] if there's only one default language and we don't have a road name or a unicode script to disambiguate, assume the default (e.g. English in the US unless there's a Spanish/French road name). Can affect things like state abbreviations

This commit is contained in:
Al
2016-11-22 18:27:23 -05:00
parent 3c5e2afeed
commit 3dc2a922fb
2 changed files with 6 additions and 2 deletions

View File

@@ -284,7 +284,11 @@ class AddressComponents(object):
else: else:
language = UNKNOWN_LANGUAGE language = UNKNOWN_LANGUAGE
else: else:
language = UNKNOWN_LANGUAGE default_languages = [lang for lang, default in candidate_languages if default]
if len(default_languages) == 1:
language = default_languages[0]
else:
language = UNKNOWN_LANGUAGE
return language return language

View File

@@ -97,7 +97,7 @@ LATIN_TRANSLITERATED_SCRIPTS = {'Arabic', 'Cyrllic'}
def has_non_latin_script(languages): def has_non_latin_script(languages):
for lang, is_default in languages: for lang, is_default in languages:
scripts = script_languages.get(lang, set()) scripts = lang_scripts.get(lang, set())
if LATIN_SCRIPT not in scripts or scripts & LATIN_TRANSLITERATED_SCRIPTS: if LATIN_SCRIPT not in scripts or scripts & LATIN_TRANSLITERATED_SCRIPTS:
return True return True
return False return False