2020年過年期間,由于冠狀病毒肺炎的流行,在家無事,就把擱置了很久的詞庫進(jìn)行了改進(jìn)。轉(zhuǎn)眼深藍(lán)詞庫轉(zhuǎn)換從誕生到現(xiàn)在都已經(jīng)10個(gè)年頭了,這是我做的最久的軟件了。
本次2.7版的更新主要包含了以下新特性:
一、MacOS原生簡體拼音輸入法自定義短語詞庫的支持
在MacOS的“系統(tǒng)偏好設(shè)置”中選擇“鍵盤”,“文本”,即可看到,Mac簡體拼音輸入法的自定義短語詞庫。
這里的自定義短語既可以通過點(diǎn)擊左下角的➕➖進(jìn)行增減,也可以通過拖拽的方式,將詞庫導(dǎo)入導(dǎo)出成文本文件,這個(gè)文本文件的后綴為plist。
假如我們想把某搜狗細(xì)胞詞庫轉(zhuǎn)換為Mac簡體拼音的詞庫,可以在Mac中安裝dotnet core,下載解壓imewlconverter_Linux_Mac.tar.gz,然后運(yùn)行以下命令:
dotnet ./ImeWlConverterCmd.dll -i:qcel ./846eed0aa7c8570ef89c89e15c722633.qcel -o:plist ./qq.plist
這樣我們就創(chuàng)建了qq.plist這個(gè)詞庫文件。然后我們通過鼠標(biāo)拖拽的方式,將這個(gè)文件拖拽到窗口上, 不一會(huì)兒,就可以看到導(dǎo)入成功了。
成功后界面如圖:
實(shí)踐中發(fā)現(xiàn)Mac的自定義短語支持的量有限,具體上限我不知道,但是一旦詞庫太大會(huì)導(dǎo)致導(dǎo)入失敗。
二、QQ詞庫qcel格式的支持
QQ輸入法和搜狗拼音合并后,QQ輸入法放棄了原有的qpyd格式,而是采用了和搜狗細(xì)胞詞庫scel基本一模一樣的qcel格式。我們從官網(wǎng)下載的詞庫都是新qcel格式了。前面示例中我要轉(zhuǎn)化成plist格式的源詞庫就是qcel格式,這里我就不再重復(fù)舉例了。
三、升級(jí)了dotnet core從2.2到3.1。
無論是Linux還是MacOS,只要安裝了dotnet core 3.1 runtime,就可以通過命令行的形式進(jìn)行詞庫轉(zhuǎn)換。安裝地址為:https://dotnet.microsoft.com/download/dotnet-core/3.1
四、完成了持續(xù)集成和持續(xù)交付
之前10年,每次版本升級(jí)都可能造成原有功能的Bug,而且發(fā)布都是純手動(dòng)發(fā)布的。這次過年期間,我研究了一些Appveyor的知識(shí),花了2天時(shí)間,終于實(shí)現(xiàn)了CI&CD。每次push代碼后,Travis和Appveyor都會(huì)自動(dòng)運(yùn)行其中的所有單元測試,如果修改對(duì)原有功能造成錯(cuò)誤,那么只要UT夠完備,那么可以很容易定位出來,從而保證了每次發(fā)布的代碼質(zhì)量。
而我在Appveyor中還配置了持續(xù)交付的代碼。只要我打了新的版本tag,那么GitHub的Release頁面就會(huì)自動(dòng)編譯出Windows版的詞庫轉(zhuǎn)換程序和dotnet core版本的跨平臺(tái)命令行程序。當(dāng)前的v2.7.0就是通過CD來實(shí)現(xiàn)的。
總結(jié)
本次發(fā)布的深藍(lán)詞庫轉(zhuǎn)換2.7版,新功能并不是很多,MacOS的簡體拼音自定義短語plist支持和QQ拼音qcel的支持都比較簡單。另外還修復(fù)了一些用戶反饋的Bug,具體就不在這里說了。主要還是配置好了CI&CD,以后進(jìn)一步的完善UT,可以保證每次發(fā)布時(shí)代碼的質(zhì)量。
最后,祈禱🙏這次冠狀病毒肺炎疫情快快平息,國泰民安!!!
深藍(lán)詞庫轉(zhuǎn)換2.7版地址:https://github.com/studyzy/imewlconverter/releases/tag/v2.7.0