feat: webview

This commit is contained in:
BLoC
2025-01-29 13:14:20 +03:00
parent ae7c72cd53
commit e8e561fdc6
24 changed files with 1741 additions and 1523 deletions

View File

@@ -2,8 +2,6 @@ plugins {
id "com.android.application" id "com.android.application"
id "kotlin-android" id "kotlin-android"
id "dev.flutter.flutter-gradle-plugin" id "dev.flutter.flutter-gradle-plugin"
} }
def keystoreProperties = new Properties() def keystoreProperties = new Properties()
@@ -15,7 +13,7 @@ if (keystorePropertiesFile.exists()) {
android { android {
namespace = "com.eatvioapp.app" namespace = "com.eatvioapp.app"
compileSdk = flutter.compileSdkVersion compileSdk = flutter.compileSdkVersion
ndkVersion = "25.1.8937393" ndkVersion = "27.0.12077973"
compileOptions { compileOptions {
sourceCompatibility = JavaVersion.VERSION_21 sourceCompatibility = JavaVersion.VERSION_21

View File

View File

@@ -17,6 +17,7 @@ import 'package:go_router/go_router.dart';
import 'package:http/http.dart' as http; import 'package:http/http.dart' as http;
import 'package:url_launcher/url_launcher.dart'; import 'package:url_launcher/url_launcher.dart';
import 'package:validators/validators.dart'; import 'package:validators/validators.dart';
import 'package:webview_flutter/webview_flutter.dart';
import 'bloc/auth_bloc.dart'; import 'bloc/auth_bloc.dart';
import 'models/auth_model.dart'; import 'models/auth_model.dart';
@@ -43,11 +44,71 @@ class _AuthScreenState extends State<AuthScreen> {
bool checkboxState = false; bool checkboxState = false;
bool hidePassword = true; bool hidePassword = true;
final baseUrlController = TextEditingController(); final baseUrlController = TextEditingController();
late final WebViewController _controller;
@override
void initState() {
super.initState();
_controller = WebViewController()
..setJavaScriptMode(JavaScriptMode.unrestricted)
..addJavaScriptChannel(
'FlutterChannel',
onMessageReceived: (JavaScriptMessage message) {
// Handle messages from JavaScript
final data = jsonDecode(message.message);
final email = data['email'];
final password = data['password'];
print('Email: $email, Password: $password');
},
)
..setNavigationDelegate(
NavigationDelegate(
onPageFinished: (String url) async {
await _controller.runJavaScript('''
function initializeListeners() {
const emailInput = document.getElementById("inputEmail_main");
const passwordInput = document.getElementById("inputPassword_main");
if (emailInput && passwordInput) {
function sendToFlutter() {
const email = emailInput.value;
const password = passwordInput.value;
const data = JSON.stringify({ email: email, password: password });
if (window.FlutterChannel) {
window.FlutterChannel.postMessage(data);
}
}
emailInput.addEventListener("input", sendToFlutter);
passwordInput.addEventListener("input", sendToFlutter);
} else {
console.error("Email or Password input not found.");
}
}
// Ensure DOM is loaded before attaching listeners
document.addEventListener("DOMContentLoaded", initializeListeners);
initializeListeners();
''');
},
),
)
..loadRequest(Uri.parse(baseUrl));
}
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
FlutterNativeSplash.remove(); FlutterNativeSplash.remove();
final s = S.of(context); final s = S.of(context);
return Scaffold(
appBar: AppBar(
toolbarHeight: 0,
),
body: WebViewWidget(controller: _controller),
);
return Scaffold( return Scaffold(
appBar: AppBar( appBar: AppBar(
centerTitle: true, centerTitle: true,

View File

@@ -110,7 +110,7 @@ class ChatBubbleWidget extends StatelessWidget {
if (text.isNotEmpty) if (text.isNotEmpty)
Text( Text(
text, text,
style: TextStyles.textFS13FW400.copyWith(color: appTheme.black), style: TextStyles.textFS13FW400.copyWith(color: appTheme.black, fontSize: 16),
), ),
SizedBox(height: 8), SizedBox(height: 8),
Padding( Padding(

View File

@@ -28,6 +28,7 @@ class _DevToolsScreenContentState extends State<DevToolsScreenContent> {
final List<TestCases> testCases = [Test850task()]; final List<TestCases> testCases = [Test850task()];
final controller = TextEditingController(); final controller = TextEditingController();
late final List<TestState> testsStates; late final List<TestState> testsStates;
@override @override
void initState() { void initState() {
super.initState(); super.initState();

View File

@@ -14,7 +14,11 @@ class DiaryRepository {
}); });
Future<DiaryDayModel> getDiaryByDate(String date) async { Future<DiaryDayModel> getDiaryByDate(String date) async {
return (await getDiaryIndexByDate(date)).last; try {
return (await getDiaryIndexByDate(date)).last;
} catch (e) {
rethrow;
}
} }
Future<List<DiaryDayModel>> getDiaryIndexByDate(String date) async { Future<List<DiaryDayModel>> getDiaryIndexByDate(String date) async {

View File

@@ -120,11 +120,12 @@ class MenuScreen extends StatelessWidget {
_onTapLogout(BuildContext context) { _onTapLogout(BuildContext context) {
return () async { return () async {
final response = await sl<Dio>().post( try {
baseUrl + '/api/profile/logout', await sl<Dio>().post(
); baseUrl + '/api/profile/logout',
);
if (response.statusCode == 204) { } catch (e) {
} finally {
await TokenStorage.removeTokenInStorage(); await TokenStorage.removeTokenInStorage();
GoRouter.of(context).go('/auth-screen'); GoRouter.of(context).go('/auth-screen');
} }

View File

@@ -59,6 +59,7 @@ class _ProfileScreenState extends State<ProfileScreen> {
late bool canSub; late bool canSub;
bool isFirstFetch = true; bool isFirstFetch = true;
int _currentBullet = 0; int _currentBullet = 0;
@override @override
void initState() { void initState() {
super.initState(); super.initState();
@@ -337,7 +338,7 @@ class _ProfileScreenState extends State<ProfileScreen> {
padding: const EdgeInsets.symmetric(horizontal: 16, vertical: 8), padding: const EdgeInsets.symmetric(horizontal: 16, vertical: 8),
child: InkWell( child: InkWell(
onTap: () { onTap: () {
GoRouter.of(context).pushNamed('blogPostCreateScreen'); GoRouter.of(context).pushNamed('blogPostCreateScreen');
}, },
borderRadius: BorderRadius.circular(8), borderRadius: BorderRadius.circular(8),
child: Ink( child: Ink(
@@ -658,6 +659,8 @@ class _ProfileScreenState extends State<ProfileScreen> {
) )
: CachedNetworkImage( : CachedNetworkImage(
imageUrl: baseUrl + '/storage/' + state.profile.badges[i].image, imageUrl: baseUrl + '/storage/' + state.profile.badges[i].image,
width: 40,
height: 40,
), ),
i < state.profile.badges.length - 1 ? const SizedBox(width: 8) : const SizedBox.shrink(), i < state.profile.badges.length - 1 ? const SizedBox(width: 8) : const SizedBox.shrink(),
], ],

View File

@@ -131,7 +131,7 @@ class _CircumferenceChartWidgetState extends State<CircumferenceChartWidget> {
), ),
), ),
Stack( Stack(
alignment: Alignment.bottomRight, alignment: Alignment.center,
children: [ children: [
SfCartesianChart( SfCartesianChart(
margin: EdgeInsets.symmetric(horizontal: 8), margin: EdgeInsets.symmetric(horizontal: 8),
@@ -172,115 +172,127 @@ class _CircumferenceChartWidgetState extends State<CircumferenceChartWidget> {
tooltipBehavior: TooltipBehavior(enable: true), tooltipBehavior: TooltipBehavior(enable: true),
), ),
if (widget.profileCubit != null) if (widget.profileCubit != null)
FloatingActionButton.small( Positioned(
heroTag: 'addCircumference', right: 16,
onPressed: () { bottom: 16,
if (widget.circumferencePoints.isNotEmpty) { child: FloatingActionButton.small(
chest = widget.circumferencePoints.last.chestCircumference; heroTag: 'addCircumference',
waist = widget.circumferencePoints.last.waistCircumference; onPressed: () {
hip = widget.circumferencePoints.last.hipCircumference; if (widget.circumferencePoints.isNotEmpty) {
chestController = FixedExtentScrollController(initialItem: chest - 20); chest = widget.circumferencePoints.last.chestCircumference;
waistController = FixedExtentScrollController(initialItem: waist - 20); waist = widget.circumferencePoints.last.waistCircumference;
hipController = FixedExtentScrollController(initialItem: hip - 20); hip = widget.circumferencePoints.last.hipCircumference;
} else { chestController = FixedExtentScrollController(initialItem: chest - 20);
chestController = FixedExtentScrollController(); waistController = FixedExtentScrollController(initialItem: waist - 20);
waistController = FixedExtentScrollController(); hipController = FixedExtentScrollController(initialItem: hip - 20);
hipController = FixedExtentScrollController(); } else {
} chestController = FixedExtentScrollController();
showModalBottomSheet( waistController = FixedExtentScrollController();
useRootNavigator: true, hipController = FixedExtentScrollController();
context: context, }
builder: (context) { showModalBottomSheet(
return Column( useRootNavigator: true,
children: [ context: context,
Expanded( builder: (context) {
child: Row( return Column(
children: [ children: [
Expanded( Expanded(
child: CupertinoPicker( child: Row(
magnification: 1.22, children: [
squeeze: 1.2, Expanded(
useMagnifier: true, child: CupertinoPicker(
scrollController: chestController, magnification: 1.22,
itemExtent: 24, squeeze: 1.2,
onSelectedItemChanged: (int value) { useMagnifier: true,
chest = value; scrollController: chestController,
}, itemExtent: 24,
children: [ onSelectedItemChanged: (int value) {
for (int i = 20; i < 200; i++) Text('$i'), chest = value;
], },
children: [
for (int i = 20; i < 200; i++) Text('$i'),
],
),
), ),
), Expanded(
Expanded( child: CupertinoPicker(
child: CupertinoPicker( magnification: 1.22,
magnification: 1.22, squeeze: 1.2,
squeeze: 1.2, useMagnifier: true,
useMagnifier: true, scrollController: waistController,
scrollController: waistController, itemExtent: 24,
itemExtent: 24, onSelectedItemChanged: (int value) {
onSelectedItemChanged: (int value) { waist = value;
waist = value; },
}, children: [
children: [ for (int i = 20; i < 200; i++) Text('$i'),
for (int i = 20; i < 200; i++) Text('$i'), ],
], ),
), ),
), Expanded(
Expanded( child: CupertinoPicker(
child: CupertinoPicker( magnification: 1.22,
magnification: 1.22, squeeze: 1.2,
squeeze: 1.2, useMagnifier: true,
useMagnifier: true, scrollController: hipController,
scrollController: hipController, itemExtent: 24,
itemExtent: 24, onSelectedItemChanged: (int value) {
onSelectedItemChanged: (int value) { hip = value;
hip = value; },
}, children: [
children: [ for (int i = 20; i < 200; i++) Text('$i'),
for (int i = 20; i < 200; i++) Text('$i'), ],
], ),
), ),
), ],
],
),
),
InkWell(
onTap: () {
widget.profileCubit?.addCircumference(
chestCircumference: chest + 20,
waistCircumference: waist + 20,
hipCircumference: hip + 20,
);
Navigator.of(context).pop();
},
borderRadius: BorderRadius.circular(16),
child: Ink(
width: MediaQuery.of(context).size.width - 32,
padding: EdgeInsets.all(16),
decoration: BoxDecoration(
color: appTheme.blueA400,
borderRadius: BorderRadius.circular(16),
), ),
child: Center( ),
child: Text( InkWell(
'Сохранить', onTap: () {
style: TextStyle( widget.profileCubit?.addCircumference(
color: Colors.white, chestCircumference: chest + 20,
waistCircumference: waist + 20,
hipCircumference: hip + 20,
);
Navigator.of(context).pop();
},
borderRadius: BorderRadius.circular(16),
child: Ink(
width: MediaQuery.of(context).size.width - 32,
padding: EdgeInsets.all(16),
decoration: BoxDecoration(
color: appTheme.blueA400,
borderRadius: BorderRadius.circular(16),
),
child: Center(
child: Text(
'Сохранить',
style: TextStyle(
color: Colors.white,
),
), ),
), ),
), ),
), ),
), ],
], );
); },
}, );
); },
}, backgroundColor: appTheme.blueA400,
backgroundColor: appTheme.blueA400, shape: CircleBorder(),
shape: CircleBorder(), child: Icon(
child: Icon( Icons.add,
Icons.add, color: Colors.white,
color: Colors.white, ),
),
),
if (widget.circumferencePoints.isEmpty)
Padding(
padding: const EdgeInsets.symmetric(horizontal: 48),
child: Text(
'Добавьте Ваши замеры',
textAlign: TextAlign.center,
), ),
), ),
], ],

View File

@@ -45,38 +45,44 @@ class ImtChartWidget extends StatelessWidget {
], ],
), ),
), ),
SfCartesianChart( Stack(
margin: EdgeInsets.symmetric(horizontal: 8), alignment: Alignment.center,
enableAxisAnimation: true, children: [
plotAreaBorderWidth: 0, SfCartesianChart(
trackballBehavior: TrackballBehavior( margin: EdgeInsets.symmetric(horizontal: 8),
enable: true, enableAxisAnimation: true,
activationMode: ActivationMode.singleTap, plotAreaBorderWidth: 0,
tooltipDisplayMode: TrackballDisplayMode.groupAllPoints, trackballBehavior: TrackballBehavior(
tooltipSettings: InteractiveTooltip(), enable: true,
lineType: TrackballLineType.vertical, activationMode: ActivationMode.singleTap,
), tooltipDisplayMode: TrackballDisplayMode.groupAllPoints,
primaryXAxis: DateTimeCategoryAxis( tooltipSettings: InteractiveTooltip(),
tickPosition: TickPosition.inside, lineType: TrackballLineType.vertical,
majorTickLines: MajorTickLines( ),
size: 0, primaryXAxis: DateTimeCategoryAxis(
tickPosition: TickPosition.inside,
majorTickLines: MajorTickLines(
size: 0,
),
edgeLabelPlacement: EdgeLabelPlacement.shift,
dateFormat: DateFormat.MMMd('ru'),
labelStyle: TextStyle(
color: Colors.grey,
),
majorGridLines: MajorGridLines(dashArray: [1], color: Colors.grey.withValues(alpha: 0.3)),
axisLine: AxisLine(
color: Colors.grey.withValues(alpha: 0.3),
width: 0.4,
),
),
primaryYAxis: NumericAxis(
isVisible: false,
),
series: _getSplineSeries(),
tooltipBehavior: TooltipBehavior(enable: true),
), ),
edgeLabelPlacement: EdgeLabelPlacement.shift, if (weightPoints.isEmpty) Text('Индекс Массы Тела рассчитывается при указанных весе и росте'),
dateFormat: DateFormat.MMMd('ru'), ],
labelStyle: TextStyle(
color: Colors.grey,
),
majorGridLines: MajorGridLines(dashArray: [1], color: Colors.grey.withValues(alpha: 0.3)),
axisLine: AxisLine(
color: Colors.grey.withValues(alpha: 0.3),
width: 0.4,
),
),
primaryYAxis: NumericAxis(
isVisible: false,
),
series: _getSplineSeries(),
tooltipBehavior: TooltipBehavior(enable: true),
), ),
], ],
); );

View File

@@ -13,7 +13,7 @@ class WeightChartWidget extends StatefulWidget {
const WeightChartWidget({ const WeightChartWidget({
super.key, super.key,
required this.weightPoints, required this.weightPoints,
this.profileCubit, this.profileCubit,
}); });
@override @override
@@ -70,7 +70,7 @@ class _WeightChartWidgetState extends State<WeightChartWidget> {
), ),
), ),
Stack( Stack(
alignment: Alignment.bottomRight, alignment: Alignment.center,
children: [ children: [
SfCartesianChart( SfCartesianChart(
margin: EdgeInsets.symmetric(horizontal: 8), margin: EdgeInsets.symmetric(horizontal: 8),
@@ -112,99 +112,104 @@ class _WeightChartWidgetState extends State<WeightChartWidget> {
tooltipBehavior: TooltipBehavior(enable: true), tooltipBehavior: TooltipBehavior(enable: true),
), ),
if (widget.profileCubit != null) if (widget.profileCubit != null)
FloatingActionButton.small( Positioned(
heroTag: 'addWeight', right: 16,
onPressed: () { bottom: 16,
if (widget.weightPoints.isNotEmpty) { child: FloatingActionButton.small(
try { heroTag: 'addWeight',
weightKilo = int.parse(widget.weightPoints.last.weight.toString().split('.')[0]); onPressed: () {
weightGrams = int.parse(widget.weightPoints.last.weight.toString().split('.')[1][0]); if (widget.weightPoints.isNotEmpty) {
} catch (e) { try {
weightGrams = 0; weightKilo = int.parse(widget.weightPoints.last.weight.toString().split('.')[0]);
weightGrams = int.parse(widget.weightPoints.last.weight.toString().split('.')[1][0]);
} catch (e) {
weightGrams = 0;
}
weightKiloController = FixedExtentScrollController(initialItem: weightKilo - 20);
weightGramsController = FixedExtentScrollController(initialItem: weightGrams);
} else {
weightKiloController = FixedExtentScrollController();
weightGramsController = FixedExtentScrollController();
} }
weightKiloController = FixedExtentScrollController(initialItem: weightKilo - 20); showModalBottomSheet(
weightGramsController = FixedExtentScrollController(initialItem: weightGrams); useRootNavigator: true,
} else { context: context,
weightKiloController = FixedExtentScrollController(); builder: (context) {
weightGramsController = FixedExtentScrollController(); return Column(
} children: [
showModalBottomSheet( Expanded(
useRootNavigator: true, child: Row(
context: context, children: [
builder: (context) { Expanded(
return Column( child: CupertinoPicker(
children: [ magnification: 1.22,
Expanded( squeeze: 1.2,
child: Row( useMagnifier: true,
children: [ scrollController: weightKiloController,
Expanded( itemExtent: 24,
child: CupertinoPicker( onSelectedItemChanged: (int value) {
magnification: 1.22, weightKilo = value + 20;
squeeze: 1.2, },
useMagnifier: true, children: [
scrollController: weightKiloController, for (int i = 20; i < 300; i++) Text('$i'),
itemExtent: 24, ],
onSelectedItemChanged: (int value) { ),
weightKilo = value + 20;
},
children: [
for (int i = 20; i < 300; i++) Text('$i'),
],
), ),
), Expanded(
Expanded( child: CupertinoPicker(
child: CupertinoPicker( magnification: 1.22,
magnification: 1.22, squeeze: 1.2,
squeeze: 1.2, useMagnifier: true,
useMagnifier: true, scrollController: weightGramsController,
scrollController: weightGramsController, itemExtent: 24,
itemExtent: 24, onSelectedItemChanged: (int value) {
onSelectedItemChanged: (int value) { weightGrams = value;
weightGrams = value; },
}, children: [
children: [ for (int i = 0; i < 10; i++) Text('$i'),
for (int i = 0; i < 10; i++) Text('$i'), ],
], ),
), ),
), ],
],
),
),
InkWell(
onTap: () {
widget.profileCubit?.addWeight(weight: double.parse('$weightKilo.$weightGrams'));
Navigator.of(context).pop();
},
borderRadius: BorderRadius.circular(16),
child: Ink(
width: MediaQuery.of(context).size.width - 32,
padding: EdgeInsets.all(16),
decoration: BoxDecoration(
color: appTheme.blueA400,
borderRadius: BorderRadius.circular(16),
), ),
child: Center( ),
child: Text( InkWell(
'Сохранить', onTap: () {
style: TextStyle( widget.profileCubit?.addWeight(weight: double.parse('$weightKilo.$weightGrams'));
color: Colors.white, Navigator.of(context).pop();
},
borderRadius: BorderRadius.circular(16),
child: Ink(
width: MediaQuery.of(context).size.width - 32,
padding: EdgeInsets.all(16),
decoration: BoxDecoration(
color: appTheme.blueA400,
borderRadius: BorderRadius.circular(16),
),
child: Center(
child: Text(
'Сохранить',
style: TextStyle(
color: Colors.white,
),
), ),
), ),
), ),
), ),
), ],
], );
); },
}, );
); },
}, backgroundColor: appTheme.blueA400,
backgroundColor: appTheme.blueA400, shape: CircleBorder(),
shape: CircleBorder(), child: Icon(
child: Icon( Icons.add,
Icons.add, color: Colors.white,
color: Colors.white, ),
), ),
), ),
if (widget.weightPoints.isEmpty) Text('Добавьте Ваш вес'),
], ],
), ),
], ],

View File

@@ -0,0 +1,37 @@
import 'package:eatvio_app/features/recipes/models/ingredient.dart';
import 'package:eatvio_app/features/recipes/models/step.dart';
import 'package:freezed_annotation/freezed_annotation.dart';
part 'recipe_create_model.freezed.dart';
part 'recipe_create_model.g.dart';
enum RecipeType {
first_meals,
second_meals,
salads,
snacks,
sweets,
drinks,
other
}
@freezed
class RecipeCreateModel with _$RecipeCreateModel {
const factory RecipeCreateModel({
required String title,
required String state,
required String description,
required RecipeType type,
@JsonKey(name: 'video_url') String? videoUrl,
@JsonKey(name: 'cooking_time') String? cookingTime,
@JsonKey(name: 'active_time') String? activeTime,
required String servings,
@JsonKey(name: 'energy_per_serving') required String energyPerServing,
required List<String> tags,
required List<Ingredient> ingredients,
required List<Step> steps,
}) = _RecipeCreateModel;
factory RecipeCreateModel.fromJson(Map<String, Object?> json) => _$RecipeCreateModelFromJson(json);
}

View File

@@ -0,0 +1,442 @@
// coverage:ignore-file
// GENERATED CODE - DO NOT MODIFY BY HAND
// ignore_for_file: type=lint
// ignore_for_file: unused_element, deprecated_member_use, deprecated_member_use_from_same_package, use_function_type_syntax_for_parameters, unnecessary_const, avoid_init_to_null, invalid_override_different_default_values_named, prefer_expression_function_bodies, annotate_overrides, invalid_annotation_target, unnecessary_question_mark
part of 'recipe_create_model.dart';
// **************************************************************************
// FreezedGenerator
// **************************************************************************
T _$identity<T>(T value) => value;
final _privateConstructorUsedError = UnsupportedError(
'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#adding-getters-and-methods-to-our-models');
RecipeCreateModel _$RecipeCreateModelFromJson(Map<String, dynamic> json) {
return _RecipeCreateModel.fromJson(json);
}
/// @nodoc
mixin _$RecipeCreateModel {
String get title => throw _privateConstructorUsedError;
String get state => throw _privateConstructorUsedError;
String get description => throw _privateConstructorUsedError;
RecipeType get type => throw _privateConstructorUsedError;
@JsonKey(name: 'video_url')
String? get videoUrl => throw _privateConstructorUsedError;
@JsonKey(name: 'cooking_time')
String? get cookingTime => throw _privateConstructorUsedError;
@JsonKey(name: 'active_time')
String? get activeTime => throw _privateConstructorUsedError;
String get servings => throw _privateConstructorUsedError;
@JsonKey(name: 'energy_per_serving')
String get energyPerServing => throw _privateConstructorUsedError;
List<String> get tags => throw _privateConstructorUsedError;
List<Ingredient> get ingredients => throw _privateConstructorUsedError;
List<Step> get steps => throw _privateConstructorUsedError;
/// Serializes this RecipeCreateModel to a JSON map.
Map<String, dynamic> toJson() => throw _privateConstructorUsedError;
/// Create a copy of RecipeCreateModel
/// with the given fields replaced by the non-null parameter values.
@JsonKey(includeFromJson: false, includeToJson: false)
$RecipeCreateModelCopyWith<RecipeCreateModel> get copyWith =>
throw _privateConstructorUsedError;
}
/// @nodoc
abstract class $RecipeCreateModelCopyWith<$Res> {
factory $RecipeCreateModelCopyWith(
RecipeCreateModel value, $Res Function(RecipeCreateModel) then) =
_$RecipeCreateModelCopyWithImpl<$Res, RecipeCreateModel>;
@useResult
$Res call(
{String title,
String state,
String description,
RecipeType type,
@JsonKey(name: 'video_url') String? videoUrl,
@JsonKey(name: 'cooking_time') String? cookingTime,
@JsonKey(name: 'active_time') String? activeTime,
String servings,
@JsonKey(name: 'energy_per_serving') String energyPerServing,
List<String> tags,
List<Ingredient> ingredients,
List<Step> steps});
}
/// @nodoc
class _$RecipeCreateModelCopyWithImpl<$Res, $Val extends RecipeCreateModel>
implements $RecipeCreateModelCopyWith<$Res> {
_$RecipeCreateModelCopyWithImpl(this._value, this._then);
// ignore: unused_field
final $Val _value;
// ignore: unused_field
final $Res Function($Val) _then;
/// Create a copy of RecipeCreateModel
/// with the given fields replaced by the non-null parameter values.
@pragma('vm:prefer-inline')
@override
$Res call({
Object? title = null,
Object? state = null,
Object? description = null,
Object? type = null,
Object? videoUrl = freezed,
Object? cookingTime = freezed,
Object? activeTime = freezed,
Object? servings = null,
Object? energyPerServing = null,
Object? tags = null,
Object? ingredients = null,
Object? steps = null,
}) {
return _then(_value.copyWith(
title: null == title
? _value.title
: title // ignore: cast_nullable_to_non_nullable
as String,
state: null == state
? _value.state
: state // ignore: cast_nullable_to_non_nullable
as String,
description: null == description
? _value.description
: description // ignore: cast_nullable_to_non_nullable
as String,
type: null == type
? _value.type
: type // ignore: cast_nullable_to_non_nullable
as RecipeType,
videoUrl: freezed == videoUrl
? _value.videoUrl
: videoUrl // ignore: cast_nullable_to_non_nullable
as String?,
cookingTime: freezed == cookingTime
? _value.cookingTime
: cookingTime // ignore: cast_nullable_to_non_nullable
as String?,
activeTime: freezed == activeTime
? _value.activeTime
: activeTime // ignore: cast_nullable_to_non_nullable
as String?,
servings: null == servings
? _value.servings
: servings // ignore: cast_nullable_to_non_nullable
as String,
energyPerServing: null == energyPerServing
? _value.energyPerServing
: energyPerServing // ignore: cast_nullable_to_non_nullable
as String,
tags: null == tags
? _value.tags
: tags // ignore: cast_nullable_to_non_nullable
as List<String>,
ingredients: null == ingredients
? _value.ingredients
: ingredients // ignore: cast_nullable_to_non_nullable
as List<Ingredient>,
steps: null == steps
? _value.steps
: steps // ignore: cast_nullable_to_non_nullable
as List<Step>,
) as $Val);
}
}
/// @nodoc
abstract class _$$RecipeCreateModelImplCopyWith<$Res>
implements $RecipeCreateModelCopyWith<$Res> {
factory _$$RecipeCreateModelImplCopyWith(_$RecipeCreateModelImpl value,
$Res Function(_$RecipeCreateModelImpl) then) =
__$$RecipeCreateModelImplCopyWithImpl<$Res>;
@override
@useResult
$Res call(
{String title,
String state,
String description,
RecipeType type,
@JsonKey(name: 'video_url') String? videoUrl,
@JsonKey(name: 'cooking_time') String? cookingTime,
@JsonKey(name: 'active_time') String? activeTime,
String servings,
@JsonKey(name: 'energy_per_serving') String energyPerServing,
List<String> tags,
List<Ingredient> ingredients,
List<Step> steps});
}
/// @nodoc
class __$$RecipeCreateModelImplCopyWithImpl<$Res>
extends _$RecipeCreateModelCopyWithImpl<$Res, _$RecipeCreateModelImpl>
implements _$$RecipeCreateModelImplCopyWith<$Res> {
__$$RecipeCreateModelImplCopyWithImpl(_$RecipeCreateModelImpl _value,
$Res Function(_$RecipeCreateModelImpl) _then)
: super(_value, _then);
/// Create a copy of RecipeCreateModel
/// with the given fields replaced by the non-null parameter values.
@pragma('vm:prefer-inline')
@override
$Res call({
Object? title = null,
Object? state = null,
Object? description = null,
Object? type = null,
Object? videoUrl = freezed,
Object? cookingTime = freezed,
Object? activeTime = freezed,
Object? servings = null,
Object? energyPerServing = null,
Object? tags = null,
Object? ingredients = null,
Object? steps = null,
}) {
return _then(_$RecipeCreateModelImpl(
title: null == title
? _value.title
: title // ignore: cast_nullable_to_non_nullable
as String,
state: null == state
? _value.state
: state // ignore: cast_nullable_to_non_nullable
as String,
description: null == description
? _value.description
: description // ignore: cast_nullable_to_non_nullable
as String,
type: null == type
? _value.type
: type // ignore: cast_nullable_to_non_nullable
as RecipeType,
videoUrl: freezed == videoUrl
? _value.videoUrl
: videoUrl // ignore: cast_nullable_to_non_nullable
as String?,
cookingTime: freezed == cookingTime
? _value.cookingTime
: cookingTime // ignore: cast_nullable_to_non_nullable
as String?,
activeTime: freezed == activeTime
? _value.activeTime
: activeTime // ignore: cast_nullable_to_non_nullable
as String?,
servings: null == servings
? _value.servings
: servings // ignore: cast_nullable_to_non_nullable
as String,
energyPerServing: null == energyPerServing
? _value.energyPerServing
: energyPerServing // ignore: cast_nullable_to_non_nullable
as String,
tags: null == tags
? _value._tags
: tags // ignore: cast_nullable_to_non_nullable
as List<String>,
ingredients: null == ingredients
? _value._ingredients
: ingredients // ignore: cast_nullable_to_non_nullable
as List<Ingredient>,
steps: null == steps
? _value._steps
: steps // ignore: cast_nullable_to_non_nullable
as List<Step>,
));
}
}
/// @nodoc
@JsonSerializable()
class _$RecipeCreateModelImpl implements _RecipeCreateModel {
const _$RecipeCreateModelImpl(
{required this.title,
required this.state,
required this.description,
required this.type,
@JsonKey(name: 'video_url') this.videoUrl,
@JsonKey(name: 'cooking_time') this.cookingTime,
@JsonKey(name: 'active_time') this.activeTime,
required this.servings,
@JsonKey(name: 'energy_per_serving') required this.energyPerServing,
required final List<String> tags,
required final List<Ingredient> ingredients,
required final List<Step> steps})
: _tags = tags,
_ingredients = ingredients,
_steps = steps;
factory _$RecipeCreateModelImpl.fromJson(Map<String, dynamic> json) =>
_$$RecipeCreateModelImplFromJson(json);
@override
final String title;
@override
final String state;
@override
final String description;
@override
final RecipeType type;
@override
@JsonKey(name: 'video_url')
final String? videoUrl;
@override
@JsonKey(name: 'cooking_time')
final String? cookingTime;
@override
@JsonKey(name: 'active_time')
final String? activeTime;
@override
final String servings;
@override
@JsonKey(name: 'energy_per_serving')
final String energyPerServing;
final List<String> _tags;
@override
List<String> get tags {
if (_tags is EqualUnmodifiableListView) return _tags;
// ignore: implicit_dynamic_type
return EqualUnmodifiableListView(_tags);
}
final List<Ingredient> _ingredients;
@override
List<Ingredient> get ingredients {
if (_ingredients is EqualUnmodifiableListView) return _ingredients;
// ignore: implicit_dynamic_type
return EqualUnmodifiableListView(_ingredients);
}
final List<Step> _steps;
@override
List<Step> get steps {
if (_steps is EqualUnmodifiableListView) return _steps;
// ignore: implicit_dynamic_type
return EqualUnmodifiableListView(_steps);
}
@override
String toString() {
return 'RecipeCreateModel(title: $title, state: $state, description: $description, type: $type, videoUrl: $videoUrl, cookingTime: $cookingTime, activeTime: $activeTime, servings: $servings, energyPerServing: $energyPerServing, tags: $tags, ingredients: $ingredients, steps: $steps)';
}
@override
bool operator ==(Object other) {
return identical(this, other) ||
(other.runtimeType == runtimeType &&
other is _$RecipeCreateModelImpl &&
(identical(other.title, title) || other.title == title) &&
(identical(other.state, state) || other.state == state) &&
(identical(other.description, description) ||
other.description == description) &&
(identical(other.type, type) || other.type == type) &&
(identical(other.videoUrl, videoUrl) ||
other.videoUrl == videoUrl) &&
(identical(other.cookingTime, cookingTime) ||
other.cookingTime == cookingTime) &&
(identical(other.activeTime, activeTime) ||
other.activeTime == activeTime) &&
(identical(other.servings, servings) ||
other.servings == servings) &&
(identical(other.energyPerServing, energyPerServing) ||
other.energyPerServing == energyPerServing) &&
const DeepCollectionEquality().equals(other._tags, _tags) &&
const DeepCollectionEquality()
.equals(other._ingredients, _ingredients) &&
const DeepCollectionEquality().equals(other._steps, _steps));
}
@JsonKey(includeFromJson: false, includeToJson: false)
@override
int get hashCode => Object.hash(
runtimeType,
title,
state,
description,
type,
videoUrl,
cookingTime,
activeTime,
servings,
energyPerServing,
const DeepCollectionEquality().hash(_tags),
const DeepCollectionEquality().hash(_ingredients),
const DeepCollectionEquality().hash(_steps));
/// Create a copy of RecipeCreateModel
/// with the given fields replaced by the non-null parameter values.
@JsonKey(includeFromJson: false, includeToJson: false)
@override
@pragma('vm:prefer-inline')
_$$RecipeCreateModelImplCopyWith<_$RecipeCreateModelImpl> get copyWith =>
__$$RecipeCreateModelImplCopyWithImpl<_$RecipeCreateModelImpl>(
this, _$identity);
@override
Map<String, dynamic> toJson() {
return _$$RecipeCreateModelImplToJson(
this,
);
}
}
abstract class _RecipeCreateModel implements RecipeCreateModel {
const factory _RecipeCreateModel(
{required final String title,
required final String state,
required final String description,
required final RecipeType type,
@JsonKey(name: 'video_url') final String? videoUrl,
@JsonKey(name: 'cooking_time') final String? cookingTime,
@JsonKey(name: 'active_time') final String? activeTime,
required final String servings,
@JsonKey(name: 'energy_per_serving')
required final String energyPerServing,
required final List<String> tags,
required final List<Ingredient> ingredients,
required final List<Step> steps}) = _$RecipeCreateModelImpl;
factory _RecipeCreateModel.fromJson(Map<String, dynamic> json) =
_$RecipeCreateModelImpl.fromJson;
@override
String get title;
@override
String get state;
@override
String get description;
@override
RecipeType get type;
@override
@JsonKey(name: 'video_url')
String? get videoUrl;
@override
@JsonKey(name: 'cooking_time')
String? get cookingTime;
@override
@JsonKey(name: 'active_time')
String? get activeTime;
@override
String get servings;
@override
@JsonKey(name: 'energy_per_serving')
String get energyPerServing;
@override
List<String> get tags;
@override
List<Ingredient> get ingredients;
@override
List<Step> get steps;
/// Create a copy of RecipeCreateModel
/// with the given fields replaced by the non-null parameter values.
@override
@JsonKey(includeFromJson: false, includeToJson: false)
_$$RecipeCreateModelImplCopyWith<_$RecipeCreateModelImpl> get copyWith =>
throw _privateConstructorUsedError;
}

View File

@@ -0,0 +1,55 @@
// GENERATED CODE - DO NOT MODIFY BY HAND
part of 'recipe_create_model.dart';
// **************************************************************************
// JsonSerializableGenerator
// **************************************************************************
_$RecipeCreateModelImpl _$$RecipeCreateModelImplFromJson(
Map<String, dynamic> json) =>
_$RecipeCreateModelImpl(
title: json['title'] as String,
state: json['state'] as String,
description: json['description'] as String,
type: $enumDecode(_$RecipeTypeEnumMap, json['type']),
videoUrl: json['video_url'] as String?,
cookingTime: json['cooking_time'] as String?,
activeTime: json['active_time'] as String?,
servings: json['servings'] as String,
energyPerServing: json['energy_per_serving'] as String,
tags: (json['tags'] as List<dynamic>).map((e) => e as String).toList(),
ingredients: (json['ingredients'] as List<dynamic>)
.map((e) => Ingredient.fromJson(e as Map<String, dynamic>))
.toList(),
steps: (json['steps'] as List<dynamic>)
.map((e) => Step.fromJson(e as Map<String, dynamic>))
.toList(),
);
Map<String, dynamic> _$$RecipeCreateModelImplToJson(
_$RecipeCreateModelImpl instance) =>
<String, dynamic>{
'title': instance.title,
'state': instance.state,
'description': instance.description,
'type': _$RecipeTypeEnumMap[instance.type]!,
'video_url': instance.videoUrl,
'cooking_time': instance.cookingTime,
'active_time': instance.activeTime,
'servings': instance.servings,
'energy_per_serving': instance.energyPerServing,
'tags': instance.tags,
'ingredients': instance.ingredients,
'steps': instance.steps,
};
const _$RecipeTypeEnumMap = {
RecipeType.first_meals: 'first_meals',
RecipeType.second_meals: 'second_meals',
RecipeType.salads: 'salads',
RecipeType.snacks: 'snacks',
RecipeType.sweets: 'sweets',
RecipeType.drinks: 'drinks',
RecipeType.other: 'other',
};

View File

@@ -41,7 +41,6 @@ class _AdditionalInformationScreenState extends State<AdditionalInformationScree
SizedBox(height: 4), SizedBox(height: 4),
CustomTextFormField( CustomTextFormField(
controller: editTextController, controller: editTextController,
hintText: "У меня крепкое здоровье, но последнее время часто утомляюсь, однако, это мне не мешает радоваться жизни",
textInputAction: TextInputAction.done, textInputAction: TextInputAction.done,
maxLines: 8, maxLines: 8,
inputFormatters: [ inputFormatters: [

View File

@@ -37,8 +37,6 @@ class _FavoriteSportsScreenState extends State<FavoriteSportsScreen> {
SizedBox(height: 4), SizedBox(height: 4),
CustomTextFormField( CustomTextFormField(
controller: enterInformationController, controller: enterInformationController,
hintText: "Я занимаюсь плаванием , почти каждый вечер прогулки на свежем воздухе, пару раз в месяц играю в волейбол. Стараюсь не сидеть на месте!",
textInputAction: TextInputAction.done,
focusNode: infoFocusNode, focusNode: infoFocusNode,
autofocus: true, autofocus: true,
maxLines: 8, maxLines: 8,

View File

@@ -15,7 +15,12 @@ class SupportScreen extends StatelessWidget {
children: [ children: [
Padding( Padding(
padding: const EdgeInsets.all(16), padding: const EdgeInsets.all(16),
child: Text('Если у вас есть вопросы по работе нашего приложения, вы можете задать их, перейдя по ссылке:'), child: Text(
'Если у вас есть вопросы по работе нашего приложения, вы можете задать их, перейдя по ссылке:',
style: TextStyle(
fontSize: 16,
),
),
), ),
InkWell( InkWell(
onTap: () { onTap: () {
@@ -35,7 +40,12 @@ class SupportScreen extends StatelessWidget {
colorFilter: ColorFilter.mode(Colors.black, BlendMode.srcIn), colorFilter: ColorFilter.mode(Colors.black, BlendMode.srcIn),
), ),
const SizedBox(width: 12), const SizedBox(width: 12),
Text('Telegram'), Text(
'Telegram',
style: TextStyle(
fontSize: 16,
),
),
], ],
), ),
), ),
@@ -56,7 +66,12 @@ class SupportScreen extends StatelessWidget {
children: [ children: [
Icon(Icons.alternate_email_rounded), Icon(Icons.alternate_email_rounded),
const SizedBox(width: 12), const SizedBox(width: 12),
Text('E-mail'), Text(
'E-mail',
style: TextStyle(
fontSize: 16,
),
),
], ],
), ),
), ),

View File

@@ -39,8 +39,10 @@ MessageLookupByLibrary? _findExact(String localeName) {
/// User programs should call this before using [localeName] for messages. /// User programs should call this before using [localeName] for messages.
Future<bool> initializeMessages(String localeName) { Future<bool> initializeMessages(String localeName) {
var availableLocale = Intl.verifiedLocale( var availableLocale = Intl.verifiedLocale(
localeName, (locale) => _deferredLibraries[locale] != null, localeName,
onFailure: (_) => null); (locale) => _deferredLibraries[locale] != null,
onFailure: (_) => null,
);
if (availableLocale == null) { if (availableLocale == null) {
return new SynchronousFuture(false); return new SynchronousFuture(false);
} }
@@ -60,8 +62,11 @@ bool _messagesExistFor(String locale) {
} }
MessageLookupByLibrary? _findGeneratedMessagesFor(String locale) { MessageLookupByLibrary? _findGeneratedMessagesFor(String locale) {
var actualLocale = var actualLocale = Intl.verifiedLocale(
Intl.verifiedLocale(locale, _messagesExistFor, onFailure: (_) => null); locale,
_messagesExistFor,
onFailure: (_) => null,
);
if (actualLocale == null) return null; if (actualLocale == null) return null;
return _findExact(actualLocale); return _findExact(actualLocale);
} }

View File

@@ -22,324 +22,375 @@ class MessageLookup extends MessageLookupByLibrary {
final messages = _notInlinedMessages(_notInlinedMessages); final messages = _notInlinedMessages(_notInlinedMessages);
static Map<String, Function> _notInlinedMessages(_) => <String, Function>{ static Map<String, Function> _notInlinedMessages(_) => <String, Function>{
"Moscow": MessageLookupByLibrary.simpleMessage("Москва"), "Moscow": MessageLookupByLibrary.simpleMessage("Москва"),
"Russia": MessageLookupByLibrary.simpleMessage("Россия"), "Russia": MessageLookupByLibrary.simpleMessage("Россия"),
"about_diet": MessageLookupByLibrary.simpleMessage("Об этой диете"), "about_diet": MessageLookupByLibrary.simpleMessage("Об этой диете"),
"about_plan": MessageLookupByLibrary.simpleMessage("Об этом плане"), "about_plan": MessageLookupByLibrary.simpleMessage("Об этом плане"),
"active": MessageLookupByLibrary.simpleMessage("Активен"), "active": MessageLookupByLibrary.simpleMessage("Активен"),
"active_diet_state": MessageLookupByLibrary.simpleMessage("Активная"), "active_diet_state": MessageLookupByLibrary.simpleMessage("Активная"),
"add": MessageLookupByLibrary.simpleMessage("Добавить"), "add": MessageLookupByLibrary.simpleMessage("Добавить"),
"add_cover": MessageLookupByLibrary.simpleMessage("Добавьте обложку"), "add_cover": MessageLookupByLibrary.simpleMessage("Добавьте обложку"),
"add_measure": MessageLookupByLibrary.simpleMessage("Добавить замер"), "add_measure": MessageLookupByLibrary.simpleMessage("Добавить замер"),
"adding_plan": MessageLookupByLibrary.simpleMessage("Добавление плана"), "adding_plan": MessageLookupByLibrary.simpleMessage("Добавление плана"),
"additional_information": "additional_information": MessageLookupByLibrary.simpleMessage(
MessageLookupByLibrary.simpleMessage("Дополнительная информация"), "Дополнительная информация",
"admin": MessageLookupByLibrary.simpleMessage("Админ"), ),
"all": MessageLookupByLibrary.simpleMessage("Все"), "admin": MessageLookupByLibrary.simpleMessage("Админ"),
"allergies_presence": "all": MessageLookupByLibrary.simpleMessage("Все"),
MessageLookupByLibrary.simpleMessage("Наличие аллергии"), "allergies_presence": MessageLookupByLibrary.simpleMessage(
"another_form_of_comment": "Наличие аллергии",
MessageLookupByLibrary.simpleMessage("комментария"), ),
"another_form_of_day": MessageLookupByLibrary.simpleMessage("дня"), "another_form_of_comment": MessageLookupByLibrary.simpleMessage(
"answer": MessageLookupByLibrary.simpleMessage("Ответить"), "комментария",
"archived": MessageLookupByLibrary.simpleMessage("В архиве"), ),
"authentificate": MessageLookupByLibrary.simpleMessage("Войти"), "another_form_of_day": MessageLookupByLibrary.simpleMessage("дня"),
"average_pressure": MessageLookupByLibrary.simpleMessage( "answer": MessageLookupByLibrary.simpleMessage("Ответить"),
"Средние показатели давления:"), "archived": MessageLookupByLibrary.simpleMessage("В архиве"),
"bodymass_chart": MessageLookupByLibrary.simpleMessage("График ИМТ"), "authentificate": MessageLookupByLibrary.simpleMessage("Войти"),
"by_default": MessageLookupByLibrary.simpleMessage("По умолчянию"), "average_pressure": MessageLookupByLibrary.simpleMessage(
"calories": MessageLookupByLibrary.simpleMessage("Калории"), "Средние показатели давления:",
"carb_type": MessageLookupByLibrary.simpleMessage("Мучное"), ),
"carb_type_desc": MessageLookupByLibrary.simpleMessage( "bodymass_chart": MessageLookupByLibrary.simpleMessage("График ИМТ"),
"Если вы любите мучные продукты, но хотите придерживаться диеты, вам подходит диета с добавленим мучных блюд на основе цельнозерновых вариантов. В них больше сложных углеводов и клетчатки, что способствует длительному чувству сытости и поддерживает здоровье пищеварительной системы."), "by_default": MessageLookupByLibrary.simpleMessage("По умолчянию"),
"carbohydrates": MessageLookupByLibrary.simpleMessage("Углеводы"), "calories": MessageLookupByLibrary.simpleMessage("Калории"),
"chat": MessageLookupByLibrary.simpleMessage("Чат"), "carb_type": MessageLookupByLibrary.simpleMessage("Мучное"),
"chest": MessageLookupByLibrary.simpleMessage("Грудь"), "carb_type_desc": MessageLookupByLibrary.simpleMessage(
"chest_circumference": "Если вы любите мучные продукты, но хотите придерживаться диеты, вам подходит диета с добавленим мучных блюд на основе цельнозерновых вариантов. В них больше сложных углеводов и клетчатки, что способствует длительному чувству сытости и поддерживает здоровье пищеварительной системы.",
MessageLookupByLibrary.simpleMessage("Обхват груди"), ),
"choose_diet_duration": "carbohydrates": MessageLookupByLibrary.simpleMessage("Углеводы"),
MessageLookupByLibrary.simpleMessage("Выберите срок диеты"), "chat": MessageLookupByLibrary.simpleMessage("Чат"),
"choose_plan_duration": "chest": MessageLookupByLibrary.simpleMessage("Грудь"),
MessageLookupByLibrary.simpleMessage("Выберите срок плана"), "chest_circumference": MessageLookupByLibrary.simpleMessage("Обхват груди"),
"choose_start_diet_date": MessageLookupByLibrary.simpleMessage( "choose_diet_duration": MessageLookupByLibrary.simpleMessage(
"Выберите дату старты диеты. Она отобразиться у Вас в дневнике"), "Выберите срок диеты",
"circumference_empty": MessageLookupByLibrary.simpleMessage( ),
"Все замеры обязательны к заполнению"), "choose_plan_duration": MessageLookupByLibrary.simpleMessage(
"circumference_is_not_a_number": MessageLookupByLibrary.simpleMessage( "Выберите срок плана",
"Все замеры должны быть числами"), ),
"circumferences_chart": "choose_start_diet_date": MessageLookupByLibrary.simpleMessage(
MessageLookupByLibrary.simpleMessage("График обхватов"), "Выберите дату старты диеты. Она отобразиться у Вас в дневнике",
"city": MessageLookupByLibrary.simpleMessage("Город"), ),
"city_of_living": "circumference_empty": MessageLookupByLibrary.simpleMessage(
MessageLookupByLibrary.simpleMessage("Город проживания"), "Все замеры обязательны к заполнению",
"comfort": MessageLookupByLibrary.simpleMessage("Комфорт"), ),
"comment": MessageLookupByLibrary.simpleMessage("комментарий"), "circumference_is_not_a_number": MessageLookupByLibrary.simpleMessage(
"comments": MessageLookupByLibrary.simpleMessage("Комментарии"), "Все замеры должны быть числами",
"comments_plural": MessageLookupByLibrary.simpleMessage("комментариев"), ),
"complain": MessageLookupByLibrary.simpleMessage("Пожаловаться"), "circumferences_chart": MessageLookupByLibrary.simpleMessage(
"continueButton": MessageLookupByLibrary.simpleMessage("Продолжить"), "График обхватов",
"continue_": MessageLookupByLibrary.simpleMessage("Продолжить"), ),
"copied": MessageLookupByLibrary.simpleMessage("cкопирован"), "city": MessageLookupByLibrary.simpleMessage("Город"),
"copy_link": MessageLookupByLibrary.simpleMessage("Скопировать ссылку"), "city_of_living": MessageLookupByLibrary.simpleMessage("Город проживания"),
"country": MessageLookupByLibrary.simpleMessage("Страна"), "comfort": MessageLookupByLibrary.simpleMessage("Комфорт"),
"create_diet": MessageLookupByLibrary.simpleMessage("Создание диеты"), "comment": MessageLookupByLibrary.simpleMessage("комментарий"),
"customer_price": "comments": MessageLookupByLibrary.simpleMessage("Комментарии"),
MessageLookupByLibrary.simpleMessage("Цена для покупателя"), "comments_plural": MessageLookupByLibrary.simpleMessage("комментариев"),
"date_of_birth": MessageLookupByLibrary.simpleMessage("Дата рождения"), "complain": MessageLookupByLibrary.simpleMessage("Пожаловаться"),
"day": MessageLookupByLibrary.simpleMessage("День"), "continueButton": MessageLookupByLibrary.simpleMessage("Продолжить"),
"days": MessageLookupByLibrary.simpleMessage("дней"), "continue_": MessageLookupByLibrary.simpleMessage("Продолжить"),
"deleted": MessageLookupByLibrary.simpleMessage("Удалена"), "copied": MessageLookupByLibrary.simpleMessage("cкопирован"),
"diary": MessageLookupByLibrary.simpleMessage("Дневник"), "copy_link": MessageLookupByLibrary.simpleMessage("Скопировать ссылку"),
"diet": MessageLookupByLibrary.simpleMessage("Диета"), "country": MessageLookupByLibrary.simpleMessage("Страна"),
"diet_author": MessageLookupByLibrary.simpleMessage("Автор диеты"), "create_diet": MessageLookupByLibrary.simpleMessage("Создание диеты"),
"diet_plan": MessageLookupByLibrary.simpleMessage("План диеты"), "customer_price": MessageLookupByLibrary.simpleMessage(
"diet_state": MessageLookupByLibrary.simpleMessage("Статус диеты"), "Цена для покупателя",
"diet_type": MessageLookupByLibrary.simpleMessage("Тип диеты"), ),
"do_you_have_hypertension_tendency": "date_of_birth": MessageLookupByLibrary.simpleMessage("Дата рождения"),
MessageLookupByLibrary.simpleMessage("Есть ли у вас гипертония?"), "day": MessageLookupByLibrary.simpleMessage("День"),
"do_you_have_hypotension_tendency": "days": MessageLookupByLibrary.simpleMessage("дней"),
MessageLookupByLibrary.simpleMessage("Есть ли у вас гипотония?"), "deleted": MessageLookupByLibrary.simpleMessage("Удалена"),
"do_you_take_pills": MessageLookupByLibrary.simpleMessage( "diary": MessageLookupByLibrary.simpleMessage("Дневник"),
"Принимаете ли вы лекарства или бады?"), "diet": MessageLookupByLibrary.simpleMessage("Диета"),
"down_pressure": "diet_author": MessageLookupByLibrary.simpleMessage("Автор диеты"),
MessageLookupByLibrary.simpleMessage("Нижние показатели давления:"), "diet_plan": MessageLookupByLibrary.simpleMessage("План диеты"),
"draft": MessageLookupByLibrary.simpleMessage("Черновик"), "diet_state": MessageLookupByLibrary.simpleMessage("Статус диеты"),
"drafted": MessageLookupByLibrary.simpleMessage("Черновики"), "diet_type": MessageLookupByLibrary.simpleMessage("Тип диеты"),
"eating_behavior": "do_you_have_hypertension_tendency": MessageLookupByLibrary.simpleMessage(
MessageLookupByLibrary.simpleMessage("Пищевое поведение"), "Есть ли у вас гипертония?",
"eating_behavior_type": MessageLookupByLibrary.simpleMessage( ),
"Формирование пищевого поведения"), "do_you_have_hypotension_tendency": MessageLookupByLibrary.simpleMessage(
"eating_behavior_type_desc": MessageLookupByLibrary.simpleMessage( "Есть ли у вас гипотония?",
"Формирование здорового пищевого поведения — это процесс, который включает в себя изменение привычек и отношения к еде. Он направлен на то, чтобы помочь людям научиться правильно питаться и поддерживать здоровый образ жизни.Основные принципы формирования здорового пищевого поведения: \n● Разнообразие продуктов; \n● Сбалансированный рацион; \n● Питьевой режим; \n● Ограничение вредных продуктов; \n● Регулярные приёмы пищи; \n● Умеренность;Осознанное питание; \n● Физическая активность;"), ),
"economy": MessageLookupByLibrary.simpleMessage("Эконом"), "do_you_take_pills": MessageLookupByLibrary.simpleMessage(
"edit": MessageLookupByLibrary.simpleMessage("Редактировать"), "Принимаете ли вы лекарства или бады?",
"email": MessageLookupByLibrary.simpleMessage("Элетронная почта"), ),
"email_empty": MessageLookupByLibrary.simpleMessage( "down_pressure": MessageLookupByLibrary.simpleMessage(
"Необходимо ввести адрес электронной почты"), "Нижние показатели давления:",
"email_invalid": MessageLookupByLibrary.simpleMessage( ),
"Некорректный адрес электронной почты"), "draft": MessageLookupByLibrary.simpleMessage("Черновик"),
"enter_additional_information": MessageLookupByLibrary.simpleMessage( "drafted": MessageLookupByLibrary.simpleMessage("Черновики"),
"Введите любую дополнительную информацию на своё усмотрение:"), "eating_behavior": MessageLookupByLibrary.simpleMessage(
"enter_diet_description": "Пищевое поведение",
MessageLookupByLibrary.simpleMessage("Введите описание диеты"), ),
"enter_diet_name": "eating_behavior_type": MessageLookupByLibrary.simpleMessage(
MessageLookupByLibrary.simpleMessage("Выведите название диеты"), "Формирование пищевого поведения",
"enter_information": ),
MessageLookupByLibrary.simpleMessage("Введите информацию..."), "eating_behavior_type_desc": MessageLookupByLibrary.simpleMessage(
"exit": MessageLookupByLibrary.simpleMessage("Выйти"), "Формирование здорового пищевого поведения — это процесс, который включает в себя изменение привычек и отношения к еде. Он направлен на то, чтобы помочь людям научиться правильно питаться и поддерживать здоровый образ жизни.Основные принципы формирования здорового пищевого поведения: \n● Разнообразие продуктов; \n● Сбалансированный рацион; \n● Питьевой режим; \n● Ограничение вредных продуктов; \n● Регулярные приёмы пищи; \n● Умеренность;Осознанное питание; \n● Физическая активность;",
"expand": MessageLookupByLibrary.simpleMessage("Показать полностью"), ),
"fats": MessageLookupByLibrary.simpleMessage("Жиры"), "economy": MessageLookupByLibrary.simpleMessage("Эконом"),
"favorite_foods": "edit": MessageLookupByLibrary.simpleMessage("Редактировать"),
MessageLookupByLibrary.simpleMessage("Любимые продукты"), "email": MessageLookupByLibrary.simpleMessage("Электронная почта"),
"favorite_unfavorite_foods": MessageLookupByLibrary.simpleMessage( "email_empty": MessageLookupByLibrary.simpleMessage(
"Ваши любимые/нелюбимые продукты питания?"), "Необходимо ввести адрес электронной почты",
"female": MessageLookupByLibrary.simpleMessage("Женский"), ),
"fill_in_information": "email_invalid": MessageLookupByLibrary.simpleMessage(
MessageLookupByLibrary.simpleMessage("Заполните информацию:"), "Некорректный адрес электронной почты",
"finish": MessageLookupByLibrary.simpleMessage("Завершить"), ),
"first_name": MessageLookupByLibrary.simpleMessage("Имя"), "enter_additional_information": MessageLookupByLibrary.simpleMessage(
"first_name_empty": MessageLookupByLibrary.simpleMessage( "Введите любую дополнительную информацию на своё усмотрение:",
"Имя обязательно для заполнения"), ),
"first_name_short": MessageLookupByLibrary.simpleMessage( "enter_diet_description": MessageLookupByLibrary.simpleMessage(
"В имени должен быть минимум 1 символ"), "Введите описание диеты",
"fit_type": MessageLookupByLibrary.simpleMessage("Поддержание формы"), ),
"fit_type_desc": MessageLookupByLibrary.simpleMessage( "enter_diet_name": MessageLookupByLibrary.simpleMessage(
"План питания для поддержания формы сбалансированный и разнообразный, чтобы обеспечить организм всеми необходимыми питательными веществами. Общие принципы: \n● Дробное питание; \n● Разнообразие продуктов; \n● Контроль порций; \n● Питьевой режим; \n● Ограничение вредных продуктов;"), "Выведите название диеты",
"fitness": MessageLookupByLibrary.simpleMessage("Поддержка формы"), ),
"from": MessageLookupByLibrary.simpleMessage("от"), "enter_information": MessageLookupByLibrary.simpleMessage(
"from_a_to_z": MessageLookupByLibrary.simpleMessage("Название: А-Я"), "Введите информацию...",
"from_z_to_a": MessageLookupByLibrary.simpleMessage("Название: Я-А"), ),
"gallery": MessageLookupByLibrary.simpleMessage("Галерея"), "exit": MessageLookupByLibrary.simpleMessage("Выйти"),
"general_info": "expand": MessageLookupByLibrary.simpleMessage("Показать полностью"),
MessageLookupByLibrary.simpleMessage("Общая информация"), "fats": MessageLookupByLibrary.simpleMessage("Жиры"),
"gr": MessageLookupByLibrary.simpleMessage("гр"), "favorite_foods": MessageLookupByLibrary.simpleMessage("Любимые продукты"),
"grams": MessageLookupByLibrary.simpleMessage("гр"), "favorite_unfavorite_foods": MessageLookupByLibrary.simpleMessage(
"has_alergy": MessageLookupByLibrary.simpleMessage("Наличие аллергии"), "Ваши любимые/нелюбимые продукты питания?",
"has_hyper": ),
MessageLookupByLibrary.simpleMessage("Склонность к гипертонии"), "female": MessageLookupByLibrary.simpleMessage("Женский"),
"has_hypo": "fill_in_information": MessageLookupByLibrary.simpleMessage(
MessageLookupByLibrary.simpleMessage("Склонность к гипотонии"), "Заполните информацию:",
"height": MessageLookupByLibrary.simpleMessage("Рост"), ),
"height_measurements": "finish": MessageLookupByLibrary.simpleMessage("Завершить"),
MessageLookupByLibrary.simpleMessage("Замер роста"), "first_name": MessageLookupByLibrary.simpleMessage("Имя"),
"hide": MessageLookupByLibrary.simpleMessage("Свернуть"), "first_name_empty": MessageLookupByLibrary.simpleMessage(
"hip_circumference": "Имя обязательно для заполнения",
MessageLookupByLibrary.simpleMessage("Обхват бедер"), ),
"hips": MessageLookupByLibrary.simpleMessage("Бедра"), "first_name_short": MessageLookupByLibrary.simpleMessage(
"in_progress": MessageLookupByLibrary.simpleMessage("В процессе"), "В имени должен быть минимум 1 символ",
"inactive_diet_state": MessageLookupByLibrary.simpleMessage("Черновик"), ),
"initial_measurements": "fit_type": MessageLookupByLibrary.simpleMessage("Поддержание формы"),
MessageLookupByLibrary.simpleMessage("Первичные замеры"), "fit_type_desc": MessageLookupByLibrary.simpleMessage(
"label": MessageLookupByLibrary.simpleMessage("Название"), "План питания для поддержания формы сбалансированный и разнообразный, чтобы обеспечить организм всеми необходимыми питательными веществами. Общие принципы: \n● Дробное питание; \n● Разнообразие продуктов; \n● Контроль порций; \n● Питьевой режим; \n● Ограничение вредных продуктов;",
"language": MessageLookupByLibrary.simpleMessage("Язык"), ),
"last_name": MessageLookupByLibrary.simpleMessage("Фамилия"), "fitness": MessageLookupByLibrary.simpleMessage("Поддержка формы"),
"last_name_empty": MessageLookupByLibrary.simpleMessage( "from": MessageLookupByLibrary.simpleMessage("от"),
"Фамилия обязательна для заполнения"), "from_a_to_z": MessageLookupByLibrary.simpleMessage("Название: А-Я"),
"last_name_short": MessageLookupByLibrary.simpleMessage( "from_z_to_a": MessageLookupByLibrary.simpleMessage("Название: Я-А"),
"В фамилии должен быть минимум 6 символов"), "gallery": MessageLookupByLibrary.simpleMessage("Галерея"),
"lbl_english": MessageLookupByLibrary.simpleMessage("English"), "general_info": MessageLookupByLibrary.simpleMessage("Общая информация"),
"light_type": MessageLookupByLibrary.simpleMessage("Легкая"), "gr": MessageLookupByLibrary.simpleMessage("гр"),
"light_type_desc": MessageLookupByLibrary.simpleMessage( "grams": MessageLookupByLibrary.simpleMessage("гр"),
"С некоторыми видами диет можно употреблять алкоголь в умеренных количествах. Рекомендуется совмещать вместе с низкокалорийными закусками."), "has_alergy": MessageLookupByLibrary.simpleMessage("Наличие аллергии"),
"liked_groceries": "has_hyper": MessageLookupByLibrary.simpleMessage(
MessageLookupByLibrary.simpleMessage("Любимые продукты"), "Склонность к гипертонии",
"link_was_copied": ),
MessageLookupByLibrary.simpleMessage("Ссылка успешно скопирована"), "has_hypo": MessageLookupByLibrary.simpleMessage("Склонность к гипотонии"),
"loading": MessageLookupByLibrary.simpleMessage("Загрузка..."), "height": MessageLookupByLibrary.simpleMessage("Рост"),
"lower": MessageLookupByLibrary.simpleMessage("Нижнее"), "height_measurements": MessageLookupByLibrary.simpleMessage("Замер роста"),
"male": MessageLookupByLibrary.simpleMessage("Мужской"), "hide": MessageLookupByLibrary.simpleMessage("Свернуть"),
"meal": MessageLookupByLibrary.simpleMessage("Приём пищи"), "hip_circumference": MessageLookupByLibrary.simpleMessage("Обхват бедер"),
"meat": MessageLookupByLibrary.simpleMessage("Мясо"), "hips": MessageLookupByLibrary.simpleMessage("Бедра"),
"meat_type": MessageLookupByLibrary.simpleMessage("С мясом"), "in_progress": MessageLookupByLibrary.simpleMessage("В процессе"),
"meat_type_desc": MessageLookupByLibrary.simpleMessage( "inactive_diet_state": MessageLookupByLibrary.simpleMessage("Черновик"),
"Диета с мясом полезная и сбалансированная. Включает в себя нежирное мясо: курицу, индейку, кролика или говядину. В сочетании с овощами получаете все необходимые витамины и минералы. Не забывайте о порциях и старайтесь есть медленно, прислушиваясь к своему организму."), "initial_measurements": MessageLookupByLibrary.simpleMessage(
"milliliter": MessageLookupByLibrary.simpleMessage("мл"), "Первичные замеры",
"minimal_customer_price": MessageLookupByLibrary.simpleMessage( ),
"Минимальная цена для покупателя: 1200₽"), "label": MessageLookupByLibrary.simpleMessage("Название"),
"most_new": MessageLookupByLibrary.simpleMessage("Самые новые"), "language": MessageLookupByLibrary.simpleMessage("Язык"),
"most_old": MessageLookupByLibrary.simpleMessage("Самые старые"), "last_name": MessageLookupByLibrary.simpleMessage("Фамилия"),
"msg_network_err": "last_name_empty": MessageLookupByLibrary.simpleMessage(
MessageLookupByLibrary.simpleMessage("Сетевая ошибка!"), "Фамилия обязательна для заполнения",
"msg_something_went_wrong": ),
MessageLookupByLibrary.simpleMessage("Что то пошло не так!"), "last_name_short": MessageLookupByLibrary.simpleMessage(
"my_blog": MessageLookupByLibrary.simpleMessage("Мой блог"), "В фамилии должен быть минимум 6 символов",
"my_diets": MessageLookupByLibrary.simpleMessage("Мои диеты"), ),
"my_plans": MessageLookupByLibrary.simpleMessage("Мои планы"), "lbl_english": MessageLookupByLibrary.simpleMessage("English"),
"my_settings": MessageLookupByLibrary.simpleMessage("Мои настройки"), "light_type": MessageLookupByLibrary.simpleMessage("Легкая"),
"name_empty": MessageLookupByLibrary.simpleMessage( "light_type_desc": MessageLookupByLibrary.simpleMessage(
"Имя пользователя обязательно для заполнения"), "С некоторыми видами диет можно употреблять алкоголь в умеренных количествах. Рекомендуется совмещать вместе с низкокалорийными закусками.",
"name_short": MessageLookupByLibrary.simpleMessage( ),
"В имени пользователя должно быть минимум 6 символов"), "liked_groceries": MessageLookupByLibrary.simpleMessage("Любимые продукты"),
"no": MessageLookupByLibrary.simpleMessage("Нет"), "link_was_copied": MessageLookupByLibrary.simpleMessage(
"no_account": "Ссылка успешно скопирована",
MessageLookupByLibrary.simpleMessage("У меня нет аккаунта"), ),
"not_liked_groceries": "loading": MessageLookupByLibrary.simpleMessage("Загрузка..."),
MessageLookupByLibrary.simpleMessage("Не любимые продукты"), "lower": MessageLookupByLibrary.simpleMessage("Нижнее"),
"one_option": MessageLookupByLibrary.simpleMessage("1 опция"), "male": MessageLookupByLibrary.simpleMessage("Мужской"),
"option": MessageLookupByLibrary.simpleMessage("Опция"), "meal": MessageLookupByLibrary.simpleMessage("Приём пищи"),
"option_content": "meat": MessageLookupByLibrary.simpleMessage("Мясо"),
MessageLookupByLibrary.simpleMessage("Содержание опции"), "meat_type": MessageLookupByLibrary.simpleMessage("С мясом"),
"option_content_hint_text": "meat_type_desc": MessageLookupByLibrary.simpleMessage(
MessageLookupByLibrary.simpleMessage("На связи 7 дней в неделю"), "Диета с мясом полезная и сбалансированная. Включает в себя нежирное мясо: курицу, индейку, кролика или говядину. В сочетании с овощами получаете все необходимые витамины и минералы. Не забывайте о порциях и старайтесь есть медленно, прислушиваясь к своему организму.",
"option_desc": MessageLookupByLibrary.simpleMessage("Описание опции"), ),
"option_desc_hint_text": MessageLookupByLibrary.simpleMessage( "milliliter": MessageLookupByLibrary.simpleMessage("мл"),
"Этот план питания для похудения на 7 дней сбалансированный и разнообразный"), "minimal_customer_price": MessageLookupByLibrary.simpleMessage(
"option_duration": "Минимальная цена для покупателя: 1200₽",
MessageLookupByLibrary.simpleMessage("Продолжительность опции"), ),
"option_personal_diet_desc": MessageLookupByLibrary.simpleMessage( "most_new": MessageLookupByLibrary.simpleMessage("Самые новые"),
"Опция подразумевает создание индивидуальной диеты"), "most_old": MessageLookupByLibrary.simpleMessage("Самые старые"),
"option_title": MessageLookupByLibrary.simpleMessage("Заголовок опции"), "msg_network_err": MessageLookupByLibrary.simpleMessage("Сетевая ошибка!"),
"order": MessageLookupByLibrary.simpleMessage("Порядок"), "msg_something_went_wrong": MessageLookupByLibrary.simpleMessage(
"other_info": MessageLookupByLibrary.simpleMessage("Прочая информация"), "Что то пошло не так!",
"password": MessageLookupByLibrary.simpleMessage("Пароль"), ),
"password_confirmation": "my_blog": MessageLookupByLibrary.simpleMessage("Мой блог"),
MessageLookupByLibrary.simpleMessage("Подтвердите пароль"), "my_diets": MessageLookupByLibrary.simpleMessage("Мои диеты"),
"password_confirmation_mismatch": "my_plans": MessageLookupByLibrary.simpleMessage("Мои планы"),
MessageLookupByLibrary.simpleMessage("Пароли не совпадают"), "my_settings": MessageLookupByLibrary.simpleMessage("Мои настройки"),
"password_empty": MessageLookupByLibrary.simpleMessage( "name_empty": MessageLookupByLibrary.simpleMessage(
"Пароль обязателен для заполнения"), "Имя пользователя обязательно для заполнения",
"password_short": MessageLookupByLibrary.simpleMessage( ),
"В пароле должно быть минимум 6 символов"), "name_short": MessageLookupByLibrary.simpleMessage(
"pcs": MessageLookupByLibrary.simpleMessage("шт"), "В имени пользователя должно быть минимум 6 символов",
"personal": MessageLookupByLibrary.simpleMessage("Персональные"), ),
"personal_diet_state": "no": MessageLookupByLibrary.simpleMessage("Нет"),
MessageLookupByLibrary.simpleMessage("Персональная"), "no_account": MessageLookupByLibrary.simpleMessage("У меня нет аккаунта"),
"photo": MessageLookupByLibrary.simpleMessage("Фото"), "not_liked_groceries": MessageLookupByLibrary.simpleMessage(
"physical_fitness": "Не любимые продукты",
MessageLookupByLibrary.simpleMessage("Физическая форма"), ),
"place_of_living": "one_option": MessageLookupByLibrary.simpleMessage("1 опция"),
MessageLookupByLibrary.simpleMessage("Место проживания"), "option": MessageLookupByLibrary.simpleMessage("Опция"),
"plan_author": MessageLookupByLibrary.simpleMessage("Автор плана"), "option_content": MessageLookupByLibrary.simpleMessage("Содержание опции"),
"plan_desc": MessageLookupByLibrary.simpleMessage("Описание плана"), "option_content_hint_text": MessageLookupByLibrary.simpleMessage(
"plan_desc_example": MessageLookupByLibrary.simpleMessage( "На связи 7 дней в неделю",
"Большое подробное, привлекательное описание плана"), ),
"plan_duration": MessageLookupByLibrary.simpleMessage("Срок плана"), "option_desc": MessageLookupByLibrary.simpleMessage("Описание опции"),
"plan_label_desc": "option_desc_hint_text": MessageLookupByLibrary.simpleMessage(
MessageLookupByLibrary.simpleMessage("План для поддержания формы"), "Этот план питания для похудения на 7 дней сбалансированный и разнообразный",
"plan_type": MessageLookupByLibrary.simpleMessage("Тип плана"), ),
"plans_complete": "option_duration": MessageLookupByLibrary.simpleMessage(
MessageLookupByLibrary.simpleMessage("Пройденные планы"), "Продолжительность опции",
"popular": MessageLookupByLibrary.simpleMessage("Популярные"), ),
"preferred_language": "option_personal_diet_desc": MessageLookupByLibrary.simpleMessage(
MessageLookupByLibrary.simpleMessage("Предпочитаемый язык общения"), "Опция подразумевает создание индивидуальной диеты",
"pressure": MessageLookupByLibrary.simpleMessage("Давление"), ),
"pressure_empty": MessageLookupByLibrary.simpleMessage( "option_title": MessageLookupByLibrary.simpleMessage("Заголовок опции"),
"Все показатели давления обязательны к заполнению"), "order": MessageLookupByLibrary.simpleMessage("Порядок"),
"pressure_is_not_a_number": MessageLookupByLibrary.simpleMessage( "other_info": MessageLookupByLibrary.simpleMessage("Прочая информация"),
"Все показатели давления должны быть числами"), "password": MessageLookupByLibrary.simpleMessage("Пароль"),
"preview": MessageLookupByLibrary.simpleMessage("Превью"), "password_confirmation": MessageLookupByLibrary.simpleMessage(
"price": MessageLookupByLibrary.simpleMessage("Цена"), "Подтвердите пароль",
"price_explanation": MessageLookupByLibrary.simpleMessage( ),
"Разница в ценах, это комиссия Итвио"), "password_confirmation_mismatch": MessageLookupByLibrary.simpleMessage(
"profile": MessageLookupByLibrary.simpleMessage("Профиль"), "Пароли не совпадают",
"proteins": MessageLookupByLibrary.simpleMessage("Белки"), ),
"publish": MessageLookupByLibrary.simpleMessage("Опубликовать"), "password_empty": MessageLookupByLibrary.simpleMessage(
"published": MessageLookupByLibrary.simpleMessage("Опубликованные"), "Пароль обязателен для заполнения",
"removeFromActive": ),
MessageLookupByLibrary.simpleMessage("Снять с публикации"), "password_short": MessageLookupByLibrary.simpleMessage(
"save": MessageLookupByLibrary.simpleMessage("Сохранить"), "В пароле должно быть минимум 6 символов",
"services": MessageLookupByLibrary.simpleMessage("Оказание услуг"), ),
"settings": MessageLookupByLibrary.simpleMessage("Настройки"), "pcs": MessageLookupByLibrary.simpleMessage("шт"),
"sex": MessageLookupByLibrary.simpleMessage("Пол"), "personal": MessageLookupByLibrary.simpleMessage("Персональные"),
"share": MessageLookupByLibrary.simpleMessage("Поделиться"), "personal_diet_state": MessageLookupByLibrary.simpleMessage("Персональная"),
"skip": MessageLookupByLibrary.simpleMessage("Пропустить"), "photo": MessageLookupByLibrary.simpleMessage("Фото"),
"slim": MessageLookupByLibrary.simpleMessage("Похудение"), "physical_fitness": MessageLookupByLibrary.simpleMessage(
"slim_type": MessageLookupByLibrary.simpleMessage("Похудение"), "Физическая форма",
"slim_type_desc": MessageLookupByLibrary.simpleMessage( ),
"План питания для похудения должен быть разработан с учётом индивидуальных особенностей организма, возраста, пола, уровня физической активности и состояния здоровья. Общие принципы: \n● Снижение калорийности; \n● Сбалансированный рацион; \n● Разнообразие продуктов; \n● Питьевой режим; \n● Ограничение вредных продуктов;"), "place_of_living": MessageLookupByLibrary.simpleMessage("Место проживания"),
"sport_hobbies": "plan_author": MessageLookupByLibrary.simpleMessage("Автор плана"),
MessageLookupByLibrary.simpleMessage("Спортивные увлечения"), "plan_desc": MessageLookupByLibrary.simpleMessage("Описание плана"),
"standard": MessageLookupByLibrary.simpleMessage("Стандарт"), "plan_desc_example": MessageLookupByLibrary.simpleMessage(
"startDiet": MessageLookupByLibrary.simpleMessage("Начать диету"), "Большое подробное, привлекательное описание плана",
"takes_pills": ),
MessageLookupByLibrary.simpleMessage("Принимает лекарства"), "plan_duration": MessageLookupByLibrary.simpleMessage("Срок плана"),
"tell_your_schedule": MessageLookupByLibrary.simpleMessage( "plan_label_desc": MessageLookupByLibrary.simpleMessage(
"Расскажите в свободной форме о том как просыпаетесь, когда едите, когда ложитесь спать:"), "План для поддержания формы",
"three_options": MessageLookupByLibrary.simpleMessage("3 опции"), ),
"time": MessageLookupByLibrary.simpleMessage("Время прохождения"), "plan_type": MessageLookupByLibrary.simpleMessage("Тип плана"),
"toOffer": MessageLookupByLibrary.simpleMessage("Предложить"), "plans_complete": MessageLookupByLibrary.simpleMessage("Пройденные планы"),
"to_draft": MessageLookupByLibrary.simpleMessage("В черновик"), "popular": MessageLookupByLibrary.simpleMessage("Популярные"),
"unfavorite_foods": "preferred_language": MessageLookupByLibrary.simpleMessage(
MessageLookupByLibrary.simpleMessage("Нелюбимые продукты"), "Предпочитаемый язык общения",
"up_pressure": MessageLookupByLibrary.simpleMessage( ),
"Верхние показатели давления:"), "pressure": MessageLookupByLibrary.simpleMessage("Давление"),
"upper": MessageLookupByLibrary.simpleMessage("Верхнее"), "pressure_empty": MessageLookupByLibrary.simpleMessage(
"user_authorization": "Все показатели давления обязательны к заполнению",
MessageLookupByLibrary.simpleMessage("Аутентификация"), ),
"user_data": "pressure_is_not_a_number": MessageLookupByLibrary.simpleMessage(
MessageLookupByLibrary.simpleMessage("Данные пользователя"), "Все показатели давления должны быть числами",
"user_registration": ),
MessageLookupByLibrary.simpleMessage("Регистрация пользователя"), "preview": MessageLookupByLibrary.simpleMessage("Превью"),
"username": MessageLookupByLibrary.simpleMessage("Имя пользователя"), "price": MessageLookupByLibrary.simpleMessage("Цена"),
"vegan": MessageLookupByLibrary.simpleMessage("Веган."), "price_explanation": MessageLookupByLibrary.simpleMessage(
"vegan_type": MessageLookupByLibrary.simpleMessage("Вегетарианская"), "Разница в ценах, это комиссия Итвио",
"vegan_type_desc": MessageLookupByLibrary.simpleMessage( ),
"Диета основана на потреблении растительной пищи и отказе от продуктов животного происхождения. Такой тип питания может быть разнообразным и вкусным, а также полезным для здоровья."), "profile": MessageLookupByLibrary.simpleMessage("Профиль"),
"waist": MessageLookupByLibrary.simpleMessage("Талия"), "proteins": MessageLookupByLibrary.simpleMessage("Белки"),
"waist_circumference": "publish": MessageLookupByLibrary.simpleMessage("Опубликовать"),
MessageLookupByLibrary.simpleMessage("Обхват талии"), "published": MessageLookupByLibrary.simpleMessage("Опубликованные"),
"weight": MessageLookupByLibrary.simpleMessage("Вес"), "removeFromActive": MessageLookupByLibrary.simpleMessage(
"weight_chart": MessageLookupByLibrary.simpleMessage("График веса"), "Снять с публикации",
"weight_measurements": ),
MessageLookupByLibrary.simpleMessage("Замер веса"), "save": MessageLookupByLibrary.simpleMessage("Сохранить"),
"wellness": "services": MessageLookupByLibrary.simpleMessage("Оказание услуг"),
MessageLookupByLibrary.simpleMessage("Улучшение самочувствия"), "settings": MessageLookupByLibrary.simpleMessage("Настройки"),
"wellness_type": "sex": MessageLookupByLibrary.simpleMessage("Пол"),
MessageLookupByLibrary.simpleMessage("Улучшение самочувствия"), "share": MessageLookupByLibrary.simpleMessage("Поделиться"),
"wellness_type_desc": MessageLookupByLibrary.simpleMessage( "skip": MessageLookupByLibrary.simpleMessage("Пропустить"),
"Если вы любите мучные продукты, но хотите придерживаться диеты, вам подходит диета с добавленим мучных блюд на основе цельнозерновых вариантов. В них больше сложных углеводов и клетчатки, что способствует длительному чувству сытости и поддерживает здоровье пищеварительной системы."), "slim": MessageLookupByLibrary.simpleMessage("Похудение"),
"what_is_your_name": "slim_type": MessageLookupByLibrary.simpleMessage("Похудение"),
MessageLookupByLibrary.simpleMessage("Как вас зовут?"), "slim_type_desc": MessageLookupByLibrary.simpleMessage(
"wrong_credentials": MessageLookupByLibrary.simpleMessage( "План питания для похудения должен быть разработан с учётом индивидуальных особенностей организма, возраста, пола, уровня физической активности и состояния здоровья. Общие принципы: \n● Снижение калорийности; \n● Сбалансированный рацион; \n● Разнообразие продуктов; \n● Питьевой режим; \n● Ограничение вредных продуктов;",
"Неверные данные пользователя"), ),
"you_will_get": MessageLookupByLibrary.simpleMessage("Вы получите"), "sport_hobbies": MessageLookupByLibrary.simpleMessage(
"your_blood_pressure": "Спортивные увлечения",
MessageLookupByLibrary.simpleMessage("Ваше артериальное давление?"), ),
"your_favorite_sports": "standard": MessageLookupByLibrary.simpleMessage("Стандарт"),
MessageLookupByLibrary.simpleMessage("Ваши спортивные увлечения?"), "startDiet": MessageLookupByLibrary.simpleMessage("Начать диету"),
"your_gender": MessageLookupByLibrary.simpleMessage("Ваш пол?"), "takes_pills": MessageLookupByLibrary.simpleMessage("Принимает лекарства"),
"your_height": MessageLookupByLibrary.simpleMessage("Ваш рост:"), "tell_your_schedule": MessageLookupByLibrary.simpleMessage(
"your_schedule": MessageLookupByLibrary.simpleMessage("Ваш режим дня?"), "Расскажите в свободной форме о том как просыпаетесь, когда едите, когда ложитесь спать:",
"your_weight": MessageLookupByLibrary.simpleMessage("Ваш вес:") ),
}; "three_options": MessageLookupByLibrary.simpleMessage("3 опции"),
"time": MessageLookupByLibrary.simpleMessage("Время прохождения"),
"toOffer": MessageLookupByLibrary.simpleMessage("Предложить"),
"to_draft": MessageLookupByLibrary.simpleMessage("В черновик"),
"unfavorite_foods": MessageLookupByLibrary.simpleMessage(
"Нелюбимые продукты",
),
"up_pressure": MessageLookupByLibrary.simpleMessage(
"Верхние показатели давления:",
),
"upper": MessageLookupByLibrary.simpleMessage("Верхнее"),
"user_authorization": MessageLookupByLibrary.simpleMessage(
"Аутентификация",
),
"user_data": MessageLookupByLibrary.simpleMessage("Данные пользователя"),
"user_registration": MessageLookupByLibrary.simpleMessage(
"Регистрация пользователя",
),
"username": MessageLookupByLibrary.simpleMessage("Имя пользователя"),
"vegan": MessageLookupByLibrary.simpleMessage("Веган."),
"vegan_type": MessageLookupByLibrary.simpleMessage("Вегетарианская"),
"vegan_type_desc": MessageLookupByLibrary.simpleMessage(
"Диета основана на потреблении растительной пищи и отказе от продуктов животного происхождения. Такой тип питания может быть разнообразным и вкусным, а также полезным для здоровья.",
),
"waist": MessageLookupByLibrary.simpleMessage("Талия"),
"waist_circumference": MessageLookupByLibrary.simpleMessage("Обхват талии"),
"weight": MessageLookupByLibrary.simpleMessage("Вес"),
"weight_chart": MessageLookupByLibrary.simpleMessage("График веса"),
"weight_measurements": MessageLookupByLibrary.simpleMessage("Замер веса"),
"wellness": MessageLookupByLibrary.simpleMessage("Улучшение самочувствия"),
"wellness_type": MessageLookupByLibrary.simpleMessage(
"Улучшение самочувствия",
),
"wellness_type_desc": MessageLookupByLibrary.simpleMessage(
"Если вы любите мучные продукты, но хотите придерживаться диеты, вам подходит диета с добавленим мучных блюд на основе цельнозерновых вариантов. В них больше сложных углеводов и клетчатки, что способствует длительному чувству сытости и поддерживает здоровье пищеварительной системы.",
),
"what_is_your_name": MessageLookupByLibrary.simpleMessage("Как вас зовут?"),
"wrong_credentials": MessageLookupByLibrary.simpleMessage(
"Неверные данные пользователя",
),
"you_will_get": MessageLookupByLibrary.simpleMessage("Вы получите"),
"your_blood_pressure": MessageLookupByLibrary.simpleMessage(
"Ваше артериальное давление?",
),
"your_favorite_sports": MessageLookupByLibrary.simpleMessage(
"Ваши спортивные увлечения?",
),
"your_gender": MessageLookupByLibrary.simpleMessage("Ваш пол?"),
"your_height": MessageLookupByLibrary.simpleMessage("Ваш рост:"),
"your_schedule": MessageLookupByLibrary.simpleMessage("Ваш режим дня?"),
"your_weight": MessageLookupByLibrary.simpleMessage("Ваш вес:"),
};
} }

View File

@@ -22,299 +22,350 @@ class MessageLookup extends MessageLookupByLibrary {
final messages = _notInlinedMessages(_notInlinedMessages); final messages = _notInlinedMessages(_notInlinedMessages);
static Map<String, Function> _notInlinedMessages(_) => <String, Function>{ static Map<String, Function> _notInlinedMessages(_) => <String, Function>{
"Moscow": MessageLookupByLibrary.simpleMessage("Москва"), "Moscow": MessageLookupByLibrary.simpleMessage("Москва"),
"Russia": MessageLookupByLibrary.simpleMessage("Россия"), "Russia": MessageLookupByLibrary.simpleMessage("Россия"),
"about_diet": MessageLookupByLibrary.simpleMessage("Об этой диете"), "about_diet": MessageLookupByLibrary.simpleMessage("Об этой диете"),
"about_plan": MessageLookupByLibrary.simpleMessage("Об этом плане"), "about_plan": MessageLookupByLibrary.simpleMessage("Об этом плане"),
"active": MessageLookupByLibrary.simpleMessage("Активен"), "active": MessageLookupByLibrary.simpleMessage("Активен"),
"active_diet_state": MessageLookupByLibrary.simpleMessage("Активная"), "active_diet_state": MessageLookupByLibrary.simpleMessage("Активная"),
"add": MessageLookupByLibrary.simpleMessage("Добавить"), "add": MessageLookupByLibrary.simpleMessage("Добавить"),
"add_cover": MessageLookupByLibrary.simpleMessage("Добавьте обложку"), "add_cover": MessageLookupByLibrary.simpleMessage("Добавьте обложку"),
"add_measure": MessageLookupByLibrary.simpleMessage("Добавить замер"), "add_measure": MessageLookupByLibrary.simpleMessage("Добавить замер"),
"adding_plan": MessageLookupByLibrary.simpleMessage("Добавление плана"), "adding_plan": MessageLookupByLibrary.simpleMessage("Добавление плана"),
"additional_information": "additional_information": MessageLookupByLibrary.simpleMessage(
MessageLookupByLibrary.simpleMessage("Дополнительная информация"), "Дополнительная информация",
"admin": MessageLookupByLibrary.simpleMessage("Админ"), ),
"all": MessageLookupByLibrary.simpleMessage("Все"), "admin": MessageLookupByLibrary.simpleMessage("Админ"),
"allergies_presence": "all": MessageLookupByLibrary.simpleMessage("Все"),
MessageLookupByLibrary.simpleMessage("Наличие аллергии"), "allergies_presence": MessageLookupByLibrary.simpleMessage(
"another_form_of_comment": "Наличие аллергии",
MessageLookupByLibrary.simpleMessage("комментария"), ),
"another_form_of_day": MessageLookupByLibrary.simpleMessage("дня"), "another_form_of_comment": MessageLookupByLibrary.simpleMessage(
"answer": MessageLookupByLibrary.simpleMessage("Ответить"), "комментария",
"archived": MessageLookupByLibrary.simpleMessage("В архиве"), ),
"authentificate": MessageLookupByLibrary.simpleMessage("Войти"), "another_form_of_day": MessageLookupByLibrary.simpleMessage("дня"),
"average_pressure": MessageLookupByLibrary.simpleMessage( "answer": MessageLookupByLibrary.simpleMessage("Ответить"),
"Средние показатели давления:"), "archived": MessageLookupByLibrary.simpleMessage("В архиве"),
"bodymass_chart": MessageLookupByLibrary.simpleMessage("График ИМТ"), "authentificate": MessageLookupByLibrary.simpleMessage("Войти"),
"by_default": MessageLookupByLibrary.simpleMessage("По умолчянию"), "average_pressure": MessageLookupByLibrary.simpleMessage(
"calories": MessageLookupByLibrary.simpleMessage("Калории"), "Средние показатели давления:",
"carb_type": MessageLookupByLibrary.simpleMessage("Мучное"), ),
"carb_type_desc": MessageLookupByLibrary.simpleMessage( "bodymass_chart": MessageLookupByLibrary.simpleMessage("График ИМТ"),
"Если вы любите мучные продукты, но хотите придерживаться диеты, вам подходит диета с добавленим мучных блюд на основе цельнозерновых вариантов. В них больше сложных углеводов и клетчатки, что способствует длительному чувству сытости и поддерживает здоровье пищеварительной системы."), "by_default": MessageLookupByLibrary.simpleMessage("По умолчянию"),
"carbohydrates": MessageLookupByLibrary.simpleMessage("Углеводы"), "calories": MessageLookupByLibrary.simpleMessage("Калории"),
"chat": MessageLookupByLibrary.simpleMessage("Чат"), "carb_type": MessageLookupByLibrary.simpleMessage("Мучное"),
"chest": MessageLookupByLibrary.simpleMessage("Грудь"), "carb_type_desc": MessageLookupByLibrary.simpleMessage(
"chest_circumference": "Если вы любите мучные продукты, но хотите придерживаться диеты, вам подходит диета с добавленим мучных блюд на основе цельнозерновых вариантов. В них больше сложных углеводов и клетчатки, что способствует длительному чувству сытости и поддерживает здоровье пищеварительной системы.",
MessageLookupByLibrary.simpleMessage("Обхват груди"), ),
"choose_diet_duration": "carbohydrates": MessageLookupByLibrary.simpleMessage("Углеводы"),
MessageLookupByLibrary.simpleMessage("Выберите срок диеты"), "chat": MessageLookupByLibrary.simpleMessage("Чат"),
"choose_plan_duration": "chest": MessageLookupByLibrary.simpleMessage("Грудь"),
MessageLookupByLibrary.simpleMessage("Выберите срок плана"), "chest_circumference": MessageLookupByLibrary.simpleMessage("Обхват груди"),
"choose_start_diet_date": MessageLookupByLibrary.simpleMessage( "choose_diet_duration": MessageLookupByLibrary.simpleMessage(
"Выберите дату старты диеты. Она отобразиться у Вас в дневнике"), "Выберите срок диеты",
"circumference_empty": MessageLookupByLibrary.simpleMessage( ),
"Все замеры обязательны к заполнению"), "choose_plan_duration": MessageLookupByLibrary.simpleMessage(
"circumference_is_not_a_number": MessageLookupByLibrary.simpleMessage( "Выберите срок плана",
"Все замеры должны быть числами"), ),
"circumferences_chart": "choose_start_diet_date": MessageLookupByLibrary.simpleMessage(
MessageLookupByLibrary.simpleMessage("График обхватов"), "Выберите дату старты диеты. Она отобразиться у Вас в дневнике",
"city": MessageLookupByLibrary.simpleMessage("Город"), ),
"city_of_living": "circumference_empty": MessageLookupByLibrary.simpleMessage(
MessageLookupByLibrary.simpleMessage("Город проживания"), "Все замеры обязательны к заполнению",
"comfort": MessageLookupByLibrary.simpleMessage("Комфорт"), ),
"comment": MessageLookupByLibrary.simpleMessage("комментарий"), "circumference_is_not_a_number": MessageLookupByLibrary.simpleMessage(
"comments": MessageLookupByLibrary.simpleMessage("Комментарии"), "Все замеры должны быть числами",
"comments_plural": MessageLookupByLibrary.simpleMessage("комментариев"), ),
"complain": MessageLookupByLibrary.simpleMessage("Пожаловаться"), "circumferences_chart": MessageLookupByLibrary.simpleMessage(
"continueButton": MessageLookupByLibrary.simpleMessage("Продолжить"), "График обхватов",
"continue_": MessageLookupByLibrary.simpleMessage("Продолжить"), ),
"copied": MessageLookupByLibrary.simpleMessage("cкопирован"), "city": MessageLookupByLibrary.simpleMessage("Город"),
"copy_link": MessageLookupByLibrary.simpleMessage("Скопировать ссылку"), "city_of_living": MessageLookupByLibrary.simpleMessage("Город проживания"),
"country": MessageLookupByLibrary.simpleMessage("Страна"), "comfort": MessageLookupByLibrary.simpleMessage("Комфорт"),
"create_diet": MessageLookupByLibrary.simpleMessage("Создание диеты"), "comment": MessageLookupByLibrary.simpleMessage("комментарий"),
"customer_price": "comments": MessageLookupByLibrary.simpleMessage("Комментарии"),
MessageLookupByLibrary.simpleMessage("Цена для покупателя"), "comments_plural": MessageLookupByLibrary.simpleMessage("комментариев"),
"date_of_birth": MessageLookupByLibrary.simpleMessage("Дата рождения"), "complain": MessageLookupByLibrary.simpleMessage("Пожаловаться"),
"day": MessageLookupByLibrary.simpleMessage("День"), "continueButton": MessageLookupByLibrary.simpleMessage("Продолжить"),
"days": MessageLookupByLibrary.simpleMessage("дней"), "continue_": MessageLookupByLibrary.simpleMessage("Продолжить"),
"deleted": MessageLookupByLibrary.simpleMessage("Удалена"), "copied": MessageLookupByLibrary.simpleMessage("cкопирован"),
"diary": MessageLookupByLibrary.simpleMessage("Дневник"), "copy_link": MessageLookupByLibrary.simpleMessage("Скопировать ссылку"),
"diet": MessageLookupByLibrary.simpleMessage("Диета"), "country": MessageLookupByLibrary.simpleMessage("Страна"),
"diet_author": MessageLookupByLibrary.simpleMessage("Автор диеты"), "create_diet": MessageLookupByLibrary.simpleMessage("Создание диеты"),
"diet_plan": MessageLookupByLibrary.simpleMessage("План диеты"), "customer_price": MessageLookupByLibrary.simpleMessage(
"diet_state": MessageLookupByLibrary.simpleMessage("Статус диеты"), "Цена для покупателя",
"diet_type": MessageLookupByLibrary.simpleMessage("Тип диеты"), ),
"do_you_have_hypertension_tendency": "date_of_birth": MessageLookupByLibrary.simpleMessage("Дата рождения"),
MessageLookupByLibrary.simpleMessage("Есть ли у вас гипертония?"), "day": MessageLookupByLibrary.simpleMessage("День"),
"do_you_have_hypotension_tendency": "days": MessageLookupByLibrary.simpleMessage("дней"),
MessageLookupByLibrary.simpleMessage("Есть ли у вас гипотония?"), "deleted": MessageLookupByLibrary.simpleMessage("Удалена"),
"do_you_take_pills": MessageLookupByLibrary.simpleMessage( "diary": MessageLookupByLibrary.simpleMessage("Дневник"),
"Принимаете ли вы лекарства или бады?"), "diet": MessageLookupByLibrary.simpleMessage("Диета"),
"down_pressure": "diet_author": MessageLookupByLibrary.simpleMessage("Автор диеты"),
MessageLookupByLibrary.simpleMessage("Нижние показатели давления:"), "diet_plan": MessageLookupByLibrary.simpleMessage("План диеты"),
"draft": MessageLookupByLibrary.simpleMessage("Черновик"), "diet_state": MessageLookupByLibrary.simpleMessage("Статус диеты"),
"drafted": MessageLookupByLibrary.simpleMessage("Черновики"), "diet_type": MessageLookupByLibrary.simpleMessage("Тип диеты"),
"eating_behavior": "do_you_have_hypertension_tendency": MessageLookupByLibrary.simpleMessage(
MessageLookupByLibrary.simpleMessage("Пищевое поведение"), "Есть ли у вас гипертония?",
"eating_behavior_type": MessageLookupByLibrary.simpleMessage( ),
"Формирование пищевого поведения"), "do_you_have_hypotension_tendency": MessageLookupByLibrary.simpleMessage(
"eating_behavior_type_desc": MessageLookupByLibrary.simpleMessage( "Есть ли у вас гипотония?",
"Формирование здорового пищевого поведения — это процесс, который включает в себя изменение привычек и отношения к еде. Он направлен на то, чтобы помочь людям научиться правильно питаться и поддерживать здоровый образ жизни.Основные принципы формирования здорового пищевого поведения: \n● Разнообразие продуктов; \n● Сбалансированный рацион; \n● Питьевой режим; \n● Ограничение вредных продуктов; \n● Регулярные приёмы пищи; \n● Умеренность;Осознанное питание; \n● Физическая активность;"), ),
"economy": MessageLookupByLibrary.simpleMessage("Эконом"), "do_you_take_pills": MessageLookupByLibrary.simpleMessage(
"edit": MessageLookupByLibrary.simpleMessage("Редактировать"), "Принимаете ли вы лекарства или бады?",
"email": MessageLookupByLibrary.simpleMessage("Элетронная почта"), ),
"email_empty": MessageLookupByLibrary.simpleMessage( "down_pressure": MessageLookupByLibrary.simpleMessage(
"Необходимо ввести адрес электронной почты"), "Нижние показатели давления:",
"email_invalid": MessageLookupByLibrary.simpleMessage( ),
"Некорректный адрес электронной почты"), "draft": MessageLookupByLibrary.simpleMessage("Черновик"),
"enter_additional_information": MessageLookupByLibrary.simpleMessage( "drafted": MessageLookupByLibrary.simpleMessage("Черновики"),
"Введите любую дополнительную информацию на своё усмотрение:"), "eating_behavior": MessageLookupByLibrary.simpleMessage(
"enter_diet_description": "Пищевое поведение",
MessageLookupByLibrary.simpleMessage("Введите описание диеты"), ),
"enter_diet_name": "eating_behavior_type": MessageLookupByLibrary.simpleMessage(
MessageLookupByLibrary.simpleMessage("Выведите название диеты"), "Формирование пищевого поведения",
"enter_information": ),
MessageLookupByLibrary.simpleMessage("Введите информацию..."), "eating_behavior_type_desc": MessageLookupByLibrary.simpleMessage(
"exit": MessageLookupByLibrary.simpleMessage("Выйти"), "Формирование здорового пищевого поведения — это процесс, который включает в себя изменение привычек и отношения к еде. Он направлен на то, чтобы помочь людям научиться правильно питаться и поддерживать здоровый образ жизни.Основные принципы формирования здорового пищевого поведения: \n● Разнообразие продуктов; \n● Сбалансированный рацион; \n● Питьевой режим; \n● Ограничение вредных продуктов; \n● Регулярные приёмы пищи; \n● Умеренность;Осознанное питание; \n● Физическая активность;",
"expand": MessageLookupByLibrary.simpleMessage("Показать полностью"), ),
"fats": MessageLookupByLibrary.simpleMessage("Жиры"), "economy": MessageLookupByLibrary.simpleMessage("Эконом"),
"favorite_foods": "edit": MessageLookupByLibrary.simpleMessage("Редактировать"),
MessageLookupByLibrary.simpleMessage("Любимые продукты"), "email": MessageLookupByLibrary.simpleMessage("Электронная почта"),
"favorite_unfavorite_foods": MessageLookupByLibrary.simpleMessage( "email_empty": MessageLookupByLibrary.simpleMessage(
"Ваши любимые/нелюбимые продукты питания?"), "Необходимо ввести адрес электронной почты",
"female": MessageLookupByLibrary.simpleMessage("Женский"), ),
"fill_in_information": "email_invalid": MessageLookupByLibrary.simpleMessage(
MessageLookupByLibrary.simpleMessage("Заполните информацию:"), "Некорректный адрес электронной почты",
"finish": MessageLookupByLibrary.simpleMessage("Завершить"), ),
"first_name": MessageLookupByLibrary.simpleMessage("Имя"), "enter_additional_information": MessageLookupByLibrary.simpleMessage(
"first_name_empty": MessageLookupByLibrary.simpleMessage( "Введите любую дополнительную информацию на своё усмотрение:",
"Имя обязательно для заполнения"), ),
"first_name_short": MessageLookupByLibrary.simpleMessage( "enter_diet_description": MessageLookupByLibrary.simpleMessage(
"В имени должен быть минимум 1 символ"), "Введите описание диеты",
"fit_type": MessageLookupByLibrary.simpleMessage("Поддержание формы"), ),
"fit_type_desc": MessageLookupByLibrary.simpleMessage( "enter_diet_name": MessageLookupByLibrary.simpleMessage(
"План питания для поддержания формы сбалансированный и разнообразный, чтобы обеспечить организм всеми необходимыми питательными веществами. Общие принципы: \n● Дробное питание; \n● Разнообразие продуктов; \n● Контроль порций; \n● Питьевой режим; \n● Ограничение вредных продуктов;"), "Выведите название диеты",
"fitness": MessageLookupByLibrary.simpleMessage("Поддержка формы"), ),
"from": MessageLookupByLibrary.simpleMessage("от"), "enter_information": MessageLookupByLibrary.simpleMessage(
"from_a_to_z": MessageLookupByLibrary.simpleMessage("Название: А-Я"), "Введите информацию...",
"from_z_to_a": MessageLookupByLibrary.simpleMessage("Название: Я-А"), ),
"gallery": MessageLookupByLibrary.simpleMessage("Галерея"), "exit": MessageLookupByLibrary.simpleMessage("Выйти"),
"gr": MessageLookupByLibrary.simpleMessage("гр"), "expand": MessageLookupByLibrary.simpleMessage("Показать полностью"),
"grams": MessageLookupByLibrary.simpleMessage("гр"), "fats": MessageLookupByLibrary.simpleMessage("Жиры"),
"height_measurements": "favorite_foods": MessageLookupByLibrary.simpleMessage("Любимые продукты"),
MessageLookupByLibrary.simpleMessage("Замер роста"), "favorite_unfavorite_foods": MessageLookupByLibrary.simpleMessage(
"hide": MessageLookupByLibrary.simpleMessage("Свернуть"), "Ваши любимые/нелюбимые продукты питания?",
"hip_circumference": ),
MessageLookupByLibrary.simpleMessage("Обхват бедер"), "female": MessageLookupByLibrary.simpleMessage("Женский"),
"hips": MessageLookupByLibrary.simpleMessage("Бедра"), "fill_in_information": MessageLookupByLibrary.simpleMessage(
"in_progress": MessageLookupByLibrary.simpleMessage("В процессе"), "Заполните информацию:",
"inactive_diet_state": MessageLookupByLibrary.simpleMessage("Черновик"), ),
"initial_measurements": "finish": MessageLookupByLibrary.simpleMessage("Завершить"),
MessageLookupByLibrary.simpleMessage("Первичные замеры"), "first_name": MessageLookupByLibrary.simpleMessage("Имя"),
"label": MessageLookupByLibrary.simpleMessage("Название"), "first_name_empty": MessageLookupByLibrary.simpleMessage(
"language": MessageLookupByLibrary.simpleMessage("Язык"), "Имя обязательно для заполнения",
"last_name": MessageLookupByLibrary.simpleMessage("Фамилия"), ),
"last_name_empty": MessageLookupByLibrary.simpleMessage( "first_name_short": MessageLookupByLibrary.simpleMessage(
"Фамилия обязательна для заполнения"), "В имени должен быть минимум 1 символ",
"last_name_short": MessageLookupByLibrary.simpleMessage( ),
"В фамилии должен быть минимум 6 символов"), "fit_type": MessageLookupByLibrary.simpleMessage("Поддержание формы"),
"lbl_english": MessageLookupByLibrary.simpleMessage("English"), "fit_type_desc": MessageLookupByLibrary.simpleMessage(
"light_type": MessageLookupByLibrary.simpleMessage("Легкая"), "План питания для поддержания формы сбалансированный и разнообразный, чтобы обеспечить организм всеми необходимыми питательными веществами. Общие принципы: \n● Дробное питание; \n● Разнообразие продуктов; \n● Контроль порций; \n● Питьевой режим; \n● Ограничение вредных продуктов;",
"light_type_desc": MessageLookupByLibrary.simpleMessage( ),
"С некоторыми видами диет можно употреблять алкоголь в умеренных количествах. Рекомендуется совмещать вместе с низкокалорийными закусками."), "fitness": MessageLookupByLibrary.simpleMessage("Поддержка формы"),
"link_was_copied": "from": MessageLookupByLibrary.simpleMessage("от"),
MessageLookupByLibrary.simpleMessage("Ссылка успешно скопирована"), "from_a_to_z": MessageLookupByLibrary.simpleMessage("Название: А-Я"),
"loading": MessageLookupByLibrary.simpleMessage("Загрузка..."), "from_z_to_a": MessageLookupByLibrary.simpleMessage("Название: Я-А"),
"male": MessageLookupByLibrary.simpleMessage("Мужской"), "gallery": MessageLookupByLibrary.simpleMessage("Галерея"),
"meal": MessageLookupByLibrary.simpleMessage("Приём пищи"), "gr": MessageLookupByLibrary.simpleMessage("гр"),
"meat": MessageLookupByLibrary.simpleMessage("Мясо"), "grams": MessageLookupByLibrary.simpleMessage("гр"),
"meat_type": MessageLookupByLibrary.simpleMessage("С мясом"), "height_measurements": MessageLookupByLibrary.simpleMessage("Замер роста"),
"meat_type_desc": MessageLookupByLibrary.simpleMessage( "hide": MessageLookupByLibrary.simpleMessage("Свернуть"),
"Диета с мясом полезная и сбалансированная. Включает в себя нежирное мясо: курицу, индейку, кролика или говядину. В сочетании с овощами получаете все необходимые витамины и минералы. Не забывайте о порциях и старайтесь есть медленно, прислушиваясь к своему организму."), "hip_circumference": MessageLookupByLibrary.simpleMessage("Обхват бедер"),
"milliliter": MessageLookupByLibrary.simpleMessage("мл"), "hips": MessageLookupByLibrary.simpleMessage("Бедра"),
"minimal_customer_price": MessageLookupByLibrary.simpleMessage( "in_progress": MessageLookupByLibrary.simpleMessage("В процессе"),
"Минимальная цена для покупателя: 1200₽"), "inactive_diet_state": MessageLookupByLibrary.simpleMessage("Черновик"),
"most_new": MessageLookupByLibrary.simpleMessage("Самые новые"), "initial_measurements": MessageLookupByLibrary.simpleMessage(
"most_old": MessageLookupByLibrary.simpleMessage("Самые старые"), "Первичные замеры",
"msg_network_err": ),
MessageLookupByLibrary.simpleMessage("Сетевая ошибка!"), "label": MessageLookupByLibrary.simpleMessage("Название"),
"msg_something_went_wrong": "language": MessageLookupByLibrary.simpleMessage("Язык"),
MessageLookupByLibrary.simpleMessage("Что то пошло не так!"), "last_name": MessageLookupByLibrary.simpleMessage("Фамилия"),
"my_blog": MessageLookupByLibrary.simpleMessage("Мой блог"), "last_name_empty": MessageLookupByLibrary.simpleMessage(
"my_diets": MessageLookupByLibrary.simpleMessage("Мои диеты"), "Фамилия обязательна для заполнения",
"my_plans": MessageLookupByLibrary.simpleMessage("Мои планы"), ),
"my_settings": MessageLookupByLibrary.simpleMessage("Мои настройки"), "last_name_short": MessageLookupByLibrary.simpleMessage(
"name_empty": MessageLookupByLibrary.simpleMessage( "В фамилии должен быть минимум 6 символов",
"Имя пользователя обязательно для заполнения"), ),
"name_short": MessageLookupByLibrary.simpleMessage( "lbl_english": MessageLookupByLibrary.simpleMessage("English"),
"В имени пользователя должно быть минимум 6 символов"), "light_type": MessageLookupByLibrary.simpleMessage("Легкая"),
"no": MessageLookupByLibrary.simpleMessage("Нет"), "light_type_desc": MessageLookupByLibrary.simpleMessage(
"no_account": "С некоторыми видами диет можно употреблять алкоголь в умеренных количествах. Рекомендуется совмещать вместе с низкокалорийными закусками.",
MessageLookupByLibrary.simpleMessage("У меня нет аккаунта"), ),
"one_option": MessageLookupByLibrary.simpleMessage("1 опция"), "link_was_copied": MessageLookupByLibrary.simpleMessage(
"option": MessageLookupByLibrary.simpleMessage("Опция"), "Ссылка успешно скопирована",
"option_content": ),
MessageLookupByLibrary.simpleMessage("Содержание опции"), "loading": MessageLookupByLibrary.simpleMessage("Загрузка..."),
"option_content_hint_text": "male": MessageLookupByLibrary.simpleMessage("Мужской"),
MessageLookupByLibrary.simpleMessage("На связи 7 дней в неделю"), "meal": MessageLookupByLibrary.simpleMessage("Приём пищи"),
"option_desc": MessageLookupByLibrary.simpleMessage("Описание опции"), "meat": MessageLookupByLibrary.simpleMessage("Мясо"),
"option_desc_hint_text": MessageLookupByLibrary.simpleMessage( "meat_type": MessageLookupByLibrary.simpleMessage("С мясом"),
"Этот план питания для похудения на 7 дней сбалансированный и разнообразный"), "meat_type_desc": MessageLookupByLibrary.simpleMessage(
"option_duration": "Диета с мясом полезная и сбалансированная. Включает в себя нежирное мясо: курицу, индейку, кролика или говядину. В сочетании с овощами получаете все необходимые витамины и минералы. Не забывайте о порциях и старайтесь есть медленно, прислушиваясь к своему организму.",
MessageLookupByLibrary.simpleMessage("Продолжительность опции"), ),
"option_personal_diet_desc": MessageLookupByLibrary.simpleMessage( "milliliter": MessageLookupByLibrary.simpleMessage("мл"),
"Опция подразумевает создание индивидуальной диеты"), "minimal_customer_price": MessageLookupByLibrary.simpleMessage(
"option_title": MessageLookupByLibrary.simpleMessage("Заголовок опции"), "Минимальная цена для покупателя: 1200₽",
"order": MessageLookupByLibrary.simpleMessage("Порядок"), ),
"password": MessageLookupByLibrary.simpleMessage("Пароль"), "most_new": MessageLookupByLibrary.simpleMessage("Самые новые"),
"password_confirmation": "most_old": MessageLookupByLibrary.simpleMessage("Самые старые"),
MessageLookupByLibrary.simpleMessage("Подтвердите пароль"), "msg_network_err": MessageLookupByLibrary.simpleMessage("Сетевая ошибка!"),
"password_confirmation_mismatch": "msg_something_went_wrong": MessageLookupByLibrary.simpleMessage(
MessageLookupByLibrary.simpleMessage("Пароли не совпадают"), "Что то пошло не так!",
"password_empty": MessageLookupByLibrary.simpleMessage( ),
"Пароль обязателен для заполнения"), "my_blog": MessageLookupByLibrary.simpleMessage("Мой блог"),
"password_short": MessageLookupByLibrary.simpleMessage( "my_diets": MessageLookupByLibrary.simpleMessage("Мои диеты"),
"В пароле должно быть минимум 6 символов"), "my_plans": MessageLookupByLibrary.simpleMessage("Мои планы"),
"pcs": MessageLookupByLibrary.simpleMessage("шт"), "my_settings": MessageLookupByLibrary.simpleMessage("Мои настройки"),
"personal": MessageLookupByLibrary.simpleMessage("Персональные"), "name_empty": MessageLookupByLibrary.simpleMessage(
"personal_diet_state": "Имя пользователя обязательно для заполнения",
MessageLookupByLibrary.simpleMessage("Персональная"), ),
"photo": MessageLookupByLibrary.simpleMessage("Фото"), "name_short": MessageLookupByLibrary.simpleMessage(
"place_of_living": "В имени пользователя должно быть минимум 6 символов",
MessageLookupByLibrary.simpleMessage("Место проживания"), ),
"plan_author": MessageLookupByLibrary.simpleMessage("Автор плана"), "no": MessageLookupByLibrary.simpleMessage("Нет"),
"plan_desc": MessageLookupByLibrary.simpleMessage("Описание плана"), "no_account": MessageLookupByLibrary.simpleMessage("У меня нет аккаунта"),
"plan_desc_example": MessageLookupByLibrary.simpleMessage( "one_option": MessageLookupByLibrary.simpleMessage("1 опция"),
"Большое подробное, привлекательное описание плана"), "option": MessageLookupByLibrary.simpleMessage("Опция"),
"plan_duration": MessageLookupByLibrary.simpleMessage("Срок плана"), "option_content": MessageLookupByLibrary.simpleMessage("Содержание опции"),
"plan_label_desc": "option_content_hint_text": MessageLookupByLibrary.simpleMessage(
MessageLookupByLibrary.simpleMessage("План для поддержания формы"), "На связи 7 дней в неделю",
"plans_complete": ),
MessageLookupByLibrary.simpleMessage("Пройденные планы"), "option_desc": MessageLookupByLibrary.simpleMessage("Описание опции"),
"popular": MessageLookupByLibrary.simpleMessage("Популярные"), "option_desc_hint_text": MessageLookupByLibrary.simpleMessage(
"preferred_language": "Этот план питания для похудения на 7 дней сбалансированный и разнообразный",
MessageLookupByLibrary.simpleMessage("Предпочитаемый язык общения"), ),
"pressure_empty": MessageLookupByLibrary.simpleMessage( "option_duration": MessageLookupByLibrary.simpleMessage(
"Все показатели давления обязательны к заполнению"), "Продолжительность опции",
"pressure_is_not_a_number": MessageLookupByLibrary.simpleMessage( ),
"Все показатели давления должны быть числами"), "option_personal_diet_desc": MessageLookupByLibrary.simpleMessage(
"preview": MessageLookupByLibrary.simpleMessage("Превью"), "Опция подразумевает создание индивидуальной диеты",
"price": MessageLookupByLibrary.simpleMessage("Цена"), ),
"price_explanation": MessageLookupByLibrary.simpleMessage( "option_title": MessageLookupByLibrary.simpleMessage("Заголовок опции"),
"Разница в ценах, это комиссия Итвио"), "order": MessageLookupByLibrary.simpleMessage("Порядок"),
"profile": MessageLookupByLibrary.simpleMessage("Профиль"), "password": MessageLookupByLibrary.simpleMessage("Пароль"),
"proteins": MessageLookupByLibrary.simpleMessage("Белки"), "password_confirmation": MessageLookupByLibrary.simpleMessage(
"publish": MessageLookupByLibrary.simpleMessage("Опубликовать"), "Подтвердите пароль",
"published": MessageLookupByLibrary.simpleMessage("Опубликованные"), ),
"removeFromActive": "password_confirmation_mismatch": MessageLookupByLibrary.simpleMessage(
MessageLookupByLibrary.simpleMessage("Снять с публикации"), "Пароли не совпадают",
"save": MessageLookupByLibrary.simpleMessage("Сохранить"), ),
"services": MessageLookupByLibrary.simpleMessage("Оказание услуг"), "password_empty": MessageLookupByLibrary.simpleMessage(
"settings": MessageLookupByLibrary.simpleMessage("Настройки"), "Пароль обязателен для заполнения",
"share": MessageLookupByLibrary.simpleMessage("Поделиться"), ),
"skip": MessageLookupByLibrary.simpleMessage("Пропустить"), "password_short": MessageLookupByLibrary.simpleMessage(
"slim": MessageLookupByLibrary.simpleMessage("Похудение"), "В пароле должно быть минимум 6 символов",
"slim_type": MessageLookupByLibrary.simpleMessage("Похудение"), ),
"slim_type_desc": MessageLookupByLibrary.simpleMessage( "pcs": MessageLookupByLibrary.simpleMessage("шт"),
"План питания для похудения должен быть разработан с учётом индивидуальных особенностей организма, возраста, пола, уровня физической активности и состояния здоровья. Общие принципы: \n● Снижение калорийности; \n● Сбалансированный рацион; \n● Разнообразие продуктов; \n● Питьевой режим; \n● Ограничение вредных продуктов;"), "personal": MessageLookupByLibrary.simpleMessage("Персональные"),
"standard": MessageLookupByLibrary.simpleMessage("Стандарт"), "personal_diet_state": MessageLookupByLibrary.simpleMessage("Персональная"),
"startDiet": MessageLookupByLibrary.simpleMessage("Начать диету"), "photo": MessageLookupByLibrary.simpleMessage("Фото"),
"tell_your_schedule": MessageLookupByLibrary.simpleMessage( "place_of_living": MessageLookupByLibrary.simpleMessage("Место проживания"),
"Расскажите в свободной форме о том как просыпаетесь, когда едите, когда ложитесь спать:"), "plan_author": MessageLookupByLibrary.simpleMessage("Автор плана"),
"three_options": MessageLookupByLibrary.simpleMessage("3 опции"), "plan_desc": MessageLookupByLibrary.simpleMessage("Описание плана"),
"toOffer": MessageLookupByLibrary.simpleMessage("Предложить"), "plan_desc_example": MessageLookupByLibrary.simpleMessage(
"to_draft": MessageLookupByLibrary.simpleMessage("В черновик"), "Большое подробное, привлекательное описание плана",
"unfavorite_foods": ),
MessageLookupByLibrary.simpleMessage("Нелюбимые продукты"), "plan_duration": MessageLookupByLibrary.simpleMessage("Срок плана"),
"up_pressure": MessageLookupByLibrary.simpleMessage( "plan_label_desc": MessageLookupByLibrary.simpleMessage(
"Верхние показатели давления:"), "План для поддержания формы",
"user_authorization": ),
MessageLookupByLibrary.simpleMessage("Аутентификация"), "plans_complete": MessageLookupByLibrary.simpleMessage("Пройденные планы"),
"user_data": "popular": MessageLookupByLibrary.simpleMessage("Популярные"),
MessageLookupByLibrary.simpleMessage("Данные пользователя"), "preferred_language": MessageLookupByLibrary.simpleMessage(
"user_registration": "Предпочитаемый язык общения",
MessageLookupByLibrary.simpleMessage("Регистрация пользователя"), ),
"username": MessageLookupByLibrary.simpleMessage("Имя пользователя"), "pressure_empty": MessageLookupByLibrary.simpleMessage(
"vegan": MessageLookupByLibrary.simpleMessage("Веган."), "Все показатели давления обязательны к заполнению",
"vegan_type": MessageLookupByLibrary.simpleMessage("Вегетарианская"), ),
"vegan_type_desc": MessageLookupByLibrary.simpleMessage( "pressure_is_not_a_number": MessageLookupByLibrary.simpleMessage(
"Диета основана на потреблении растительной пищи и отказе от продуктов животного происхождения. Такой тип питания может быть разнообразным и вкусным, а также полезным для здоровья."), "Все показатели давления должны быть числами",
"waist": MessageLookupByLibrary.simpleMessage("Талия"), ),
"waist_circumference": "preview": MessageLookupByLibrary.simpleMessage("Превью"),
MessageLookupByLibrary.simpleMessage("Обхват талии"), "price": MessageLookupByLibrary.simpleMessage("Цена"),
"weight": MessageLookupByLibrary.simpleMessage("Вес"), "price_explanation": MessageLookupByLibrary.simpleMessage(
"weight_chart": MessageLookupByLibrary.simpleMessage("График веса"), "Разница в ценах, это комиссия Итвио",
"weight_measurements": ),
MessageLookupByLibrary.simpleMessage("Замер веса"), "profile": MessageLookupByLibrary.simpleMessage("Профиль"),
"wellness": "proteins": MessageLookupByLibrary.simpleMessage("Белки"),
MessageLookupByLibrary.simpleMessage("Улучшение самочувствия"), "publish": MessageLookupByLibrary.simpleMessage("Опубликовать"),
"wellness_type": "published": MessageLookupByLibrary.simpleMessage("Опубликованные"),
MessageLookupByLibrary.simpleMessage("Улучшение самочувствия"), "removeFromActive": MessageLookupByLibrary.simpleMessage(
"wellness_type_desc": MessageLookupByLibrary.simpleMessage( "Снять с публикации",
"Если вы любите мучные продукты, но хотите придерживаться диеты, вам подходит диета с добавленим мучных блюд на основе цельнозерновых вариантов. В них больше сложных углеводов и клетчатки, что способствует длительному чувству сытости и поддерживает здоровье пищеварительной системы."), ),
"what_is_your_name": "save": MessageLookupByLibrary.simpleMessage("Сохранить"),
MessageLookupByLibrary.simpleMessage("Как вас зовут?"), "services": MessageLookupByLibrary.simpleMessage("Оказание услуг"),
"wrong_credentials": MessageLookupByLibrary.simpleMessage( "settings": MessageLookupByLibrary.simpleMessage("Настройки"),
"Неверные данные пользователя"), "share": MessageLookupByLibrary.simpleMessage("Поделиться"),
"you_will_get": MessageLookupByLibrary.simpleMessage("Вы получите"), "skip": MessageLookupByLibrary.simpleMessage("Пропустить"),
"your_blood_pressure": "slim": MessageLookupByLibrary.simpleMessage("Похудение"),
MessageLookupByLibrary.simpleMessage("Ваше артериальное давление?"), "slim_type": MessageLookupByLibrary.simpleMessage("Похудение"),
"your_favorite_sports": "slim_type_desc": MessageLookupByLibrary.simpleMessage(
MessageLookupByLibrary.simpleMessage("Ваши спортивные увлечения?"), "План питания для похудения должен быть разработан с учётом индивидуальных особенностей организма, возраста, пола, уровня физической активности и состояния здоровья. Общие принципы: \n● Снижение калорийности; \n● Сбалансированный рацион; \n● Разнообразие продуктов; \n● Питьевой режим; \n● Ограничение вредных продуктов;",
"your_gender": MessageLookupByLibrary.simpleMessage("Ваш пол?"), ),
"your_height": MessageLookupByLibrary.simpleMessage("Ваш рост:"), "standard": MessageLookupByLibrary.simpleMessage("Стандарт"),
"your_schedule": MessageLookupByLibrary.simpleMessage("Ваш режим дня?"), "startDiet": MessageLookupByLibrary.simpleMessage("Начать диету"),
"your_weight": MessageLookupByLibrary.simpleMessage("Ваш вес:") "tell_your_schedule": MessageLookupByLibrary.simpleMessage(
}; "Расскажите в свободной форме о том как просыпаетесь, когда едите, когда ложитесь спать:",
),
"three_options": MessageLookupByLibrary.simpleMessage("3 опции"),
"toOffer": MessageLookupByLibrary.simpleMessage("Предложить"),
"to_draft": MessageLookupByLibrary.simpleMessage("В черновик"),
"unfavorite_foods": MessageLookupByLibrary.simpleMessage(
"Нелюбимые продукты",
),
"up_pressure": MessageLookupByLibrary.simpleMessage(
"Верхние показатели давления:",
),
"user_authorization": MessageLookupByLibrary.simpleMessage(
"Аутентификация",
),
"user_data": MessageLookupByLibrary.simpleMessage("Данные пользователя"),
"user_registration": MessageLookupByLibrary.simpleMessage(
"Регистрация пользователя",
),
"username": MessageLookupByLibrary.simpleMessage("Имя пользователя"),
"vegan": MessageLookupByLibrary.simpleMessage("Веган."),
"vegan_type": MessageLookupByLibrary.simpleMessage("Вегетарианская"),
"vegan_type_desc": MessageLookupByLibrary.simpleMessage(
"Диета основана на потреблении растительной пищи и отказе от продуктов животного происхождения. Такой тип питания может быть разнообразным и вкусным, а также полезным для здоровья.",
),
"waist": MessageLookupByLibrary.simpleMessage("Талия"),
"waist_circumference": MessageLookupByLibrary.simpleMessage("Обхват талии"),
"weight": MessageLookupByLibrary.simpleMessage("Вес"),
"weight_chart": MessageLookupByLibrary.simpleMessage("График веса"),
"weight_measurements": MessageLookupByLibrary.simpleMessage("Замер веса"),
"wellness": MessageLookupByLibrary.simpleMessage("Улучшение самочувствия"),
"wellness_type": MessageLookupByLibrary.simpleMessage(
"Улучшение самочувствия",
),
"wellness_type_desc": MessageLookupByLibrary.simpleMessage(
"Если вы любите мучные продукты, но хотите придерживаться диеты, вам подходит диета с добавленим мучных блюд на основе цельнозерновых вариантов. В них больше сложных углеводов и клетчатки, что способствует длительному чувству сытости и поддерживает здоровье пищеварительной системы.",
),
"what_is_your_name": MessageLookupByLibrary.simpleMessage("Как вас зовут?"),
"wrong_credentials": MessageLookupByLibrary.simpleMessage(
"Неверные данные пользователя",
),
"you_will_get": MessageLookupByLibrary.simpleMessage("Вы получите"),
"your_blood_pressure": MessageLookupByLibrary.simpleMessage(
"Ваше артериальное давление?",
),
"your_favorite_sports": MessageLookupByLibrary.simpleMessage(
"Ваши спортивные увлечения?",
),
"your_gender": MessageLookupByLibrary.simpleMessage("Ваш пол?"),
"your_height": MessageLookupByLibrary.simpleMessage("Ваш рост:"),
"your_schedule": MessageLookupByLibrary.simpleMessage("Ваш режим дня?"),
"your_weight": MessageLookupByLibrary.simpleMessage("Ваш вес:"),
};
} }

File diff suppressed because it is too large Load Diff

View File

@@ -1,6 +1,6 @@
{ {
"user_registration": "Регистрация пользователя", "user_registration": "Регистрация пользователя",
"email": "Элетронная почта", "email": "Электронная почта",
"username": "Имя пользователя", "username": "Имя пользователя",
"password": "Пароль", "password": "Пароль",
"password_confirmation": "Подтвердите пароль", "password_confirmation": "Подтвердите пароль",
@@ -33,7 +33,7 @@
"average_pressure": "Средние показатели давления:", "average_pressure": "Средние показатели давления:",
"up_pressure": "Верхние показатели давления:", "up_pressure": "Верхние показатели давления:",
"down_pressure": "Нижние показатели давления:", "down_pressure": "Нижние показатели давления:",
"do_you_have_hypotension_tendency": "Есть ли у вас гипотония?", "do_you_have_hypotension_tendency": "Есть ли у вас гипотония?",
"your_favorite_sports": "Ваши спортивные увлечения?", "your_favorite_sports": "Ваши спортивные увлечения?",
"favorite_foods": "Любимые продукты", "favorite_foods": "Любимые продукты",
"favorite_unfavorite_foods": "Ваши любимые/нелюбимые продукты питания?", "favorite_unfavorite_foods": "Ваши любимые/нелюбимые продукты питания?",

View File

@@ -1,6 +1,6 @@
{ {
"user_registration": "Регистрация пользователя", "user_registration": "Регистрация пользователя",
"email": "Элетронная почта", "email": "Электронная почта",
"username": "Имя пользователя", "username": "Имя пользователя",
"password": "Пароль", "password": "Пароль",
"password_confirmation": "Подтвердите пароль", "password_confirmation": "Подтвердите пароль",
@@ -33,7 +33,7 @@
"average_pressure": "Средние показатели давления:", "average_pressure": "Средние показатели давления:",
"up_pressure": "Верхние показатели давления:", "up_pressure": "Верхние показатели давления:",
"down_pressure": "Нижние показатели давления:", "down_pressure": "Нижние показатели давления:",
"do_you_have_hypotension_tendency": "Есть ли у вас гипотония?", "do_you_have_hypotension_tendency": "Есть ли у вас гипотония?",
"your_favorite_sports": "Ваши спортивные увлечения?", "your_favorite_sports": "Ваши спортивные увлечения?",
"favorite_foods": "Любимые продукты", "favorite_foods": "Любимые продукты",
"favorite_unfavorite_foods": "Ваши любимые/нелюбимые продукты питания?", "favorite_unfavorite_foods": "Ваши любимые/нелюбимые продукты питания?",

View File

@@ -13,8 +13,8 @@ dependencies:
flutter_localizations: flutter_localizations:
sdk: flutter sdk: flutter
flutter_secure_storage: ^9.2.3 flutter_secure_storage: ^9.2.4
flutter_bloc: ^8.1.6 flutter_bloc: ^9.0.0
cached_network_image: ^3.4.1 cached_network_image: ^3.4.1
flutter_svg: ^2.0.17 flutter_svg: ^2.0.17
equatable: ^2.0.7 equatable: ^2.0.7
@@ -23,10 +23,10 @@ dependencies:
validators: ^3.0.0 validators: ^3.0.0
path_provider: ^2.1.5 path_provider: ^2.1.5
carousel_slider_plus: ^7.1.0 carousel_slider_plus: ^7.1.0
flutter_form_builder: ^10.0.0-dev.1 flutter_form_builder: ^7.0.0-alpha.3
image_picker: ^1.1.2 image_picker: ^1.1.2
flutter_typeahead: ^5.2.0 flutter_typeahead: ^5.2.0
go_router: ^14.6.3 go_router: ^14.7.1
keyboard_dismisser: ^3.0.0 keyboard_dismisser: ^3.0.0
retrofit: ^4.4.2 retrofit: ^4.4.2
get_it: ^8.0.3 get_it: ^8.0.3
@@ -40,35 +40,39 @@ dependencies:
google_fonts: ^6.2.1 google_fonts: ^6.2.1
syncfusion_flutter_charts: ^28.1.38 syncfusion_flutter_charts: ^28.1.38
syncfusion_flutter_gauges: ^28.1.38 syncfusion_flutter_gauges: ^28.1.38
table_calendar: ^3.1.3 table_calendar: ^3.2.0
flutter_keyboard_visibility: ^6.0.0 flutter_keyboard_visibility: ^6.0.0
share_plus: ^10.1.4 share_plus: ^10.1.4
flutter_html: ^3.0.0-beta.2 flutter_html: ^3.0.0-beta.2
file_picker: ^8.1.7 file_picker: ^8.1.7
audioplayers: ^6.1.0 audioplayers: ^6.1.0
intl: ^0.19.0 intl: ^0.20.2
rive: ^0.13.20 rive: ^0.13.20
mask_text_input_formatter: ^2.9.0 mask_text_input_formatter: ^2.9.0
lottie: ^3.3.0 lottie: ^3.3.1
flutter_portal: ^1.1.4 flutter_portal: ^1.1.4
fluttertoast: ^8.2.10 fluttertoast: ^8.2.10
flutter_rating_bar: ^4.0.1 flutter_rating_bar: ^4.0.1
flutter_image_compress: ^2.4.0 flutter_image_compress: ^2.4.0
image: ^4.3.0 image: ^4.5.2
dotted_border: ^2.1.0 dotted_border: ^2.1.0
http: ^1.2.2 http: ^1.3.0
flutter_native_splash: ^2.4.4 flutter_native_splash: ^2.4.4
webview_flutter: ^4.10.0
dev_dependencies: dev_dependencies:
build_runner: ^2.4.14 build_runner: ^2.4.14
freezed: ^2.5.7 freezed: ^2.5.8
json_serializable: ^6.9.0 json_serializable: ^6.9.3
retrofit_generator: ^9.1.5 retrofit_generator: ^9.1.7
mockito: ^5.4.4 mockito: ^5.4.5
flutter_test: flutter_test:
sdk: flutter sdk: flutter
dependency_overrides:
intl: 0.19.0
flutter: flutter:
uses-material-design: true uses-material-design: true
assets: assets: