mirror of
https://github.com/LibreTranslate/LibreTranslate.git
synced 2024-06-10 17:39:27 +00:00
when translating: limit allowed languages to the ones available
This commit is contained in:
parent
596b8a9f68
commit
ab62fac1df
|
@ -512,12 +512,12 @@ def create_app(args):
|
|||
auto_detect_texts = q
|
||||
else:
|
||||
auto_detect_texts = [q]
|
||||
|
||||
overall_candidates = detect_languages(q)
|
||||
allowed_languages = [_l.code for _l in languages]
|
||||
overall_candidates = detect_languages(q, allowed_languages=allowed_languages)
|
||||
|
||||
for text_to_check in auto_detect_texts:
|
||||
if len(text_to_check) > 40:
|
||||
candidate_langs = detect_languages(text_to_check)
|
||||
candidate_langs = detect_languages(text_to_check, allowed_languages=allowed_languages)
|
||||
else:
|
||||
# Unable to accurately detect languages for short texts
|
||||
candidate_langs = overall_candidates
|
||||
|
|
|
@ -13,7 +13,7 @@ def load_languages():
|
|||
|
||||
return __languages
|
||||
|
||||
def detect_languages(text):
|
||||
def detect_languages(text: str, allowed_languages: "list[str] | None" = None):
|
||||
# detect batch processing
|
||||
if isinstance(text, list):
|
||||
is_batch = True
|
||||
|
@ -25,7 +25,7 @@ def detect_languages(text):
|
|||
candidates = []
|
||||
for t in text:
|
||||
try:
|
||||
d = Detector(t).languages
|
||||
d = Detector(t, allowed_languages=allowed_languages).languages
|
||||
for i in range(len(d)):
|
||||
d[i].text_length = len(t)
|
||||
candidates.extend(d)
|
||||
|
|
Loading…
Reference in a new issue