l10n_health 0.1.1
l10n_health: ^0.1.1 copied to clipboard
Health check for the translation layer of Dart and Flutter apps. Finds unused and missing ARB keys, placeholder mismatches, duplicate and untranslated values, hardcoded UI strings and invisible Unicod [...]
// A Flutter app would import its generated localizations; this example
// only needs to parse, so the class is declared inline.
class AppLocalizations {
static AppLocalizations of(Object context) => AppLocalizations();
String get appTitle => '';
String greeting(String name) => '';
String itemCount(int count) => '';
String get close => '';
}
extension L10n on Object {
AppLocalizations get l10n => AppLocalizations.of(this);
}
void build(Object context) {
final l10n = AppLocalizations.of(context);
label(l10n.appTitle);
label(context.l10n.greeting('Ana'));
label(AppLocalizations.of(context).itemCount(3));
// Bypasses localization: German users see English.
label('Please select a pharmacy');
// Already translated as "close".
label('Close');
}
void label(String text) {}