作为GoldenDict的重度用户,经常对跨设备的“收藏”难以方便同步而困扰。最近刚好使用 RIME 输入法,发现其与GoldenDict等非云软件有类似的情景:非云软件,但又很有必要同步用户动态词典(日常输入产生的习惯词典)和配置文档。而RIME有非常好的同步机制解决该问题。
希望可供各位开发者借鉴优化GoldenDict等非云词典软件的同步。
Rime没有云同步功能,但有本地同步功能,我们可以借助第三方云盘或FTP等实现个人词典
和配置方案在跨设备间的同步和备份。
1. 配置 installation.yaml 文档:
* sync_dic: "/path/to/sync"
- 如果不配置 sync_dic,那么 Rime 默认会在用户资料夹下生成一个 sync 目录。
* installation_id: "my_computer_name_andsoon"
- 默认地,每套 Rime 会为 installation_id 随机生成一个 UUID 作为标识,我
们可以更改 installation_id 为更具有辨识性的名称,如A、B、C。建议命名
只用英文本母、数字和下划线,不要用中文。
- 不同 installation_id 可区分来自不同机器/系统的用户配置文档和用户动态
词典。同步时,会创建文档夹 `sync/installation_id` 用于存放用户文档。
2. 同步用户动态词典和用户配置文档
* 使用云同步软件同步sync目录,将跨设备用户动态词典快照和配置文件更新至本地。
* 点击 `Rime/用户资料同步`,更新用户动态词典数据库 `*.userdb/`,并将最新的
词典快照和用户配置文档单向更新至 `sync/本机的installation_id/`。
- 依次將 sync 下各子文件夾中的詞典快照 `sync/A_B_C/*.userdb.txt` 合併到
本机用戶动态詞典数据库 `*.userdb/`
- 爲合併後的用戶动态詞典数据库生成一份新的快照文件 `*.userdb.txt`,同时
把用戶文件夾中非自動生成的 YAML 文件及 .txt 文件單向備份到本机的同步
文件夾 `sync/installation_id/`。
* 再次使用云同步软件同步sync目录,将本机最新的用户动态词典快照和用户配置文
档更新至云端。
* Official guide: https://github.com/rime/home/wiki/UserGuide#同步用戶資料
其核心理念其实与git几乎一致,只是不必有server端,只需借助任何 网盘、FTP 等即可实现同步。