kmobile/lib/src/preferences/language_dialog.dart
2025-05-27 12:47:21 +05:30

32 lines
1007 B
Dart

import 'package:flutter/material.dart';
import 'package:flutter_gen/gen_l10n/app_localizations.dart';
class LanguageDialog extends StatelessWidget {
const LanguageDialog({super.key});
String getLocaleName(BuildContext context, String code) {
Map<String, String> localeCodeMap = {
'en': AppLocalizations.of(context)!.english,
'bn': AppLocalizations.of(context)!.bengali,
'ml': AppLocalizations.of(context)!.malayalam,
'hi': AppLocalizations.of(context)!.hindi,
};
return localeCodeMap[code] ?? 'Unknown';
}
@override
Widget build(BuildContext context) {
return SimpleDialog(
title: Text(AppLocalizations.of(context)!.select_language),
children: AppLocalizations.supportedLocales.map(
(locale) {
return SimpleDialogOption(
onPressed: () => Navigator.pop(context, locale),
child: ListTile(title: Text(getLocaleName(context, locale.languageCode))),
);
},
).toList(),
);
}
}