本项目源于 iPhoneContactSort,在 python 3+ 下进行适配,修改部分 bug,并增加使用说明。
PhoneticGenerator 是一个 Python 脚本,旨在从 Apple 的 VCF 联系人文件中提取联系人的姓和名,并将它们转换为拼音格式。该脚本将转换后的拼音添加到 X-PHONETIC-LAST-NAME 和 X-PHONETIC-FIRST-NAME 字段中,以便在 iPhone/Mac 上显示联系人名称的拼音,允许在英文系统中对中文通讯录进行排序。
- 给中文通讯录增加拼音标注。
- 在英文系统下,允许 macOS/iOS 对中文名片进行排序。
- 使用前瞻版 Apple Intelligence 的用户只能配置 English Siri,本项目允许 Siri 正确访问并识别中文通讯录(测试中)。
- Python 3.x
-
在 macOS 上导出 VCF 文件:
打开 联系人 应用。
在左侧栏选择你要导出的联系人(可以选择一个群组或全部联系人)。
点击菜单栏中的 文件 > 导出 > 导出 vCard。
选择保存位置并保存 VCF 文件。
-
在 iOS 上导出 VCF 文件:
打开 联系人 应用。
选择一个联系人,点击右上角的 分享 按钮。
选择 邮件 或 信息,将联系人以 vCard 格式发送给自己。
打开邮件或信息,并下载 vCard 文件。
将导出的 *.vcf 文件放在脚本的同一目录下,或者修改传入的文件路径指向正确的位置。
使用命令行进入脚本所在目录:
cd /path/to/your/script
运行脚本:
python main.py [你的 *.vcf 文件路径]
脚本会读取 *.vcf 文件,提取联系人信息并生成拼音,最后将转换后的结果写回到同一文件中。
运行完成后,原始的 *.vcf 文件会被修改并包含新的 X-PHONETIC-LAST-NAME 和 X-PHONETIC-FIRST-NAME 字段。例如:
BEGIN:VCARD
VERSION:3.0
PRODID:-//Apple Inc.//macOS 15.2//EN
N:测;试;;;
X-PHONETIC-LAST-NAME:Ce
X-PHONETIC-FIRST-NAME:Shi
FN:试 测
EMAIL;type=INTERNET;type=pref:[email protected]
TEL;type=HOME;type=VOICE;type=pref:9110
END:VCARD
首先务必备份现有通讯录!!!
-
在 macOS 上导入 VCF 文件:
直接双击修改后的 contacts.vcf 文件,按照提示导入并更新联系人。
新的联系人信息将被导入并显示在联系人列表中。
-
在 iOS 上导入 VCF 文件:
将修改后的 VCF 文件通过 邮件 或 AirDrop 发送到 iPhone。
打开邮件或文件,并点击文件旁边的 共享 按钮。
选择 添加到联系人,然后选择要更新的联系人或创建新的联系人。
备份原始文件:在运行脚本之前,建议先备份原始的 VCF 文件,以防止文件损坏或丢失数据。
编码问题:确保 VCF 文件使用 UTF-8 编码,否则可能导致中文字符无法正确处理。
拼音转换准确性:该脚本依赖于原项目中编写的 pinyin 库来生成拼音,拼音的准确性可能会受到库本身支持的影响。
某些多音字对应的拼音有多个,可以通过修改 word.data
文件来自定义选择:
- 在网络上搜索目标多音字的
UTF-8
编码,如“茜”字对应“U+831C”; - 在
word.data
文件中搜索上述编码中的 16 进制数字,如“831C”,找到:
831C QIAN4 QIAN1 XI1
- 修改后面拼音的顺序,把目标拼音改到第一个,如修改为“xi”:
831C XI1 QIAN4 QIAN1
- 保存文件即可
👤 Author: coolmoon327
- Github: @coolmoon327
Give a ⭐️ if this project helped you!
Copyright © 2024 @coolmoon327.
This project is MIT Licenselicensed.