Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

能不能指定simplifier只对特定translator生效 #1709

Open
oheheda opened this issue Nov 15, 2024 · 8 comments
Open

能不能指定simplifier只对特定translator生效 #1709

oheheda opened this issue Nov 15, 2024 · 8 comments

Comments

@oheheda
Copy link

oheheda commented Nov 15, 2024

我想实现同一个方案中混输拼音和日文,所以定义了两个翻译器,方案部分配置如下

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中的每一页,但是没有发现如何进行相关的配置

@ksqsf
Copy link
Member

ksqsf commented Nov 15, 2024

不能实现

@lotem
Copy link
Member

lotem commented Nov 15, 2024

可以設置 simplifier/tags
前提是兩個翻譯器的 translator/tag 不同。

這個做法的可能性需要從源代碼中找到。Wiki 不可能列出所有的組合方式。
希望你能成功。並幫忙補充到 Wiki。

@oheheda
Copy link
Author

oheheda commented Nov 16, 2024

我现在了解到translator/tag是用于指定该translator生效的tag,但没有发现如何才能令translator的结果附加特定的tag供simplifier去区分来自哪个translator。

@ksqsf
Copy link
Member

ksqsf commented Nov 16, 2024

混输的情况确实无法实现吧(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]*'

@oheheda
Copy link
Author

oheheda commented Nov 17, 2024

非常感谢,了解到了这种解决方法了,要是将来的版本能够支持translator增加tag就好了

@lotem
Copy link
Member

lotem commented Nov 18, 2024

不不。@ksqsf 是對的。混書不行。

tag 加在輸入碼的段落上,而不是候選詞上。
tag 區分,得先靠模式匹配區分開輸入的是哪種文字。
然後各個 translatorsimplifier 各自按照匹配的 tag 出詞。

日文與拼音有些輸入碼重合,因此無法通過 tag 區分開~

@oheheda
Copy link
Author

oheheda commented Nov 18, 2024

个人见解,要是将来能够支持translator给候选词附加tag,或者simplifier之类的filter能够直接区分每个候选词来自哪个translator就再好不过了

1 similar comment
@oheheda
Copy link
Author

oheheda commented Nov 18, 2024

个人见解,要是将来能够支持translator给候选词附加tag,或者simplifier之类的filter能够直接区分每个候选词来自哪个translator就再好不过了

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants