Every weight is still kept in kilograms. It is shown and entered in the person's unit, chosen in Your body (Weight in: kg | lb, the profile's new weightUnit), else the region's: pounds in the US, Liberia and Myanmar. The entry takes 44 to 880 lb, the same 20 to 400 kg. A weight left untouched in Your body is saved exactly as it was, not rounded through pounds. The other figures stay metric. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Tizian 「ティツィアーン」 <raisondetredev@pm.me>
4698 lines
136 KiB
Dart
4698 lines
136 KiB
Dart
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 Train'**
|
||
String get appTitle;
|
||
|
||
/// The app's word in its wordmark, under "Halkyon".
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Train'**
|
||
String get launchProduct;
|
||
|
||
/// No description provided for @instanceFirstStartSubtitle.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Choose the instance to keep your workouts on. Someone runs each one; you can add others later.'**
|
||
String get instanceFirstStartSubtitle;
|
||
|
||
/// No description provided for @homeEmptyTitle.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'No workouts yet'**
|
||
String get homeEmptyTitle;
|
||
|
||
/// No description provided for @homeEmptyHint.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Workouts recorded on your phone show here.'**
|
||
String get homeEmptyHint;
|
||
|
||
/// 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 Train'**
|
||
String get aboutTitle;
|
||
|
||
/// No description provided for @homeRecordHint.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Record one from the Record tab.'**
|
||
String get homeRecordHint;
|
||
|
||
/// No description provided for @recordBack.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Back to the recording'**
|
||
String get recordBack;
|
||
|
||
/// No description provided for @activityRunning.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Running'**
|
||
String get activityRunning;
|
||
|
||
/// No description provided for @activityWalking.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Walking'**
|
||
String get activityWalking;
|
||
|
||
/// No description provided for @activityHiking.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Hiking'**
|
||
String get activityHiking;
|
||
|
||
/// No description provided for @activityCycling.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Cycling'**
|
||
String get activityCycling;
|
||
|
||
/// No description provided for @activityStrength.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Strength training'**
|
||
String get activityStrength;
|
||
|
||
/// No description provided for @activityIndoorRowing.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Rowing indoors'**
|
||
String get activityIndoorRowing;
|
||
|
||
/// No description provided for @activityOther.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Other workout'**
|
||
String get activityOther;
|
||
|
||
/// The switch for auto-pause, as the recording starts.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Pause by itself'**
|
||
String get recordAutoPause;
|
||
|
||
/// No description provided for @recordAutoPauseHint.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'When you stand still, and going on as you move again'**
|
||
String get recordAutoPauseHint;
|
||
|
||
/// No description provided for @recordStart.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Start'**
|
||
String get recordStart;
|
||
|
||
/// No description provided for @recordPlan.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Plan'**
|
||
String get recordPlan;
|
||
|
||
/// No description provided for @recordNoPlan.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'None'**
|
||
String get recordNoPlan;
|
||
|
||
/// No description provided for @recordingLap.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Lap'**
|
||
String get recordingLap;
|
||
|
||
/// No description provided for @recordingPlanDone.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Plan done'**
|
||
String get recordingPlanDone;
|
||
|
||
/// No description provided for @recordingStepOf.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Step {index} of {count}'**
|
||
String recordingStepOf(int index, int count);
|
||
|
||
/// No description provided for @recordingNextStep.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Next: {step}'**
|
||
String recordingNextStep(String step);
|
||
|
||
/// No description provided for @recordingStepTapLap.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Until you tap Lap'**
|
||
String get recordingStepTapLap;
|
||
|
||
/// No description provided for @recordLocationRefused.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Train needs your location to record this. You can allow it in the system\'s settings.'**
|
||
String get recordLocationRefused;
|
||
|
||
/// No description provided for @recordingWaitingForGps.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Waiting for GPS'**
|
||
String get recordingWaitingForGps;
|
||
|
||
/// Before a fix precise enough: how far off the last one may be.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Waiting for GPS · ±{metres} m'**
|
||
String recordingWaitingForGpsAccuracy(int metres);
|
||
|
||
/// How far off the last fix may be.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'GPS ±{metres} m'**
|
||
String recordingGpsAccuracy(int metres);
|
||
|
||
/// Under the time, lower case: the time moved, pauses left out.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'moving time'**
|
||
String get recordingMovingTime;
|
||
|
||
/// No description provided for @recordingDistance.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'distance'**
|
||
String get recordingDistance;
|
||
|
||
/// No description provided for @recordingPace.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'pace'**
|
||
String get recordingPace;
|
||
|
||
/// No description provided for @recordingSpeed.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'speed'**
|
||
String get recordingSpeed;
|
||
|
||
/// No description provided for @recordingDistanceValue.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{km} km'**
|
||
String recordingDistanceValue(String km);
|
||
|
||
/// Minutes and seconds a kilometre takes.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{pace} /km'**
|
||
String recordingPaceValue(String pace);
|
||
|
||
/// No description provided for @recordingSpeedValue.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{kmh} km/h'**
|
||
String recordingSpeedValue(String kmh);
|
||
|
||
/// Train paused the recording by itself (auto-pause).
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Paused: not moving'**
|
||
String get recordingPausedAuto;
|
||
|
||
/// No description provided for @recordingPausedByHand.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Paused'**
|
||
String get recordingPausedByHand;
|
||
|
||
/// No description provided for @recordingPause.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Pause'**
|
||
String get recordingPause;
|
||
|
||
/// No description provided for @recordingResume.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Resume'**
|
||
String get recordingResume;
|
||
|
||
/// No description provided for @recordingStop.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Stop'**
|
||
String get recordingStop;
|
||
|
||
/// No description provided for @recordingHoldToStop.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Hold Stop to end the workout'**
|
||
String get recordingHoldToStop;
|
||
|
||
/// No description provided for @recordingStoppedTitle.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Save this workout?'**
|
||
String get recordingStoppedTitle;
|
||
|
||
/// No description provided for @recordingSave.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Save'**
|
||
String get recordingSave;
|
||
|
||
/// No description provided for @recordingDiscard.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Discard'**
|
||
String get recordingDiscard;
|
||
|
||
/// No description provided for @recordingDiscardTitle.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Discard this workout?'**
|
||
String get recordingDiscardTitle;
|
||
|
||
/// No description provided for @recordingDiscardMessage.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Its time and track are deleted from this device. This can\'t be undone.'**
|
||
String get recordingDiscardMessage;
|
||
|
||
/// No description provided for @recordingSaveFailed.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'It can\'t be saved on this device, which doesn\'t hold your account\'s keys. It stays here until it can be.'**
|
||
String get recordingSaveFailed;
|
||
|
||
/// No description provided for @recordingCutOffTitle.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'A recording was cut off'**
|
||
String get recordingCutOffTitle;
|
||
|
||
/// A recording found unfinished as the app opened: when it started and its last sample.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'A recording from {start} was cut off. Save it up to {end}, or discard it?'**
|
||
String recordingCutOffMessage(String start, String end);
|
||
|
||
/// The name of the recording's notification channel, in the system's settings.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Recording'**
|
||
String get recordingNotificationChannel;
|
||
|
||
/// The notification's title while paused.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{activity} · paused'**
|
||
String recordingNotificationPaused(String activity);
|
||
|
||
/// A workout's name where the person gave none: the time of day it started (morning 5–12, afternoon 12–17, evening 17–22, night) and its activity, as Strava names them.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{when, select, morning_strength{Morning strength} afternoon_strength{Afternoon strength} evening_strength{Evening strength} night_strength{Night strength} morning_running{Morning run} morning_walking{Morning walk} morning_hiking{Morning hike} morning_cycling{Morning ride} morning_indoorRowing{Morning row} afternoon_running{Afternoon run} afternoon_walking{Afternoon walk} afternoon_hiking{Afternoon hike} afternoon_cycling{Afternoon ride} afternoon_indoorRowing{Afternoon row} evening_running{Evening run} evening_walking{Evening walk} evening_hiking{Evening hike} evening_cycling{Evening ride} evening_indoorRowing{Evening row} night_running{Night run} night_walking{Night walk} night_hiking{Night hike} night_cycling{Night ride} night_indoorRowing{Night row} other{Workout}}'**
|
||
String workoutName(String when);
|
||
|
||
/// No description provided for @workoutLocked.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Locked workout'**
|
||
String get workoutLocked;
|
||
|
||
/// Under a workout this device can't open (its key is missing here).
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'This device doesn\'t hold the key it\'s sealed with.'**
|
||
String get workoutLockedHint;
|
||
|
||
/// No description provided for @workoutEdit.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Edit'**
|
||
String get workoutEdit;
|
||
|
||
/// No description provided for @workoutEditTitle.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Edit workout'**
|
||
String get workoutEditTitle;
|
||
|
||
/// No description provided for @workoutNameLabel.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Name'**
|
||
String get workoutNameLabel;
|
||
|
||
/// No description provided for @workoutActivityLabel.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Activity'**
|
||
String get workoutActivityLabel;
|
||
|
||
/// No description provided for @workoutNotesLabel.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Notes'**
|
||
String get workoutNotesLabel;
|
||
|
||
/// No description provided for @workoutSave.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Save'**
|
||
String get workoutSave;
|
||
|
||
/// No description provided for @workoutDelete.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Delete'**
|
||
String get workoutDelete;
|
||
|
||
/// No description provided for @workoutDeleteTitle.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Delete this workout?'**
|
||
String get workoutDeleteTitle;
|
||
|
||
/// No description provided for @workoutDeleteMessage.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'It\'s deleted on all your devices.'**
|
||
String get workoutDeleteMessage;
|
||
|
||
/// No description provided for @workoutDeleted.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Workout deleted'**
|
||
String get workoutDeleted;
|
||
|
||
/// No description provided for @workoutMovingTime.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'moving time'**
|
||
String get workoutMovingTime;
|
||
|
||
/// Lower case, under a figure: from start to end, pauses included.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'whole time'**
|
||
String get workoutTotalTime;
|
||
|
||
/// No description provided for @workoutDistance.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'distance'**
|
||
String get workoutDistance;
|
||
|
||
/// No description provided for @workoutPace.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'pace'**
|
||
String get workoutPace;
|
||
|
||
/// No description provided for @workoutSpeed.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'speed'**
|
||
String get workoutSpeed;
|
||
|
||
/// Lower case, under a figure: the elevation gained.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'climbed'**
|
||
String get workoutClimb;
|
||
|
||
/// No description provided for @workoutClimbValue.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{metres} m'**
|
||
String workoutClimbValue(int metres);
|
||
|
||
/// No description provided for @workoutSplits.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Splits'**
|
||
String get workoutSplits;
|
||
|
||
/// No description provided for @workoutSteps.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Steps of {plan}'**
|
||
String workoutSteps(String plan);
|
||
|
||
/// No description provided for @workoutOnTarget.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'On target'**
|
||
String get workoutOnTarget;
|
||
|
||
/// No description provided for @workoutOffTarget.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Off target'**
|
||
String get workoutOffTarget;
|
||
|
||
/// A kilometre's split, its number.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'km {number}'**
|
||
String workoutSplitKm(int number);
|
||
|
||
/// A cycling split of 5 km: where it starts and ends.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{from}–{to} km'**
|
||
String workoutSplitFiveKm(int from, int to);
|
||
|
||
/// No description provided for @workoutPaceChart.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Pace'**
|
||
String get workoutPaceChart;
|
||
|
||
/// No description provided for @workoutSpeedChart.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Speed'**
|
||
String get workoutSpeedChart;
|
||
|
||
/// No description provided for @workoutElevationChart.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Elevation'**
|
||
String get workoutElevationChart;
|
||
|
||
/// Under a workout's map: what the map's source sees.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Map by {name}: it sees your device\'s address and the area shown, not your track.'**
|
||
String workoutMapSource(String name);
|
||
|
||
/// Under a workout's map drawn from the instance's own tiles (D50): what it sees.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Map by your instance, {name}, from OpenStreetMap: it keeps nothing of the area shown.'**
|
||
String workoutMapOwn(String name);
|
||
|
||
/// A link to the map source's page about what it keeps.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'What {name} keeps'**
|
||
String workoutMapSourceAbout(String name);
|
||
|
||
/// No description provided for @workoutMapUnavailable.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'The map can\'t be loaded now.'**
|
||
String get workoutMapUnavailable;
|
||
|
||
/// Title of the explanation behind the question mark on a workout's page (D63): what the map's source sees.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'About the map'**
|
||
String get workoutMapAbout;
|
||
|
||
/// Tooltip of the chevron that lowers a workout's sheet, the page pulled up, so that the map shows again (D63).
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Show the map'**
|
||
String get workoutShowMap;
|
||
|
||
/// Tooltip of the button over a map that shows whose map and data it is.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Map credits'**
|
||
String get mapCredits;
|
||
|
||
/// Title of the explanation behind the question mark over the route planner's map (D63).
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Planning a route'**
|
||
String get routeHelpTitle;
|
||
|
||
/// No description provided for @workoutNotFound.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'This workout is gone.'**
|
||
String get workoutNotFound;
|
||
|
||
/// No description provided for @recordHeartRate.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Heart rate'**
|
||
String get recordHeartRate;
|
||
|
||
/// On the Record sheet, under Heart rate, where no strap is chosen.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'No strap'**
|
||
String get recordNoStrap;
|
||
|
||
/// No description provided for @recordHeartLoop.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'From the Polar Loop'**
|
||
String get recordHeartLoop;
|
||
|
||
/// No description provided for @recordHeartStrapThenLoop.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{strap}, the Loop while it is lost'**
|
||
String recordHeartStrapThenLoop(String strap);
|
||
|
||
/// No description provided for @strapSheetTitle.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Heart-rate strap'**
|
||
String get strapSheetTitle;
|
||
|
||
/// No description provided for @strapSearching.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Looking for straps nearby…'**
|
||
String get strapSearching;
|
||
|
||
/// No description provided for @strapSearchingHint.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Put the strap on: most wake up only once they touch skin.'**
|
||
String get strapSearchingHint;
|
||
|
||
/// Under a strap found: its signal is strong.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'close by'**
|
||
String get strapNear;
|
||
|
||
/// Under a strap found: its signal is weak.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'further off'**
|
||
String get strapFar;
|
||
|
||
/// A strap that sends no name.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Unnamed strap'**
|
||
String get strapUnnamed;
|
||
|
||
/// No description provided for @strapForget.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Forget strap'**
|
||
String get strapForget;
|
||
|
||
/// No description provided for @strapRefused.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Train needs nearby devices to find your strap. You can allow it in the system\'s settings.'**
|
||
String get strapRefused;
|
||
|
||
/// No description provided for @strapBluetoothOff.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Bluetooth is off. Turn it on to look for devices nearby.'**
|
||
String get strapBluetoothOff;
|
||
|
||
/// Under the heart rate, lower case.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'heart rate'**
|
||
String get recordingHeartRate;
|
||
|
||
/// While recording: the strap is out of reach or off; Train keeps asking for it.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Strap lost'**
|
||
String get recordingStrapLost;
|
||
|
||
/// Lower case, under a figure.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'average heart rate'**
|
||
String get workoutAverageHeartRate;
|
||
|
||
/// Lower case, under a figure.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'highest heart rate'**
|
||
String get workoutMaxHeartRate;
|
||
|
||
/// No description provided for @workoutBpmValue.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{bpm} bpm'**
|
||
String workoutBpmValue(int bpm);
|
||
|
||
/// No description provided for @workoutHeartRateChart.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Heart rate'**
|
||
String get workoutHeartRateChart;
|
||
|
||
/// No description provided for @recordRower.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Rowing machine'**
|
||
String get recordRower;
|
||
|
||
/// No description provided for @recordNoRower.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Choose your rowing machine'**
|
||
String get recordNoRower;
|
||
|
||
/// No description provided for @recordRowerRefused.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Train needs nearby devices to record from your rowing machine. You can allow it in the system\'s settings.'**
|
||
String get recordRowerRefused;
|
||
|
||
/// No description provided for @rowerSheetTitle.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Rowing machine'**
|
||
String get rowerSheetTitle;
|
||
|
||
/// No description provided for @rowerSearching.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Looking for rowing machines nearby…'**
|
||
String get rowerSearching;
|
||
|
||
/// No description provided for @rowerSearchingHint.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Wake the console: most show once you pull or press a button. One another app holds (Christopeit Connect, Kinomap) can\'t be found: close that app first.'**
|
||
String get rowerSearchingHint;
|
||
|
||
/// No description provided for @rowerUnnamed.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Unnamed rowing machine'**
|
||
String get rowerUnnamed;
|
||
|
||
/// No description provided for @rowerForget.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Forget rowing machine'**
|
||
String get rowerForget;
|
||
|
||
/// No description provided for @rowerRefused.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Train needs nearby devices to find your rowing machine. You can allow it in the system\'s settings.'**
|
||
String get rowerRefused;
|
||
|
||
/// While recording a row: the rower isn't connected yet. Another app may hold it.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Looking for the rowing machine'**
|
||
String get recordingRowerConnecting;
|
||
|
||
/// While recording a row: the rower is out of reach or off; Train keeps asking for it.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Rowing machine lost'**
|
||
String get recordingRowerLost;
|
||
|
||
/// Lower case, under a figure: how long 500 m take now.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'split'**
|
||
String get recordingSplit;
|
||
|
||
/// Lower case, under a figure.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'strokes a minute'**
|
||
String get recordingStrokeRate;
|
||
|
||
/// Lower case, under a figure.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'watts'**
|
||
String get recordingWatts;
|
||
|
||
/// Minutes and seconds 500 m take.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{split} /500 m'**
|
||
String workoutSplitValue(String split);
|
||
|
||
/// Lower case, under a figure.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'average split'**
|
||
String get workoutAverageSplit;
|
||
|
||
/// Lower case, under a figure.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'average stroke rate'**
|
||
String get workoutAverageStrokeRate;
|
||
|
||
/// Strokes a minute.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{rate} /min'**
|
||
String workoutStrokeRateValue(String rate);
|
||
|
||
/// Lower case, under a figure.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'average power'**
|
||
String get workoutAveragePower;
|
||
|
||
/// Lower case, under a figure.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'highest power'**
|
||
String get workoutMaxPower;
|
||
|
||
/// No description provided for @workoutWattsValue.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{watts} W'**
|
||
String workoutWattsValue(int watts);
|
||
|
||
/// Lower case, under a figure: how many strokes.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'strokes'**
|
||
String get workoutStrokes;
|
||
|
||
/// A rowing split of 500 m: where it starts and ends.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{from}–{to} m'**
|
||
String workoutSplitMetres(int from, int to);
|
||
|
||
/// No description provided for @workoutSplitChart.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Split'**
|
||
String get workoutSplitChart;
|
||
|
||
/// No description provided for @workoutStrokeRateChart.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Stroke rate'**
|
||
String get workoutStrokeRateChart;
|
||
|
||
/// No description provided for @workoutPowerChart.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Power'**
|
||
String get workoutPowerChart;
|
||
|
||
/// No description provided for @recordAutoPauseRowingHint.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'When you stop rowing, going on with the next stroke'**
|
||
String get recordAutoPauseRowingHint;
|
||
|
||
/// No description provided for @recordingMetres.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'metres'**
|
||
String get recordingMetres;
|
||
|
||
/// No description provided for @healthTitle.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Health Connect'**
|
||
String get healthTitle;
|
||
|
||
/// Under Health Connect in the account sheet.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Share workouts with other apps on this phone'**
|
||
String get healthHint;
|
||
|
||
/// No description provided for @healthUnavailable.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Health Connect isn\'t on this phone. Android 14 and later have it built in; before 14, it\'s an app of its own.'**
|
||
String get healthUnavailable;
|
||
|
||
/// No description provided for @healthNeedsUpdate.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Update the Health Connect app to use it with Train.'**
|
||
String get healthNeedsUpdate;
|
||
|
||
/// No description provided for @healthWrite.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Write my workouts'**
|
||
String get healthWrite;
|
||
|
||
/// No description provided for @healthWriteHint.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Every workout on this phone, kept up to date as you edit or delete it'**
|
||
String get healthWriteHint;
|
||
|
||
/// No description provided for @healthTakenBack.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Health Connect took this back. Allow it there to turn it on again.'**
|
||
String get healthTakenBack;
|
||
|
||
/// No description provided for @healthRefused.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Health Connect didn\'t allow it. You can allow it in its settings.'**
|
||
String get healthRefused;
|
||
|
||
/// No description provided for @healthOpenSettings.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Open Health Connect'**
|
||
String get healthOpenSettings;
|
||
|
||
/// No description provided for @healthWhy.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Why Train asks'**
|
||
String get healthWhy;
|
||
|
||
/// No description provided for @healthRationaleTitle.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Train and Health Connect'**
|
||
String get healthRationaleTitle;
|
||
|
||
/// No description provided for @healthRationaleWrite.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Train writes your workouts to Health Connect only once you turn it on: each one with its route, heart rate, speed, power, distance and climb, so that other apps on this phone can use them. A workout edited or deleted in Train is edited or deleted there too.'**
|
||
String get healthRationaleWrite;
|
||
|
||
/// No description provided for @healthRationaleRead.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Train reads other apps\' workouts only once you turn it on, and only from the apps you choose: their heart rate, distance and power come into Train as workouts, sealed with your key before they\'re synced to your instance, which can\'t read them.'**
|
||
String get healthRationaleRead;
|
||
|
||
/// No description provided for @healthRationaleNothingElse.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'What Train reads there is shown to you and nobody else, and isn\'t used for anything else. Turning a switch off, or taking a permission back in Health Connect, stops it.'**
|
||
String get healthRationaleNothingElse;
|
||
|
||
/// No description provided for @healthRead.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Read from other apps'**
|
||
String get healthRead;
|
||
|
||
/// No description provided for @healthReadHint.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Their workouts come into Train, from the apps you choose below'**
|
||
String get healthReadHint;
|
||
|
||
/// No description provided for @healthReadWeight.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Read my weight'**
|
||
String get healthReadWeight;
|
||
|
||
/// No description provided for @healthReadWeightHint.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Weights other apps wrote, a scale\'s say, come into Train'**
|
||
String get healthReadWeightHint;
|
||
|
||
/// No description provided for @healthRationaleWeight.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Train reads the weights other apps wrote only once you turn it on: each comes into Train once, sealed with your key before it\'s synced to your instance, which can\'t read it.'**
|
||
String get healthRationaleWeight;
|
||
|
||
/// Over the apps that wrote workouts to Health Connect, each with its switch.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Apps'**
|
||
String get healthApps;
|
||
|
||
/// No description provided for @healthAppsEmpty.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'No app has written workouts to Health Connect yet.'**
|
||
String get healthAppsEmpty;
|
||
|
||
/// In the list, after when an imported workout was: the app it came from.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'from {app}'**
|
||
String workoutFromList(String app);
|
||
|
||
/// On an imported workout's page.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'From {app}, through Health Connect'**
|
||
String workoutFrom(String app);
|
||
|
||
/// On an imported workout's page: asks Health Connect for its route.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Bring in the track'**
|
||
String get workoutBringTrack;
|
||
|
||
/// No description provided for @workoutNoTrack.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Health Connect gave no track for it.'**
|
||
String get workoutNoTrack;
|
||
|
||
/// No description provided for @profileTitle.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Your body'**
|
||
String get profileTitle;
|
||
|
||
/// Under Your body in the account sheet.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'What your band and your heart-rate zones work from'**
|
||
String get profileHint;
|
||
|
||
/// No description provided for @profileIntro.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Each figure is optional and sealed with your key, as your workouts are; your instance can\'t read them.'**
|
||
String get profileIntro;
|
||
|
||
/// No description provided for @profileLocked.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Your profile is sealed with a key this device doesn\'t hold.'**
|
||
String get profileLocked;
|
||
|
||
/// No description provided for @profileSex.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Sex'**
|
||
String get profileSex;
|
||
|
||
/// No description provided for @profileSexHint.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'As Polar\'s formulas take it: the one your body\'s figures follow'**
|
||
String get profileSexHint;
|
||
|
||
/// No description provided for @profileSexFemale.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Female'**
|
||
String get profileSexFemale;
|
||
|
||
/// No description provided for @profileSexMale.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Male'**
|
||
String get profileSexMale;
|
||
|
||
/// No description provided for @profileNotGiven.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Not given'**
|
||
String get profileNotGiven;
|
||
|
||
/// No description provided for @profileBirthDate.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Birth date'**
|
||
String get profileBirthDate;
|
||
|
||
/// No description provided for @profileHeight.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Height'**
|
||
String get profileHeight;
|
||
|
||
/// No description provided for @profileHeightUnit.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'cm'**
|
||
String get profileHeightUnit;
|
||
|
||
/// No description provided for @profileWeight.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Weight'**
|
||
String get profileWeight;
|
||
|
||
/// No description provided for @profileWeightUnit.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'kg'**
|
||
String get profileWeightUnit;
|
||
|
||
/// No description provided for @profileRestingHeartRate.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Resting heart rate'**
|
||
String get profileRestingHeartRate;
|
||
|
||
/// No description provided for @profileMaxHeartRate.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Highest heart rate'**
|
||
String get profileMaxHeartRate;
|
||
|
||
/// No description provided for @profileBpmUnit.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'bpm'**
|
||
String get profileBpmUnit;
|
||
|
||
/// No description provided for @profileVo2Max.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'VO2max'**
|
||
String get profileVo2Max;
|
||
|
||
/// No description provided for @profileVo2MaxUnit.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'ml/kg/min'**
|
||
String get profileVo2MaxUnit;
|
||
|
||
/// No description provided for @profileTrainingBackground.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Training background'**
|
||
String get profileTrainingBackground;
|
||
|
||
/// No description provided for @trainingOccasional.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Occasional'**
|
||
String get trainingOccasional;
|
||
|
||
/// No description provided for @trainingRegular.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Regular'**
|
||
String get trainingRegular;
|
||
|
||
/// No description provided for @trainingFrequent.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Frequent'**
|
||
String get trainingFrequent;
|
||
|
||
/// No description provided for @trainingHeavy.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Heavy'**
|
||
String get trainingHeavy;
|
||
|
||
/// No description provided for @trainingSemiPro.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Semi-pro'**
|
||
String get trainingSemiPro;
|
||
|
||
/// No description provided for @trainingPro.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Pro'**
|
||
String get trainingPro;
|
||
|
||
/// No description provided for @profileTypicalDay.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Typical day'**
|
||
String get profileTypicalDay;
|
||
|
||
/// No description provided for @typicalDaySitting.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Mostly sitting'**
|
||
String get typicalDaySitting;
|
||
|
||
/// No description provided for @typicalDayStanding.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Mostly standing'**
|
||
String get typicalDayStanding;
|
||
|
||
/// No description provided for @typicalDayMoving.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Mostly moving'**
|
||
String get typicalDayMoving;
|
||
|
||
/// No description provided for @profileSleepGoal.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Sleep goal'**
|
||
String get profileSleepGoal;
|
||
|
||
/// No description provided for @profileSave.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Save'**
|
||
String get profileSave;
|
||
|
||
/// No description provided for @profileSaved.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Saved'**
|
||
String get profileSaved;
|
||
|
||
/// No description provided for @profileInvalid.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Check the figures marked.'**
|
||
String get profileInvalid;
|
||
|
||
/// No description provided for @profileNeeded.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Needed for your band'**
|
||
String get profileNeeded;
|
||
|
||
/// No description provided for @loopTitle.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Polar Loop'**
|
||
String get loopTitle;
|
||
|
||
/// Under Polar Loop in the account sheet.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Your band: its setup, battery and clock'**
|
||
String get loopHint;
|
||
|
||
/// No description provided for @loopNone.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Train sets up a Polar Loop and keeps it itself, without Polar Flow or a Polar account. A band used with Polar Flow needs a factory reset first.'**
|
||
String get loopNone;
|
||
|
||
/// No description provided for @loopSetUp.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Set up a Loop'**
|
||
String get loopSetUp;
|
||
|
||
/// No description provided for @loopSetUpAgain.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Set up again'**
|
||
String get loopSetUpAgain;
|
||
|
||
/// No description provided for @loopLetGo.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Let the band go'**
|
||
String get loopLetGo;
|
||
|
||
/// No description provided for @loopLetGoTitle.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Let the band go?'**
|
||
String get loopLetGoTitle;
|
||
|
||
/// No description provided for @loopLetGoText.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'The band is reset to the factory\'s state, and what it holds that hasn\'t reached Train is lost. Afterwards it can be paired with another phone, or with Polar Flow.'**
|
||
String get loopLetGoText;
|
||
|
||
/// No description provided for @loopLetGoConfirm.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Reset the band'**
|
||
String get loopLetGoConfirm;
|
||
|
||
/// No description provided for @loopConnected.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Connected'**
|
||
String get loopConnected;
|
||
|
||
/// No description provided for @loopLastSeen.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Last seen {when}'**
|
||
String loopLastSeen(String when);
|
||
|
||
/// No description provided for @loopNotInReach.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Not in reach'**
|
||
String get loopNotInReach;
|
||
|
||
/// No description provided for @loopBattery.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Battery {level} %'**
|
||
String loopBattery(int level);
|
||
|
||
/// No description provided for @loopCharging.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Battery {level} %, charging'**
|
||
String loopCharging(int level);
|
||
|
||
/// No description provided for @loopFirmware.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Firmware {version}'**
|
||
String loopFirmware(String version);
|
||
|
||
/// No description provided for @loopFirmwareCheck.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Check for a firmware update'**
|
||
String get loopFirmwareCheck;
|
||
|
||
/// No description provided for @loopFirmwareCurrent.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'The band\'s firmware is up to date.'**
|
||
String get loopFirmwareCurrent;
|
||
|
||
/// No description provided for @loopFirmwareOffered.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Firmware {version} available'**
|
||
String loopFirmwareOffered(String version);
|
||
|
||
/// No description provided for @loopFirmwareViaPolar.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Fetched from Polar directly: Polar learns this phone\'s address (or its VPN\'s), with the band\'s firmware version and hardware code.'**
|
||
String get loopFirmwareViaPolar;
|
||
|
||
/// No description provided for @loopFirmwareViaInstance.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Fetched through your instance: Polar learns the instance\'s address, not this phone\'s, with the band\'s firmware version and hardware code.'**
|
||
String get loopFirmwareViaInstance;
|
||
|
||
/// No description provided for @loopFirmwareErases.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'The update erases the band. Train first keeps what is on it, then sets it up again with your profile.'**
|
||
String get loopFirmwareErases;
|
||
|
||
/// No description provided for @loopFirmwareUpdate.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Update'**
|
||
String get loopFirmwareUpdate;
|
||
|
||
/// No description provided for @loopFirmwareUpdateTitle.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Update the band\'s firmware?'**
|
||
String get loopFirmwareUpdateTitle;
|
||
|
||
/// No description provided for @loopFirmwareUpdateText.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Train first keeps what is on the band, as the update erases it. The band restarts, which takes a few minutes, and Train then sets it up again with your profile. Keep it near the phone until then.'**
|
||
String get loopFirmwareUpdateText;
|
||
|
||
/// No description provided for @loopFirmwareStage.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{stage, select, reading{Keeping what is on the band…} fetching{Fetching the firmware…} preparing{Preparing the band…} writing{Writing the firmware…} finalizing{Finishing the update…} done{Written} restarting{The band restarts…} other{Updating…}}'**
|
||
String loopFirmwareStage(String stage);
|
||
|
||
/// No description provided for @loopFirmwareStageHint.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Keep the band near the phone, and Train open.'**
|
||
String get loopFirmwareStageHint;
|
||
|
||
/// No description provided for @loopFirmwareUpdated.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Firmware updated; the band is set up again.'**
|
||
String get loopFirmwareUpdated;
|
||
|
||
/// No description provided for @loopFirmwareThroughInstance.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Firmware through your instance'**
|
||
String get loopFirmwareThroughInstance;
|
||
|
||
/// No description provided for @loopFirmwareThroughInstanceHint.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Polar then learns the instance\'s address rather than this phone\'s. Off, the phone asks Polar directly.'**
|
||
String get loopFirmwareThroughInstanceHint;
|
||
|
||
/// No description provided for @loopProfileChanged.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Your body changed since the band was set up'**
|
||
String get loopProfileChanged;
|
||
|
||
/// No description provided for @loopProfileChangedHint.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Sending sets the band up again with your figures as they are now.'**
|
||
String get loopProfileChangedHint;
|
||
|
||
/// No description provided for @loopSend.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Send to the band'**
|
||
String get loopSend;
|
||
|
||
/// No description provided for @loopSent.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Sent to the band.'**
|
||
String get loopSent;
|
||
|
||
/// No description provided for @loopFailed.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'The band didn\'t answer. Keep it close, and try again.'**
|
||
String get loopFailed;
|
||
|
||
/// No description provided for @loopSearching.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Looking for Loops nearby'**
|
||
String get loopSearching;
|
||
|
||
/// No description provided for @loopSearchingHint.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Keep the band close; tap it to wake it up.'**
|
||
String get loopSearchingHint;
|
||
|
||
/// No description provided for @loopRefused.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Train can\'t look for your band without nearby devices. Allow them in Android\'s settings.'**
|
||
String get loopRefused;
|
||
|
||
/// No description provided for @loopUnnamed.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Polar Loop'**
|
||
String get loopUnnamed;
|
||
|
||
/// No description provided for @loopSettingUp.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Setting up the band…'**
|
||
String get loopSettingUp;
|
||
|
||
/// No description provided for @loopSettingUpHint.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Android may ask you to pair it.'**
|
||
String get loopSettingUpHint;
|
||
|
||
/// No description provided for @loopSetUpDone.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'The band is set up.'**
|
||
String get loopSetUpDone;
|
||
|
||
/// No description provided for @loopFormTitle.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'For your band'**
|
||
String get loopFormTitle;
|
||
|
||
/// No description provided for @loopFormIntro.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Your band needs these. They\'re kept in Your body, sealed with your key. For a resting or highest heart rate or a VO2max you haven\'t given, the band takes Polar\'s defaults, and Your body stays as it is.'**
|
||
String get loopFormIntro;
|
||
|
||
/// No description provided for @loopFormSave.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Set up the band'**
|
||
String get loopFormSave;
|
||
|
||
/// No description provided for @homeWorkouts.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Workouts'**
|
||
String get homeWorkouts;
|
||
|
||
/// No description provided for @profileTabProgress.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Progress'**
|
||
String get profileTabProgress;
|
||
|
||
/// No description provided for @homeDays.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Days'**
|
||
String get homeDays;
|
||
|
||
/// No description provided for @homePlans.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Plans'**
|
||
String get homePlans;
|
||
|
||
/// No description provided for @plansNew.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'New plan'**
|
||
String get plansNew;
|
||
|
||
/// No description provided for @plansNewEmpty.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'From nothing'**
|
||
String get plansNewEmpty;
|
||
|
||
/// No description provided for @plansEmptyTitle.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'No plans yet'**
|
||
String get plansEmptyTitle;
|
||
|
||
/// No description provided for @plansEmptyHint.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'A plan\'s steps lead you through intervals as you record, with a tone, a vibration and a voice at each change. Start from a template, or from nothing.'**
|
||
String get plansEmptyHint;
|
||
|
||
/// No description provided for @planLocked.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'A plan that doesn\'t open here'**
|
||
String get planLocked;
|
||
|
||
/// No description provided for @planTemplateFourByFour.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'4×4 minutes'**
|
||
String get planTemplateFourByFour;
|
||
|
||
/// No description provided for @planTemplateTabata.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Tabata'**
|
||
String get planTemplateTabata;
|
||
|
||
/// No description provided for @planTemplateFourHundreds.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'10×400 m'**
|
||
String get planTemplateFourHundreds;
|
||
|
||
/// No description provided for @planTitle.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Plan'**
|
||
String get planTitle;
|
||
|
||
/// No description provided for @planNewTitle.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'New plan'**
|
||
String get planNewTitle;
|
||
|
||
/// No description provided for @planName.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Name'**
|
||
String get planName;
|
||
|
||
/// No description provided for @planActivity.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'For'**
|
||
String get planActivity;
|
||
|
||
/// No description provided for @planActivityAny.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Any activity'**
|
||
String get planActivityAny;
|
||
|
||
/// No description provided for @planOffTarget.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Tell me when I\'m off target'**
|
||
String get planOffTarget;
|
||
|
||
/// No description provided for @planOffTargetHint.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'A short cue at most every 30 seconds.'**
|
||
String get planOffTargetHint;
|
||
|
||
/// No description provided for @planSave.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Save'**
|
||
String get planSave;
|
||
|
||
/// No description provided for @planNotSaved.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'The plan wasn\'t saved.'**
|
||
String get planNotSaved;
|
||
|
||
/// No description provided for @planAddStep.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Add a step'**
|
||
String get planAddStep;
|
||
|
||
/// No description provided for @planAddRepeat.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Add a repeat'**
|
||
String get planAddRepeat;
|
||
|
||
/// No description provided for @planRepeat.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{count}×'**
|
||
String planRepeat(int count);
|
||
|
||
/// No description provided for @planFewer.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Fewer rounds'**
|
||
String get planFewer;
|
||
|
||
/// No description provided for @planMore.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'More rounds'**
|
||
String get planMore;
|
||
|
||
/// No description provided for @planBlockMenu.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'More'**
|
||
String get planBlockMenu;
|
||
|
||
/// No description provided for @planMoveUp.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Move up'**
|
||
String get planMoveUp;
|
||
|
||
/// No description provided for @planMoveDown.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Move down'**
|
||
String get planMoveDown;
|
||
|
||
/// No description provided for @planRemove.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Remove'**
|
||
String get planRemove;
|
||
|
||
/// No description provided for @planDelete.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Delete'**
|
||
String get planDelete;
|
||
|
||
/// No description provided for @planDeleteTitle.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Delete this plan?'**
|
||
String get planDeleteTitle;
|
||
|
||
/// No description provided for @planDeleteMessage.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'It\'s deleted on all your devices; workouts recorded with it keep their steps.'**
|
||
String get planDeleteMessage;
|
||
|
||
/// No description provided for @planDeleted.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Plan deleted'**
|
||
String get planDeleted;
|
||
|
||
/// No description provided for @planSteps.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{count, plural, =1{1 step} other{{count} steps}}'**
|
||
String planSteps(int count);
|
||
|
||
/// No description provided for @planSayRound.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{round} of {rounds}'**
|
||
String planSayRound(int round, int rounds);
|
||
|
||
/// No description provided for @planSayMinutes.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{count, plural, =1{1 minute} other{{count} minutes}}'**
|
||
String planSayMinutes(int count);
|
||
|
||
/// No description provided for @planSaySeconds.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{count, plural, =1{1 second} other{{count} seconds}}'**
|
||
String planSaySeconds(int count);
|
||
|
||
/// No description provided for @planSayMetres.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{count, plural, =1{1 metre} other{{count} metres}}'**
|
||
String planSayMetres(int count);
|
||
|
||
/// No description provided for @planSayKilometres.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{km} kilometres'**
|
||
String planSayKilometres(String km);
|
||
|
||
/// No description provided for @planSayUntilLap.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'until you tap Lap'**
|
||
String get planSayUntilLap;
|
||
|
||
/// No description provided for @planSayPace.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{from} to {to} a kilometre'**
|
||
String planSayPace(String from, String to);
|
||
|
||
/// No description provided for @planSaySpeed.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{from} to {to} kilometres an hour'**
|
||
String planSaySpeed(String from, String to);
|
||
|
||
/// No description provided for @planSayHeartRate.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{from} to {to} beats a minute'**
|
||
String planSayHeartRate(String from, String to);
|
||
|
||
/// No description provided for @planSayZone.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'zone {zone}'**
|
||
String planSayZone(int zone);
|
||
|
||
/// No description provided for @planSaySplit.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{from} to {to} per 500 metres'**
|
||
String planSaySplit(String from, String to);
|
||
|
||
/// No description provided for @planSayWatts.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{from} to {to} watts'**
|
||
String planSayWatts(String from, String to);
|
||
|
||
/// No description provided for @planSayStrokeRate.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{from} to {to} strokes a minute'**
|
||
String planSayStrokeRate(String from, String to);
|
||
|
||
/// No description provided for @planSayHarder.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Push a little'**
|
||
String get planSayHarder;
|
||
|
||
/// No description provided for @planSayEasier.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Ease off a little'**
|
||
String get planSayEasier;
|
||
|
||
/// No description provided for @planSayDone.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Plan done'**
|
||
String get planSayDone;
|
||
|
||
/// No description provided for @stepTitle.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Step'**
|
||
String get stepTitle;
|
||
|
||
/// No description provided for @stepKind.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Kind'**
|
||
String get stepKind;
|
||
|
||
/// No description provided for @stepWarmUp.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Warm-up'**
|
||
String get stepWarmUp;
|
||
|
||
/// No description provided for @stepWork.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Work'**
|
||
String get stepWork;
|
||
|
||
/// No description provided for @stepRecovery.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Recovery'**
|
||
String get stepRecovery;
|
||
|
||
/// No description provided for @stepCoolDown.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Cool-down'**
|
||
String get stepCoolDown;
|
||
|
||
/// No description provided for @stepEnds.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Ends'**
|
||
String get stepEnds;
|
||
|
||
/// No description provided for @stepEndTime.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'After a time'**
|
||
String get stepEndTime;
|
||
|
||
/// No description provided for @stepEndDistance.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'After a distance'**
|
||
String get stepEndDistance;
|
||
|
||
/// No description provided for @stepEndLap.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'With a lap tap'**
|
||
String get stepEndLap;
|
||
|
||
/// No description provided for @stepTimeLabel.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Time (min:s)'**
|
||
String get stepTimeLabel;
|
||
|
||
/// No description provided for @stepMetresLabel.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Metres'**
|
||
String get stepMetresLabel;
|
||
|
||
/// No description provided for @stepTarget.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Target'**
|
||
String get stepTarget;
|
||
|
||
/// No description provided for @stepZone.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Zone'**
|
||
String get stepZone;
|
||
|
||
/// No description provided for @stepDone.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Done'**
|
||
String get stepDone;
|
||
|
||
/// No description provided for @stepMinutes.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{minutes} min'**
|
||
String stepMinutes(int minutes);
|
||
|
||
/// No description provided for @stepSeconds.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{seconds} s'**
|
||
String stepSeconds(int seconds);
|
||
|
||
/// No description provided for @stepMinutesSeconds.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{minutes} min {seconds} s'**
|
||
String stepMinutesSeconds(int minutes, int seconds);
|
||
|
||
/// No description provided for @stepMetres.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{metres} m'**
|
||
String stepMetres(int metres);
|
||
|
||
/// No description provided for @stepKilometres.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{km} km'**
|
||
String stepKilometres(String km);
|
||
|
||
/// No description provided for @stepUntilLap.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'until a lap tap'**
|
||
String get stepUntilLap;
|
||
|
||
/// No description provided for @targetNone.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'None'**
|
||
String get targetNone;
|
||
|
||
/// No description provided for @targetFrom.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'From'**
|
||
String get targetFrom;
|
||
|
||
/// No description provided for @targetTo.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'To'**
|
||
String get targetTo;
|
||
|
||
/// No description provided for @targetKindPace.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Pace (per km)'**
|
||
String get targetKindPace;
|
||
|
||
/// No description provided for @targetKindSpeed.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Speed (km/h)'**
|
||
String get targetKindSpeed;
|
||
|
||
/// No description provided for @targetKindHeartRate.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Heart rate (bpm)'**
|
||
String get targetKindHeartRate;
|
||
|
||
/// No description provided for @targetKindHeartZone.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Heart-rate zone'**
|
||
String get targetKindHeartZone;
|
||
|
||
/// No description provided for @targetKindSplit.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Split (per 500 m)'**
|
||
String get targetKindSplit;
|
||
|
||
/// No description provided for @targetKindWatts.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Power (W)'**
|
||
String get targetKindWatts;
|
||
|
||
/// No description provided for @targetKindStrokeRate.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Stroke rate (per min)'**
|
||
String get targetKindStrokeRate;
|
||
|
||
/// No description provided for @targetPace.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{from}–{to} per km'**
|
||
String targetPace(String from, String to);
|
||
|
||
/// No description provided for @targetSpeed.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{from}–{to} km/h'**
|
||
String targetSpeed(String from, String to);
|
||
|
||
/// No description provided for @targetHeartRate.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{from}–{to} bpm'**
|
||
String targetHeartRate(String from, String to);
|
||
|
||
/// No description provided for @targetZone.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Zone {zone}'**
|
||
String targetZone(int zone);
|
||
|
||
/// No description provided for @targetSplit.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{from}–{to} per 500 m'**
|
||
String targetSplit(String from, String to);
|
||
|
||
/// No description provided for @targetWatts.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{from}–{to} W'**
|
||
String targetWatts(String from, String to);
|
||
|
||
/// No description provided for @targetStrokeRate.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{from}–{to} strokes/min'**
|
||
String targetStrokeRate(String from, String to);
|
||
|
||
/// No description provided for @daysEmptyTitle.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'No days yet'**
|
||
String get daysEmptyTitle;
|
||
|
||
/// No description provided for @daysEmptyHint.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'The days and nights your Polar Loop counts show here.'**
|
||
String get daysEmptyHint;
|
||
|
||
/// No description provided for @daysSteps.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{steps, plural, =1{1 step} other{{steps} steps}}'**
|
||
String daysSteps(int steps);
|
||
|
||
/// No description provided for @daysActive.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{time} active'**
|
||
String daysActive(String time);
|
||
|
||
/// No description provided for @daysAsleep.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{time} asleep'**
|
||
String daysAsleep(String time);
|
||
|
||
/// No description provided for @daysRecharge.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Recharge {level} of 6'**
|
||
String daysRecharge(int level);
|
||
|
||
/// No description provided for @dayHoursMinutes.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{hours} h {minutes} min'**
|
||
String dayHoursMinutes(int hours, int minutes);
|
||
|
||
/// No description provided for @dayMinutes.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{minutes} min'**
|
||
String dayMinutes(int minutes);
|
||
|
||
/// No description provided for @dayCalories.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{calories} kcal'**
|
||
String dayCalories(int calories);
|
||
|
||
/// No description provided for @dayGoal.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{percent} % of the day\'s goal'**
|
||
String dayGoal(int percent);
|
||
|
||
/// No description provided for @dayNothing.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'The band has given nothing for this day yet.'**
|
||
String get dayNothing;
|
||
|
||
/// No description provided for @dayTimes.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'The day\'s time'**
|
||
String get dayTimes;
|
||
|
||
/// No description provided for @dayTimeNonWear.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Not worn'**
|
||
String get dayTimeNonWear;
|
||
|
||
/// No description provided for @dayTimeSleep.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Asleep'**
|
||
String get dayTimeSleep;
|
||
|
||
/// No description provided for @dayTimeSedentary.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Sitting still'**
|
||
String get dayTimeSedentary;
|
||
|
||
/// No description provided for @dayTimeLight.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Light activity'**
|
||
String get dayTimeLight;
|
||
|
||
/// No description provided for @dayTimeModerate.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Moderate activity'**
|
||
String get dayTimeModerate;
|
||
|
||
/// No description provided for @dayTimeVigorous.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Vigorous activity'**
|
||
String get dayTimeVigorous;
|
||
|
||
/// No description provided for @dayHeartRate.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Heart rate'**
|
||
String get dayHeartRate;
|
||
|
||
/// No description provided for @dayBpm.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{bpm} bpm'**
|
||
String dayBpm(int bpm);
|
||
|
||
/// No description provided for @dayNight.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'The night'**
|
||
String get dayNight;
|
||
|
||
/// No description provided for @dayNightSpan.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{from} – {to}'**
|
||
String dayNightSpan(String from, String to);
|
||
|
||
/// No description provided for @daySleepWake.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Awake'**
|
||
String get daySleepWake;
|
||
|
||
/// No description provided for @daySleepRem.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'REM'**
|
||
String get daySleepRem;
|
||
|
||
/// No description provided for @daySleepLight.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Light'**
|
||
String get daySleepLight;
|
||
|
||
/// No description provided for @daySleepDeep.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Deep'**
|
||
String get daySleepDeep;
|
||
|
||
/// No description provided for @dayRatingPoorly.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'You slept poorly'**
|
||
String get dayRatingPoorly;
|
||
|
||
/// No description provided for @dayRatingSomewhatPoorly.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'You slept somewhat poorly'**
|
||
String get dayRatingSomewhatPoorly;
|
||
|
||
/// No description provided for @dayRatingNeither.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'You slept neither poorly nor well'**
|
||
String get dayRatingNeither;
|
||
|
||
/// No description provided for @dayRatingSomewhatWell.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'You slept somewhat well'**
|
||
String get dayRatingSomewhatWell;
|
||
|
||
/// No description provided for @dayRatingWell.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'You slept well'**
|
||
String get dayRatingWell;
|
||
|
||
/// No description provided for @dayRecharge.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Nightly Recharge'**
|
||
String get dayRecharge;
|
||
|
||
/// No description provided for @dayRecovery.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Recovery'**
|
||
String get dayRecovery;
|
||
|
||
/// No description provided for @dayRecoveryOf.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{level} of 6'**
|
||
String dayRecoveryOf(int level);
|
||
|
||
/// No description provided for @dayAns.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Autonomic nervous system'**
|
||
String get dayAns;
|
||
|
||
/// No description provided for @dayHrvName.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Heart rate variability'**
|
||
String get dayHrvName;
|
||
|
||
/// No description provided for @dayBreathingName.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Breathing'**
|
||
String get dayBreathingName;
|
||
|
||
/// No description provided for @dayPerMinute.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{rate} a minute'**
|
||
String dayPerMinute(String rate);
|
||
|
||
/// No description provided for @dayMs.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{ms} ms'**
|
||
String dayMs(int ms);
|
||
|
||
/// Below a figure of the night: the person's own usual, as Polar learnt it.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'usually {value}'**
|
||
String dayUsual(String value);
|
||
|
||
/// No description provided for @dayRechargeHelp.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Nightly Recharge is Polar\'s measure of how your body recovered in the first hours of sleep, against your own usual. Recovery runs from 1 to 6. The autonomic nervous system\'s status runs from −10 to +10: above 0, it settled better than usual. Heart rate variability is how much the time between heartbeats varies; higher than usual tends to mean a better recovery. Breathing counts your breaths a minute. A figure the band has none of yet is left out.'**
|
||
String get dayRechargeHelp;
|
||
|
||
/// No description provided for @daySkin.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Skin temperature'**
|
||
String get daySkin;
|
||
|
||
/// No description provided for @dayCelsius.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{value} °C'**
|
||
String dayCelsius(String value);
|
||
|
||
/// No description provided for @daySkinDeviation.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{value} °C from your usual at night'**
|
||
String daySkinDeviation(String value);
|
||
|
||
/// No description provided for @homeRoutes.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Routes'**
|
||
String get homeRoutes;
|
||
|
||
/// No description provided for @routesNew.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'New route'**
|
||
String get routesNew;
|
||
|
||
/// No description provided for @routesEmptyTitle.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'No routes yet'**
|
||
String get routesEmptyTitle;
|
||
|
||
/// No description provided for @routesEmptyHint.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Tap the map to set waypoints, and your instance plans the way between them on paths and roads, with its climb and surfaces.'**
|
||
String get routesEmptyHint;
|
||
|
||
/// No description provided for @routeLocked.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'A route that doesn\'t open here'**
|
||
String get routeLocked;
|
||
|
||
/// No description provided for @routeTitle.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Route'**
|
||
String get routeTitle;
|
||
|
||
/// No description provided for @routeNewTitle.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'New route'**
|
||
String get routeNewTitle;
|
||
|
||
/// No description provided for @routeName.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Name'**
|
||
String get routeName;
|
||
|
||
/// No description provided for @routeActivity.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'For'**
|
||
String get routeActivity;
|
||
|
||
/// No description provided for @routeActivityAny.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Any activity'**
|
||
String get routeActivityAny;
|
||
|
||
/// No description provided for @routeProfile.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Planned for'**
|
||
String get routeProfile;
|
||
|
||
/// No description provided for @routeProfileRun.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Running'**
|
||
String get routeProfileRun;
|
||
|
||
/// No description provided for @routeProfileHike.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Hiking'**
|
||
String get routeProfileHike;
|
||
|
||
/// No description provided for @routeProfileRoadBike.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Road bike'**
|
||
String get routeProfileRoadBike;
|
||
|
||
/// No description provided for @routeProfileTrekkingBike.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Trekking bike'**
|
||
String get routeProfileTrekkingBike;
|
||
|
||
/// No description provided for @routeProfileGravel.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Gravel bike'**
|
||
String get routeProfileGravel;
|
||
|
||
/// No description provided for @routeProfileMtb.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Mountain bike'**
|
||
String get routeProfileMtb;
|
||
|
||
/// No description provided for @routeTapHint.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Tap the map to add a waypoint, tap one to take it off. Hold one to drag it, or hold the line to pull out another.'**
|
||
String get routeTapHint;
|
||
|
||
/// The menu of a waypoint tapped on the planner's map (D59).
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Take this waypoint off'**
|
||
String get routeWaypointRemove;
|
||
|
||
/// No description provided for @routeUndo.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Take the last waypoint off'**
|
||
String get routeUndo;
|
||
|
||
/// The planner's search field over the map (D50).
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Search for a place'**
|
||
String get routeSearchHint;
|
||
|
||
/// No description provided for @routeSearchClear.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Clear the search'**
|
||
String get routeSearchClear;
|
||
|
||
/// Under the planner's search: the instance found no place.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Nothing found.'**
|
||
String get routeSearchNothing;
|
||
|
||
/// No description provided for @routeSearchTooOften.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Too many searches for now; try again in a minute.'**
|
||
String get routeSearchTooOften;
|
||
|
||
/// No description provided for @routeSearchUnreachable.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'The search can\'t be reached now.'**
|
||
String get routeSearchUnreachable;
|
||
|
||
/// No description provided for @routePlanning.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Planning…'**
|
||
String get routePlanning;
|
||
|
||
/// No description provided for @routeRefusedInvalid.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'A waypoint too many, or one off the map.'**
|
||
String get routeRefusedInvalid;
|
||
|
||
/// No description provided for @routeRefusedTooOften.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Planned too often: try again in a minute.'**
|
||
String get routeRefusedTooOften;
|
||
|
||
/// No description provided for @routeRefusedNoRoute.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'No way found there: a waypoint may be off the paths, or outside the region your instance plans in.'**
|
||
String get routeRefusedNoRoute;
|
||
|
||
/// No description provided for @routeRefusedUnreachable.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Your instance can\'t be reached to plan the way.'**
|
||
String get routeRefusedUnreachable;
|
||
|
||
/// No description provided for @routeNotOffered.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Your instance doesn\'t plan routes.'**
|
||
String get routeNotOffered;
|
||
|
||
/// No description provided for @routeAscent.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{metres} m up'**
|
||
String routeAscent(int metres);
|
||
|
||
/// No description provided for @routeDescent.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{metres} m down'**
|
||
String routeDescent(int metres);
|
||
|
||
/// A route in the list: its distance and climb.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{distance} · {ascent}'**
|
||
String routeSummary(String distance, String ascent);
|
||
|
||
/// In the Routes tab: a route brought in from a GPX file (ADR 0030, D45).
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Bring in a GPX file'**
|
||
String get routesBringIn;
|
||
|
||
/// No description provided for @routeBringInTitle.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Bring in {name}'**
|
||
String routeBringInTitle(String name);
|
||
|
||
/// No description provided for @routeBringInSnap.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Plan it along the paths'**
|
||
String get routeBringInSnap;
|
||
|
||
/// No description provided for @routeBringInSnapHint.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Through its points, with the profile you choose; its turns told'**
|
||
String get routeBringInSnapHint;
|
||
|
||
/// No description provided for @routeBringInDrawn.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Keep it as drawn'**
|
||
String get routeBringInDrawn;
|
||
|
||
/// No description provided for @routeBringInDrawnHint.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Its way as the file has it, no turns told'**
|
||
String get routeBringInDrawnHint;
|
||
|
||
/// No description provided for @routeNotGpx.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'This file holds no route Train can read'**
|
||
String get routeNotGpx;
|
||
|
||
/// No description provided for @routeShareGpx.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Share as GPX'**
|
||
String get routeShareGpx;
|
||
|
||
/// No description provided for @routeSaveGpx.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Save as GPX'**
|
||
String get routeSaveGpx;
|
||
|
||
/// A switch on a saved route: its map kept on this device (ADR 0030, D45).
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Keep the map offline'**
|
||
String get routeOffline;
|
||
|
||
/// No description provided for @routeOfflineOff.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Its map along the way, 2 km either side, on this device for when there\'s no network'**
|
||
String get routeOfflineOff;
|
||
|
||
/// No description provided for @routeOfflineLoading.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Keeping the map: {done} of {total} tiles'**
|
||
String routeOfflineLoading(int done, int total);
|
||
|
||
/// No description provided for @routeOfflineKept.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Kept on this device: {size} MB'**
|
||
String routeOfflineKept(String size);
|
||
|
||
/// No description provided for @routeOfflineMissing.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{missing} of {total} tiles didn\'t come: asked for again when the app next opens online'**
|
||
String routeOfflineMissing(int missing, int total);
|
||
|
||
/// No description provided for @routeOfflineNoMap.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'The map can\'t be reached now: try again online'**
|
||
String get routeOfflineNoMap;
|
||
|
||
/// No description provided for @routeOfflineSaveFirst.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Save the route to keep its map offline'**
|
||
String get routeOfflineSaveFirst;
|
||
|
||
/// No description provided for @routeKeptOffline.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Map kept offline'**
|
||
String get routeKeptOffline;
|
||
|
||
/// No description provided for @routeSurfaces.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Surfaces'**
|
||
String get routeSurfaces;
|
||
|
||
/// No description provided for @surfacePaved.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Paved'**
|
||
String get surfacePaved;
|
||
|
||
/// No description provided for @surfaceCompacted.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Compacted'**
|
||
String get surfaceCompacted;
|
||
|
||
/// No description provided for @surfaceGravel.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Gravel'**
|
||
String get surfaceGravel;
|
||
|
||
/// No description provided for @surfaceNatural.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Natural ground'**
|
||
String get surfaceNatural;
|
||
|
||
/// No description provided for @surfaceUnknown.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Not known'**
|
||
String get surfaceUnknown;
|
||
|
||
/// No description provided for @routeSave.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Save'**
|
||
String get routeSave;
|
||
|
||
/// No description provided for @routeNotSaved.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'The route wasn\'t saved.'**
|
||
String get routeNotSaved;
|
||
|
||
/// No description provided for @routeDelete.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Delete'**
|
||
String get routeDelete;
|
||
|
||
/// No description provided for @routeDeleteTitle.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Delete this route?'**
|
||
String get routeDeleteTitle;
|
||
|
||
/// No description provided for @routeDeleteMessage.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'It\'s deleted on all your devices.'**
|
||
String get routeDeleteMessage;
|
||
|
||
/// No description provided for @routeDeleted.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Route deleted'**
|
||
String get routeDeleted;
|
||
|
||
/// No description provided for @turnStraight.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Go straight on'**
|
||
String get turnStraight;
|
||
|
||
/// No description provided for @turnLeft.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Turn left'**
|
||
String get turnLeft;
|
||
|
||
/// No description provided for @turnSlightLeft.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Bear left'**
|
||
String get turnSlightLeft;
|
||
|
||
/// No description provided for @turnSharpLeft.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Turn sharp left'**
|
||
String get turnSharpLeft;
|
||
|
||
/// No description provided for @turnRight.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Turn right'**
|
||
String get turnRight;
|
||
|
||
/// No description provided for @turnSlightRight.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Bear right'**
|
||
String get turnSlightRight;
|
||
|
||
/// No description provided for @turnSharpRight.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Turn sharp right'**
|
||
String get turnSharpRight;
|
||
|
||
/// No description provided for @turnKeepLeft.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Keep left'**
|
||
String get turnKeepLeft;
|
||
|
||
/// No description provided for @turnKeepRight.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Keep right'**
|
||
String get turnKeepRight;
|
||
|
||
/// No description provided for @turnAround.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Turn around'**
|
||
String get turnAround;
|
||
|
||
/// No description provided for @turnRoundabout.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'At the roundabout, take exit {exit}'**
|
||
String turnRoundabout(int exit);
|
||
|
||
/// No description provided for @turnExitLeft.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Take the exit on the left'**
|
||
String get turnExitLeft;
|
||
|
||
/// No description provided for @turnExitRight.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Take the exit on the right'**
|
||
String get turnExitRight;
|
||
|
||
/// Spoken before a turn while following a route.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'In {metres} metres: {turn}'**
|
||
String routeSayIn(int metres, String turn);
|
||
|
||
/// Spoken off the route; the recorder puts the figures in.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Off the route. It lies {metres} metres {direction}.'**
|
||
String routeSayOff(String metres, String direction);
|
||
|
||
/// No description provided for @routeSayOn.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Back on the route'**
|
||
String get routeSayOn;
|
||
|
||
/// No description provided for @routeSayArrived.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'End of the route'**
|
||
String get routeSayArrived;
|
||
|
||
/// No description provided for @directionNorth.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'to the north'**
|
||
String get directionNorth;
|
||
|
||
/// No description provided for @directionNorthEast.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'to the north-east'**
|
||
String get directionNorthEast;
|
||
|
||
/// No description provided for @directionEast.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'to the east'**
|
||
String get directionEast;
|
||
|
||
/// No description provided for @directionSouthEast.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'to the south-east'**
|
||
String get directionSouthEast;
|
||
|
||
/// No description provided for @directionSouth.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'to the south'**
|
||
String get directionSouth;
|
||
|
||
/// No description provided for @directionSouthWest.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'to the south-west'**
|
||
String get directionSouthWest;
|
||
|
||
/// No description provided for @directionWest.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'to the west'**
|
||
String get directionWest;
|
||
|
||
/// No description provided for @directionNorthWest.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'to the north-west'**
|
||
String get directionNorthWest;
|
||
|
||
/// No description provided for @recordRoute.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Route'**
|
||
String get recordRoute;
|
||
|
||
/// No description provided for @recordNoRoute.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'None'**
|
||
String get recordNoRoute;
|
||
|
||
/// No description provided for @recordingNextTurn.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'In {distance}'**
|
||
String recordingNextTurn(String distance);
|
||
|
||
/// No description provided for @recordingOffRoute.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Off the route: {distance} {direction}'**
|
||
String recordingOffRoute(String distance, String direction);
|
||
|
||
/// No description provided for @recordingRouteEnd.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'End of the route'**
|
||
String get recordingRouteEnd;
|
||
|
||
/// No description provided for @recordingFollowRoute.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Following {name}'**
|
||
String recordingFollowRoute(String name);
|
||
|
||
/// No description provided for @recordingMapHint.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Swipe for the map'**
|
||
String get recordingMapHint;
|
||
|
||
/// No description provided for @recordingFiguresHint.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Swipe back for the figures'**
|
||
String get recordingFiguresHint;
|
||
|
||
/// No description provided for @recordingNorthUp.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'North up'**
|
||
String get recordingNorthUp;
|
||
|
||
/// No description provided for @recordingHeadingUp.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Heading up'**
|
||
String get recordingHeadingUp;
|
||
|
||
/// The music screen's title, and its tile in the account sheet.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Music'**
|
||
String get musicTitle;
|
||
|
||
/// Under Music in the account sheet.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Jellyfin playlists to run to'**
|
||
String get musicHint;
|
||
|
||
/// No description provided for @musicIntro.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Train plays music from your Jellyfin server, choosing tracks whose beat fits your steps. Your account and music stay on this phone.'**
|
||
String get musicIntro;
|
||
|
||
/// The label of the server's address.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Jellyfin server'**
|
||
String get musicServer;
|
||
|
||
/// No description provided for @musicConnect.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Connect'**
|
||
String get musicConnect;
|
||
|
||
/// No description provided for @musicBadAddress.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Enter the server\'s address, such as jellyfin.example.org.'**
|
||
String get musicBadAddress;
|
||
|
||
/// No description provided for @musicInClear.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Train connects to Jellyfin over https only: http would send the password unencrypted. Use the server\'s https address.'**
|
||
String get musicInClear;
|
||
|
||
/// No description provided for @musicUnreachable.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'The server can\'t be reached. Check the address and the connection.'**
|
||
String get musicUnreachable;
|
||
|
||
/// No description provided for @musicNotJellyfin.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'There is no Jellyfin server at this address.'**
|
||
String get musicNotJellyfin;
|
||
|
||
/// No description provided for @musicRefused.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Jellyfin refused. Check the user name and password.'**
|
||
String get musicRefused;
|
||
|
||
/// No description provided for @musicCodeExpired.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'The code has expired.'**
|
||
String get musicCodeExpired;
|
||
|
||
/// No description provided for @musicFailed.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Jellyfin answered with an error. Try again later.'**
|
||
String get musicFailed;
|
||
|
||
/// No description provided for @musicQuickConnect.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'To sign in to {server}, enter this code in Jellyfin on another device, under Settings, Quick Connect.'**
|
||
String musicQuickConnect(String server);
|
||
|
||
/// No description provided for @musicNewCode.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'New code'**
|
||
String get musicNewCode;
|
||
|
||
/// No description provided for @musicBack.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Back'**
|
||
String get musicBack;
|
||
|
||
/// No description provided for @musicUsePassword.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Use a password'**
|
||
String get musicUsePassword;
|
||
|
||
/// No description provided for @musicPasswordIntro.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Sign in to {server} with your Jellyfin user name and password.'**
|
||
String musicPasswordIntro(String server);
|
||
|
||
/// No description provided for @musicUserName.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'User name'**
|
||
String get musicUserName;
|
||
|
||
/// No description provided for @musicPassword.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Password'**
|
||
String get musicPassword;
|
||
|
||
/// No description provided for @musicSignIn.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Sign in'**
|
||
String get musicSignIn;
|
||
|
||
/// No description provided for @musicSignedInAs.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Signed in as {name}'**
|
||
String musicSignedInAs(String name);
|
||
|
||
/// No description provided for @musicSignOut.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Sign out'**
|
||
String get musicSignOut;
|
||
|
||
/// No description provided for @musicPlaylists.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Playlists for running'**
|
||
String get musicPlaylists;
|
||
|
||
/// No description provided for @musicPlaylistsHint.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Train chooses from the tracks of the playlists you mark, and keeps them on this phone.'**
|
||
String get musicPlaylistsHint;
|
||
|
||
/// No description provided for @musicNoPlaylists.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'There are no music playlists on this server yet.'**
|
||
String get musicNoPlaylists;
|
||
|
||
/// No description provided for @musicRetry.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Try again'**
|
||
String get musicRetry;
|
||
|
||
/// No description provided for @musicTracks.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{count, plural, =1{1 track} other{{count} tracks}}'**
|
||
String musicTracks(int count);
|
||
|
||
/// No description provided for @musicKept.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'On this phone'**
|
||
String get musicKept;
|
||
|
||
/// No description provided for @musicKeptWaiting.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{done} of {total} tracks: the rest waits for Wi-Fi'**
|
||
String musicKeptWaiting(int done, int total);
|
||
|
||
/// No description provided for @musicKeptLoading.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Downloading: {done} of {total} tracks'**
|
||
String musicKeptLoading(int done, int total);
|
||
|
||
/// No description provided for @musicKeptDone.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{count} tracks, {size} MB, {tempo} with a tempo'**
|
||
String musicKeptDone(int count, String size, int tempo);
|
||
|
||
/// No description provided for @musicKeptDelete.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Delete'**
|
||
String get musicKeptDelete;
|
||
|
||
/// No description provided for @musicKeptDeleteTitle.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Delete the music on this phone?'**
|
||
String get musicKeptDeleteTitle;
|
||
|
||
/// No description provided for @musicKeptDeleteText.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Every playlist is unmarked, and its tracks deleted from this phone. They stay on your Jellyfin server.'**
|
||
String get musicKeptDeleteText;
|
||
|
||
/// No description provided for @musicSmaller.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Smaller copies'**
|
||
String get musicSmaller;
|
||
|
||
/// No description provided for @musicSmallerHint.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Lossless files such as FLAC kept as Opus at 128 kbps, which your server makes. MP3 and AAC stay as they are.'**
|
||
String get musicSmallerHint;
|
||
|
||
/// No description provided for @recordMusic.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Music'**
|
||
String get recordMusic;
|
||
|
||
/// The segment playing the kept tracks by cadence.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Music'**
|
||
String get recordMusicOn;
|
||
|
||
/// No description provided for @recordMetronome.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Metronome'**
|
||
String get recordMetronome;
|
||
|
||
/// No description provided for @recordMusicOff.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Off'**
|
||
String get recordMusicOff;
|
||
|
||
/// No description provided for @recordAnnounce.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Announcements'**
|
||
String get recordAnnounce;
|
||
|
||
/// The switch's hint on foot (D49).
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Every kilometre: time, pace and heart rate'**
|
||
String get recordAnnounceFoot;
|
||
|
||
/// The switch's hint on a bike (D49).
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Every 5 km: time, speed and heart rate'**
|
||
String get recordAnnounceBike;
|
||
|
||
/// No description provided for @announceKilometres.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{count, plural, =1{1 kilometre} other{{count} kilometres}}'**
|
||
String announceKilometres(int count);
|
||
|
||
/// No description provided for @announceHours.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{count, plural, =1{1 hour} other{{count} hours}}'**
|
||
String announceHours(int count);
|
||
|
||
/// No description provided for @announceTime.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Time {time}'**
|
||
String announceTime(String time);
|
||
|
||
/// No description provided for @announcePace.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Pace {pace} a kilometre'**
|
||
String announcePace(String pace);
|
||
|
||
/// No description provided for @announceSpeed.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Speed {speed} kilometres an hour'**
|
||
String announceSpeed(String speed);
|
||
|
||
/// No description provided for @announceHeartRate.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Heart rate {bpm}'**
|
||
String announceHeartRate(String bpm);
|
||
|
||
/// No description provided for @workoutExport.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Export'**
|
||
String get workoutExport;
|
||
|
||
/// No description provided for @workoutExportTitle.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Export the workout'**
|
||
String get workoutExportTitle;
|
||
|
||
/// No description provided for @workoutExportGpxHint.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'The track, for maps and other apps'**
|
||
String get workoutExportGpxHint;
|
||
|
||
/// No description provided for @workoutExportTcxHint.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Laps, heart rate and cadence, for most training sites'**
|
||
String get workoutExportTcxHint;
|
||
|
||
/// No description provided for @workoutExportFitHint.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'What Strava, Garmin and intervals.icu read best'**
|
||
String get workoutExportFitHint;
|
||
|
||
/// No description provided for @recordSpeedSensor.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Speed and cadence sensor'**
|
||
String get recordSpeedSensor;
|
||
|
||
/// No description provided for @recordNoSpeedSensor.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'None chosen'**
|
||
String get recordNoSpeedSensor;
|
||
|
||
/// No description provided for @recordPowerMeter.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Power meter'**
|
||
String get recordPowerMeter;
|
||
|
||
/// No description provided for @recordNoPowerMeter.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'None chosen'**
|
||
String get recordNoPowerMeter;
|
||
|
||
/// No description provided for @speedSensorSheetTitle.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Speed and cadence sensor'**
|
||
String get speedSensorSheetTitle;
|
||
|
||
/// No description provided for @speedSensorSearching.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Looking for speed and cadence sensors nearby…'**
|
||
String get speedSensorSearching;
|
||
|
||
/// No description provided for @speedSensorSearchingHint.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Turn the wheel or the crank to wake it. One another app holds can\'t be found: close that app first.'**
|
||
String get speedSensorSearchingHint;
|
||
|
||
/// No description provided for @speedSensorUnnamed.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Unnamed sensor'**
|
||
String get speedSensorUnnamed;
|
||
|
||
/// No description provided for @speedSensorForget.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Forget sensor'**
|
||
String get speedSensorForget;
|
||
|
||
/// No description provided for @speedSensorRefused.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Train needs nearby devices to find your sensor. You can allow it in the system\'s settings.'**
|
||
String get speedSensorRefused;
|
||
|
||
/// No description provided for @powerMeterSheetTitle.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Power meter'**
|
||
String get powerMeterSheetTitle;
|
||
|
||
/// No description provided for @powerMeterSearching.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Looking for power meters nearby…'**
|
||
String get powerMeterSearching;
|
||
|
||
/// No description provided for @powerMeterSearchingHint.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Turn the crank to wake it. One another app holds can\'t be found: close that app first.'**
|
||
String get powerMeterSearchingHint;
|
||
|
||
/// No description provided for @powerMeterUnnamed.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Unnamed power meter'**
|
||
String get powerMeterUnnamed;
|
||
|
||
/// No description provided for @powerMeterForget.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Forget power meter'**
|
||
String get powerMeterForget;
|
||
|
||
/// No description provided for @powerMeterRefused.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Train needs nearby devices to find your power meter. You can allow it in the system\'s settings.'**
|
||
String get powerMeterRefused;
|
||
|
||
/// No description provided for @recordingCadence.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'turns a minute'**
|
||
String get recordingCadence;
|
||
|
||
/// No description provided for @workoutPedalling.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Cadence'**
|
||
String get workoutPedalling;
|
||
|
||
/// No description provided for @workoutAverageCadence.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'average cadence'**
|
||
String get workoutAverageCadence;
|
||
|
||
/// No description provided for @workoutNormalisedPower.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'normalised power'**
|
||
String get workoutNormalisedPower;
|
||
|
||
/// No description provided for @workoutRpmValue.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{rpm} rpm'**
|
||
String workoutRpmValue(int rpm);
|
||
|
||
/// No description provided for @recordWheel.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Wheel circumference'**
|
||
String get recordWheel;
|
||
|
||
/// No description provided for @recordWheelMeasured.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{mm} mm, measured by GPS'**
|
||
String recordWheelMeasured(int mm);
|
||
|
||
/// No description provided for @recordWheelTyped.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{mm} mm, as you typed it'**
|
||
String recordWheelTyped(int mm);
|
||
|
||
/// No description provided for @recordWheelDefault.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{mm} mm until GPS has measured it on a ride of 2 km'**
|
||
String recordWheelDefault(int mm);
|
||
|
||
/// No description provided for @recordWheelHint.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'In millimetres, as the tyre says (700×25C: 2105); empty to have GPS measure it'**
|
||
String get recordWheelHint;
|
||
|
||
/// No description provided for @recordWheelSave.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Save'**
|
||
String get recordWheelSave;
|
||
|
||
/// No description provided for @shellTabHome.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Home'**
|
||
String get shellTabHome;
|
||
|
||
/// No description provided for @shellTabMaps.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Maps'**
|
||
String get shellTabMaps;
|
||
|
||
/// No description provided for @shellTabRecord.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Record'**
|
||
String get shellTabRecord;
|
||
|
||
/// No description provided for @shellTabGroups.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Groups'**
|
||
String get shellTabGroups;
|
||
|
||
/// No description provided for @shellTabProfile.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Profile'**
|
||
String get shellTabProfile;
|
||
|
||
/// No description provided for @groupsLaterTitle.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Groups come later'**
|
||
String get groupsLaterTitle;
|
||
|
||
/// No description provided for @groupsLaterHint.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Training with others, in groups of your own, comes in a later version of Train.'**
|
||
String get groupsLaterHint;
|
||
|
||
/// No description provided for @settingsTitle.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Settings'**
|
||
String get settingsTitle;
|
||
|
||
/// No description provided for @settingsTraining.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Training'**
|
||
String get settingsTraining;
|
||
|
||
/// 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 @recordingBarStopped.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Stopped: save or discard it'**
|
||
String get recordingBarStopped;
|
||
|
||
/// No description provided for @recordingBarDistance.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{km} km'**
|
||
String recordingBarDistance(String km);
|
||
|
||
/// No description provided for @homeWeekTitle.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'This week'**
|
||
String get homeWeekTitle;
|
||
|
||
/// No description provided for @homeWeekTime.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Time'**
|
||
String get homeWeekTime;
|
||
|
||
/// No description provided for @homeWeekDistance.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Distance'**
|
||
String get homeWeekDistance;
|
||
|
||
/// No description provided for @homeWeekWorkouts.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Workouts'**
|
||
String get homeWeekWorkouts;
|
||
|
||
/// No description provided for @recordPlansHeading.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Interval plans'**
|
||
String get recordPlansHeading;
|
||
|
||
/// No description provided for @profileWeeksTitle.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Last 12 weeks'**
|
||
String get profileWeeksTitle;
|
||
|
||
/// No description provided for @profileWeekOf.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Week of {date}'**
|
||
String profileWeekOf(String date);
|
||
|
||
/// No description provided for @profileWorkouts.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{count, plural, =1{1 workout} other{{count} workouts}}'**
|
||
String profileWorkouts(int count);
|
||
|
||
/// No description provided for @profileYearEmpty.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'No workouts this year yet.'**
|
||
String get profileYearEmpty;
|
||
|
||
/// No description provided for @bodyWeight.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{kg} kg'**
|
||
String bodyWeight(String kg);
|
||
|
||
/// No description provided for @weightTitle.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Weight'**
|
||
String get weightTitle;
|
||
|
||
/// No description provided for @weightAdd.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Add weight'**
|
||
String get weightAdd;
|
||
|
||
/// No description provided for @weightAll.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'All'**
|
||
String get weightAll;
|
||
|
||
/// No description provided for @weightEmpty.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Add your weight to follow it here; the latest is also your body\'s weight.'**
|
||
String get weightEmpty;
|
||
|
||
/// No description provided for @weightOverTime.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Over time'**
|
||
String get weightOverTime;
|
||
|
||
/// No description provided for @weightField.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Weight'**
|
||
String get weightField;
|
||
|
||
/// No description provided for @weightInvalid.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'A weight between 20 and 400 kg'**
|
||
String get weightInvalid;
|
||
|
||
/// No description provided for @weightWhen.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Measured'**
|
||
String get weightWhen;
|
||
|
||
/// No description provided for @weightDelete.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Delete'**
|
||
String get weightDelete;
|
||
|
||
/// A weight read from Health Connect: the package of the app that wrote it.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'from {app}'**
|
||
String weightFromHealth(String app);
|
||
|
||
/// No description provided for @bodyResting.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'resting {bpm} bpm'**
|
||
String bodyResting(int bpm);
|
||
|
||
/// No description provided for @bodyMax.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'max {bpm} bpm'**
|
||
String bodyMax(int bpm);
|
||
|
||
/// No description provided for @homeToday.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Today'**
|
||
String get homeToday;
|
||
|
||
/// Settings' entry and the screen of the places the person trains at, with what each has (ADR 0034).
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Equipment'**
|
||
String get equipmentTitle;
|
||
|
||
/// No description provided for @equipmentHint.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Where you train, and what\'s there'**
|
||
String get equipmentHint;
|
||
|
||
/// No description provided for @equipmentEmptyTitle.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'No places yet'**
|
||
String get equipmentEmptyTitle;
|
||
|
||
/// No description provided for @equipmentEmptyHint.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Add the places you train at, such as your home and your gym, with what each has. Start from what a home or a gym usually has, or from nothing.'**
|
||
String get equipmentEmptyHint;
|
||
|
||
/// No description provided for @equipmentAddPlace.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Add a place'**
|
||
String get equipmentAddPlace;
|
||
|
||
/// No description provided for @equipmentItems.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{count, plural, =0{Nothing yet} =1{1 piece of equipment} other{{count} pieces of equipment}}'**
|
||
String equipmentItems(int count);
|
||
|
||
/// Marks the place chosen, which the plate calculator and plans use (ADR 0034, D4).
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Where you train now'**
|
||
String get equipmentChosen;
|
||
|
||
/// No description provided for @equipmentChoose.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Train here'**
|
||
String get equipmentChoose;
|
||
|
||
/// No description provided for @equipmentLocked.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Can\'t be opened on this device'**
|
||
String get equipmentLocked;
|
||
|
||
/// No description provided for @placeNewTitle.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'New place'**
|
||
String get placeNewTitle;
|
||
|
||
/// No description provided for @placeName.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Name'**
|
||
String get placeName;
|
||
|
||
/// No description provided for @placeStartFrom.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Start from'**
|
||
String get placeStartFrom;
|
||
|
||
/// No description provided for @placeStartHome.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'A home'**
|
||
String get placeStartHome;
|
||
|
||
/// No description provided for @placeStartGym.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'A gym'**
|
||
String get placeStartGym;
|
||
|
||
/// No description provided for @placeStartNothing.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Nothing'**
|
||
String get placeStartNothing;
|
||
|
||
/// No description provided for @placeDefaultHome.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Home'**
|
||
String get placeDefaultHome;
|
||
|
||
/// No description provided for @placeDefaultGym.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Gym'**
|
||
String get placeDefaultGym;
|
||
|
||
/// No description provided for @placeAdd.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Add'**
|
||
String get placeAdd;
|
||
|
||
/// No description provided for @placeRename.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Rename'**
|
||
String get placeRename;
|
||
|
||
/// No description provided for @placeSave.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Save'**
|
||
String get placeSave;
|
||
|
||
/// No description provided for @placeDelete.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Delete place'**
|
||
String get placeDelete;
|
||
|
||
/// No description provided for @placeDeleteMessage.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'The place and its equipment are deleted on all your devices.'**
|
||
String get placeDeleteMessage;
|
||
|
||
/// No description provided for @placeAddEquipment.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Add equipment'**
|
||
String get placeAddEquipment;
|
||
|
||
/// No description provided for @placeEmptyHint.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Nothing here yet. Add the equipment this place has.'**
|
||
String get placeEmptyHint;
|
||
|
||
/// No description provided for @equipmentKind.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{kind, select, barbell{Barbell} ezBar{EZ bar} trapBar{Trap bar} dumbbellHandle{Dumbbell handles} plates{Weight plates} fixedDumbbells{Dumbbells} kettlebells{Kettlebells} bench{Bench} rack{Rack} pullUpBar{Pull-up bar} dipBars{Dip bars} cableMachine{Cable machine} bands{Resistance bands} other{Your own}}'**
|
||
String equipmentKind(String kind);
|
||
|
||
/// No description provided for @itemName.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'What it is'**
|
||
String get itemName;
|
||
|
||
/// No description provided for @itemHowMany.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'How many'**
|
||
String get itemHowMany;
|
||
|
||
/// No description provided for @itemOwnWeight.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Its own weight'**
|
||
String get itemOwnWeight;
|
||
|
||
/// No description provided for @itemWeights.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Weights'**
|
||
String get itemWeights;
|
||
|
||
/// No description provided for @itemAddWeight.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Add a weight'**
|
||
String get itemAddWeight;
|
||
|
||
/// No description provided for @itemDone.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Done'**
|
||
String get itemDone;
|
||
|
||
/// No description provided for @itemRemove.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Remove'**
|
||
String get itemRemove;
|
||
|
||
/// No description provided for @itemWeightInvalid.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'A weight in kilograms, above 0'**
|
||
String get itemWeightInvalid;
|
||
|
||
/// No description provided for @weightKg.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{weight} kg'**
|
||
String weightKg(String weight);
|
||
|
||
/// No description provided for @weightCount.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{count} × {weight} kg'**
|
||
String weightCount(int count, String weight);
|
||
|
||
/// No description provided for @plateCalculatorTitle.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Plate calculator'**
|
||
String get plateCalculatorTitle;
|
||
|
||
/// No description provided for @plateCalculatorHint.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'What to load, and what changes between sets'**
|
||
String get plateCalculatorHint;
|
||
|
||
/// No description provided for @platePlace.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Place'**
|
||
String get platePlace;
|
||
|
||
/// No description provided for @plateBar.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Bar'**
|
||
String get plateBar;
|
||
|
||
/// No description provided for @plateDumbbellPair.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Two dumbbell handles'**
|
||
String get plateDumbbellPair;
|
||
|
||
/// No description provided for @plateTargets.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Weights, kg'**
|
||
String get plateTargets;
|
||
|
||
/// No description provided for @plateTargetsHelper.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'One for each set, such as 60, 80, 100'**
|
||
String get plateTargetsHelper;
|
||
|
||
/// No description provided for @plateNoPlace.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Add a place you train at, with its plates, first.'**
|
||
String get plateNoPlace;
|
||
|
||
/// No description provided for @plateNoBar.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'This place has nothing that takes plates. Add a barbell or dumbbell handles to it.'**
|
||
String get plateNoBar;
|
||
|
||
/// No description provided for @plateBelowBar.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Below the bar\'s {weight} kg'**
|
||
String plateBelowBar(String weight);
|
||
|
||
/// No description provided for @plateShort.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{weight} kg below what you asked for: the plates make no closer weight'**
|
||
String plateShort(String weight);
|
||
|
||
/// No description provided for @plateSide.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Each side, from the inside: {plates}'**
|
||
String plateSide(String plates);
|
||
|
||
/// No description provided for @plateBarAlone.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'The bar alone'**
|
||
String get plateBarAlone;
|
||
|
||
/// No description provided for @plateOff.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Take off {plates}'**
|
||
String plateOff(String plates);
|
||
|
||
/// No description provided for @plateOn.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Put on {plates}'**
|
||
String plateOn(String plates);
|
||
|
||
/// No description provided for @plateNoChange.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Nothing changes'**
|
||
String get plateNoChange;
|
||
|
||
/// No description provided for @plateMoves.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{count, plural, =0{No plate moves} =1{1 plate moves on each side} other{{count} plates move on each side}}'**
|
||
String plateMoves(int count);
|
||
|
||
/// No description provided for @plateSet.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Set {number}'**
|
||
String plateSet(int number);
|
||
|
||
/// A catalogue exercise's name, by its id (ADR 0035, D1).
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{id, select, backSquat{Back squat} frontSquat{Front squat} gobletSquat{Goblet squat} kettlebellGobletSquat{Kettlebell goblet squat} bodyweightSquat{Bodyweight squat} lunge{Lunge} bulgarianSplitSquat{Bulgarian split squat} bodyweightLunge{Bodyweight lunge} deadlift{Deadlift} romanianDeadlift{Romanian deadlift} trapBarDeadlift{Trap bar deadlift} dumbbellRomanianDeadlift{Dumbbell Romanian deadlift} kettlebellSwing{Kettlebell swing} hipThrust{Hip thrust} gluteBridge{Glute bridge} benchPress{Bench press} inclineBenchPress{Incline bench press} dumbbellBenchPress{Dumbbell bench press} pushUp{Push-up} dip{Dip} overheadPress{Overhead press} dumbbellShoulderPress{Dumbbell shoulder press} pikePushUp{Pike push-up} barbellRow{Barbell row} dumbbellRow{One-arm dumbbell row} cableRow{Seated cable row} invertedRow{Inverted row} bandPullApart{Band pull-apart} facePull{Face pull} pullUp{Pull-up} chinUp{Chin-up} latPulldown{Lat pulldown} bandPulldown{Band pulldown} barbellCurl{Barbell curl} ezBarCurl{EZ bar curl} dumbbellCurl{Dumbbell curl} hammerCurl{Hammer curl} tricepsPushdown{Triceps pushdown} skullCrusher{Skull crusher} overheadTricepsExtension{Overhead triceps extension} benchDip{Bench dip} lateralRaise{Lateral raise} cableLateralRaise{Cable lateral raise} calfRaise{Calf raise} plank{Plank} sidePlank{Side plank} hangingLegRaise{Hanging leg raise} crunch{Crunch} farmersCarry{Farmer\'s carry} other{Exercise}}'**
|
||
String exerciseName(String id);
|
||
|
||
/// What an exercise needs, as in "Missing here: a rack, dip bars".
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{need, select, barbell{a barbell} ezBar{an EZ bar} trapBar{a trap bar} dumbbells{dumbbells} kettlebell{a kettlebell} bench{a bench} rack{a rack} pullUpBar{a pull-up bar} dipBars{dip bars} cableMachine{a cable machine} bands{bands} other{something}}'**
|
||
String exerciseNeed(String need);
|
||
|
||
/// No description provided for @exercisePattern.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{pattern, select, squat{Squats} lunge{Lunges} hinge{Hinges} horizontalPush{Pushes} verticalPush{Pushes overhead} horizontalPull{Rows} verticalPull{Pull-ups and pulldowns} curl{Curls} extension{Triceps} raise{Raises} calf{Calves} core{Core} carry{Carries} other{Other}}'**
|
||
String exercisePattern(String pattern);
|
||
|
||
/// No description provided for @exerciseLoad.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{load, select, barbell{Barbell with plates} ezBar{EZ bar with plates} trapBar{Trap bar with plates} dumbbellPair{A dumbbell in each hand} dumbbell{One dumbbell} kettlebell{Kettlebell} cable{Cable stack} band{Band} body{Body weight} other{Other}}'**
|
||
String exerciseLoad(String load);
|
||
|
||
/// No description provided for @activityStrengthCard.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Strength'**
|
||
String get activityStrengthCard;
|
||
|
||
/// No description provided for @strengthPlansHeading.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Strength plans'**
|
||
String get strengthPlansHeading;
|
||
|
||
/// No description provided for @strengthPlansNew.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'New strength plan'**
|
||
String get strengthPlansNew;
|
||
|
||
/// No description provided for @strengthPlansEmpty.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Strength plans list exercises with their sets, repetitions, weights and rests, alone or as supersets and circuits.'**
|
||
String get strengthPlansEmpty;
|
||
|
||
/// No description provided for @strengthPlanLocked.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Can\'t be opened on this device'**
|
||
String get strengthPlanLocked;
|
||
|
||
/// No description provided for @strengthPlanDeleted.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Strength plan deleted'**
|
||
String get strengthPlanDeleted;
|
||
|
||
/// No description provided for @strengthStart.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Start'**
|
||
String get strengthStart;
|
||
|
||
/// No description provided for @strengthChoosePlan.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Which plan?'**
|
||
String get strengthChoosePlan;
|
||
|
||
/// No description provided for @strengthNoPlans.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Make a strength plan first: the list below has New strength plan.'**
|
||
String get strengthNoPlans;
|
||
|
||
/// No description provided for @strengthPlanTitle.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Strength plan'**
|
||
String get strengthPlanTitle;
|
||
|
||
/// No description provided for @strengthPlanName.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Name'**
|
||
String get strengthPlanName;
|
||
|
||
/// No description provided for @strengthPlanSave.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Save'**
|
||
String get strengthPlanSave;
|
||
|
||
/// No description provided for @strengthPlanDelete.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Delete'**
|
||
String get strengthPlanDelete;
|
||
|
||
/// No description provided for @strengthAddExercise.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Add exercise'**
|
||
String get strengthAddExercise;
|
||
|
||
/// No description provided for @strengthAddToBlock.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Add an exercise to do in turn'**
|
||
String get strengthAddToBlock;
|
||
|
||
/// No description provided for @strengthOwnExercise.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Your own exercise'**
|
||
String get strengthOwnExercise;
|
||
|
||
/// No description provided for @strengthOwnExercises.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Your own'**
|
||
String get strengthOwnExercises;
|
||
|
||
/// No description provided for @strengthExerciseName.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'What it is'**
|
||
String get strengthExerciseName;
|
||
|
||
/// No description provided for @strengthExerciseNeeds.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'What it needs'**
|
||
String get strengthExerciseNeeds;
|
||
|
||
/// No description provided for @strengthExerciseLoad.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'What it is done with'**
|
||
String get strengthExerciseLoad;
|
||
|
||
/// No description provided for @strengthExercisePattern.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'How it moves'**
|
||
String get strengthExercisePattern;
|
||
|
||
/// No description provided for @strengthExerciseTimed.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Held for a time'**
|
||
String get strengthExerciseTimed;
|
||
|
||
/// No description provided for @strengthExerciseDone.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Done'**
|
||
String get strengthExerciseDone;
|
||
|
||
/// No description provided for @strengthAddSet.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Add a set'**
|
||
String get strengthAddSet;
|
||
|
||
/// No description provided for @strengthReps.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Reps'**
|
||
String get strengthReps;
|
||
|
||
/// No description provided for @strengthSeconds.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Seconds'**
|
||
String get strengthSeconds;
|
||
|
||
/// No description provided for @strengthKg.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'kg'**
|
||
String get strengthKg;
|
||
|
||
/// No description provided for @strengthRemoveExercise.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Remove exercise'**
|
||
String get strengthRemoveExercise;
|
||
|
||
/// No description provided for @strengthRemoveSet.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Remove set'**
|
||
String get strengthRemoveSet;
|
||
|
||
/// No description provided for @strengthMoveUp.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Move up'**
|
||
String get strengthMoveUp;
|
||
|
||
/// No description provided for @strengthMoveDown.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Move down'**
|
||
String get strengthMoveDown;
|
||
|
||
/// No description provided for @strengthRest.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Rest'**
|
||
String get strengthRest;
|
||
|
||
/// No description provided for @strengthRestBetween.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Rest between exercises'**
|
||
String get strengthRestBetween;
|
||
|
||
/// No description provided for @strengthDiscardTitle.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Discard changes?'**
|
||
String get strengthDiscardTitle;
|
||
|
||
/// No description provided for @strengthDiscard.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Discard'**
|
||
String get strengthDiscard;
|
||
|
||
/// No description provided for @strengthDiscardMessage.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'What you changed in this plan is not kept.'**
|
||
String get strengthDiscardMessage;
|
||
|
||
/// No description provided for @strengthAbandon.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'End without saving'**
|
||
String get strengthAbandon;
|
||
|
||
/// No description provided for @strengthAbandonMessage.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'The sets done so far are deleted from this device. This can\'t be undone.'**
|
||
String get strengthAbandonMessage;
|
||
|
||
/// No description provided for @strengthFinish.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Finish and save'**
|
||
String get strengthFinish;
|
||
|
||
/// No description provided for @strengthAllDone.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Every set is through.'**
|
||
String get strengthAllDone;
|
||
|
||
/// No description provided for @strengthSetDone.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Done'**
|
||
String get strengthSetDone;
|
||
|
||
/// No description provided for @strengthSkip.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Skip set'**
|
||
String get strengthSkip;
|
||
|
||
/// No description provided for @strengthSwap.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Swap exercise'**
|
||
String get strengthSwap;
|
||
|
||
/// No description provided for @strengthSwapTitle.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Do instead'**
|
||
String get strengthSwapTitle;
|
||
|
||
/// No description provided for @strengthNoSwaps.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Nothing else here moves this way.'**
|
||
String get strengthNoSwaps;
|
||
|
||
/// No description provided for @strengthRestSkip.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Skip rest'**
|
||
String get strengthRestSkip;
|
||
|
||
/// No description provided for @strengthResting.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Rest'**
|
||
String get strengthResting;
|
||
|
||
/// No description provided for @strengthCarryOn.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'A session is under way'**
|
||
String get strengthCarryOn;
|
||
|
||
/// No description provided for @strengthCarryOnAction.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Carry on'**
|
||
String get strengthCarryOnAction;
|
||
|
||
/// No description provided for @strengthWeightNotMadeUp.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Nothing here makes this weight up.'**
|
||
String get strengthWeightNotMadeUp;
|
||
|
||
/// No description provided for @strengthFixed.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{weight} kg, nearest at or below'**
|
||
String strengthFixed(Object weight);
|
||
|
||
/// No description provided for @strengthNoPlace.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'No place chosen: weights as planned.'**
|
||
String get strengthNoPlace;
|
||
|
||
/// No description provided for @strengthTrainsAt.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'At {place}'**
|
||
String strengthTrainsAt(Object place);
|
||
|
||
/// No description provided for @strengthWorkoutVolume.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{weight} kg moved'**
|
||
String strengthWorkoutVolume(Object weight);
|
||
|
||
/// No description provided for @strengthWorkoutSets.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{count, plural, =1{1 set} other{{count} sets}}'**
|
||
String strengthWorkoutSets(num count);
|
||
|
||
/// No description provided for @strengthMissing.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Missing here: {needs}'**
|
||
String strengthMissing(String needs);
|
||
|
||
/// No description provided for @strengthPlanSummary.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{exercises, plural, =1{1 exercise} other{{exercises} exercises}} · {sets, plural, =1{1 set} other{{sets} sets}}'**
|
||
String strengthPlanSummary(int exercises, int sets);
|
||
|
||
/// No description provided for @strengthBlockKind.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{kind, select, superset{Superset} circuit{Circuit} other{Exercise}}'**
|
||
String strengthBlockKind(String kind);
|
||
|
||
/// No description provided for @strengthSetOf.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Set {set} of {sets}'**
|
||
String strengthSetOf(int set, int sets);
|
||
|
||
/// No description provided for @strengthRoundOf.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Round {round} of {rounds}'**
|
||
String strengthRoundOf(int round, int rounds);
|
||
|
||
/// No description provided for @strengthTarget.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{reps} × {weight} kg'**
|
||
String strengthTarget(int reps, String weight);
|
||
|
||
/// No description provided for @strengthTargetReps.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{reps, plural, =1{1 rep} other{{reps} reps}}'**
|
||
String strengthTargetReps(int reps);
|
||
|
||
/// No description provided for @strengthTargetSeconds.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{seconds} s'**
|
||
String strengthTargetSeconds(int seconds);
|
||
|
||
/// No description provided for @strengthNextUp.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Next: {exercise}'**
|
||
String strengthNextUp(String exercise);
|
||
|
||
/// No description provided for @strengthBarAndPlates.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{bar} kg bar, each side: {plates}'**
|
||
String strengthBarAndPlates(String bar, String plates);
|
||
|
||
/// No description provided for @strengthHandlesAndPlates.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{bar} kg handles, each side: {plates}'**
|
||
String strengthHandlesAndPlates(String bar, String plates);
|
||
|
||
/// No description provided for @strengthWeightShort.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{weight} kg below what was planned'**
|
||
String strengthWeightShort(String weight);
|
||
|
||
/// No description provided for @weatherHeading.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Weather'**
|
||
String get weatherHeading;
|
||
|
||
/// What the sky did over a workout, from Open-Meteo's weather code.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{conditions, select, clear{Clear} partlyCloudy{Partly cloudy} cloudy{Overcast} fog{Fog} drizzle{Drizzle} rain{Rain} freezingRain{Freezing rain} snow{Snow} rainShowers{Showers} snowShowers{Snow showers} thunderstorm{Thunderstorm} other{Weather}}'**
|
||
String weatherConditions(String conditions);
|
||
|
||
/// No description provided for @weatherTemperature.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{temperature} °C'**
|
||
String weatherTemperature(String temperature);
|
||
|
||
/// No description provided for @weatherTemperatureRange.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{low}–{high} °C'**
|
||
String weatherTemperatureRange(String low, String high);
|
||
|
||
/// No description provided for @weatherFeelsLike.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Felt like {temperature} °C'**
|
||
String weatherFeelsLike(String temperature);
|
||
|
||
/// No description provided for @weatherWind.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Wind {speed} km/h from the {direction}'**
|
||
String weatherWind(String speed, String direction);
|
||
|
||
/// No description provided for @weatherWindNoDirection.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Wind {speed} km/h'**
|
||
String weatherWindNoDirection(String speed);
|
||
|
||
/// No description provided for @weatherCalm.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Hardly any wind'**
|
||
String get weatherCalm;
|
||
|
||
/// No description provided for @weatherGusts.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'gusts up to {speed} km/h'**
|
||
String weatherGusts(String speed);
|
||
|
||
/// Where the wind came from, as in "from the south-west".
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{direction, select, n{north} ne{north-east} e{east} se{south-east} s{south} sw{south-west} w{west} nw{north-west} other{wind}}'**
|
||
String weatherDirection(String direction);
|
||
|
||
/// No description provided for @weatherPrecipitation.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{amount} mm fell'**
|
||
String weatherPrecipitation(String amount);
|
||
|
||
/// No description provided for @weatherDry.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Nothing fell'**
|
||
String get weatherDry;
|
||
|
||
/// No description provided for @weatherBy.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Weather data by Open-Meteo.com'**
|
||
String get weatherBy;
|
||
|
||
/// No description provided for @movementTitle.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Moving more'**
|
||
String get movementTitle;
|
||
|
||
/// No description provided for @movementHint.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Reminders to get up, and workouts suggested as you move'**
|
||
String get movementHint;
|
||
|
||
/// No description provided for @movementRemind.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Remind me to move'**
|
||
String get movementRemind;
|
||
|
||
/// No description provided for @movementRemindHint.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'When the phone counted hardly a step for a while; never while recording or in a car.'**
|
||
String get movementRemindHint;
|
||
|
||
/// No description provided for @movementIdle.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'After'**
|
||
String get movementIdle;
|
||
|
||
/// No description provided for @movementIdleMinutes.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{minutes} min still'**
|
||
String movementIdleMinutes(int minutes);
|
||
|
||
/// No description provided for @movementHours.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Hours'**
|
||
String get movementHours;
|
||
|
||
/// No description provided for @movementBreak.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Break'**
|
||
String get movementBreak;
|
||
|
||
/// No description provided for @movementBreakHint.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'No reminders over it.'**
|
||
String get movementBreakHint;
|
||
|
||
/// No description provided for @movementDays.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Days'**
|
||
String get movementDays;
|
||
|
||
/// No description provided for @movementSuggest.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Suggest workouts'**
|
||
String get movementSuggest;
|
||
|
||
/// No description provided for @movementSuggestHint.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'When your steps look like a walk or a run and nothing records: tap to record the rest of it. Your Loop\'s own detection is on its screen.'**
|
||
String get movementSuggestHint;
|
||
|
||
/// No description provided for @movementUnavailable.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'This phone doesn\'t count steps, so it can neither remind nor suggest.'**
|
||
String get movementUnavailable;
|
||
|
||
/// No description provided for @movementRefused.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Train needs the physical activity and notification permissions for this.'**
|
||
String get movementRefused;
|
||
|
||
/// No description provided for @movementLate.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'The steps are counted every 15 minutes, so a reminder can come a little late.'**
|
||
String get movementLate;
|
||
|
||
/// No description provided for @movementChannel.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Moving more'**
|
||
String get movementChannel;
|
||
|
||
/// No description provided for @movementRemindTitle.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Time to move'**
|
||
String get movementRemindTitle;
|
||
|
||
/// No description provided for @movementRemindText.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{minutes} minutes with hardly a step. Up for a short walk?'**
|
||
String movementRemindText(int minutes);
|
||
|
||
/// No description provided for @movementWalkingTitle.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Out for a walk?'**
|
||
String get movementWalkingTitle;
|
||
|
||
/// No description provided for @movementRunningTitle.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Out for a run?'**
|
||
String get movementRunningTitle;
|
||
|
||
/// No description provided for @movementSuggestText.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Tap to record the rest of it.'**
|
||
String get movementSuggestText;
|
||
|
||
/// No description provided for @loopDetection.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Detect training by itself'**
|
||
String get loopDetection;
|
||
|
||
/// No description provided for @loopDetectionHint.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'The band notices a session you didn\'t record, and it comes in as a workout.'**
|
||
String get loopDetectionHint;
|
||
|
||
/// No description provided for @loopDetectionMinimum.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Keeps sessions from'**
|
||
String get loopDetectionMinimum;
|
||
|
||
/// No description provided for @loopDetectionMinutes.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{minutes} min'**
|
||
String loopDetectionMinutes(int minutes);
|
||
|
||
/// No description provided for @bodyWeightPounds.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'{lb} lb'**
|
||
String bodyWeightPounds(String lb);
|
||
|
||
/// No description provided for @weightInvalidPounds.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'A weight between 44 and 880 lb'**
|
||
String get weightInvalidPounds;
|
||
|
||
/// No description provided for @profileWeightUnitPounds.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'lb'**
|
||
String get profileWeightUnitPounds;
|
||
|
||
/// Above the choice between kilograms and pounds in Your body.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Weight in'**
|
||
String get profileWeightIn;
|
||
|
||
/// No description provided for @profileWeightKilograms.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Kilograms'**
|
||
String get profileWeightKilograms;
|
||
|
||
/// No description provided for @profileWeightPounds.
|
||
///
|
||
/// In en, this message translates to:
|
||
/// **'Pounds'**
|
||
String get profileWeightPounds;
|
||
}
|
||
|
||
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.',
|
||
);
|
||
}
|