因为自己喜欢简单的界面,所以在选择mac输入法时候就选择了跟系统更加贴合的百度输入法。但是最近发现原生的简体拼音也还可以用用,于是想办法把百度的用户词库导入了mac,写个blog供大家参考。
mac输入法使用
通过官方的链接和文章结尾的相关链接可以了解mac的简体拼音输入法 官方输入法support的链接
大概总结一下
- 点击大写锁定键在中英之间切换,长按会切换到大写
- 按下option可以在打字途中输入数字
- 通过【】键来翻页,数字键选取(上下左右也可以)
- 降低候选的字词权重 Shift-Delete(以后在输入就不会在第一个了)
导入用户字库
用了一下原生,感觉还是可以用用的。于是就想办法吧用户字库导入到mac。
查资料发现mac并没有字库的概念,不过有一个文本替换的东东,可以导入用户自定义的短语。通过plist文件即可导入用户自定义的文本替换。 macOS「文本替换」内容的备份和恢复(导出和导入),导出貌似已经不可以用了,不过plist导入还是可以的。
于是有了把百度用户字库导入mac的想法,看了一下mac输入法是有导入导出词库的功能,应该是可以实现的。
1. 导出百度拼音的字库
如上,导出,用文本打开发现是如下的文件,使用简单的字符转换就可以转换成想要的格式
从(cong) 60001
从两个(cong|liang|ge) 55000
从头(cong|tou) 55000
从数据(cong|shu|ju) 55000
菜(cai) 60000
才(cai) 60000
猜测(cai|ce) 55000
采集器(cai|ji|qi) 55000
踩坑(cai|keng) 55000
2. 按照资料方法没有导出,于是网上下载了一份。如下:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<array>
<dict>
<key>phrase</key>
<string>⌥</string>
<key>shortcut</key>
<string>macalt</string>
</dict>
<dict>
<key>phrase</key>
<string>QQ音乐</string>
<key>shortcut</key>
<string>qqyinyue</string>
</dict>
</array>
</plist>
看出plist只有一个数组,数组里面包含很多字符和对应的值。
3. 将用户词库简单转换为plist字典格式
我是用一段代码进行字符串转换的。
step1: 用文本编辑简单处理导出的用户词库:
//使用搜索替换将格式转换为数组格式
command option F 搜索替换字符串,搜索"
"然后替换为", "
step2: 用任何代码生成plist的array格式
//swift
let strings = ["从(cong) 60001", "从两个(cong|liang|ge) 55000", "从头(cong|tou) 55000", "从数据(cong|shu|ju) 55000", "菜(cai) 60000", "才(cai) 60000"]
strings.enumerated().forEach { (_, item) in
let strs = item.components(separatedBy: CharacterSet.init(charactersIn: "("))
let lasts = strs[1]
let values = lasts.components(separatedBy: CharacterSet.init(charactersIn: ")"))
let pinyin = values.first
if let value = strs.first, let key = pinyin?.components(separatedBy: CharacterSet.init(charactersIn: "|")).joined() {
let plistAWord = "<dict>\n<key>phrase</key>\n<string>\(value)</string>\n<key>shortcut</key>\n<string>\(key)</string>\n</dict>"
print(plistAWord)
}
}
print("ok")
step3: 替换plist,然后拖入文本替换,注意要停留几秒钟然后松手,否则可能失败。
后记
因为更愿意使用原生的,所以切换为简体中文后就一直在使用了,使用起来基本合手,但是开始还是需要删除一些候选字词。建议可以尝试,如果追求完美还是没有三方的使用方便(除容错和准确度以外,百度有从网络联想字词的功能),还是有一些差距的。
现已经切换回百度输入法,。