worldhopper/lib/helpers/l10n_helpers.dart
Felipe M. 7d5c854dc9 feat: i18n (#2)
Reviewed-on: #2
Co-authored-by: Felipe M. <me@fmartingr.com>
Co-committed-by: Felipe M. <me@fmartingr.com>
2026-02-12 22:41:22 +01:00

44 lines
1.5 KiB
Dart

import 'package:flutter/material.dart';
import 'package:worldhopper/l10n/app_localizations.dart';
import 'package:worldhopper/providers/reading_mode_provider.dart';
/// Returns the full label for a reading mode
String readingModeLabel(AppLocalizations l10n, ReadingMode mode) {
return switch (mode) {
ReadingMode.ltr => l10n.readingModeLtr,
ReadingMode.rtl => l10n.readingModeRtl,
ReadingMode.verticalContinuous => l10n.readingModeVertical,
};
}
/// Returns the short label for a reading mode (used in reader settings menu)
String readingModeShortLabel(AppLocalizations l10n, ReadingMode mode) {
return switch (mode) {
ReadingMode.ltr => l10n.readingModeShortLtr,
ReadingMode.rtl => l10n.readingModeShortRtl,
ReadingMode.verticalContinuous => l10n.readingModeShortVertical,
};
}
/// Returns the label for a filter quality setting
String filterQualityLabel(AppLocalizations l10n, FilterQuality quality) {
return switch (quality) {
FilterQuality.none => l10n.filterQualityNone,
FilterQuality.low => l10n.filterQualityLow,
FilterQuality.medium => l10n.filterQualityMedium,
FilterQuality.high => l10n.filterQualityHigh,
};
}
/// Returns the label for a precache pages setting
String precachePagesLabel(AppLocalizations l10n, int count) {
return switch (count) {
0 => l10n.precachePagesOff,
1 => l10n.precachePages1,
2 => l10n.precachePages2,
3 => l10n.precachePages3,
4 => l10n.precachePages4,
5 => l10n.precachePages5,
_ => '$count pages',
};
}