Add logic for tr_TR street index

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@enix.org>
stable
Thomas Petazzoni 2012-04-28 00:17:25 +02:00
rodzic 26e45f82c2
commit 5682422e2f
1 zmienionych plików z 35 dodań i 0 usunięć

Wyświetl plik

@ -662,6 +662,40 @@ class i18n_pl_generic(i18n):
def first_letter_equal(self, a, b):
return a == b
class i18n_tr_TR_generic(i18n):
APPELLATIONS = [ u"Sokak", u"Sokağı" ]
DETERMINANTS = []
SPACE_REDUCE = re.compile(r"\s+")
PREFIX_REGEXP = re.compile(r"^(?P<prefix>(%s)(%s)?)\s?\b(?P<name>.+)" %
("|".join(APPELLATIONS),
"|".join(DETERMINANTS)), re.IGNORECASE
| re.UNICODE)
def __init__(self, language, locale_path):
self.language = str(language)
_install_language(language, locale_path)
def upper_unaccent_string(self, s):
return s.upper()
def language_code(self):
return self.language
def user_readable_street(self, name):
#
# Make sure name actually contains something,
# the PREFIX_REGEXP.match fails on zero-length strings
#
if len(name) == 0:
return name
name = name.strip()
name = self.SPACE_REDUCE.sub(" ", name)
name = self.PREFIX_REGEXP.sub(r"\g<name> (\g<prefix>)", name)
return name
def first_letter_equal(self, a, b):
return self.upper_unaccent_string(a) == self.upper_unaccent_string(b)
class i18n_de_generic(i18n):
#
@ -823,6 +857,7 @@ language_class_map = {
'pl_PL.UTF-8': i18n_pl_generic,
'nb_NO.UTF-8': i18n_generic,
'nn_NO.UTF-8': i18n_generic,
'tr_TR.UTF-8': i18_tr_TR_generic,
}
def install_translation(locale_name, locale_path):