app_localizations.dart 24 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020
  1. import 'dart:async';
  2. import 'package:flutter/foundation.dart';
  3. import 'package:flutter/widgets.dart';
  4. import 'package:flutter_localizations/flutter_localizations.dart';
  5. import 'package:intl/intl.dart' as intl;
  6. import 'app_localizations_de.dart';
  7. import 'app_localizations_en.dart';
  8. import 'app_localizations_hu.dart';
  9. // ignore_for_file: type=lint
  10. /// Callers can lookup localized strings with an instance of AppLocalizations
  11. /// returned by `AppLocalizations.of(context)`.
  12. ///
  13. /// Applications need to include `AppLocalizations.delegate()` in their app's
  14. /// `localizationDelegates` list, and the locales they support in the app's
  15. /// `supportedLocales` list. For example:
  16. ///
  17. /// ```dart
  18. /// import 'l10n/app_localizations.dart';
  19. ///
  20. /// return MaterialApp(
  21. /// localizationsDelegates: AppLocalizations.localizationsDelegates,
  22. /// supportedLocales: AppLocalizations.supportedLocales,
  23. /// home: MyApplicationHome(),
  24. /// );
  25. /// ```
  26. ///
  27. /// ## Update pubspec.yaml
  28. ///
  29. /// Please make sure to update your pubspec.yaml to include the following
  30. /// packages:
  31. ///
  32. /// ```yaml
  33. /// dependencies:
  34. /// # Internationalization support.
  35. /// flutter_localizations:
  36. /// sdk: flutter
  37. /// intl: any # Use the pinned version from flutter_localizations
  38. ///
  39. /// # Rest of dependencies
  40. /// ```
  41. ///
  42. /// ## iOS Applications
  43. ///
  44. /// iOS applications define key application metadata, including supported
  45. /// locales, in an Info.plist file that is built into the application bundle.
  46. /// To configure the locales supported by your app, you’ll need to edit this
  47. /// file.
  48. ///
  49. /// First, open your project’s ios/Runner.xcworkspace Xcode workspace file.
  50. /// Then, in the Project Navigator, open the Info.plist file under the Runner
  51. /// project’s Runner folder.
  52. ///
  53. /// Next, select the Information Property List item, select Add Item from the
  54. /// Editor menu, then select Localizations from the pop-up menu.
  55. ///
  56. /// Select and expand the newly-created Localizations item then, for each
  57. /// locale your application supports, add a new item and select the locale
  58. /// you wish to add from the pop-up menu in the Value field. This list should
  59. /// be consistent with the languages listed in the AppLocalizations.supportedLocales
  60. /// property.
  61. abstract class AppLocalizations {
  62. AppLocalizations(String locale)
  63. : localeName = intl.Intl.canonicalizedLocale(locale.toString());
  64. final String localeName;
  65. static AppLocalizations? of(BuildContext context) {
  66. return Localizations.of<AppLocalizations>(context, AppLocalizations);
  67. }
  68. static const LocalizationsDelegate<AppLocalizations> delegate =
  69. _AppLocalizationsDelegate();
  70. /// A list of this localizations delegate along with the default localizations
  71. /// delegates.
  72. ///
  73. /// Returns a list of localizations delegates containing this delegate along with
  74. /// GlobalMaterialLocalizations.delegate, GlobalCupertinoLocalizations.delegate,
  75. /// and GlobalWidgetsLocalizations.delegate.
  76. ///
  77. /// Additional delegates can be added by appending to this list in
  78. /// MaterialApp. This list does not have to be used at all if a custom list
  79. /// of delegates is preferred or required.
  80. static const List<LocalizationsDelegate<dynamic>> localizationsDelegates =
  81. <LocalizationsDelegate<dynamic>>[
  82. delegate,
  83. GlobalMaterialLocalizations.delegate,
  84. GlobalCupertinoLocalizations.delegate,
  85. GlobalWidgetsLocalizations.delegate,
  86. ];
  87. /// A list of this localizations delegate's supported locales.
  88. static const List<Locale> supportedLocales = <Locale>[
  89. Locale('de'),
  90. Locale('en'),
  91. Locale('hu'),
  92. ];
  93. /// The title of the application
  94. ///
  95. /// In en, this message translates to:
  96. /// **'ZenTap'**
  97. String get appTitle;
  98. /// App subtitle description
  99. ///
  100. /// In en, this message translates to:
  101. /// **'A stress relief tapping game'**
  102. String get appSubtitle;
  103. /// Description for play button
  104. ///
  105. /// In en, this message translates to:
  106. /// **'Tap to earn Relaxation Points'**
  107. String get playDescription;
  108. /// Description for zen mode button
  109. ///
  110. /// In en, this message translates to:
  111. /// **'Pure relaxation, no score'**
  112. String get zenModeDescription;
  113. /// Description for statistics button
  114. ///
  115. /// In en, this message translates to:
  116. /// **'View your progress and achievements'**
  117. String get statisticsDescription;
  118. /// Description for exit button
  119. ///
  120. /// In en, this message translates to:
  121. /// **'Close the application'**
  122. String get exitDescription;
  123. /// Exit button text
  124. ///
  125. /// In en, this message translates to:
  126. /// **'Exit'**
  127. String get exit;
  128. /// Today's relaxation points display
  129. ///
  130. /// In en, this message translates to:
  131. /// **'Today\'s Relaxation Points: {points}'**
  132. String todayRelaxationPoints(int points);
  133. /// Hint text on main menu
  134. ///
  135. /// In en, this message translates to:
  136. /// **'Tap anywhere to feel the calm'**
  137. String get tapToFeelCalm;
  138. /// Button text to start playing
  139. ///
  140. /// In en, this message translates to:
  141. /// **'Play'**
  142. String get play;
  143. /// Button text for zen mode
  144. ///
  145. /// In en, this message translates to:
  146. /// **'Zen Mode'**
  147. String get zenMode;
  148. /// Settings menu title
  149. ///
  150. /// In en, this message translates to:
  151. /// **'Settings'**
  152. String get settings;
  153. /// Statistics menu title
  154. ///
  155. /// In en, this message translates to:
  156. /// **'Stats'**
  157. String get stats;
  158. /// Pause button text
  159. ///
  160. /// In en, this message translates to:
  161. /// **'Pause'**
  162. String get pause;
  163. /// Resume button text
  164. ///
  165. /// In en, this message translates to:
  166. /// **'Resume'**
  167. String get resume;
  168. /// Menu button text
  169. ///
  170. /// In en, this message translates to:
  171. /// **'Menu'**
  172. String get menu;
  173. /// Score label
  174. ///
  175. /// In en, this message translates to:
  176. /// **'Score'**
  177. String get score;
  178. /// Relaxation points label
  179. ///
  180. /// In en, this message translates to:
  181. /// **'Relaxation Points'**
  182. String get relaxationPoints;
  183. /// Total score label
  184. ///
  185. /// In en, this message translates to:
  186. /// **'Total Score'**
  187. String get totalScore;
  188. /// Games played counter
  189. ///
  190. /// In en, this message translates to:
  191. /// **'Games Played'**
  192. String get gamesPlayed;
  193. /// Best score label
  194. ///
  195. /// In en, this message translates to:
  196. /// **'Best Score'**
  197. String get bestScore;
  198. /// Average score label
  199. ///
  200. /// In en, this message translates to:
  201. /// **'Average Score'**
  202. String get averageScore;
  203. /// Total playtime label
  204. ///
  205. /// In en, this message translates to:
  206. /// **'Playtime'**
  207. String get playtime;
  208. /// Total bubbles popped counter
  209. ///
  210. /// In en, this message translates to:
  211. /// **'Bubbles Popped'**
  212. String get bubblesPopped;
  213. /// Sound setting toggle
  214. ///
  215. /// In en, this message translates to:
  216. /// **'Sound'**
  217. String get soundEnabled;
  218. /// Haptics/vibration setting toggle
  219. ///
  220. /// In en, this message translates to:
  221. /// **'Vibration'**
  222. String get hapticsEnabled;
  223. /// Tilt controls setting toggle
  224. ///
  225. /// In en, this message translates to:
  226. /// **'Tilt Controls'**
  227. String get tiltEnabled;
  228. /// Google Play Games section
  229. ///
  230. /// In en, this message translates to:
  231. /// **'Google Play Games'**
  232. String get googlePlayGames;
  233. /// Language setting label
  234. ///
  235. /// In en, this message translates to:
  236. /// **'Language'**
  237. String get language;
  238. /// Donate button text
  239. ///
  240. /// In en, this message translates to:
  241. /// **'Donate'**
  242. String get donate;
  243. /// Tutorial welcome message
  244. ///
  245. /// In en, this message translates to:
  246. /// **'Welcome to ZenTap!'**
  247. String get tutorialWelcome;
  248. /// Tutorial instructions
  249. ///
  250. /// In en, this message translates to:
  251. /// **'Tap bubbles to pop them and earn relaxation points. Tilt your device to move bubbles around!'**
  252. String get tutorialInstructions;
  253. /// Tutorial close button
  254. ///
  255. /// In en, this message translates to:
  256. /// **'Got it!'**
  257. String get tutorialClose;
  258. /// Game over message
  259. ///
  260. /// In en, this message translates to:
  261. /// **'Game Over'**
  262. String get gameOver;
  263. /// Final score display
  264. ///
  265. /// In en, this message translates to:
  266. /// **'Final Score: {score}'**
  267. String finalScore(int score);
  268. /// Play again button
  269. ///
  270. /// In en, this message translates to:
  271. /// **'Play Again'**
  272. String get playAgain;
  273. /// Back button text
  274. ///
  275. /// In en, this message translates to:
  276. /// **'Back'**
  277. String get back;
  278. /// English language name
  279. ///
  280. /// In en, this message translates to:
  281. /// **'English'**
  282. String get englishLanguage;
  283. /// German language name
  284. ///
  285. /// In en, this message translates to:
  286. /// **'Deutsch'**
  287. String get germanLanguage;
  288. /// Hungarian language name
  289. ///
  290. /// In en, this message translates to:
  291. /// **'Magyar'**
  292. String get hungarianLanguage;
  293. /// Statistics screen title
  294. ///
  295. /// In en, this message translates to:
  296. /// **'Statistics'**
  297. String get statistics;
  298. /// Overview tab title
  299. ///
  300. /// In en, this message translates to:
  301. /// **'Overview'**
  302. String get overview;
  303. /// Charts tab title
  304. ///
  305. /// In en, this message translates to:
  306. /// **'Charts'**
  307. String get charts;
  308. /// Stats section header
  309. ///
  310. /// In en, this message translates to:
  311. /// **'Your Relaxation Journey'**
  312. String get yourRelaxationJourney;
  313. /// Today's points stat card
  314. ///
  315. /// In en, this message translates to:
  316. /// **'Today\'s Points'**
  317. String get todaysPoints;
  318. /// Total points stat card
  319. ///
  320. /// In en, this message translates to:
  321. /// **'Total Points'**
  322. String get totalPoints;
  323. /// Daily average stat card
  324. ///
  325. /// In en, this message translates to:
  326. /// **'Daily Average'**
  327. String get dailyAverage;
  328. /// Current streak stat card
  329. ///
  330. /// In en, this message translates to:
  331. /// **'Current Streak'**
  332. String get currentStreak;
  333. /// Best day stat card
  334. ///
  335. /// In en, this message translates to:
  336. /// **'Best Day'**
  337. String get bestDay;
  338. /// Streak in days
  339. ///
  340. /// In en, this message translates to:
  341. /// **'{days} days'**
  342. String streakDays(int days);
  343. /// Achievements button text
  344. ///
  345. /// In en, this message translates to:
  346. /// **'Achievements'**
  347. String get achievements;
  348. /// First Steps achievement
  349. ///
  350. /// In en, this message translates to:
  351. /// **'First Steps'**
  352. String get firstSteps;
  353. /// Zen Apprentice achievement
  354. ///
  355. /// In en, this message translates to:
  356. /// **'Zen Apprentice'**
  357. String get zenApprentice;
  358. /// Bubble Master achievement
  359. ///
  360. /// In en, this message translates to:
  361. /// **'Bubble Master'**
  362. String get bubbleMaster;
  363. /// Consistent achievement
  364. ///
  365. /// In en, this message translates to:
  366. /// **'Consistent'**
  367. String get consistent;
  368. /// Dedicated achievement
  369. ///
  370. /// In en, this message translates to:
  371. /// **'Dedicated'**
  372. String get dedicated;
  373. /// Zen Master achievement
  374. ///
  375. /// In en, this message translates to:
  376. /// **'Zen Master'**
  377. String get zenMaster;
  378. /// Last 7 days section title
  379. ///
  380. /// In en, this message translates to:
  381. /// **'Last 7 Days'**
  382. String get last7Days;
  383. /// Daily progress chart title
  384. ///
  385. /// In en, this message translates to:
  386. /// **'Daily Progress (Last 14 Days)'**
  387. String get dailyProgress14Days;
  388. /// Weekly summary chart title
  389. ///
  390. /// In en, this message translates to:
  391. /// **'Weekly Summary (Last 8 Weeks)'**
  392. String get weeklySummary8Weeks;
  393. /// Monday abbreviation
  394. ///
  395. /// In en, this message translates to:
  396. /// **'Mon'**
  397. String get monday;
  398. /// Tuesday abbreviation
  399. ///
  400. /// In en, this message translates to:
  401. /// **'Tue'**
  402. String get tuesday;
  403. /// Wednesday abbreviation
  404. ///
  405. /// In en, this message translates to:
  406. /// **'Wed'**
  407. String get wednesday;
  408. /// Thursday abbreviation
  409. ///
  410. /// In en, this message translates to:
  411. /// **'Thu'**
  412. String get thursday;
  413. /// Friday abbreviation
  414. ///
  415. /// In en, this message translates to:
  416. /// **'Fri'**
  417. String get friday;
  418. /// Saturday abbreviation
  419. ///
  420. /// In en, this message translates to:
  421. /// **'Sat'**
  422. String get saturday;
  423. /// Sunday abbreviation
  424. ///
  425. /// In en, this message translates to:
  426. /// **'Sun'**
  427. String get sunday;
  428. /// Zen mode indicator in game
  429. ///
  430. /// In en, this message translates to:
  431. /// **'Zen Mode'**
  432. String get zenModeGame;
  433. /// Play mode indicator in game
  434. ///
  435. /// In en, this message translates to:
  436. /// **'Play Mode'**
  437. String get playModeGame;
  438. /// Short zen mode indicator
  439. ///
  440. /// In en, this message translates to:
  441. /// **'ZEN'**
  442. String get zenModeShort;
  443. /// Short play mode indicator
  444. ///
  445. /// In en, this message translates to:
  446. /// **'PLAY'**
  447. String get playModeShort;
  448. /// In-game relaxation points display
  449. ///
  450. /// In en, this message translates to:
  451. /// **'Relaxation Points: {points}'**
  452. String relaxationPointsGame(int points);
  453. /// In-game time display
  454. ///
  455. /// In en, this message translates to:
  456. /// **'Time: {time}'**
  457. String timeGame(String time);
  458. /// Time label
  459. ///
  460. /// In en, this message translates to:
  461. /// **'Time'**
  462. String get time;
  463. /// Paused overlay title
  464. ///
  465. /// In en, this message translates to:
  466. /// **'Paused'**
  467. String get paused;
  468. /// Pause overlay subtitle
  469. ///
  470. /// In en, this message translates to:
  471. /// **'Take a moment to breathe'**
  472. String get takeAMomentToBreathe;
  473. /// Exit dialog title
  474. ///
  475. /// In en, this message translates to:
  476. /// **'Leave Game?'**
  477. String get leaveGame;
  478. /// Exit dialog confirmation message
  479. ///
  480. /// In en, this message translates to:
  481. /// **'Are you sure you want to return to the main menu?'**
  482. String get leaveGameConfirm;
  483. /// Cancel button text
  484. ///
  485. /// In en, this message translates to:
  486. /// **'Cancel'**
  487. String get cancel;
  488. /// Leave button text
  489. ///
  490. /// In en, this message translates to:
  491. /// **'Leave'**
  492. String get leave;
  493. /// Audio settings section
  494. ///
  495. /// In en, this message translates to:
  496. /// **'Audio'**
  497. String get audio;
  498. /// Background music setting
  499. ///
  500. /// In en, this message translates to:
  501. /// **'Background Music'**
  502. String get backgroundMusic;
  503. /// Background music description
  504. ///
  505. /// In en, this message translates to:
  506. /// **'Enable relaxing ambient sounds'**
  507. String get backgroundMusicDesc;
  508. /// Music volume setting
  509. ///
  510. /// In en, this message translates to:
  511. /// **'Music Volume'**
  512. String get musicVolume;
  513. /// Sound effects volume setting
  514. ///
  515. /// In en, this message translates to:
  516. /// **'Sound Effects Volume'**
  517. String get soundEffectsVolume;
  518. /// Feedback settings section
  519. ///
  520. /// In en, this message translates to:
  521. /// **'Feedback'**
  522. String get feedback;
  523. /// Haptic feedback setting
  524. ///
  525. /// In en, this message translates to:
  526. /// **'Haptic Feedback'**
  527. String get hapticFeedback;
  528. /// Haptic feedback description
  529. ///
  530. /// In en, this message translates to:
  531. /// **'Feel gentle vibrations on tap'**
  532. String get hapticFeedbackDesc;
  533. /// Help section
  534. ///
  535. /// In en, this message translates to:
  536. /// **'Help'**
  537. String get help;
  538. /// Show tutorial option
  539. ///
  540. /// In en, this message translates to:
  541. /// **'Show Tutorial'**
  542. String get showTutorial;
  543. /// Show tutorial description
  544. ///
  545. /// In en, this message translates to:
  546. /// **'Learn how to use ZenTap'**
  547. String get showTutorialDesc;
  548. /// Support section title
  549. ///
  550. /// In en, this message translates to:
  551. /// **'Support ZenTap'**
  552. String get supportZenTap;
  553. /// Support development option
  554. ///
  555. /// In en, this message translates to:
  556. /// **'Support Development'**
  557. String get supportDevelopment;
  558. /// Support development description
  559. ///
  560. /// In en, this message translates to:
  561. /// **'Help keep ZenTap free and ad-free'**
  562. String get supportDevelopmentDesc;
  563. /// App description
  564. ///
  565. /// In en, this message translates to:
  566. /// **'A stress relief tapping game'**
  567. String get stressReliefGame;
  568. /// Tutorial dialog title
  569. ///
  570. /// In en, this message translates to:
  571. /// **'How to Use ZenTap'**
  572. String get howToUseZenTap;
  573. /// Tutorial step 1
  574. ///
  575. /// In en, this message translates to:
  576. /// **'Tap anywhere on the screen to pop bubbles'**
  577. String get tapToPopBubbles;
  578. /// Tutorial step 2
  579. ///
  580. /// In en, this message translates to:
  581. /// **'Earn Relaxation Points in Play mode'**
  582. String get earnRelaxationPoints;
  583. /// Tutorial step 3
  584. ///
  585. /// In en, this message translates to:
  586. /// **'Choose Zen Mode for pure relaxation'**
  587. String get chooseZenMode;
  588. /// Tutorial step 4
  589. ///
  590. /// In en, this message translates to:
  591. /// **'Tap pause anytime to take a break'**
  592. String get tapPauseAnytime;
  593. /// Tutorial dialog button
  594. ///
  595. /// In en, this message translates to:
  596. /// **'Got it!'**
  597. String get gotIt;
  598. /// Support dialog title
  599. ///
  600. /// In en, this message translates to:
  601. /// **'Support ZenTap'**
  602. String get supportZenTapTitle;
  603. /// Support dialog message
  604. ///
  605. /// In en, this message translates to:
  606. /// **'ZenTap is free and ad-free. If you enjoy using it, consider supporting development:'**
  607. String get supportMessage;
  608. /// Ko-fi donation option
  609. ///
  610. /// In en, this message translates to:
  611. /// **'Buy me a coffee'**
  612. String get buyMeACoffee;
  613. /// Ko-fi donation description
  614. ///
  615. /// In en, this message translates to:
  616. /// **'Ko-fi (one-time)'**
  617. String get kofiOneTime;
  618. /// PayPal donation option
  619. ///
  620. /// In en, this message translates to:
  621. /// **'PayPal Donation'**
  622. String get paypalDonation;
  623. /// PayPal donation description
  624. ///
  625. /// In en, this message translates to:
  626. /// **'Direct donation'**
  627. String get directDonation;
  628. /// GitHub Sponsors option
  629. ///
  630. /// In en, this message translates to:
  631. /// **'GitHub Sponsors'**
  632. String get githubSponsors;
  633. /// GitHub Sponsors description
  634. ///
  635. /// In en, this message translates to:
  636. /// **'Monthly support'**
  637. String get monthlySupport;
  638. /// Thank you message in support dialog
  639. ///
  640. /// In en, this message translates to:
  641. /// **'Thank you for supporting indie development! 💜'**
  642. String get thankYouMessage;
  643. /// Support dialog dismiss button
  644. ///
  645. /// In en, this message translates to:
  646. /// **'Maybe later'**
  647. String get maybeLater;
  648. /// Error message for donation link
  649. ///
  650. /// In en, this message translates to:
  651. /// **'Could not open donation link'**
  652. String get couldNotOpenDonationLink;
  653. /// Error message for donation link exception
  654. ///
  655. /// In en, this message translates to:
  656. /// **'Error opening donation link'**
  657. String get errorOpeningDonationLink;
  658. /// Language dialog title
  659. ///
  660. /// In en, this message translates to:
  661. /// **'Select Language'**
  662. String get selectLanguage;
  663. /// Appearance settings section
  664. ///
  665. /// In en, this message translates to:
  666. /// **'Appearance'**
  667. String get appearance;
  668. /// Color theme setting
  669. ///
  670. /// In en, this message translates to:
  671. /// **'Color Theme'**
  672. String get colorTheme;
  673. /// Color theme description
  674. ///
  675. /// In en, this message translates to:
  676. /// **'Choose your preferred color scheme'**
  677. String get colorThemeDesc;
  678. /// Theme dialog title
  679. ///
  680. /// In en, this message translates to:
  681. /// **'Select Theme'**
  682. String get selectTheme;
  683. /// Default theme name
  684. ///
  685. /// In en, this message translates to:
  686. /// **'Default (fSociety)'**
  687. String get defaultTheme;
  688. /// Spring theme name
  689. ///
  690. /// In en, this message translates to:
  691. /// **'Spring Bloom'**
  692. String get springTheme;
  693. /// Summer theme name
  694. ///
  695. /// In en, this message translates to:
  696. /// **'Summer Bright'**
  697. String get summerTheme;
  698. /// Autumn theme name
  699. ///
  700. /// In en, this message translates to:
  701. /// **'Autumn Leaves'**
  702. String get autumnTheme;
  703. /// Winter theme name
  704. ///
  705. /// In en, this message translates to:
  706. /// **'Winter Frost'**
  707. String get winterTheme;
  708. /// Automatic theme name
  709. ///
  710. /// In en, this message translates to:
  711. /// **'Automatic'**
  712. String get automaticTheme;
  713. /// Tutorial welcome title
  714. ///
  715. /// In en, this message translates to:
  716. /// **'Welcome to ZenTap!'**
  717. String get tutorialWelcomeTitle;
  718. /// Tutorial welcome description
  719. ///
  720. /// In en, this message translates to:
  721. /// **'Tap anywhere on the screen to pop relaxing bubbles'**
  722. String get tutorialWelcomeDescription;
  723. /// Tutorial relaxation points title
  724. ///
  725. /// In en, this message translates to:
  726. /// **'Earn Relaxation Points'**
  727. String get tutorialRelaxationTitle;
  728. /// Tutorial relaxation points description
  729. ///
  730. /// In en, this message translates to:
  731. /// **'Each bubble you pop gives you points to track your zen journey'**
  732. String get tutorialRelaxationDescription;
  733. /// Tutorial zen mode title
  734. ///
  735. /// In en, this message translates to:
  736. /// **'Ready to Relax?'**
  737. String get tutorialZenTitle;
  738. /// Tutorial zen mode description
  739. ///
  740. /// In en, this message translates to:
  741. /// **'Try Zen Mode for endless peaceful tapping without scores'**
  742. String get tutorialZenDescription;
  743. /// Previous button text
  744. ///
  745. /// In en, this message translates to:
  746. /// **'Previous'**
  747. String get previous;
  748. /// Continue button text
  749. ///
  750. /// In en, this message translates to:
  751. /// **'Continue'**
  752. String get continueButton;
  753. /// Start relaxing button text
  754. ///
  755. /// In en, this message translates to:
  756. /// **'Start Relaxing!'**
  757. String get startRelaxing;
  758. /// Skip button text
  759. ///
  760. /// In en, this message translates to:
  761. /// **'Skip'**
  762. String get skip;
  763. /// Google Play Games service disabled message
  764. ///
  765. /// In en, this message translates to:
  766. /// **'Google Play Games Services are currently disabled. This feature can be enabled by developers in future updates.'**
  767. String get googlePlayGamesServiceDisabled;
  768. /// Signed in status message
  769. ///
  770. /// In en, this message translates to:
  771. /// **'Signed in as: {playerName}'**
  772. String signedInAs(String playerName);
  773. /// Leaderboards button text
  774. ///
  775. /// In en, this message translates to:
  776. /// **'Leaderboards'**
  777. String get leaderboards;
  778. /// Sign out button text
  779. ///
  780. /// In en, this message translates to:
  781. /// **'Sign Out'**
  782. String get signOut;
  783. /// Sign in prompt message
  784. ///
  785. /// In en, this message translates to:
  786. /// **'Sign in to save your achievements and compete on leaderboards!'**
  787. String get signInPrompt;
  788. /// Signing in progress text
  789. ///
  790. /// In en, this message translates to:
  791. /// **'Signing In...'**
  792. String get signingIn;
  793. /// Sign in button text
  794. ///
  795. /// In en, this message translates to:
  796. /// **'Sign In'**
  797. String get signIn;
  798. /// Sign in success message
  799. ///
  800. /// In en, this message translates to:
  801. /// **'Successfully signed in to Google Play Games!'**
  802. String get signInSuccess;
  803. /// Sign in failed message
  804. ///
  805. /// In en, this message translates to:
  806. /// **'Failed to sign in to Google Play Games'**
  807. String get signInFailed;
  808. /// Sign out success message
  809. ///
  810. /// In en, this message translates to:
  811. /// **'Signed out from Google Play Games'**
  812. String get signOutSuccess;
  813. /// Error message when signing in fails
  814. ///
  815. /// In en, this message translates to:
  816. /// **'Error signing in: {error}'**
  817. String errorSigningIn(String error);
  818. /// Error message when showing leaderboards fails
  819. ///
  820. /// In en, this message translates to:
  821. /// **'Error showing leaderboards: {error}'**
  822. String errorShowingLeaderboards(String error);
  823. /// Error message when showing achievements fails
  824. ///
  825. /// In en, this message translates to:
  826. /// **'Error showing achievements: {error}'**
  827. String errorShowingAchievements(String error);
  828. }
  829. class _AppLocalizationsDelegate
  830. extends LocalizationsDelegate<AppLocalizations> {
  831. const _AppLocalizationsDelegate();
  832. @override
  833. Future<AppLocalizations> load(Locale locale) {
  834. return SynchronousFuture<AppLocalizations>(lookupAppLocalizations(locale));
  835. }
  836. @override
  837. bool isSupported(Locale locale) =>
  838. <String>['de', 'en', 'hu'].contains(locale.languageCode);
  839. @override
  840. bool shouldReload(_AppLocalizationsDelegate old) => false;
  841. }
  842. AppLocalizations lookupAppLocalizations(Locale locale) {
  843. // Lookup logic when only language code is specified.
  844. switch (locale.languageCode) {
  845. case 'de':
  846. return AppLocalizationsDe();
  847. case 'en':
  848. return AppLocalizationsEn();
  849. case 'hu':
  850. return AppLocalizationsHu();
  851. }
  852. throw FlutterError(
  853. 'AppLocalizations.delegate failed to load unsupported locale "$locale". This is likely '
  854. 'an issue with the localizations generation tool. Please file an issue '
  855. 'on GitHub with a reproducible sample app and the gen-l10n configuration '
  856. 'that was used.',
  857. );
  858. }