halkyon/apps/todo/halkyon_todo_flutter/lib/l10n/app_localizations.dart

2562 lines
71 KiB
Dart
Raw Normal View History

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_de.dart';
import 'app_localizations_en.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 'l10n/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<AppLocalizations>(context, AppLocalizations)!;
}
static const LocalizationsDelegate<AppLocalizations> 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<LocalizationsDelegate<dynamic>> localizationsDelegates =
<LocalizationsDelegate<dynamic>>[
delegate,
GlobalMaterialLocalizations.delegate,
GlobalCupertinoLocalizations.delegate,
GlobalWidgetsLocalizations.delegate,
];
/// A list of this localizations delegate's supported locales.
static const List<Locale> supportedLocales = <Locale>[
Locale('de'),
Locale('en'),
Locale('en', 'GB'),
Locale('en', 'US'),
];
/// The app's name: the window's title, and where halkyon_app's texts name the app.
///
/// In en, this message translates to:
/// **'Halkyon Todo'**
String get appTitle;
/// The app's word in its wordmark, under "Halkyon".
///
/// In en, this message translates to:
/// **'Todo'**
String get launchProduct;
/// No description provided for @instanceFirstStartSubtitle.
///
/// In en, this message translates to:
/// **'Choose the instance to keep your tasks on. Someone runs each one; you can add others later.'**
String get instanceFirstStartSubtitle;
/// No description provided for @accountTitle.
///
/// In en, this message translates to:
/// **'Account'**
String get accountTitle;
/// No description provided for @accountDeleteMessage.
///
/// In en, this message translates to:
/// **'Your account is deleted on the server and on all your devices. This can\'t be undone.'**
String get accountDeleteMessage;
/// No description provided for @aboutTitle.
///
/// In en, this message translates to:
/// **'About Halkyon Todo'**
String get aboutTitle;
/// No description provided for @shellTabToday.
///
/// In en, this message translates to:
/// **'Today'**
String get shellTabToday;
/// No description provided for @shellTabUpcoming.
///
/// In en, this message translates to:
/// **'Upcoming'**
String get shellTabUpcoming;
/// No description provided for @shellTabInbox.
///
/// In en, this message translates to:
/// **'Inbox'**
String get shellTabInbox;
/// Under Today's title: how many tasks are overdue or due today.
///
/// In en, this message translates to:
/// **'{count, plural, =1{1 task} other{{count} tasks}}'**
String todayCount(int count);
/// No description provided for @browseProfile.
///
/// In en, this message translates to:
/// **'Profile'**
String get browseProfile;
/// No description provided for @browseProfileHint.
///
/// In en, this message translates to:
/// **'Your account, how you sign in and your public profile'**
String get browseProfileHint;
/// No description provided for @shellTabBrowse.
///
/// In en, this message translates to:
/// **'Browse'**
String get shellTabBrowse;
/// No description provided for @settingsTitle.
///
/// In en, this message translates to:
/// **'Settings'**
String get settingsTitle;
/// No description provided for @settingsVersion.
///
/// In en, this message translates to:
/// **'Version {version} (build {build})'**
String settingsVersion(String version, String build);
/// No description provided for @clear.
///
/// In en, this message translates to:
/// **'Clear'**
String get clear;
/// No description provided for @colorLabel.
///
/// In en, this message translates to:
/// **'Colour'**
String get colorLabel;
/// No description provided for @dateTitle.
///
/// In en, this message translates to:
/// **'Date'**
String get dateTitle;
/// No description provided for @dateNextWeek.
///
/// In en, this message translates to:
/// **'Next week'**
String get dateNextWeek;
/// No description provided for @dateWeekend.
///
/// In en, this message translates to:
/// **'This weekend'**
String get dateWeekend;
/// No description provided for @datePick.
///
/// In en, this message translates to:
/// **'Pick a day'**
String get datePick;
/// No description provided for @dateTime.
///
/// In en, this message translates to:
/// **'Time'**
String get dateTime;
/// No description provided for @dateNone.
///
/// In en, this message translates to:
/// **'No date'**
String get dateNone;
/// No description provided for @dateNoneYet.
///
/// In en, this message translates to:
/// **'No date'**
String get dateNoneYet;
/// No description provided for @dayToday.
///
/// In en, this message translates to:
/// **'Today'**
String get dayToday;
/// No description provided for @dayTomorrow.
///
/// In en, this message translates to:
/// **'Tomorrow'**
String get dayTomorrow;
/// No description provided for @dayYesterday.
///
/// In en, this message translates to:
/// **'Yesterday'**
String get dayYesterday;
/// No description provided for @dayHeadingNamed.
///
/// In en, this message translates to:
/// **'{date} · {name}'**
String dayHeadingNamed(String date, String name);
/// No description provided for @deadlineOn.
///
/// In en, this message translates to:
/// **'Deadline {day}'**
String deadlineOn(String day);
/// No description provided for @deadlineNone.
///
/// In en, this message translates to:
/// **'No deadline'**
String get deadlineNone;
/// No description provided for @keysMissing.
///
/// In en, this message translates to:
/// **'This device can\'t save: it doesn\'t hold your account\'s keys. Sign in with your password or recovery phrase to add them.'**
String get keysMissing;
/// No description provided for @filtersLabelsTitle.
///
/// In en, this message translates to:
/// **'Filters & labels'**
String get filtersLabelsTitle;
/// No description provided for @filtersLabelsHint.
///
/// In en, this message translates to:
/// **'Views of your tasks, kept'**
String get filtersLabelsHint;
/// No description provided for @filtersTitle.
///
/// In en, this message translates to:
/// **'My filters'**
String get filtersTitle;
/// No description provided for @filtersNone.
///
/// In en, this message translates to:
/// **'No filters yet.'**
String get filtersNone;
/// No description provided for @filterAdd.
///
/// In en, this message translates to:
/// **'New filter'**
String get filterAdd;
/// No description provided for @filterEdit.
///
/// In en, this message translates to:
/// **'Edit filter'**
String get filterEdit;
/// No description provided for @filterDelete.
///
/// In en, this message translates to:
/// **'Delete filter'**
String get filterDelete;
/// No description provided for @filterDeleteTitle.
///
/// In en, this message translates to:
/// **'Delete the filter?'**
String get filterDeleteTitle;
/// No description provided for @filterName.
///
/// In en, this message translates to:
/// **'Name'**
String get filterName;
/// No description provided for @filterDescription.
///
/// In en, this message translates to:
/// **'Description'**
String get filterDescription;
/// No description provided for @filterQuery.
///
/// In en, this message translates to:
/// **'Query'**
String get filterQuery;
/// No description provided for @filterQueryHint.
///
/// In en, this message translates to:
/// **'today & p1'**
String get filterQueryHint;
/// No description provided for @filterFavorite.
///
/// In en, this message translates to:
/// **'Add to favourites'**
String get filterFavorite;
/// No description provided for @filterUnfavorite.
///
/// In en, this message translates to:
/// **'Remove from favourites'**
String get filterUnfavorite;
/// No description provided for @filterPreviewEmpty.
///
/// In en, this message translates to:
/// **'Nothing matches yet.'**
String get filterPreviewEmpty;
/// No description provided for @filterNothing.
///
/// In en, this message translates to:
/// **'No tasks in this filter at the moment.'**
String get filterNothing;
/// No description provided for @filterHelp.
///
/// In en, this message translates to:
/// **'today, tomorrow, overdue, no date, 7 days, p1 to p4, #Project, ##Project with its sub-projects, /Section, @label, search: word. Combine them with & (and), | (or), ! (not) and parentheses; * stands for anything in a name.'**
String get filterHelp;
/// No description provided for @filterMenu.
///
/// In en, this message translates to:
/// **'Filter menu'**
String get filterMenu;
/// No description provided for @labelMenu.
///
/// In en, this message translates to:
/// **'Label menu'**
String get labelMenu;
/// No description provided for @labelNothing.
///
/// In en, this message translates to:
/// **'No open tasks have this label.'**
String get labelNothing;
/// No description provided for @labelEditEntry.
///
/// In en, this message translates to:
/// **'Edit label'**
String get labelEditEntry;
/// The filter editor's preview.
///
/// In en, this message translates to:
/// **'{count, plural, =1{1 task matches} other{{count} tasks match}}'**
String filterMatches(int count);
/// The filter editor when its query cannot be read.
///
/// In en, this message translates to:
/// **'Not understood near “{near}”'**
String filterNotRead(String near);
/// The filter editor when its query stops before it is complete.
///
/// In en, this message translates to:
/// **'This query ends too soon'**
String get filterNotReadEnd;
/// No description provided for @commentShowAll.
///
/// In en, this message translates to:
/// **'Show all'**
String get commentShowAll;
/// No description provided for @commentReact.
///
/// In en, this message translates to:
/// **'Add a reaction'**
String get commentReact;
/// No description provided for @commentReactionRemove.
///
/// In en, this message translates to:
/// **'Remove {emoji}'**
String commentReactionRemove(String emoji);
/// No description provided for @commentNone.
///
/// In en, this message translates to:
/// **'Add relevant notes, links or anything else here.'**
String get commentNone;
/// No description provided for @emojiSearch.
///
/// In en, this message translates to:
/// **'Search emoji'**
String get emojiSearch;
/// No description provided for @emojiNone.
///
/// In en, this message translates to:
/// **'No emoji found'**
String get emojiNone;
/// No description provided for @emojiRecent.
///
/// In en, this message translates to:
/// **'Recently used'**
String get emojiRecent;
/// No description provided for @emojiSmileys.
///
/// In en, this message translates to:
/// **'Smileys & people'**
String get emojiSmileys;
/// No description provided for @emojiAnimals.
///
/// In en, this message translates to:
/// **'Animals & nature'**
String get emojiAnimals;
/// No description provided for @emojiFoods.
///
/// In en, this message translates to:
/// **'Food & drink'**
String get emojiFoods;
/// No description provided for @emojiActivities.
///
/// In en, this message translates to:
/// **'Activities'**
String get emojiActivities;
/// No description provided for @emojiTravel.
///
/// In en, this message translates to:
/// **'Travel & places'**
String get emojiTravel;
/// No description provided for @emojiObjects.
///
/// In en, this message translates to:
/// **'Objects'**
String get emojiObjects;
/// No description provided for @emojiSymbols.
///
/// In en, this message translates to:
/// **'Symbols'**
String get emojiSymbols;
/// No description provided for @emojiFlags.
///
/// In en, this message translates to:
/// **'Flags'**
String get emojiFlags;
/// No description provided for @commentsTitle.
///
/// In en, this message translates to:
/// **'Comments'**
String get commentsTitle;
/// No description provided for @commentAdd.
///
/// In en, this message translates to:
/// **'Add a comment'**
String get commentAdd;
/// No description provided for @commentSend.
///
/// In en, this message translates to:
/// **'Send comment'**
String get commentSend;
/// No description provided for @commentMenu.
///
/// In en, this message translates to:
/// **'Comment menu'**
String get commentMenu;
/// No description provided for @commentEdit.
///
/// In en, this message translates to:
/// **'Edit comment'**
String get commentEdit;
/// No description provided for @commentCopy.
///
/// In en, this message translates to:
/// **'Copy text'**
String get commentCopy;
/// No description provided for @commentDelete.
///
/// In en, this message translates to:
/// **'Delete comment'**
String get commentDelete;
/// No description provided for @commentDeleteTitle.
///
/// In en, this message translates to:
/// **'Delete the comment?'**
String get commentDeleteTitle;
/// When a comment was written, once it was changed.
///
/// In en, this message translates to:
/// **'{when}, edited'**
String commentEdited(String when);
/// No description provided for @reportingTitle.
///
/// In en, this message translates to:
/// **'Reporting'**
String get reportingTitle;
/// No description provided for @reportingHint.
///
/// In en, this message translates to:
/// **'Goals, streaks and what you\'ve done'**
String get reportingHint;
/// No description provided for @reportingDaily.
///
/// In en, this message translates to:
/// **'Daily'**
String get reportingDaily;
/// No description provided for @reportingWeekly.
///
/// In en, this message translates to:
/// **'Weekly'**
String get reportingWeekly;
/// No description provided for @reportingHistory.
///
/// In en, this message translates to:
/// **'History'**
String get reportingHistory;
/// No description provided for @reportingLast7Days.
///
/// In en, this message translates to:
/// **'Done in the last 7 days'**
String get reportingLast7Days;
/// No description provided for @reportingLast4Weeks.
///
/// In en, this message translates to:
/// **'Done in the last 4 weeks'**
String get reportingLast4Weeks;
/// No description provided for @historyProject.
///
/// In en, this message translates to:
/// **'Project'**
String get historyProject;
/// No description provided for @historyAllProjects.
///
/// In en, this message translates to:
/// **'All projects'**
String get historyAllProjects;
/// No description provided for @historyNothing.
///
/// In en, this message translates to:
/// **'Nothing done yet.'**
String get historyNothing;
/// No description provided for @goalsDaily.
///
/// In en, this message translates to:
/// **'Tasks a day'**
String get goalsDaily;
/// No description provided for @goalsWeekly.
///
/// In en, this message translates to:
/// **'Tasks a week'**
String get goalsWeekly;
/// No description provided for @goalsDaysOff.
///
/// In en, this message translates to:
/// **'Days off'**
String get goalsDaysOff;
/// No description provided for @goalsVacation.
///
/// In en, this message translates to:
/// **'Vacation'**
String get goalsVacation;
/// No description provided for @goalsVacationHint.
///
/// In en, this message translates to:
/// **'Streaks wait until you\'re back'**
String get goalsVacationHint;
/// No description provided for @goalsEdit.
///
/// In en, this message translates to:
/// **'Edit goals'**
String get goalsEdit;
/// No description provided for @goalsDailyTitle.
///
/// In en, this message translates to:
/// **'Daily goal'**
String get goalsDailyTitle;
/// No description provided for @goalsWeeklyTitle.
///
/// In en, this message translates to:
/// **'Weekly goal'**
String get goalsWeeklyTitle;
/// No description provided for @goalsDailyStreak.
///
/// In en, this message translates to:
/// **'Daily streak'**
String get goalsDailyStreak;
/// No description provided for @goalsWeeklyStreak.
///
/// In en, this message translates to:
/// **'Weekly streak'**
String get goalsWeeklyStreak;
/// No description provided for @goalsOnVacation.
///
/// In en, this message translates to:
/// **'On vacation'**
String get goalsOnVacation;
/// No description provided for @goalsProgress.
///
/// In en, this message translates to:
/// **'{done} of {goal} tasks'**
String goalsProgress(int done, int goal);
/// No description provided for @goalsLongest.
///
/// In en, this message translates to:
/// **'Longest: {length} ({from} to {to})'**
String goalsLongest(String length, String from, String to);
/// No description provided for @goalsDays.
///
/// In en, this message translates to:
/// **'{count, plural, =1{1 day} other{{count} days}}'**
String goalsDays(int count);
/// No description provided for @goalsWeeks.
///
/// In en, this message translates to:
/// **'{count, plural, =1{1 week} other{{count} weeks}}'**
String goalsWeeks(int count);
/// No description provided for @reportingTasks.
///
/// In en, this message translates to:
/// **'{count, plural, =1{1 task} other{{count} tasks}}'**
String reportingTasks(int count);
/// No description provided for @goalsReached.
///
/// In en, this message translates to:
/// **'Daily goal reached: {count, plural, =1{1 task} other{{count} tasks}} done today.'**
String goalsReached(int count);
/// No description provided for @labelsTitle.
///
/// In en, this message translates to:
/// **'Labels'**
String get labelsTitle;
/// No description provided for @labelsNone.
///
/// In en, this message translates to:
/// **'No labels yet.'**
String get labelsNone;
/// No description provided for @labelsNoneSet.
///
/// In en, this message translates to:
/// **'No labels'**
String get labelsNoneSet;
/// No description provided for @labelsCount.
///
/// In en, this message translates to:
/// **'{count, plural, =1{1 label} other{{count} labels}}'**
String labelsCount(int count);
/// No description provided for @labelAdd.
///
/// In en, this message translates to:
/// **'New label'**
String get labelAdd;
/// No description provided for @labelEdit.
///
/// In en, this message translates to:
/// **'Edit label'**
String get labelEdit;
/// No description provided for @labelDelete.
///
/// In en, this message translates to:
/// **'Delete label'**
String get labelDelete;
/// No description provided for @labelDeleteTitle.
///
/// In en, this message translates to:
/// **'Delete the label?'**
String get labelDeleteTitle;
/// No description provided for @labelDeleteMessage.
///
/// In en, this message translates to:
/// **'\"{name}\" is taken off every task that has it.'**
String labelDeleteMessage(String name);
/// No description provided for @nameLabel.
///
/// In en, this message translates to:
/// **'Name'**
String get nameLabel;
/// No description provided for @save.
///
/// In en, this message translates to:
/// **'Save'**
String get save;
/// No description provided for @overdue.
///
/// In en, this message translates to:
/// **'Overdue'**
String get overdue;
/// No description provided for @reschedule.
///
/// In en, this message translates to:
/// **'Reschedule'**
String get reschedule;
/// No description provided for @priorityTitle.
///
/// In en, this message translates to:
/// **'Priority'**
String get priorityTitle;
/// No description provided for @priority1.
///
/// In en, this message translates to:
/// **'Priority 1'**
String get priority1;
/// No description provided for @priority2.
///
/// In en, this message translates to:
/// **'Priority 2'**
String get priority2;
/// No description provided for @priority3.
///
/// In en, this message translates to:
/// **'Priority 3'**
String get priority3;
/// No description provided for @priority4.
///
/// In en, this message translates to:
/// **'No priority'**
String get priority4;
/// No description provided for @projectsTitle.
///
/// In en, this message translates to:
/// **'Projects'**
String get projectsTitle;
/// No description provided for @projectsNone.
///
/// In en, this message translates to:
/// **'No projects of your own yet.'**
String get projectsNone;
/// No description provided for @projectAdd.
///
/// In en, this message translates to:
feat(todo): a project's editor as Todoist's Add project, with sub-projects and favourites Adding or editing a project was a dialog of a name and a colour. It is now a screen of its own on a phone (a dialog where sheets are dialogs), as Todoist's Add project: the name counted to 120, a description, the colour, the parent project, a Favourite switch and the layout, Display's pictures. All of it lives in the project's sealed payload, the schema still 1, no server model or migration; the payload now keeps fields it doesn't know, as a task's does. A new project starts with the layout picked, and Display's Reset all returns to that default rather than to List. Browse lists sub-projects indented and folding under their parents, and the favourites in a group above; a project is never offered as its own ancestor, and a parent's deletion takes its sub-projects, naming them first, as Todoist's. ADR 0033, D28. Whats-New: Add project and Edit project are a screen of their own, with a description, a parent project, Favourite and the layout. Whats-New: Browse lists sub-projects under their parents and your favourite projects at the top. Whats-New: Reset all in Display returns to the layout the project was made with. Whats-New-De: „Projekt hinzufügen“ und „Projekt bearbeiten“ sind eine eigene Seite, mit Beschreibung, übergeordnetem Projekt, Favorit und Layout. Whats-New-De: „Übersicht“ zeigt Unterprojekte unter ihren Projekten und deine Favoriten oben. Whats-New-De: „Alles zurücksetzen“ in der Anzeige kehrt zum Layout zurück, mit dem das Projekt angelegt wurde. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Tizian 「ティツィアーン」 <raisondetredev@pm.me>
2026-11-04 20:56:34 +01:00
/// **'Add project'**
String get projectAdd;
/// No description provided for @projectEdit.
///
/// In en, this message translates to:
/// **'Edit project'**
String get projectEdit;
/// No description provided for @projectDelete.
///
/// In en, this message translates to:
/// **'Delete project'**
String get projectDelete;
/// No description provided for @projectDeleteTitle.
///
/// In en, this message translates to:
/// **'Delete the project?'**
String get projectDeleteTitle;
/// No description provided for @projectDeleteMessage.
///
/// In en, this message translates to:
/// **'\"{name}\" is deleted with its sections and tasks, on all your devices.'**
String projectDeleteMessage(String name);
feat(todo): a project's editor as Todoist's Add project, with sub-projects and favourites Adding or editing a project was a dialog of a name and a colour. It is now a screen of its own on a phone (a dialog where sheets are dialogs), as Todoist's Add project: the name counted to 120, a description, the colour, the parent project, a Favourite switch and the layout, Display's pictures. All of it lives in the project's sealed payload, the schema still 1, no server model or migration; the payload now keeps fields it doesn't know, as a task's does. A new project starts with the layout picked, and Display's Reset all returns to that default rather than to List. Browse lists sub-projects indented and folding under their parents, and the favourites in a group above; a project is never offered as its own ancestor, and a parent's deletion takes its sub-projects, naming them first, as Todoist's. ADR 0033, D28. Whats-New: Add project and Edit project are a screen of their own, with a description, a parent project, Favourite and the layout. Whats-New: Browse lists sub-projects under their parents and your favourite projects at the top. Whats-New: Reset all in Display returns to the layout the project was made with. Whats-New-De: „Projekt hinzufügen“ und „Projekt bearbeiten“ sind eine eigene Seite, mit Beschreibung, übergeordnetem Projekt, Favorit und Layout. Whats-New-De: „Übersicht“ zeigt Unterprojekte unter ihren Projekten und deine Favoriten oben. Whats-New-De: „Alles zurücksetzen“ in der Anzeige kehrt zum Layout zurück, mit dem das Projekt angelegt wurde. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Tizian 「ティツィアーン」 <raisondetredev@pm.me>
2026-11-04 20:56:34 +01:00
/// A project's editor (ADR 0033, D28), as Todoist's Add project.
///
/// In en, this message translates to:
/// **'Parent project'**
String get projectParent;
/// No description provided for @projectNoParent.
///
/// In en, this message translates to:
/// **'No parent'**
String get projectNoParent;
/// No description provided for @projectFavorite.
///
/// In en, this message translates to:
/// **'Favourite'**
String get projectFavorite;
/// No description provided for @favoritesTitle.
///
/// In en, this message translates to:
/// **'Favourites'**
String get favoritesTitle;
/// No description provided for @projectSubProjectsHide.
///
/// In en, this message translates to:
/// **'Hide sub-projects'**
String get projectSubProjectsHide;
/// No description provided for @projectSubProjectsShow.
///
/// In en, this message translates to:
/// **'Show sub-projects'**
String get projectSubProjectsShow;
/// Deleting a project with sub-projects (ADR 0033, D28): subProjects their names, separated by commas.
///
/// In en, this message translates to:
/// **'\"{name}\" is deleted with its sub-projects {subProjects}, and their sections and tasks, on all your devices.'**
String projectDeleteWithSubProjects(String name, String subProjects);
/// No description provided for @projectEmptyTitle.
///
/// In en, this message translates to:
/// **'Nothing to do here'**
String get projectEmptyTitle;
/// No description provided for @projectEmptyHint.
///
/// In en, this message translates to:
/// **'Add a task with the + button.'**
String get projectEmptyHint;
/// No description provided for @projectGone.
///
/// In en, this message translates to:
/// **'This project was deleted.'**
String get projectGone;
/// No description provided for @projectMenu.
///
/// In en, this message translates to:
/// **'More'**
String get projectMenu;
/// No description provided for @projectPickTitle.
///
/// In en, this message translates to:
/// **'Project'**
String get projectPickTitle;
/// No description provided for @sectionAdd.
///
/// In en, this message translates to:
/// **'Add section'**
String get sectionAdd;
/// No description provided for @sectionEdit.
///
/// In en, this message translates to:
/// **'Rename section'**
String get sectionEdit;
/// No description provided for @sectionDelete.
///
/// In en, this message translates to:
/// **'Delete section'**
String get sectionDelete;
/// No description provided for @sectionDeleteTitle.
///
/// In en, this message translates to:
/// **'Delete the section?'**
String get sectionDeleteTitle;
/// No description provided for @sectionDeleteMessage.
///
/// In en, this message translates to:
/// **'\"{name}\" is deleted with its tasks.'**
String sectionDeleteMessage(String name);
/// No description provided for @sectionMenu.
///
/// In en, this message translates to:
/// **'Section'**
String get sectionMenu;
/// No description provided for @subTasks.
///
/// In en, this message translates to:
/// **'Sub-tasks'**
String get subTasks;
/// No description provided for @subTasksDone.
///
/// In en, this message translates to:
/// **'Sub-tasks {done}/{count}'**
String subTasksDone(int done, int count);
/// No description provided for @subTaskAdd.
///
/// In en, this message translates to:
/// **'Add sub-task'**
String get subTaskAdd;
/// No description provided for @taskTitle.
///
/// In en, this message translates to:
/// **'Task'**
String get taskTitle;
/// No description provided for @taskAddTitle.
///
/// In en, this message translates to:
/// **'Add task'**
String get taskAddTitle;
/// No description provided for @taskAdd.
///
/// In en, this message translates to:
/// **'Add'**
String get taskAdd;
/// No description provided for @taskAddOn.
///
/// In en, this message translates to:
/// **'Add a task on {day}'**
String taskAddOn(String day);
/// No description provided for @taskTitleHint.
///
/// In en, this message translates to:
/// **'Task name'**
String get taskTitleHint;
/// No description provided for @taskDescription.
///
/// In en, this message translates to:
/// **'Description'**
String get taskDescription;
/// No description provided for @taskDescriptionHint.
///
/// In en, this message translates to:
/// **'Description'**
String get taskDescriptionHint;
/// No description provided for @taskComplete.
///
/// In en, this message translates to:
/// **'Mark as done'**
String get taskComplete;
/// No description provided for @taskReopen.
///
/// In en, this message translates to:
/// **'Mark as not done'**
String get taskReopen;
/// No description provided for @taskCompleted.
///
/// In en, this message translates to:
/// **'Task done'**
String get taskCompleted;
/// No description provided for @taskDelete.
///
/// In en, this message translates to:
/// **'Delete task'**
String get taskDelete;
/// No description provided for @taskDeleteTitle.
///
/// In en, this message translates to:
/// **'Delete the task?'**
String get taskDeleteTitle;
/// No description provided for @taskDeleteMessage.
///
/// In en, this message translates to:
/// **'\"{title}\" is deleted on all your devices.'**
String taskDeleteMessage(String title);
/// No description provided for @taskDeleteWithSubTasks.
///
/// In en, this message translates to:
/// **'\"{title}\" is deleted with its {count, plural, =1{sub-task} other{{count} sub-tasks}}, on all your devices.'**
String taskDeleteWithSubTasks(String title, int count);
/// No description provided for @taskGone.
///
/// In en, this message translates to:
/// **'This task was deleted.'**
String get taskGone;
/// No description provided for @todayEmptyTitle.
///
/// In en, this message translates to:
/// **'Nothing due today'**
String get todayEmptyTitle;
/// No description provided for @todayEmptyHint.
///
/// In en, this message translates to:
/// **'Tasks dated today, and those overdue, show here.'**
String get todayEmptyHint;
/// No description provided for @lockedRows.
///
/// In en, this message translates to:
/// **'{count, plural, =1{1 item doesn\'t open on this device.} other{{count} items don\'t open on this device.}}'**
String lockedRows(int count);
/// No description provided for @inboxMissingTitle.
///
/// In en, this message translates to:
/// **'No Inbox yet'**
String get inboxMissingTitle;
/// No description provided for @inboxMissingHint.
///
/// In en, this message translates to:
/// **'Your Inbox comes with the next sync, or once this device holds your account\'s keys.'**
String get inboxMissingHint;
/// No description provided for @repeatTitle.
///
/// In en, this message translates to:
/// **'Repeat'**
String get repeatTitle;
/// No description provided for @repeatNone.
///
/// In en, this message translates to:
/// **'Doesn\'t repeat'**
String get repeatNone;
/// No description provided for @repeatCustom.
///
/// In en, this message translates to:
/// **'Custom'**
String get repeatCustom;
/// No description provided for @repeatEveryDay.
///
/// In en, this message translates to:
/// **'{count, plural, =1{Every day} other{Every {count} days}}'**
String repeatEveryDay(int count);
/// No description provided for @repeatEveryWeek.
///
/// In en, this message translates to:
/// **'{count, plural, =1{Every week} other{Every {count} weeks}}'**
String repeatEveryWeek(int count);
/// No description provided for @repeatEveryMonth.
///
/// In en, this message translates to:
/// **'{count, plural, =1{Every month} other{Every {count} months}}'**
String repeatEveryMonth(int count);
/// No description provided for @repeatEveryYear.
///
/// In en, this message translates to:
/// **'{count, plural, =1{Every year} other{Every {count} years}}'**
String repeatEveryYear(int count);
/// No description provided for @repeatWeekdays.
///
/// In en, this message translates to:
/// **'Every weekday'**
String get repeatWeekdays;
/// No description provided for @repeatOn.
///
/// In en, this message translates to:
/// **'{rule} on {on}'**
String repeatOn(String rule, String on);
/// No description provided for @repeatMonthDay.
///
/// In en, this message translates to:
/// **'day {day}'**
String repeatMonthDay(int day);
/// No description provided for @repeatMonthWeek.
///
/// In en, this message translates to:
/// **'the {nth, select, 1{first} 2{second} 3{third} 4{fourth} other{last}} {weekday}'**
String repeatMonthWeek(String nth, String weekday);
/// No description provided for @repeatFromCompletion.
///
/// In en, this message translates to:
/// **'{rule}, from when it\'s done'**
String repeatFromCompletion(String rule);
/// No description provided for @repeatUntil.
///
/// In en, this message translates to:
/// **'{rule}, until {day}'**
String repeatUntil(String rule, String day);
/// No description provided for @repeatLeft.
///
/// In en, this message translates to:
/// **'{rule}, {count, plural, =0{this time only} =1{once more} other{{count} more times}}'**
String repeatLeft(String rule, int count);
/// No description provided for @repeatEvery.
///
/// In en, this message translates to:
/// **'Every'**
String get repeatEvery;
/// No description provided for @repeatUnitDays.
///
/// In en, this message translates to:
/// **'Days'**
String get repeatUnitDays;
/// No description provided for @repeatUnitWeeks.
///
/// In en, this message translates to:
/// **'Weeks'**
String get repeatUnitWeeks;
/// No description provided for @repeatUnitMonths.
///
/// In en, this message translates to:
/// **'Months'**
String get repeatUnitMonths;
/// No description provided for @repeatUnitYears.
///
/// In en, this message translates to:
/// **'Years'**
String get repeatUnitYears;
/// No description provided for @repeatCountFromCompletion.
///
/// In en, this message translates to:
/// **'Count from when it\'s done'**
String get repeatCountFromCompletion;
/// No description provided for @repeatCountFromCompletionHint.
///
/// In en, this message translates to:
/// **'Not from its date: done late, it comes again as long after.'**
String get repeatCountFromCompletionHint;
/// No description provided for @repeatEnds.
///
/// In en, this message translates to:
/// **'Ends'**
String get repeatEnds;
/// No description provided for @repeatEndsNever.
///
/// In en, this message translates to:
/// **'Never'**
String get repeatEndsNever;
/// No description provided for @repeatEndsOn.
///
/// In en, this message translates to:
/// **'On a day'**
String get repeatEndsOn;
/// No description provided for @repeatEndsAfter.
///
/// In en, this message translates to:
/// **'{count, plural, =1{After once} other{After {count} times}}'**
String repeatEndsAfter(int count);
/// No description provided for @remindersTitle.
///
/// In en, this message translates to:
/// **'Reminders'**
String get remindersTitle;
/// No description provided for @remindersNone.
///
/// In en, this message translates to:
/// **'No reminders'**
String get remindersNone;
/// No description provided for @reminderAtTime.
///
/// In en, this message translates to:
/// **'At its time'**
String get reminderAtTime;
/// No description provided for @reminderMinutesBefore.
///
/// In en, this message translates to:
/// **'{count, plural, =1{1 minute before} other{{count} minutes before}}'**
String reminderMinutesBefore(int count);
/// No description provided for @reminderHoursBefore.
///
/// In en, this message translates to:
/// **'{count, plural, =1{1 hour before} other{{count} hours before}}'**
String reminderHoursBefore(int count);
/// No description provided for @reminderDaysBefore.
///
/// In en, this message translates to:
/// **'{count, plural, =1{1 day before} other{{count} days before}}'**
String reminderDaysBefore(int count);
/// No description provided for @reminderDue.
///
/// In en, this message translates to:
/// **'Due at {time}'**
String reminderDue(String time);
/// No description provided for @remindersChannel.
///
/// In en, this message translates to:
/// **'Task reminders'**
String get remindersChannel;
/// No description provided for @remindersNotAllowed.
///
/// In en, this message translates to:
/// **'Notifications are off for Halkyon Todo: reminders show once you allow them in the system\'s settings.'**
String get remindersNotAllowed;
/// No description provided for @remindersOnThisDevice.
///
/// In en, this message translates to:
/// **'Reminders come on each of your devices that opens your tasks.'**
String get remindersOnThisDevice;
/// No description provided for @reminderBody.
///
/// In en, this message translates to:
/// **'Reminder'**
String get reminderBody;
/// No description provided for @remindersAtTimes.
///
/// In en, this message translates to:
/// **'At a time of their own'**
String get remindersAtTimes;
/// No description provided for @reminderAddTime.
///
/// In en, this message translates to:
/// **'Remind at a time'**
String get reminderAddTime;
/// No description provided for @reminderRemove.
///
/// In en, this message translates to:
/// **'Remove the reminder'**
String get reminderRemove;
/// No description provided for @durationTitle.
///
/// In en, this message translates to:
/// **'Duration'**
String get durationTitle;
/// No description provided for @durationNone.
///
/// In en, this message translates to:
/// **'No duration'**
String get durationNone;
/// No description provided for @durationHours.
///
/// In en, this message translates to:
/// **'{hours} h'**
String durationHours(int hours);
/// No description provided for @durationMinutes.
///
/// In en, this message translates to:
/// **'{minutes} min'**
String durationMinutes(int minutes);
/// No description provided for @durationHoursMinutes.
///
/// In en, this message translates to:
/// **'{hours} h {minutes} min'**
String durationHoursMinutes(int hours, int minutes);
/// No description provided for @weekPrevious.
///
/// In en, this message translates to:
/// **'Previous week'**
String get weekPrevious;
/// No description provided for @weekNext.
///
/// In en, this message translates to:
/// **'Following week'**
String get weekNext;
/// No description provided for @searchTitle.
///
/// In en, this message translates to:
/// **'Search'**
String get searchTitle;
/// No description provided for @searchHint.
///
/// In en, this message translates to:
/// **'Search tasks and projects'**
String get searchHint;
/// No description provided for @searchEmpty.
///
/// In en, this message translates to:
/// **'Find a task by the words in its title, its description or its labels. Search runs on this device: your instance can\'t read your tasks.'**
String get searchEmpty;
/// No description provided for @searchNone.
///
/// In en, this message translates to:
/// **'Nothing found for “{query}”.'**
String searchNone(String query);
/// No description provided for @searchProjects.
///
/// In en, this message translates to:
/// **'Projects'**
String get searchProjects;
/// No description provided for @searchTasks.
///
/// In en, this message translates to:
/// **'Tasks'**
String get searchTasks;
/// No description provided for @taskMore.
///
/// In en, this message translates to:
/// **'Task options'**
String get taskMore;
/// No description provided for @taskAddedOn.
///
/// In en, this message translates to:
/// **'Added on {when}'**
String taskAddedOn(String when);
/// No description provided for @taskDuplicate.
///
/// In en, this message translates to:
/// **'Duplicate'**
String get taskDuplicate;
/// No description provided for @taskDuplicated.
///
/// In en, this message translates to:
/// **'Task duplicated'**
String get taskDuplicated;
/// No description provided for @subTasksHideDone.
///
/// In en, this message translates to:
/// **'Hide done sub-tasks'**
String get subTasksHideDone;
/// No description provided for @subTasksShowDone.
///
/// In en, this message translates to:
/// **'Show done sub-tasks'**
String get subTasksShowDone;
/// No description provided for @taskClose.
///
/// In en, this message translates to:
/// **'Close'**
String get taskClose;
/// No description provided for @taskPath.
///
/// In en, this message translates to:
/// **'Where the task is'**
String get taskPath;
/// No description provided for @weekToday.
///
/// In en, this message translates to:
/// **'Back to today'**
String get weekToday;
/// No description provided for @monthPrevious.
///
/// In en, this message translates to:
/// **'Previous month'**
String get monthPrevious;
/// No description provided for @monthNext.
///
/// In en, this message translates to:
/// **'Following month'**
String get monthNext;
/// No description provided for @monthShow.
///
/// In en, this message translates to:
/// **'Show the whole month'**
String get monthShow;
/// No description provided for @monthHide.
///
/// In en, this message translates to:
/// **'Show one week'**
String get monthHide;
/// No description provided for @selectTasks.
///
/// In en, this message translates to:
/// **'Select tasks'**
String get selectTasks;
/// No description provided for @selectionCount.
///
/// In en, this message translates to:
/// **'{count, plural, =0{Select tasks} =1{1 task selected} other{{count} tasks selected}}'**
String selectionCount(int count);
/// No description provided for @selectionEnd.
///
/// In en, this message translates to:
/// **'Stop selecting'**
String get selectionEnd;
/// No description provided for @selectionDate.
///
/// In en, this message translates to:
/// **'Date'**
String get selectionDate;
/// No description provided for @selectionMove.
///
/// In en, this message translates to:
/// **'Move to'**
String get selectionMove;
/// No description provided for @selectionLabels.
///
/// In en, this message translates to:
/// **'Labels'**
String get selectionLabels;
/// No description provided for @selectionPriority.
///
/// In en, this message translates to:
/// **'Priority'**
String get selectionPriority;
/// No description provided for @selectionMore.
///
/// In en, this message translates to:
/// **'More'**
String get selectionMore;
/// No description provided for @selectionDelete.
///
/// In en, this message translates to:
/// **'{count, plural, =1{Delete 1 task} other{Delete {count} tasks}}'**
String selectionDelete(int count);
/// No description provided for @selectionDeleteTitle.
///
/// In en, this message translates to:
/// **'Delete the tasks?'**
String get selectionDeleteTitle;
/// No description provided for @selectionDeleteMessage.
///
/// In en, this message translates to:
/// **'{count, plural, =1{1 task is deleted with its sub-tasks, on all your devices.} other{{count} tasks are deleted with their sub-tasks, on all your devices.}}'**
String selectionDeleteMessage(int count);
/// No description provided for @selectionDuplicate.
///
/// In en, this message translates to:
/// **'{count, plural, =1{Duplicate 1 task} other{Duplicate {count} tasks}}'**
String selectionDuplicate(int count);
/// No description provided for @selectionComplete.
///
/// In en, this message translates to:
/// **'{count, plural, =1{Complete 1 task} other{Complete {count} tasks}}'**
String selectionComplete(int count);
/// No description provided for @selectionDeadline.
///
/// In en, this message translates to:
/// **'Deadline'**
String get selectionDeadline;
/// No description provided for @tasksCompleted.
///
/// In en, this message translates to:
/// **'{count, plural, =1{Task done} other{{count} tasks done}}'**
String tasksCompleted(int count);
/// No description provided for @swipeSelect.
///
/// In en, this message translates to:
/// **'Select'**
String get swipeSelect;
/// No description provided for @swipeDate.
///
/// In en, this message translates to:
/// **'Date'**
String get swipeDate;
/// No description provided for @tasksMenu.
///
/// In en, this message translates to:
/// **'More'**
String get tasksMenu;
/// Quick add's + menu, holding Description and Deadline (ADR 0033, D15).
///
/// In en, this message translates to:
/// **'More'**
String get quickAddMore;
/// Below quick add's title while it has tokens recognised (D15).
///
/// In en, this message translates to:
/// **'Tap a highlighted word, or press Backspace right after it, to keep it as text.'**
String get quickAddTokenHint;
/// Tooltip of quick add's microphone, shown while the title is empty (D29).
///
/// In en, this message translates to:
/// **'Dictate the task'**
String get quickAddSpeak;
/// Tooltip of quick add's microphone while it listens (D29).
///
/// In en, this message translates to:
/// **'Stop listening'**
String get quickAddStopListening;
/// Shown when quick add's microphone can't listen, as with the microphone refused (D29).
///
/// In en, this message translates to:
/// **'This device can\'t listen now. Check that the app may use the microphone and that speech recognition is on.'**
String get quickAddSpeechUnavailable;
/// Quick add's deadline chip and menu entry (D15).
///
/// In en, this message translates to:
/// **'Deadline'**
String get deadlineTitle;
/// Snack bar after a task was dragged into another place (ADR 0033, D16).
///
/// In en, this message translates to:
/// **'Order changed'**
String get orderChanged;
/// The × left in the add button's place while it is dragged (D16).
///
/// In en, this message translates to:
/// **'Drop here to cancel'**
String get addTaskCancel;
/// Snack bar after a task was dragged onto another day in Upcoming (ADR 0033, D16).
///
/// In en, this message translates to:
/// **'Moved to {day}'**
String taskMovedTo(String day);
/// A project's Display sheet and what it shows (ADR 0033, D17).
///
/// In en, this message translates to:
/// **'Display'**
String get display;
/// A project's Display sheet and what it shows (ADR 0033, D17).
///
/// In en, this message translates to:
/// **'Completed tasks'**
String get displayCompleted;
/// A project's Display sheet and what it shows (ADR 0033, D17).
///
/// In en, this message translates to:
/// **'Sort'**
String get displaySort;
/// A project's Display sheet and what it shows (ADR 0033, D17).
///
/// In en, this message translates to:
/// **'Grouping'**
String get displayGrouping;
/// A project's Display sheet and what it shows (ADR 0033, D17).
///
/// In en, this message translates to:
/// **'Sorting'**
String get displaySorting;
/// A project's Display sheet and what it shows (ADR 0033, D17).
///
/// In en, this message translates to:
/// **'Filter'**
String get displayFilter;
/// A project's Display sheet and what it shows (ADR 0033, D17).
///
/// In en, this message translates to:
/// **'Deadline'**
String get displayDeadline;
/// A project's Display sheet and what it shows (ADR 0033, D17).
///
/// In en, this message translates to:
/// **'Label'**
String get displayLabel;
/// A project's Display sheet and what it shows (ADR 0033, D17).
///
/// In en, this message translates to:
/// **'Reset all'**
String get displayReset;
/// A project's Display sheet and what it shows (ADR 0033, D17).
///
/// In en, this message translates to:
/// **'Done'**
String get displayDone;
/// A project's Display sheet and what it shows (ADR 0033, D17).
///
/// In en, this message translates to:
/// **'All'**
String get displayAll;
/// A project's Display sheet and what it shows (ADR 0033, D17).
///
/// In en, this message translates to:
/// **'Any'**
String get displayAny;
/// A project's Display sheet and what it shows (ADR 0033, D17).
///
/// In en, this message translates to:
/// **'None'**
String get groupingNone;
/// A project's Display sheet and what it shows (ADR 0033, D17).
///
/// In en, this message translates to:
/// **'Date'**
String get groupingDate;
/// A project's Display sheet and what it shows (ADR 0033, D17).
///
/// In en, this message translates to:
/// **'Deadline'**
String get groupingDeadline;
/// A project's Display sheet and what it shows (ADR 0033, D17).
///
/// In en, this message translates to:
/// **'Added date'**
String get groupingAdded;
/// A project's Display sheet and what it shows (ADR 0033, D17).
///
/// In en, this message translates to:
/// **'Priority'**
String get groupingPriority;
/// A project's Display sheet and what it shows (ADR 0033, D17).
///
/// In en, this message translates to:
/// **'Label'**
String get groupingLabel;
/// A project's Display sheet and what it shows (ADR 0033, D17).
///
/// In en, this message translates to:
/// **'Manual'**
String get sortingManual;
/// A project's Display sheet and what it shows (ADR 0033, D17).
///
/// In en, this message translates to:
/// **'Name'**
String get sortingName;
/// A project's Display sheet and what it shows (ADR 0033, D17).
///
/// In en, this message translates to:
/// **'Date'**
String get sortingDate;
/// A project's Display sheet and what it shows (ADR 0033, D17).
///
/// In en, this message translates to:
/// **'Deadline'**
String get sortingDeadline;
/// A project's Display sheet and what it shows (ADR 0033, D17).
///
/// In en, this message translates to:
/// **'Added date'**
String get sortingAdded;
/// A project's Display sheet and what it shows (ADR 0033, D17).
///
/// In en, this message translates to:
/// **'Priority'**
String get sortingPriority;
/// A project's Display sheet and what it shows (ADR 0033, D17).
///
/// In en, this message translates to:
/// **'Today'**
String get rangeToday;
/// A project's Display sheet and what it shows (ADR 0033, D17).
///
/// In en, this message translates to:
/// **'This week'**
String get rangeThisWeek;
/// A project's Display sheet and what it shows (ADR 0033, D17).
///
/// In en, this message translates to:
/// **'Next 7 days'**
String get rangeNext7;
/// A project's Display sheet and what it shows (ADR 0033, D17).
///
/// In en, this message translates to:
/// **'This month'**
String get rangeThisMonth;
/// A project's Display sheet and what it shows (ADR 0033, D17).
///
/// In en, this message translates to:
/// **'Next 30 days'**
String get rangeNext30;
/// A project's Display sheet and what it shows (ADR 0033, D17).
///
/// In en, this message translates to:
/// **'No date'**
String get rangeNoDate;
/// A project's Display sheet and what it shows (ADR 0033, D17).
///
/// In en, this message translates to:
/// **'No deadline'**
String get rangeNoDeadline;
/// A project's Display sheet and what it shows (ADR 0033, D17).
///
/// In en, this message translates to:
/// **'Nothing matches'**
String get viewNothingTitle;
/// A project's Display sheet and what it shows (ADR 0033, D17).
///
/// In en, this message translates to:
/// **'This view\'s filters leave out every task here. Display changes them.'**
String get viewNothingHint;
/// A project's Display sheet and what it shows (ADR 0033, D17).
///
/// In en, this message translates to:
/// **'Save'**
String get displaySave;
/// A project's Display sheet and what it shows (ADR 0033, D17).
///
/// In en, this message translates to:
/// **'Cancel'**
String get displayCancel;
/// A project's group of tasks without a label (ADR 0033, D17).
///
/// In en, this message translates to:
/// **'No label'**
String get groupNoLabel;
/// A project's layout in its Display, and its board's columns (ADR 0033, D17).
///
/// In en, this message translates to:
/// **'Layout'**
String get layoutTitle;
/// A project's layout in its Display, and its board's columns (ADR 0033, D17).
///
/// In en, this message translates to:
/// **'List'**
String get layoutList;
/// No description provided for @taskColumnDescription.
///
/// In en, this message translates to:
/// **'Description'**
String get taskColumnDescription;
/// No description provided for @taskColumnCreated.
///
/// In en, this message translates to:
/// **'Created'**
String get taskColumnCreated;
/// No description provided for @tableColumns.
///
/// In en, this message translates to:
/// **'Columns'**
String get tableColumns;
/// No description provided for @tableDetails.
///
/// In en, this message translates to:
/// **'Task details'**
String get tableDetails;
/// No description provided for @tableSubTasks.
///
/// In en, this message translates to:
/// **'Sub-tasks'**
String get tableSubTasks;
/// No description provided for @tableReminders.
///
/// In en, this message translates to:
/// **'Reminders'**
String get tableReminders;
/// No description provided for @tableFilter.
///
/// In en, this message translates to:
/// **'Filter'**
String get tableFilter;
/// No description provided for @tableSortUp.
///
/// In en, this message translates to:
/// **'Sort ascending'**
String get tableSortUp;
/// No description provided for @tableSortDown.
///
/// In en, this message translates to:
/// **'Sort descending'**
String get tableSortDown;
/// No description provided for @tableMoveLeft.
///
/// In en, this message translates to:
/// **'Move left'**
String get tableMoveLeft;
/// No description provided for @tableMoveRight.
///
/// In en, this message translates to:
/// **'Move right'**
String get tableMoveRight;
/// No description provided for @tableHide.
///
/// In en, this message translates to:
/// **'Hide column'**
String get tableHide;
/// No description provided for @layoutTable.
///
/// In en, this message translates to:
/// **'Table'**
String get layoutTable;
/// No description provided for @taskColumnTask.
///
/// In en, this message translates to:
/// **'Task'**
String get taskColumnTask;
/// No description provided for @taskColumnDate.
///
/// In en, this message translates to:
/// **'Date'**
String get taskColumnDate;
/// No description provided for @taskColumnDeadline.
///
/// In en, this message translates to:
/// **'Deadline'**
String get taskColumnDeadline;
/// A project's layout in its Display, and its board's columns (ADR 0033, D17).
///
/// In en, this message translates to:
/// **'Board'**
String get layoutBoard;
/// A project's layout in its Display, and its board's columns (ADR 0033, D17).
///
/// In en, this message translates to:
/// **'(No section)'**
String get boardNoSection;
/// A project's Calendar layout and its Display (ADR 0033, D17).
///
/// In en, this message translates to:
/// **'Calendar'**
String get layoutCalendar;
/// A project's Calendar layout and its Display (ADR 0033, D17).
///
/// In en, this message translates to:
/// **'Future occurrences'**
String get displayOccurrences;
/// A project's Calendar layout and its Display (ADR 0033, D17).
///
/// In en, this message translates to:
/// **'No date'**
String get calendarNoDate;
/// A project's Calendar layout and its Display (ADR 0033, D17).
///
/// In en, this message translates to:
/// **'Every task here has a date'**
String get calendarNoDateEmpty;
/// A project's Calendar layout and its Display (ADR 0033, D17).
///
/// In en, this message translates to:
/// **'Tasks of this project without a date show here.'**
String get calendarNoDateHint;
/// A project's Calendar layout and its Display (ADR 0033, D17).
///
/// In en, this message translates to:
/// **'A later time of a repeating task'**
String get taskLater;
/// Upcoming's Display and its 3-day grid (ADR 0033, D17).
///
/// In en, this message translates to:
/// **'Smart'**
String get sortingSmart;
/// Upcoming's Display and its 3-day grid (ADR 0033, D17).
///
/// In en, this message translates to:
/// **'Agenda'**
String get layoutAgenda;
/// Upcoming's Display and its 3-day grid (ADR 0033, D17).
///
/// In en, this message translates to:
/// **'3-day'**
String get layoutThreeDay;
/// Upcoming's Display and its 3-day grid (ADR 0033, D17).
///
/// In en, this message translates to:
/// **'Colouring'**
String get displayColoring;
/// Upcoming's Display and its 3-day grid (ADR 0033, D17).
///
/// In en, this message translates to:
/// **'Project'**
String get coloringProject;
/// Upcoming's Display and its 3-day grid (ADR 0033, D17).
///
/// In en, this message translates to:
/// **'All day'**
String get allDay;
/// Upcoming's Display and its 3-day grid (ADR 0033, D17).
///
/// In en, this message translates to:
/// **'Earlier days'**
String get daysPrevious;
/// Upcoming's Display and its 3-day grid (ADR 0033, D17).
///
/// In en, this message translates to:
/// **'Later days'**
String get daysNext;
/// Settings of tasks and reminders (ADR 0033, D4).
///
/// In en, this message translates to:
/// **'Tasks'**
String get settingsTasks;
/// Settings of tasks and reminders (ADR 0033, D4).
///
/// In en, this message translates to:
/// **'Start the week on'**
String get weekStartTitle;
/// Settings of tasks and reminders (ADR 0033, D4).
///
/// In en, this message translates to:
/// **'As the language has it'**
String get weekStartLanguage;
/// Settings of tasks and reminders (ADR 0033, D4).
///
/// In en, this message translates to:
/// **'Reset sub-tasks'**
String get resetSubTasksTitle;
/// Settings of tasks and reminders (ADR 0033, D4).
///
/// In en, this message translates to:
/// **'Open them again when a recurring task is done'**
String get resetSubTasksHint;
/// Settings of tasks and reminders (ADR 0033, D4).
///
/// In en, this message translates to:
/// **'Automatic reminder'**
String get automaticReminderTitle;
/// Settings of tasks and reminders (ADR 0033, D4).
///
/// In en, this message translates to:
/// **'For a task given a time, unless it has reminders of its own'**
String get automaticReminderHint;
/// Settings of tasks and reminders (ADR 0033, D4).
///
/// In en, this message translates to:
/// **'None'**
String get automaticReminderNone;
/// Settings of tasks and reminders (ADR 0033, D4).
///
/// In en, this message translates to:
/// **'When snoozed'**
String get snoozeTitle;
/// Settings of tasks and reminders (ADR 0033, D4).
///
/// In en, this message translates to:
/// **'{count, plural, =1{1 minute} other{{count} minutes}}'**
String snoozeMinutes(int count);
/// Settings of tasks and reminders (ADR 0033, D4).
///
/// In en, this message translates to:
/// **'Snooze {count} min'**
String reminderSnooze(int count);
/// Settings' Reminders while notifications are off and reminders are planned (ADR 0033, D31).
///
/// In en, this message translates to:
/// **'Notifications are off'**
String get notificationsOffTitle;
/// Settings' Reminders while notifications are off and reminders are planned (ADR 0033, D31).
///
/// In en, this message translates to:
/// **'Reminders can\'t show until Halkyon Todo may notify you.'**
String get notificationsOffHint;
/// Settings' Reminders while notifications are off and reminders are planned (ADR 0033, D31).
///
/// In en, this message translates to:
/// **'Turn on'**
String get notificationsTurnOn;
/// A project's Calendar as a month on wide windows (ADR 0033, D17): a day's tasks that don't fit.
///
/// In en, this message translates to:
/// **'{count} more'**
String monthMore(int count);
/// intl's DateFormat pattern of a day's heading in Today and Upcoming, as Todoist's ("Tuesday, 3 Nov"): EEEE the weekday, d the day, MMM the short month.
///
/// In en, this message translates to:
/// **'EEEE, d MMM'**
String get dayHeadingPattern;
/// No description provided for @overdueHide.
///
/// In en, this message translates to:
/// **'Hide what is overdue'**
String get overdueHide;
/// No description provided for @overdueShow.
///
/// In en, this message translates to:
/// **'Show what is overdue'**
String get overdueShow;
feat(todo): Today laid out as a calendar, planned from its Plan by dragging, as Todoist's desktop Today (ADR 0033, D30) The developer asked for Todoist's desktop Today planning: a day of hours and a Plan beside it, tasks dragged from it onto an hour. Today gets a Display, its layout alone (List or Calendar), kept in the person's sealed settings row as Upcoming's (`TodayView`, the payload's `today`, schema still 1). Its Calendar is one day of `HourGrid`; *Plan: n* in its app bar shows or hides the Plan (`PlanPanel`): Overdue with Reschedule, To plan (today's without a time) and Time-blocked (today's with one), each folding with its count, narrowed for the session by *All projects*' Filter by project (a search and a box a project, a sub-project with its parents' path). A row dropped on an hour is moved to today at that time, its duration kept; a block dropped on the Plan loses its time; both undone from the snack bar, through `moveTask`. From a medium width of Today's own on the Plan stands beside the day, shown or hidden as remembered; on a phone it is a sheet over the day's foot (the developer's choice, over the Plan on wide windows alone and over a strip above the day), part of the screen rather than a modal route, so that the day behind it takes the drop, and it lowers to its heading while one of its rows is held. Whats-New: Today's Display offers a Calendar layout: today's hours, with a Plan of what is overdue, to plan and time-blocked, whose tasks you drag onto an hour. Whats-New-De: Die Anzeige von Heute bietet das Layout Kalender: die Stunden des Tages, mit einem Plan aus Überfälligem, Zu planen und Eingeplant, dessen Aufgaben du auf eine Stunde ziehst. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Tizian 「ティツィアーン」 <raisondetredev@pm.me>
2026-11-04 22:39:38 +01:00
/// No description provided for @paneResize.
///
/// In en, this message translates to:
/// **'Resize'**
String get paneResize;
feat(todo): Today laid out as a calendar, planned from its Plan by dragging, as Todoist's desktop Today (ADR 0033, D30) The developer asked for Todoist's desktop Today planning: a day of hours and a Plan beside it, tasks dragged from it onto an hour. Today gets a Display, its layout alone (List or Calendar), kept in the person's sealed settings row as Upcoming's (`TodayView`, the payload's `today`, schema still 1). Its Calendar is one day of `HourGrid`; *Plan: n* in its app bar shows or hides the Plan (`PlanPanel`): Overdue with Reschedule, To plan (today's without a time) and Time-blocked (today's with one), each folding with its count, narrowed for the session by *All projects*' Filter by project (a search and a box a project, a sub-project with its parents' path). A row dropped on an hour is moved to today at that time, its duration kept; a block dropped on the Plan loses its time; both undone from the snack bar, through `moveTask`. From a medium width of Today's own on the Plan stands beside the day, shown or hidden as remembered; on a phone it is a sheet over the day's foot (the developer's choice, over the Plan on wide windows alone and over a strip above the day), part of the screen rather than a modal route, so that the day behind it takes the drop, and it lowers to its heading while one of its rows is held. Whats-New: Today's Display offers a Calendar layout: today's hours, with a Plan of what is overdue, to plan and time-blocked, whose tasks you drag onto an hour. Whats-New-De: Die Anzeige von Heute bietet das Layout Kalender: die Stunden des Tages, mit einem Plan aus Überfälligem, Zu planen und Eingeplant, dessen Aufgaben du auf eine Stunde ziehst. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Tizian 「ティツィアーン」 <raisondetredev@pm.me>
2026-11-04 22:39:38 +01:00
/// Today's app bar in its Calendar layout (ADR 0033, D30, as Todoist's): shows or hides the Plan, counting the tasks it holds.
///
/// In en, this message translates to:
/// **'Plan: {count}'**
String planButton(int count);
/// Today's Plan beside or below its day of hours (ADR 0033, D30).
///
/// In en, this message translates to:
/// **'Plan'**
String get planTitle;
/// Tooltip of Today's Plan button while the Plan is hidden (ADR 0033, D30).
///
/// In en, this message translates to:
/// **'Show the Plan'**
String get planShow;
/// Tooltip of Today's Plan button and the Plan's close button while it shows (ADR 0033, D30).
///
/// In en, this message translates to:
/// **'Hide the Plan'**
String get planHide;
/// No description provided for @planNoDate.
///
/// In en, this message translates to:
/// **'No date'**
String get planNoDate;
feat(todo): Today laid out as a calendar, planned from its Plan by dragging, as Todoist's desktop Today (ADR 0033, D30) The developer asked for Todoist's desktop Today planning: a day of hours and a Plan beside it, tasks dragged from it onto an hour. Today gets a Display, its layout alone (List or Calendar), kept in the person's sealed settings row as Upcoming's (`TodayView`, the payload's `today`, schema still 1). Its Calendar is one day of `HourGrid`; *Plan: n* in its app bar shows or hides the Plan (`PlanPanel`): Overdue with Reschedule, To plan (today's without a time) and Time-blocked (today's with one), each folding with its count, narrowed for the session by *All projects*' Filter by project (a search and a box a project, a sub-project with its parents' path). A row dropped on an hour is moved to today at that time, its duration kept; a block dropped on the Plan loses its time; both undone from the snack bar, through `moveTask`. From a medium width of Today's own on the Plan stands beside the day, shown or hidden as remembered; on a phone it is a sheet over the day's foot (the developer's choice, over the Plan on wide windows alone and over a strip above the day), part of the screen rather than a modal route, so that the day behind it takes the drop, and it lowers to its heading while one of its rows is held. Whats-New: Today's Display offers a Calendar layout: today's hours, with a Plan of what is overdue, to plan and time-blocked, whose tasks you drag onto an hour. Whats-New-De: Die Anzeige von Heute bietet das Layout Kalender: die Stunden des Tages, mit einem Plan aus Überfälligem, Zu planen und Eingeplant, dessen Aufgaben du auf eine Stunde ziehst. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Tizian 「ティツィアーン」 <raisondetredev@pm.me>
2026-11-04 22:39:38 +01:00
/// Today's Plan (ADR 0033, D30): the group of today's tasks without a time, to be given one.
///
/// In en, this message translates to:
/// **'To plan'**
String get planToPlan;
/// Today's Plan (ADR 0033, D30, Todoist's word): the group of today's tasks with a time.
///
/// In en, this message translates to:
/// **'Time-blocked'**
String get planTimeBlocked;
/// Today's Plan (ADR 0033, D30) while it holds no task.
///
/// In en, this message translates to:
/// **'Nothing to plan'**
String get planEmpty;
/// Today's Plan (ADR 0033, D30) while a block of the day is dragged over it.
///
/// In en, this message translates to:
/// **'Drop here to take its time away'**
String get planDropHint;
/// Tooltip folding a group of Today's Plan (ADR 0033, D30).
///
/// In en, this message translates to:
/// **'Hide {group}'**
String planGroupHide(String group);
/// Tooltip unfolding a group of Today's Plan (ADR 0033, D30).
///
/// In en, this message translates to:
/// **'Show {group}'**
String planGroupShow(String group);
/// Today's Plan's project filter (ADR 0033, D30) while it keeps every project, and the button putting it back.
///
/// In en, this message translates to:
/// **'All projects'**
String get planAllProjects;
/// Today's Plan's project filter (ADR 0033, D30) while it keeps several projects.
///
/// In en, this message translates to:
/// **'{count, plural, =1{1 project} other{{count} projects}}'**
String planProjectsCount(int count);
/// Today's Plan's project filter (ADR 0033, D30): its search field's hint and its name.
///
/// In en, this message translates to:
/// **'Filter by project'**
String get planFilterTitle;
/// Quick add's + menu and its button (ADR 0033, D32).
///
/// In en, this message translates to:
/// **'Location'**
String get locationTitle;
/// A task's Where, and the picker's button.
///
/// In en, this message translates to:
/// **'Add location'**
String get locationAdd;
/// The heading of a task's places.
///
/// In en, this message translates to:
/// **'Where'**
String get locationWhere;
/// Under a task's Where, with several places: they are alternatives.
///
/// In en, this message translates to:
/// **'Any of these'**
String get locationAnyOf;
/// The location picker's search field.
///
/// In en, this message translates to:
/// **'City or district, then the name'**
String get locationSearchHint;
/// Quick add, as + is typed.
///
/// In en, this message translates to:
/// **'Search for a place'**
String get locationSearchAny;
/// Quick add, as +something is typed.
///
/// In en, this message translates to:
/// **'Search for “{query}”'**
String locationSearchFor(String query);
/// The location picker without a place search.
///
/// In en, this message translates to:
/// **'Search isn\'t available here. Move the map and tap to place a pin.'**
String get locationSearchUnavailable;
/// The location picker after a failed search.
///
/// In en, this message translates to:
/// **'The search didn\'t work. Try again.'**
String get locationSearchFailed;
/// The location picker, a search without results.
///
/// In en, this message translates to:
/// **'Nothing found'**
String get locationNoResults;
/// The location picker's places of the person's tasks.
///
/// In en, this message translates to:
/// **'Recent'**
String get locationRecent;
/// Above the places around the pin in the location picker.
///
/// In en, this message translates to:
/// **'Or choose a nearby place'**
String get locationNearby;
2026-11-06 00:12:01 +01:00
/// The location picker when asking what is around the pin failed.
///
/// In en, this message translates to:
/// **'Couldn\'t look up what\'s around here'**
String get locationNearbyFailed;
/// Beside the location picker's message that asking what is around the pin failed.
///
/// In en, this message translates to:
/// **'Try again'**
String get locationTryAgain;
/// The location picker's sheet while the map is too far out for a spot.
///
/// In en, this message translates to:
/// **'Zoom in and move the map to a spot'**
String get locationPickHint;
/// The location picker's compass, turning the map back to north.
///
/// In en, this message translates to:
/// **'Point north'**
String get locationNorth;
/// What a place found is, from OpenStreetMap's value; empty for any other.
///
/// In en, this message translates to:
/// **'{kind, select, city{City} town{Town} village{Village} hamlet{Hamlet} isolated_dwelling{Isolated dwelling} locality{Locality} suburb{District} neighbourhood{Neighbourhood} residential{Street} house{Address} supermarket{Supermarket} convenience{Shop} bakery{Bakery} butcher{Butcher} chemist{Chemist} pharmacy{Pharmacy} doctors{Doctor} dentist{Dentist} hospital{Hospital} restaurant{Restaurant} cafe{Café} fast_food{Fast food} bar{Bar} pub{Pub} fuel{Petrol station} bank{Bank} post_office{Post office} school{School} kindergarten{Nursery} library{Library} station{Station} bus_stop{Bus stop} hotel{Hotel} park{Park} other{}}'**
String locationKind(String kind);
/// The location picker's button zooming the map in.
///
/// In en, this message translates to:
/// **'Zoom in'**
String get locationZoomIn;
/// The location picker's button zooming the map out.
///
/// In en, this message translates to:
/// **'Zoom out'**
String get locationZoomOut;
/// The name of a pin placed by hand where nothing names the spot.
///
/// In en, this message translates to:
/// **'Pinned place'**
String get locationPin;
/// The name field of a pin placed by hand.
///
/// In en, this message translates to:
/// **'Name'**
String get locationName;
/// The map's button.
///
/// In en, this message translates to:
/// **'My position'**
String get locationMine;
/// A location's reminder.
///
/// In en, this message translates to:
/// **'No reminder'**
String get locationRemindNone;
/// A location's reminder.
///
/// In en, this message translates to:
/// **'On arriving'**
String get locationRemindArrive;
/// A location's reminder.
///
/// In en, this message translates to:
/// **'On leaving'**
String get locationRemindLeave;
/// A task's location's menu.
///
/// In en, this message translates to:
/// **'Remove'**
String get locationRemove;
/// No description provided for @locationWatching.
///
/// In en, this message translates to:
/// **'Watching your places'**
String get locationWatching;
/// No description provided for @locationWatchingChannel.
///
/// In en, this message translates to:
/// **'Places watched'**
String get locationWatchingChannel;
/// Before asking for the position in the background.
///
/// In en, this message translates to:
/// **'Allow location all the time'**
String get locationAccessTitle;
/// Before asking for the position in the background.
///
/// In en, this message translates to:
/// **'To remind you when you arrive or leave, Halkyon Todo needs your position while it is closed too. It stays on this device. Next, choose “Allow all the time”.'**
String get locationAccessHint;
/// Before asking for the position in the background.
///
/// In en, this message translates to:
/// **'Continue'**
String get locationAccessGo;
/// Settings' Reminders while places are planned and may not be watched.
///
/// In en, this message translates to:
/// **'Location is off for reminders'**
String get locationOffTitle;
/// Settings' Reminders while places are planned and may not be watched.
///
/// In en, this message translates to:
/// **'Reminders at a place need “Allow all the time”.'**
String get locationOffHint;
/// A reminder on arriving, below the task's title.
///
/// In en, this message translates to:
/// **'You\'re at {name}'**
String locationArrived(String name);
/// A reminder on leaving, below the task's title.
///
/// In en, this message translates to:
/// **'You\'ve left {name}'**
String locationLeft(String name);
}
class _AppLocalizationsDelegate
extends LocalizationsDelegate<AppLocalizations> {
const _AppLocalizationsDelegate();
@override
Future<AppLocalizations> load(Locale locale) {
return SynchronousFuture<AppLocalizations>(lookupAppLocalizations(locale));
}
@override
bool isSupported(Locale locale) =>
<String>['de', 'en'].contains(locale.languageCode);
@override
bool shouldReload(_AppLocalizationsDelegate old) => false;
}
AppLocalizations lookupAppLocalizations(Locale locale) {
// Lookup logic when language+country codes are specified.
switch (locale.languageCode) {
case 'en':
{
switch (locale.countryCode) {
case 'GB':
return AppLocalizationsEnGb();
case 'US':
return AppLocalizationsEnUs();
}
break;
}
}
// Lookup logic when only language code is specified.
switch (locale.languageCode) {
case 'de':
return AppLocalizationsDe();
case 'en':
return AppLocalizationsEn();
}
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.',
);
}