目次
はじめに
月謝袋アプリの英語ローカライズ作業を進めています。
今回は premium_upgrade_dialog.dart の英語化が完了したので、
作業内容をまとめます。
対象ファイル
premium_upgrade_dialog.dart
プレミアムプランへのアップグレードを促すダイアログです。
RevenueCat と連携して価格を動的に取得し、購入・リストア処理を行う、
アプリの収益に直結する重要な画面です。
英語化した主な箇所
| キー | 英語テキスト |
|---|---|
| premiumDialogTitle | Premium Features |
| premiumDialogDesc | Access calendar view, double booking detection… |
| featureCalendar | Calendar View |
| featureDoubleBooking | Double Booking Detection |
| featureUnpaid | Unpaid Notices |
| featureCsv | CSV Export |
| upgradeButton | Upgrade to Premium |
| premiumRestoreButton | Restore Purchases |
| premiumPerMonth | / month |
工夫した点
すべてのUI状態をローカライズ
このダイアログにはいくつかの表示状態があります。
- ローディング中(RevenueCatからオファリング取得中)
- エラー時(取得失敗・初期化失敗)
- 正常表示(価格・機能一覧・購入ボタン)
それぞれの状態で表示するテキストを、すべて l10n.* に置き換えました。
ハードコードされた日本語が残らないよう、丁寧に確認しました。
価格表示はRevenueCatから動的取得
_priceString = offering!.monthly!.storeProduct.priceString;
価格は ¥300 や $1.99 のようにストアの通貨に合わせて
自動的に表示されます。
英語ローカライズ後のシミュレーターでも $1.99 / month と
正しく表示されることを確認しました。
デバッグ用テストアンロックもローカライズ
kDebugMode の場合のみ表示されるテスト用ボタンも、l10n.premiumTestUnlock に対応済みです。
完成したスクリーンショット
英語表示のダイアログが問題なく動作しています。
各機能説明・価格・ボタンがすべて英語で表示され、
UIの崩れもありませんでした。

まとめ
プレミアムダイアログの英語化が完了しました。
収益に関わる画面なので、表示崩れや文言のミスがないよう
特に丁寧に確認しました。
引き続き、他の画面の英語化を進めていきます。
英語対応が完了したら、多言語展開も検討予定です🌍
月謝袋アプリ:個人教室向け月謝管理アプリ
App Store / Google Play にて配信中


