Releases: oriyu90/Tango-pro
Releases · oriyu90/Tango-pro
Release list
Tango pro v2.0.0
Tango pro v2.0.0
Warning
Android版は既公開版と互換の署名証明書、macOS版はad-hoc署名・未Notarizeです。更新前に学習記録ZIPを保存してください。
標準単語帳の刷新
- 中国語基本単語は継続して標準搭載
- 従来の標準英語7冊を配布資産から除外
- 出荷用フォルダのLv.1〜Lv.8英単語8冊・英熟語8冊を標準搭載
- 新規インストール時は合計17冊
- 既存ユーザーの自作・学習済み・旧標準単語帳は自動削除せず、v2標準単語帳だけを追加
- macOS保存データへ標準カタログ世代を追加し、旧保存形式から一度だけ安全に移行
表示と操作
- 長い単語帳名は従来サイズで測定し、収まらない場合は80%へ縮小。それでも収まらない場合だけ末尾を省略
- 設定にシンプルモードを追加
- シンプルモードは「選択中」を維持し、進捗をバーと%吹き出しへ集約
- 出題設定を開閉式に変更し、学習開始ボタンは常時表示
- シンプルモード中のダッシュボード文字を約10%拡大
- 問題文・4択を小/標準/大/特大の4段階で変更可能
- 4択ボタンを可変高にし、長い選択肢を最大3行で表示
周回表示
- 現在周回を「全単語の最小学習回数 + 1」で算出
- 全語を1回以上学習すると2周目、2回以上で3周目
- 2周目はティール、3周目はオレンジ、4周目はパープルの専用表示
- 5周目以降は追加の色変更をせず「x周目」だけを表示
- Androidは左ドロワーと選択中カード、macOSはサイドバーとダッシュボードに表示
レスポンシブ対応
- Android狭幅では操作ボタン・チップ・範囲指定を折返し
- Android横長学習画面では問題と回答を左右配置
- タブレットでは本文最大幅を制限し、過度な横伸びを抑制
- 短い画面はスクロールして全選択肢へ到達可能
- macOSは最小ウィンドウを680×500へ緩和し、狭幅では4択を1列、広幅では2列表示
互換性
- Android applicationId
com.aistudio.vocabstudier.xwqnzy、Room schema version 4を維持 - macOS保存形式version 1、学習記録ZIP format version 1を維持
- v1.2.xの単語帳、成績、単語帳別出題設定、学習記録ZIPを継続利用可能
- シンプルモードと文字サイズはアプリ共通設定として後方互換のある任意値で保存
配布物
Tango-pro-2.0.0-android.apk: v1.2.0公開APKと同じ証明書で署名したrelease buildTango-pro-2.0.0-universal.dmg: Apple Silicon / Intel対応、ad-hoc署名、未NotarizeCHECKSUMS_v2.0.0.txt: SHA-256
確認済み項目
- Android unit / Robolectric UI test 31件
- 狭幅360×640dp、横長960×480dp、特大文字・複数行4択
- Android Lint errors 0
- macOS Core self-test、旧保存データ移行、17冊初期投入
- Android / macOS build、署名、アーキテクチャ、成果物整合性
正式配布へ移行する場合は、Android正式署名鍵での更新インストール、実端末TTS、macOS Developer ID署名・Notarizationを別途確認してください。
Tango pro v1.2.0 (Experimental)
Tango pro v1.2.0
Warning
Tango proは試験的なアプリです。Android版はデバッグ鍵、macOS版はad-hoc署名で配布します。インストール前に下記の「配布物と注意事項」を確認してください。
新機能: 学習記録ZIP
Android版とmacOS版の設定画面から、すべての単語帳CSVと学習記録を1つのZIPへ書き出し、別端末へ読み込めるようになりました。
- ZIPには単語帳ごとの
words.csvとprogress.jsonを収録 - 同じCSVが端末にある場合は単語帳を重複追加せず、学習記録を統合
- 同じCSVがない場合、または1行・1列でも内容が違う場合は新しい単語帳として追加
- 未学習と学習済みが競合した場合は学習済みを優先
- 双方に履歴がある場合は最新の正誤状態と大きい学習回数を保持
- Androidで書き出したZIPをmacOSへ、macOSで書き出したZIPをAndroidへ読み込み可能
データ安全性
- CSVをSHA-256で検証し、manifest・学習記録との対応を確認
- 危険なZIP path、重複entry、未知file、非UTF-8、行番号不整合を拒否
- ZIP bomb対策としてentry数、1 file、総展開量を制限
- macOSは展開前にcentral directoryとsymbolic linkを検査
- Androidは単一Room transactionで適用し、失敗時に部分データを残さない
- macOSは検証・統合・atomic保存が完了するまで成功扱いにせず、保存失敗時はメモリ状態も復元
学習フローの改善
- 学習完了画面に「そのまま続ける」を追加し、直前の単語帳・方向・回答形式・出題条件・問題数・タグ/範囲を引き継いで再開
- 「おすすめ」を初期選択に変更し、要復習→うろ覚え→習得済みの順で優先
- おすすめでは習得済みの単語も候補に残るため、全語習得後も3周目以降を継続可能
- 出題条件を「おすすめ」「未学習のみ」「うろ覚え&ミスのみ」「うろ覚えをランダム」「学習済をランダム」に整理
- 旧版の削除済み出題条件は起動時に「おすすめ」へ安全に移行
- スピーカーアイコンに加え、問題語全体のクリック/タップで手動読み上げ
互換性
- Android: applicationIdとRoom schema version 4を維持
- 学習記録ZIP: format
tango-pro-study-archive、version 1 - 従来のCSV import/exportとAndroid JSONバックアップは継続利用可能
- v1.1.2候補までのAndroid起動停止、成績更新、組み込み単語帳、macOS保存修正をすべて含む
配布物と注意事項
Tango-pro-1.2.0-android-debug.apk: Androidデバッグ鍵で署名した試験用APKTango-pro-1.2.0-universal.dmg: Apple Silicon / Intel対応、アプリはad-hoc署名、未Notarize- Android APKは、署名鍵が異なる旧版へ上書きインストールできません。必要な場合は学習記録ZIPまたはJSONを書き出し、旧版をアンインストールしてから導入してください
- macOSではGatekeeperの警告が表示される場合があります
- 重要な学習データは更新前にバックアップしてください
検証結果
- Android unit test: 22件成功
- Android Lint: 0 errors / 26 warnings(更新通知21件、意図的なicon重複5件)
- Android API 36.1 emulator: 8冊・9,666語のZIP export/import成功
- 同一ZIP import後: 8冊のままで全単語帳が統合扱い、再起動成功、対象appのFatal/ANRなし
- Android→macOS: 8冊・9,666語のimportと永続化後の再読込成功
- macOS→Android: 2冊fixtureのimport成功
- macOS core self-test、universal build、ad-hoc署名整合性検証、app起動成功
正式なストア配布へ移行する場合は、Android正式署名での更新確認、Android実端末確認、macOS Developer ID署名・Notarizationが別途必要です。
Tango pro v1.1.1
Tango pro v1.1.0
新機能
- CSVエクスポート機能を追加: 選択中の単語帳データをUTF-8形式のCSVとしてクリップボードにコピー、またはファイルとして他アプリやGoogleドライブへ保存・共有できるようになりました。
- 出題対象に「おすすめ」モードを追加: 学習進捗状況(未学習/要復習 > うろ覚え > 学習済み)に応じた重み付き抽選で、優先的に復習すべき単語が出やすくなる新しい出題モードです。
改善
- 中国語の音声読み上げ(TTS)の対応を改善しました。
不具合修正
- 軽微なバグ修正を行いました。
Full source code and APK are attached to this release.
Tango pro v1.1.1
新機能
- 標準の単語帳を同梱: インストール後の初回起動時に、単語帳が1つも登録されていない場合に限り「英語基本単語」「英語基本フレーズ」「中国語基本単語」の3つの単語帳が自動で追加されるようになりました。CSVインポートをしなくても、インストール直後からすぐに学習を始められます。
- 既に単語帳を登録済みの場合や、初期セットアップ済みの端末では追加されません。
- 自動追加された単語帳も、通常のCSVインポート分と同様にいつでも削除できます。
Full source code and APK are attached to this release.