场景
今年当了班主任,对新生有很多统计工作,在各个设备中打学生的名字就成了很大一个问题。于是想着如何确定一套流程,可以快速将学生姓名加入到输入法的自定义短语中。
搜狗输入法实现
较为简单,只涉及到格式的转换,具体步骤如下:
- 获取学生的姓名电子文档。
- 利用网页工具,将学生姓名与转换为首字母,并得到一个包括姓名与对应首字母的Excel表格。
- 在Excel表格中进行格式调整,将表格中分属不同单元格的数据合并成类似
zs,1=张三
的格式,用$
合并各单元格即可。 - 在搜狗输入法中找到自定义短语设置,先导出,复制粘贴到导出文件中再导入即可。(仅在MacOS下操作过。)
问题在于手机、iPad 和电脑使用的是三个不同的输入法,仅在电脑端设置好并不能解决所有问题。由此想到三个都是苹果系统,自带输入法设置中有自定义短语
的选项,并且可以同步;而各个第三方输入法都会同步这一自定义短语
。
苹果系统自带输入法实现
系统设置中键盘
-->文本
中可以逐条添加自定义短语,并且可以通过icloud在各设备中同步。批量更改和备份可以参见这篇文章:在 Mac 上备份和共享文本替换,简单来说全选后拖动可以备份为文本替换.plist
文件,编辑.plist
文件后拖动回则批量添加。
批量在.plist
文件中添加自定义条目。因为都是文本文件,实现转换并不难。利用之前得到的含有学生姓名和首字母的Excel表格,先在Excel中保存为.csv
文件。接下来用Python脚本进行转换即可。
#csv2plist.py
seg1 = '''
<?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>\n'''
seg2 = "</array>\n</plist>\n"
file_read = open("name_file.csv", mode='r', encoding='UTF-8-sig')
#输入文件名为"name_file.csv",直接用Excel生成,格式:张三,zs。
ls = []
for line in file_read:
line = line.replace("\n","")
ls.append(line.split(","))
file_read.close()
file_write = open("cidian.plist","w")
#在同一文件夹下得到文件"cidian.plist",得到后打开文本界面,拖进去即可。
file_write.write(seg1)
for hang in ls:
file_write.write("\t<dict>\n\t\t<key>phrase</key>\n\t\t<string>{}</string>\n\t\t<key>shortcut</key>\n\t\t<string>{}</string>\n\t</dict>\n".format(hang[0],hang[1]))
file_write.write(seg2)
file_write.close()
得到输出文件,将其拖入文本
面板即可。之后就可以在各个设备中愉快地输入首字母啦~