diff --git a/lib/features/accounts/screens/account_info_screen.dart b/lib/features/accounts/screens/account_info_screen.dart index 40d0219..7f64de1 100644 --- a/lib/features/accounts/screens/account_info_screen.dart +++ b/lib/features/accounts/screens/account_info_screen.dart @@ -2,6 +2,7 @@ import 'package:flutter/material.dart'; import 'package:flutter_svg/svg.dart'; import 'package:kmobile/data/models/user.dart'; import 'package:material_symbols_icons/material_symbols_icons.dart'; +import 'package:flutter_gen/gen_l10n/app_localizations.dart'; class AccountInfoScreen extends StatefulWidget { final User user; @@ -24,8 +25,8 @@ class _AccountInfoScreen extends State { Navigator.pop(context); }, ), - title: const Text( - 'Account Info', + title: Text( + AppLocalizations.of(context).accountInfo, style: TextStyle(color: Colors.black, fontWeight: FontWeight.w500), ), centerTitle: false, @@ -48,23 +49,32 @@ class _AccountInfoScreen extends State { body: ListView( padding: const EdgeInsets.all(16.0), children: [ - InfoRow(title: 'Account Number', value: user.accountNo ?? 'N/A'), + InfoRow( + title: AppLocalizations.of(context).accountNumber, + value: user.accountNo ?? 'N/A'), // InfoRow(title: 'Nominee Customer No', value: user.nomineeCustomerNo), // InfoRow(title: 'SMS Service', value: user.smsService), // InfoRow(title: 'Missed Call Service', value: user.missedCallService), - InfoRow(title: 'Customer Number', value: user.cifNumber ?? 'N/A'), - InfoRow(title: 'Product Name', value: user.productType ?? 'N/A'), - // InfoRow(title: 'Account Opening Date', value: user.accountOpeningDate ?? 'N/A'), - const InfoRow(title: 'Account Status', value: 'OPEN'), InfoRow( - title: 'Available Balance', + title: AppLocalizations.of(context).customerNumber, + value: user.cifNumber ?? 'N/A'), + InfoRow( + title: AppLocalizations.of(context).productName, + value: user.productType ?? 'N/A'), + // InfoRow(title: 'Account Opening Date', value: user.accountOpeningDate ?? 'N/A'), + InfoRow( + title: AppLocalizations.of(context).accountStatus, value: 'OPEN'), + InfoRow( + title: AppLocalizations.of(context).availableBalance, value: user.availableBalance ?? 'N/A'), InfoRow( - title: 'Current Balance', value: user.currentBalance ?? 'N/A'), + title: AppLocalizations.of(context).currentBalance, + value: user.currentBalance ?? 'N/A'), user.approvedAmount != null ? InfoRow( - title: 'Approved Amount', value: user.approvedAmount ?? 'N/A') + title: AppLocalizations.of(context).approvedAmount, + value: user.approvedAmount ?? 'N/A') : const SizedBox.shrink(), ], ), diff --git a/lib/features/accounts/screens/account_statement_screen.dart b/lib/features/accounts/screens/account_statement_screen.dart index 04836c0..600d22e 100644 --- a/lib/features/accounts/screens/account_statement_screen.dart +++ b/lib/features/accounts/screens/account_statement_screen.dart @@ -5,6 +5,7 @@ import 'package:shimmer/shimmer.dart'; import 'package:kmobile/data/models/transaction.dart'; import 'package:kmobile/data/repositories/transaction_repository.dart'; import 'package:kmobile/di/injection.dart'; +import 'package:flutter_gen/gen_l10n/app_localizations.dart'; class AccountStatementScreen extends StatefulWidget { final String accountNo; @@ -109,8 +110,8 @@ class _AccountStatementScreen extends State { icon: const Icon(Symbols.arrow_back_ios_new), onPressed: () => Navigator.pop(context), ), - title: const Text( - 'Account Statement', + title: Text( + AppLocalizations.of(context).accountStatement, style: TextStyle(color: Colors.black, fontWeight: FontWeight.w500), ), centerTitle: false, @@ -135,21 +136,24 @@ class _AccountStatementScreen extends State { child: Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ - const Text('Filters', style: TextStyle(fontSize: 17)), + Text(AppLocalizations.of(context).filters, + style: TextStyle(fontSize: 17)), const SizedBox(height: 15), Row( children: [ Expanded( child: GestureDetector( onTap: () => _selectFromDate(context), - child: buildDateBox("From Date", fromDate), + child: buildDateBox( + AppLocalizations.of(context).fromDate, fromDate), ), ), const SizedBox(width: 10), Expanded( child: GestureDetector( onTap: () => _selectToDate(context), - child: buildDateBox("To Date", toDate), + child: buildDateBox( + AppLocalizations.of(context).toDate, toDate), ), ), ], @@ -160,8 +164,8 @@ class _AccountStatementScreen extends State { Expanded( child: TextFormField( controller: _minAmountController, - decoration: const InputDecoration( - labelText: 'Min Amount', + decoration: InputDecoration( + labelText: AppLocalizations.of(context).minAmount, border: OutlineInputBorder(), isDense: true, filled: true, @@ -175,8 +179,8 @@ class _AccountStatementScreen extends State { Expanded( child: TextFormField( controller: _maxAmountController, - decoration: const InputDecoration( - labelText: 'Max Amount', + decoration: InputDecoration( + labelText: AppLocalizations.of(context).maxAmount, border: OutlineInputBorder(), isDense: true, filled: true, @@ -208,7 +212,7 @@ class _AccountStatementScreen extends State { Padding( padding: const EdgeInsets.only(bottom: 12.0), child: Text( - 'Showing last 10 transactions.', + AppLocalizations.of(context).lastTenTransactions, style: TextStyle( fontSize: 16, fontWeight: FontWeight.w500, @@ -244,7 +248,7 @@ class _AccountStatementScreen extends State { : _transactions.isEmpty ? Center( child: Text( - 'No transactions found for this account.', + AppLocalizations.of(context).noTransactions, style: TextStyle( fontSize: 16, color: Colors.grey[600], diff --git a/lib/features/card/screens/block_card_screen.dart b/lib/features/card/screens/block_card_screen.dart index 5917e58..77119ee 100644 --- a/lib/features/card/screens/block_card_screen.dart +++ b/lib/features/card/screens/block_card_screen.dart @@ -1,6 +1,7 @@ import 'package:flutter/material.dart'; import 'package:flutter_svg/svg.dart'; import 'package:intl/intl.dart'; +import 'package:flutter_gen/gen_l10n/app_localizations.dart'; import 'package:material_symbols_icons/material_symbols_icons.dart'; class BlockCardScreen extends StatefulWidget { @@ -91,8 +92,8 @@ class _BlockCardScreen extends State { const SizedBox(height: 10), TextFormField( controller: _cardController, - decoration: const InputDecoration( - labelText: 'Card Number', + decoration: InputDecoration( + labelText: AppLocalizations.of(context).cardNumber, border: OutlineInputBorder(), isDense: true, filled: true, @@ -116,8 +117,8 @@ class _BlockCardScreen extends State { Expanded( child: TextFormField( controller: _cvvController, - decoration: const InputDecoration( - labelText: 'CVV', + decoration: InputDecoration( + labelText: AppLocalizations.of(context).cvv, border: OutlineInputBorder(), isDense: true, filled: true, @@ -143,8 +144,8 @@ class _BlockCardScreen extends State { controller: _expiryController, readOnly: true, onTap: _pickExpiryDate, - decoration: const InputDecoration( - labelText: 'Expiry Date', + decoration: InputDecoration( + labelText: AppLocalizations.of(context).expiryDate, suffixIcon: Icon(Icons.calendar_today), border: OutlineInputBorder(), isDense: true, @@ -167,8 +168,8 @@ class _BlockCardScreen extends State { const SizedBox(height: 24), TextFormField( controller: _phoneController, - decoration: const InputDecoration( - labelText: 'Phone', + decoration: InputDecoration( + labelText: AppLocalizations.of(context).phone, prefixIcon: Icon(Icons.phone), border: OutlineInputBorder(), isDense: true, @@ -185,7 +186,7 @@ class _BlockCardScreen extends State { keyboardType: TextInputType.phone, validator: (value) => value != null && value.length >= 10 ? null - : 'Enter valid phone number', + : AppLocalizations.of(context).enterValidPhone, ), const SizedBox(height: 45), Align( @@ -200,7 +201,7 @@ class _BlockCardScreen extends State { backgroundColor: Colors.blue[900], foregroundColor: Colors.white, ), - child: const Text('Block'), + child: Text(AppLocalizations.of(context).block), ), ), ), diff --git a/lib/features/card/screens/card_management_screen.dart b/lib/features/card/screens/card_management_screen.dart index a9702c3..65a5fff 100644 --- a/lib/features/card/screens/card_management_screen.dart +++ b/lib/features/card/screens/card_management_screen.dart @@ -3,6 +3,7 @@ import 'package:flutter_svg/svg.dart'; import 'package:kmobile/features/card/screens/block_card_screen.dart'; import 'package:kmobile/features/card/screens/card_pin_change_details_screen.dart'; import 'package:material_symbols_icons/material_symbols_icons.dart'; +import 'package:flutter_gen/gen_l10n/app_localizations.dart'; class CardManagementScreen extends StatefulWidget { const CardManagementScreen({super.key}); @@ -42,7 +43,7 @@ class _CardManagementScreen extends State { children: [ CardManagementTile( icon: Symbols.add, - label: 'Apply Debit Card', + label: AppLocalizations.of(context).applyDebitCard, onTap: () {}, ), const Divider( @@ -50,7 +51,7 @@ class _CardManagementScreen extends State { ), CardManagementTile( icon: Symbols.remove_moderator, - label: 'Block / Unblock Card', + label: AppLocalizations.of(context).blockUnblockCard, onTap: () { Navigator.push( context, @@ -63,7 +64,7 @@ class _CardManagementScreen extends State { ), CardManagementTile( icon: Symbols.password_2, - label: 'Change Card PIN', + label: AppLocalizations.of(context).changeCardPin, onTap: () { Navigator.push( context, diff --git a/lib/features/card/screens/card_pin_change_details_screen.dart b/lib/features/card/screens/card_pin_change_details_screen.dart index 771bb84..2d6c3b7 100644 --- a/lib/features/card/screens/card_pin_change_details_screen.dart +++ b/lib/features/card/screens/card_pin_change_details_screen.dart @@ -3,6 +3,7 @@ import 'package:flutter_svg/svg.dart'; import 'package:intl/intl.dart'; import 'package:kmobile/features/card/screens/card_pin_set_screen.dart'; import 'package:material_symbols_icons/material_symbols_icons.dart'; +import 'package:flutter_gen/gen_l10n/app_localizations.dart'; class CardPinChangeDetailsScreen extends StatefulWidget { const CardPinChangeDetailsScreen({super.key}); @@ -81,8 +82,8 @@ class _CardPinChangeDetailsScreen extends State { const SizedBox(height: 10), TextFormField( controller: _cardController, - decoration: const InputDecoration( - labelText: 'Card Number', + decoration: InputDecoration( + labelText: AppLocalizations.of(context).cardNumber, border: OutlineInputBorder(), isDense: true, filled: true, @@ -106,8 +107,8 @@ class _CardPinChangeDetailsScreen extends State { Expanded( child: TextFormField( controller: _cvvController, - decoration: const InputDecoration( - labelText: 'CVV', + decoration: InputDecoration( + labelText: AppLocalizations.of(context).cvv, border: OutlineInputBorder(), isDense: true, filled: true, @@ -133,8 +134,8 @@ class _CardPinChangeDetailsScreen extends State { controller: _expiryController, readOnly: true, onTap: _pickExpiryDate, - decoration: const InputDecoration( - labelText: 'Expiry Date', + decoration: InputDecoration( + labelText: AppLocalizations.of(context).expiryDate, suffixIcon: Icon(Icons.calendar_today), border: OutlineInputBorder(), isDense: true, @@ -157,8 +158,8 @@ class _CardPinChangeDetailsScreen extends State { const SizedBox(height: 24), TextFormField( controller: _phoneController, - decoration: const InputDecoration( - labelText: 'Phone', + decoration: InputDecoration( + labelText: AppLocalizations.of(context).phone, prefixIcon: Icon(Icons.phone), border: OutlineInputBorder(), isDense: true, @@ -190,7 +191,7 @@ class _CardPinChangeDetailsScreen extends State { backgroundColor: Colors.blue[900], foregroundColor: Colors.white, ), - child: const Text('Next'), + child: Text(AppLocalizations.of(context).next), ), ), ), diff --git a/lib/features/card/screens/card_pin_set_screen.dart b/lib/features/card/screens/card_pin_set_screen.dart index 80abfd7..a3360e5 100644 --- a/lib/features/card/screens/card_pin_set_screen.dart +++ b/lib/features/card/screens/card_pin_set_screen.dart @@ -1,6 +1,7 @@ import 'package:flutter/material.dart'; import 'package:flutter_svg/svg.dart'; import 'package:material_symbols_icons/material_symbols_icons.dart'; +import 'package:flutter_gen/gen_l10n/app_localizations.dart'; class CardPinSetScreen extends StatefulWidget { const CardPinSetScreen({super.key}); diff --git a/lib/features/cheque/screens/cheque_management_screen.dart b/lib/features/cheque/screens/cheque_management_screen.dart index 082d48a..93c17b0 100644 --- a/lib/features/cheque/screens/cheque_management_screen.dart +++ b/lib/features/cheque/screens/cheque_management_screen.dart @@ -2,6 +2,7 @@ import 'package:flutter/material.dart'; import 'package:flutter_svg/svg.dart'; import 'package:kmobile/features/enquiry/screens/enquiry_screen.dart'; import 'package:material_symbols_icons/material_symbols_icons.dart'; +import 'package:flutter_gen/gen_l10n/app_localizations.dart'; class ChequeManagementScreen extends StatefulWidget { const ChequeManagementScreen({super.key}); diff --git a/lib/features/enquiry/screens/enquiry_screen.dart b/lib/features/enquiry/screens/enquiry_screen.dart index c55e69f..f5e0edd 100644 --- a/lib/features/enquiry/screens/enquiry_screen.dart +++ b/lib/features/enquiry/screens/enquiry_screen.dart @@ -2,6 +2,7 @@ import 'package:flutter/material.dart'; import 'package:flutter_svg/svg.dart'; import 'package:material_symbols_icons/material_symbols_icons.dart'; import 'package:url_launcher/url_launcher.dart'; +import 'package:flutter_gen/gen_l10n/app_localizations.dart'; class EnquiryScreen extends StatefulWidget { const EnquiryScreen({super.key}); @@ -16,7 +17,7 @@ class _EnquiryScreen extends State { if (await canLaunchUrl(emailUri)) { await launchUrl(emailUri); } else { - debugPrint('Could not launch email client for $email'); + debugPrint('${AppLocalizations.of(context).emailLaunchError} $email'); } } @@ -25,7 +26,7 @@ class _EnquiryScreen extends State { if (await canLaunchUrl(phoneUri)) { await launchUrl(phoneUri); } else { - debugPrint('Could not launch dialer for $phone'); + debugPrint('${AppLocalizations.of(context).dialerLaunchError} $phone'); } } @@ -58,8 +59,8 @@ class _EnquiryScreen extends State { Navigator.pop(context); }, ), - title: const Text( - 'Enquiry', + title: Text( + AppLocalizations.of(context).enquiry, style: TextStyle(color: Colors.black, fontWeight: FontWeight.w500), ), centerTitle: false, @@ -87,16 +88,17 @@ class _EnquiryScreen extends State { // … existing Mail us / Call us / Write to us … const SizedBox(height: 20), - const Text("Write to us", style: TextStyle(color: Colors.grey)), + Text(AppLocalizations.of(context).writeToUs, + style: TextStyle(color: Colors.grey)), const SizedBox(height: 4), const Text( "complaint@kccb.in", style: TextStyle(color: Colors.blue), ), - const SizedBox(height: 20), + SizedBox(height: 20), Text( - "Key Contacts", + AppLocalizations.of(context).keyContacts, style: TextStyle( fontSize: 17, color: Theme.of(context).primaryColor, @@ -106,25 +108,25 @@ class _EnquiryScreen extends State { Divider(color: Colors.grey[300]), const SizedBox(height: 16), _buildContactItem( - "Chairman", + AppLocalizations.of(context).chairman, "chairman@kccb.in", "01892-222677", ), const SizedBox(height: 16), _buildContactItem( - "Managing Director", + AppLocalizations.of(context).managingDirector, "md@kccb.in", "01892-224969", ), const SizedBox(height: 16), _buildContactItem( - "General Manager (West)", + AppLocalizations.of(context).gmWest, "gmw@kccb.in", "01892-223280", ), const SizedBox(height: 16), _buildContactItem( - "General Manager (North)", + AppLocalizations.of(context).gmNorth, "gmn@kccb.in", "01892-224607", ), diff --git a/lib/features/fund_transfer/screens/fund_transfer_beneficiary_screen.dart b/lib/features/fund_transfer/screens/fund_transfer_beneficiary_screen.dart index 6f47f40..e8449cc 100644 --- a/lib/features/fund_transfer/screens/fund_transfer_beneficiary_screen.dart +++ b/lib/features/fund_transfer/screens/fund_transfer_beneficiary_screen.dart @@ -3,6 +3,7 @@ import 'package:flutter_svg/svg.dart'; import 'package:kmobile/features/beneficiaries/screens/add_beneficiary_screen.dart'; import 'package:kmobile/features/fund_transfer/screens/fund_transfer_screen.dart'; import 'package:material_symbols_icons/material_symbols_icons.dart'; +import 'package:flutter_gen/gen_l10n/app_localizations.dart'; class FundTransferBeneficiaryScreen extends StatefulWidget { const FundTransferBeneficiaryScreen({super.key}); @@ -43,8 +44,8 @@ class _FundTransferBeneficiaryScreen Navigator.pop(context); }, ), - title: const Text( - 'Fund Transfer - Beneficiary', + title: Text( + AppLocalizations.of(context).fundTransferBeneficiary, style: TextStyle(color: Colors.black, fontWeight: FontWeight.w500), ), centerTitle: false, diff --git a/lib/features/fund_transfer/screens/fund_transfer_screen.dart b/lib/features/fund_transfer/screens/fund_transfer_screen.dart index a9d9d93..2e4e31b 100644 --- a/lib/features/fund_transfer/screens/fund_transfer_screen.dart +++ b/lib/features/fund_transfer/screens/fund_transfer_screen.dart @@ -2,6 +2,7 @@ import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; import 'package:kmobile/features/fund_transfer/screens/transaction_pin_screen.dart'; import 'package:material_symbols_icons/material_symbols_icons.dart'; +import 'package:flutter_gen/gen_l10n/app_localizations.dart'; class FundTransferScreen extends StatefulWidget { const FundTransferScreen({super.key}); @@ -82,8 +83,8 @@ class _FundTransferScreen extends State { Navigator.pop(context); }, ), - title: const Text( - 'Fund Transfer', + title: Text( + AppLocalizations.of(context).fundTransfer, style: TextStyle(color: Colors.black, fontWeight: FontWeight.w500), ), centerTitle: false, @@ -101,10 +102,10 @@ class _FundTransferScreen extends State { body: Column( children: [ const Spacer(), - const Row( + Row( mainAxisAlignment: MainAxisAlignment.center, children: [ - Text('Debit from:'), + Text(AppLocalizations.of(context).debitFrom), Text( '0300015678903456', style: TextStyle(fontSize: 18, fontWeight: FontWeight.w500), @@ -112,7 +113,8 @@ class _FundTransferScreen extends State { ], ), const SizedBox(height: 20), - const Text('Enter Amount', style: TextStyle(fontSize: 20)), + Text(AppLocalizations.of(context).enterAmount, + style: TextStyle(fontSize: 20)), const SizedBox(height: 20), Container( padding: const EdgeInsets.symmetric(horizontal: 24, vertical: 16), @@ -136,8 +138,7 @@ class _FundTransferScreen extends State { mainAxisSpacing: 12, crossAxisSpacing: 12, childAspectRatio: 1.2, - children: - keys.map((key) => buildKey(key)).toList(), + children: keys.map((key) => buildKey(key)).toList(), ), ), ], diff --git a/lib/l10n/app_en.arb b/lib/l10n/app_en.arb index 9b2d141..6a75fb6 100644 --- a/lib/l10n/app_en.arb +++ b/lib/l10n/app_en.arb @@ -82,6 +82,118 @@ "validAmount": "Enter a valid amount", "swipeToPay": "Swipe to Pay", "outsideBank": "Outside Bank", - "ownBank": "Own Bank" + "ownBank": "Own Bank", + "neft": "NEFT", +"rtgs": "RTGS", +"imps": "IMPS", +"quickPayOutsideBank": "Quick Pay - Outside Bank", +"debitFrom": "Debit from", +"nameRequired": "Name is required", +"bankNameRequired": "Beneficiary Bank name is required", +"branchNameRequired": "Beneficiary Branch Name is required", +"ifscRequired": "IFSC Code is required", +"phoneRequired": "Phone number is required", +"transactionMode": "Transaction Mode", +"payingVia": "Paying via", +"accountOpeningDeposit": "Account Opening Request - Deposit", +"accountOpeningLoan": "Account Opening Request - Loan", +"quickLinks": "Quick Links", +"branchLocator": "Branch Locator", +"emailLaunchError": "Could not launch email client for", +"dialerLaunchError": "Could not launch dialer for", +"writeToUs": "Write to us", +"keyContacts": "Key Contacts", +"chairman": "Chairman", +"managingDirector": "Managing Director", +"gmWest": "General Manager (West)", +"gmNorth": "General Manager (North)", +"enquiry": "Enquiry", +"fundTransferBeneficiary": "Fund Transfer - Beneficiary", +"fundTransfer": "Fund Transfer", +"enterAmount": "Enter Amount", +"accountInfo": "Account Info", +"customerNumber": "Customer Number", +"productName": "Product Name", +"accountStatus": "Account Status", +"availableBalance": "Available Balance", +"currentBalance": "Current Balance", +"accountStatement": "Account Statement", +"filters": "Filters", +"fromDate": "From Date", +"toDate": "To Date", +"minAmount": "Min Amount", +"maxAmount": "Max amount", +"lastTenTransactions": "Showing last 10 transactions", +"applyDebitCard": "Apply Debit Card", +"blockUnblockCard": "Block / Unblock Card", +"changeCardPin": "Change Card PIN", +"cardNumber": "Card Number", +"cvv": "CVV", +"expiryDate": "Expiry Date", +"next": "Next", +"block": "Block", +"approvedAmount": "Approved Amount", +"failedToLoadTransactions": "Failed to load transactions", +"pleaseSelectDateFirst": "Please select date first", +"cardBlocked": "Card has been blocked", +"blockCard": "Block Card", +"enterValidCardNumber": "Enter valid card number", +"cvv3Digits": "CVV must be 3 digits", +"selectExpiryDate": "Select expiry date", +"cardManagement": "Card Management", +"paymentResult": "Payment Result", +"failedToShareScreenshot": "Failed to share screenshot", +"paymentSuccessful": "Payment successful", +"cardDetails": "Card Details", +"cardPin": "Card PIN", +"amountEntered": "Amount entered", +"enterNewPin": "Enter new PIN", +"pleaseEnterNewPin": "Please enter new PIN", +"pin4Digits": "PIN must be at least 4 digits", +"enterAgain": "Enter Again", +"pinsDoNotMatch": "PINs do not match", +"submit": "Submit", +"chequeManagement": "Cheque Management", +"requestChequeBook": "Request Chequebook", +"chequeDeposit": "Cheque Deposit", +"stopCheque": "Stop Cheque", +"revokeStop": "Revoke Stop", +"positivePay": "Positive Pay", +"availableBalance": "Available Balance", +"pinSetSuccess": "PIN set successfully", +"amount": "Amount", +"creditedAccount": "Credited Account", +"date": "Date", +"paymentFailed": "Payment Failed", +"share": "Share", +"done": "Done", +"invalidOtp": "Invalid OTP", +"enterOtp": "Enter OTP", +"otpVerification": "OTP Verification", +"otpSentMessage": "Enter the 4-digit OTP sent to your mobile number", +"verifyOtp": "Verify OTP", +"otpResent": "OTP Resent", +"resendOtp": "Resend OTP", +"setTpin": "Set TPIN", +"tpinRequired": "TPIN Required", +"tpinRequiredMessage": "You need to set your TPIN to continue with secure transactions", +"setTpinTitle": "Set TPIN", +"tpinInfo": "Your TPIN is a 6-digit code used to authorize transactions. Keep it safe and do not share it with anyone.", +"tpinFailed": "Failed to set TPIN. Please try again.", +"success": "Success!", +"tpinSetSuccess": "Your TPIN was set successfully", +"ok": "OK", +"pinsMismatchRetry": "PINs do not match. Try again.", +"pleaseEnter6Digits": "Please enter 6 digits", +"setNewTpin": "Set your new TPIN", +"confirmNewTpin": "Confirm your new TPIN", +"tpinStatusFailed": "Failed to check TPIN status", +"enter6DigitTpin": "Please enter a 6-digit TPIN", +"tpin": "TPIN", +"enterTpin": "Enter your TPIN", +"transactionSuccess": "Transaction Successful", +"on": "On", +"toAccountNumber": "To Account Number", +"shareText": "Share" } diff --git a/lib/l10n/app_hi.arb b/lib/l10n/app_hi.arb index 636294f..31b4594 100644 --- a/lib/l10n/app_hi.arb +++ b/lib/l10n/app_hi.arb @@ -82,5 +82,117 @@ "validAmount": "एक मान्य राशि दर्ज करें", "swipeToPay": "भुगतान करने के लिए स्वाइप करें", "outsideBank": "बाहरी बैंक", - "ownBank": "स्वयं का बैंक" + "ownBank": "स्वयं का बैंक", + "neft": "एनईएफटी", +"rtgs": "आरटीजीएस", +"imps": "आईएमपीएस", +"quickPayOutsideBank": "त्वरित भुगतान - बाहरी बैंक", +"debitFrom": "से डेबिट करें", +"nameRequired": "नाम आवश्यक है", +"bankNameRequired": "बैंक का नाम आवश्यक है", +"branchNameRequired": "शाखा का नाम आवश्यक है", +"ifscRequired": "आईएफएससी कोड आवश्यक है", +"phoneRequired": "फ़ोन नंबर आवश्यक है", +"transactionMode": "लेन-देन का माध्यम", +"payingVia": "के माध्यम से भुगतान", +"accountOpeningDeposit": "खाता खोलने का अनुरोध - जमा", +"accountOpeningLoan": "खाता खोलने का अनुरोध - ऋण", +"quickLinks": "त्वरित लिंक", +"branchLocator": "शाखा लोकेटर", +"emailLaunchError": "ईमेल क्लाइंट खोलने में विफल: ", +"dialerLaunchError": "डायलर खोलने में विफल: ", +"writeToUs": "हमें लिखें", +"keyContacts": "मुख्य संपर्क", +"chairman": "अध्यक्ष", +"managingDirector": "प्रबंध निदेशक", +"gmWest": "महाप्रबंधक (पश्चिम)", +"gmNorth": "महाप्रबंधक (उत्तर)", +"enquiry": "पूछताछ", +"fundTransferBeneficiary": "फंड ट्रांसफर - लाभार्थी", +"fundTransfer": "फंड ट्रांसफर", +"enterAmount": "राशि दर्ज करें", +"accountInfo": "खाता जानकारी", +"customerNumber": "ग्राहक संख्या", +"productName": "उत्पाद का नाम", +"accountStatus": "खाता स्थिति", +"availableBalance": "उपलब्ध शेष राशि", +"currentBalance": "वर्तमान शेष राशि", +"accountStatement": "खाता विवरण", +"filters": "फ़िल्टर", +"fromDate": "प्रारंभ तिथि", +"toDate": "अंतिम तिथि", +"minAmount": "न्यूनतम राशि", +"maxAmount": "अधिकतम राशि", +"lastTenTransactions": "अंतिम 10 लेनदेन प्रदर्शित किए जा रहे हैं", +"applyDebitCard": "डेबिट कार्ड के लिए आवेदन करें", +"blockUnblockCard": "कार्ड ब्लॉक/अनब्लॉक करें", +"changeCardPin": "कार्ड पिन बदलें", +"cardNumber": "कार्ड संख्या", +"cvv": "सीवीवी", +"expiryDate": "समाप्ति तिथि", +"next": "आगे", +"block": "ब्लॉक करें", +"approvedAmount": "स्वीकृत राशि", +"failedToLoadTransactions": "लेन-देन लोड करने में विफल", +"pleaseSelectDateFirst": "कृपया पहले तिथि चुनें", +"cardBlocked": "कार्ड ब्लॉक कर दिया गया है", +"blockCard": "कार्ड ब्लॉक करें", +"enterValidCardNumber": "मान्य कार्ड नंबर दर्ज करें", +"cvv3Digits": "सीवीवी 3 अंकों का होना चाहिए", +"selectExpiryDate": "समाप्ति तिथि चुनें", +"cardManagement": "कार्ड प्रबंधन", +"paymentResult": "भुगतान परिणाम", +"failedToShareScreenshot": "स्क्रीनशॉट साझा करने में विफल", +"paymentSuccessful": "भुगतान सफल", +"cardDetails": "कार्ड विवरण", +"cardPin": "कार्ड पिन", +"amountEntered": "दर्ज की गई राशि", +"enterNewPin": "नया पिन दर्ज करें", +"pleaseEnterNewPin": "कृपया नया पिन दर्ज करें", +"pin4Digits": "पिन कम से कम 4 अंकों का होना चाहिए", +"enterAgain": "पुनः दर्ज करें", +"pinsDoNotMatch": "पिन मेल नहीं खाते", +"submit": "जमा करें", +"chequeManagement": "चेक प्रबंधन", +"requestChequeBook": "चेकबुक का अनुरोध करें", +"chequeDeposit": "चेक जमा", +"stopCheque": "चेक रोकें", +"revokeStop": "रोक हटाएं", +"positivePay": "पॉजिटिव पे", +"availableBalance": "उपलब्ध शेष राशि", +"pinSetSuccess": "पिन सफलतापूर्वक सेट किया गया", +"amount": "राशि", +"creditedAccount": "क्रेडिटेड खाता", +"date": "तिथि", +"paymentFailed": "भुगतान विफल", +"share": "साझा करें", +"done": "पूर्ण", +"invalidOtp": "अमान्य ओटीपी", +"enterOtp": "ओटीपी दर्ज करें", +"otpVerification": "ओटीपी सत्यापन", +"otpSentMessage": "अपने मोबाइल नंबर पर भेजा गया 4-अंकों का ओटीपी दर्ज करें", +"verifyOtp": "ओटीपी सत्यापित करें", +"otpResent": "ओटीपी पुनः भेजा गया", +"resendOtp": "ओटीपी पुनः भेजें", +"setTpin": "टी-पिन सेट करें", +"tpinRequired": "टी-पिन आवश्यक है", +"tpinRequiredMessage": "सुरक्षित लेनदेन के लिए टी-पिन सेट करना आवश्यक है", +"setTpinTitle": "टी-पिन सेट करें", +"tpinInfo": "आपका टी-पिन 6 अंकों का कोड है जिसका उपयोग लेन-देन को प्रमाणित करने के लिए किया जाता है। इसे सुरक्षित रखें और किसी से साझा न करें।", +"tpinFailed": "टी-पिन सेट करने में विफल। कृपया पुनः प्रयास करें।", +"success": "सफलता!", +"tpinSetSuccess": "आपका टी-पिन सफलतापूर्वक सेट हो गया है", +"ok": "ठीक है", +"pinsMismatchRetry": "पिन मेल नहीं खाते। पुनः प्रयास करें।", +"pleaseEnter6Digits": "कृपया 6 अंक दर्ज करें", +"setNewTpin": "अपना नया टी-पिन सेट करें", +"confirmNewTpin": "अपना नया टी-पिन पुष्टि करें", +"tpinStatusFailed": "टी-पिन स्थिति की जांच करने में विफल", +"enter6DigitTpin": "कृपया 6 अंकों का टी-पिन दर्ज करें", +"tpin": "टी-पिन", +"enterTpin": "अपना टी-पिन दर्ज करें", +"transactionSuccess": "लेन-देन सफल रहा", +"on": "पर", +"toAccountNumber": "खाते संख्या में", +"shareText": "साझा करें" } \ No newline at end of file