- gen-l10n setup (flutter_localizations, intl, l10n.yaml, ARB en/fr) - localeProvider (persisted) wired into MaterialApp - language selector in the System page (alongside the color palette) - all user-facing strings across screens moved to AppLocalizations Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
152 lines
2.9 KiB
Dart
152 lines
2.9 KiB
Dart
// ignore: unused_import
|
|
import 'package:intl/intl.dart' as intl;
|
|
import 'app_localizations.dart';
|
|
|
|
// ignore_for_file: type=lint
|
|
|
|
/// The translations for English (`en`).
|
|
class AppLocalizationsEn extends AppLocalizations {
|
|
AppLocalizationsEn([String locale = 'en']) : super(locale);
|
|
|
|
@override
|
|
String get appTitle => 'Pokéguess';
|
|
|
|
@override
|
|
String get whosThatPokemon => 'WHO\'S THAT POKÉMON?';
|
|
|
|
@override
|
|
String get shinyDetected => '✨ SHINY POKÉMON DETECTED! ✨';
|
|
|
|
@override
|
|
String get genFilter => 'GEN FILTER';
|
|
|
|
@override
|
|
String get identificationInput => 'IDENTIFICATION INPUT';
|
|
|
|
@override
|
|
String get hintPrefix => 'HINT';
|
|
|
|
@override
|
|
String get enterPokemonName => 'Enter Pokémon name...';
|
|
|
|
@override
|
|
String get continueButton => 'CONTINUE';
|
|
|
|
@override
|
|
String get guessButton => 'GUESS!';
|
|
|
|
@override
|
|
String hintButton(int count) {
|
|
return 'HINT ($count)';
|
|
}
|
|
|
|
@override
|
|
String skipButton(int count) {
|
|
return 'SKIP ($count)';
|
|
}
|
|
|
|
@override
|
|
String get currentScore => 'CURRENT SCORE';
|
|
|
|
@override
|
|
String personalBest(int score) {
|
|
return 'PERSONAL BEST: $score';
|
|
}
|
|
|
|
@override
|
|
String caughtShiny(String name) {
|
|
return '✨ SHINY! You caught $name! (+20 pts) ✨';
|
|
}
|
|
|
|
@override
|
|
String caughtNormal(String name) {
|
|
return 'Correct! You caught $name!';
|
|
}
|
|
|
|
@override
|
|
String get wrongGuess => 'Wrong guess! Try again.';
|
|
|
|
@override
|
|
String get errorLoadingPokemon => 'Error loading Pokémon';
|
|
|
|
@override
|
|
String get listNational => 'LIST - NATIONAL';
|
|
|
|
@override
|
|
String get tabAll => 'ALL';
|
|
|
|
@override
|
|
String get tabCaught => 'CAUGHT';
|
|
|
|
@override
|
|
String get pokemonDiscovered => 'POKEMON DISCOVERED';
|
|
|
|
@override
|
|
String noPokemonFound(String filter) {
|
|
return 'NO POKEMON FOUND IN $filter';
|
|
}
|
|
|
|
@override
|
|
String get pokedexFooter => 'NATIONAL POKEDEX V2.0';
|
|
|
|
@override
|
|
String get loadingError => 'Loading error';
|
|
|
|
@override
|
|
String get baseStats => 'BASE STATS';
|
|
|
|
@override
|
|
String get noDescription => 'No description available for this Pokémon.';
|
|
|
|
@override
|
|
String get gameOver => 'GAME OVER';
|
|
|
|
@override
|
|
String itWas(String name) {
|
|
return 'It was $name!';
|
|
}
|
|
|
|
@override
|
|
String get gameOverMessage =>
|
|
'\"Looks like your journey ends here. You\'ve run out of energy!\"';
|
|
|
|
@override
|
|
String get statStreak => 'STREAK';
|
|
|
|
@override
|
|
String get statSeen => 'SEEN';
|
|
|
|
@override
|
|
String get statScore => 'SCORE';
|
|
|
|
@override
|
|
String get tryAgain => 'TRY AGAIN';
|
|
|
|
@override
|
|
String get backToPokedex => 'BACK TO POKEDEX';
|
|
|
|
@override
|
|
String get system => 'SYSTEM';
|
|
|
|
@override
|
|
String get statistics => 'STATISTICS';
|
|
|
|
@override
|
|
String get colorPalette => 'COLOR PALETTE';
|
|
|
|
@override
|
|
String get language => 'LANGUAGE';
|
|
|
|
@override
|
|
String get statBestScore => 'Best score';
|
|
|
|
@override
|
|
String get statCaught => 'Caught';
|
|
|
|
@override
|
|
String get statSeenLabel => 'Seen';
|
|
|
|
@override
|
|
String get statCompletion => 'Completion';
|
|
}
|