文汇网站建设,开源镜像网站开发,wordpress建立,网站运营需要做什么在 rime中州韵小狼毫 help lua Translator 中我们分享了如何使用 lua 脚本定义一个 translator#xff0c;并以 五笔・拼音 为例引用了该 translator#xff0c;并且达到了预期的效果。
今天#xff0c;我们继续通过 lua 脚本为 rime中州韵/小狼毫 输入法打造一个 translat…在 rime中州韵小狼毫 help lua Translator 中我们分享了如何使用 lua 脚本定义一个 translator并以 五笔・拼音 为例引用了该 translator并且达到了预期的效果。
今天我们继续通过 lua 脚本为 rime中州韵/小狼毫 输入法打造一个 translator这个translator 的作用是将用户输入的原始字符根据我们的需要透传到候选项中以便为将来的 filter 处理程序提供必要的输入。
inputShow.lua
我们在 inputShow.lua 文档内定义我们的 translator 逻辑translator 逻辑定义如下
--对于指定的输入符号需要直接提供对应转换值的输入选项供后处理使用
local cands{}
--以下单字母需要输出
cands[a]a
cands[b]b
cands[c]c
cands[d]d
cands[e]e
cands[f]f
cands[g]g
cands[h]h
cands[i]i
cands[j]j
cands[k]k
cands[l]l
cands[m]m
cands[n]n
cands[o]o
cands[p]p
cands[q]q
cands[r]r
cands[s]s
cands[t]t
cands[u]u
cands[v]v
cands[w]w
cands[x]x
cands[y]y
cands[z]z--以下是常用简写的输出
cands[id]id
cands[ip]ip--以下是化学元素简写需要输出
cands[he]He
cands[li]Li
cands[be]Be
cands[ne]Ne
cands[na]Na
cands[mg]Mg
cands[al]Al
cands[si]Si
cands[cl]Cl
cands[ar]Ar
cands[ca]Ca
cands[sc]Sc
cands[ti]Ti
cands[cr]Cr
cands[mn]Mn
cands[fe]Fe
cands[co]Co
cands[ni]Ni
cands[cu]Cu
cands[zn]Zn
cands[ga]Ga
cands[ge]Ge
cands[as]As
cands[se]Se
cands[br]Br
cands[kr]Kr
cands[rb]Rb
cands[sr]Sr
cands[zr]Zr
cands[nb]Nb
cands[mo]Mo
cands[tc]Tc
cands[ru]Ru
cands[rh]Rh
cands[pd]Pd
cands[ag]Ag
cands[cd]Cd
cands[in]In
cands[sn]Sn
cands[sb]Sb
cands[te]Te
cands[xe]Xe
cands[cs]Cs
cands[ba]Ba
cands[la]La
cands[ce]Ce
cands[pr]Pr
cands[nd]Nd
cands[pm]Pm
cands[sm]Sm
cands[eu]Eu
cands[gd]Gd
cands[tb]Tb
cands[dy]Dy
cands[ho]Ho
cands[er]Er
cands[tm]Tm
cands[yb]Yb
cands[lu]Lu
cands[hf]Hf
cands[ta]Ta
cands[re]Re
cands[os]Os
cands[ir]Ir
cands[pt]Pt
cands[au]Au
cands[hg]Hg
cands[tl]Tl
cands[pb]Pb
cands[bi]Bi
cands[po]Po
cands[at]At
cands[rn]Rn
cands[fr]Fr
cands[ra]Ra
cands[ac]Ac
cands[th]Th
cands[pa]Pa
cands[np]Np
cands[pu]Pu
cands[am]Am
cands[cm]Cm
cands[bk]Bk
cands[cf]Cf
cands[es]Es
cands[fm]Fm
cands[md]Md
cands[no]No
cands[lr]Lr
cands[rf]Rf
cands[db]Db
cands[sg]Sg
cands[bh]Bh
cands[hs]Hs
cands[mt]Mt
cands[ds]Ds
cands[rg]Rg
cands[cn]Cn
cands[nh]Nh
cands[fl]Fl
cands[mc]Mc
cands[lv]Lv
cands[ts]Ts
cands[og]Ogfunction translator(input, seg)--抛出一个选项用于告诉下游输入的内容是什么为了避免和正式输入内容混淆加入一个 Str的前缀yield(Candidate(inputShow, seg.start, seg._end, Str..input, inputShowStr))if nil~cands[input] thenif cands[input] thenyield(Candidate(inputShow, seg.start, seg._end, input, inputShow))elseyield(Candidate(inputShow, seg.start, seg._end, cands[input], inputShow))endend
endreturn translator以上所展示的 lua 脚本中定义了一组 cands 字符。当用户的输入与 cands 字符匹配时则将这组输入的字符做为词组候选项抛出效果如下 如上图所示的效果在我们的 inputShow.lua 脚本中 我们会将用户的原始输入加 Str 前缀后抛出如果所输入的字符存在于 cands 列表内则抛出列表内的对应的值同时抛出的选项中还加入了 inputShowStr 或者 inputShow 的 comment 内容以做标记。
如下inputShow.lua 文档应该位于 用户文件夹 下的 lua 文件夹内
rime.lua
如果你对 rime中州韵小狼毫 help lua Translator 还有印象那么你应该已经猜到我们在 inputShow.lua 中所定义的 translator 方法需要在 用户文件夹 下的 rime.lua 内转换成 translator 接口方可被 rime中州韵小狼毫输入引擎所引用。我们在 rime.lua 中配置以下内容以转换 inputShow_translator
help_translator require(help)
inputShow_translator require(inputShow)如果你的 用户文件夹 下没有 rime.lua 文档你需要创建它然后对其进行配置
touch rime.luawubi_pinyin.custom.yaml
经过以上步骤我们已经完成了对 inputShow_translator 的定义根据我们的需要我们在我们的输入方案的补丁文档中的 translators 节点下引用 inputShow_translator即可。
本文依旧以 五笔・拼音 输入方案为例演示 inputShow_translator 的配置方式。我们需要在 五笔・拼音 输入方案的方案文档 wubi_pinyin.schema.yaml 的补丁文档 wubi_pinyin.custom.yaml 中做如下配置
# encoding:utf-8
patch:engine/translators/: #增加以下translator- lua_translatorinputShow_translator- table_translatorcustom_phrase # 指定使用 custom_phrase 进行输入字符的翻译- lua_translatorhelp_translatorcustom_phrase: # 设置用户字/词典dictionary: user_dict: Custom_phrase # 指向 Custom_phrase.txt 文档db_class: stabledbenable_completion: falseenable_sentence: trueinitial_quality: 1punctuator: # 设置标点符号集import_preset: symbols# 设置以下 translator 相关的开关translator/enable_sentence: true #是否整句连打translator/enable_user_dict: true #开启用户词典translator/enable_encoder: true #是否自动造词translator/encode_commit_history: false #对已上屏的内容整合成词条看需求translator/max_phrase_length: 4 #自动造词的最长字数translator/enable_completion: true #编码逐渐提示开关编码提示最后当你完成以上所有的文档和配置后你需要 重新部署 你的 rime中州韵小狼毫输入法方可使以上所做的配置生效。
inputShow.lua 文档
上述 inputShow.lua 文档你也可以通过 inputShow.lua 下载取用。
rime.lua 文档
上述 rime.lua 文档你也可以通过 rime.lua 下载取用。
wubi_pinyin.custom.yaml 文档
上述 wubi_pinyin.custom.yaml 文档你也可以通过 wubi_pinyin.custom.yaml 下载取用。
小结
以上就是今天分享的如何在 rime中州韵小狼毫输入法中配置 inputShow_translator 的过程。今天所做的配置本身没有十分惊艳的效果但这却是将来其它增强功能的基础。希望可以帮助到大家。