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

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