暗いテクニカルグリッド上に配置された Conjuguer の凱旋門スプラッシュアート。

Conjuguer:iOSでフランス語の動詞を深く学ぶアプリ

Conjuguer は、フランス語の動詞活用を検索できる参考資料、構造化されたクイズ、毎日の練習ループに変える SwiftUI 製 iOS アプリです。ウィジェットと、対応端末向けのオンデバイス AI チューターも備えています。

要点
  • 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 によるオンデバイスのチューターも利用できます。ここでは、役に立つ部分、任意の部分、そしてライセンスが実際にカバーする範囲を見ていきます。

できること

Conjuguer の中心は動詞ブラウザです。6,326 個の異なるフランス語動詞を、アルファベット順または使用頻度順に検索・並べ替えでき、リストとグリッドの両方で表示できます。よく使う être や avoir から、使用頻度の低い語彙まで、同じ画面でたどれます。すべての動詞に頻度順位が付くため、長い語彙の一覧が無秩序に残ることもありません。

動詞を開くと、フランス語の各時制が並び、変化する語幹や語尾が赤で示されます。例外の形を一目で把握できる設計です。多くの項目には語源と、フランス文学から採られた例文もあります。別の Models タブでは、動詞が受け継ぐ活用パターンをまとめ、その不規則さで並べます。動詞を一つずつ暗記するよりも、パターンを理解しやすい構成です。

参照機能には、各時制をいつ使うか、どう作るかの説明も含まれます。練習側には二つの難易度のクイズ、アクセントを落としても骨格が合っていれば部分点を与える採点、Live Activity、Game Center のリーダーボードがあります。ホーム画面とロック画面のウィジェットには今日の動詞やデイリークイズを表示でき、コントロールセンターからランダムな動詞を開いたりクイズを始めたりできます。

インストール方法

使うだけなら、公式の 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 フックもあり、クローンごとに有効化できますが、実行時の依存関係ではありません。

使い方

まず Verbs で、実際に文章で出会った動詞を検索してみます。頻度順はよく使う語彙から始めたいときに便利で、先生や本、クイズから不定詞を知っているときはアルファベット順が向いています。各行にはフランス語の形、英語の意味、頻度バッジが表示されるので、意味の認識から完全な活用表へ自然に進めます。

活用表が分かりにくいときは、同じ答えを繰り返すのではなく別の画面へ移ります。Models は動詞のパターンを、Info は時制を説明し、Quiz は次の想起を時間制限付きの練習に変えます。チューターは別の入口です。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 ウィジェットではホーム画面やロック画面に現在形を表示でき、クイズウィジェットではその場で問題に答えられます。コントロールセンターのアクションもすばやい入口になります。アーケードゲームと Arc、雄鶏、クロワッサン、ベレー帽の別アイコンは、中心の参照機能を邪魔しない任意の遊び心です。

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

スクリーンショット

リポジトリのスクリーンショットから、想定されている流れがよく分かります。暗くコントラストの高い動詞一覧、詳細な動詞画面、モデルと時制の参照画面、入力中のクイズ、結果画面、設定、そして小さなアーケードゲームです。装飾用のモックアップではなく、学習画面をウェブページのように複雑にせず、多くの情報を見せることに重点があります。

内部ではどう動くか

Conjuguer は、Game Center の認証画面を表示する小さな UIKit の橋渡し部分を除き、全体が SwiftUI で構成されています。動詞パーサー、活用エンジン、モデル、時制の説明、クイズ状態、例文データが Swift と XML/JSON の確認しやすいファイルに分かれています。同じモデルデータを説明とクイズ生成の両方で使えるため、手書きの答え表を別に保つ必要がありません。

ランキングデータは、フランス語の語彙資料から事前に作られ、結果のカウントはアプリに組み込まれます。実行時にサーバーへ問い合わせる仕組みではありません。チューターは別の境界にあります。Apple Intelligence が利用できる場合に Foundation Models が端末上で動作し、使えない場合はアプリがその状態を説明します。ウィジェットは共有 App Group のスナップショットとディープリンクを使い、Live Activity と Game Center はクイズ状態に集中します。

リポジトリとリリース

これはバイナリを置いただけのリポジトリではありません。Xcode プロジェクトに加え、アプリとウィジェットのターゲット、モデルとコーパス、テスト、スクリーンショット、リリースノート、頻度生成スクリプト、プライバシー関連資料、プロジェクト構成のドキュメントが含まれています。完成版だけを使いたい人のために、README から App Store へも移動できます。

データの由来も、小規模な学習アプリとしてはかなり丁寧です。README は頻度計算の資料として GLÀFF と Lexique を挙げ、過去の Sketch Engine によるランキングについても説明し、派生カウントの出所を見える形にしています。すべての資料を同じ条件で扱えるという意味ではありませんが、どこまでがアプリのコードで、どこからが派生データで、何に帰属表示が必要かを理解する助けになります。

インストール前に確認できること

ソースビルド前に確認することは多くありません。端末と SDK が iOS 26 を満たすこと、Xcode で Conjuguer.xcodeproj を開くこと、同梱の例から Secrets.xcconfig を作ること、Conjuguer スキームをビルドすることです。TelemetryDeck のプレースホルダーをそのままにしても実行できるはずです。継続的に貢献するなら、SwiftLint フックを有効にしてテストターゲットも確認するとよいでしょう。

注意点と限界

最初の制限は対応 OS の新しさです。現在のプロジェクトは iOS 26 をターゲットにしているため、古い iPhone や iPad では SwiftUI で書かれていること以前に、このチェックアウトをそのまま使えません。古い端末の互換レイヤーではなく、現在の Apple プラットフォーム向けのプロジェクトです。

次は言語の範囲です。インターフェースは英語とフランス語にローカライズされ、VoiceOver も二つの言語の発音を切り替えるため、フランス語の形が英語として読まれません。丁寧なバイリンガル対応ですが、多言語の教室ではありません。中国語、ドイツ語など別の橋渡し言語が必要なら、自分で説明を補う必要があります。

最後に、AI チューターは条件付きです。Apple Intelligence に対応した端末が必要で、非対応ハードウェアではプロジェクトをビルドし直しても機能は有効になりません。Conjuguer を使う本質はブラウザ、活用表、クイズにあり、チューターは OS が提供できる場合に加わる便利な機能です。

ライセンス:できること

アプリのコードは GNU General Public License version 3 でライセンスされています。そのため、学習や改変のために本当に再利用できるリポジトリですが、対象となる改変版を再配布する場合は GPL の義務が発生します。公開ソースツリーだからといって、同梱されるすべての素材が同じ条件とは限りません。フォークを配布する前に各通知を確認してください。

動詞の頻度データや、例文とランキングの背景にあるコーパスには、README とリポジトリの資料に別の帰属表示・継承条項があります。実際には Swift コード、派生 XML データ、文学作品の例文、フォント、サウンドなどを別々のライセンス対象として扱うべきです。Conjuguer は出所を明記してくれていますが、下流で配布する人は引き継ぐ素材に適用される通知を残す必要があります。

ビルド/インストールすべきか

調べるだけで終わらず、フランス語の活用を練習につなげられる参考アプリを探しているなら、Conjuguer は小規模ながら有力な選択です。長く使えるデータ量、形の理由を説明する情報、Apple プラットフォーム開発者が読む価値のある SwiftUI の構成がそろっています。最短で使うなら App Store 版を、エンジンやコーパスを確認したり iOS 26 向けコードを学んだりするならリポジトリをクローンするのがよいでしょう。

プロジェクト情報

ライセンス
アプリのコードは GPL-3.0、派生した頻度データには CC BY-SA の通知があります
対応環境
iOS 26 以降 / iPhone・iPad
実装言語
Swift 6、SwiftUI、小規模な UIKit の Game Center ブリッジ

インストール

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

ライセンスの概要

コードは GPL-3.0 です。動詞の頻度データとソースコーパスには、リポジトリに記載された別の帰属表示・継承条件があります。