深色技术网格上的 Conjuguer 凯旋门启动画面图案。

Conjuguer:在 iOS 上系统学习法语动词变位

Conjuguer 把法语动词变位做成可搜索的参考库、结构化测验和日常练习循环,同时提供 SwiftUI 源码、小组件,以及面向支持 Apple Intelligence 设备的端侧 AI tutor。

要点摘要
  • Conjuguer 收录 6,326 个不同的法语动词,支持搜索、排序、频率排名、完整变位表和动词模式。
  • 应用把时态说明、文学例句、双难度测验、Game Center、Live Activity、小组件和控制中心操作放在同一个学习流程里。
  • 这是一个以 iOS 26 和 Swift 6 为目标的 SwiftUI 应用,界面支持英语和法语,VoiceOver 也会切换法语发音。
  • 应用代码使用 GPL-3.0;随附的频率数据和语料来源则有独立的署名与相同方式共享要求。

法语动词学习常常卡在词典不再只是查词工具的地方。Conjuguer 采取了相反的思路:把一套规模很大的可搜索动词库,与变位表、时态说明和反复练习放在一起。它不像单纯的抽认卡应用,更像一本可以随时发起测验的紧凑型参考书。

这个项目的另一个优点是源码足够透明。公开仓库包含 SwiftUI 应用、模型和语料数据、测试、组件、文档,以及生成频率排名所用的脚本。项目目标是 iOS 26 和 Swift 6;在支持 Apple Intelligence 的设备上,还提供基于 Foundation Models 的端侧 AI tutor。下面具体看它能做什么、哪些功能是可选的,以及许可证到底覆盖哪些内容。

它能做什么

Conjuguer 的核心是动词浏览器:收录 6,326 个不同的法语动词,可以搜索,也可以按字母或使用频率排序,并以列表或网格展示。每个动词都有频率排名,所以从 être、avoir 这样的高频词一直浏览到低频词汇时,数据仍然保持结构化。

打开一个动词,应用会列出它的法语各时态,并用红色标出不规则词干和词尾,让例外的变化形状一眼可见。很多词条还提供词源和来自法国文学的例句。单独的 Models 页面会按动词继承的变位模式进行归类,再按不规则程度排序;相比把每个动词当作孤立例外硬背,这种方式更有助于理解规律。

参考部分还会说明每个时态的使用场景和构成方式。练习部分提供两档难度、即使重音符号漏掉但基本骨架正确也能获得部分分数的评分方式、Live Activity 和 Game Center 排行榜。主屏幕与锁屏小组件可以显示每日动词或每日测验,控制中心的两个操作则可以直接打开随机动词或开始测验。

如何安装

如果只是想使用 Conjuguer,请从官方 App Store 页面安装免费版本。从源码构建只是可选项,适用于需要检查实现、运行测试或修改代码的情况;这条路径要求 iOS 26 和 Swift 6。

# Open the free App Store listing:
open https://apps.apple.com/us/app/conjuguer/id1588624373

如果选择从源码构建,复制出来的 Secrets.xcconfig 用来填写 TelemetryDeck 应用 ID,而且该文件被有意加入了 gitignore。README 说明,即使保留占位符,应用仍然可以构建和运行,只是分析数据不会发送到任何地方。仓库还提供 SwiftLint 的 pre-commit hook,可以按克隆启用;它不是应用运行时的依赖。

如何使用

可以先从 Verbs 页面开始,搜索你在文章或课程里遇到的动词。想先掌握高频词时,按频率排序更实用;如果老师、书本或测验已经给出了不定式,按字母排序更方便。每一行都会显示法语形式、英文释义和频率徽章,可以很顺畅地从认识一个词进入完整的变位表。

如果某张变位表看起来不直观,不必只重复同一道题。Models 解释动词背后的模式,Info 解释时态,Quiz 则把下一次回忆变成有时间限制的练习。Tutor 是另一条路径:在支持 Apple Intelligence 的设备上,它可以直接在设备上回答法语动词和时态问题,并在下次访问时保留对话。

Verbs → search for a verb → open its table → compare tenses
Models → inspect the inherited pattern → notice the irregularity
Quiz → choose a difficulty → type the form → review the result
Info → ask the tutor on a supported Apple Intelligence device

这些小功能让每日练习更容易坚持。Verb of the Day 小组件可以在主屏幕或锁屏显示现在时变位,测验小组件可以直接给出互动题目,控制中心操作则提供了快速入口。街机小游戏以及凯旋门、公鸡、可颂和贝雷帽图标只是可选的个性化元素,不会喧宾夺主。

Verb of the Day widget → see a daily verb and its présent forms
Quiz widget → answer a daily question from the Home or Lock Screen
Quick Quiz control → launch a quiz from Control Center
Live Activity → follow an in-progress quiz on the Lock Screen and Dynamic Island

截图怎么看

仓库里的截图把产品的使用节奏展示得很清楚:深色高对比的动词列表、完整的动词页面、模式和时态参考页、输入中的测验、结果、设置以及小型街机游戏。它们是真实产品截图,而不是装饰性的 mockup;重点在于应用能保留足够的信息,同时不把学习界面做成拥挤的网页。

内部是怎么工作的

除了负责承载 Game Center 登录界面的一个小型 UIKit 桥接层,Conjuguer 基本全部使用 SwiftUI。仓库把动词解析器、变位引擎、模型、时态说明、测验状态和例句数据拆分成容易检查的 Swift 与 XML/JSON 文件。这样,解释一个形式和生成一道测验可以使用同一套模型数据,不需要再维护一张手写答案表。

频率排名数据会根据项目记录的法语词汇资料预先生成,最终计数直接编译进应用,而不是运行时访问服务器。Tutor 的边界不同:当设备支持 Apple Intelligence 时,Foundation Models 在本地运行;不支持时,应用会明确提示。小组件使用共享 App Group 快照和 deeplink,Live Activity 与 Game Center 则专注于测验状态。

仓库与发布内容

这不是一个只放了二进制文件的仓库,而是真正的源码项目。除了 Xcode 工程,还有应用和小组件 target、模型和语料文件、测试、截图、发行说明、频率生成脚本、隐私资料和项目结构文档。README 也提供了 App Store 链接,方便只想使用成品的人。

它对数据来源的说明也比很多小型学习应用更完整。README 指出频率工作使用了 GLÀFF 和 Lexique,并解释早期的 Sketch Engine 排名,同时保留派生计数的来源信息。这并不意味着所有来源都适用同一套条件,但贡献者至少可以分清哪些是应用代码、哪些是派生数据,以及哪些内容需要保留署名。

安装前可以确认什么

源码构建前的检查清单并不长:设备和 SDK 满足 iOS 26,在 Xcode 中打开 Conjuguer.xcodeproj,根据示例创建 Secrets.xcconfig,然后构建 Conjuguer scheme。按照 README,TelemetryDeck 占位符可以原样保留,应用仍应能运行。如果打算持续贡献代码,再启用 SwiftLint hook 并检查测试 target 即可。

它的局限在哪里

第一项限制是系统版本较新。当前项目把 iOS 26 作为固定目标,因此较旧的 iPhone 或 iPad 不能直接使用这份 checkout;这不是一个为旧设备准备的兼容层,而是面向当前 Apple 平台周期的项目。

第二项限制是语言范围。界面目前完整本地化为英语和法语,VoiceOver 也会在两种语言之间切换发音,避免把法语形式按英语读出来。这种双语支持做得很细致,但它不是多语言课堂:如果你需要中文、德语或其它辅助语言,还需要自己补充解释。

最后,AI tutor 需要硬件条件。设备必须支持 Apple Intelligence;不支持的硬件不会因为重新构建项目就自动获得这项能力。Conjuguer 的核心仍然是动词浏览、变位表和测验,Tutor 是操作系统允许时额外提供的便利功能。

许可证:你能做什么

应用代码使用 GNU General Public License version 3。这意味着它确实可以用于学习和修改,但分发受 GPL 覆盖的修改版本时,也需要履行 GPL 的相应义务。公开源码并不代表仓库里的每个素材都拥有相同条款,因此在发布 fork 之前,应当逐项查看许可和署名说明。

动词频率数据,以及例句和排名背后的语料,都有各自的署名与相同方式共享要求,README 和仓库资料对此有记录。实际使用时,应把 Swift 代码、派生 XML 数据、文学例句、字体、音效等视为不同的许可对象。Conjuguer 已经把来源写出来了,但下游分发者仍需保留自己继续使用的素材所对应的通知。

值得构建或安装吗

如果你想要一款真正能把查词转化为练习的法语动词参考工具,Conjuguer 是一个完成度很高的小型项目。它的数据量足以支撑长期使用,解释部分能说明形式为什么这样变化,SwiftUI 源码也值得 Apple 平台开发者研究。想最快开始使用,就从 App Store 安装;想检查变位引擎、参与语料维护,或学习一个面向 iOS 26 的聚焦型代码库,就克隆仓库。

项目概况

许可证
应用代码为 GPL-3.0;派生的频率数据另有 CC BY-SA 说明
平台
iOS 26+ / iPhone 和 iPad
开发语言
Swift 6、SwiftUI,以及用于 Game Center 的小型 UIKit 桥接层

安装

# Open the free App Store listing:
open https://apps.apple.com/us/app/conjuguer/id1588624373

许可说明

代码使用 GPL-3.0。动词频率数据和语料来源有仓库中记录的独立署名与相同方式共享条件。