119 def _autocomplete(self, value):
120 if not value:
121
122 if len(settings['search']['languages']) < 10:
123 for lang in settings['search']['languages']:
124 self.raw_text_query.autocomplete_list.append(':' + lang)
125 else:
126 for lang in [":en", ":en_us", ":english", ":united_kingdom"]:
127 self.raw_text_query.autocomplete_list.append(lang)
128 return
129
130 for lc in sxng_locales:
131 if lc[0] not in settings['search']['languages']:
132 continue
133 lang_id, lang_name, country, english_name, _flag = map(str.lower, lc)
134
135
136 if lang_id.startswith(value):
137 if len(value) <= 2:
138 self._add_autocomplete(':' + lang_id.split('-')[0])
139 else:
140 self._add_autocomplete(':' + lang_id)
141
142
143 if lang_name.startswith(value) or english_name.startswith(value):
144 self._add_autocomplete(':' + lang_name)
145
146
147
148 if country.startswith(value.replace('-', ' ')):
149 self._add_autocomplete(':' + country.replace(' ', '_'))
150
151