feat(app): 完成 P0 钱包解锁、下载落盘与手机号登录
This commit is contained in:
1 parent
de941c841c
commit
136ee74618
47 files changed
+3264
-70
No files matched your search
+32
-1
@@ -476,5 +476,36 @@
|
||||
"accountCancelDeactivation": "Cancel deletion request",
|
||||
"accountCancelSucceeded": "Deletion request cancelled.",
|
||||
"accountDeactivateFailed": "Could not request account deletion.",
|
||||
"accountCancelFailed": "Could not cancel the deletion request."
|
||||
"accountCancelFailed": "Could not cancel the deletion request.",
|
||||
"authPhoneTitle": "Continue with phone",
|
||||
"authPhoneSignUp": "Create an account with phone",
|
||||
"authPhoneLabel": "Phone number",
|
||||
"authPhoneHint": "0812 3456 7890",
|
||||
"authPhoneInvalid": "Enter a valid phone number",
|
||||
"authCodeLabel": "Verification code",
|
||||
"authCodeHint": "6-digit code",
|
||||
"authCodeRequired": "Enter the verification code",
|
||||
"authSendCode": "Send code",
|
||||
"authResendCode": "Resend in {seconds}s",
|
||||
"@authResendCode": { "placeholders": { "seconds": { "type": "int" } } },
|
||||
"authCodeSent": "Verification code sent.",
|
||||
"authPhoneSignInAction": "Sign in",
|
||||
"authPhoneSignUpAction": "Create account",
|
||||
"unlockWithCoins": "Unlock with coins",
|
||||
"unlockFailed": "Could not unlock this episode.",
|
||||
"wallet": "Wallet",
|
||||
"coinBalance": "Coin balance",
|
||||
"coinLedger": "Coin activity",
|
||||
"noCoinLedger": "No coin activity yet.",
|
||||
"walletLoadFailed": "Could not load your wallet.",
|
||||
"walletBalanceShort": "{coins} coins",
|
||||
"@walletBalanceShort": { "placeholders": { "coins": { "type": "int" } } },
|
||||
"insufficientCoins": "Not enough coins.",
|
||||
"rechargeUnavailable": "Top-up is not available yet.",
|
||||
"totalRecharged": "Total recharged",
|
||||
"totalConsumed": "Total spent",
|
||||
"ledgerUnlock": "Episode unlock",
|
||||
"ledgerRecharge": "Coin top-up",
|
||||
"ledgerRefund": "Refund",
|
||||
"ledgerAdjustment": "Adjustment"
|
||||
}
|
||||
+30
-1
@@ -476,5 +476,34 @@
|
||||
"accountCancelDeactivation": "Batalkan permintaan penghapusan",
|
||||
"accountCancelSucceeded": "Permintaan penghapusan dibatalkan.",
|
||||
"accountDeactivateFailed": "Permintaan penghapusan gagal dikirim.",
|
||||
"accountCancelFailed": "Permintaan penghapusan gagal dibatalkan."
|
||||
"accountCancelFailed": "Permintaan penghapusan gagal dibatalkan.",
|
||||
"authPhoneTitle": "Lanjutkan dengan nomor HP",
|
||||
"authPhoneSignUp": "Buat akun dengan nomor HP",
|
||||
"authPhoneLabel": "Nomor HP",
|
||||
"authPhoneHint": "0812 3456 7890",
|
||||
"authPhoneInvalid": "Masukkan nomor HP yang valid",
|
||||
"authCodeLabel": "Kode verifikasi",
|
||||
"authCodeHint": "Kode 6 digit",
|
||||
"authCodeRequired": "Masukkan kode verifikasi",
|
||||
"authSendCode": "Kirim kode",
|
||||
"authResendCode": "Kirim ulang dalam {seconds} detik",
|
||||
"authCodeSent": "Kode verifikasi telah dikirim.",
|
||||
"authPhoneSignInAction": "Masuk",
|
||||
"authPhoneSignUpAction": "Buat akun",
|
||||
"unlockWithCoins": "Buka dengan koin",
|
||||
"unlockFailed": "Gagal membuka episode ini.",
|
||||
"wallet": "Dompet",
|
||||
"coinBalance": "Saldo koin",
|
||||
"coinLedger": "Riwayat koin",
|
||||
"noCoinLedger": "Belum ada aktivitas koin.",
|
||||
"walletLoadFailed": "Gagal memuat dompet.",
|
||||
"walletBalanceShort": "{coins} koin",
|
||||
"insufficientCoins": "Koin tidak cukup.",
|
||||
"rechargeUnavailable": "Isi ulang belum tersedia.",
|
||||
"totalRecharged": "Total isi ulang",
|
||||
"totalConsumed": "Total pemakaian",
|
||||
"ledgerUnlock": "Buka episode",
|
||||
"ledgerRecharge": "Isi ulang koin",
|
||||
"ledgerRefund": "Pengembalian",
|
||||
"ledgerAdjustment": "Penyesuaian"
|
||||
}
|
||||
@@ -2121,6 +2121,180 @@ abstract class AppLocalizations {
|
||||
/// In en, this message translates to:
|
||||
/// **'Could not cancel the deletion request.'**
|
||||
String get accountCancelFailed;
|
||||
|
||||
/// No description provided for @authPhoneTitle.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Continue with phone'**
|
||||
String get authPhoneTitle;
|
||||
|
||||
/// No description provided for @authPhoneSignUp.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Create an account with phone'**
|
||||
String get authPhoneSignUp;
|
||||
|
||||
/// No description provided for @authPhoneLabel.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Phone number'**
|
||||
String get authPhoneLabel;
|
||||
|
||||
/// No description provided for @authPhoneHint.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'0812 3456 7890'**
|
||||
String get authPhoneHint;
|
||||
|
||||
/// No description provided for @authPhoneInvalid.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Enter a valid phone number'**
|
||||
String get authPhoneInvalid;
|
||||
|
||||
/// No description provided for @authCodeLabel.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Verification code'**
|
||||
String get authCodeLabel;
|
||||
|
||||
/// No description provided for @authCodeHint.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'6-digit code'**
|
||||
String get authCodeHint;
|
||||
|
||||
/// No description provided for @authCodeRequired.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Enter the verification code'**
|
||||
String get authCodeRequired;
|
||||
|
||||
/// No description provided for @authSendCode.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Send code'**
|
||||
String get authSendCode;
|
||||
|
||||
/// No description provided for @authResendCode.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Resend in {seconds}s'**
|
||||
String authResendCode(int seconds);
|
||||
|
||||
/// No description provided for @authCodeSent.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Verification code sent.'**
|
||||
String get authCodeSent;
|
||||
|
||||
/// No description provided for @authPhoneSignInAction.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Sign in'**
|
||||
String get authPhoneSignInAction;
|
||||
|
||||
/// No description provided for @authPhoneSignUpAction.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Create account'**
|
||||
String get authPhoneSignUpAction;
|
||||
|
||||
/// No description provided for @unlockWithCoins.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Unlock with coins'**
|
||||
String get unlockWithCoins;
|
||||
|
||||
/// No description provided for @unlockFailed.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Could not unlock this episode.'**
|
||||
String get unlockFailed;
|
||||
|
||||
/// No description provided for @wallet.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Wallet'**
|
||||
String get wallet;
|
||||
|
||||
/// No description provided for @coinBalance.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Coin balance'**
|
||||
String get coinBalance;
|
||||
|
||||
/// No description provided for @coinLedger.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Coin activity'**
|
||||
String get coinLedger;
|
||||
|
||||
/// No description provided for @noCoinLedger.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'No coin activity yet.'**
|
||||
String get noCoinLedger;
|
||||
|
||||
/// No description provided for @walletLoadFailed.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Could not load your wallet.'**
|
||||
String get walletLoadFailed;
|
||||
|
||||
/// No description provided for @walletBalanceShort.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'{coins} coins'**
|
||||
String walletBalanceShort(int coins);
|
||||
|
||||
/// No description provided for @insufficientCoins.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Not enough coins.'**
|
||||
String get insufficientCoins;
|
||||
|
||||
/// No description provided for @rechargeUnavailable.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Top-up is not available yet.'**
|
||||
String get rechargeUnavailable;
|
||||
|
||||
/// No description provided for @totalRecharged.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Total recharged'**
|
||||
String get totalRecharged;
|
||||
|
||||
/// No description provided for @totalConsumed.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Total spent'**
|
||||
String get totalConsumed;
|
||||
|
||||
/// No description provided for @ledgerUnlock.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Episode unlock'**
|
||||
String get ledgerUnlock;
|
||||
|
||||
/// No description provided for @ledgerRecharge.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Coin top-up'**
|
||||
String get ledgerRecharge;
|
||||
|
||||
/// No description provided for @ledgerRefund.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Refund'**
|
||||
String get ledgerRefund;
|
||||
|
||||
/// No description provided for @ledgerAdjustment.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Adjustment'**
|
||||
String get ledgerAdjustment;
|
||||
}
|
||||
|
||||
class _AppLocalizationsDelegate
|
||||
|
||||
@@ -1083,4 +1083,95 @@ class AppLocalizationsEn extends AppLocalizations {
|
||||
|
||||
@override
|
||||
String get accountCancelFailed => 'Could not cancel the deletion request.';
|
||||
|
||||
@override
|
||||
String get authPhoneTitle => 'Continue with phone';
|
||||
|
||||
@override
|
||||
String get authPhoneSignUp => 'Create an account with phone';
|
||||
|
||||
@override
|
||||
String get authPhoneLabel => 'Phone number';
|
||||
|
||||
@override
|
||||
String get authPhoneHint => '0812 3456 7890';
|
||||
|
||||
@override
|
||||
String get authPhoneInvalid => 'Enter a valid phone number';
|
||||
|
||||
@override
|
||||
String get authCodeLabel => 'Verification code';
|
||||
|
||||
@override
|
||||
String get authCodeHint => '6-digit code';
|
||||
|
||||
@override
|
||||
String get authCodeRequired => 'Enter the verification code';
|
||||
|
||||
@override
|
||||
String get authSendCode => 'Send code';
|
||||
|
||||
@override
|
||||
String authResendCode(int seconds) {
|
||||
return 'Resend in ${seconds}s';
|
||||
}
|
||||
|
||||
@override
|
||||
String get authCodeSent => 'Verification code sent.';
|
||||
|
||||
@override
|
||||
String get authPhoneSignInAction => 'Sign in';
|
||||
|
||||
@override
|
||||
String get authPhoneSignUpAction => 'Create account';
|
||||
|
||||
@override
|
||||
String get unlockWithCoins => 'Unlock with coins';
|
||||
|
||||
@override
|
||||
String get unlockFailed => 'Could not unlock this episode.';
|
||||
|
||||
@override
|
||||
String get wallet => 'Wallet';
|
||||
|
||||
@override
|
||||
String get coinBalance => 'Coin balance';
|
||||
|
||||
@override
|
||||
String get coinLedger => 'Coin activity';
|
||||
|
||||
@override
|
||||
String get noCoinLedger => 'No coin activity yet.';
|
||||
|
||||
@override
|
||||
String get walletLoadFailed => 'Could not load your wallet.';
|
||||
|
||||
@override
|
||||
String walletBalanceShort(int coins) {
|
||||
return '$coins coins';
|
||||
}
|
||||
|
||||
@override
|
||||
String get insufficientCoins => 'Not enough coins.';
|
||||
|
||||
@override
|
||||
String get rechargeUnavailable => 'Top-up is not available yet.';
|
||||
|
||||
@override
|
||||
String get totalRecharged => 'Total recharged';
|
||||
|
||||
@override
|
||||
String get totalConsumed => 'Total spent';
|
||||
|
||||
@override
|
||||
String get ledgerUnlock => 'Episode unlock';
|
||||
|
||||
@override
|
||||
String get ledgerRecharge => 'Coin top-up';
|
||||
|
||||
@override
|
||||
String get ledgerRefund => 'Refund';
|
||||
|
||||
@override
|
||||
String get ledgerAdjustment => 'Adjustment';
|
||||
}
|
||||
@@ -1082,4 +1082,95 @@ class AppLocalizationsId extends AppLocalizations {
|
||||
|
||||
@override
|
||||
String get accountCancelFailed => 'Permintaan penghapusan gagal dibatalkan.';
|
||||
|
||||
@override
|
||||
String get authPhoneTitle => 'Lanjutkan dengan nomor HP';
|
||||
|
||||
@override
|
||||
String get authPhoneSignUp => 'Buat akun dengan nomor HP';
|
||||
|
||||
@override
|
||||
String get authPhoneLabel => 'Nomor HP';
|
||||
|
||||
@override
|
||||
String get authPhoneHint => '0812 3456 7890';
|
||||
|
||||
@override
|
||||
String get authPhoneInvalid => 'Masukkan nomor HP yang valid';
|
||||
|
||||
@override
|
||||
String get authCodeLabel => 'Kode verifikasi';
|
||||
|
||||
@override
|
||||
String get authCodeHint => 'Kode 6 digit';
|
||||
|
||||
@override
|
||||
String get authCodeRequired => 'Masukkan kode verifikasi';
|
||||
|
||||
@override
|
||||
String get authSendCode => 'Kirim kode';
|
||||
|
||||
@override
|
||||
String authResendCode(int seconds) {
|
||||
return 'Kirim ulang dalam $seconds detik';
|
||||
}
|
||||
|
||||
@override
|
||||
String get authCodeSent => 'Kode verifikasi telah dikirim.';
|
||||
|
||||
@override
|
||||
String get authPhoneSignInAction => 'Masuk';
|
||||
|
||||
@override
|
||||
String get authPhoneSignUpAction => 'Buat akun';
|
||||
|
||||
@override
|
||||
String get unlockWithCoins => 'Buka dengan koin';
|
||||
|
||||
@override
|
||||
String get unlockFailed => 'Gagal membuka episode ini.';
|
||||
|
||||
@override
|
||||
String get wallet => 'Dompet';
|
||||
|
||||
@override
|
||||
String get coinBalance => 'Saldo koin';
|
||||
|
||||
@override
|
||||
String get coinLedger => 'Riwayat koin';
|
||||
|
||||
@override
|
||||
String get noCoinLedger => 'Belum ada aktivitas koin.';
|
||||
|
||||
@override
|
||||
String get walletLoadFailed => 'Gagal memuat dompet.';
|
||||
|
||||
@override
|
||||
String walletBalanceShort(int coins) {
|
||||
return '$coins koin';
|
||||
}
|
||||
|
||||
@override
|
||||
String get insufficientCoins => 'Koin tidak cukup.';
|
||||
|
||||
@override
|
||||
String get rechargeUnavailable => 'Isi ulang belum tersedia.';
|
||||
|
||||
@override
|
||||
String get totalRecharged => 'Total isi ulang';
|
||||
|
||||
@override
|
||||
String get totalConsumed => 'Total pemakaian';
|
||||
|
||||
@override
|
||||
String get ledgerUnlock => 'Buka episode';
|
||||
|
||||
@override
|
||||
String get ledgerRecharge => 'Isi ulang koin';
|
||||
|
||||
@override
|
||||
String get ledgerRefund => 'Pengembalian';
|
||||
|
||||
@override
|
||||
String get ledgerAdjustment => 'Penyesuaian';
|
||||
}
|
||||
@@ -1061,4 +1061,95 @@ class AppLocalizationsZh extends AppLocalizations {
|
||||
|
||||
@override
|
||||
String get accountCancelFailed => '注销申请撤销失败。';
|
||||
|
||||
@override
|
||||
String get authPhoneTitle => '使用手机号继续';
|
||||
|
||||
@override
|
||||
String get authPhoneSignUp => '使用手机号注册';
|
||||
|
||||
@override
|
||||
String get authPhoneLabel => '手机号';
|
||||
|
||||
@override
|
||||
String get authPhoneHint => '0812 3456 7890';
|
||||
|
||||
@override
|
||||
String get authPhoneInvalid => '请输入有效手机号';
|
||||
|
||||
@override
|
||||
String get authCodeLabel => '验证码';
|
||||
|
||||
@override
|
||||
String get authCodeHint => '6 位验证码';
|
||||
|
||||
@override
|
||||
String get authCodeRequired => '请输入验证码';
|
||||
|
||||
@override
|
||||
String get authSendCode => '发送验证码';
|
||||
|
||||
@override
|
||||
String authResendCode(int seconds) {
|
||||
return '$seconds 秒后重发';
|
||||
}
|
||||
|
||||
@override
|
||||
String get authCodeSent => '验证码已发送。';
|
||||
|
||||
@override
|
||||
String get authPhoneSignInAction => '登录';
|
||||
|
||||
@override
|
||||
String get authPhoneSignUpAction => '注册';
|
||||
|
||||
@override
|
||||
String get unlockWithCoins => '金币解锁';
|
||||
|
||||
@override
|
||||
String get unlockFailed => '解锁失败,请稍后重试。';
|
||||
|
||||
@override
|
||||
String get wallet => '钱包';
|
||||
|
||||
@override
|
||||
String get coinBalance => '金币余额';
|
||||
|
||||
@override
|
||||
String get coinLedger => '金币流水';
|
||||
|
||||
@override
|
||||
String get noCoinLedger => '暂无金币流水。';
|
||||
|
||||
@override
|
||||
String get walletLoadFailed => '钱包加载失败。';
|
||||
|
||||
@override
|
||||
String walletBalanceShort(int coins) {
|
||||
return '$coins 金币';
|
||||
}
|
||||
|
||||
@override
|
||||
String get insufficientCoins => '金币余额不足。';
|
||||
|
||||
@override
|
||||
String get rechargeUnavailable => '充值暂未开放。';
|
||||
|
||||
@override
|
||||
String get totalRecharged => '累计充值';
|
||||
|
||||
@override
|
||||
String get totalConsumed => '累计消费';
|
||||
|
||||
@override
|
||||
String get ledgerUnlock => '剧集解锁';
|
||||
|
||||
@override
|
||||
String get ledgerRecharge => '金币充值';
|
||||
|
||||
@override
|
||||
String get ledgerRefund => '退款';
|
||||
|
||||
@override
|
||||
String get ledgerAdjustment => '余额调整';
|
||||
}
|
||||
+30
-1
@@ -438,5 +438,34 @@
|
||||
"accountCancelDeactivation": "撤销注销申请",
|
||||
"accountCancelSucceeded": "注销申请已撤销。",
|
||||
"accountDeactivateFailed": "注销申请提交失败。",
|
||||
"accountCancelFailed": "注销申请撤销失败。"
|
||||
"accountCancelFailed": "注销申请撤销失败。",
|
||||
"authPhoneTitle": "使用手机号继续",
|
||||
"authPhoneSignUp": "使用手机号注册",
|
||||
"authPhoneLabel": "手机号",
|
||||
"authPhoneHint": "0812 3456 7890",
|
||||
"authPhoneInvalid": "请输入有效手机号",
|
||||
"authCodeLabel": "验证码",
|
||||
"authCodeHint": "6 位验证码",
|
||||
"authCodeRequired": "请输入验证码",
|
||||
"authSendCode": "发送验证码",
|
||||
"authResendCode": "{seconds} 秒后重发",
|
||||
"authCodeSent": "验证码已发送。",
|
||||
"authPhoneSignInAction": "登录",
|
||||
"authPhoneSignUpAction": "注册",
|
||||
"unlockWithCoins": "金币解锁",
|
||||
"unlockFailed": "解锁失败,请稍后重试。",
|
||||
"wallet": "钱包",
|
||||
"coinBalance": "金币余额",
|
||||
"coinLedger": "金币流水",
|
||||
"noCoinLedger": "暂无金币流水。",
|
||||
"walletLoadFailed": "钱包加载失败。",
|
||||
"walletBalanceShort": "{coins} 金币",
|
||||
"insufficientCoins": "金币余额不足。",
|
||||
"rechargeUnavailable": "充值暂未开放。",
|
||||
"totalRecharged": "累计充值",
|
||||
"totalConsumed": "累计消费",
|
||||
"ledgerUnlock": "剧集解锁",
|
||||
"ledgerRecharge": "金币充值",
|
||||
"ledgerRefund": "退款",
|
||||
"ledgerAdjustment": "余额调整"
|
||||
}
|
||||
Reference in new issue
Block a user