Language Changes

This commit is contained in:
Nilanjan Chakrabarti
2025-07-09 12:46:51 +05:30
commit 5e72baf1d3
458 changed files with 52259 additions and 0 deletions

View File

@@ -0,0 +1,52 @@
import 'package:flutter/material.dart';
import 'package:flutter_gen/gen_l10n/app_localizations.dart';
import 'package:kmobile/app.dart';
class LanguageDialog extends StatelessWidget {
const LanguageDialog({super.key});
String getLocaleName(AppLocalizations localizations, String code) {
final localeCodeMap = {
'en': localizations.english,
'hi': localizations.hindi,
};
return localeCodeMap[code] ?? 'Unknown';
}
@override
Widget build(BuildContext context) {
return Builder(
builder: (context) {
final localizations = AppLocalizations.of(context);
final supportedLocales = [
const Locale('en'),
const Locale('hi'),
];
return AlertDialog(
title: Text(localizations.language),
content: Column(
mainAxisSize: MainAxisSize.min,
children: supportedLocales.map((locale) {
return ListTile(
leading: const Icon(Icons.language),
title: Text(getLocaleName(localizations, locale.languageCode)),
onTap: () {
Navigator.pop(context);
KMobile.setLocale(context, locale);
},
);
}).toList(),
),
actions: [
TextButton(
onPressed: () => Navigator.pop(context),
child: Text(localizations.cancel),
),
],
);
},
);
}
}

View File

@@ -0,0 +1,32 @@
import 'package:flutter/material.dart';
import 'language_dialog.dart';
import 'package:flutter_gen/gen_l10n/app_localizations.dart';
class PreferenceScreen extends StatelessWidget {
const PreferenceScreen({super.key});
@override
Widget build(BuildContext context) {
final loc = AppLocalizations.of(context);
return Scaffold(
appBar: AppBar(
title: Text(loc.preferences), // Localized "Preferences"
),
body: ListView(
children: [
ListTile(
leading: const Icon(Icons.language),
title: Text(loc.language), // Localized "Language"
onTap: () {
showDialog(
context: context,
builder: (context) => LanguageDialog(),
);
},
),
],
),
);
}
}