能不能指定simplifier只对特定translator生效
我想实现同一个方案中混输拼音和日文,所以定义了两个翻译器,方案部分配置如下
engine:
filters:
- simplifier
- "simplifier@emoji_suggestion"
- "reverse_lookup_filter@japanese_revers_lookup"
- uniquifier
processors:
- ascii_composer
- recognizer
- key_binder
- speller
- punctuator
- selector
- navigator
- express_editor
segmentors:
- ascii_segmentor
- matcher
- abc_segmentor
- punct_segmentor
- fallback_segmentor
translators:
- punct_translator
- script_translator
- "script_translator@japanese"
translator:
dictionary: luna_pinyin
prism: pinyin_japanese
enable_user_dict: true
japanese:
comment_format:
- "xlit|q|ー|"
dictionary: japanese
enable_user_dict: true
enable_sentence: true
enable_completion: true
preedit_format:
- "xlit|q|ー|"
spelling_hints: 1
现在simplifier会对两个翻译器的结果都进行简化,导致部分日文单词的汉字变成了简体的,但是同时我又希望保留使用拼音打中文时的简繁转换功能,请问如何配置才能够令simplifier只对某个翻译器的结果进行转换或者排除某个翻译器呢,我已经翻遍了wiki中的每一页,但是没有发现如何进行相关的配置
不能实现
可以設置 simplifier/tags。
前提是兩個翻譯器的 translator/tag 不同。
這個做法的可能性需要從源代碼中找到。Wiki 不可能列出所有的組合方式。 希望你能成功。並幫忙補充到 Wiki。
我现在了解到translator/tag是用于指定该translator生效的tag,但没有发现如何才能令translator的结果附加特定的tag供simplifier去区分来自哪个translator。
混输的情况确实无法实现吧(tag都是"abc")。如果是带标记的,或者如果支持给candidate打上标记,就可以区分了。translator的tag也是用来筛选segment的,不会增加tag。
如果愿意接受额外输入标记:
engine:
translators:
- script_translator@japanese
filters:
- simplifier@simplifer # librime bug
japanese:
tag: japanese
simplifier:
tags: [abc]
recognizer:
patterns:
japanese: '^/r[a-z]*'
非常感谢,了解到了这种解决方法了,要是将来的版本能够支持translator增加tag就好了
不不。@ksqsf 是對的。混書不行。
tag 加在輸入碼的段落上,而不是候選詞上。
用 tag 區分,得先靠模式匹配區分開輸入的是哪種文字。
然後各個 translator 和 simplifier 各自按照匹配的 tag 出詞。
日文與拼音有些輸入碼重合,因此無法通過 tag 區分開~
个人见解,要是将来能够支持translator给候选词附加tag,或者simplifier之类的filter能够直接区分每个候选词来自哪个translator就再好不过了
个人见解,要是将来能够支持translator给候选词附加tag,或者simplifier之类的filter能够直接区分每个候选词来自哪个translator就再好不过了