mirror of
https://github.com/nonebot/nonebot2.git
synced 2025-06-17 18:08:05 +00:00
Fix bug in translate
This commit is contained in:
parent
3a116b9bc9
commit
986e232e79
@ -23,6 +23,11 @@ def process(args_text, ctx_msg, internal=False):
|
|||||||
potential_commands = sorted(filter(lambda x: x[0] > 60, potential_commands), key=lambda x: x[0], reverse=True)
|
potential_commands = sorted(filter(lambda x: x[0] > 60, potential_commands), key=lambda x: x[0], reverse=True)
|
||||||
if len(potential_commands) > 0:
|
if len(potential_commands) > 0:
|
||||||
most_possible_cmd = potential_commands[0]
|
most_possible_cmd = potential_commands[0]
|
||||||
|
core.echo(
|
||||||
|
'识别出最可能的等价命令:\n' + ' '.join((most_possible_cmd[1], most_possible_cmd[2])),
|
||||||
|
ctx_msg,
|
||||||
|
internal
|
||||||
|
)
|
||||||
ctx_msg['parsed_data'] = most_possible_cmd[3]
|
ctx_msg['parsed_data'] = most_possible_cmd[3]
|
||||||
cmdhub.call(most_possible_cmd[1], most_possible_cmd[2], ctx_msg)
|
cmdhub.call(most_possible_cmd[1], most_possible_cmd[2], ctx_msg)
|
||||||
else:
|
else:
|
||||||
|
@ -3,14 +3,14 @@ import re
|
|||||||
from nl_processor import as_processor
|
from nl_processor import as_processor
|
||||||
|
|
||||||
_query_lang_matcher = [
|
_query_lang_matcher = [
|
||||||
re.compile('[把将]?[\s,.,。]?(.*?)[\s,.,。]?(?:这[个]?(?:词[组]?|句(?:子|话)?|短语))?翻译[成为到](\w+?[文语])(?![\s::,,.。])'),
|
re.compile('(?:(?:要|[应]?该)?怎么|怎样|如何)?[把将]?[\s,.,。]?(?P<query>.*?)[\s,.,。]?'
|
||||||
re.compile('(\w+?)[\s,.,。]?(?:这[个]?(?:词[组]?|句(?:子|话)?|短语))?[的用](\w+?[文语])')
|
'(?:这[个]?(?:词[组]?|句(?:子|话)?|短语))?翻译[成为到](?P<lang>\w+?[文语])(?![\s::,,.。])'),
|
||||||
]
|
re.compile('(?P<query>.+?)[\s,.,。]?(?:这[个]?(?:词[组]?|句(?:子|话)?|短语))?的(?P<lang>\w+?[文语])'),
|
||||||
|
re.compile('.*?[把将]?(?:(?:[下后][面])?(?:这[个]?|[下后][面]?)(?:词[组]?|句(?:子|话)?|短语))?'
|
||||||
_lang_query_matcher = [
|
'翻译[成为到]\s*(?P<lang>\w+?[文语])[\s::,,](?P<query>.*)'),
|
||||||
re.compile('.*[把将]?(?:(?:这[个]?|[下后][面]?)(?:词[组]?|句(?:子|话)?|短语))?翻译[成为到]\s*(\w+?[文语])[\s::,,](.*)'),
|
re.compile('.*[用]?(?P<lang>\w+?[文语])\w*?(?:说|讲|表达|表示)'
|
||||||
re.compile('[用]?(\w+[文语])\w+?(?:说|讲|表达|表示)(.*)(?:这[个]?(?:词[组]?|句(?:子|话)?|短语))'),
|
'(?P<query>.*)(?:这[个]?(?:词[组]?|句(?:子|话)?|短语))'),
|
||||||
re.compile('[用]?(\w+[文语])\w+?(?:说|讲|表达|表示)(.*)'),
|
re.compile('.*[用]?(?P<lang>\w+?[文语])\w*?(?:说|讲|表达|表示)[\s::,,]?(?P<query>.*)'),
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
||||||
@ -18,13 +18,10 @@ _lang_query_matcher = [
|
|||||||
def _processor(sentence, segmentation):
|
def _processor(sentence, segmentation):
|
||||||
lang = None
|
lang = None
|
||||||
query = None
|
query = None
|
||||||
for matcher in _query_lang_matcher + _lang_query_matcher:
|
for matcher in _query_lang_matcher:
|
||||||
m = matcher.match(sentence)
|
m = matcher.match(sentence)
|
||||||
if m:
|
if m:
|
||||||
if matcher in _lang_query_matcher:
|
lang, query = m.group('lang'), m.group('query')
|
||||||
lang, query = m.group(1), m.group(2)
|
|
||||||
else:
|
|
||||||
lang, query = m.group(2), m.group(1)
|
|
||||||
break
|
break
|
||||||
if lang and query:
|
if lang and query:
|
||||||
print('翻译: 目标语言:', lang, ', 待翻译文本:', query)
|
print('翻译: 目标语言:', lang, ', 待翻译文本:', query)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user