|
@@ -0,0 +1,19 @@
|
|
|
+import fasttext
|
|
|
+import os
|
|
|
+from flask_babel import gettext
|
|
|
+
|
|
|
+name = gettext('Autodetect search language')
|
|
|
+description = gettext('Automatically detect the query search language and switch to it.')
|
|
|
+preference_section = 'general'
|
|
|
+default_on = False
|
|
|
+
|
|
|
+
|
|
|
+fasttext.FastText.eprint = lambda x: None
|
|
|
+model = fasttext.load_model(os.path.dirname(os.path.realpath(__file__)) + '/../data/lid.176.ftz')
|
|
|
+
|
|
|
+
|
|
|
+def pre_search(request, search):
|
|
|
+ lang = model.predict(search.search_query.query, k=1)
|
|
|
+ if lang[1][0] >= 0.3:
|
|
|
+ search.search_query.lang = lang[0][0].split('__label__')[1]
|
|
|
+ return True
|