应用内多语言切换(中简/中繁/英/法)
四种语言
| 语言 | 代码 | 覆盖度 | 状态 |
|---|---|---|---|
| 简体中文 | zh-rCN | 完整 | 维护中 |
| 繁体中文 | zh-rTW | 完整 | 维护中 |
| English | en | 完整(原始底稿) | 维护中 |
| Français | fr | 完整(v0.2.3 引入) | 用户贡献 |
法语翻译来自 GitHub 社区贡献(PR #19),所有翻译都是纯文本工作——不需要懂 Kotlin 或 Android 开发,任何懂双语的人都能参与。
AppCompat 语言切换(v0.2.3 引入)
v0.2.3 的 feat(i18n): implement multilingual support with AppCompat language switching commit 是语言支持的关键转折:
- 切换发生在应用内:选法语 → UI 立即变成法语,不需要重启 Activity;
- 不再跟随系统语言:应用内的语言选项优先级高于系统设置;
- 低版本兼容:AppCompat 路线支持 Android 5.0+,不依赖 Android 13+ 的系统级 per-app language 接口。
之前版本的语言切换依赖系统 Activity recreate,体验不好。v0.2.3 之后切语言变成了真正的即时操作。
为什么是这四种
四种语言的选择是务实的:
- 简体中文:开发者母语,也是目标用户群体最广的中文地区;
- 繁体中文:覆盖港澳台用户,翻译由同一套团队维护(和简体中文共用大部分文本,只处理繁体词汇差异);
- English:原始开发语言(代码注释、PR、Issue 全用英文),也是国际社区的通用语言;
- Français:第一个用户贡献的翻译,代表 ZenConverter 接受社区贡献的翻译开放策略。
翻译贡献:任何人都可以参与
README 里有专门的翻译贡献指南(docs/translating.md),核心信息是:不需要了解 Kotlin 或安装 Android Studio。翻译工作是纯文本的——你拿到一个 Excel/CSV 格式的 key-value 表,把每一行的英文翻译成目标语言,提交 PR 就行。
这个开放策略和 ZenConverter 的整体风格一致:诚实、开放、社区驱动、不做黑盒。
和 Material You 的关系
语言切换和主题切换独立:
- 你可以选法语 + Material You 动态取色 + OLED 纯黑;
- 也可以选繁体中文 + 手动浅色 + 固定 palette;
- 两个设置互不影响。
已知边界
- 只翻译界面文本:格式支持矩阵、帮助文档等长文档目前只有英文和简体中文版本;
- 法语翻译的后续更新:每次新版本加的新界面文本,需要社区持续贡献翻译——如果某项新功能法语没跟上,会显示英文或简体中文;
- RTL(阿拉伯语/希伯来语)不支持:UI 布局是 LTR(Left-To-Right)设计的,没有 RTL 适配计划。
相关页面
- Material You + 深色模式 + OLED 纯黑 —— 主题和语言是独立维度
- 前台服务与任务队列 —— 前台服务通知文字也跟随语言切换
- 本地优先就是隐私优先 —— 开放社区贡献的一部分
