32 lines
1007 B
Dart
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(),
|
|
);
|
|
}
|
|
}
|