Language Change

This commit is contained in:
Nilanjan Chakrabarti
2025-07-09 16:52:24 +05:30
parent 5e72baf1d3
commit 9b439338a9
12 changed files with 312 additions and 65 deletions

View File

@@ -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<AccountInfoScreen> {
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<AccountInfoScreen> {
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(),
],
),

View File

@@ -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<AccountStatementScreen> {
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<AccountStatementScreen> {
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<AccountStatementScreen> {
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<AccountStatementScreen> {
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<AccountStatementScreen> {
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<AccountStatementScreen> {
: _transactions.isEmpty
? Center(
child: Text(
'No transactions found for this account.',
AppLocalizations.of(context).noTransactions,
style: TextStyle(
fontSize: 16,
color: Colors.grey[600],

View File

@@ -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<BlockCardScreen> {
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<BlockCardScreen> {
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<BlockCardScreen> {
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<BlockCardScreen> {
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<BlockCardScreen> {
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<BlockCardScreen> {
backgroundColor: Colors.blue[900],
foregroundColor: Colors.white,
),
child: const Text('Block'),
child: Text(AppLocalizations.of(context).block),
),
),
),

View File

@@ -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<CardManagementScreen> {
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<CardManagementScreen> {
),
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<CardManagementScreen> {
),
CardManagementTile(
icon: Symbols.password_2,
label: 'Change Card PIN',
label: AppLocalizations.of(context).changeCardPin,
onTap: () {
Navigator.push(
context,

View File

@@ -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<CardPinChangeDetailsScreen> {
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<CardPinChangeDetailsScreen> {
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<CardPinChangeDetailsScreen> {
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<CardPinChangeDetailsScreen> {
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<CardPinChangeDetailsScreen> {
backgroundColor: Colors.blue[900],
foregroundColor: Colors.white,
),
child: const Text('Next'),
child: Text(AppLocalizations.of(context).next),
),
),
),

View File

@@ -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});

View File

@@ -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});

View File

@@ -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<EnquiryScreen> {
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<EnquiryScreen> {
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<EnquiryScreen> {
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<EnquiryScreen> {
// … 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<EnquiryScreen> {
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",
),

View File

@@ -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,

View File

@@ -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<FundTransferScreen> {
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<FundTransferScreen> {
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<FundTransferScreen> {
],
),
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<FundTransferScreen> {
mainAxisSpacing: 12,
crossAxisSpacing: 12,
childAspectRatio: 1.2,
children:
keys.map((key) => buildKey(key)).toList(),
children: keys.map((key) => buildKey(key)).toList(),
),
),
],

View File

@@ -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"
}

View File

@@ -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": "साझा करें"
}