
起因很简单,就是我把 macOS 的系统语言从中文切换成了英文,然后在 Finder 中右键选择文字时,发现菜单里还有一项中文服务:
将文本转为音频
说实话这东西在一堆英文菜单里格外显眼,我本来以为是缓存没刷新,结果越查越离谱……最终没解决,但这个坑我踩得够深,就整理一下发出来,供有类似强迫症的朋友参考。
系统界面全英文,唯独 Finder 的服务菜单中仍有一项中文服务「将文本转为音频」。这不是自己建的 Automator ,也不是第三方插件,看起来就是系统自带的。
首先排除了用户级 Quick Action 的可能。
ChineseTextConverterService.app
目录结构正常,里面包含多语言本地化资源:
Contents/Resources/zh.lproj/ServicesMenu.strings Contents/Resources/en.lproj/ServicesMenu.strings
也就是说,这玩意确实支持英文显示,但我系统语言都切成英文了,它却还是显示中文服务名?很迷。
/System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister -kill -r -domain local -domain system -domain user 这条命令的作用是强制重建系统的 LaunchServices 数据库,理论上能刷新所有“打开方式”、服务项之类的注册信息。 我当时抱着试试看的态度执行了,没有报错,也没有立刻生效,问题依旧。 但,坑也就此埋下。 后续发现:它其实注册了这个服务(并锁定了中文) 我查了系统日志: log show --predicate 'eventMessage contains "ChineseTextConverterService"' --last 30d 结果显示: 2025-06-08 02:02:41 com.apple.ChineseTextConverterService 被正式注册入系统 也就是说,这条命令其实是“首次激活”了这个原本未注册的系统服务项,注册时使用的是中文资源( zh.lproj ),于是它现在牢牢地以「将文本转为音频」出现在菜单中,无论你系统语言是否为英文。 那这个服务是什么时候写入系统的? 查 .app 文件的创建时间是 2025-05-04 ,结合我现在是 macOS Sequoia 15.5 ,可以合理推测是系统更新中自动部署的。 当时它只是静静地存在,并未被注册为 Finder 服务,直到我执行了那条命令,把它“唤醒”了…… 崩溃瞬间:打开系统设置 > Keyboard > Services 后我彻底放弃 你以为只有一个中文服务名? 不,还有这些:  这些全部都还是中文,系统语言为英文,Finder 语言为英文,服务却全是中文。 尝试过但无效的操作 删除 ~/Library/Preferences/com.apple.finder.plist 删除 ~/Library/Preferences/com.apple.systempreferences.plist 手动编辑 .strings 文件(被 SIP 拦截) 新建用户(无效,LaunchServices 是系统级) 多次执行 lsregister (只会让更多服务“苏醒”) 怀疑人生(有效,但短暂) 所学到的冷知识 macOS 的 LaunchServices 服务名注册是一次性的 一旦注册,语言就固定了,以后语言切换不会影响已注册名称 /System/Library/Services 下很多 .app 是“预部署未激活”的,直到某些动作(或你手贱)触发才注册 lsregister -r 命令其实就是“全系统服务激活开关”,慎用 系统不会回滚注册名,SIP 不允许你改名或清除 可行的 Workaround (仅供参考) 在系统设置 → Keyboard → Services 中,取消勾选“将文本转为音频” 用 Automator 自建一个英文名的服务(比如叫 Convert Text to Audio ) 我也顺便做了一个 .workflow 模板,如果你想下载,可以留言我发给你。 最终结论 这个问题没有解法,除非你抹盘重装一个最初语言为英文的 macOS 系统,才能避免注册为中文服务项。 否则,这些看起来“只是语言显示”的东西,其实是系统注册层面已经写死的。 1 drymonfidelia 199 天前 苹果的很多东西表面上看起来很优雅,去逆向看一下实际实现和屎一样。macOS 还有办法关 sip 改系统文件修复,我 iOS 遇到的 Bug 才真是只能抹盘解决 /t/1013867 |
2 AmericanExpress 199 天前 via iPhone |
3 AmericanExpress 199 天前 via iPhone my bad 我看岔了 |
4 v2zhao 199 天前 macOS 现在 bug 太多了,跟乔布斯那会是两个时代 |
5 cpstar 199 天前 大胆设想,第一个应用安装时选择 A 语言,然后切换 B 语言安装第二个应用,然后切 C 语言安装第三个,以此类推,于是。。。 咱就赌你初始化的时候固定到一种语言,爱咋咋地。 |
6 cpstar 199 天前 @bunnyblueair 4# 窃以为,这种机制不太可能是近年来“创造”的,而是固化多少年的东西,甚至可以上追到上个世纪 80 年代初代苹果机。 |
7 Kenshiro 199 天前 via Android 这个很早注意到了,一些关键设定的语言是走管理员的账户的设定的,把这俩的语言同步一下就好 |
11 ahaxzh OP @Kenshiro Mac 上目前无捷径操作,这些中文项目我都查了,全是系统自带的。 |