Files
sendico/frontend/pweb/lib/app/timeago.dart
2025-11-13 15:06:15 +03:00

28 lines
1.0 KiB
Dart

import 'package:timeago/timeago.dart' as timeago;
import 'package:pweb/generated/i18n/app_localizations.dart'; // Ensure this file exports supportedLocales
// Mapping of language codes to timeago message classes.
final Map<String, timeago.LookupMessages> _timeagoLocales = {
'en': timeago.EnMessages(),
'ru': timeago.RuMessages(),
'uk': timeago.UkMessages(),
// Add more mappings as needed.
};
/// Initializes timeago using the supported locales from AppLocalisations.
/// Optionally, [defaultLocale] can be set (defaults to 'en').
void initializeTimeagoLocales({String defaultLocale = 'en'}) {
// Assume AppLocalisations.supportedLocales is a static List<Locale>
final supportedLocales = AppLocalizations.supportedLocales;
for (final locale in supportedLocales) {
final languageCode = locale.languageCode;
if (_timeagoLocales.containsKey(languageCode)) {
timeago.setLocaleMessages(languageCode, _timeagoLocales[languageCode]!);
}
}
// Set the default locale.
timeago.setDefaultLocale(defaultLocale);
}