6 import collate
.syslocale
as default
7 import collate
.uca
as default
8 import collate
.icu
as default
14 def set_locale(locale_code
):
17 if collator
is None or collator
.locale
!= locale_code
:
18 for code
in [locale_code
,
19 locale_code
.split("_")[0],
20 locale
.getdefaultlocale()[0],
21 locale
.getdefaultlocale()[0].split("_")[0],
24 collator
= default
.Collator(code
)
25 except collate
.errors
.InvalidLocaleError
:
30 raise collate
.errors
.InvalidLocaleError(locale_code
)
33 return collator
.locale
35 def set_backend(backend
):
39 return collator
.key(string
)
41 def cmp(string1
, string2
):
42 return collator
.cmp(string1
, string2
)
44 set_locale(locale
.getdefaultlocale()[0])