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