From 8acecc84b87d1edc26f95c688042ae61e69b2f32 Mon Sep 17 00:00:00 2001 From: Pawan Nagar Date: Tue, 18 Feb 2025 21:28:32 +0530 Subject: [PATCH] Migrated from synthetic package localization generation --- android/app/build.gradle | 1 + l10n.yaml | 4 +- lib/core/extensions/ext_build_context.dart | 2 +- lib/l10n/generated/app_localizations.dart | 2361 +++++++++++++++++ lib/l10n/generated/app_localizations_en.dart | 1233 +++++++++ lib/l10n/generated/app_localizations_ja.dart | 1233 +++++++++ lib/mindful_app.dart | 2 +- .../system/mindful_settings_provider.dart | 2 +- .../screens/settings/general/tab_general.dart | 2 +- .../upcoming_notifications_screen.dart | 2 +- pubspec.yaml | 1 - 11 files changed, 4836 insertions(+), 7 deletions(-) create mode 100644 lib/l10n/generated/app_localizations.dart create mode 100644 lib/l10n/generated/app_localizations_en.dart create mode 100644 lib/l10n/generated/app_localizations_ja.dart diff --git a/android/app/build.gradle b/android/app/build.gradle index 08995888..76ee8be4 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -61,6 +61,7 @@ android { ndk { debugSymbolLevel 'full' } + resValue "string", "app_name", "Mindful" signingConfig = signingConfigs.release } diff --git a/l10n.yaml b/l10n.yaml index 025b9a10..51bd674b 100644 --- a/l10n.yaml +++ b/l10n.yaml @@ -1,6 +1,8 @@ fallback-locale: 'en' +nullable-getter: false +synthetic-package: false arb-dir: lib/l10n +output-dir: lib/l10n/generated template-arb-file: app_en.arb output-localization-file: app_localizations.dart -nullable-getter: false untranslated-messages-file: untranslated_strings.json \ No newline at end of file diff --git a/lib/core/extensions/ext_build_context.dart b/lib/core/extensions/ext_build_context.dart index 86af7449..0970d34d 100644 --- a/lib/core/extensions/ext_build_context.dart +++ b/lib/core/extensions/ext_build_context.dart @@ -13,8 +13,8 @@ import 'package:flutter/material.dart'; import 'package:flutter_animate/flutter_animate.dart'; import 'package:mindful/core/extensions/ext_num.dart'; import 'package:mindful/config/app_constants.dart'; +import 'package:mindful/l10n/generated/app_localizations.dart'; import 'package:mindful/ui/common/styled_text.dart'; -import 'package:flutter_gen/gen_l10n/app_localizations.dart'; extension ExtBuildContext on BuildContext { /// Returns the [AppLocalizations] instance for the current context. diff --git a/lib/l10n/generated/app_localizations.dart b/lib/l10n/generated/app_localizations.dart new file mode 100644 index 00000000..a4529e15 --- /dev/null +++ b/lib/l10n/generated/app_localizations.dart @@ -0,0 +1,2361 @@ +import 'dart:async'; + +import 'package:flutter/foundation.dart'; +import 'package:flutter/widgets.dart'; +import 'package:flutter_localizations/flutter_localizations.dart'; +import 'package:intl/intl.dart' as intl; + +import 'app_localizations_en.dart'; +import 'app_localizations_ja.dart'; + +// ignore_for_file: type=lint + +/// Callers can lookup localized strings with an instance of AppLocalizations +/// returned by `AppLocalizations.of(context)`. +/// +/// Applications need to include `AppLocalizations.delegate()` in their app's +/// `localizationDelegates` list, and the locales they support in the app's +/// `supportedLocales` list. For example: +/// +/// ```dart +/// import 'generated/app_localizations.dart'; +/// +/// return MaterialApp( +/// localizationsDelegates: AppLocalizations.localizationsDelegates, +/// supportedLocales: AppLocalizations.supportedLocales, +/// home: MyApplicationHome(), +/// ); +/// ``` +/// +/// ## Update pubspec.yaml +/// +/// Please make sure to update your pubspec.yaml to include the following +/// packages: +/// +/// ```yaml +/// dependencies: +/// # Internationalization support. +/// flutter_localizations: +/// sdk: flutter +/// intl: any # Use the pinned version from flutter_localizations +/// +/// # Rest of dependencies +/// ``` +/// +/// ## iOS Applications +/// +/// iOS applications define key application metadata, including supported +/// locales, in an Info.plist file that is built into the application bundle. +/// To configure the locales supported by your app, you’ll need to edit this +/// file. +/// +/// First, open your project’s ios/Runner.xcworkspace Xcode workspace file. +/// Then, in the Project Navigator, open the Info.plist file under the Runner +/// project’s Runner folder. +/// +/// Next, select the Information Property List item, select Add Item from the +/// Editor menu, then select Localizations from the pop-up menu. +/// +/// Select and expand the newly-created Localizations item then, for each +/// locale your application supports, add a new item and select the locale +/// you wish to add from the pop-up menu in the Value field. This list should +/// be consistent with the languages listed in the AppLocalizations.supportedLocales +/// property. +abstract class AppLocalizations { + AppLocalizations(String locale) : localeName = intl.Intl.canonicalizedLocale(locale.toString()); + + final String localeName; + + static AppLocalizations of(BuildContext context) { + return Localizations.of(context, AppLocalizations)!; + } + + static const LocalizationsDelegate delegate = _AppLocalizationsDelegate(); + + /// A list of this localizations delegate along with the default localizations + /// delegates. + /// + /// Returns a list of localizations delegates containing this delegate along with + /// GlobalMaterialLocalizations.delegate, GlobalCupertinoLocalizations.delegate, + /// and GlobalWidgetsLocalizations.delegate. + /// + /// Additional delegates can be added by appending to this list in + /// MaterialApp. This list does not have to be used at all if a custom list + /// of delegates is preferred or required. + static const List> localizationsDelegates = >[ + delegate, + GlobalMaterialLocalizations.delegate, + GlobalCupertinoLocalizations.delegate, + GlobalWidgetsLocalizations.delegate, + ]; + + /// A list of this localizations delegate's supported locales. + static const List supportedLocales = [ + Locale('en'), + Locale('ja') + ]; + + /// No description provided for @mindful_tagline. + /// + /// In en, this message translates to: + /// **'Focus on what truly Matters'** + String get mindful_tagline; + + /// No description provided for @unlock_button_label. + /// + /// In en, this message translates to: + /// **'Unlock'** + String get unlock_button_label; + + /// No description provided for @permission_status_off. + /// + /// In en, this message translates to: + /// **'Off'** + String get permission_status_off; + + /// No description provided for @permission_status_allowed. + /// + /// In en, this message translates to: + /// **'Allowed'** + String get permission_status_allowed; + + /// No description provided for @permission_status_not_allowed. + /// + /// In en, this message translates to: + /// **'Not allowed'** + String get permission_status_not_allowed; + + /// No description provided for @permission_button_grant_permission. + /// + /// In en, this message translates to: + /// **'Grant Permission'** + String get permission_button_grant_permission; + + /// No description provided for @permission_button_agree_and_continue. + /// + /// In en, this message translates to: + /// **'Agree & Continue'** + String get permission_button_agree_and_continue; + + /// No description provided for @permission_button_not_now. + /// + /// In en, this message translates to: + /// **'Not Now'** + String get permission_button_not_now; + + /// No description provided for @permission_button_help. + /// + /// In en, this message translates to: + /// **'Help?'** + String get permission_button_help; + + /// No description provided for @permission_sheet_privacy_info. + /// + /// In en, this message translates to: + /// **'Mindful is 100% secure and works offline. We do not collect or store any personal data.'** + String get permission_sheet_privacy_info; + + /// No description provided for @permission_grant_step_one. + /// + /// In en, this message translates to: + /// **'1. Click on {button_label} button.'** + String permission_grant_step_one(String button_label); + + /// No description provided for @permission_grant_step_two. + /// + /// In en, this message translates to: + /// **'2. Select Mindful in the next screen.'** + String get permission_grant_step_two; + + /// No description provided for @permission_grant_step_three. + /// + /// In en, this message translates to: + /// **'3. Click and turn on the switch like below.'** + String get permission_grant_step_three; + + /// No description provided for @permission_notification_title. + /// + /// In en, this message translates to: + /// **'Send Notifications'** + String get permission_notification_title; + + /// No description provided for @permission_alarms_title. + /// + /// In en, this message translates to: + /// **'Alarms & Reminders'** + String get permission_alarms_title; + + /// No description provided for @permission_alarms_info. + /// + /// In en, this message translates to: + /// **'Please grant permission for setting alarms and reminders. This will allow Mindful to start your bedtime schedule on time and reset app timers daily at midnight and help you stay on track.'** + String get permission_alarms_info; + + /// No description provided for @permission_alarms_device_tile_label. + /// + /// In en, this message translates to: + /// **'Allow setting alarms and reminders'** + String get permission_alarms_device_tile_label; + + /// No description provided for @permission_usage_title. + /// + /// In en, this message translates to: + /// **'Usage Access'** + String get permission_usage_title; + + /// No description provided for @permission_usage_info. + /// + /// In en, this message translates to: + /// **'Please grant usage access permission. This will allow Mindful to monitor app usage and manage access to certain apps, ensuring a more focused and controlled digital environment.'** + String get permission_usage_info; + + /// No description provided for @permission_usage_device_tile_label. + /// + /// In en, this message translates to: + /// **'Permit usage access'** + String get permission_usage_device_tile_label; + + /// No description provided for @permission_overlay_title. + /// + /// In en, this message translates to: + /// **'Display Overlay'** + String get permission_overlay_title; + + /// No description provided for @permission_overlay_info. + /// + /// In en, this message translates to: + /// **'Please grant display overlay permission. This will allow Mindful to show an overlay when a paused app is opened, helping you stay focused and maintain your schedule.'** + String get permission_overlay_info; + + /// No description provided for @permission_overlay_device_tile_label. + /// + /// In en, this message translates to: + /// **'Allow display over other apps'** + String get permission_overlay_device_tile_label; + + /// No description provided for @permission_accessibility_title. + /// + /// In en, this message translates to: + /// **'Accessibility'** + String get permission_accessibility_title; + + /// No description provided for @permission_accessibility_info. + /// + /// In en, this message translates to: + /// **'Please grant accessibility permission. This will allow Mindful to restrict access to short-form video content (e.g., Reels, Shorts) within social media apps and browsers, and filter inappropriate websites.'** + String get permission_accessibility_info; + + /// No description provided for @permission_accessibility_required. + /// + /// In en, this message translates to: + /// **'Mindful requires accessibility permission to block short content and websites effectively.'** + String get permission_accessibility_required; + + /// No description provided for @permission_accessibility_device_tile_label. + /// + /// In en, this message translates to: + /// **'Use Mindful'** + String get permission_accessibility_device_tile_label; + + /// No description provided for @permission_dnd_title. + /// + /// In en, this message translates to: + /// **'Do not disturb'** + String get permission_dnd_title; + + /// No description provided for @permission_dnd_info. + /// + /// In en, this message translates to: + /// **'Please grant Do Not Disturb access. This will allow Mindful to start and stop Do Not Disturb mode during the bedtime schedule.'** + String get permission_dnd_info; + + /// No description provided for @permission_dnd_tile_title. + /// + /// In en, this message translates to: + /// **'Start DND'** + String get permission_dnd_tile_title; + + /// No description provided for @permission_dnd_tile_subtitle. + /// + /// In en, this message translates to: + /// **'Also enable Do Not Disturb mode.'** + String get permission_dnd_tile_subtitle; + + /// No description provided for @permission_battery_optimization_tile_title. + /// + /// In en, this message translates to: + /// **'Ignore Battery Optimization'** + String get permission_battery_optimization_tile_title; + + /// No description provided for @permission_battery_optimization_status_enabled. + /// + /// In en, this message translates to: + /// **'Already unrestricted'** + String get permission_battery_optimization_status_enabled; + + /// No description provided for @permission_battery_optimization_status_disabled. + /// + /// In en, this message translates to: + /// **'Disable background restriction'** + String get permission_battery_optimization_status_disabled; + + /// No description provided for @permission_battery_optimization_allow_info. + /// + /// In en, this message translates to: + /// **'Allowing \'Ignore Battery Optimization\' will automatically grant the \'Alarms & Reminders\' permission on some devices.'** + String get permission_battery_optimization_allow_info; + + /// No description provided for @permission_vpn_title. + /// + /// In en, this message translates to: + /// **'Create VPN'** + String get permission_vpn_title; + + /// No description provided for @permission_vpn_info. + /// + /// In en, this message translates to: + /// **'Please grant permission to create virtual private network (VPN) connection. This will enable Mindful to restrict internet access for designated applications by creating local on device VPN.'** + String get permission_vpn_info; + + /// No description provided for @permission_admin_title. + /// + /// In en, this message translates to: + /// **'Admin'** + String get permission_admin_title; + + /// No description provided for @permission_admin_info. + /// + /// In en, this message translates to: + /// **'Administrative privileges are needed only for essential operations to ensure the app works properly and remains tamper-proof.'** + String get permission_admin_info; + + /// No description provided for @permission_admin_snack_alert. + /// + /// In en, this message translates to: + /// **'Tamper protection can only be disabled during the selected time window.'** + String get permission_admin_snack_alert; + + /// No description provided for @permission_notification_access_title. + /// + /// In en, this message translates to: + /// **'Notification Access'** + String get permission_notification_access_title; + + /// No description provided for @permission_notification_access_info. + /// + /// In en, this message translates to: + /// **'Please grant notification access permission. This will allow Mindful to organize your notifications and deliver them on your schedule.'** + String get permission_notification_access_info; + + /// No description provided for @permission_notification_access_required. + /// + /// In en, this message translates to: + /// **'Mindful requires notification access to batch and schedule notifications.'** + String get permission_notification_access_required; + + /// No description provided for @permission_notification_access_device_tile_label. + /// + /// In en, this message translates to: + /// **'Allow notification access'** + String get permission_notification_access_device_tile_label; + + /// No description provided for @day_today. + /// + /// In en, this message translates to: + /// **'Today'** + String get day_today; + + /// No description provided for @day_yesterday. + /// + /// In en, this message translates to: + /// **'Yesterday'** + String get day_yesterday; + + /// No description provided for @nDays. + /// + /// In en, this message translates to: + /// **'{count, plural, =0{0 day} =1{1 day} other{{count} days}}'** + String nDays(num count); + + /// No description provided for @nHours. + /// + /// In en, this message translates to: + /// **'{count, plural, =0{0 hour} =1{1 hour} other{{count} hours}}'** + String nHours(num count); + + /// No description provided for @nMinutes. + /// + /// In en, this message translates to: + /// **'{count, plural, =0{0 minute} =1{1 minute} other{{count} minutes}}'** + String nMinutes(num count); + + /// No description provided for @nSeconds. + /// + /// In en, this message translates to: + /// **'{count, plural, =0{0 second} =1{1 second} other{{count} seconds}}'** + String nSeconds(num count); + + /// Separator used between time like, 10 hours 'and' 15 minutes + /// + /// In en, this message translates to: + /// **'and'** + String get time_separator_and; + + /// No description provided for @timer_status_active. + /// + /// In en, this message translates to: + /// **'Active'** + String get timer_status_active; + + /// No description provided for @timer_status_paused. + /// + /// In en, this message translates to: + /// **'Paused'** + String get timer_status_paused; + + /// No description provided for @create_button. + /// + /// In en, this message translates to: + /// **'Create'** + String get create_button; + + /// No description provided for @update_button. + /// + /// In en, this message translates to: + /// **'Update'** + String get update_button; + + /// No description provided for @dialog_button_cancel. + /// + /// In en, this message translates to: + /// **'Cancel'** + String get dialog_button_cancel; + + /// No description provided for @dialog_button_remove. + /// + /// In en, this message translates to: + /// **'Remove'** + String get dialog_button_remove; + + /// No description provided for @dialog_button_set. + /// + /// In en, this message translates to: + /// **'Set'** + String get dialog_button_set; + + /// No description provided for @dialog_button_reset. + /// + /// In en, this message translates to: + /// **'Reset'** + String get dialog_button_reset; + + /// No description provided for @dialog_button_infinite. + /// + /// In en, this message translates to: + /// **'Infinite'** + String get dialog_button_infinite; + + /// No description provided for @schedule_start_label. + /// + /// In en, this message translates to: + /// **'Start'** + String get schedule_start_label; + + /// No description provided for @schedule_end_label. + /// + /// In en, this message translates to: + /// **'End'** + String get schedule_end_label; + + /// No description provided for @development_dialog_info. + /// + /// In en, this message translates to: + /// **'Mindful is currently under development and may have bugs or incomplete features. If you encounter any issues, please report them to help us improve.\n\nThank you for your feedback!'** + String get development_dialog_info; + + /// No description provided for @development_dialog_button_report_issue. + /// + /// In en, this message translates to: + /// **'Report Issue'** + String get development_dialog_button_report_issue; + + /// No description provided for @development_dialog_button_close. + /// + /// In en, this message translates to: + /// **'Close'** + String get development_dialog_button_close; + + /// No description provided for @dnd_settings_tile_title. + /// + /// In en, this message translates to: + /// **'Do not disturb settings'** + String get dnd_settings_tile_title; + + /// No description provided for @dnd_settings_tile_subtitle. + /// + /// In en, this message translates to: + /// **'Manage which apps and notifications can reach you in DND.'** + String get dnd_settings_tile_subtitle; + + /// No description provided for @quick_actions_heading. + /// + /// In en, this message translates to: + /// **'Quick actions'** + String get quick_actions_heading; + + /// No description provided for @select_distracting_apps_heading. + /// + /// In en, this message translates to: + /// **'Select distracting apps'** + String get select_distracting_apps_heading; + + /// No description provided for @your_distracting_apps_heading. + /// + /// In en, this message translates to: + /// **'Your distracting apps'** + String get your_distracting_apps_heading; + + /// No description provided for @select_more_apps_heading. + /// + /// In en, this message translates to: + /// **'Select more apps'** + String get select_more_apps_heading; + + /// No description provided for @imp_distracting_apps_snack_alert. + /// + /// In en, this message translates to: + /// **'Adding important system apps to the list of distracting apps is not permitted.'** + String get imp_distracting_apps_snack_alert; + + /// No description provided for @custom_apps_quick_actions_unavailable_warning. + /// + /// In en, this message translates to: + /// **'Screen usage and restrictions are unavailable for this application. At present, only network usage is accessible'** + String get custom_apps_quick_actions_unavailable_warning; + + /// No description provided for @create_group_fab_button. + /// + /// In en, this message translates to: + /// **'Create Group'** + String get create_group_fab_button; + + /// No description provided for @active_period_info. + /// + /// In en, this message translates to: + /// **'Set a time period during which access will be allowed. Outside of this time frame, access will be restricted.'** + String get active_period_info; + + /// No description provided for @minimum_distracting_apps_snack_alert. + /// + /// In en, this message translates to: + /// **'Select at least one distracting app.'** + String get minimum_distracting_apps_snack_alert; + + /// No description provided for @donation_card_title. + /// + /// In en, this message translates to: + /// **'Support us'** + String get donation_card_title; + + /// No description provided for @donation_card_info. + /// + /// In en, this message translates to: + /// **'Mindful is free and open-source, developed with months of dedication. If it has helped you, your donation would mean the world to us. Every contribution helps us continue improving and maintaining it for everyone.'** + String get donation_card_info; + + /// No description provided for @operation_failed_snack_alert. + /// + /// In en, this message translates to: + /// **'Operation failed, something went wrong!'** + String get operation_failed_snack_alert; + + /// No description provided for @donation_card_button_donate. + /// + /// In en, this message translates to: + /// **'Donate'** + String get donation_card_button_donate; + + /// No description provided for @app_restart_dialog_title. + /// + /// In en, this message translates to: + /// **'Need restart'** + String get app_restart_dialog_title; + + /// No description provided for @app_restart_dialog_info. + /// + /// In en, this message translates to: + /// **'Mindful will automatically restart once the countdown finishes. Please be patient as changes are applied.'** + String get app_restart_dialog_info; + + /// No description provided for @tip_container_title. + /// + /// In en, this message translates to: + /// **'Tip'** + String get tip_container_title; + + /// No description provided for @battery_optimization_tip. + /// + /// In en, this message translates to: + /// **'If Mindful stops working unexpectedly, consider granting the \'Ignore Battery Optimization\' permission by going to \'Settings>Advance\' to keep it running in the background.'** + String get battery_optimization_tip; + + /// No description provided for @onboarding_skip_btn_label. + /// + /// In en, this message translates to: + /// **'Skip'** + String get onboarding_skip_btn_label; + + /// No description provided for @onboarding_finish_setup_btn_label. + /// + /// In en, this message translates to: + /// **'Finish Setup'** + String get onboarding_finish_setup_btn_label; + + /// No description provided for @onboarding_page_one_title. + /// + /// In en, this message translates to: + /// **'Master Focus.'** + String get onboarding_page_one_title; + + /// No description provided for @onboarding_page_one_info. + /// + /// In en, this message translates to: + /// **'Pause distracting apps, block short content, and stay on track with customizable focus sessions. Whether you\'re working, studying, or relaxing, Mindful helps you stay in control.'** + String get onboarding_page_one_info; + + /// No description provided for @onboarding_page_two_title. + /// + /// In en, this message translates to: + /// **'Block Distractions.'** + String get onboarding_page_two_title; + + /// No description provided for @onboarding_page_two_info. + /// + /// In en, this message translates to: + /// **'Set usage limits, automatically pause apps, and create healthier digital habits. Use Bedtime Mode to unwind and enjoy a distraction-free night.'** + String get onboarding_page_two_info; + + /// No description provided for @onboarding_page_three_title. + /// + /// In en, this message translates to: + /// **'Privacy First.'** + String get onboarding_page_three_title; + + /// No description provided for @onboarding_page_three_info. + /// + /// In en, this message translates to: + /// **'Mindful is 100% open-source and operates entirely offline. We don\'t collect or share your personal data — your privacy is guaranteed in every way.'** + String get onboarding_page_three_info; + + /// No description provided for @onboarding_page_permissions_title. + /// + /// In en, this message translates to: + /// **'Essential Permissions.'** + String get onboarding_page_permissions_title; + + /// No description provided for @onboarding_page_permissions_info. + /// + /// In en, this message translates to: + /// **'Mindful requires following essential permissions to track and manage your screen time, helping reduce distractions and improve focus.'** + String get onboarding_page_permissions_info; + + /// No description provided for @dashboard_tab_title. + /// + /// In en, this message translates to: + /// **'Dashboard'** + String get dashboard_tab_title; + + /// No description provided for @focus_now_fab_button. + /// + /// In en, this message translates to: + /// **'Focus now'** + String get focus_now_fab_button; + + /// No description provided for @welcome_greetings. + /// + /// In en, this message translates to: + /// **'Welcome back,'** + String get welcome_greetings; + + /// No description provided for @username_snack_alert. + /// + /// In en, this message translates to: + /// **'Long press to edit username.'** + String get username_snack_alert; + + /// No description provided for @username_dialog_title. + /// + /// In en, this message translates to: + /// **'Username'** + String get username_dialog_title; + + /// No description provided for @username_dialog_info. + /// + /// In en, this message translates to: + /// **'Enter your username which will be displayed on dashboard.'** + String get username_dialog_info; + + /// No description provided for @username_dialog_button_apply. + /// + /// In en, this message translates to: + /// **'Apply'** + String get username_dialog_button_apply; + + /// No description provided for @glance_tile_title. + /// + /// In en, this message translates to: + /// **'Glance'** + String get glance_tile_title; + + /// No description provided for @glance_tile_subtitle. + /// + /// In en, this message translates to: + /// **'Take a quick glance at your usage.'** + String get glance_tile_subtitle; + + /// No description provided for @parental_controls_tile_subtitle. + /// + /// In en, this message translates to: + /// **'Invincible mode and tamper protection.'** + String get parental_controls_tile_subtitle; + + /// No description provided for @restrictions_heading. + /// + /// In en, this message translates to: + /// **'Restrictions'** + String get restrictions_heading; + + /// No description provided for @apps_blocking_tile_title. + /// + /// In en, this message translates to: + /// **'Apps blocking'** + String get apps_blocking_tile_title; + + /// No description provided for @apps_blocking_tile_subtitle. + /// + /// In en, this message translates to: + /// **'Limit apps in multiple ways.'** + String get apps_blocking_tile_subtitle; + + /// No description provided for @grouped_apps_blocking_tile_title. + /// + /// In en, this message translates to: + /// **'Grouped apps blocking'** + String get grouped_apps_blocking_tile_title; + + /// No description provided for @grouped_apps_blocking_tile_subtitle. + /// + /// In en, this message translates to: + /// **'Limit group of apps simultaneously.'** + String get grouped_apps_blocking_tile_subtitle; + + /// No description provided for @shorts_blocking_tile_subtitle. + /// + /// In en, this message translates to: + /// **'Limit short content on multiple platforms.'** + String get shorts_blocking_tile_subtitle; + + /// No description provided for @websites_blocking_tile_subtitle. + /// + /// In en, this message translates to: + /// **'Limit adult and custom websites.'** + String get websites_blocking_tile_subtitle; + + /// No description provided for @screen_time_label. + /// + /// In en, this message translates to: + /// **'Screen time'** + String get screen_time_label; + + /// No description provided for @total_data_label. + /// + /// In en, this message translates to: + /// **'Total data'** + String get total_data_label; + + /// No description provided for @mobile_data_label. + /// + /// In en, this message translates to: + /// **'Mobile data'** + String get mobile_data_label; + + /// No description provided for @wifi_data_label. + /// + /// In en, this message translates to: + /// **'Wifi data'** + String get wifi_data_label; + + /// No description provided for @focus_today_label. + /// + /// In en, this message translates to: + /// **'Focus today'** + String get focus_today_label; + + /// No description provided for @focus_weekly_label. + /// + /// In en, this message translates to: + /// **'Focus weekly'** + String get focus_weekly_label; + + /// No description provided for @focus_monthly_label. + /// + /// In en, this message translates to: + /// **'Focus monthly'** + String get focus_monthly_label; + + /// No description provided for @focus_lifetime_label. + /// + /// In en, this message translates to: + /// **'Focus lifetime'** + String get focus_lifetime_label; + + /// No description provided for @longest_streak_label. + /// + /// In en, this message translates to: + /// **'Longest streak'** + String get longest_streak_label; + + /// No description provided for @current_streak_label. + /// + /// In en, this message translates to: + /// **'Current streak'** + String get current_streak_label; + + /// No description provided for @successful_sessions_label. + /// + /// In en, this message translates to: + /// **'Successful sessions'** + String get successful_sessions_label; + + /// No description provided for @failed_sessions_label. + /// + /// In en, this message translates to: + /// **'Failed sessions'** + String get failed_sessions_label; + + /// No description provided for @statistics_tab_title. + /// + /// In en, this message translates to: + /// **'Statistics'** + String get statistics_tab_title; + + /// No description provided for @screen_segment_label. + /// + /// In en, this message translates to: + /// **'Screen'** + String get screen_segment_label; + + /// No description provided for @data_segment_label. + /// + /// In en, this message translates to: + /// **'Data'** + String get data_segment_label; + + /// No description provided for @mobile_label. + /// + /// In en, this message translates to: + /// **'Mobile'** + String get mobile_label; + + /// No description provided for @wifi_label. + /// + /// In en, this message translates to: + /// **'Wifi'** + String get wifi_label; + + /// No description provided for @most_used_apps_heading. + /// + /// In en, this message translates to: + /// **'Most used apps'** + String get most_used_apps_heading; + + /// No description provided for @show_all_apps_tile_title. + /// + /// In en, this message translates to: + /// **'Show all apps'** + String get show_all_apps_tile_title; + + /// No description provided for @notifications_tab_title. + /// + /// In en, this message translates to: + /// **'Notifications'** + String get notifications_tab_title; + + /// No description provided for @notifications_tab_info. + /// + /// In en, this message translates to: + /// **'Batch notification from apps and set schedules like morning, noon, evening and night. Stay updated without constant interruptions.'** + String get notifications_tab_info; + + /// No description provided for @batched_apps_tile_title. + /// + /// In en, this message translates to: + /// **'Batched apps'** + String get batched_apps_tile_title; + + /// No description provided for @schedules_heading. + /// + /// In en, this message translates to: + /// **'Schedules'** + String get schedules_heading; + + /// No description provided for @new_schedule_fab_button. + /// + /// In en, this message translates to: + /// **'New Schedule'** + String get new_schedule_fab_button; + + /// No description provided for @new_schedule_dialog_info. + /// + /// In en, this message translates to: + /// **'Enter a name for the notification schedule to help identify it easily.'** + String get new_schedule_dialog_info; + + /// No description provided for @new_schedule_dialog_field_label. + /// + /// In en, this message translates to: + /// **'Schedule name'** + String get new_schedule_dialog_field_label; + + /// No description provided for @bedtime_tab_title. + /// + /// In en, this message translates to: + /// **'Bedtime'** + String get bedtime_tab_title; + + /// No description provided for @bedtime_tab_info. + /// + /// In en, this message translates to: + /// **'Set your bedtime schedule by selecting a time period and days of the week. Choose distracting apps to block and enable Do Not Disturb (DND) mode for a peaceful night.'** + String get bedtime_tab_info; + + /// No description provided for @schedule_tile_title. + /// + /// In en, this message translates to: + /// **'Schedule'** + String get schedule_tile_title; + + /// No description provided for @schedule_tile_subtitle. + /// + /// In en, this message translates to: + /// **'Enable or disable daily schedule.'** + String get schedule_tile_subtitle; + + /// No description provided for @bedtime_no_days_selected_snack_alert. + /// + /// In en, this message translates to: + /// **'Select at least one day of the week.'** + String get bedtime_no_days_selected_snack_alert; + + /// No description provided for @bedtime_minimum_duration_snack_alert. + /// + /// In en, this message translates to: + /// **'The total bedtime duration must be at least 30 minutes.'** + String get bedtime_minimum_duration_snack_alert; + + /// No description provided for @distracting_apps_tile_title. + /// + /// In en, this message translates to: + /// **'Distracting apps'** + String get distracting_apps_tile_title; + + /// No description provided for @distracting_apps_tile_subtitle. + /// + /// In en, this message translates to: + /// **'Select which apps are distracting you from your bedtime routine.'** + String get distracting_apps_tile_subtitle; + + /// No description provided for @bedtime_distracting_apps_modify_snack_alert. + /// + /// In en, this message translates to: + /// **'Modifications to the list of distracting apps is not permitted while the bedtime schedule is active.'** + String get bedtime_distracting_apps_modify_snack_alert; + + /// No description provided for @parental_controls_tab_title. + /// + /// In en, this message translates to: + /// **'Parental controls'** + String get parental_controls_tab_title; + + /// No description provided for @invincible_mode_heading. + /// + /// In en, this message translates to: + /// **'Invincible mode'** + String get invincible_mode_heading; + + /// No description provided for @invincible_mode_tile_title. + /// + /// In en, this message translates to: + /// **'Activate invincible mode'** + String get invincible_mode_tile_title; + + /// No description provided for @invincible_mode_info. + /// + /// In en, this message translates to: + /// **'When Invincible Mode is on, you won\'t be able to adjust selected limits after reaching your daily quota. Limits reset at midnight, so you\'ll be able to make changes the next day.'** + String get invincible_mode_info; + + /// No description provided for @invincible_mode_snack_alert. + /// + /// In en, this message translates to: + /// **'Due to invincible mode, modifications to restrictions is not allowed.'** + String get invincible_mode_snack_alert; + + /// No description provided for @invincible_mode_dialog_info. + /// + /// In en, this message translates to: + /// **'Are you absolutely sure you want to enable Invincible Mode? This action is irreversible. Once Invincible Mode is turned on, you cannot turn it off as long as this app is installed on your device.'** + String get invincible_mode_dialog_info; + + /// No description provided for @invincible_mode_turn_off_snack_alert. + /// + /// In en, this message translates to: + /// **'Invincible Mode cannot be turned off as long as this app remains installed on your device.'** + String get invincible_mode_turn_off_snack_alert; + + /// No description provided for @invincible_mode_dialog_button_start_anyway. + /// + /// In en, this message translates to: + /// **'Start anyway'** + String get invincible_mode_dialog_button_start_anyway; + + /// No description provided for @invincible_mode_include_timer_tile_title. + /// + /// In en, this message translates to: + /// **'Include timer'** + String get invincible_mode_include_timer_tile_title; + + /// No description provided for @invincible_mode_include_launch_limit_tile_title. + /// + /// In en, this message translates to: + /// **'Include launch limit'** + String get invincible_mode_include_launch_limit_tile_title; + + /// No description provided for @invincible_mode_include_active_period_tile_title. + /// + /// In en, this message translates to: + /// **'Include active period'** + String get invincible_mode_include_active_period_tile_title; + + /// No description provided for @invincible_mode_app_restrictions_tile_title. + /// + /// In en, this message translates to: + /// **'App restrictions'** + String get invincible_mode_app_restrictions_tile_title; + + /// No description provided for @invincible_mode_app_restrictions_tile_subtitle. + /// + /// In en, this message translates to: + /// **'Prevent changes to the app\'s selected restrictions once the daily limits are exceeded.'** + String get invincible_mode_app_restrictions_tile_subtitle; + + /// No description provided for @invincible_mode_group_restrictions_tile_title. + /// + /// In en, this message translates to: + /// **'Group restrictions'** + String get invincible_mode_group_restrictions_tile_title; + + /// No description provided for @invincible_mode_group_restrictions_tile_subtitle. + /// + /// In en, this message translates to: + /// **'Prevent changes to the group\'s selected restrictions once the daily limits are exceeded.'** + String get invincible_mode_group_restrictions_tile_subtitle; + + /// No description provided for @invincible_mode_include_shorts_timer_tile_title. + /// + /// In en, this message translates to: + /// **'Include shorts timer'** + String get invincible_mode_include_shorts_timer_tile_title; + + /// No description provided for @invincible_mode_include_shorts_timer_tile_subtitle. + /// + /// In en, this message translates to: + /// **'Prevents changes after reaching your daily shorts limit.'** + String get invincible_mode_include_shorts_timer_tile_subtitle; + + /// No description provided for @invincible_mode_include_bedtime_tile_title. + /// + /// In en, this message translates to: + /// **'Include bedtime'** + String get invincible_mode_include_bedtime_tile_title; + + /// No description provided for @invincible_mode_include_bedtime_tile_subtitle. + /// + /// In en, this message translates to: + /// **'Prevents changes during the active bedtime schedule.'** + String get invincible_mode_include_bedtime_tile_subtitle; + + /// No description provided for @protected_access_tile_title. + /// + /// In en, this message translates to: + /// **'Protected access'** + String get protected_access_tile_title; + + /// No description provided for @protected_access_tile_subtitle. + /// + /// In en, this message translates to: + /// **'Protect Mindful with your device lock.'** + String get protected_access_tile_subtitle; + + /// No description provided for @protected_access_no_lock_snack_alert. + /// + /// In en, this message translates to: + /// **'Please set up a biometric lock on your device first to enable this feature.'** + String get protected_access_no_lock_snack_alert; + + /// No description provided for @protected_access_removed_lock_snack_alert. + /// + /// In en, this message translates to: + /// **'Your device lock has been removed. To continue, please set up a new lock.'** + String get protected_access_removed_lock_snack_alert; + + /// No description provided for @protected_access_failed_lock_snack_alert. + /// + /// In en, this message translates to: + /// **'Authentication failed. You need to verify your device lock to proceed.'** + String get protected_access_failed_lock_snack_alert; + + /// No description provided for @tamper_protection_tile_title. + /// + /// In en, this message translates to: + /// **'Tamper protection'** + String get tamper_protection_tile_title; + + /// No description provided for @tamper_protection_tile_subtitle. + /// + /// In en, this message translates to: + /// **'Prevent uninstalling and force stopping the app.'** + String get tamper_protection_tile_subtitle; + + /// No description provided for @uninstall_window_tile_title. + /// + /// In en, this message translates to: + /// **'Uninstall window'** + String get uninstall_window_tile_title; + + /// No description provided for @uninstall_window_tile_subtitle. + /// + /// In en, this message translates to: + /// **'Tamper protection can be disabled within 5 minutes from the selected time.'** + String get uninstall_window_tile_subtitle; + + /// No description provided for @shorts_blocking_tab_title. + /// + /// In en, this message translates to: + /// **'Shorts blocking'** + String get shorts_blocking_tab_title; + + /// No description provided for @shorts_blocking_tab_info. + /// + /// In en, this message translates to: + /// **'Control how much time you spend on short content across platforms like Instagram, YouTube, Snapchat, and Facebook, including their websites.'** + String get shorts_blocking_tab_info; + + /// No description provided for @short_content_heading. + /// + /// In en, this message translates to: + /// **'Short content'** + String get short_content_heading; + + /// No description provided for @shorts_time_left_from. + /// + /// In en, this message translates to: + /// **'Left from {timeShortString}'** + String shorts_time_left_from(String timeShortString); + + /// No description provided for @short_content_invincible_mode_info. + /// + /// In en, this message translates to: + /// **'You have exhausted the daily short content quota time. Due to invincible mode, modifications to settings related to short content are not allowed.'** + String get short_content_invincible_mode_info; + + /// No description provided for @short_content_timer_picker_dialog_info. + /// + /// In en, this message translates to: + /// **'Set a daily time limit for short content. Once your limit is reached, the short content will be paused until midnight.'** + String get short_content_timer_picker_dialog_info; + + /// No description provided for @block_insta_reels_title. + /// + /// In en, this message translates to: + /// **'Block reels'** + String get block_insta_reels_title; + + /// No description provided for @block_insta_reels_subtitle. + /// + /// In en, this message translates to: + /// **'Restrict reels on instagram.'** + String get block_insta_reels_subtitle; + + /// No description provided for @block_yt_shorts_title. + /// + /// In en, this message translates to: + /// **'Block shorts'** + String get block_yt_shorts_title; + + /// No description provided for @block_yt_shorts_subtitle. + /// + /// In en, this message translates to: + /// **'Restrict shorts on youtube.'** + String get block_yt_shorts_subtitle; + + /// No description provided for @block_snap_spotlight_title. + /// + /// In en, this message translates to: + /// **'Block spotlight'** + String get block_snap_spotlight_title; + + /// No description provided for @block_snap_spotlight_subtitle. + /// + /// In en, this message translates to: + /// **'Restrict spotlight on snapchat.'** + String get block_snap_spotlight_subtitle; + + /// No description provided for @block_fb_reels_title. + /// + /// In en, this message translates to: + /// **'Block reels'** + String get block_fb_reels_title; + + /// No description provided for @block_fb_reels_subtitle. + /// + /// In en, this message translates to: + /// **'Restrict reels on facebook.'** + String get block_fb_reels_subtitle; + + /// No description provided for @block_reddit_shorts_title. + /// + /// In en, this message translates to: + /// **'Block shorts'** + String get block_reddit_shorts_title; + + /// No description provided for @block_reddit_shorts_subtitle. + /// + /// In en, this message translates to: + /// **'Restrict shorts on reddit.'** + String get block_reddit_shorts_subtitle; + + /// No description provided for @websites_blocking_tab_title. + /// + /// In en, this message translates to: + /// **'Websites blocking'** + String get websites_blocking_tab_title; + + /// No description provided for @websites_blocking_tab_info. + /// + /// In en, this message translates to: + /// **'Block adult websites and any custom sites you choose to create a safer and more focused online experience. Take charge of your browsing and stay distraction-free.'** + String get websites_blocking_tab_info; + + /// No description provided for @adult_content_heading. + /// + /// In en, this message translates to: + /// **'Adult content'** + String get adult_content_heading; + + /// No description provided for @block_nsfw_title. + /// + /// In en, this message translates to: + /// **'Block Nsfw'** + String get block_nsfw_title; + + /// No description provided for @block_nsfw_subtitle. + /// + /// In en, this message translates to: + /// **'Restrict browsers from opening adult and porn websites.'** + String get block_nsfw_subtitle; + + /// No description provided for @block_nsfw_dialog_info. + /// + /// In en, this message translates to: + /// **'Are you sure? This action is irreversible. Once adult sites blocker is turned ON, you cannot turn it OFF as long as this app is installed on your device.'** + String get block_nsfw_dialog_info; + + /// No description provided for @block_nsfw_dialog_button_block_anyway. + /// + /// In en, this message translates to: + /// **'Block anyway'** + String get block_nsfw_dialog_button_block_anyway; + + /// No description provided for @blocked_websites_heading. + /// + /// In en, this message translates to: + /// **'Blocked websites'** + String get blocked_websites_heading; + + /// No description provided for @blocked_websites_empty_list_hint. + /// + /// In en, this message translates to: + /// **'Click on \'+ Add Website\' button to add distracting websites which you wish to block.'** + String get blocked_websites_empty_list_hint; + + /// No description provided for @add_website_fab_button. + /// + /// In en, this message translates to: + /// **'Add Website'** + String get add_website_fab_button; + + /// No description provided for @add_website_dialog_title. + /// + /// In en, this message translates to: + /// **'Distracting website'** + String get add_website_dialog_title; + + /// No description provided for @add_website_dialog_info. + /// + /// In en, this message translates to: + /// **'Enter url of a website which you want to block.'** + String get add_website_dialog_info; + + /// No description provided for @add_website_dialog_is_nsfw. + /// + /// In en, this message translates to: + /// **'Is nsfw site?'** + String get add_website_dialog_is_nsfw; + + /// No description provided for @add_website_dialog_nsfw_warning. + /// + /// In en, this message translates to: + /// **'Warning: Nsfw sites cannot be removed once added.'** + String get add_website_dialog_nsfw_warning; + + /// No description provided for @add_website_dialog_button_block. + /// + /// In en, this message translates to: + /// **'Block'** + String get add_website_dialog_button_block; + + /// No description provided for @add_website_already_exist_snack_alert. + /// + /// In en, this message translates to: + /// **'The URL has already been added to the list of blocked websites.'** + String get add_website_already_exist_snack_alert; + + /// No description provided for @add_website_invalid_url_snack_alert. + /// + /// In en, this message translates to: + /// **'Invalid URL! Unable to parse the host name.'** + String get add_website_invalid_url_snack_alert; + + /// No description provided for @remove_website_dialog_title. + /// + /// In en, this message translates to: + /// **'Remove website'** + String get remove_website_dialog_title; + + /// No description provided for @remove_website_dialog_info. + /// + /// In en, this message translates to: + /// **'Are you sure? you want to remove \'{websitehost}\' from blocked websites.'** + String remove_website_dialog_info(String websitehost); + + /// No description provided for @focus_tab_title. + /// + /// In en, this message translates to: + /// **'Focus'** + String get focus_tab_title; + + /// No description provided for @focus_tab_info. + /// + /// In en, this message translates to: + /// **'When you need time to focus, start a new session by selecting the type, choosing distracting apps to pause, and enabling Do Not Disturb for uninterrupted concentration.'** + String get focus_tab_info; + + /// No description provided for @active_session_card_title. + /// + /// In en, this message translates to: + /// **'Active session'** + String get active_session_card_title; + + /// No description provided for @active_session_card_info. + /// + /// In en, this message translates to: + /// **'You have an active focus session running! Click \'View\' to check your progress and see how much time has elapsed.'** + String get active_session_card_info; + + /// No description provided for @active_session_card_view_button. + /// + /// In en, this message translates to: + /// **'View'** + String get active_session_card_view_button; + + /// No description provided for @focus_distracting_apps_removal_snack_alert. + /// + /// In en, this message translates to: + /// **'Removal of apps from the distracting apps list is not permitted while a Focus Session is active. However, you may still add additional apps to the list during this time.'** + String get focus_distracting_apps_removal_snack_alert; + + /// No description provided for @focus_session_tile_title. + /// + /// In en, this message translates to: + /// **'Focus session'** + String get focus_session_tile_title; + + /// No description provided for @focus_session_duration_tile_title. + /// + /// In en, this message translates to: + /// **'Session duration'** + String get focus_session_duration_tile_title; + + /// No description provided for @focus_session_duration_tile_subtitle. + /// + /// In en, this message translates to: + /// **'Infinite (unless you stop)'** + String get focus_session_duration_tile_subtitle; + + /// No description provided for @focus_session_duration_dialog_info. + /// + /// In en, this message translates to: + /// **'Please select the desired duration for this focus session, determining how long you wish to remain focused and distraction-free.'** + String get focus_session_duration_dialog_info; + + /// No description provided for @focus_session_start_fab_button. + /// + /// In en, this message translates to: + /// **'Start Session'** + String get focus_session_start_fab_button; + + /// No description provided for @focus_session_minimum_apps_snack_alert. + /// + /// In en, this message translates to: + /// **'Select at least one distracting app to start focus session'** + String get focus_session_minimum_apps_snack_alert; + + /// No description provided for @focus_session_already_active_snack_alert. + /// + /// In en, this message translates to: + /// **'You already have an active focus session running. Please complete or stop your current session before starting a new one.'** + String get focus_session_already_active_snack_alert; + + /// No description provided for @focus_session_type_study. + /// + /// In en, this message translates to: + /// **'Study'** + String get focus_session_type_study; + + /// No description provided for @focus_session_type_work. + /// + /// In en, this message translates to: + /// **'Work'** + String get focus_session_type_work; + + /// No description provided for @focus_session_type_exercise. + /// + /// In en, this message translates to: + /// **'Exercise'** + String get focus_session_type_exercise; + + /// No description provided for @focus_session_type_meditation. + /// + /// In en, this message translates to: + /// **'Meditation'** + String get focus_session_type_meditation; + + /// No description provided for @focus_session_type_creativeWriting. + /// + /// In en, this message translates to: + /// **'Creative Writing'** + String get focus_session_type_creativeWriting; + + /// No description provided for @focus_session_type_reading. + /// + /// In en, this message translates to: + /// **'Reading'** + String get focus_session_type_reading; + + /// No description provided for @focus_session_type_programming. + /// + /// In en, this message translates to: + /// **'Programming'** + String get focus_session_type_programming; + + /// No description provided for @focus_session_type_chores. + /// + /// In en, this message translates to: + /// **'Chores'** + String get focus_session_type_chores; + + /// No description provided for @focus_session_type_projectPlanning. + /// + /// In en, this message translates to: + /// **'Project Planning'** + String get focus_session_type_projectPlanning; + + /// No description provided for @focus_session_type_artAndDesign. + /// + /// In en, this message translates to: + /// **'Art and Design'** + String get focus_session_type_artAndDesign; + + /// No description provided for @focus_session_type_languageLearning. + /// + /// In en, this message translates to: + /// **'Language Learning'** + String get focus_session_type_languageLearning; + + /// No description provided for @focus_session_type_musicPractice. + /// + /// In en, this message translates to: + /// **'Music Practice'** + String get focus_session_type_musicPractice; + + /// No description provided for @focus_session_type_selfCare. + /// + /// In en, this message translates to: + /// **'Self Care'** + String get focus_session_type_selfCare; + + /// No description provided for @focus_session_type_brainstorming. + /// + /// In en, this message translates to: + /// **'Brainstorming'** + String get focus_session_type_brainstorming; + + /// No description provided for @focus_session_type_skillDevelopment. + /// + /// In en, this message translates to: + /// **'Skill Development'** + String get focus_session_type_skillDevelopment; + + /// No description provided for @focus_session_type_research. + /// + /// In en, this message translates to: + /// **'Research'** + String get focus_session_type_research; + + /// No description provided for @focus_session_type_networking. + /// + /// In en, this message translates to: + /// **'Networking'** + String get focus_session_type_networking; + + /// No description provided for @focus_session_type_cooking. + /// + /// In en, this message translates to: + /// **'Cooking'** + String get focus_session_type_cooking; + + /// No description provided for @focus_session_type_sportsTraining. + /// + /// In en, this message translates to: + /// **'Sports Training'** + String get focus_session_type_sportsTraining; + + /// No description provided for @focus_session_type_restAndRelaxation. + /// + /// In en, this message translates to: + /// **'Rest and Relaxation'** + String get focus_session_type_restAndRelaxation; + + /// No description provided for @focus_session_type_other. + /// + /// In en, this message translates to: + /// **'Other'** + String get focus_session_type_other; + + /// No description provided for @timeline_tab_title. + /// + /// In en, this message translates to: + /// **'Timeline'** + String get timeline_tab_title; + + /// No description provided for @timeline_tab_info. + /// + /// In en, this message translates to: + /// **'Explore your focus journey by selecting a date from the calendar. Track your progress, revisit your successes, and learn from the challenges.'** + String get timeline_tab_info; + + /// No description provided for @selected_month_productive_time_snack_alert. + /// + /// In en, this message translates to: + /// **'Your total productive time for the selected month is {timeString}.'** + String selected_month_productive_time_snack_alert(String timeString); + + /// No description provided for @selected_month_productive_days_label. + /// + /// In en, this message translates to: + /// **'Productive days'** + String get selected_month_productive_days_label; + + /// No description provided for @selected_month_productive_days_snack_alert. + /// + /// In en, this message translates to: + /// **'You\'ve had a total of {daysCount} productive days in the selected month.'** + String selected_month_productive_days_snack_alert(num daysCount); + + /// No description provided for @selected_day_focused_time_label. + /// + /// In en, this message translates to: + /// **'Focused time'** + String get selected_day_focused_time_label; + + /// No description provided for @selected_day_focused_time_snack_alert. + /// + /// In en, this message translates to: + /// **'Your total focused time for the selected day is {timeString}.'** + String selected_day_focused_time_snack_alert(String timeString); + + /// No description provided for @calender_heading. + /// + /// In en, this message translates to: + /// **'Calender'** + String get calender_heading; + + /// No description provided for @your_sessions_heading. + /// + /// In en, this message translates to: + /// **'Your sessions'** + String get your_sessions_heading; + + /// No description provided for @your_sessions_empty_list_hint. + /// + /// In en, this message translates to: + /// **'No focus sessions recorded for the selected day.'** + String get your_sessions_empty_list_hint; + + /// No description provided for @focus_session_tile_time_label. + /// + /// In en, this message translates to: + /// **'Time'** + String get focus_session_tile_time_label; + + /// No description provided for @focus_session_tile_date_label. + /// + /// In en, this message translates to: + /// **'Date'** + String get focus_session_tile_date_label; + + /// No description provided for @focus_session_tile_duration_label. + /// + /// In en, this message translates to: + /// **'Duration'** + String get focus_session_tile_duration_label; + + /// No description provided for @focus_session_state_active. + /// + /// In en, this message translates to: + /// **'Active'** + String get focus_session_state_active; + + /// No description provided for @focus_session_state_successful. + /// + /// In en, this message translates to: + /// **'Successful'** + String get focus_session_state_successful; + + /// No description provided for @focus_session_state_failed. + /// + /// In en, this message translates to: + /// **'Failed'** + String get focus_session_state_failed; + + /// No description provided for @active_session_tab_title. + /// + /// In en, this message translates to: + /// **'Session'** + String get active_session_tab_title; + + /// No description provided for @active_session_none_warning. + /// + /// In en, this message translates to: + /// **'No active session found. Returning to the home screen.'** + String get active_session_none_warning; + + /// No description provided for @active_session_dialog_button_keep_pushing. + /// + /// In en, this message translates to: + /// **'Keep pushing'** + String get active_session_dialog_button_keep_pushing; + + /// No description provided for @active_session_finish_dialog_title. + /// + /// In en, this message translates to: + /// **'Finish'** + String get active_session_finish_dialog_title; + + /// No description provided for @active_session_finish_dialog_info. + /// + /// In en, this message translates to: + /// **'Stay strong! You\'re building valuable focus. Are you sure you want to end this focus session? Every extra moment counts toward your goals.'** + String get active_session_finish_dialog_info; + + /// No description provided for @active_session_giveup_dialog_title. + /// + /// In en, this message translates to: + /// **'Give up'** + String get active_session_giveup_dialog_title; + + /// No description provided for @active_session_giveup_dialog_info. + /// + /// In en, this message translates to: + /// **'Hold on! You\'re almost there don\'t give up now! Are you sure you want to end this focus session early? Progress will be lost.'** + String get active_session_giveup_dialog_info; + + /// No description provided for @active_session_giveup_snack_alert. + /// + /// In en, this message translates to: + /// **'You gave up! Don\'t worry, you can do better next time. Every effort counts - just keep going'** + String get active_session_giveup_snack_alert; + + /// No description provided for @active_session_quote_one. + /// + /// In en, this message translates to: + /// **'Every step counts, stay strong and keep going'** + String get active_session_quote_one; + + /// No description provided for @active_session_quote_two. + /// + /// In en, this message translates to: + /// **'Stay focused! you\'re making amazing progress'** + String get active_session_quote_two; + + /// No description provided for @active_session_quote_three. + /// + /// In en, this message translates to: + /// **'You\'re crushing it! Keep the momentum going'** + String get active_session_quote_three; + + /// No description provided for @active_session_quote_four. + /// + /// In en, this message translates to: + /// **'Just a little more to go, you\'re doing fantastic'** + String get active_session_quote_four; + + /// No description provided for @active_session_quote_five. + /// + /// In en, this message translates to: + /// **'Congratulations 🎉 \n You\'ve completed your focus session of {durationString}.\n\nGreat job, keep up the amazing work'** + String active_session_quote_five(String durationString); + + /// No description provided for @restriction_groups_tab_title. + /// + /// In en, this message translates to: + /// **'Restriction groups'** + String get restriction_groups_tab_title; + + /// No description provided for @restriction_groups_tab_info. + /// + /// In en, this message translates to: + /// **'Set a combined screen time limit for a group of apps. Once the total usage reaches your limit, all apps in the group will be paused to help maintain focus and balance.'** + String get restriction_groups_tab_info; + + /// No description provided for @restriction_group_time_spent_label. + /// + /// In en, this message translates to: + /// **'Time spent today'** + String get restriction_group_time_spent_label; + + /// No description provided for @restriction_group_time_left_label. + /// + /// In en, this message translates to: + /// **'Time left today'** + String get restriction_group_time_left_label; + + /// No description provided for @restriction_group_name_tile_title. + /// + /// In en, this message translates to: + /// **'Group name'** + String get restriction_group_name_tile_title; + + /// No description provided for @restriction_group_name_picker_dialog_info. + /// + /// In en, this message translates to: + /// **'Enter a name for the restriction group to help identify and manage it easily.'** + String get restriction_group_name_picker_dialog_info; + + /// No description provided for @restriction_group_timer_tile_title. + /// + /// In en, this message translates to: + /// **'Group timer'** + String get restriction_group_timer_tile_title; + + /// No description provided for @restriction_group_timer_picker_dialog_info. + /// + /// In en, this message translates to: + /// **'Set a daily time limit for this group. Once your limit is reached, all the apps in this group will be paused until midnight.'** + String get restriction_group_timer_picker_dialog_info; + + /// No description provided for @restriction_group_active_period_tile_title. + /// + /// In en, this message translates to: + /// **'Group active period'** + String get restriction_group_active_period_tile_title; + + /// No description provided for @remove_restriction_group_dialog_title. + /// + /// In en, this message translates to: + /// **'Remove group'** + String get remove_restriction_group_dialog_title; + + /// No description provided for @remove_restriction_group_dialog_info. + /// + /// In en, this message translates to: + /// **'Are you sure? you want to remove \'{groupName}\' from restriction groups.'** + String remove_restriction_group_dialog_info(String groupName); + + /// No description provided for @restriction_group_invalid_limits_snack_alert. + /// + /// In en, this message translates to: + /// **'Set either a timer or an active period limit.'** + String get restriction_group_invalid_limits_snack_alert; + + /// No description provided for @upcoming_notifications_empty_list_hint. + /// + /// In en, this message translates to: + /// **'No notifications have been batched today.'** + String get upcoming_notifications_empty_list_hint; + + /// No description provided for @button_segment_grouped_label. + /// + /// In en, this message translates to: + /// **'Grouped'** + String get button_segment_grouped_label; + + /// No description provided for @button_segment_ungrouped_label. + /// + /// In en, this message translates to: + /// **'Un-Grouped'** + String get button_segment_ungrouped_label; + + /// No description provided for @last_24_hours_heading. + /// + /// In en, this message translates to: + /// **'Last 24 hours'** + String get last_24_hours_heading; + + /// No description provided for @nNotifications. + /// + /// In en, this message translates to: + /// **'{count, plural, =0{0 notification} =1{1 notification} other{{count} notifications}}'** + String nNotifications(num count); + + /// No description provided for @app_info_none_warning. + /// + /// In en, this message translates to: + /// **'Couldn\'t find the app for the given package. Returning to the home screen.'** + String get app_info_none_warning; + + /// No description provided for @emergency_fab_button. + /// + /// In en, this message translates to: + /// **'Emergency'** + String get emergency_fab_button; + + /// No description provided for @emergency_dialog_info. + /// + /// In en, this message translates to: + /// **'This action will pause the app blocker for next 5 minutes. You have {leftPassesCount} passes left. After using all passes, the app will stay blocked until midnight, or the active focus session ends.\n\nDo you still wish to proceed?'** + String emergency_dialog_info(num leftPassesCount); + + /// No description provided for @emergency_dialog_button_use_anyway. + /// + /// In en, this message translates to: + /// **'Use anyway'** + String get emergency_dialog_button_use_anyway; + + /// No description provided for @emergency_started_snack_alert. + /// + /// In en, this message translates to: + /// **'The app blocker is paused and will resume blocking in 5 minutes.'** + String get emergency_started_snack_alert; + + /// No description provided for @emergency_already_active_snack_alert. + /// + /// In en, this message translates to: + /// **'The app blocker is currently either paused or inactive. If notifications are enabled, you will receive updates regarding the remaining time.'** + String get emergency_already_active_snack_alert; + + /// No description provided for @emergency_no_pass_left_snack_alert. + /// + /// In en, this message translates to: + /// **'You have used all your emergency passes. The blocked apps will stay blocked until midnight, or the active focus session ends.'** + String get emergency_no_pass_left_snack_alert; + + /// No description provided for @app_limit_status_not_set. + /// + /// In en, this message translates to: + /// **'Not set'** + String get app_limit_status_not_set; + + /// No description provided for @app_timer_tile_title. + /// + /// In en, this message translates to: + /// **'App timer'** + String get app_timer_tile_title; + + /// No description provided for @app_timer_picker_dialog_info. + /// + /// In en, this message translates to: + /// **'Set a daily time limit for this app. Once your limit is reached, the app will be paused until midnight.'** + String get app_timer_picker_dialog_info; + + /// No description provided for @app_launch_limit_tile_title. + /// + /// In en, this message translates to: + /// **'Launch limit'** + String get app_launch_limit_tile_title; + + /// No description provided for @app_launch_limit_tile_subtitle. + /// + /// In en, this message translates to: + /// **'Launched {count} times today.'** + String app_launch_limit_tile_subtitle(num count); + + /// No description provided for @app_launch_limit_picker_dialog_info. + /// + /// In en, this message translates to: + /// **'Set how many times you can open this app each day. Once the limit is reached, it will be paused until midnight.'** + String get app_launch_limit_picker_dialog_info; + + /// No description provided for @app_active_period_tile_title. + /// + /// In en, this message translates to: + /// **'Active period'** + String get app_active_period_tile_title; + + /// No description provided for @app_active_period_tile_subtitle. + /// + /// In en, this message translates to: + /// **'From {startTime} to {endTime}'** + String app_active_period_tile_subtitle(String startTime, String endTime); + + /// No description provided for @internet_access_tile_title. + /// + /// In en, this message translates to: + /// **'Internet access'** + String get internet_access_tile_title; + + /// No description provided for @internet_access_tile_subtitle. + /// + /// In en, this message translates to: + /// **'Switch off to block app\'s internet.'** + String get internet_access_tile_subtitle; + + /// No description provided for @internet_access_blocked_snack_alert. + /// + /// In en, this message translates to: + /// **'{appName}\'s internet is blocked.'** + String internet_access_blocked_snack_alert(String appName); + + /// No description provided for @internet_access_unblocked_snack_alert. + /// + /// In en, this message translates to: + /// **'{appName}\'s internet is unblocked.'** + String internet_access_unblocked_snack_alert(String appName); + + /// No description provided for @launch_app_tile_title. + /// + /// In en, this message translates to: + /// **'Launch app'** + String get launch_app_tile_title; + + /// No description provided for @launch_app_tile_subtitle. + /// + /// In en, this message translates to: + /// **'Open {appName}.'** + String launch_app_tile_subtitle(String appName); + + /// No description provided for @go_to_app_settings_tile_title. + /// + /// In en, this message translates to: + /// **'Go to app settings'** + String get go_to_app_settings_tile_title; + + /// No description provided for @go_to_app_settings_tile_subtitle. + /// + /// In en, this message translates to: + /// **'Manage app settings like notifications, permissions, storage and more.'** + String get go_to_app_settings_tile_subtitle; + + /// No description provided for @include_in_stats_tile_title. + /// + /// In en, this message translates to: + /// **'Include in screen usage'** + String get include_in_stats_tile_title; + + /// No description provided for @include_in_stats_tile_subtitle. + /// + /// In en, this message translates to: + /// **'Switch off to exclude this app from total screen usage.'** + String get include_in_stats_tile_subtitle; + + /// No description provided for @app_excluded_from_stats_snack_alert. + /// + /// In en, this message translates to: + /// **'{appName} is excluded from total screen usage.'** + String app_excluded_from_stats_snack_alert(String appName); + + /// No description provided for @app_include_to_stats_snack_alert. + /// + /// In en, this message translates to: + /// **'{appName} is included to total screen usage.'** + String app_include_to_stats_snack_alert(String appName); + + /// No description provided for @general_tab_title. + /// + /// In en, this message translates to: + /// **'General'** + String get general_tab_title; + + /// No description provided for @appearance_heading. + /// + /// In en, this message translates to: + /// **'Appearance'** + String get appearance_heading; + + /// No description provided for @theme_mode_tile_title. + /// + /// In en, this message translates to: + /// **'Theme mode'** + String get theme_mode_tile_title; + + /// No description provided for @theme_mode_system_label. + /// + /// In en, this message translates to: + /// **'System'** + String get theme_mode_system_label; + + /// No description provided for @theme_mode_light_label. + /// + /// In en, this message translates to: + /// **'Light'** + String get theme_mode_light_label; + + /// No description provided for @theme_mode_dark_label. + /// + /// In en, this message translates to: + /// **'Dark'** + String get theme_mode_dark_label; + + /// No description provided for @material_color_tile_title. + /// + /// In en, this message translates to: + /// **'Material color'** + String get material_color_tile_title; + + /// No description provided for @amoled_dark_tile_title. + /// + /// In en, this message translates to: + /// **'AMOLED dark'** + String get amoled_dark_tile_title; + + /// No description provided for @amoled_dark_tile_subtitle. + /// + /// In en, this message translates to: + /// **'Use pure black color for the dark theme.'** + String get amoled_dark_tile_subtitle; + + /// No description provided for @dynamic_colors_tile_title. + /// + /// In en, this message translates to: + /// **'Dynamic colors'** + String get dynamic_colors_tile_title; + + /// No description provided for @dynamic_colors_tile_subtitle. + /// + /// In en, this message translates to: + /// **'Use device colors if supported.'** + String get dynamic_colors_tile_subtitle; + + /// No description provided for @defaults_heading. + /// + /// In en, this message translates to: + /// **'Defaults'** + String get defaults_heading; + + /// No description provided for @app_language_tile_title. + /// + /// In en, this message translates to: + /// **'App language'** + String get app_language_tile_title; + + /// No description provided for @default_home_tab_tile_title. + /// + /// In en, this message translates to: + /// **'Home tab'** + String get default_home_tab_tile_title; + + /// No description provided for @usage_history_tile_title. + /// + /// In en, this message translates to: + /// **'Usage history'** + String get usage_history_tile_title; + + /// No description provided for @usage_history_15_days. + /// + /// In en, this message translates to: + /// **'15 days'** + String get usage_history_15_days; + + /// No description provided for @usage_history_1_month. + /// + /// In en, this message translates to: + /// **'1 month'** + String get usage_history_1_month; + + /// No description provided for @usage_history_3_month. + /// + /// In en, this message translates to: + /// **'3 months'** + String get usage_history_3_month; + + /// No description provided for @usage_history_6_month. + /// + /// In en, this message translates to: + /// **'6 months'** + String get usage_history_6_month; + + /// No description provided for @usage_history_1_year. + /// + /// In en, this message translates to: + /// **'1 year'** + String get usage_history_1_year; + + /// No description provided for @service_heading. + /// + /// In en, this message translates to: + /// **'Service'** + String get service_heading; + + /// No description provided for @service_stopping_warning. + /// + /// In en, this message translates to: + /// **'If Mindful stops working unexpectedly, please grant the \'Ignore Battery Optimization\' permission to keep it running in the background. If the issue continues, try whitelisting Mindful for uninterrupted performance.'** + String get service_stopping_warning; + + /// No description provided for @whitelist_app_tile_title. + /// + /// In en, this message translates to: + /// **'Whitelist Mindful'** + String get whitelist_app_tile_title; + + /// No description provided for @whitelist_app_tile_subtitle. + /// + /// In en, this message translates to: + /// **'Allow Mindful to auto start.'** + String get whitelist_app_tile_subtitle; + + /// No description provided for @whitelist_app_unsupported_snack_alert. + /// + /// In en, this message translates to: + /// **'This device does not support automatic startup management.'** + String get whitelist_app_unsupported_snack_alert; + + /// No description provided for @database_tab_title. + /// + /// In en, this message translates to: + /// **'Database'** + String get database_tab_title; + + /// No description provided for @import_db_tile_title. + /// + /// In en, this message translates to: + /// **'Import database'** + String get import_db_tile_title; + + /// No description provided for @import_db_tile_subtitle. + /// + /// In en, this message translates to: + /// **'Import database from a file.'** + String get import_db_tile_subtitle; + + /// No description provided for @export_db_tile_title. + /// + /// In en, this message translates to: + /// **'Export database'** + String get export_db_tile_title; + + /// No description provided for @export_db_tile_subtitle. + /// + /// In en, this message translates to: + /// **'Export database to a file.'** + String get export_db_tile_subtitle; + + /// No description provided for @crash_logs_heading. + /// + /// In en, this message translates to: + /// **'Crash logs'** + String get crash_logs_heading; + + /// No description provided for @crash_logs_info. + /// + /// In en, this message translates to: + /// **'If you encounter any issue, you can report it on GitHub along with the log file. The file will include details such as your device\'s manufacturer, model, Android version, SDK version, and crash logs. This information will help us identify and resolve the problem more effectively.'** + String get crash_logs_info; + + /// No description provided for @crash_logs_export_tile_title. + /// + /// In en, this message translates to: + /// **'Export crash logs'** + String get crash_logs_export_tile_title; + + /// No description provided for @crash_logs_export_tile_subtitle. + /// + /// In en, this message translates to: + /// **'Export crash logs to a json file.'** + String get crash_logs_export_tile_subtitle; + + /// No description provided for @crash_logs_view_tile_title. + /// + /// In en, this message translates to: + /// **'View logs'** + String get crash_logs_view_tile_title; + + /// No description provided for @crash_logs_view_tile_subtitle. + /// + /// In en, this message translates to: + /// **'Explore stored crash logs.'** + String get crash_logs_view_tile_subtitle; + + /// No description provided for @crash_logs_empty_list_hint. + /// + /// In en, this message translates to: + /// **'No crash logged till now.'** + String get crash_logs_empty_list_hint; + + /// No description provided for @crash_logs_clear_tile_title. + /// + /// In en, this message translates to: + /// **'Clear logs'** + String get crash_logs_clear_tile_title; + + /// No description provided for @crash_logs_clear_tile_subtitle. + /// + /// In en, this message translates to: + /// **'Delete all crash logs from database.'** + String get crash_logs_clear_tile_subtitle; + + /// No description provided for @crash_logs_clear_dialog_info. + /// + /// In en, this message translates to: + /// **'Are you sure you wish to clear all crash logs from the database?'** + String get crash_logs_clear_dialog_info; + + /// No description provided for @crash_logs_clear_dialog_button_clear_anyway. + /// + /// In en, this message translates to: + /// **'Clear anyway'** + String get crash_logs_clear_dialog_button_clear_anyway; + + /// No description provided for @about_tab_title. + /// + /// In en, this message translates to: + /// **'About'** + String get about_tab_title; + + /// No description provided for @changelog_tile_title. + /// + /// In en, this message translates to: + /// **'Changelog'** + String get changelog_tile_title; + + /// No description provided for @changelog_tile_subtitle. + /// + /// In en, this message translates to: + /// **'Find out what\'s new.'** + String get changelog_tile_subtitle; + + /// No description provided for @full_changelog_tile_title. + /// + /// In en, this message translates to: + /// **'Full changelog'** + String get full_changelog_tile_title; + + /// No description provided for @redirected_to_github_subtitle. + /// + /// In en, this message translates to: + /// **'You will be redirected to GitHub.'** + String get redirected_to_github_subtitle; + + /// No description provided for @contribute_heading. + /// + /// In en, this message translates to: + /// **'Contribute'** + String get contribute_heading; + + /// No description provided for @github_tile_title. + /// + /// In en, this message translates to: + /// **'GitHub'** + String get github_tile_title; + + /// No description provided for @github_tile_subtitle. + /// + /// In en, this message translates to: + /// **'View the source code.'** + String get github_tile_subtitle; + + /// No description provided for @report_issue_tile_title. + /// + /// In en, this message translates to: + /// **'Report an issue'** + String get report_issue_tile_title; + + /// No description provided for @suggest_idea_tile_title. + /// + /// In en, this message translates to: + /// **'Suggest an idea'** + String get suggest_idea_tile_title; + + /// No description provided for @write_email_tile_title. + /// + /// In en, this message translates to: + /// **'Write to us via email'** + String get write_email_tile_title; + + /// No description provided for @write_email_tile_subtitle. + /// + /// In en, this message translates to: + /// **'You will be redirected to Email app.'** + String get write_email_tile_subtitle; + + /// No description provided for @privacy_policy_heading. + /// + /// In en, this message translates to: + /// **'Privacy policy'** + String get privacy_policy_heading; + + /// No description provided for @privacy_policy_info. + /// + /// In en, this message translates to: + /// **'Mindful is committed to protecting your privacy. We do not collect, store, or transfer any type of user data. The app operates entirely offline and does not require an internet connection, ensuring that your personal information remains private and secure on your device. As a Free and Open Source Software (FOSS) application, Mindful guarantees complete transparency and user control over their data.'** + String get privacy_policy_info; + + /// No description provided for @more_details_button. + /// + /// In en, this message translates to: + /// **'More details'** + String get more_details_button; +} + +class _AppLocalizationsDelegate extends LocalizationsDelegate { + const _AppLocalizationsDelegate(); + + @override + Future load(Locale locale) { + return SynchronousFuture(lookupAppLocalizations(locale)); + } + + @override + bool isSupported(Locale locale) => ['en', 'ja'].contains(locale.languageCode); + + @override + bool shouldReload(_AppLocalizationsDelegate old) => false; +} + +AppLocalizations lookupAppLocalizations(Locale locale) { + + + // Lookup logic when only language code is specified. + switch (locale.languageCode) { + case 'en': return AppLocalizationsEn(); + case 'ja': return AppLocalizationsJa(); + } + + throw FlutterError( + 'AppLocalizations.delegate failed to load unsupported locale "$locale". This is likely ' + 'an issue with the localizations generation tool. Please file an issue ' + 'on GitHub with a reproducible sample app and the gen-l10n configuration ' + 'that was used.' + ); +} diff --git a/lib/l10n/generated/app_localizations_en.dart b/lib/l10n/generated/app_localizations_en.dart new file mode 100644 index 00000000..f6d7b806 --- /dev/null +++ b/lib/l10n/generated/app_localizations_en.dart @@ -0,0 +1,1233 @@ +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 mindful_tagline => 'Focus on what truly Matters'; + + @override + String get unlock_button_label => 'Unlock'; + + @override + String get permission_status_off => 'Off'; + + @override + String get permission_status_allowed => 'Allowed'; + + @override + String get permission_status_not_allowed => 'Not allowed'; + + @override + String get permission_button_grant_permission => 'Grant Permission'; + + @override + String get permission_button_agree_and_continue => 'Agree & Continue'; + + @override + String get permission_button_not_now => 'Not Now'; + + @override + String get permission_button_help => 'Help?'; + + @override + String get permission_sheet_privacy_info => 'Mindful is 100% secure and works offline. We do not collect or store any personal data.'; + + @override + String permission_grant_step_one(String button_label) { + return '1. Click on $button_label button.'; + } + + @override + String get permission_grant_step_two => '2. Select Mindful in the next screen.'; + + @override + String get permission_grant_step_three => '3. Click and turn on the switch like below.'; + + @override + String get permission_notification_title => 'Send Notifications'; + + @override + String get permission_alarms_title => 'Alarms & Reminders'; + + @override + String get permission_alarms_info => 'Please grant permission for setting alarms and reminders. This will allow Mindful to start your bedtime schedule on time and reset app timers daily at midnight and help you stay on track.'; + + @override + String get permission_alarms_device_tile_label => 'Allow setting alarms and reminders'; + + @override + String get permission_usage_title => 'Usage Access'; + + @override + String get permission_usage_info => 'Please grant usage access permission. This will allow Mindful to monitor app usage and manage access to certain apps, ensuring a more focused and controlled digital environment.'; + + @override + String get permission_usage_device_tile_label => 'Permit usage access'; + + @override + String get permission_overlay_title => 'Display Overlay'; + + @override + String get permission_overlay_info => 'Please grant display overlay permission. This will allow Mindful to show an overlay when a paused app is opened, helping you stay focused and maintain your schedule.'; + + @override + String get permission_overlay_device_tile_label => 'Allow display over other apps'; + + @override + String get permission_accessibility_title => 'Accessibility'; + + @override + String get permission_accessibility_info => 'Please grant accessibility permission. This will allow Mindful to restrict access to short-form video content (e.g., Reels, Shorts) within social media apps and browsers, and filter inappropriate websites.'; + + @override + String get permission_accessibility_required => 'Mindful requires accessibility permission to block short content and websites effectively.'; + + @override + String get permission_accessibility_device_tile_label => 'Use Mindful'; + + @override + String get permission_dnd_title => 'Do not disturb'; + + @override + String get permission_dnd_info => 'Please grant Do Not Disturb access. This will allow Mindful to start and stop Do Not Disturb mode during the bedtime schedule.'; + + @override + String get permission_dnd_tile_title => 'Start DND'; + + @override + String get permission_dnd_tile_subtitle => 'Also enable Do Not Disturb mode.'; + + @override + String get permission_battery_optimization_tile_title => 'Ignore Battery Optimization'; + + @override + String get permission_battery_optimization_status_enabled => 'Already unrestricted'; + + @override + String get permission_battery_optimization_status_disabled => 'Disable background restriction'; + + @override + String get permission_battery_optimization_allow_info => 'Allowing \'Ignore Battery Optimization\' will automatically grant the \'Alarms & Reminders\' permission on some devices.'; + + @override + String get permission_vpn_title => 'Create VPN'; + + @override + String get permission_vpn_info => 'Please grant permission to create virtual private network (VPN) connection. This will enable Mindful to restrict internet access for designated applications by creating local on device VPN.'; + + @override + String get permission_admin_title => 'Admin'; + + @override + String get permission_admin_info => 'Administrative privileges are needed only for essential operations to ensure the app works properly and remains tamper-proof.'; + + @override + String get permission_admin_snack_alert => 'Tamper protection can only be disabled during the selected time window.'; + + @override + String get permission_notification_access_title => 'Notification Access'; + + @override + String get permission_notification_access_info => 'Please grant notification access permission. This will allow Mindful to organize your notifications and deliver them on your schedule.'; + + @override + String get permission_notification_access_required => 'Mindful requires notification access to batch and schedule notifications.'; + + @override + String get permission_notification_access_device_tile_label => 'Allow notification access'; + + @override + String get day_today => 'Today'; + + @override + String get day_yesterday => 'Yesterday'; + + @override + String nDays(num count) { + final intl.NumberFormat countNumberFormat = intl.NumberFormat.compact( + locale: localeName, + + ); + final String countString = countNumberFormat.format(count); + + String _temp0 = intl.Intl.pluralLogic( + count, + locale: localeName, + other: '$countString days', + one: '1 day', + zero: '0 day', + ); + return '$_temp0'; + } + + @override + String nHours(num count) { + final intl.NumberFormat countNumberFormat = intl.NumberFormat.compact( + locale: localeName, + + ); + final String countString = countNumberFormat.format(count); + + String _temp0 = intl.Intl.pluralLogic( + count, + locale: localeName, + other: '$countString hours', + one: '1 hour', + zero: '0 hour', + ); + return '$_temp0'; + } + + @override + String nMinutes(num count) { + final intl.NumberFormat countNumberFormat = intl.NumberFormat.compact( + locale: localeName, + + ); + final String countString = countNumberFormat.format(count); + + String _temp0 = intl.Intl.pluralLogic( + count, + locale: localeName, + other: '$countString minutes', + one: '1 minute', + zero: '0 minute', + ); + return '$_temp0'; + } + + @override + String nSeconds(num count) { + final intl.NumberFormat countNumberFormat = intl.NumberFormat.compact( + locale: localeName, + + ); + final String countString = countNumberFormat.format(count); + + String _temp0 = intl.Intl.pluralLogic( + count, + locale: localeName, + other: '$countString seconds', + one: '1 second', + zero: '0 second', + ); + return '$_temp0'; + } + + @override + String get time_separator_and => 'and'; + + @override + String get timer_status_active => 'Active'; + + @override + String get timer_status_paused => 'Paused'; + + @override + String get create_button => 'Create'; + + @override + String get update_button => 'Update'; + + @override + String get dialog_button_cancel => 'Cancel'; + + @override + String get dialog_button_remove => 'Remove'; + + @override + String get dialog_button_set => 'Set'; + + @override + String get dialog_button_reset => 'Reset'; + + @override + String get dialog_button_infinite => 'Infinite'; + + @override + String get schedule_start_label => 'Start'; + + @override + String get schedule_end_label => 'End'; + + @override + String get development_dialog_info => 'Mindful is currently under development and may have bugs or incomplete features. If you encounter any issues, please report them to help us improve.\n\nThank you for your feedback!'; + + @override + String get development_dialog_button_report_issue => 'Report Issue'; + + @override + String get development_dialog_button_close => 'Close'; + + @override + String get dnd_settings_tile_title => 'Do not disturb settings'; + + @override + String get dnd_settings_tile_subtitle => 'Manage which apps and notifications can reach you in DND.'; + + @override + String get quick_actions_heading => 'Quick actions'; + + @override + String get select_distracting_apps_heading => 'Select distracting apps'; + + @override + String get your_distracting_apps_heading => 'Your distracting apps'; + + @override + String get select_more_apps_heading => 'Select more apps'; + + @override + String get imp_distracting_apps_snack_alert => 'Adding important system apps to the list of distracting apps is not permitted.'; + + @override + String get custom_apps_quick_actions_unavailable_warning => 'Screen usage and restrictions are unavailable for this application. At present, only network usage is accessible'; + + @override + String get create_group_fab_button => 'Create Group'; + + @override + String get active_period_info => 'Set a time period during which access will be allowed. Outside of this time frame, access will be restricted.'; + + @override + String get minimum_distracting_apps_snack_alert => 'Select at least one distracting app.'; + + @override + String get donation_card_title => 'Support us'; + + @override + String get donation_card_info => 'Mindful is free and open-source, developed with months of dedication. If it has helped you, your donation would mean the world to us. Every contribution helps us continue improving and maintaining it for everyone.'; + + @override + String get operation_failed_snack_alert => 'Operation failed, something went wrong!'; + + @override + String get donation_card_button_donate => 'Donate'; + + @override + String get app_restart_dialog_title => 'Need restart'; + + @override + String get app_restart_dialog_info => 'Mindful will automatically restart once the countdown finishes. Please be patient as changes are applied.'; + + @override + String get tip_container_title => 'Tip'; + + @override + String get battery_optimization_tip => 'If Mindful stops working unexpectedly, consider granting the \'Ignore Battery Optimization\' permission by going to \'Settings>Advance\' to keep it running in the background.'; + + @override + String get onboarding_skip_btn_label => 'Skip'; + + @override + String get onboarding_finish_setup_btn_label => 'Finish Setup'; + + @override + String get onboarding_page_one_title => 'Master Focus.'; + + @override + String get onboarding_page_one_info => 'Pause distracting apps, block short content, and stay on track with customizable focus sessions. Whether you\'re working, studying, or relaxing, Mindful helps you stay in control.'; + + @override + String get onboarding_page_two_title => 'Block Distractions.'; + + @override + String get onboarding_page_two_info => 'Set usage limits, automatically pause apps, and create healthier digital habits. Use Bedtime Mode to unwind and enjoy a distraction-free night.'; + + @override + String get onboarding_page_three_title => 'Privacy First.'; + + @override + String get onboarding_page_three_info => 'Mindful is 100% open-source and operates entirely offline. We don\'t collect or share your personal data — your privacy is guaranteed in every way.'; + + @override + String get onboarding_page_permissions_title => 'Essential Permissions.'; + + @override + String get onboarding_page_permissions_info => 'Mindful requires following essential permissions to track and manage your screen time, helping reduce distractions and improve focus.'; + + @override + String get dashboard_tab_title => 'Dashboard'; + + @override + String get focus_now_fab_button => 'Focus now'; + + @override + String get welcome_greetings => 'Welcome back,'; + + @override + String get username_snack_alert => 'Long press to edit username.'; + + @override + String get username_dialog_title => 'Username'; + + @override + String get username_dialog_info => 'Enter your username which will be displayed on dashboard.'; + + @override + String get username_dialog_button_apply => 'Apply'; + + @override + String get glance_tile_title => 'Glance'; + + @override + String get glance_tile_subtitle => 'Take a quick glance at your usage.'; + + @override + String get parental_controls_tile_subtitle => 'Invincible mode and tamper protection.'; + + @override + String get restrictions_heading => 'Restrictions'; + + @override + String get apps_blocking_tile_title => 'Apps blocking'; + + @override + String get apps_blocking_tile_subtitle => 'Limit apps in multiple ways.'; + + @override + String get grouped_apps_blocking_tile_title => 'Grouped apps blocking'; + + @override + String get grouped_apps_blocking_tile_subtitle => 'Limit group of apps simultaneously.'; + + @override + String get shorts_blocking_tile_subtitle => 'Limit short content on multiple platforms.'; + + @override + String get websites_blocking_tile_subtitle => 'Limit adult and custom websites.'; + + @override + String get screen_time_label => 'Screen time'; + + @override + String get total_data_label => 'Total data'; + + @override + String get mobile_data_label => 'Mobile data'; + + @override + String get wifi_data_label => 'Wifi data'; + + @override + String get focus_today_label => 'Focus today'; + + @override + String get focus_weekly_label => 'Focus weekly'; + + @override + String get focus_monthly_label => 'Focus monthly'; + + @override + String get focus_lifetime_label => 'Focus lifetime'; + + @override + String get longest_streak_label => 'Longest streak'; + + @override + String get current_streak_label => 'Current streak'; + + @override + String get successful_sessions_label => 'Successful sessions'; + + @override + String get failed_sessions_label => 'Failed sessions'; + + @override + String get statistics_tab_title => 'Statistics'; + + @override + String get screen_segment_label => 'Screen'; + + @override + String get data_segment_label => 'Data'; + + @override + String get mobile_label => 'Mobile'; + + @override + String get wifi_label => 'Wifi'; + + @override + String get most_used_apps_heading => 'Most used apps'; + + @override + String get show_all_apps_tile_title => 'Show all apps'; + + @override + String get notifications_tab_title => 'Notifications'; + + @override + String get notifications_tab_info => 'Batch notification from apps and set schedules like morning, noon, evening and night. Stay updated without constant interruptions.'; + + @override + String get batched_apps_tile_title => 'Batched apps'; + + @override + String get schedules_heading => 'Schedules'; + + @override + String get new_schedule_fab_button => 'New Schedule'; + + @override + String get new_schedule_dialog_info => 'Enter a name for the notification schedule to help identify it easily.'; + + @override + String get new_schedule_dialog_field_label => 'Schedule name'; + + @override + String get bedtime_tab_title => 'Bedtime'; + + @override + String get bedtime_tab_info => 'Set your bedtime schedule by selecting a time period and days of the week. Choose distracting apps to block and enable Do Not Disturb (DND) mode for a peaceful night.'; + + @override + String get schedule_tile_title => 'Schedule'; + + @override + String get schedule_tile_subtitle => 'Enable or disable daily schedule.'; + + @override + String get bedtime_no_days_selected_snack_alert => 'Select at least one day of the week.'; + + @override + String get bedtime_minimum_duration_snack_alert => 'The total bedtime duration must be at least 30 minutes.'; + + @override + String get distracting_apps_tile_title => 'Distracting apps'; + + @override + String get distracting_apps_tile_subtitle => 'Select which apps are distracting you from your bedtime routine.'; + + @override + String get bedtime_distracting_apps_modify_snack_alert => 'Modifications to the list of distracting apps is not permitted while the bedtime schedule is active.'; + + @override + String get parental_controls_tab_title => 'Parental controls'; + + @override + String get invincible_mode_heading => 'Invincible mode'; + + @override + String get invincible_mode_tile_title => 'Activate invincible mode'; + + @override + String get invincible_mode_info => 'When Invincible Mode is on, you won\'t be able to adjust selected limits after reaching your daily quota. Limits reset at midnight, so you\'ll be able to make changes the next day.'; + + @override + String get invincible_mode_snack_alert => 'Due to invincible mode, modifications to restrictions is not allowed.'; + + @override + String get invincible_mode_dialog_info => 'Are you absolutely sure you want to enable Invincible Mode? This action is irreversible. Once Invincible Mode is turned on, you cannot turn it off as long as this app is installed on your device.'; + + @override + String get invincible_mode_turn_off_snack_alert => 'Invincible Mode cannot be turned off as long as this app remains installed on your device.'; + + @override + String get invincible_mode_dialog_button_start_anyway => 'Start anyway'; + + @override + String get invincible_mode_include_timer_tile_title => 'Include timer'; + + @override + String get invincible_mode_include_launch_limit_tile_title => 'Include launch limit'; + + @override + String get invincible_mode_include_active_period_tile_title => 'Include active period'; + + @override + String get invincible_mode_app_restrictions_tile_title => 'App restrictions'; + + @override + String get invincible_mode_app_restrictions_tile_subtitle => 'Prevent changes to the app\'s selected restrictions once the daily limits are exceeded.'; + + @override + String get invincible_mode_group_restrictions_tile_title => 'Group restrictions'; + + @override + String get invincible_mode_group_restrictions_tile_subtitle => 'Prevent changes to the group\'s selected restrictions once the daily limits are exceeded.'; + + @override + String get invincible_mode_include_shorts_timer_tile_title => 'Include shorts timer'; + + @override + String get invincible_mode_include_shorts_timer_tile_subtitle => 'Prevents changes after reaching your daily shorts limit.'; + + @override + String get invincible_mode_include_bedtime_tile_title => 'Include bedtime'; + + @override + String get invincible_mode_include_bedtime_tile_subtitle => 'Prevents changes during the active bedtime schedule.'; + + @override + String get protected_access_tile_title => 'Protected access'; + + @override + String get protected_access_tile_subtitle => 'Protect Mindful with your device lock.'; + + @override + String get protected_access_no_lock_snack_alert => 'Please set up a biometric lock on your device first to enable this feature.'; + + @override + String get protected_access_removed_lock_snack_alert => 'Your device lock has been removed. To continue, please set up a new lock.'; + + @override + String get protected_access_failed_lock_snack_alert => 'Authentication failed. You need to verify your device lock to proceed.'; + + @override + String get tamper_protection_tile_title => 'Tamper protection'; + + @override + String get tamper_protection_tile_subtitle => 'Prevent uninstalling and force stopping the app.'; + + @override + String get uninstall_window_tile_title => 'Uninstall window'; + + @override + String get uninstall_window_tile_subtitle => 'Tamper protection can be disabled within 5 minutes from the selected time.'; + + @override + String get shorts_blocking_tab_title => 'Shorts blocking'; + + @override + String get shorts_blocking_tab_info => 'Control how much time you spend on short content across platforms like Instagram, YouTube, Snapchat, and Facebook, including their websites.'; + + @override + String get short_content_heading => 'Short content'; + + @override + String shorts_time_left_from(String timeShortString) { + return 'Left from $timeShortString'; + } + + @override + String get short_content_invincible_mode_info => 'You have exhausted the daily short content quota time. Due to invincible mode, modifications to settings related to short content are not allowed.'; + + @override + String get short_content_timer_picker_dialog_info => 'Set a daily time limit for short content. Once your limit is reached, the short content will be paused until midnight.'; + + @override + String get block_insta_reels_title => 'Block reels'; + + @override + String get block_insta_reels_subtitle => 'Restrict reels on instagram.'; + + @override + String get block_yt_shorts_title => 'Block shorts'; + + @override + String get block_yt_shorts_subtitle => 'Restrict shorts on youtube.'; + + @override + String get block_snap_spotlight_title => 'Block spotlight'; + + @override + String get block_snap_spotlight_subtitle => 'Restrict spotlight on snapchat.'; + + @override + String get block_fb_reels_title => 'Block reels'; + + @override + String get block_fb_reels_subtitle => 'Restrict reels on facebook.'; + + @override + String get block_reddit_shorts_title => 'Block shorts'; + + @override + String get block_reddit_shorts_subtitle => 'Restrict shorts on reddit.'; + + @override + String get websites_blocking_tab_title => 'Websites blocking'; + + @override + String get websites_blocking_tab_info => 'Block adult websites and any custom sites you choose to create a safer and more focused online experience. Take charge of your browsing and stay distraction-free.'; + + @override + String get adult_content_heading => 'Adult content'; + + @override + String get block_nsfw_title => 'Block Nsfw'; + + @override + String get block_nsfw_subtitle => 'Restrict browsers from opening adult and porn websites.'; + + @override + String get block_nsfw_dialog_info => 'Are you sure? This action is irreversible. Once adult sites blocker is turned ON, you cannot turn it OFF as long as this app is installed on your device.'; + + @override + String get block_nsfw_dialog_button_block_anyway => 'Block anyway'; + + @override + String get blocked_websites_heading => 'Blocked websites'; + + @override + String get blocked_websites_empty_list_hint => 'Click on \'+ Add Website\' button to add distracting websites which you wish to block.'; + + @override + String get add_website_fab_button => 'Add Website'; + + @override + String get add_website_dialog_title => 'Distracting website'; + + @override + String get add_website_dialog_info => 'Enter url of a website which you want to block.'; + + @override + String get add_website_dialog_is_nsfw => 'Is nsfw site?'; + + @override + String get add_website_dialog_nsfw_warning => 'Warning: Nsfw sites cannot be removed once added.'; + + @override + String get add_website_dialog_button_block => 'Block'; + + @override + String get add_website_already_exist_snack_alert => 'The URL has already been added to the list of blocked websites.'; + + @override + String get add_website_invalid_url_snack_alert => 'Invalid URL! Unable to parse the host name.'; + + @override + String get remove_website_dialog_title => 'Remove website'; + + @override + String remove_website_dialog_info(String websitehost) { + return 'Are you sure? you want to remove \'$websitehost\' from blocked websites.'; + } + + @override + String get focus_tab_title => 'Focus'; + + @override + String get focus_tab_info => 'When you need time to focus, start a new session by selecting the type, choosing distracting apps to pause, and enabling Do Not Disturb for uninterrupted concentration.'; + + @override + String get active_session_card_title => 'Active session'; + + @override + String get active_session_card_info => 'You have an active focus session running! Click \'View\' to check your progress and see how much time has elapsed.'; + + @override + String get active_session_card_view_button => 'View'; + + @override + String get focus_distracting_apps_removal_snack_alert => 'Removal of apps from the distracting apps list is not permitted while a Focus Session is active. However, you may still add additional apps to the list during this time.'; + + @override + String get focus_session_tile_title => 'Focus session'; + + @override + String get focus_session_duration_tile_title => 'Session duration'; + + @override + String get focus_session_duration_tile_subtitle => 'Infinite (unless you stop)'; + + @override + String get focus_session_duration_dialog_info => 'Please select the desired duration for this focus session, determining how long you wish to remain focused and distraction-free.'; + + @override + String get focus_session_start_fab_button => 'Start Session'; + + @override + String get focus_session_minimum_apps_snack_alert => 'Select at least one distracting app to start focus session'; + + @override + String get focus_session_already_active_snack_alert => 'You already have an active focus session running. Please complete or stop your current session before starting a new one.'; + + @override + String get focus_session_type_study => 'Study'; + + @override + String get focus_session_type_work => 'Work'; + + @override + String get focus_session_type_exercise => 'Exercise'; + + @override + String get focus_session_type_meditation => 'Meditation'; + + @override + String get focus_session_type_creativeWriting => 'Creative Writing'; + + @override + String get focus_session_type_reading => 'Reading'; + + @override + String get focus_session_type_programming => 'Programming'; + + @override + String get focus_session_type_chores => 'Chores'; + + @override + String get focus_session_type_projectPlanning => 'Project Planning'; + + @override + String get focus_session_type_artAndDesign => 'Art and Design'; + + @override + String get focus_session_type_languageLearning => 'Language Learning'; + + @override + String get focus_session_type_musicPractice => 'Music Practice'; + + @override + String get focus_session_type_selfCare => 'Self Care'; + + @override + String get focus_session_type_brainstorming => 'Brainstorming'; + + @override + String get focus_session_type_skillDevelopment => 'Skill Development'; + + @override + String get focus_session_type_research => 'Research'; + + @override + String get focus_session_type_networking => 'Networking'; + + @override + String get focus_session_type_cooking => 'Cooking'; + + @override + String get focus_session_type_sportsTraining => 'Sports Training'; + + @override + String get focus_session_type_restAndRelaxation => 'Rest and Relaxation'; + + @override + String get focus_session_type_other => 'Other'; + + @override + String get timeline_tab_title => 'Timeline'; + + @override + String get timeline_tab_info => 'Explore your focus journey by selecting a date from the calendar. Track your progress, revisit your successes, and learn from the challenges.'; + + @override + String selected_month_productive_time_snack_alert(String timeString) { + return 'Your total productive time for the selected month is $timeString.'; + } + + @override + String get selected_month_productive_days_label => 'Productive days'; + + @override + String selected_month_productive_days_snack_alert(num daysCount) { + return 'You\'ve had a total of $daysCount productive days in the selected month.'; + } + + @override + String get selected_day_focused_time_label => 'Focused time'; + + @override + String selected_day_focused_time_snack_alert(String timeString) { + return 'Your total focused time for the selected day is $timeString.'; + } + + @override + String get calender_heading => 'Calender'; + + @override + String get your_sessions_heading => 'Your sessions'; + + @override + String get your_sessions_empty_list_hint => 'No focus sessions recorded for the selected day.'; + + @override + String get focus_session_tile_time_label => 'Time'; + + @override + String get focus_session_tile_date_label => 'Date'; + + @override + String get focus_session_tile_duration_label => 'Duration'; + + @override + String get focus_session_state_active => 'Active'; + + @override + String get focus_session_state_successful => 'Successful'; + + @override + String get focus_session_state_failed => 'Failed'; + + @override + String get active_session_tab_title => 'Session'; + + @override + String get active_session_none_warning => 'No active session found. Returning to the home screen.'; + + @override + String get active_session_dialog_button_keep_pushing => 'Keep pushing'; + + @override + String get active_session_finish_dialog_title => 'Finish'; + + @override + String get active_session_finish_dialog_info => 'Stay strong! You\'re building valuable focus. Are you sure you want to end this focus session? Every extra moment counts toward your goals.'; + + @override + String get active_session_giveup_dialog_title => 'Give up'; + + @override + String get active_session_giveup_dialog_info => 'Hold on! You\'re almost there don\'t give up now! Are you sure you want to end this focus session early? Progress will be lost.'; + + @override + String get active_session_giveup_snack_alert => 'You gave up! Don\'t worry, you can do better next time. Every effort counts - just keep going'; + + @override + String get active_session_quote_one => 'Every step counts, stay strong and keep going'; + + @override + String get active_session_quote_two => 'Stay focused! you\'re making amazing progress'; + + @override + String get active_session_quote_three => 'You\'re crushing it! Keep the momentum going'; + + @override + String get active_session_quote_four => 'Just a little more to go, you\'re doing fantastic'; + + @override + String active_session_quote_five(String durationString) { + return 'Congratulations 🎉 \n You\'ve completed your focus session of $durationString.\n\nGreat job, keep up the amazing work'; + } + + @override + String get restriction_groups_tab_title => 'Restriction groups'; + + @override + String get restriction_groups_tab_info => 'Set a combined screen time limit for a group of apps. Once the total usage reaches your limit, all apps in the group will be paused to help maintain focus and balance.'; + + @override + String get restriction_group_time_spent_label => 'Time spent today'; + + @override + String get restriction_group_time_left_label => 'Time left today'; + + @override + String get restriction_group_name_tile_title => 'Group name'; + + @override + String get restriction_group_name_picker_dialog_info => 'Enter a name for the restriction group to help identify and manage it easily.'; + + @override + String get restriction_group_timer_tile_title => 'Group timer'; + + @override + String get restriction_group_timer_picker_dialog_info => 'Set a daily time limit for this group. Once your limit is reached, all the apps in this group will be paused until midnight.'; + + @override + String get restriction_group_active_period_tile_title => 'Group active period'; + + @override + String get remove_restriction_group_dialog_title => 'Remove group'; + + @override + String remove_restriction_group_dialog_info(String groupName) { + return 'Are you sure? you want to remove \'$groupName\' from restriction groups.'; + } + + @override + String get restriction_group_invalid_limits_snack_alert => 'Set either a timer or an active period limit.'; + + @override + String get upcoming_notifications_empty_list_hint => 'No notifications have been batched today.'; + + @override + String get button_segment_grouped_label => 'Grouped'; + + @override + String get button_segment_ungrouped_label => 'Un-Grouped'; + + @override + String get last_24_hours_heading => 'Last 24 hours'; + + @override + String nNotifications(num count) { + final intl.NumberFormat countNumberFormat = intl.NumberFormat.compact( + locale: localeName, + + ); + final String countString = countNumberFormat.format(count); + + String _temp0 = intl.Intl.pluralLogic( + count, + locale: localeName, + other: '$countString notifications', + one: '1 notification', + zero: '0 notification', + ); + return '$_temp0'; + } + + @override + String get app_info_none_warning => 'Couldn\'t find the app for the given package. Returning to the home screen.'; + + @override + String get emergency_fab_button => 'Emergency'; + + @override + String emergency_dialog_info(num leftPassesCount) { + return 'This action will pause the app blocker for next 5 minutes. You have $leftPassesCount passes left. After using all passes, the app will stay blocked until midnight, or the active focus session ends.\n\nDo you still wish to proceed?'; + } + + @override + String get emergency_dialog_button_use_anyway => 'Use anyway'; + + @override + String get emergency_started_snack_alert => 'The app blocker is paused and will resume blocking in 5 minutes.'; + + @override + String get emergency_already_active_snack_alert => 'The app blocker is currently either paused or inactive. If notifications are enabled, you will receive updates regarding the remaining time.'; + + @override + String get emergency_no_pass_left_snack_alert => 'You have used all your emergency passes. The blocked apps will stay blocked until midnight, or the active focus session ends.'; + + @override + String get app_limit_status_not_set => 'Not set'; + + @override + String get app_timer_tile_title => 'App timer'; + + @override + String get app_timer_picker_dialog_info => 'Set a daily time limit for this app. Once your limit is reached, the app will be paused until midnight.'; + + @override + String get app_launch_limit_tile_title => 'Launch limit'; + + @override + String app_launch_limit_tile_subtitle(num count) { + return 'Launched $count times today.'; + } + + @override + String get app_launch_limit_picker_dialog_info => 'Set how many times you can open this app each day. Once the limit is reached, it will be paused until midnight.'; + + @override + String get app_active_period_tile_title => 'Active period'; + + @override + String app_active_period_tile_subtitle(String startTime, String endTime) { + return 'From $startTime to $endTime'; + } + + @override + String get internet_access_tile_title => 'Internet access'; + + @override + String get internet_access_tile_subtitle => 'Switch off to block app\'s internet.'; + + @override + String internet_access_blocked_snack_alert(String appName) { + return '$appName\'s internet is blocked.'; + } + + @override + String internet_access_unblocked_snack_alert(String appName) { + return '$appName\'s internet is unblocked.'; + } + + @override + String get launch_app_tile_title => 'Launch app'; + + @override + String launch_app_tile_subtitle(String appName) { + return 'Open $appName.'; + } + + @override + String get go_to_app_settings_tile_title => 'Go to app settings'; + + @override + String get go_to_app_settings_tile_subtitle => 'Manage app settings like notifications, permissions, storage and more.'; + + @override + String get include_in_stats_tile_title => 'Include in screen usage'; + + @override + String get include_in_stats_tile_subtitle => 'Switch off to exclude this app from total screen usage.'; + + @override + String app_excluded_from_stats_snack_alert(String appName) { + return '$appName is excluded from total screen usage.'; + } + + @override + String app_include_to_stats_snack_alert(String appName) { + return '$appName is included to total screen usage.'; + } + + @override + String get general_tab_title => 'General'; + + @override + String get appearance_heading => 'Appearance'; + + @override + String get theme_mode_tile_title => 'Theme mode'; + + @override + String get theme_mode_system_label => 'System'; + + @override + String get theme_mode_light_label => 'Light'; + + @override + String get theme_mode_dark_label => 'Dark'; + + @override + String get material_color_tile_title => 'Material color'; + + @override + String get amoled_dark_tile_title => 'AMOLED dark'; + + @override + String get amoled_dark_tile_subtitle => 'Use pure black color for the dark theme.'; + + @override + String get dynamic_colors_tile_title => 'Dynamic colors'; + + @override + String get dynamic_colors_tile_subtitle => 'Use device colors if supported.'; + + @override + String get defaults_heading => 'Defaults'; + + @override + String get app_language_tile_title => 'App language'; + + @override + String get default_home_tab_tile_title => 'Home tab'; + + @override + String get usage_history_tile_title => 'Usage history'; + + @override + String get usage_history_15_days => '15 days'; + + @override + String get usage_history_1_month => '1 month'; + + @override + String get usage_history_3_month => '3 months'; + + @override + String get usage_history_6_month => '6 months'; + + @override + String get usage_history_1_year => '1 year'; + + @override + String get service_heading => 'Service'; + + @override + String get service_stopping_warning => 'If Mindful stops working unexpectedly, please grant the \'Ignore Battery Optimization\' permission to keep it running in the background. If the issue continues, try whitelisting Mindful for uninterrupted performance.'; + + @override + String get whitelist_app_tile_title => 'Whitelist Mindful'; + + @override + String get whitelist_app_tile_subtitle => 'Allow Mindful to auto start.'; + + @override + String get whitelist_app_unsupported_snack_alert => 'This device does not support automatic startup management.'; + + @override + String get database_tab_title => 'Database'; + + @override + String get import_db_tile_title => 'Import database'; + + @override + String get import_db_tile_subtitle => 'Import database from a file.'; + + @override + String get export_db_tile_title => 'Export database'; + + @override + String get export_db_tile_subtitle => 'Export database to a file.'; + + @override + String get crash_logs_heading => 'Crash logs'; + + @override + String get crash_logs_info => 'If you encounter any issue, you can report it on GitHub along with the log file. The file will include details such as your device\'s manufacturer, model, Android version, SDK version, and crash logs. This information will help us identify and resolve the problem more effectively.'; + + @override + String get crash_logs_export_tile_title => 'Export crash logs'; + + @override + String get crash_logs_export_tile_subtitle => 'Export crash logs to a json file.'; + + @override + String get crash_logs_view_tile_title => 'View logs'; + + @override + String get crash_logs_view_tile_subtitle => 'Explore stored crash logs.'; + + @override + String get crash_logs_empty_list_hint => 'No crash logged till now.'; + + @override + String get crash_logs_clear_tile_title => 'Clear logs'; + + @override + String get crash_logs_clear_tile_subtitle => 'Delete all crash logs from database.'; + + @override + String get crash_logs_clear_dialog_info => 'Are you sure you wish to clear all crash logs from the database?'; + + @override + String get crash_logs_clear_dialog_button_clear_anyway => 'Clear anyway'; + + @override + String get about_tab_title => 'About'; + + @override + String get changelog_tile_title => 'Changelog'; + + @override + String get changelog_tile_subtitle => 'Find out what\'s new.'; + + @override + String get full_changelog_tile_title => 'Full changelog'; + + @override + String get redirected_to_github_subtitle => 'You will be redirected to GitHub.'; + + @override + String get contribute_heading => 'Contribute'; + + @override + String get github_tile_title => 'GitHub'; + + @override + String get github_tile_subtitle => 'View the source code.'; + + @override + String get report_issue_tile_title => 'Report an issue'; + + @override + String get suggest_idea_tile_title => 'Suggest an idea'; + + @override + String get write_email_tile_title => 'Write to us via email'; + + @override + String get write_email_tile_subtitle => 'You will be redirected to Email app.'; + + @override + String get privacy_policy_heading => 'Privacy policy'; + + @override + String get privacy_policy_info => 'Mindful is committed to protecting your privacy. We do not collect, store, or transfer any type of user data. The app operates entirely offline and does not require an internet connection, ensuring that your personal information remains private and secure on your device. As a Free and Open Source Software (FOSS) application, Mindful guarantees complete transparency and user control over their data.'; + + @override + String get more_details_button => 'More details'; +} diff --git a/lib/l10n/generated/app_localizations_ja.dart b/lib/l10n/generated/app_localizations_ja.dart new file mode 100644 index 00000000..5063a021 --- /dev/null +++ b/lib/l10n/generated/app_localizations_ja.dart @@ -0,0 +1,1233 @@ +import 'package:intl/intl.dart' as intl; + +import 'app_localizations.dart'; + +// ignore_for_file: type=lint + +/// The translations for Japanese (`ja`). +class AppLocalizationsJa extends AppLocalizations { + AppLocalizationsJa([String locale = 'ja']) : super(locale); + + @override + String get mindful_tagline => '本当に大切なことに集中しよう'; + + @override + String get unlock_button_label => 'ロック解除'; + + @override + String get permission_status_off => 'オフ'; + + @override + String get permission_status_allowed => 'アクセス可能'; + + @override + String get permission_status_not_allowed => 'アクセス不可'; + + @override + String get permission_button_grant_permission => 'アクセスを許可する'; + + @override + String get permission_button_agree_and_continue => '同意して続ける'; + + @override + String get permission_button_not_now => '後で'; + + @override + String get permission_button_help => 'ヘルプ'; + + @override + String get permission_sheet_privacy_info => 'Mindful は100%安全で、オフラインでも動作します。個人情報の収集または保存をすることはありません。'; + + @override + String permission_grant_step_one(String button_label) { + return '1. $button_label を選択してください。'; + } + + @override + String get permission_grant_step_two => '2. 次の画面で Mindful を選択してください。'; + + @override + String get permission_grant_step_three => '3. 下記を参考に、切り替えを選択して有効にしてください。'; + + @override + String get permission_notification_title => '通知を受け取る'; + + @override + String get permission_alarms_title => 'アラームとリマインダー'; + + @override + String get permission_alarms_info => 'Mindful が就寝スケジュールとアプリタイマーを管理できるように、アラームとリマインダーへのアクセスを許可してください。'; + + @override + String get permission_alarms_device_tile_label => 'アラームとリマインダーの設定を許可する'; + + @override + String get permission_usage_title => '使用状況'; + + @override + String get permission_usage_info => 'Mindful がアプリの使用状況を把握し、アプリの利用時間を管理できるように、使用状況へのアクセスを許可してください。'; + + @override + String get permission_usage_device_tile_label => '使用状況へのアクセス許可'; + + @override + String get permission_overlay_title => '他のアプリの上に重ねて表示'; + + @override + String get permission_overlay_info => 'Mindful が利用時間を超えたアプリを制限できるように、他のアプリの上に重ねて表示を許可してください。'; + + @override + String get permission_overlay_device_tile_label => '他のアプリの上に重ねて表示できるようにする'; + + @override + String get permission_accessibility_title => 'ユーザー補助'; + + @override + String get permission_accessibility_info => 'リール・ショート動画へのアクセス制限や不適切なSNS・ウェブサイトのブロックをするために、ユーザー補助を有効にしてください。'; + + @override + String get permission_accessibility_required => 'Mindful requires accessibility permission to block short content and websites effectively.'; + + @override + String get permission_accessibility_device_tile_label => 'Mindful の使用'; + + @override + String get permission_dnd_title => 'サイレントモード'; + + @override + String get permission_dnd_info => 'サイレントモードを利用すると、Mindful が就寝時間中の通知を自動的に管理し、快適な睡眠をサポートします。'; + + @override + String get permission_dnd_tile_title => 'サイレントモードを開始'; + + @override + String get permission_dnd_tile_subtitle => 'サイレントモードを有効にする必要があります。'; + + @override + String get permission_battery_optimization_tile_title => 'バッテリー最適化を無視する'; + + @override + String get permission_battery_optimization_status_enabled => 'バックグラウンドで動作中'; + + @override + String get permission_battery_optimization_status_disabled => 'バックグラウンドで動作していません'; + + @override + String get permission_battery_optimization_allow_info => 'Allowing \'Ignore Battery Optimization\' will automatically grant the \'Alarms & Reminders\' permission on some devices.'; + + @override + String get permission_vpn_title => 'VPNを作成'; + + @override + String get permission_vpn_info => 'Mindful がアプリのインターネットアクセスを制限するために、仮想プライベートネットワーク(VPN)接続の作成を許可してください。'; + + @override + String get permission_admin_title => 'デバイス管理アプリの有効化'; + + @override + String get permission_admin_info => 'デバイス管理アプリの有効化は、アプリが正常に動作し、改ざん防止を維持するために必要な操作のみに使用されます。'; + + @override + String get permission_admin_snack_alert => 'デバイス管理アプリの有効化は、選択した時間帯以外では無効にすることができません。'; + + @override + String get permission_notification_access_title => 'Notification Access'; + + @override + String get permission_notification_access_info => 'Please grant notification access permission. This will allow Mindful to organize your notifications and deliver them on your schedule.'; + + @override + String get permission_notification_access_required => 'Mindful requires notification access to batch and schedule notifications.'; + + @override + String get permission_notification_access_device_tile_label => 'Allow notification access'; + + @override + String get day_today => '今日'; + + @override + String get day_yesterday => '昨日'; + + @override + String nDays(num count) { + final intl.NumberFormat countNumberFormat = intl.NumberFormat.compact( + locale: localeName, + + ); + final String countString = countNumberFormat.format(count); + + String _temp0 = intl.Intl.pluralLogic( + count, + locale: localeName, + other: '$countString 日', + one: '1 日', + zero: '0 日', + ); + return '$_temp0'; + } + + @override + String nHours(num count) { + final intl.NumberFormat countNumberFormat = intl.NumberFormat.compact( + locale: localeName, + + ); + final String countString = countNumberFormat.format(count); + + String _temp0 = intl.Intl.pluralLogic( + count, + locale: localeName, + other: '$countString 時間', + one: '1 時間', + zero: '0 時間', + ); + return '$_temp0'; + } + + @override + String nMinutes(num count) { + final intl.NumberFormat countNumberFormat = intl.NumberFormat.compact( + locale: localeName, + + ); + final String countString = countNumberFormat.format(count); + + String _temp0 = intl.Intl.pluralLogic( + count, + locale: localeName, + other: '$countString 分', + one: '1 分', + zero: '0 分', + ); + return '$_temp0'; + } + + @override + String nSeconds(num count) { + final intl.NumberFormat countNumberFormat = intl.NumberFormat.compact( + locale: localeName, + + ); + final String countString = countNumberFormat.format(count); + + String _temp0 = intl.Intl.pluralLogic( + count, + locale: localeName, + other: '$countString 秒', + one: '1 秒', + zero: '0 秒', + ); + return '$_temp0'; + } + + @override + String get time_separator_and => 'と'; + + @override + String get timer_status_active => '有効'; + + @override + String get timer_status_paused => '一時停止'; + + @override + String get create_button => '作成'; + + @override + String get update_button => '更新'; + + @override + String get dialog_button_cancel => 'キャンセル'; + + @override + String get dialog_button_remove => '削除'; + + @override + String get dialog_button_set => '設定'; + + @override + String get dialog_button_reset => 'リセット'; + + @override + String get dialog_button_infinite => 'Infinite'; + + @override + String get schedule_start_label => '開始'; + + @override + String get schedule_end_label => '終了'; + + @override + String get development_dialog_info => 'Mindfulは現在開発中のため、不具合や未完成の機能がある可能性があります。 問題が発生した場合は、改善のためご報告ください。\n\nご意見ありがとうございます!'; + + @override + String get development_dialog_button_report_issue => '問題を報告'; + + @override + String get development_dialog_button_close => '閉じる'; + + @override + String get dnd_settings_tile_title => 'サイレントモード設定'; + + @override + String get dnd_settings_tile_subtitle => 'サイレントモード中のアプリ通知を管理します。'; + + @override + String get quick_actions_heading => '簡単操作'; + + @override + String get select_distracting_apps_heading => '使用制限するアプリを選択'; + + @override + String get your_distracting_apps_heading => '使用制限中のアプリ'; + + @override + String get select_more_apps_heading => 'さらにアプリを選択'; + + @override + String get imp_distracting_apps_snack_alert => 'システムアプリは使用制限アプリに追加できません。'; + + @override + String get custom_apps_quick_actions_unavailable_warning => 'このアプリでは、ネットワークの使用状況のみ確認できます。画面の使用状況と制限機能は現在ご利用いただけません。'; + + @override + String get create_group_fab_button => 'グループを作成'; + + @override + String get active_period_info => 'アクセスを許可する時間帯を設定してください。この時間帯以外では、アクセスが制限されます。'; + + @override + String get minimum_distracting_apps_snack_alert => '使用制限するアプリを少なくとも1つは選択してください。'; + + @override + String get donation_card_title => '開発を支援する'; + + @override + String get donation_card_info => 'Mindful は、数ヶ月の開発期間を経て、無料で公開しています。このアプリをより多くの人々に届け、改善し続けるために、皆様からの温かいご支援をお待ちしています。'; + + @override + String get operation_failed_snack_alert => 'エラーが発生し、操作を完了できませんでした。'; + + @override + String get donation_card_button_donate => '寄付する'; + + @override + String get app_restart_dialog_title => '再起動してください'; + + @override + String get app_restart_dialog_info => 'カウントダウン終了後、Mindful は自動的に再起動します。変更の適用には少し時間がかかりますので、お待ちください。'; + + @override + String get tip_container_title => 'Tip'; + + @override + String get battery_optimization_tip => 'If Mindful stops working unexpectedly, consider granting the \'Ignore Battery Optimization\' permission by going to \'Settings>Advance\' to keep it running in the background.'; + + @override + String get onboarding_skip_btn_label => 'スキップ'; + + @override + String get onboarding_finish_setup_btn_label => '設定終了'; + + @override + String get onboarding_page_one_title => '集中力を持続させる'; + + @override + String get onboarding_page_one_info => 'Mindful で集中力をマスターしましょう。気が散るアプリやショートコンテンツをブロックし、あなただけの集中時間を作り出します。'; + + @override + String get onboarding_page_two_title => '邪魔をブロック'; + + @override + String get onboarding_page_two_info => 'アプリの使用制限を設定し、自動的にアプリを一時停止し、より健全なデジタル習慣を身につけましょう。サイレントモードを使用して、リラックスして邪魔のない夜を楽しみましょう。'; + + @override + String get onboarding_page_three_title => 'プライバシー重視'; + + @override + String get onboarding_page_three_info => 'Mindful は、あなたのプライバシーを最優先に考えています。アプリは100%オープンソースで、オフラインで動作するため、個人情報は一切収集されません。'; + + @override + String get onboarding_page_permissions_title => '必要な権限'; + + @override + String get onboarding_page_permissions_info => 'Mindful が画面の使用時間を追跡・管理し、集中力を高めるために必要な権限は以下のとおりです。'; + + @override + String get dashboard_tab_title => 'ダッシュボード'; + + @override + String get focus_now_fab_button => 'Focus now'; + + @override + String get welcome_greetings => 'おかえりなさい'; + + @override + String get username_snack_alert => 'ユーザー名を編集するには長押ししてください。'; + + @override + String get username_dialog_title => 'ユーザー名'; + + @override + String get username_dialog_info => 'ダッシュボードに表示されるユーザー名を入力してください。'; + + @override + String get username_dialog_button_apply => '保存'; + + @override + String get glance_tile_title => 'Glance'; + + @override + String get glance_tile_subtitle => 'Take a quick glance at your usage.'; + + @override + String get parental_controls_tile_subtitle => 'Invincible mode and tamper protection.'; + + @override + String get restrictions_heading => 'アプリの制限'; + + @override + String get apps_blocking_tile_title => 'Apps blocking'; + + @override + String get apps_blocking_tile_subtitle => 'Limit apps in multiple ways.'; + + @override + String get grouped_apps_blocking_tile_title => 'Grouped apps blocking'; + + @override + String get grouped_apps_blocking_tile_subtitle => 'Limit group of apps simultaneously.'; + + @override + String get shorts_blocking_tile_subtitle => 'Limit short content on multiple platforms.'; + + @override + String get websites_blocking_tile_subtitle => 'Limit adult and custom websites.'; + + @override + String get screen_time_label => '使用時間'; + + @override + String get total_data_label => 'Total data'; + + @override + String get mobile_data_label => 'Mobile data'; + + @override + String get wifi_data_label => 'Wifi data'; + + @override + String get focus_today_label => 'Focus today'; + + @override + String get focus_weekly_label => 'Focus weekly'; + + @override + String get focus_monthly_label => 'Focus monthly'; + + @override + String get focus_lifetime_label => 'Focus lifetime'; + + @override + String get longest_streak_label => '最大連続記録'; + + @override + String get current_streak_label => '現在の連続記録'; + + @override + String get successful_sessions_label => '集中できた回数'; + + @override + String get failed_sessions_label => '集中できなかった回数'; + + @override + String get statistics_tab_title => '統計データ'; + + @override + String get screen_segment_label => '使用時間'; + + @override + String get data_segment_label => 'データ使用量'; + + @override + String get mobile_label => 'モバイル'; + + @override + String get wifi_label => 'Wi-Fi'; + + @override + String get most_used_apps_heading => 'よく使うアプリ'; + + @override + String get show_all_apps_tile_title => 'すべてのアプリを表示'; + + @override + String get notifications_tab_title => 'Notifications'; + + @override + String get notifications_tab_info => 'Batch notification from apps and set schedules like morning, noon, evening and night. Stay updated without constant interruptions.'; + + @override + String get batched_apps_tile_title => 'Batched apps'; + + @override + String get schedules_heading => 'Schedules'; + + @override + String get new_schedule_fab_button => 'New Schedule'; + + @override + String get new_schedule_dialog_info => 'Enter a name for the notification schedule to help identify it easily.'; + + @override + String get new_schedule_dialog_field_label => 'Schedule name'; + + @override + String get bedtime_tab_title => '就寝モード'; + + @override + String get bedtime_tab_info => '時間帯と曜日を選択して、就寝スケジュールを設定しましょう。集中を妨げるアプリをブロックし、サイレントモードを有効にして、穏やかな夜を過ごしましょう。'; + + @override + String get schedule_tile_title => 'スケジュール'; + + @override + String get schedule_tile_subtitle => '毎日のスケジュールを有効または無効にします。'; + + @override + String get bedtime_no_days_selected_snack_alert => '曜日を少なくとも1つ選択してください。'; + + @override + String get bedtime_minimum_duration_snack_alert => '就寝時間の合計は30分以上である必要があります。'; + + @override + String get distracting_apps_tile_title => '集中を妨げるアプリ'; + + @override + String get distracting_apps_tile_subtitle => '就寝前の集中を妨げるアプリを選択してください。'; + + @override + String get bedtime_distracting_apps_modify_snack_alert => '就寝スケジュールが有効になっている間は、集中を妨げるアプリの一覧を変更することはできません。'; + + @override + String get parental_controls_tab_title => 'Parental controls'; + + @override + String get invincible_mode_heading => '無敵モード'; + + @override + String get invincible_mode_tile_title => '無敵モードの有効化'; + + @override + String get invincible_mode_info => '無敵モードを有効にすると、設定した制限をその日は変更できなくなります。制限は深夜にリセットされるため、翌日には変更できます。'; + + @override + String get invincible_mode_snack_alert => '無敵モードが有効になっているため、制限は変更できません。'; + + @override + String get invincible_mode_dialog_info => '無敵モードを有効にすると、このアプリをアンインストールするまでオフにできません。本当に有効にしますか?'; + + @override + String get invincible_mode_turn_off_snack_alert => 'このアプリがデバイスにインストールされている限り、無敵モードをオフにすることはできません。'; + + @override + String get invincible_mode_dialog_button_start_anyway => '開始する'; + + @override + String get invincible_mode_include_timer_tile_title => 'タイマーを含める'; + + @override + String get invincible_mode_include_launch_limit_tile_title => '起動回数の制限を含める'; + + @override + String get invincible_mode_include_active_period_tile_title => '使用可能な時間を含める'; + + @override + String get invincible_mode_app_restrictions_tile_title => 'アプリの制限'; + + @override + String get invincible_mode_app_restrictions_tile_subtitle => '毎日の制限を超えると、アプリの制限設定を変更できなくなります。'; + + @override + String get invincible_mode_group_restrictions_tile_title => 'グループの制限'; + + @override + String get invincible_mode_group_restrictions_tile_subtitle => '毎日の制限を超えると、グループの制限設定を変更できなくなります。'; + + @override + String get invincible_mode_include_shorts_timer_tile_title => 'ショート動画タイマーを含める'; + + @override + String get invincible_mode_include_shorts_timer_tile_subtitle => '毎日の制限を超えると、ショート動画の制限設定を変更できなくなります。'; + + @override + String get invincible_mode_include_bedtime_tile_title => '就寝時間を含める'; + + @override + String get invincible_mode_include_bedtime_tile_subtitle => '就寝時間中は制限設定を変更できなくなります。'; + + @override + String get protected_access_tile_title => 'アクセス保護'; + + @override + String get protected_access_tile_subtitle => 'デバイスロックで Mindful を保護する'; + + @override + String get protected_access_no_lock_snack_alert => 'Please set up a biometric lock on your device first to enable this feature.'; + + @override + String get protected_access_removed_lock_snack_alert => 'Your device lock has been removed. To continue, please set up a new lock.'; + + @override + String get protected_access_failed_lock_snack_alert => 'Authentication failed. You need to verify your device lock to proceed.'; + + @override + String get tamper_protection_tile_title => '改ざん防止'; + + @override + String get tamper_protection_tile_subtitle => 'アプリのアンインストールと強制終了を制限する'; + + @override + String get uninstall_window_tile_title => 'アンインストール画面'; + + @override + String get uninstall_window_tile_subtitle => '選択した時間から5分以内であれば、改ざん防止を無効にできます。'; + + @override + String get shorts_blocking_tab_title => 'Shorts blocking'; + + @override + String get shorts_blocking_tab_info => 'Control how much time you spend on short content across platforms like Instagram, YouTube, Snapchat, and Facebook, including their websites.'; + + @override + String get short_content_heading => 'ショート動画'; + + @override + String shorts_time_left_from(String timeShortString) { + return '残りあと $timeShortString'; + } + + @override + String get short_content_invincible_mode_info => 'ショート動画の毎日の使用制限に達しました。無敵モード中は設定を変更できません。'; + + @override + String get short_content_timer_picker_dialog_info => 'ショート動画の毎日の利用時間を制限できます。制限時間に達すると、深夜0時までショート動画は視聴できなくなります。'; + + @override + String get block_insta_reels_title => 'リールをブロック'; + + @override + String get block_insta_reels_subtitle => 'Instagramのリール動画を制限する'; + + @override + String get block_yt_shorts_title => 'ショートをブロック'; + + @override + String get block_yt_shorts_subtitle => 'YouTubeのショート動画を制限する'; + + @override + String get block_snap_spotlight_title => 'Spotlightをブロック'; + + @override + String get block_snap_spotlight_subtitle => 'SnapchatのSpotlight動画を制限する'; + + @override + String get block_fb_reels_title => 'リールをブロック'; + + @override + String get block_fb_reels_subtitle => 'Facebookのリール動画を制限する'; + + @override + String get block_reddit_shorts_title => 'Videoをブロック'; + + @override + String get block_reddit_shorts_subtitle => 'RedditのVideo動画を制限する'; + + @override + String get websites_blocking_tab_title => 'Websites blocking'; + + @override + String get websites_blocking_tab_info => 'Block adult websites and any custom sites you choose to create a safer and more focused online experience. Take charge of your browsing and stay distraction-free.'; + + @override + String get adult_content_heading => 'アダルトコンテンツ'; + + @override + String get block_nsfw_title => '職場閲覧注意をブロック'; + + @override + String get block_nsfw_subtitle => 'アダルトサイトやポルノサイトの閲覧を制限する'; + + @override + String get block_nsfw_dialog_info => 'この操作は元に戻せません。アダルトサイトブロッカーを有効にすると、このアプリがデバイスにインストールされている間は、無効にすることができなくなります。'; + + @override + String get block_nsfw_dialog_button_block_anyway => 'ブロックする'; + + @override + String get blocked_websites_heading => 'ブロック済みのウェブサイト'; + + @override + String get blocked_websites_empty_list_hint => '集中を妨げるウェブサイトをブロックするには、ウェブサイトを追加するボタンを選択してください。'; + + @override + String get add_website_fab_button => 'ウェブサイトを追加'; + + @override + String get add_website_dialog_title => '集中を妨げるウェブサイト'; + + @override + String get add_website_dialog_info => 'ブロックするウェブサイトのURLを入力してください。'; + + @override + String get add_website_dialog_is_nsfw => 'Is nsfw site?'; + + @override + String get add_website_dialog_nsfw_warning => 'Warning: Nsfw sites cannot be removed once added.'; + + @override + String get add_website_dialog_button_block => 'ブロック'; + + @override + String get add_website_already_exist_snack_alert => 'このURLは既にブロック済みのウェブサイトに追加されています。'; + + @override + String get add_website_invalid_url_snack_alert => 'URLが無効です。ホスト名を確認してください。'; + + @override + String get remove_website_dialog_title => 'ウェブサイトを削除'; + + @override + String remove_website_dialog_info(String websitehost) { + return '$websitehost のブロックを解除しますか?'; + } + + @override + String get focus_tab_title => '集中記録'; + + @override + String get focus_tab_info => '集中力を高めたい時は、新しい集中記録を開始しましょう。タイプを選択し、集中を妨げるアプリを一時停止し、サイレントモードを有効にすることで、邪魔されることなく集中できます。'; + + @override + String get active_session_card_title => '有効な記録'; + + @override + String get active_session_card_info => '集中記録が開始されています。表示を選択して、現在の進捗状況を確認しましょう。'; + + @override + String get active_session_card_view_button => '表示'; + + @override + String get focus_distracting_apps_removal_snack_alert => '集中記録が有効な間は、集中を妨げるアプリを削除することはできません。ただし、新しいアプリを追加することはできます。'; + + @override + String get focus_session_tile_title => '集中記録'; + + @override + String get focus_session_duration_tile_title => '集中する時間'; + + @override + String get focus_session_duration_tile_subtitle => '停止するまでずっと'; + + @override + String get focus_session_duration_dialog_info => '集中したい時間を選択してください。'; + + @override + String get focus_session_start_fab_button => '記録を開始'; + + @override + String get focus_session_minimum_apps_snack_alert => '集中記録を開始するには、少なくとも1つの集中を妨げるアプリを選択する必要があります。'; + + @override + String get focus_session_already_active_snack_alert => '集中記録は既に開始されています。新しい記録を開始する前に、現在の記録を終了するか停止してください。'; + + @override + String get focus_session_type_study => '勉強'; + + @override + String get focus_session_type_work => '仕事'; + + @override + String get focus_session_type_exercise => 'エクササイズ'; + + @override + String get focus_session_type_meditation => '瞑想'; + + @override + String get focus_session_type_creativeWriting => '創作'; + + @override + String get focus_session_type_reading => '読書'; + + @override + String get focus_session_type_programming => 'プログラミング'; + + @override + String get focus_session_type_chores => '家事'; + + @override + String get focus_session_type_projectPlanning => 'プロジェクト計画'; + + @override + String get focus_session_type_artAndDesign => '芸術とデザイン'; + + @override + String get focus_session_type_languageLearning => '言語学習'; + + @override + String get focus_session_type_musicPractice => '音楽練習'; + + @override + String get focus_session_type_selfCare => '健康管理'; + + @override + String get focus_session_type_brainstorming => 'アイデア出し'; + + @override + String get focus_session_type_skillDevelopment => '技術'; + + @override + String get focus_session_type_research => '調査'; + + @override + String get focus_session_type_networking => '交流'; + + @override + String get focus_session_type_cooking => '料理'; + + @override + String get focus_session_type_sportsTraining => 'スポーツ'; + + @override + String get focus_session_type_restAndRelaxation => '休憩'; + + @override + String get focus_session_type_other => 'その他'; + + @override + String get timeline_tab_title => '使用履歴'; + + @override + String get timeline_tab_info => 'カレンダーから日付を選択して、あなたの集中力を振り返りましょう。過去の記録から、成功と課題を分析し、さらなる成長が期待できます。'; + + @override + String selected_month_productive_time_snack_alert(String timeString) { + return '選択した月の集中時間は合計 $timeString です。'; + } + + @override + String get selected_month_productive_days_label => '集中できた日数'; + + @override + String selected_month_productive_days_snack_alert(num daysCount) { + return '選択した月に集中できた日数は $daysCount 日です。'; + } + + @override + String get selected_day_focused_time_label => '集中した時間'; + + @override + String selected_day_focused_time_snack_alert(String timeString) { + return '選択した日の集中時間の合計は $timeString です。'; + } + + @override + String get calender_heading => 'カレンダー'; + + @override + String get your_sessions_heading => '活動記録'; + + @override + String get your_sessions_empty_list_hint => '選択した日は活動記録がありませんでした。'; + + @override + String get focus_session_tile_time_label => '時間'; + + @override + String get focus_session_tile_date_label => '日付'; + + @override + String get focus_session_tile_duration_label => '継続時間'; + + @override + String get focus_session_state_active => '有効'; + + @override + String get focus_session_state_successful => '成功'; + + @override + String get focus_session_state_failed => '失敗'; + + @override + String get active_session_tab_title => '記録'; + + @override + String get active_session_none_warning => 'No active session found. Returning to the home screen.'; + + @override + String get active_session_dialog_button_keep_pushing => '諦めずに続けましょう'; + + @override + String get active_session_finish_dialog_title => '終了'; + + @override + String get active_session_finish_dialog_info => '集中力が鍛えられています!このまま記録を終了しますか?少しの時間も無駄にせず、目標達成を目指しましょう。'; + + @override + String get active_session_giveup_dialog_title => '諦める'; + + @override + String get active_session_giveup_dialog_info => 'もう少しで目標達成です!本当にこの集中記録を途中で終了しますか?これまでの進捗は失われます。'; + + @override + String get active_session_giveup_snack_alert => '諦めてしまいましたか?大丈夫、次回はきっと集中できます。どんな努力も無駄にはなりません。諦めずに続けましょう!'; + + @override + String get active_session_quote_one => 'どんな小さな一歩も、目標達成に繋がっています。自信を持って、進み続けましょう。'; + + @override + String get active_session_quote_two => '素晴らしい!集中力が持続しています!'; + + @override + String get active_session_quote_three => 'すごい集中力!この調子で続けましょう!'; + + @override + String get active_session_quote_four => 'あと少し!最後まで集中力を維持しましょう!'; + + @override + String active_session_quote_five(String durationString) { + return 'おめでとうございます🎉 \n$durationString の集中記録を完了しました!\n\nお疲れ様でした!これからも続けていきましょう。'; + } + + @override + String get restriction_groups_tab_title => '制限グループ'; + + @override + String get restriction_groups_tab_info => '複数のアプリをまとめて時間制限できます。制限時間に達すると、グループ内のすべてのアプリが一時停止され、集中とバランスを保てます。'; + + @override + String get restriction_group_time_spent_label => '今日の使用時間'; + + @override + String get restriction_group_time_left_label => '今日の残り時間'; + + @override + String get restriction_group_name_tile_title => 'グループ名'; + + @override + String get restriction_group_name_picker_dialog_info => '制限グループの名前を入力すると、簡単に分類と管理ができます。'; + + @override + String get restriction_group_timer_tile_title => 'グループのタイマー'; + + @override + String get restriction_group_timer_picker_dialog_info => 'このグループに毎日の使用時間を制限できます。制限時間に達すると、グループ内のすべてのアプリは深夜0時まで使えなくなります。'; + + @override + String get restriction_group_active_period_tile_title => 'グループの使用時間帯'; + + @override + String get remove_restriction_group_dialog_title => 'グループを削除'; + + @override + String remove_restriction_group_dialog_info(String groupName) { + return '$groupName を制限グループから削除しますか?'; + } + + @override + String get restriction_group_invalid_limits_snack_alert => 'タイマーを設定するか、使用時間帯を制限してください。'; + + @override + String get upcoming_notifications_empty_list_hint => 'No notifications have been batched today.'; + + @override + String get button_segment_grouped_label => 'Grouped'; + + @override + String get button_segment_ungrouped_label => 'Un-Grouped'; + + @override + String get last_24_hours_heading => 'Last 24 hours'; + + @override + String nNotifications(num count) { + final intl.NumberFormat countNumberFormat = intl.NumberFormat.compact( + locale: localeName, + + ); + final String countString = countNumberFormat.format(count); + + String _temp0 = intl.Intl.pluralLogic( + count, + locale: localeName, + other: '$countString notifications', + one: '1 notification', + zero: '0 notification', + ); + return '$_temp0'; + } + + @override + String get app_info_none_warning => 'Couldn\'t find the app for the given package. Returning to the home screen.'; + + @override + String get emergency_fab_button => '緊急時の使用'; + + @override + String emergency_dialog_info(num leftPassesCount) { + return 'アプリブロッカーを5分間一時停止しますか?残りパスは $leftPassesCount 回です。すべてのパスを使用すると、アプリは深夜まで、または有効な集中記録が終了するまでブロックされたままになります。'; + } + + @override + String get emergency_dialog_button_use_anyway => '使用する'; + + @override + String get emergency_started_snack_alert => 'アプリブロッカーは一時停止されました。5分後にブロックが再開されます。'; + + @override + String get emergency_already_active_snack_alert => 'アプリブロッカーは現在一時停止中、または無効になっています。通知が有効な場合は、残り時間についてお知らせします。'; + + @override + String get emergency_no_pass_left_snack_alert => '緊急時パスは残り0回です。ブロックされたアプリは、深夜または集中記録終了まで使用できません。'; + + @override + String get app_limit_status_not_set => '未設定'; + + @override + String get app_timer_tile_title => 'アプリタイマー'; + + @override + String get app_timer_picker_dialog_info => 'このアプリに毎日の使用時間の制限を設定しましょう。制限時間に達すると、アプリは深夜0時まで一時停止します。'; + + @override + String get app_launch_limit_tile_title => '起動回数の制限'; + + @override + String app_launch_limit_tile_subtitle(num count) { + return '今日は $count 回起動しました。'; + } + + @override + String get app_launch_limit_picker_dialog_info => '毎日、アプリを起動できる回数を制限できます。制限回数を超えると、深夜0時までアプリは起動できなくなります。'; + + @override + String get app_active_period_tile_title => '使用可能な時間'; + + @override + String app_active_period_tile_subtitle(String startTime, String endTime) { + return '$startTime から $endTime まで'; + } + + @override + String get internet_access_tile_title => 'インターネット接続'; + + @override + String get internet_access_tile_subtitle => 'オフにすると、アプリのインターネット接続を遮断します。'; + + @override + String internet_access_blocked_snack_alert(String appName) { + return '$appName はインターネットに接続できません。'; + } + + @override + String internet_access_unblocked_snack_alert(String appName) { + return '$appName はインターネットに接続できます。'; + } + + @override + String get launch_app_tile_title => 'アプリの起動'; + + @override + String launch_app_tile_subtitle(String appName) { + return '$appName を開く'; + } + + @override + String get go_to_app_settings_tile_title => '設定画面へ'; + + @override + String get go_to_app_settings_tile_subtitle => '通知や権限、ストレージなどのアプリ設定を管理します。'; + + @override + String get include_in_stats_tile_title => '使用時間に含める'; + + @override + String get include_in_stats_tile_subtitle => 'このアプリを合計使用時間から除外するには、オフにしてください。'; + + @override + String app_excluded_from_stats_snack_alert(String appName) { + return '$appName は使用時間に含まれません。'; + } + + @override + String app_include_to_stats_snack_alert(String appName) { + return '$appName は使用時間に含まれます。'; + } + + @override + String get general_tab_title => '全般設定'; + + @override + String get appearance_heading => '外観'; + + @override + String get theme_mode_tile_title => 'カラーテーマ'; + + @override + String get theme_mode_system_label => 'システムに従う'; + + @override + String get theme_mode_light_label => 'ライトモード'; + + @override + String get theme_mode_dark_label => 'ダークモード'; + + @override + String get material_color_tile_title => '配色'; + + @override + String get amoled_dark_tile_title => 'AMOLED ダークモード'; + + @override + String get amoled_dark_tile_subtitle => 'ダークモードより深い黒色を使用'; + + @override + String get dynamic_colors_tile_title => 'ダイナミックカラー'; + + @override + String get dynamic_colors_tile_subtitle => '壁紙に合わせたカラーを使用'; + + @override + String get defaults_heading => '基本設定'; + + @override + String get app_language_tile_title => '言語設定'; + + @override + String get default_home_tab_tile_title => 'ホームタブ'; + + @override + String get usage_history_tile_title => 'Usage history'; + + @override + String get usage_history_15_days => '15 days'; + + @override + String get usage_history_1_month => '1 month'; + + @override + String get usage_history_3_month => '3 months'; + + @override + String get usage_history_6_month => '6 months'; + + @override + String get usage_history_1_year => '1 year'; + + @override + String get service_heading => 'サービス'; + + @override + String get service_stopping_warning => 'Mindfulが予期せず動作を停止した場合は、バッテリーの最適化を無視することを許可し、バックグラウンドで実行できるようにしてください。それでも問題が続く場合は、Mindfulを許可リストに登録して、動作を中断されないようにしてください。'; + + @override + String get whitelist_app_tile_title => 'Mindful を許可リストに追加'; + + @override + String get whitelist_app_tile_subtitle => 'Mindfulの自動起動を有効にする'; + + @override + String get whitelist_app_unsupported_snack_alert => 'このデバイスは自動起動の設定に対応していません。'; + + @override + String get database_tab_title => 'データベース'; + + @override + String get import_db_tile_title => 'データベースを読み込む'; + + @override + String get import_db_tile_subtitle => 'ファイルからデータベースを読み込む'; + + @override + String get export_db_tile_title => 'データベースを書き出す'; + + @override + String get export_db_tile_subtitle => 'データベースをファイルに保存'; + + @override + String get crash_logs_heading => 'クラッシュログ'; + + @override + String get crash_logs_info => '問題が発生した場合は、GitHubにエラーレポートを添付して報告してください。エラーレポートには、デバイスのメーカー、モデル、Androidバージョン、SDKバージョン、クラッシュログなどの情報が含まれており、問題解決に役立ちます。'; + + @override + String get crash_logs_export_tile_title => 'エラーレポートを保存'; + + @override + String get crash_logs_export_tile_subtitle => 'エラーレポートをJSONファイルで書き出す'; + + @override + String get crash_logs_view_tile_title => 'View logs'; + + @override + String get crash_logs_view_tile_subtitle => 'Explore stored crash logs.'; + + @override + String get crash_logs_empty_list_hint => 'No crash logged till now.'; + + @override + String get crash_logs_clear_tile_title => 'ログを削除'; + + @override + String get crash_logs_clear_tile_subtitle => 'すべてのクラッシュログを削除'; + + @override + String get crash_logs_clear_dialog_info => 'データベースからすべてのクラッシュログを削除してもよろしいですか?'; + + @override + String get crash_logs_clear_dialog_button_clear_anyway => '削除する'; + + @override + String get about_tab_title => '概要'; + + @override + String get changelog_tile_title => '変更履歴'; + + @override + String get changelog_tile_subtitle => 'Find out what\'s new.'; + + @override + String get full_changelog_tile_title => 'Full changelog'; + + @override + String get redirected_to_github_subtitle => 'GitHubに移動'; + + @override + String get contribute_heading => '貢献'; + + @override + String get github_tile_title => 'GitHub'; + + @override + String get github_tile_subtitle => 'ソースコードを確認'; + + @override + String get report_issue_tile_title => '問題を報告'; + + @override + String get suggest_idea_tile_title => 'アイデアを提案'; + + @override + String get write_email_tile_title => 'メールでご連絡'; + + @override + String get write_email_tile_subtitle => 'メールアプリを開く'; + + @override + String get privacy_policy_heading => 'プライバシーポリシー'; + + @override + String get privacy_policy_info => 'Mindfulはプライバシー保護に最優先で取り組んでいます。ユーザーデータの収集、保存、または第三者に提供することはありません。アプリは完全にオフラインで動作し、インターネット接続を必要としないため、ユーザーの個人情報はデバイス上で安全に保護されます。無料でオープンソースのソフトウェア(FOSS)であり、完全な透明性とユーザーによるデータの制御を保証します。'; + + @override + String get more_details_button => '詳細情報'; +} diff --git a/lib/mindful_app.dart b/lib/mindful_app.dart index 491580cf..3356f828 100644 --- a/lib/mindful_app.dart +++ b/lib/mindful_app.dart @@ -15,9 +15,9 @@ import 'package:flutter_localizations/flutter_localizations.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:mindful/config/navigation/app_routes.dart'; import 'package:mindful/config/app_themes.dart'; -import 'package:flutter_gen/gen_l10n/app_localizations.dart'; import 'package:mindful/config/navigation/app_routes_observer.dart'; import 'package:mindful/config/navigation/navigation_service.dart'; +import 'package:mindful/l10n/generated/app_localizations.dart'; import 'package:mindful/providers/system/mindful_settings_provider.dart'; class MindfulApp extends ConsumerWidget { diff --git a/lib/providers/system/mindful_settings_provider.dart b/lib/providers/system/mindful_settings_provider.dart index 66c55d32..349c724c 100644 --- a/lib/providers/system/mindful_settings_provider.dart +++ b/lib/providers/system/mindful_settings_provider.dart @@ -15,9 +15,9 @@ import 'package:mindful/core/enums/app_theme_mode.dart'; import 'package:mindful/core/enums/default_home_tab.dart'; import 'package:mindful/core/extensions/ext_date_time.dart'; import 'package:mindful/core/services/drift_db_service.dart'; -import 'package:flutter_gen/gen_l10n/app_localizations.dart'; import 'package:mindful/core/services/method_channel_service.dart'; import 'package:mindful/core/utils/default_models_utils.dart'; +import 'package:mindful/l10n/generated/app_localizations.dart'; /// A Riverpod state notifier provider that manages [MindfulSettings]. final mindfulSettingsProvider = diff --git a/lib/ui/screens/settings/general/tab_general.dart b/lib/ui/screens/settings/general/tab_general.dart index 1923d606..2b06963f 100644 --- a/lib/ui/screens/settings/general/tab_general.dart +++ b/lib/ui/screens/settings/general/tab_general.dart @@ -20,12 +20,12 @@ import 'package:mindful/core/extensions/ext_num.dart'; import 'package:mindful/core/extensions/ext_widget.dart'; import 'package:mindful/config/locales.dart'; import 'package:mindful/core/services/method_channel_service.dart'; +import 'package:mindful/l10n/generated/app_localizations.dart'; import 'package:mindful/providers/system/mindful_settings_provider.dart'; import 'package:mindful/ui/common/default_list_tile.dart'; import 'package:mindful/ui/common/rounded_container.dart'; import 'package:mindful/ui/common/content_section_header.dart'; import 'package:mindful/ui/common/default_dropdown_tile.dart'; -import 'package:flutter_gen/gen_l10n/app_localizations.dart'; import 'package:mindful/ui/common/sliver_tabs_bottom_padding.dart'; import 'package:mindful/ui/common/styled_text.dart'; import 'package:mindful/ui/permissions/battery_permission_tile.dart'; diff --git a/lib/ui/screens/upcoming_notifications/upcoming_notifications_screen.dart b/lib/ui/screens/upcoming_notifications/upcoming_notifications_screen.dart index 1f42a350..d5e20f78 100644 --- a/lib/ui/screens/upcoming_notifications/upcoming_notifications_screen.dart +++ b/lib/ui/screens/upcoming_notifications/upcoming_notifications_screen.dart @@ -74,7 +74,7 @@ class _UpcomingStateNotificationsScreen ).sliver, /// Have value - notifications.value != null + notifications.valueOrNull != null /// Have notifications ? notifications.value!.isNotEmpty diff --git a/pubspec.yaml b/pubspec.yaml index f7a86a77..18ad8e62 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -60,7 +60,6 @@ flutter: # included with your application, so that you can use the icons in # the material Icons class. uses-material-design: true - generate: true # To add assets to your application, add an assets section, like this: assets: