diff --git a/assets/icons/apple.svg b/assets/icons/apple.svg new file mode 100644 index 00000000..987a839b --- /dev/null +++ b/assets/icons/apple.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/assets/icons/arrow.svg b/assets/icons/arrow.svg new file mode 100644 index 00000000..6ea3765b --- /dev/null +++ b/assets/icons/arrow.svg @@ -0,0 +1,3 @@ + + + diff --git a/assets/icons/arrow_down.svg b/assets/icons/arrow_down.svg new file mode 100644 index 00000000..2101088f --- /dev/null +++ b/assets/icons/arrow_down.svg @@ -0,0 +1,3 @@ + + + diff --git a/assets/icons/bread.svg b/assets/icons/bread.svg new file mode 100644 index 00000000..c5e28365 --- /dev/null +++ b/assets/icons/bread.svg @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + + + diff --git a/assets/icons/broccoli.svg b/assets/icons/broccoli.svg new file mode 100644 index 00000000..e694e5a3 --- /dev/null +++ b/assets/icons/broccoli.svg @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + diff --git a/assets/icons/close_button.svg b/assets/icons/close_button.svg new file mode 100644 index 00000000..df54d212 --- /dev/null +++ b/assets/icons/close_button.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/assets/icons/cocktail.svg b/assets/icons/cocktail.svg new file mode 100644 index 00000000..5e0b7e93 --- /dev/null +++ b/assets/icons/cocktail.svg @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + diff --git a/assets/icons/comment2.svg b/assets/icons/comment2.svg new file mode 100644 index 00000000..de57faf3 --- /dev/null +++ b/assets/icons/comment2.svg @@ -0,0 +1,3 @@ + + + diff --git a/assets/icons/complain.svg b/assets/icons/complain.svg new file mode 100644 index 00000000..c6ef0cf4 --- /dev/null +++ b/assets/icons/complain.svg @@ -0,0 +1,4 @@ + + + + diff --git a/assets/icons/copy2.svg b/assets/icons/copy2.svg new file mode 100644 index 00000000..5049a094 --- /dev/null +++ b/assets/icons/copy2.svg @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/assets/icons/eye.svg b/assets/icons/eye.svg new file mode 100644 index 00000000..9e56e334 --- /dev/null +++ b/assets/icons/eye.svg @@ -0,0 +1,3 @@ + + + diff --git a/assets/icons/heart.svg b/assets/icons/heart.svg new file mode 100644 index 00000000..b0e7a93d --- /dev/null +++ b/assets/icons/heart.svg @@ -0,0 +1,3 @@ + + + diff --git a/assets/icons/meat2.svg b/assets/icons/meat2.svg new file mode 100644 index 00000000..d8c25b41 --- /dev/null +++ b/assets/icons/meat2.svg @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/icons/more_button.svg b/assets/icons/more_button.svg new file mode 100644 index 00000000..d22c4b4a --- /dev/null +++ b/assets/icons/more_button.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/assets/icons/people.svg b/assets/icons/people.svg new file mode 100644 index 00000000..938109c1 --- /dev/null +++ b/assets/icons/people.svg @@ -0,0 +1,3 @@ + + + diff --git a/assets/icons/share2.svg b/assets/icons/share2.svg new file mode 100644 index 00000000..a2eb2f77 --- /dev/null +++ b/assets/icons/share2.svg @@ -0,0 +1,3 @@ + + + diff --git a/assets/icons/time2.svg b/assets/icons/time2.svg new file mode 100644 index 00000000..aefa127b --- /dev/null +++ b/assets/icons/time2.svg @@ -0,0 +1,3 @@ + + + diff --git a/lib/app_router.dart b/lib/app_router.dart index d88156f1..6b8edb3c 100644 --- a/lib/app_router.dart +++ b/lib/app_router.dart @@ -7,6 +7,7 @@ import 'package:eatvio_app/features/calendar/presentation/pages/calendar_screen. import 'package:eatvio_app/features/chat/presentation/pages/chat_screen.dart'; import 'package:eatvio_app/features/chat/presentation/pages/chat_select_screen.dart'; import 'package:eatvio_app/features/chat/presentation/pages/photo_view_screen.dart'; +import 'package:eatvio_app/features/complaining/presentation/complaining_screen.dart'; import 'package:eatvio_app/features/consultant/become_consultant/presentation/pages/become_consultant_screen.dart'; import 'package:eatvio_app/features/consultant/become_consultant/presentation/pages/stepper_become_consultant_screen.dart'; import 'package:eatvio_app/features/diary/presentation/pages/diary_screen.dart'; @@ -274,6 +275,11 @@ class AppRouter { index: int.parse(state.pathParameters['index']!), ), ), + GoRoute( + path: '/complaining-screen', + name: 'complainingScreen', + builder: (context, state) => ComplainingScreen(), + ), ], ); } diff --git a/lib/core/utils/localization_utils.dart b/lib/core/utils/localization_utils.dart new file mode 100644 index 00000000..23d846a0 --- /dev/null +++ b/lib/core/utils/localization_utils.dart @@ -0,0 +1,43 @@ +import 'package:eatvio_app/features/feed/models/diets_pagination_model.dart'; +import 'package:eatvio_app/generated/l10n.dart'; + +String getLocalizedMeasurementUnits(S s, Portion portion) { + switch (portion) { + case Portion.GRAMS: + return s.gr; + case Portion.MILLILITERS: + return s.milliliter; + case Portion.PCS: + return s.pcs; + } +} + +String getDayForm(int number, S s) { + if (number % 100 >= 11 && number % 100 <= 14) { + return s.days; + } + + int lastDigit = number % 10; + if (lastDigit == 1) { + return s.day.toLowerCase(); + } else if (lastDigit >= 2 && lastDigit <= 4) { + return s.another_form_of_day; + } else { + return s.days; + } +} + +String getCommentForm(int number, S s) { + if (number % 100 >= 11 && number % 100 <= 14) { + return s.comments_plural; + } + + int lastDigit = number % 10; + if (lastDigit == 1) { + return s.comment; + } else if (lastDigit >= 2 && lastDigit <= 4) { + return s.another_form_of_comment; + } else { + return s.comments_plural; + } +} diff --git a/lib/core/utils/string_extentions.dart b/lib/core/utils/string_extentions.dart new file mode 100644 index 00000000..4d0e5173 --- /dev/null +++ b/lib/core/utils/string_extentions.dart @@ -0,0 +1,9 @@ + + + +extension Capitalization on String { + + String capitalize() { + return "${this[0].toUpperCase()}${substring(1).toLowerCase()}"; + } +} \ No newline at end of file diff --git a/lib/core/utils/toasts.dart b/lib/core/utils/toasts.dart new file mode 100644 index 00000000..c949af0d --- /dev/null +++ b/lib/core/utils/toasts.dart @@ -0,0 +1,15 @@ +import 'package:eatvio_app/theme/theme_helper.dart'; +import 'package:fluttertoast/fluttertoast.dart'; + +const int _toastDuration = 2; + +void showInfoToast(String message) { + Fluttertoast.showToast( + msg: message, + toastLength: Toast.LENGTH_SHORT, + gravity: ToastGravity.TOP, + timeInSecForIosWeb: _toastDuration, + backgroundColor: appTheme.blueA400, + textColor: appTheme.whiteA700, + fontSize: 16.0); +} diff --git a/lib/core/widgets/custom_divider.dart b/lib/core/widgets/custom_divider.dart new file mode 100644 index 00000000..f6635d53 --- /dev/null +++ b/lib/core/widgets/custom_divider.dart @@ -0,0 +1,14 @@ +import 'package:eatvio_app/theme/theme_helper.dart'; +import 'package:flutter/material.dart'; + +class CustomDivider extends StatelessWidget { + const CustomDivider({super.key}); + + @override + Widget build(BuildContext context) { + return Divider( + color: appTheme.dividerColor, + height: 1, + ); + } +} diff --git a/lib/features/complaining/presentation/complaining_screen.dart b/lib/features/complaining/presentation/complaining_screen.dart new file mode 100644 index 00000000..2c3e0fd3 --- /dev/null +++ b/lib/features/complaining/presentation/complaining_screen.dart @@ -0,0 +1,10 @@ +import 'package:flutter/material.dart'; + +class ComplainingScreen extends StatelessWidget { + const ComplainingScreen({super.key}); + + @override + Widget build(BuildContext context) { + return const Placeholder(); + } +} \ No newline at end of file diff --git a/lib/features/diets/presentation/pages/about_diet_screen.dart b/lib/features/diets/presentation/pages/about_diet_screen.dart index 7dd66a37..f32d5bd9 100644 --- a/lib/features/diets/presentation/pages/about_diet_screen.dart +++ b/lib/features/diets/presentation/pages/about_diet_screen.dart @@ -2,17 +2,28 @@ import 'dart:io'; import 'package:cached_network_image/cached_network_image.dart'; import 'package:eatvio_app/core/const.dart'; +import 'package:eatvio_app/core/utils/localization_utils.dart'; +import 'package:eatvio_app/core/utils/string_extentions.dart'; +import 'package:eatvio_app/core/widgets/custom_divider.dart'; +import 'package:eatvio_app/features/diets/presentation/widgets/author_card.dart'; +import 'package:eatvio_app/features/diets/presentation/widgets/cpfc_container.dart'; +import 'package:eatvio_app/features/diets/presentation/widgets/expandable_text.dart'; +import 'package:eatvio_app/features/diets/presentation/widgets/info_bouble.dart'; +import 'package:eatvio_app/features/diets/presentation/widgets/main_background_bouble.dart'; +import 'package:eatvio_app/features/diets/presentation/widgets/more_options.dart'; +import 'package:eatvio_app/features/diets/presentation/widgets/type_badges.dart'; import 'package:eatvio_app/features/feed/models/diets_pagination_model.dart'; import 'package:eatvio_app/features/feed/presentation/bloc/comments_cubit/comments_cubit.dart'; import 'package:eatvio_app/features/feed/presentation/bloc/comments_cubit/comments_state.dart'; import 'package:eatvio_app/features/feed/presentation/widgets/comments_widget.dart'; +import 'package:eatvio_app/generated/l10n.dart'; import 'package:eatvio_app/locator_service.dart'; import 'package:eatvio_app/theme/theme_helper.dart'; import 'package:flutter/material.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; -import 'package:flutter_html/flutter_html.dart'; -import 'package:go_router/go_router.dart'; -import 'package:rive/rive.dart'; +import 'package:flutter_portal/flutter_portal.dart'; +import 'package:flutter_svg/svg.dart'; +import 'package:rive/rive.dart' hide LinearGradient; class AboutDietScreen extends StatefulWidget { final Diet diet; @@ -29,10 +40,25 @@ class AboutDietScreen extends StatefulWidget { class _AboutDietScreenState extends State { final CommentsCubit commentsCubit = sl(); int? replyId; + final ScrollController scrollController = ScrollController(); final textEditingController = TextEditingController(); + bool isMoreOptionsVisible = false; + + @override + void initState() { + super.initState(); + scrollController.addListener(() { + if (isMoreOptionsVisible) { + setState(() { + isMoreOptionsVisible = false; + }); + } + }); + } @override Widget build(BuildContext context) { + final s = S.of(context); return BlocProvider( create: (BuildContext context) => commentsCubit ..getComments( @@ -50,6 +76,7 @@ class _AboutDietScreenState extends State { }, builder: (BuildContext context, CommentsState state) { return Scaffold( + backgroundColor: appTheme.gray100, resizeToAvoidBottomInset: true, bottomSheet: Container( padding: EdgeInsets.symmetric(vertical: 12) + (Platform.isIOS ? const EdgeInsets.only(bottom: 16) : EdgeInsets.zero), @@ -61,290 +88,353 @@ class _AboutDietScreenState extends State { ), ), ), - child: Column( - mainAxisSize: MainAxisSize.min, - children: [ - SizedBox( - width: MediaQuery.of(context).size.width - 24, - child: FloatingActionButton.extended( - heroTag: 'nextButtonRegistration', - highlightElevation: 0, - elevation: 0, - focusElevation: 0, - shape: RoundedRectangleBorder( - borderRadius: BorderRadius.circular(16), - ), - backgroundColor: appTheme.greenA700, - onPressed: () {}, - label: Text( - 'ΠΠ°Ρ‡Π°Ρ‚ΡŒ Π΄ΠΈΠ΅Ρ‚Ρƒ', - style: theme.textTheme.titleSmall, - ), + child: Padding( + padding: const EdgeInsets.symmetric(horizontal: 16), + child: Column( + mainAxisSize: MainAxisSize.min, + children: [ + Row( + children: [ + Expanded( + child: SizedBox( + child: FloatingActionButton.extended( + heroTag: 'nextButtonRegistration', + highlightElevation: 0, + elevation: 0, + focusElevation: 0, + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(16), + ), + backgroundColor: appTheme.greenA700, + onPressed: () {}, + label: Text( + s.startDiet, + style: TextStyle( + fontSize: 16, + fontWeight: FontWeight.w600, + color: appTheme.whiteA700, + ), + ), + ), + ), + ), + SizedBox(width: 8), + Container( + width: 52, + height: 52, + decoration: BoxDecoration(color: appTheme.gray50, shape: BoxShape.circle), + child: Icon( + Icons.bookmark_border_rounded, + color: appTheme.blueGray800, + size: 24, + ), + ) + ], ), - ), - SizedBox(height: 8), - Row( - mainAxisAlignment: MainAxisAlignment.center, - children: [ - if (replyId != null) + SizedBox(height: 8), + Row( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + if (replyId != null) + GestureDetector( + onTap: () { + context.read().setReplyId(null); + setState(() { + replyId = null; + textEditingController.clear(); + }); + FocusManager.instance.primaryFocus?.unfocus(); + }, + child: Container( + decoration: BoxDecoration( + color: appTheme.blueA400, + shape: BoxShape.circle, + ), + height: 32, + width: 32, + child: Icon( + Icons.close_rounded, + size: 18, + color: Colors.white, + ), + ), + ), + if (replyId != null) SizedBox(width: 8), + Expanded( + child: SizedBox( + child: TextFormField( + onChanged: (_) { + setState(() {}); + }, + controller: textEditingController, + maxLines: 5, + minLines: 1, + keyboardType: TextInputType.multiline, + style: TextStyle( + fontSize: 16, + fontWeight: FontWeight.w400, + color: Colors.black, + height: 1, + ), + decoration: InputDecoration( + isDense: true, + contentPadding: EdgeInsets.symmetric(horizontal: 16, vertical: 8), + hintText: s.comment.capitalize(), + hintStyle: TextStyle( + fontSize: 16, + fontWeight: FontWeight.w400, + height: 1, + color: Color(0xFFAEAEB2), + ), + filled: true, + border: OutlineInputBorder( + borderRadius: BorderRadius.circular(16), + borderSide: BorderSide( + color: Color(0xFFD1D1D6), + width: 1, + ), + ), + enabledBorder: OutlineInputBorder( + borderRadius: BorderRadius.circular(16), + borderSide: BorderSide( + color: Color(0xFFD1D1D6), + width: 1, + ), + ), + focusedBorder: OutlineInputBorder( + borderRadius: BorderRadius.circular(16), + borderSide: BorderSide( + color: Color(0xFFD1D1D6), + width: 1, + ), + ), + ), + ), + ), + ), + SizedBox(width: 8), GestureDetector( onTap: () { - context.read().setReplyId(null); - setState(() { - replyId = null; - textEditingController.clear(); - }); - FocusManager.instance.primaryFocus?.unfocus(); + if (textEditingController.text.length > 2) { + commentsCubit.sendComment( + id: widget.diet.id.toString(), + commentText: textEditingController.text, + parentCommentId: replyId, + commentSourceType: CommentSourceType.diet, + ); + context.read().setReplyId(null); + setState(() { + textEditingController.clear(); + replyId = null; + }); + FocusManager.instance.primaryFocus?.unfocus(); + } }, child: Container( decoration: BoxDecoration( - color: appTheme.blueA400, + color: textEditingController.text.length > 2 ? appTheme.blueA400 : appTheme.gray50, shape: BoxShape.circle, ), height: 32, width: 32, child: Icon( - Icons.close_rounded, + Icons.send_rounded, size: 18, - color: Colors.white, + color: textEditingController.text.length > 2 ? appTheme.whiteA700 : appTheme.blueGray800, ), ), ), - if (replyId != null) SizedBox(width: 8), - SizedBox( - width: MediaQuery.of(context).size.width - (replyId == null ? 64 : 104), - child: TextFormField( - onChanged: (_) { - setState(() {}); - }, - controller: textEditingController, - maxLines: 5, - minLines: 1, - keyboardType: TextInputType.multiline, - style: TextStyle( - fontSize: 16, - fontWeight: FontWeight.w400, - color: Colors.black, - height: 1, - ), - decoration: InputDecoration( - isDense: true, - contentPadding: EdgeInsets.symmetric(horizontal: 16, vertical: 8), - hintText: 'ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ', - hintStyle: TextStyle( - fontSize: 16, - fontWeight: FontWeight.w400, - height: 1, - color: Color(0xFFAEAEB2), - ), - filled: true, - border: OutlineInputBorder( - borderRadius: BorderRadius.circular(16), - borderSide: BorderSide( - color: Color(0xFFD1D1D6), - width: 1, - ), - ), - enabledBorder: OutlineInputBorder( - borderRadius: BorderRadius.circular(16), - borderSide: BorderSide( - color: Color(0xFFD1D1D6), - width: 1, - ), - ), - focusedBorder: OutlineInputBorder( - borderRadius: BorderRadius.circular(16), - borderSide: BorderSide( - color: Color(0xFFD1D1D6), - width: 1, - ), - ), - ), - ), - ), - SizedBox(width: 8), - GestureDetector( - onTap: () { - if (textEditingController.text.length > 2) { - commentsCubit.sendComment( - id: widget.diet.id.toString(), - commentText: textEditingController.text, - parentCommentId: replyId, - commentSourceType: CommentSourceType.diet, - ); - context.read().setReplyId(null); - setState(() { - textEditingController.clear(); - replyId = null; - }); - FocusManager.instance.primaryFocus?.unfocus(); - } - }, - child: Container( - decoration: BoxDecoration( - color: textEditingController.text.length > 2 ? appTheme.blueA400 : Colors.grey, - shape: BoxShape.circle, - ), - height: 32, - width: 32, - child: Icon( - Icons.send_rounded, - size: 18, - color: Colors.white, - ), - ), - ), - ], - ), - ], - ), - ), - appBar: AppBar( - actions: [ - InkWell( - borderRadius: BorderRadius.circular(16), - onTap: () => GoRouter.of(context).pushNamed('profileScreen', extra: widget.diet.author), - child: Ink( - padding: const EdgeInsets.symmetric(horizontal: 16), - child: Column( - mainAxisAlignment: MainAxisAlignment.center, - children: [ - CircleAvatar( - maxRadius: 16, - minRadius: 16, - backgroundImage: NetworkImage(widget.diet.author.authorProfileIcon), - ), - SizedBox(height: 4), - Text( - widget.diet.author.authorName, - style: TextStyle( - color: Colors.black, - fontSize: 14, - fontWeight: FontWeight.w400, - height: 1, - ), - ), ], ), + ], + ), + ), + ), + appBar: AppBar( + centerTitle: true, + title: Text( + widget.diet.name, + maxLines: 2, + textAlign: TextAlign.center, + overflow: TextOverflow.ellipsis, + softWrap: true, + style: TextStyle( + color: Colors.black, + fontSize: 24, + fontWeight: FontWeight.w500, + height: 1, + ), + ), + actions: [ + PortalTarget( + visible: isMoreOptionsVisible, + portalFollower: MoreOptions(id: widget.diet.id), + anchor: Aligned( + shiftToWithinBound: AxisFlag(x: true, y: true), + follower: Alignment.topRight, + target: Alignment.bottomRight, ), + child: IconButton( + onPressed: () { + setState(() { + isMoreOptionsVisible = !isMoreOptionsVisible; + }); + }, + icon: SvgPicture.asset( + 'assets/icons/more_button.svg', + width: 20, + height: 20, + )), ), ], ), body: SingleChildScrollView( + controller: scrollController, padding: EdgeInsets.only(bottom: 160), child: Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ - Padding( - padding: const EdgeInsets.symmetric(horizontal: 16), - child: Text( - widget.diet.name, - style: TextStyle( - color: Colors.black, - fontSize: 24, - fontWeight: FontWeight.w500, - height: 1, - ), - ), - ), - SizedBox(height: 12), - Padding( - padding: const EdgeInsets.symmetric(horizontal: 16), - child: Row( + SizedBox(height: 8), + MainBackgroundBouble( + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, children: [ - Icon(Icons.timer_outlined), - SizedBox(width: 4), - Text( - widget.diet.duration.toString() + ' Π΄Π½Π΅ΠΉ', - style: TextStyle( - color: Colors.black, - fontSize: 12, - fontWeight: FontWeight.w400, - height: 1, + Stack(children: [ + CachedNetworkImage( + imageUrl: baseUrl + '/storage/' + widget.diet.image, + ), + Positioned( + child: Row( + children: [ + InfoBouble(children: [ + + ], backgroundColor: appTheme.whiteA700,) + ], + ), + ) + ]), + SizedBox(height: 16), + Padding( + padding: const EdgeInsets.symmetric(horizontal: 16), + child: Text( + s.about_diet, + style: TextStyle(color: appTheme.blueGray800, fontSize: 20, fontWeight: FontWeight.w600), ), ), + SizedBox(height: 12), + SingleChildScrollView( + padding: const EdgeInsets.symmetric(horizontal: 16), + scrollDirection: Axis.horizontal, + child: Row( + children: [ + InfoBouble( + children: [ + SvgPicture.asset( + 'assets/icons/time2.svg', + width: 13.3, + height: 13.3, + ), + SizedBox(width: 4), + Text(widget.diet.duration.toString() + ' ' + getDayForm(widget.diet.duration, s), + style: TextStyle(color: appTheme.blueGray800, fontSize: 12, fontWeight: FontWeight.w500)), + ], + ), + SizedBox(width: 12), + InfoBouble( + children: [ + SvgPicture.asset( + 'assets/icons/people.svg', + width: 13.3, + height: 13.3, + ), + SizedBox(width: 4), + Text('80 Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ ΠΏΡ€ΠΎΡˆΠ»ΠΈ(статика, Π΅Ρ‰Ρ‘ Π½Π΅Ρ‚ Π±Π΅ΠΊΠ°)', + style: TextStyle(color: appTheme.blueGray800, fontSize: 12, fontWeight: FontWeight.w500)), + ], + ), + SizedBox(width: 12), + InfoBouble( + children: [ + TypeBadges(type: widget.diet.type), + ], + ) + ], + ), + ), + ExpandableText( + text: widget.diet.details, + ), + SizedBox(height: 20), + Padding( + padding: const EdgeInsets.symmetric(horizontal: 16), + child: AuthorCard( + author: widget.diet.author, + ), + ), + SizedBox(height: 16), ], ), ), - if (widget.diet.details.isNotEmpty) - Padding( - padding: const EdgeInsets.symmetric(horizontal: 8), - child: Html( - data: widget.diet.details, - style: { - "*": Style( - color: Colors.black87, - ), - }, + SizedBox(height: 16), + MainBackgroundBouble( + child: Padding( + padding: const EdgeInsets.symmetric(vertical: 16.0), + child: Center( + child: Text( + s.diet_plan + '(${widget.diet.duration.toString()} ' + getDayForm(widget.diet.duration, s) + ')', + style: TextStyle( + color: appTheme.blueGray800, + fontSize: 20, + fontWeight: FontWeight.w600, + ), ), ), - SizedBox(height: 12), - CachedNetworkImage( - imageUrl: baseUrl + '/storage/' + widget.diet.image, - ), - SizedBox(height: 12), - ListView.separated( - padding: EdgeInsets.all(16), + )), + SizedBox(height: 8), + ListView.builder( physics: NeverScrollableScrollPhysics(), shrinkWrap: true, itemBuilder: (context, index) { - return _dayOfPlan(widget.diet.dailySchedule[index], index); + return _dayOfPlan(widget.diet.dailySchedule[index], index, s); }, - separatorBuilder: (context, index) => Padding( - padding: const EdgeInsets.symmetric(vertical: 16), - child: Container( - height: 0.4, - decoration: BoxDecoration( - color: Colors.grey, - borderRadius: BorderRadius.circular(16), - ), - ), - ), itemCount: widget.diet.dailySchedule.length, ), - SizedBox(height: 32), - Padding( - padding: const EdgeInsets.symmetric(horizontal: 16), - child: Container( - height: 0.4, - decoration: BoxDecoration( - color: Colors.grey, - borderRadius: BorderRadius.circular(16), - ), - ), - ), - SizedBox(height: 8), - Container( - padding: EdgeInsets.symmetric(horizontal: 16), - alignment: Alignment.centerLeft, - child: Text( - widget.diet.totalComments.toString() + ' ΠšΠžΠœΠœΠ•ΠΠ’ΠΠ Π˜Π•Π’', - style: TextStyle( - fontSize: 12, - color: appTheme.gray500, - fontWeight: FontWeight.w400, - ), - ), - ), - SizedBox(height: 16), - if (state is CommentsStateLoading) - Padding( - padding: const EdgeInsets.all(32), - child: SizedBox( - height: 32, - width: 32, - child: RiveAnimation.asset( - 'assets/rive_animations/loading.riv', + MainBackgroundBouble( + padding: EdgeInsets.symmetric(vertical: 16), + child: Column(children: [ + Container( + padding: EdgeInsets.symmetric(horizontal: 16), + alignment: Alignment.centerLeft, + child: Text( + widget.diet.totalComments.toString() + ' ' + getCommentForm(widget.diet.totalComments, s), + style: TextStyle( + fontSize: 12, + color: appTheme.gray500, + fontWeight: FontWeight.w400, + ), ), ), - ), - if (state is CommentsStateLoaded) - CommentsWidget( - id: widget.diet.id.toString(), - commentSourceType: CommentSourceType.diet, - comment: state.comment, - replyId: replyId, - ), + SizedBox(height: 16), + if (state is CommentsStateLoading) + Padding( + padding: const EdgeInsets.all(32), + child: SizedBox( + height: 32, + width: 32, + child: RiveAnimation.asset( + 'assets/rive_animations/loading.riv', + ), + ), + ), + if (state is CommentsStateLoaded) + CommentsWidget( + id: widget.diet.id.toString(), + commentSourceType: CommentSourceType.diet, + comment: state.comment, + replyId: replyId, + ), + ]), + ), ], ), ), @@ -354,7 +444,7 @@ class _AboutDietScreenState extends State { ); } - _dayOfPlan(List> day, int dayNumber) { + _dayOfPlan(List> day, int dayNumber, S s) { _choiceChipWidget(int index) { return ChoiceChip( selectedColor: appTheme.blueA400, @@ -381,73 +471,91 @@ class _AboutDietScreenState extends State { ); } - return Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Text( - 'Π”Π΅Π½ΡŒ ' + (dayNumber + 1).toString(), - style: TextStyle( - color: Colors.black, - fontSize: 16, - fontWeight: FontWeight.w500, - height: 1, - ), + return Padding( + padding: const EdgeInsets.only(bottom: 8), + child: MainBackgroundBouble( + padding: EdgeInsets.only( + top: 16, ), - SizedBox(height: 4), - Text( - 'ΠŸΡ€ΠΈΡ‘ΠΌ ΠΏΠΈΡ‰ΠΈ', - style: TextStyle( - color: Colors.black, - fontSize: 14, - fontWeight: FontWeight.w400, - height: 1, - ), - ), - Row( - mainAxisAlignment: MainAxisAlignment.spaceBetween, + child: Column( children: [ - _choiceChipWidget(0), - _choiceChipWidget(1), - _choiceChipWidget(2), - _choiceChipWidget(3), - _choiceChipWidget(4), + Padding( + padding: const EdgeInsets.symmetric(horizontal: 16), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + s.day + ' ' + (dayNumber + 1).toString(), + style: TextStyle( + color: appTheme.blueGray800, + fontSize: 20, + fontWeight: FontWeight.w600, + ), + ), + Padding( + padding: const EdgeInsets.symmetric(vertical: 12), + child: CustomDivider(), + ), + Text( + s.meal, + style: TextStyle( + color: appTheme.blueGray800, + fontSize: 16, + fontWeight: FontWeight.w500, + ), + ), + Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + _choiceChipWidget(0), + _choiceChipWidget(1), + _choiceChipWidget(2), + _choiceChipWidget(3), + _choiceChipWidget(4), + ], + ), + SizedBox(height: 8), + ListView.builder( + shrinkWrap: true, + physics: NeverScrollableScrollPhysics(), + itemBuilder: (context, index) => _daily(day[widget.selectedIndexes[dayNumber]][index], s), + itemCount: day[widget.selectedIndexes[dayNumber]].length, + ), + SizedBox(height: 8), + ], + ), + ), + CpfcContainer(calories: 0, protein: 0, fat: 0, carbohydrates: 0) ], ), - SizedBox(height: 8), - ListView.separated( - shrinkWrap: true, - physics: NeverScrollableScrollPhysics(), - itemBuilder: (context, index) => _daily(day[widget.selectedIndexes[dayNumber]][index]), - separatorBuilder: (context, index) => SizedBox(height: 4), - itemCount: day[widget.selectedIndexes[dayNumber]].length, - ), - ], + ), ); } - _daily(DailySchedule daily) { - return Row( - children: [ - Text( - 'β€’ ' + daily.name, - style: TextStyle( - color: Colors.black, - fontSize: 14, - fontWeight: FontWeight.w400, - height: 1.2, + _daily(DailySchedule daily, S s) { + return Padding( + padding: const EdgeInsets.only(bottom: 12), + child: Row( + children: [ + Text( + daily.name, + style: TextStyle( + color: appTheme.blueGray800, + fontSize: 16, + fontWeight: FontWeight.w500, + ), ), - ), - Spacer(), - Text( - daily.quantity.toString() + ' ' + daily.portion.name, - style: TextStyle( - color: Colors.black, - fontSize: 14, - fontWeight: FontWeight.w400, - height: 1.2, + Spacer(), + Text( + daily.quantity.toString() + ' ' + getLocalizedMeasurementUnits(s, daily.portion), + style: TextStyle( + color: appTheme.blueGray800, + fontSize: 16, + fontWeight: FontWeight.w600, + ), ), - ), - ], + ], + ), ); } } diff --git a/lib/features/diets/presentation/widgets/author_card.dart b/lib/features/diets/presentation/widgets/author_card.dart new file mode 100644 index 00000000..ee50ca05 --- /dev/null +++ b/lib/features/diets/presentation/widgets/author_card.dart @@ -0,0 +1,107 @@ +import 'package:eatvio_app/features/diets/presentation/widgets/info_bouble.dart'; +import 'package:eatvio_app/features/feed/models/diets_pagination_model.dart'; +import 'package:eatvio_app/generated/l10n.dart'; +import 'package:eatvio_app/theme/theme_helper.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter_svg/svg.dart'; +import 'package:go_router/go_router.dart'; + +class AuthorCard extends StatelessWidget { + const AuthorCard({super.key, required this.author}); + final Author author; + @override + Widget build(BuildContext context) { + final s = S.of(context); + return Container( + width: MediaQuery.sizeOf(context).width, + decoration: BoxDecoration(borderRadius: BorderRadius.circular(12), color: appTheme.cardBackground), + child: Stack( + children: [ + Padding( + padding: const EdgeInsets.only(left: 16, top: 16, bottom: 24), + child: Column( + children: [ + ListTile( + contentPadding: EdgeInsets.zero, + leading: Container( + width: 64, + height: 64, + decoration: BoxDecoration( + shape: BoxShape.circle, + image: DecorationImage( + image: NetworkImage(author.authorProfileIcon), + fit: BoxFit.cover, + ), + ), + ), + subtitle: Text( + author.authorName, + style: TextStyle( + fontSize: 18, + fontWeight: FontWeight.w600, + color: appTheme.blueGray800, + ), + ), + title: Text( + s.diet_author, + style: TextStyle( + fontSize: 14, + fontWeight: FontWeight.w600, + color: Color(0xFF6D6F71), + ), + ), + ), + Row( + children: [ + Text( + 'ΠšΠΎΠ½ΡΠ»ΡƒΡŒΡ‚Π°Π½Ρ‚', + style: TextStyle( + color: appTheme.blueGray800, + fontSize: 16, + fontWeight: FontWeight.w500, + ), + ), + SizedBox(width: 10), + InfoBouble(radius: 12, backgroundColor: appTheme.whiteA700, children: [ + Text( + '128-ΠΉ Π² Ρ€Π΅ΠΉΡ‚ΠΈΠ½Π³Π΅', + style: TextStyle( + color: appTheme.blueA400, + fontSize: 16, + fontWeight: FontWeight.w500, + ), + ) + ]) + ], + ) + ], + ), + ), + Positioned( + right: 8, + top: 8, + child: GestureDetector( + onTap: () => GoRouter.of(context).pushNamed('profileScreen', extra: author), + child: Container( + width: 28, + height: 28, + decoration: BoxDecoration( + color: appTheme.whiteA700, + borderRadius: BorderRadius.circular(8), + ), + child: Center( + child: SvgPicture.asset( + 'assets/icons/arrow.svg', + width: 12, + height: 12, + fit: BoxFit.none, + ), + ), + ), + ), + ) + ], + ), + ); + } +} diff --git a/lib/features/diets/presentation/widgets/cpfc_container.dart b/lib/features/diets/presentation/widgets/cpfc_container.dart new file mode 100644 index 00000000..f7428d46 --- /dev/null +++ b/lib/features/diets/presentation/widgets/cpfc_container.dart @@ -0,0 +1,46 @@ +import 'package:eatvio_app/generated/l10n.dart'; +import 'package:eatvio_app/theme/theme_helper.dart'; +import 'package:flutter/material.dart'; + +class CpfcContainer extends StatelessWidget { + const CpfcContainer({super.key, required this.calories, required this.protein, required this.fat, required this.carbohydrates}); + final double calories; + final double protein; + final double fat; + final double carbohydrates; + + @override + Widget build(BuildContext context) { + final s = S.of(context); + return Container( + color: appTheme.cardBackground, + padding: EdgeInsets.symmetric(horizontal: 16, vertical: 12), + child: Row(mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ + Column( + children: [ + Text('$calories', style: TextStyle(color: appTheme.blueGray800, fontSize: 16, fontWeight: FontWeight.w600)), + Text(s.calories, style: TextStyle(color: appTheme.blueGray800, fontSize: 12, fontWeight: FontWeight.w500)), + ], + ), + Column( + children: [ + Text('$protein', style: TextStyle(color: appTheme.blueGray800, fontSize: 16, fontWeight: FontWeight.w600)), + Text(s.proteins, style: TextStyle(color: appTheme.blueGray800, fontSize: 12, fontWeight: FontWeight.w500)), + ], + ), + Column( + children: [ + Text('$fat', style: TextStyle(color: appTheme.blueGray800, fontSize: 16, fontWeight: FontWeight.w600)), + Text(s.fats, style: TextStyle(color: appTheme.blueGray800, fontSize: 12, fontWeight: FontWeight.w500)), + ], + ), + Column( + children: [ + Text('$carbohydrates', style: TextStyle(color: appTheme.blueGray800, fontSize: 16, fontWeight: FontWeight.w600)), + Text(s.carbohydrates, style: TextStyle(color: appTheme.blueGray800, fontSize: 12, fontWeight: FontWeight.w500)), + ], + ) + ]), + ); + } +} diff --git a/lib/features/diets/presentation/widgets/expandable_text.dart b/lib/features/diets/presentation/widgets/expandable_text.dart new file mode 100644 index 00000000..a035c287 --- /dev/null +++ b/lib/features/diets/presentation/widgets/expandable_text.dart @@ -0,0 +1,87 @@ +import 'dart:math' as math; + +import 'package:eatvio_app/generated/l10n.dart'; +import 'package:eatvio_app/theme/theme_helper.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter_html/flutter_html.dart'; +import 'package:flutter_svg/svg.dart'; + +class ExpandableText extends StatefulWidget { + final String text; + final int maxLines; + + ExpandableText({required this.text, this.maxLines = 3}); + + @override + _ExpandableTextState createState() => _ExpandableTextState(); +} + +class _ExpandableTextState extends State { + bool isExpanded = false; + + void toggleExpansion() { + setState(() { + isExpanded = !isExpanded; + }); + } + + @override + Widget build(BuildContext context) { + final s = S.of(context); + return Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Stack( + children: [ + Html( + data: widget.text, + style: { + "*": Style( + color: Colors.black87, + maxLines: isExpanded ? null : widget.maxLines, + textOverflow: TextOverflow.clip, + ), + }, + ), + if (!isExpanded) + Positioned.fill( + child: Align( + alignment: Alignment.bottomCenter, + child: Container( + height: 35, + decoration: BoxDecoration( + gradient: LinearGradient( + begin: Alignment.topCenter, + end: Alignment.bottomCenter, + colors: [ + Colors.white.withOpacity(0.0), + Colors.white.withOpacity(0.6), + Colors.white, + ], + ), + ), + ), + ), + ), + ], + ), + Align( + alignment: Alignment.bottomCenter, + child: GestureDetector( + onTap: toggleExpansion, + child: Row( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + Text( + isExpanded ? s.hide : s.expand, + style: TextStyle(color: appTheme.blueA400, fontSize: 16, fontWeight: FontWeight.w500), + ), + Transform.rotate(angle: isExpanded ? math.pi : 0, child: SvgPicture.asset('assets/icons/arrow_down.svg', width: 12, height: 12)), + ], + ), + ), + ), + ], + ); + } +} diff --git a/lib/features/diets/presentation/widgets/info_bouble.dart b/lib/features/diets/presentation/widgets/info_bouble.dart new file mode 100644 index 00000000..d37cbd92 --- /dev/null +++ b/lib/features/diets/presentation/widgets/info_bouble.dart @@ -0,0 +1,20 @@ +import 'package:eatvio_app/theme/theme_helper.dart'; +import 'package:flutter/material.dart'; + +class InfoBouble extends StatelessWidget { + const InfoBouble({super.key, required this.children, this.backgroundColor, this.radius = 100}); + final List children; + final Color? backgroundColor; + final double radius; + @override + Widget build(BuildContext context) { + return Container( + padding: EdgeInsets.symmetric(horizontal: 12, vertical: 8.5), + decoration: BoxDecoration( + color: backgroundColor ?? appTheme.gray50, + borderRadius: BorderRadius.circular(radius), + ), + child: Row(children: children), + ); + } +} diff --git a/lib/features/diets/presentation/widgets/main_background_bouble.dart b/lib/features/diets/presentation/widgets/main_background_bouble.dart new file mode 100644 index 00000000..6b6ad9c5 --- /dev/null +++ b/lib/features/diets/presentation/widgets/main_background_bouble.dart @@ -0,0 +1,38 @@ +import 'package:eatvio_app/theme/theme_helper.dart'; +import 'package:flutter/material.dart'; + +class MainBackgroundBouble extends StatelessWidget { + const MainBackgroundBouble( + {super.key, required this.child, this.width, this.padding, this.enableShadow = false}); + final double? width; + final Widget child; + final bool enableShadow; + final EdgeInsetsGeometry? padding; + @override + Widget build(BuildContext context) { + return DecoratedBox( + decoration: BoxDecoration( + boxShadow: enableShadow + ? [ + BoxShadow( + color: Color(0x00000000).withOpacity(0.2), + spreadRadius: 0, + blurRadius: 32, + offset: Offset(0, 0), + ), + ] + : null), + child: ClipRRect( + borderRadius: BorderRadius.circular(12), + child: Container( + decoration: BoxDecoration( + color: appTheme.whiteA700, + ), + width: width ?? MediaQuery.sizeOf(context).width, + padding: padding, + child: child, + ), + ), + ); + } +} diff --git a/lib/features/diets/presentation/widgets/more_options.dart b/lib/features/diets/presentation/widgets/more_options.dart new file mode 100644 index 00000000..ca5033b8 --- /dev/null +++ b/lib/features/diets/presentation/widgets/more_options.dart @@ -0,0 +1,96 @@ +import 'package:eatvio_app/core/const.dart'; +import 'package:eatvio_app/core/utils/toasts.dart'; +import 'package:eatvio_app/core/widgets/custom_divider.dart'; +import 'package:eatvio_app/features/diets/presentation/widgets/main_background_bouble.dart'; +import 'package:eatvio_app/generated/l10n.dart'; +import 'package:eatvio_app/theme/theme_helper.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter/services.dart'; +import 'package:flutter_svg/flutter_svg.dart'; +import 'package:share_plus/share_plus.dart'; + +class MoreOptions extends StatelessWidget { + const MoreOptions({super.key, required this.id}); + final int id; + @override + Widget build(BuildContext context) { + final s = S.of(context); + return MainBackgroundBouble( + enableShadow: true, + child: Padding( + padding: const EdgeInsets.symmetric(horizontal: 12, vertical: 14), + child: Column( + mainAxisSize: MainAxisSize.min, + children: [ + GestureDetector( + onTap: () { + Clipboard.setData(ClipboardData(text: baseUrl + '/ru/diet/' + id.toString())); + showInfoToast(s.link_was_copied); + }, + child: Row( + children: [ + Text( + s.copy_link, + style: TextStyle( + fontSize: 16, + fontWeight: FontWeight.w500, + color: appTheme.blueGray800, + ), + ), + Spacer(), + SvgPicture.asset('assets/icons/copy2.svg', width: 16, height: 20), + ], + ), + ), + Padding( + padding: const EdgeInsets.symmetric(vertical: 12.0), + child: CustomDivider(), + ), + GestureDetector( + onTap: () => Share.shareUri( + Uri.parse( + baseUrl + '/ru/diet/' + id.toString(), + ), + ), + child: Row( + children: [ + Text( + s.share, + style: TextStyle( + fontSize: 16, + fontWeight: FontWeight.w500, + color: appTheme.blueGray800, + ), + ), + Spacer(), + SvgPicture.asset('assets/icons/share2.svg', width: 16, height: 20), + ], + ), + ), + Padding( + padding: const EdgeInsets.symmetric(vertical: 12.0), + child: CustomDivider(), + ), + GestureDetector( + onTap: () {}, + child: Row( + children: [ + Text( + s.complain, + style: TextStyle( + fontSize: 16, + fontWeight: FontWeight.w500, + color: appTheme.blueGray800, + ), + ), + Spacer(), + SvgPicture.asset('assets/icons/complain.svg', width: 16, height: 20), + ], + ), + ) + ], + ), + ), + width: 272); + } +} diff --git a/lib/features/diets/presentation/widgets/type_badges.dart b/lib/features/diets/presentation/widgets/type_badges.dart new file mode 100644 index 00000000..9fc7f7f9 --- /dev/null +++ b/lib/features/diets/presentation/widgets/type_badges.dart @@ -0,0 +1,231 @@ +import 'package:eatvio_app/features/diets/presentation/widgets/main_background_bouble.dart'; +import 'package:eatvio_app/features/feed/models/diets_pagination_model.dart'; +import 'package:eatvio_app/generated/l10n.dart'; +import 'package:eatvio_app/theme/theme_helper.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter_portal/flutter_portal.dart'; +import 'package:flutter_svg/svg.dart'; + +class TypeBadges extends StatefulWidget { + const TypeBadges({super.key, required this.type}); + + final DietType type; + + @override + State createState() => _TypeBadgesState(); +} + +class _TypeBadgesState extends State { + final List overlaysVisibilityState = [false, false, false, false]; + + @override + Widget build(BuildContext context) { + final s = S.of(context); + final List<(String, Widget)> badgeSource = []; + if (widget.type.alko == true) { + badgeSource.add(( + 'assets/icons/cocktail.svg', + _InfoOverlayEntry( + onClose: closeOverlay, + assetPath: 'assets/icons/cocktail.svg', + title: s.alko_type, + description: s.alko_type_desc, + ) + )); + } + if (widget.type.veg == true) { + badgeSource.add(( + 'assets/icons/broccoli.svg', + _InfoOverlayEntry( + onClose: closeOverlay, + assetPath: 'assets/icons/broccoli.svg', + title: s.vegan_type, + description: s.vegan_type_desc, + ) + )); + } + if (widget.type.corb == true) { + badgeSource.add(( + 'assets/icons/bread.svg', + _InfoOverlayEntry( + onClose: closeOverlay, + assetPath: 'assets/icons/bread.svg', + title: s.corb_type, + description: s.corb_type_desc, + ) + )); + } + if (widget.type.meat == true) { + badgeSource.add(( + 'assets/icons/meat2.svg', + _InfoOverlayEntry( + onClose: closeOverlay, + assetPath: 'assets/icons/meat2.svg', + title: s.meat_type, + description: s.meat_type_desc, + ) + )); + } + return Row( + children: List.generate( + badgeSource.length, + (index) => _Barrier( + visible: overlaysVisibilityState[index], + onClose: closeOverlay, + child: PortalTarget( + visible: overlaysVisibilityState[index], + anchor: Aligned( + shiftToWithinBound: AxisFlag(x: true, y: true), + follower: Alignment.topRight, + target: Alignment.bottomRight, + ), + portalFollower: badgeSource[index].$2, + child: GestureDetector( + onTap: () { + for (int stateIndex = 0; stateIndex < overlaysVisibilityState.length; stateIndex++) { + if (index != stateIndex) { + setState(() { + overlaysVisibilityState[stateIndex] = false; + }); + } else { + setState(() { + overlaysVisibilityState[stateIndex] = true; + }); + } + } + }, + child: Padding( + padding: EdgeInsets.only(right: index != badgeSource.length - 1 ? 8.0 : 0), + child: SvgPicture.asset( + badgeSource[index].$1, + width: 16, + height: 16, + ), + ), + ), + ), + ), + ), + ); + } + + void closeOverlay() { + for (int stateIndex = 0; stateIndex < overlaysVisibilityState.length; stateIndex++) { + setState(() { + overlaysVisibilityState[stateIndex] = false; + }); + } + } +} + +class _InfoOverlayEntry extends StatelessWidget { + const _InfoOverlayEntry({ + required this.title, + required this.description, + required this.assetPath, + required this.onClose, + }); + + final String title; + final String description; + final assetPath; + final void Function() onClose; + + @override + Widget build(BuildContext context) { + return MainBackgroundBouble( + padding: EdgeInsets.all(8), + width: 343, + child: Row( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + SvgPicture.asset( + assetPath, + width: 20, + height: 20, + ), + SizedBox(width: 8), + Expanded( + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + mainAxisSize: MainAxisSize.min, + children: [ + Text( + title, + style: TextStyle( + decoration: TextDecoration.none, + color: appTheme.blueGray800, + fontSize: 16, + fontWeight: FontWeight.w500, + ), + ), + SizedBox(height: 4), + Text( + description, + softWrap: true, + style: TextStyle( + decoration: TextDecoration.none, + color: appTheme.blueGray800, + fontSize: 12, + fontWeight: FontWeight.w500, + ), + ), + ], + ), + ), + GestureDetector( + onTap: onClose, + child: SvgPicture.asset( + 'assets/icons/close_button.svg', + width: 20, + height: 20, + ), + ), + ], + ), + ); + } +} + +class _Barrier extends StatelessWidget { + const _Barrier({ + Key? key, + required this.onClose, + required this.visible, + required this.child, + }) : super(key: key); + + final Widget child; + final VoidCallback onClose; + final bool visible; + + @override + Widget build(BuildContext context) { + return PortalTarget( + visible: visible, + closeDuration: kThemeAnimationDuration, + portalFollower: GestureDetector( + behavior: HitTestBehavior.opaque, + onTap: onClose, + child: TweenAnimationBuilder( + duration: kThemeAnimationDuration, + tween: ColorTween( + begin: Colors.transparent, + end: visible ? Colors.black54 : Colors.transparent, + ), + builder: (context, color, child) { + return ColoredBox(color: color); + }, + ), + ), + child: child, + ); + } +} + +class ColorTween extends Tween { + ColorTween({required Color begin, required Color end}) : super(begin: begin, end: end); + + @override + Color lerp(double t) => Color.lerp(begin, end, t)!; +} diff --git a/lib/features/feed/presentation/bloc/comments_cubit/comments_cubit.dart b/lib/features/feed/presentation/bloc/comments_cubit/comments_cubit.dart index dbfdaeb0..bf5be7e1 100644 --- a/lib/features/feed/presentation/bloc/comments_cubit/comments_cubit.dart +++ b/lib/features/feed/presentation/bloc/comments_cubit/comments_cubit.dart @@ -14,7 +14,7 @@ class CommentsCubit extends Cubit { emit((state as CommentsStateLoaded).copyWith(replyId: replyId)); } - getComments(String id, CommentSourceType commentSourceType, [bool isFirstFetch = false]) async { + getComments(String id, CommentSourceType commentSourceType, [bool isFirstFetch = false]) async { if (isFirstFetch) emit(CommentsState.loading()); try { switch (commentSourceType) { diff --git a/lib/features/feed/presentation/widgets/comments_widget.dart b/lib/features/feed/presentation/widgets/comments_widget.dart index 695c5459..4421a4aa 100644 --- a/lib/features/feed/presentation/widgets/comments_widget.dart +++ b/lib/features/feed/presentation/widgets/comments_widget.dart @@ -1,6 +1,7 @@ import 'package:eatvio_app/core/utils/date_time_utils.dart'; import 'package:eatvio_app/features/feed/models/comment_model.dart'; import 'package:eatvio_app/features/feed/presentation/bloc/comments_cubit/comments_cubit.dart'; +import 'package:eatvio_app/generated/l10n.dart'; import 'package:eatvio_app/theme/theme_helper.dart'; import 'package:flutter/material.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; @@ -28,15 +29,16 @@ class CommentsWidget extends StatefulWidget { class _CommentsWidgetState extends State { @override Widget build(BuildContext context) { + final s = S.of(context); return Column( children: [ for (int i = 0; i < widget.comment.data.length; i++) ...[ - _comment(widget.comment.data[i]), + _comment(s, widget.comment.data[i]), if (widget.comment.data[i].childrenComments.isNotEmpty) SizedBox(height: 8), for (int j = 0; j < widget.comment.data[i].childrenComments.length; j++) Padding( padding: EdgeInsets.only(left: 40), - child: _comment(widget.comment.data[i].childrenComments[j], 12, true), + child: _comment(s, widget.comment.data[i].childrenComments[j], 16, true), ), SizedBox(height: 8), ], @@ -44,7 +46,7 @@ class _CommentsWidgetState extends State { ); } - _comment(Comment comment, [double radius = 16, bool isChild = false]) { + _comment(S s, Comment comment, [double radius = 18, bool isChild = false]) { return Container( width: MediaQuery.of(context).size.width, decoration: BoxDecoration( @@ -69,16 +71,19 @@ class _CommentsWidgetState extends State { comment.authorName, style: TextStyle( height: 1, - color: Colors.grey.shade600, + color: appTheme.grey, + fontSize: 12, fontWeight: FontWeight.w500, ), ), - SizedBox(width: 4), + SizedBox(height: 4), Text( comment.body, style: TextStyle( height: 1, - color: Colors.black, + color: appTheme.blueGray800, + fontSize: 12, + fontWeight: FontWeight.w500, ), ), SizedBox(height: 4), @@ -87,10 +92,10 @@ class _CommentsWidgetState extends State { Text( comment.createdAt.format('dd MMMM', 'ru'), style: TextStyle( - color: Colors.grey.shade600, - fontSize: 12, - fontWeight: FontWeight.w400, height: 1, + color: appTheme.grey, + fontSize: 12, + fontWeight: FontWeight.w500, ), ), SizedBox(width: 16), @@ -100,11 +105,11 @@ class _CommentsWidgetState extends State { context.read().setReplyId(comment.id); }, child: Text( - 'ΠžΡ‚Π²Π΅Ρ‚ΠΈΡ‚ΡŒ', + s.answer, style: TextStyle( height: 1, + color: appTheme.grey, fontSize: 12, - color: Colors.grey.shade800, fontWeight: FontWeight.w500, ), ), diff --git a/lib/features/registration/presentation/pages/city_of_living_screen.dart b/lib/features/registration/presentation/pages/city_of_living_screen.dart index fffbd19e..f21f0659 100644 --- a/lib/features/registration/presentation/pages/city_of_living_screen.dart +++ b/lib/features/registration/presentation/pages/city_of_living_screen.dart @@ -111,7 +111,8 @@ class _CityOfLivingScreenState extends State { suggestionsCallback: (query) async { if (query.length >= 3) { final registrationCubit = context.read(); - return (await registrationCubit.getLocationsByQuery(query)); + final qwe = (await registrationCubit.getLocationsByQuery(query)); + return qwe; } return null; }, @@ -129,9 +130,11 @@ class _CityOfLivingScreenState extends State { if (locationData != null) { final List locations = await context .read() - .getLocationsByCoordinates(locationData.latitude.toString(), locationData.longitude.toString()); + .getLocationsByCoordinates( + locationData.latitude.toString(), locationData.longitude.toString()); final registrationCubit = context.read(); - registrationCubit.updateSheet(registrationCubit.state.sheet.copyWith(location: locations.first)); + registrationCubit + .updateSheet(registrationCubit.state.sheet.copyWith(location: locations.first)); setState(() { cityController.text = locations.first; suggestionsController.suggestions = locations; diff --git a/lib/generated/intl/messages_all.dart b/lib/generated/intl/messages_all.dart index abae25a5..203415cc 100644 --- a/lib/generated/intl/messages_all.dart +++ b/lib/generated/intl/messages_all.dart @@ -17,20 +17,16 @@ import 'package:intl/message_lookup_by_library.dart'; import 'package:intl/src/intl_helpers.dart'; import 'messages_en.dart' as messages_en; -import 'messages_ru.dart' as messages_ru; typedef Future LibraryLoader(); Map _deferredLibraries = { 'en': () => new SynchronousFuture(null), - 'ru': () => new SynchronousFuture(null), }; MessageLookupByLibrary? _findExact(String localeName) { switch (localeName) { case 'en': return messages_en.messages; - case 'ru': - return messages_ru.messages; default: return null; } diff --git a/lib/generated/intl/messages_en.dart b/lib/generated/intl/messages_en.dart index 3d320130..99f95108 100644 --- a/lib/generated/intl/messages_en.dart +++ b/lib/generated/intl/messages_en.dart @@ -22,157 +22,192 @@ class MessageLookup extends MessageLookupByLibrary { final messages = _notInlinedMessages(_notInlinedMessages); static Map _notInlinedMessages(_) => { - "Moscow": MessageLookupByLibrary.simpleMessage("Moscow"), - "Russia": MessageLookupByLibrary.simpleMessage("Russia"), - "active": MessageLookupByLibrary.simpleMessage("Active"), - "add_measure": MessageLookupByLibrary.simpleMessage("Add Measurement"), + "Moscow": MessageLookupByLibrary.simpleMessage("Москва"), + "Russia": MessageLookupByLibrary.simpleMessage("Россия"), + "about_diet": MessageLookupByLibrary.simpleMessage("Об этой Π΄ΠΈΠ΅Ρ‚Π΅"), + "active": MessageLookupByLibrary.simpleMessage("АктивСн"), + "add_measure": MessageLookupByLibrary.simpleMessage("Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π·Π°ΠΌΠ΅Ρ€"), "additional_information": - MessageLookupByLibrary.simpleMessage("Additional Information"), - "admin": MessageLookupByLibrary.simpleMessage("Admin"), + MessageLookupByLibrary.simpleMessage("Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ информация"), + "admin": MessageLookupByLibrary.simpleMessage("Админ"), + "alko_type": MessageLookupByLibrary.simpleMessage("Алкоголь"), + "alko_type_desc": MessageLookupByLibrary.simpleMessage( + "Π‘ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ Π²ΠΈΠ΄Π°ΠΌΠΈ Π΄ΠΈΠ΅Ρ‚ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠΏΠΎΡ‚Ρ€Π΅Π±Π»ΡΡ‚ΡŒ алкоголь Π² ΡƒΠΌΠ΅Ρ€Π΅Π½Π½Ρ‹Ρ… количСствах. РСкомСндуСтся ΡΠΎΠ²ΠΌΠ΅Ρ‰Π°Ρ‚ΡŒ вмСстС с Π½ΠΈΠ·ΠΊΠΎΠΊΠ°Π»ΠΎΡ€ΠΈΠΉΠ½Ρ‹ΠΌΠΈ закусками."), "allergies_presence": - MessageLookupByLibrary.simpleMessage("Presence of Allergies"), - "archived": MessageLookupByLibrary.simpleMessage("Archived"), - "authentificate": MessageLookupByLibrary.simpleMessage("Log In"), - "average_pressure": - MessageLookupByLibrary.simpleMessage("Average Pressure Readings:"), - "bodymass_chart": MessageLookupByLibrary.simpleMessage("BMI Chart"), - "chat": MessageLookupByLibrary.simpleMessage("Chat"), - "chest": MessageLookupByLibrary.simpleMessage("Chest"), + MessageLookupByLibrary.simpleMessage("НаличиС Π°Π»Π»Π΅Ρ€Π³ΠΈΠΈ"), + "another_form_of_comment": + MessageLookupByLibrary.simpleMessage("коммСнтария"), + "another_form_of_day": MessageLookupByLibrary.simpleMessage("дня"), + "answer": MessageLookupByLibrary.simpleMessage("ΠžΡ‚Π²Π΅Ρ‚ΠΈΡ‚ΡŒ"), + "archived": MessageLookupByLibrary.simpleMessage("Π’ Π°Ρ€Ρ…ΠΈΠ²Π΅"), + "authentificate": MessageLookupByLibrary.simpleMessage("Π’ΠΎΠΉΡ‚ΠΈ"), + "average_pressure": MessageLookupByLibrary.simpleMessage( + "Π‘Ρ€Π΅Π΄Π½ΠΈΠ΅ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ давлСния:"), + "bodymass_chart": MessageLookupByLibrary.simpleMessage("Π“Ρ€Π°Ρ„ΠΈΠΊ ИМВ"), + "calories": MessageLookupByLibrary.simpleMessage("ΠšΠ°Π»ΠΎΡ€ΠΈΠΈ"), + "carbohydrates": MessageLookupByLibrary.simpleMessage("Π£Π³Π»Π΅Π²ΠΎΠ΄Ρ‹"), + "chat": MessageLookupByLibrary.simpleMessage("Π§Π°Ρ‚"), + "chest": MessageLookupByLibrary.simpleMessage("Π“Ρ€ΡƒΠ΄ΡŒ"), "chest_circumference": - MessageLookupByLibrary.simpleMessage("Chest Circumference"), + MessageLookupByLibrary.simpleMessage("ΠžΠ±Ρ…Π²Π°Ρ‚ Π³Ρ€ΡƒΠ΄ΠΈ"), "circumference_empty": MessageLookupByLibrary.simpleMessage( - "All measurements are required"), + "ВсС Π·Π°ΠΌΠ΅Ρ€Ρ‹ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ ΠΊ заполнСнию"), "circumference_is_not_a_number": MessageLookupByLibrary.simpleMessage( - "All measurements must be numbers"), + "ВсС Π·Π°ΠΌΠ΅Ρ€Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ числами"), "circumferences_chart": - MessageLookupByLibrary.simpleMessage("Circumference Chart"), - "city": MessageLookupByLibrary.simpleMessage("City"), + MessageLookupByLibrary.simpleMessage("Π“Ρ€Π°Ρ„ΠΈΠΊ ΠΎΠ±Ρ…Π²Π°Ρ‚ΠΎΠ²"), + "city": MessageLookupByLibrary.simpleMessage("Π“ΠΎΡ€ΠΎΠ΄"), "city_of_living": - MessageLookupByLibrary.simpleMessage("City of Residence"), - "continueButton": MessageLookupByLibrary.simpleMessage("Continue"), - "country": MessageLookupByLibrary.simpleMessage("Country"), - "date_of_birth": MessageLookupByLibrary.simpleMessage("Date of Birth"), - "diary": MessageLookupByLibrary.simpleMessage("Diary"), + MessageLookupByLibrary.simpleMessage("Π“ΠΎΡ€ΠΎΠ΄ проТивания"), + "comment": MessageLookupByLibrary.simpleMessage("ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ"), + "comments": MessageLookupByLibrary.simpleMessage("ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ"), + "comments_plural": MessageLookupByLibrary.simpleMessage("ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠ΅Π²"), + "complain": MessageLookupByLibrary.simpleMessage("ΠŸΠΎΠΆΠ°Π»ΠΎΠ²Π°Ρ‚ΡŒΡΡ"), + "continueButton": MessageLookupByLibrary.simpleMessage("ΠŸΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚ΡŒ"), + "copy_link": MessageLookupByLibrary.simpleMessage("Π‘ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ссылку"), + "corb_type": MessageLookupByLibrary.simpleMessage("ΠœΡƒΡ‡Π½ΠΎΠ΅"), + "corb_type_desc": MessageLookupByLibrary.simpleMessage( + "Π•ΡΠ»ΠΈΒ Π²Ρ‹Β Π»ΡŽΠ±ΠΈΡ‚Π΅ ΠΌΡƒΡ‡Π½Ρ‹Π΅ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Ρ‹, Π½ΠΎΒ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΏΡ€ΠΈΠ΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒΡΡ Π΄ΠΈΠ΅Ρ‚Ρ‹, Π²Π°ΠΌΒ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ Π΄ΠΈΠ΅Ρ‚Π° с добавлСним ΠΌΡƒΡ‡Π½Ρ‹Ρ… блюд на основС Ρ†Π΅Π»ΡŒΠ½ΠΎΠ·Π΅Ρ€Π½ΠΎΠ²Ρ‹Ρ… Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ². Π’Β Π½ΠΈΡ…Β Π±ΠΎΠ»ΡŒΡˆΠ΅ слоТных ΡƒΠ³Π»Π΅Π²ΠΎΠ΄ΠΎΠ² ΠΈΒ ΠΊΠ»Π΅Ρ‚Ρ‡Π°Ρ‚ΠΊΠΈ, что способствуСт Π΄Π»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΌΡƒ чувству сытости ΠΈΒ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Π·Π΄ΠΎΡ€ΠΎΠ²ΡŒΠ΅ ΠΏΠΈΡ‰Π΅Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ систСмы."), + "country": MessageLookupByLibrary.simpleMessage("Π‘Ρ‚Ρ€Π°Π½Π°"), + "date_of_birth": MessageLookupByLibrary.simpleMessage("Π”Π°Ρ‚Π° роТдСния"), + "day": MessageLookupByLibrary.simpleMessage("Π”Π΅Π½ΡŒ"), + "days": MessageLookupByLibrary.simpleMessage("Π΄Π½Π΅ΠΉ"), + "diary": MessageLookupByLibrary.simpleMessage("Π”Π½Π΅Π²Π½ΠΈΠΊ"), + "diet_author": MessageLookupByLibrary.simpleMessage("Автор Π΄ΠΈΠ΅Ρ‚Ρ‹"), + "diet_plan": MessageLookupByLibrary.simpleMessage("План Π΄ΠΈΠ΅Ρ‚Ρ‹"), "do_you_have_hypertension_tendency": - MessageLookupByLibrary.simpleMessage( - "Do you have a tendency for hypertension?"), + MessageLookupByLibrary.simpleMessage("Π•ΡΡ‚ΡŒ Π»ΠΈ Ρƒ вас гипСртония?"), "do_you_have_hypotension_tendency": - MessageLookupByLibrary.simpleMessage( - "Do you have a tendency for hypotension?"), + MessageLookupByLibrary.simpleMessage("Π•ΡΡ‚ΡŒ Π»ΠΈ Ρƒ вас гипотония?"), "do_you_take_pills": MessageLookupByLibrary.simpleMessage( - "Do you take any medications or supplements?"), + "ΠŸΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚Π΅ Π»ΠΈ Π²Ρ‹ лСкарства ΠΈΠ»ΠΈ Π±Π°Π΄Ρ‹?"), "down_pressure": - MessageLookupByLibrary.simpleMessage("Lower Pressure Readings:"), - "draft": MessageLookupByLibrary.simpleMessage("Draft"), - "email": MessageLookupByLibrary.simpleMessage("Email"), - "email_empty": - MessageLookupByLibrary.simpleMessage("Email address is required"), - "email_invalid": - MessageLookupByLibrary.simpleMessage("Invalid email address"), + MessageLookupByLibrary.simpleMessage("НиТниС ΠΏΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ давлСния:"), + "draft": MessageLookupByLibrary.simpleMessage("Π§Π΅Ρ€Π½ΠΎΠ²ΠΈΠΊ"), + "email": MessageLookupByLibrary.simpleMessage("ЭлСтронная ΠΏΠΎΡ‡Ρ‚Π°"), + "email_empty": MessageLookupByLibrary.simpleMessage( + "НСобходимо ввСсти адрСс элСктронной ΠΏΠΎΡ‡Ρ‚Ρ‹"), + "email_invalid": MessageLookupByLibrary.simpleMessage( + "НСкоррСктный адрСс элСктронной ΠΏΠΎΡ‡Ρ‚Ρ‹"), "enter_additional_information": MessageLookupByLibrary.simpleMessage( - "Enter any additional information at your discretion:"), + "Π’Π²Π΅Π΄ΠΈΡ‚Π΅ Π»ΡŽΠ±ΡƒΡŽ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ Π½Π° своё усмотрСниС:"), "enter_information": - MessageLookupByLibrary.simpleMessage("Enter information..."), - "exit": MessageLookupByLibrary.simpleMessage("Log Out"), + MessageLookupByLibrary.simpleMessage("Π’Π²Π΅Π΄ΠΈΡ‚Π΅ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ..."), + "exit": MessageLookupByLibrary.simpleMessage("Π’Ρ‹ΠΉΡ‚ΠΈ"), + "expand": MessageLookupByLibrary.simpleMessage("ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ"), + "fats": MessageLookupByLibrary.simpleMessage("Π–ΠΈΡ€Ρ‹"), "favorite_foods": - MessageLookupByLibrary.simpleMessage("Favorite Foods"), + MessageLookupByLibrary.simpleMessage("Π›ΡŽΠ±ΠΈΠΌΡ‹Π΅ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Ρ‹"), "favorite_unfavorite_foods": MessageLookupByLibrary.simpleMessage( - "Your Favorite/Least Favorite Foods?"), - "female": MessageLookupByLibrary.simpleMessage("Female"), + "Π’Π°ΡˆΠΈ Π»ΡŽΠ±ΠΈΠΌΡ‹Π΅/Π½Π΅Π»ΡŽΠ±ΠΈΠΌΡ‹Π΅ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Ρ‹ питания?"), + "female": MessageLookupByLibrary.simpleMessage("ЖСнский"), "fill_in_information": - MessageLookupByLibrary.simpleMessage("Fill in the information:"), - "finish": MessageLookupByLibrary.simpleMessage("Finish"), - "first_name": MessageLookupByLibrary.simpleMessage("First Name"), - "first_name_empty": - MessageLookupByLibrary.simpleMessage("First name is required"), + MessageLookupByLibrary.simpleMessage("Π—Π°ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ:"), + "finish": MessageLookupByLibrary.simpleMessage("Π—Π°Π²Π΅Ρ€ΡˆΠΈΡ‚ΡŒ"), + "first_name": MessageLookupByLibrary.simpleMessage("Имя"), + "first_name_empty": MessageLookupByLibrary.simpleMessage( + "Имя ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ для заполнСния"), "first_name_short": MessageLookupByLibrary.simpleMessage( - "First name must be at least 1 character long"), - "gr": MessageLookupByLibrary.simpleMessage("g"), - "grams": MessageLookupByLibrary.simpleMessage("g"), + "Π’ ΠΈΠΌΠ΅Π½ΠΈ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ 1 символ"), + "gr": MessageLookupByLibrary.simpleMessage("Π³Ρ€"), + "grams": MessageLookupByLibrary.simpleMessage("Π³Ρ€"), "height_measurements": - MessageLookupByLibrary.simpleMessage("Height Measurement"), + MessageLookupByLibrary.simpleMessage("Π—Π°ΠΌΠ΅Ρ€ роста"), + "hide": MessageLookupByLibrary.simpleMessage("Π‘Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ"), "hip_circumference": - MessageLookupByLibrary.simpleMessage("Hip Circumference"), - "hips": MessageLookupByLibrary.simpleMessage("Hips"), - "in_progress": MessageLookupByLibrary.simpleMessage("In Progress"), + MessageLookupByLibrary.simpleMessage("ΠžΠ±Ρ…Π²Π°Ρ‚ Π±Π΅Π΄Π΅Ρ€"), + "hips": MessageLookupByLibrary.simpleMessage("Π‘Π΅Π΄Ρ€Π°"), + "in_progress": MessageLookupByLibrary.simpleMessage("Π’ процСссС"), "initial_measurements": - MessageLookupByLibrary.simpleMessage("Initial Measurements"), - "language": MessageLookupByLibrary.simpleMessage("Language"), - "last_name": MessageLookupByLibrary.simpleMessage("Last Name"), - "last_name_empty": - MessageLookupByLibrary.simpleMessage("Last name is required"), + MessageLookupByLibrary.simpleMessage("ΠŸΠ΅Ρ€Π²ΠΈΡ‡Π½Ρ‹Π΅ Π·Π°ΠΌΠ΅Ρ€Ρ‹"), + "language": MessageLookupByLibrary.simpleMessage("Π―Π·Ρ‹ΠΊ"), + "last_name": MessageLookupByLibrary.simpleMessage("Ѐамилия"), + "last_name_empty": MessageLookupByLibrary.simpleMessage( + "Ѐамилия ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Π° для заполнСния"), "last_name_short": MessageLookupByLibrary.simpleMessage( - "Last name must be at least 6 characters long"), + "Π’ Ρ„Π°ΠΌΠΈΠ»ΠΈΠΈ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ 6 символов"), "lbl_english": MessageLookupByLibrary.simpleMessage("English"), - "loading": MessageLookupByLibrary.simpleMessage("Loading..."), - "male": MessageLookupByLibrary.simpleMessage("Male"), + "link_was_copied": + MessageLookupByLibrary.simpleMessage("Бсылка ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ скопирована"), + "loading": MessageLookupByLibrary.simpleMessage("Π—Π°Π³Ρ€ΡƒΠ·ΠΊΠ°..."), + "male": MessageLookupByLibrary.simpleMessage("ΠœΡƒΠΆΡΠΊΠΎΠΉ"), + "meal": MessageLookupByLibrary.simpleMessage("ΠŸΡ€ΠΈΡ‘ΠΌ ΠΏΠΈΡ‰ΠΈ"), + "meat_type": MessageLookupByLibrary.simpleMessage("Π‘ мясом"), + "meat_type_desc": MessageLookupByLibrary.simpleMessage( + "Π”ΠΈΠ΅Ρ‚Π° с мясом полСзная и сбалансированная. Π’ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ в сСбя Π½Π΅ΠΆΠΈΡ€Π½ΠΎΠ΅ мясо: ΠΊΡƒΡ€ΠΈΡ†Ρƒ, ΠΈΠ½Π΄Π΅ΠΉΠΊΡƒ, ΠΊΡ€ΠΎΠ»ΠΈΠΊΠ° или говядину. В сочСтании с овощами ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚Π΅ всС нСобходимыС Π²ΠΈΡ‚Π°ΠΌΠΈΠ½Ρ‹ ΠΈΒ ΠΌΠΈΠ½Π΅Ρ€Π°Π»Ρ‹. НС забывайтС о порциях ΠΈΒ ΡΡ‚Π°Ρ€Π°ΠΉΡ‚Π΅ΡΡŒ Π΅ΡΡ‚ΡŒΒ ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ, ΠΏΡ€ΠΈΡΠ»ΡƒΡˆΠΈΠ²Π°ΡΡΡŒ к своСму ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΌΡƒ."), + "milliliter": MessageLookupByLibrary.simpleMessage("ΠΌΠ»"), "msg_network_err": - MessageLookupByLibrary.simpleMessage("Network error!"), + MessageLookupByLibrary.simpleMessage("БСтСвая ошибка!"), "msg_something_went_wrong": - MessageLookupByLibrary.simpleMessage("Something went wrong!"), - "my_blog": MessageLookupByLibrary.simpleMessage("My Blog"), - "my_settings": MessageLookupByLibrary.simpleMessage("My Settings"), - "name_empty": - MessageLookupByLibrary.simpleMessage("Username is required"), + MessageLookupByLibrary.simpleMessage("Π§Ρ‚ΠΎ Ρ‚ΠΎ пошло Π½Π΅ Ρ‚Π°ΠΊ!"), + "my_blog": MessageLookupByLibrary.simpleMessage("Мой Π±Π»ΠΎΠ³"), + "my_settings": MessageLookupByLibrary.simpleMessage("Мои настройки"), + "name_empty": MessageLookupByLibrary.simpleMessage( + "Имя ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ для заполнСния"), "name_short": MessageLookupByLibrary.simpleMessage( - "Username must be at least 6 characters long"), - "no": MessageLookupByLibrary.simpleMessage("No"), + "Π’ ΠΈΠΌΠ΅Π½ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ 6 символов"), + "no": MessageLookupByLibrary.simpleMessage("НСт"), "no_account": - MessageLookupByLibrary.simpleMessage("I do not have an account"), - "password": MessageLookupByLibrary.simpleMessage("Password"), + MessageLookupByLibrary.simpleMessage("Π£ мСня Π½Π΅Ρ‚ Π°ΠΊΠΊΠ°ΡƒΠ½Ρ‚Π°"), + "password": MessageLookupByLibrary.simpleMessage("ΠŸΠ°Ρ€ΠΎΠ»ΡŒ"), "password_confirmation": - MessageLookupByLibrary.simpleMessage("Confirm Password"), + MessageLookupByLibrary.simpleMessage("ΠŸΠΎΠ΄Ρ‚Π²Π΅Ρ€Π΄ΠΈΡ‚Π΅ ΠΏΠ°Ρ€ΠΎΠ»ΡŒ"), "password_confirmation_mismatch": - MessageLookupByLibrary.simpleMessage("Passwords do not match"), - "password_empty": - MessageLookupByLibrary.simpleMessage("Password is required"), + MessageLookupByLibrary.simpleMessage("ΠŸΠ°Ρ€ΠΎΠ»ΠΈ Π½Π΅ ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡŽΡ‚"), + "password_empty": MessageLookupByLibrary.simpleMessage( + "ΠŸΠ°Ρ€ΠΎΠ»ΡŒ обязатСлСн для заполнСния"), "password_short": MessageLookupByLibrary.simpleMessage( - "Password must be at least 6 characters long"), - "pcs": MessageLookupByLibrary.simpleMessage("pcs"), + "Π’ ΠΏΠ°Ρ€ΠΎΠ»Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ 6 символов"), + "pcs": MessageLookupByLibrary.simpleMessage("ΡˆΡ‚"), "place_of_living": - MessageLookupByLibrary.simpleMessage("Place of Residence"), + MessageLookupByLibrary.simpleMessage("ΠœΠ΅ΡΡ‚ΠΎ проТивания"), "plans_complete": - MessageLookupByLibrary.simpleMessage("Completed Plans"), - "preferred_language": MessageLookupByLibrary.simpleMessage( - "Preferred Language of Communication"), + MessageLookupByLibrary.simpleMessage("ΠŸΡ€ΠΎΠΉΠ΄Π΅Π½Π½Ρ‹Π΅ ΠΏΠ»Π°Π½Ρ‹"), + "preferred_language": + MessageLookupByLibrary.simpleMessage("ΠŸΡ€Π΅Π΄ΠΏΠΎΡ‡ΠΈΡ‚Π°Π΅ΠΌΡ‹ΠΉ язык общСния"), "pressure_empty": MessageLookupByLibrary.simpleMessage( - "All blood pressure readings are required"), + "ВсС ΠΏΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ давлСния ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ ΠΊ заполнСнию"), "pressure_is_not_a_number": MessageLookupByLibrary.simpleMessage( - "All blood pressure readings must be numbers"), - "profile": MessageLookupByLibrary.simpleMessage("Profile"), - "save": MessageLookupByLibrary.simpleMessage("Save"), - "settings": MessageLookupByLibrary.simpleMessage("Settings"), - "skip": MessageLookupByLibrary.simpleMessage("Skip"), + "ВсС ΠΏΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ давлСния Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ числами"), + "profile": MessageLookupByLibrary.simpleMessage("ΠŸΡ€ΠΎΡ„ΠΈΠ»ΡŒ"), + "proteins": MessageLookupByLibrary.simpleMessage("Π‘Π΅Π»ΠΊΠΈ"), + "save": MessageLookupByLibrary.simpleMessage("Π‘ΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ"), + "settings": MessageLookupByLibrary.simpleMessage("Настройки"), + "share": MessageLookupByLibrary.simpleMessage("ΠŸΠΎΠ΄Π΅Π»ΠΈΡ‚ΡŒΡΡ"), + "skip": MessageLookupByLibrary.simpleMessage("ΠŸΡ€ΠΎΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ"), + "startDiet": MessageLookupByLibrary.simpleMessage("ΠΠ°Ρ‡Π°Ρ‚ΡŒ Π΄ΠΈΠ΅Ρ‚Ρƒ"), "tell_your_schedule": MessageLookupByLibrary.simpleMessage( - "Describe your daily routine freely, such as when you wake up, eat, and go to bed:"), + "РасскаТитС Π² свободной Ρ„ΠΎΡ€ΠΌΠ΅ ΠΎ Ρ‚ΠΎΠΌ ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΡΡ‹ΠΏΠ°Π΅Ρ‚Π΅ΡΡŒ, ΠΊΠΎΠ³Π΄Π° Π΅Π΄ΠΈΡ‚Π΅, ΠΊΠΎΠ³Π΄Π° Π»ΠΎΠΆΠΈΡ‚Π΅ΡΡŒ ΡΠΏΠ°Ρ‚ΡŒ:"), "unfavorite_foods": - MessageLookupByLibrary.simpleMessage("Least Favorite Foods"), - "up_pressure": - MessageLookupByLibrary.simpleMessage("Upper Pressure Readings:"), + MessageLookupByLibrary.simpleMessage("ΠΠ΅Π»ΡŽΠ±ΠΈΠΌΡ‹Π΅ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Ρ‹"), + "up_pressure": MessageLookupByLibrary.simpleMessage( + "Π’Π΅Ρ€Ρ…Π½ΠΈΠ΅ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ давлСния:"), "user_authorization": - MessageLookupByLibrary.simpleMessage("Authentication"), + MessageLookupByLibrary.simpleMessage("АутСнтификация"), "user_registration": - MessageLookupByLibrary.simpleMessage("User Registration"), - "username": MessageLookupByLibrary.simpleMessage("Username"), - "waist": MessageLookupByLibrary.simpleMessage("Waist"), + MessageLookupByLibrary.simpleMessage("РСгистрация ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ"), + "username": MessageLookupByLibrary.simpleMessage("Имя ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ"), + "vegan_type": MessageLookupByLibrary.simpleMessage("ВСгСтарианская"), + "vegan_type_desc": MessageLookupByLibrary.simpleMessage( + "Π”ΠΈΠ΅Ρ‚Π° основана Π½Π°Β ΠΏΠΎΡ‚Ρ€Π΅Π±Π»Π΅Π½ΠΈΠΈ Ρ€Π°ΡΡ‚ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΏΠΈΡ‰ΠΈ ΠΈΒ ΠΎΡ‚ΠΊΠ°Π·Π΅ ΠΎΡ‚Β ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΎΠ² ΠΆΠΈΠ²ΠΎΡ‚Π½ΠΎΠ³ΠΎ происхоТдСния. Π’Π°ΠΊΠΎΠΉ тип питания ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Ρ€Π°Π·Π½ΠΎΠΎΠ±Ρ€Π°Π·Π½Ρ‹ΠΌ и вкусным, Π°Β Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΌ Π΄Π»ΡΒ Π·Π΄ΠΎΡ€ΠΎΠ²ΡŒΡ."), + "waist": MessageLookupByLibrary.simpleMessage("Валия"), "waist_circumference": - MessageLookupByLibrary.simpleMessage("Waist Circumference"), - "weight": MessageLookupByLibrary.simpleMessage("Weight"), - "weight_chart": MessageLookupByLibrary.simpleMessage("Weight Chart"), + MessageLookupByLibrary.simpleMessage("ΠžΠ±Ρ…Π²Π°Ρ‚ Ρ‚Π°Π»ΠΈΠΈ"), + "weight": MessageLookupByLibrary.simpleMessage("ВСс"), + "weight_chart": MessageLookupByLibrary.simpleMessage("Π“Ρ€Π°Ρ„ΠΈΠΊ вСса"), "weight_measurements": - MessageLookupByLibrary.simpleMessage("Weight Measurement"), + MessageLookupByLibrary.simpleMessage("Π—Π°ΠΌΠ΅Ρ€ вСса"), "what_is_your_name": - MessageLookupByLibrary.simpleMessage("What is your name?"), - "wrong_credentials": - MessageLookupByLibrary.simpleMessage("Invalid user credentials"), + MessageLookupByLibrary.simpleMessage("Как вас Π·ΠΎΠ²ΡƒΡ‚?"), + "wrong_credentials": MessageLookupByLibrary.simpleMessage( + "НСвСрныС Π΄Π°Π½Π½Ρ‹Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ"), "your_blood_pressure": - MessageLookupByLibrary.simpleMessage("Your Blood Pressure?"), + MessageLookupByLibrary.simpleMessage("Π’Π°ΡˆΠ΅ Π°Ρ€Ρ‚Π΅Ρ€ΠΈΠ°Π»ΡŒΠ½ΠΎΠ΅ Π΄Π°Π²Π»Π΅Π½ΠΈΠ΅?"), "your_favorite_sports": - MessageLookupByLibrary.simpleMessage("Your Favorite Sports?"), - "your_gender": MessageLookupByLibrary.simpleMessage("Your Gender?"), - "your_height": MessageLookupByLibrary.simpleMessage("Your Height:"), - "your_schedule": - MessageLookupByLibrary.simpleMessage("Your Daily Routine?"), - "your_weight": MessageLookupByLibrary.simpleMessage("Your Weight:") + MessageLookupByLibrary.simpleMessage("Π’Π°ΡˆΠΈ спортивныС увлСчСния?"), + "your_gender": MessageLookupByLibrary.simpleMessage("Π’Π°Ρˆ ΠΏΠΎΠ»?"), + "your_height": MessageLookupByLibrary.simpleMessage("Π’Π°Ρˆ рост:"), + "your_schedule": MessageLookupByLibrary.simpleMessage("Π’Π°Ρˆ Ρ€Π΅ΠΆΠΈΠΌ дня?"), + "your_weight": MessageLookupByLibrary.simpleMessage("Π’Π°Ρˆ вСс:") }; } diff --git a/lib/generated/intl/messages_ru.dart b/lib/generated/intl/messages_ru.dart deleted file mode 100644 index 9c4da5f8..00000000 --- a/lib/generated/intl/messages_ru.dart +++ /dev/null @@ -1,175 +0,0 @@ -// DO NOT EDIT. This is code generated via package:intl/generate_localized.dart -// This is a library that provides messages for a ru locale. All the -// messages from the main program should be duplicated here with the same -// function name. - -// Ignore issues from commonly used lints in this file. -// ignore_for_file:unnecessary_brace_in_string_interps, unnecessary_new -// ignore_for_file:prefer_single_quotes,comment_references, directives_ordering -// ignore_for_file:annotate_overrides,prefer_generic_function_type_aliases -// ignore_for_file:unused_import, file_names, avoid_escaping_inner_quotes -// ignore_for_file:unnecessary_string_interpolations, unnecessary_string_escapes - -import 'package:intl/intl.dart'; -import 'package:intl/message_lookup_by_library.dart'; - -final messages = new MessageLookup(); - -typedef String MessageIfAbsent(String messageStr, List args); - -class MessageLookup extends MessageLookupByLibrary { - String get localeName => 'ru'; - - final messages = _notInlinedMessages(_notInlinedMessages); - static Map _notInlinedMessages(_) => { - "Moscow": MessageLookupByLibrary.simpleMessage("Москва"), - "Russia": MessageLookupByLibrary.simpleMessage("Россия"), - "active": MessageLookupByLibrary.simpleMessage("АктивСн"), - "add_measure": MessageLookupByLibrary.simpleMessage("Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π·Π°ΠΌΠ΅Ρ€"), - "additional_information": - MessageLookupByLibrary.simpleMessage("Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ информация"), - "admin": MessageLookupByLibrary.simpleMessage("Админ"), - "allergies_presence": - MessageLookupByLibrary.simpleMessage("НаличиС Π°Π»Π»Π΅Ρ€Π³ΠΈΠΈ"), - "archived": MessageLookupByLibrary.simpleMessage("Π’ Π°Ρ€Ρ…ΠΈΠ²Π΅"), - "authentificate": MessageLookupByLibrary.simpleMessage("Π’ΠΎΠΉΡ‚ΠΈ"), - "average_pressure": MessageLookupByLibrary.simpleMessage( - "Π‘Ρ€Π΅Π΄Π½ΠΈΠ΅ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ давлСния:"), - "bodymass_chart": MessageLookupByLibrary.simpleMessage("Π“Ρ€Π°Ρ„ΠΈΠΊ ИМВ"), - "chat": MessageLookupByLibrary.simpleMessage("Π§Π°Ρ‚"), - "chest": MessageLookupByLibrary.simpleMessage("Π“Ρ€ΡƒΠ΄ΡŒ"), - "chest_circumference": - MessageLookupByLibrary.simpleMessage("ΠžΠ±Ρ…Π²Π°Ρ‚ Π³Ρ€ΡƒΠ΄ΠΈ"), - "circumference_empty": MessageLookupByLibrary.simpleMessage( - "ВсС Π·Π°ΠΌΠ΅Ρ€Ρ‹ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ ΠΊ заполнСнию"), - "circumference_is_not_a_number": MessageLookupByLibrary.simpleMessage( - "ВсС Π·Π°ΠΌΠ΅Ρ€Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ числами"), - "circumferences_chart": - MessageLookupByLibrary.simpleMessage("Π“Ρ€Π°Ρ„ΠΈΠΊ ΠΎΠ±Ρ…Π²Π°Ρ‚ΠΎΠ²"), - "city": MessageLookupByLibrary.simpleMessage("Π“ΠΎΡ€ΠΎΠ΄"), - "city_of_living": - MessageLookupByLibrary.simpleMessage("Π“ΠΎΡ€ΠΎΠ΄ проТивания"), - "continueButton": MessageLookupByLibrary.simpleMessage("ΠŸΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚ΡŒ"), - "country": MessageLookupByLibrary.simpleMessage("Π‘Ρ‚Ρ€Π°Π½Π°"), - "date_of_birth": MessageLookupByLibrary.simpleMessage("Π”Π°Ρ‚Π° роТдСния"), - "diary": MessageLookupByLibrary.simpleMessage("Π”Π½Π΅Π²Π½ΠΈΠΊ"), - "do_you_have_hypertension_tendency": - MessageLookupByLibrary.simpleMessage("Π•ΡΡ‚ΡŒ Π»ΠΈ Ρƒ вас гипСртония?"), - "do_you_have_hypotension_tendency": - MessageLookupByLibrary.simpleMessage("Π•ΡΡ‚ΡŒ Π»ΠΈ Ρƒ вас гипотония?"), - "do_you_take_pills": MessageLookupByLibrary.simpleMessage( - "ΠŸΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚Π΅ Π»ΠΈ Π²Ρ‹ лСкарства ΠΈΠ»ΠΈ Π±Π°Π΄Ρ‹?"), - "down_pressure": - MessageLookupByLibrary.simpleMessage("НиТниС ΠΏΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ давлСния:"), - "draft": MessageLookupByLibrary.simpleMessage("Π§Π΅Ρ€Π½ΠΎΠ²ΠΈΠΊ"), - "email": MessageLookupByLibrary.simpleMessage("ЭлСтронная ΠΏΠΎΡ‡Ρ‚Π°"), - "email_empty": MessageLookupByLibrary.simpleMessage( - "НСобходимо ввСсти адрСс элСктронной ΠΏΠΎΡ‡Ρ‚Ρ‹"), - "email_invalid": MessageLookupByLibrary.simpleMessage( - "НСкоррСктный адрСс элСктронной ΠΏΠΎΡ‡Ρ‚Ρ‹"), - "enter_additional_information": MessageLookupByLibrary.simpleMessage( - "Π’Π²Π΅Π΄ΠΈΡ‚Π΅ Π»ΡŽΠ±ΡƒΡŽ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ Π½Π° своё усмотрСниС:"), - "enter_information": - MessageLookupByLibrary.simpleMessage("Π’Π²Π΅Π΄ΠΈΡ‚Π΅ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ..."), - "exit": MessageLookupByLibrary.simpleMessage("Π’Ρ‹ΠΉΡ‚ΠΈ"), - "favorite_foods": - MessageLookupByLibrary.simpleMessage("Π›ΡŽΠ±ΠΈΠΌΡ‹Π΅ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Ρ‹"), - "favorite_unfavorite_foods": MessageLookupByLibrary.simpleMessage( - "Π’Π°ΡˆΠΈ Π»ΡŽΠ±ΠΈΠΌΡ‹Π΅/Π½Π΅Π»ΡŽΠ±ΠΈΠΌΡ‹Π΅ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Ρ‹ питания?"), - "female": MessageLookupByLibrary.simpleMessage("ЖСнский"), - "fill_in_information": - MessageLookupByLibrary.simpleMessage("Π—Π°ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ:"), - "finish": MessageLookupByLibrary.simpleMessage("Π—Π°Π²Π΅Ρ€ΡˆΠΈΡ‚ΡŒ"), - "first_name": MessageLookupByLibrary.simpleMessage("Имя"), - "first_name_empty": MessageLookupByLibrary.simpleMessage( - "Имя ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ для заполнСния"), - "first_name_short": MessageLookupByLibrary.simpleMessage( - "Π’ ΠΈΠΌΠ΅Π½ΠΈ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ 1 символ"), - "gr": MessageLookupByLibrary.simpleMessage("Π³Ρ€"), - "grams": MessageLookupByLibrary.simpleMessage("Π³Ρ€"), - "height_measurements": - MessageLookupByLibrary.simpleMessage("Π—Π°ΠΌΠ΅Ρ€ роста"), - "hip_circumference": - MessageLookupByLibrary.simpleMessage("ΠžΠ±Ρ…Π²Π°Ρ‚ Π±Π΅Π΄Π΅Ρ€"), - "hips": MessageLookupByLibrary.simpleMessage("Π‘Π΅Π΄Ρ€Π°"), - "in_progress": MessageLookupByLibrary.simpleMessage("Π’ процСссС"), - "initial_measurements": - MessageLookupByLibrary.simpleMessage("ΠŸΠ΅Ρ€Π²ΠΈΡ‡Π½Ρ‹Π΅ Π·Π°ΠΌΠ΅Ρ€Ρ‹"), - "language": MessageLookupByLibrary.simpleMessage("Π―Π·Ρ‹ΠΊ"), - "last_name": MessageLookupByLibrary.simpleMessage("Ѐамилия"), - "last_name_empty": MessageLookupByLibrary.simpleMessage( - "Ѐамилия ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Π° для заполнСния"), - "last_name_short": MessageLookupByLibrary.simpleMessage( - "Π’ Ρ„Π°ΠΌΠΈΠ»ΠΈΠΈ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ 6 символов"), - "lbl_english": MessageLookupByLibrary.simpleMessage("English"), - "loading": MessageLookupByLibrary.simpleMessage("Π—Π°Π³Ρ€ΡƒΠ·ΠΊΠ°..."), - "male": MessageLookupByLibrary.simpleMessage("ΠœΡƒΠΆΡΠΊΠΎΠΉ"), - "msg_network_err": - MessageLookupByLibrary.simpleMessage("БСтСвая ошибка!"), - "msg_something_went_wrong": - MessageLookupByLibrary.simpleMessage("Π§Ρ‚ΠΎ Ρ‚ΠΎ пошло Π½Π΅ Ρ‚Π°ΠΊ!"), - "my_blog": MessageLookupByLibrary.simpleMessage("Мой Π±Π»ΠΎΠ³"), - "my_settings": MessageLookupByLibrary.simpleMessage("Мои настройки"), - "name_empty": MessageLookupByLibrary.simpleMessage( - "Имя ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ для заполнСния"), - "name_short": MessageLookupByLibrary.simpleMessage( - "Π’ ΠΈΠΌΠ΅Π½ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ 6 символов"), - "no": MessageLookupByLibrary.simpleMessage("НСт"), - "no_account": - MessageLookupByLibrary.simpleMessage("Π£ мСня Π½Π΅Ρ‚ Π°ΠΊΠΊΠ°ΡƒΠ½Ρ‚Π°"), - "password": MessageLookupByLibrary.simpleMessage("ΠŸΠ°Ρ€ΠΎΠ»ΡŒ"), - "password_confirmation": - MessageLookupByLibrary.simpleMessage("ΠŸΠΎΠ΄Ρ‚Π²Π΅Ρ€Π΄ΠΈΡ‚Π΅ ΠΏΠ°Ρ€ΠΎΠ»ΡŒ"), - "password_confirmation_mismatch": - MessageLookupByLibrary.simpleMessage("ΠŸΠ°Ρ€ΠΎΠ»ΠΈ Π½Π΅ ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡŽΡ‚"), - "password_empty": MessageLookupByLibrary.simpleMessage( - "ΠŸΠ°Ρ€ΠΎΠ»ΡŒ обязатСлСн для заполнСния"), - "password_short": MessageLookupByLibrary.simpleMessage( - "Π’ ΠΏΠ°Ρ€ΠΎΠ»Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ 6 символов"), - "pcs": MessageLookupByLibrary.simpleMessage("ΡˆΡ‚"), - "place_of_living": - MessageLookupByLibrary.simpleMessage("ΠœΠ΅ΡΡ‚ΠΎ проТивания"), - "plans_complete": - MessageLookupByLibrary.simpleMessage("ΠŸΡ€ΠΎΠΉΠ΄Π΅Π½Π½Ρ‹Π΅ ΠΏΠ»Π°Π½Ρ‹"), - "preferred_language": - MessageLookupByLibrary.simpleMessage("ΠŸΡ€Π΅Π΄ΠΏΠΎΡ‡ΠΈΡ‚Π°Π΅ΠΌΡ‹ΠΉ язык общСния"), - "pressure_empty": MessageLookupByLibrary.simpleMessage( - "ВсС ΠΏΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ давлСния ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ ΠΊ заполнСнию"), - "pressure_is_not_a_number": MessageLookupByLibrary.simpleMessage( - "ВсС ΠΏΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ давлСния Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ числами"), - "profile": MessageLookupByLibrary.simpleMessage("ΠŸΡ€ΠΎΡ„ΠΈΠ»ΡŒ"), - "save": MessageLookupByLibrary.simpleMessage("Π‘ΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ"), - "settings": MessageLookupByLibrary.simpleMessage("Настройки"), - "skip": MessageLookupByLibrary.simpleMessage("ΠŸΡ€ΠΎΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ"), - "tell_your_schedule": MessageLookupByLibrary.simpleMessage( - "РасскаТитС Π² свободной Ρ„ΠΎΡ€ΠΌΠ΅ ΠΎ Ρ‚ΠΎΠΌ ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΡΡ‹ΠΏΠ°Π΅Ρ‚Π΅ΡΡŒ, ΠΊΠΎΠ³Π΄Π° Π΅Π΄ΠΈΡ‚Π΅, ΠΊΠΎΠ³Π΄Π° Π»ΠΎΠΆΠΈΡ‚Π΅ΡΡŒ ΡΠΏΠ°Ρ‚ΡŒ:"), - "unfavorite_foods": - MessageLookupByLibrary.simpleMessage("ΠΠ΅Π»ΡŽΠ±ΠΈΠΌΡ‹Π΅ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Ρ‹"), - "up_pressure": MessageLookupByLibrary.simpleMessage( - "Π’Π΅Ρ€Ρ…Π½ΠΈΠ΅ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ давлСния:"), - "user_authorization": - MessageLookupByLibrary.simpleMessage("АутСнтификация"), - "user_registration": - MessageLookupByLibrary.simpleMessage("РСгистрация ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ"), - "username": MessageLookupByLibrary.simpleMessage("Имя ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ"), - "waist": MessageLookupByLibrary.simpleMessage("Валия"), - "waist_circumference": - MessageLookupByLibrary.simpleMessage("ΠžΠ±Ρ…Π²Π°Ρ‚ Ρ‚Π°Π»ΠΈΠΈ"), - "weight": MessageLookupByLibrary.simpleMessage("ВСс"), - "weight_chart": MessageLookupByLibrary.simpleMessage("Π“Ρ€Π°Ρ„ΠΈΠΊ вСса"), - "weight_measurements": - MessageLookupByLibrary.simpleMessage("Π—Π°ΠΌΠ΅Ρ€ вСса"), - "what_is_your_name": - MessageLookupByLibrary.simpleMessage("Как вас Π·ΠΎΠ²ΡƒΡ‚?"), - "wrong_credentials": 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("Π’Π°Ρˆ вСс:") - }; -} diff --git a/lib/generated/l10n.dart b/lib/generated/l10n.dart index 1d48044a..52cfc313 100644 --- a/lib/generated/l10n.dart +++ b/lib/generated/l10n.dart @@ -50,430 +50,430 @@ class S { return Localizations.of(context, S); } - /// `User Registration` + /// `РСгистрация ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ` String get user_registration { return Intl.message( - 'User Registration', + 'РСгистрация ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ', name: 'user_registration', desc: '', args: [], ); } - /// `Email` + /// `ЭлСтронная ΠΏΠΎΡ‡Ρ‚Π°` String get email { return Intl.message( - 'Email', + 'ЭлСтронная ΠΏΠΎΡ‡Ρ‚Π°', name: 'email', desc: '', args: [], ); } - /// `Username` + /// `Имя ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ` String get username { return Intl.message( - 'Username', + 'Имя ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ', name: 'username', desc: '', args: [], ); } - /// `Password` + /// `ΠŸΠ°Ρ€ΠΎΠ»ΡŒ` String get password { return Intl.message( - 'Password', + 'ΠŸΠ°Ρ€ΠΎΠ»ΡŒ', name: 'password', desc: '', args: [], ); } - /// `Confirm Password` + /// `ΠŸΠΎΠ΄Ρ‚Π²Π΅Ρ€Π΄ΠΈΡ‚Π΅ ΠΏΠ°Ρ€ΠΎΠ»ΡŒ` String get password_confirmation { return Intl.message( - 'Confirm Password', + 'ΠŸΠΎΠ΄Ρ‚Π²Π΅Ρ€Π΄ΠΈΡ‚Π΅ ΠΏΠ°Ρ€ΠΎΠ»ΡŒ', name: 'password_confirmation', desc: '', args: [], ); } - /// `Invalid user credentials` + /// `НСвСрныС Π΄Π°Π½Π½Ρ‹Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ` String get wrong_credentials { return Intl.message( - 'Invalid user credentials', + 'НСвСрныС Π΄Π°Π½Π½Ρ‹Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ', name: 'wrong_credentials', desc: '', args: [], ); } - /// `First Name` + /// `Имя` String get first_name { return Intl.message( - 'First Name', + 'Имя', name: 'first_name', desc: '', args: [], ); } - /// `Last Name` + /// `Ѐамилия` String get last_name { return Intl.message( - 'Last Name', + 'Ѐамилия', name: 'last_name', desc: '', args: [], ); } - /// `What is your name?` + /// `Как вас Π·ΠΎΠ²ΡƒΡ‚?` String get what_is_your_name { return Intl.message( - 'What is your name?', + 'Как вас Π·ΠΎΠ²ΡƒΡ‚?', name: 'what_is_your_name', desc: '', args: [], ); } - /// `Date of Birth` + /// `Π”Π°Ρ‚Π° роТдСния` String get date_of_birth { return Intl.message( - 'Date of Birth', + 'Π”Π°Ρ‚Π° роТдСния', name: 'date_of_birth', desc: '', args: [], ); } - /// `Country` + /// `Π‘Ρ‚Ρ€Π°Π½Π°` String get country { return Intl.message( - 'Country', + 'Π‘Ρ‚Ρ€Π°Π½Π°', name: 'country', desc: '', args: [], ); } - /// `Russia` + /// `Россия` String get Russia { return Intl.message( - 'Russia', + 'Россия', name: 'Russia', desc: '', args: [], ); } - /// `City` + /// `Π“ΠΎΡ€ΠΎΠ΄` String get city { return Intl.message( - 'City', + 'Π“ΠΎΡ€ΠΎΠ΄', name: 'city', desc: '', args: [], ); } - /// `Moscow` + /// `Москва` String get Moscow { return Intl.message( - 'Moscow', + 'Москва', name: 'Moscow', desc: '', args: [], ); } - /// `Place of Residence` + /// `ΠœΠ΅ΡΡ‚ΠΎ проТивания` String get place_of_living { return Intl.message( - 'Place of Residence', + 'ΠœΠ΅ΡΡ‚ΠΎ проТивания', name: 'place_of_living', desc: '', args: [], ); } - /// `Hip Circumference` + /// `ΠžΠ±Ρ…Π²Π°Ρ‚ Π±Π΅Π΄Π΅Ρ€` String get hip_circumference { return Intl.message( - 'Hip Circumference', + 'ΠžΠ±Ρ…Π²Π°Ρ‚ Π±Π΅Π΄Π΅Ρ€', name: 'hip_circumference', desc: '', args: [], ); } - /// `Chest Circumference` + /// `ΠžΠ±Ρ…Π²Π°Ρ‚ Π³Ρ€ΡƒΠ΄ΠΈ` String get chest_circumference { return Intl.message( - 'Chest Circumference', + 'ΠžΠ±Ρ…Π²Π°Ρ‚ Π³Ρ€ΡƒΠ΄ΠΈ', name: 'chest_circumference', desc: '', args: [], ); } - /// `Waist Circumference` + /// `ΠžΠ±Ρ…Π²Π°Ρ‚ Ρ‚Π°Π»ΠΈΠΈ` String get waist_circumference { return Intl.message( - 'Waist Circumference', + 'ΠžΠ±Ρ…Π²Π°Ρ‚ Ρ‚Π°Π»ΠΈΠΈ', name: 'waist_circumference', desc: '', args: [], ); } - /// `Initial Measurements` + /// `ΠŸΠ΅Ρ€Π²ΠΈΡ‡Π½Ρ‹Π΅ Π·Π°ΠΌΠ΅Ρ€Ρ‹` String get initial_measurements { return Intl.message( - 'Initial Measurements', + 'ΠŸΠ΅Ρ€Π²ΠΈΡ‡Π½Ρ‹Π΅ Π·Π°ΠΌΠ΅Ρ€Ρ‹', name: 'initial_measurements', desc: '', args: [], ); } - /// `Male` + /// `ΠœΡƒΠΆΡΠΊΠΎΠΉ` String get male { return Intl.message( - 'Male', + 'ΠœΡƒΠΆΡΠΊΠΎΠΉ', name: 'male', desc: '', args: [], ); } - /// `Female` + /// `ЖСнский` String get female { return Intl.message( - 'Female', + 'ЖСнский', name: 'female', desc: '', args: [], ); } - /// `Weight Measurement` + /// `Π—Π°ΠΌΠ΅Ρ€ вСса` String get weight_measurements { return Intl.message( - 'Weight Measurement', + 'Π—Π°ΠΌΠ΅Ρ€ вСса', name: 'weight_measurements', desc: '', args: [], ); } - /// `Your Weight:` + /// `Π’Π°Ρˆ вСс:` String get your_weight { return Intl.message( - 'Your Weight:', + 'Π’Π°Ρˆ вСс:', name: 'your_weight', desc: '', args: [], ); } - /// `Height Measurement` + /// `Π—Π°ΠΌΠ΅Ρ€ роста` String get height_measurements { return Intl.message( - 'Height Measurement', + 'Π—Π°ΠΌΠ΅Ρ€ роста', name: 'height_measurements', desc: '', args: [], ); } - /// `Your Height:` + /// `Π’Π°Ρˆ рост:` String get your_height { return Intl.message( - 'Your Height:', + 'Π’Π°Ρˆ рост:', name: 'your_height', desc: '', args: [], ); } - /// `Presence of Allergies` + /// `НаличиС Π°Π»Π»Π΅Ρ€Π³ΠΈΠΈ` String get allergies_presence { return Intl.message( - 'Presence of Allergies', + 'НаличиС Π°Π»Π»Π΅Ρ€Π³ΠΈΠΈ', name: 'allergies_presence', desc: '', args: [], ); } - /// `Do you take any medications or supplements?` + /// `ΠŸΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚Π΅ Π»ΠΈ Π²Ρ‹ лСкарства ΠΈΠ»ΠΈ Π±Π°Π΄Ρ‹?` String get do_you_take_pills { return Intl.message( - 'Do you take any medications or supplements?', + 'ΠŸΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚Π΅ Π»ΠΈ Π²Ρ‹ лСкарства ΠΈΠ»ΠΈ Π±Π°Π΄Ρ‹?', name: 'do_you_take_pills', desc: '', args: [], ); } - /// `Your Gender?` + /// `Π’Π°Ρˆ ΠΏΠΎΠ»?` String get your_gender { return Intl.message( - 'Your Gender?', + 'Π’Π°Ρˆ ΠΏΠΎΠ»?', name: 'your_gender', desc: '', args: [], ); } - /// `No` + /// `НСт` String get no { return Intl.message( - 'No', + 'НСт', name: 'no', desc: '', args: [], ); } - /// `Do you have a tendency for hypertension?` + /// `Π•ΡΡ‚ΡŒ Π»ΠΈ Ρƒ вас гипСртония?` String get do_you_have_hypertension_tendency { return Intl.message( - 'Do you have a tendency for hypertension?', + 'Π•ΡΡ‚ΡŒ Π»ΠΈ Ρƒ вас гипСртония?', name: 'do_you_have_hypertension_tendency', desc: '', args: [], ); } - /// `Your Blood Pressure?` + /// `Π’Π°ΡˆΠ΅ Π°Ρ€Ρ‚Π΅Ρ€ΠΈΠ°Π»ΡŒΠ½ΠΎΠ΅ Π΄Π°Π²Π»Π΅Π½ΠΈΠ΅?` String get your_blood_pressure { return Intl.message( - 'Your Blood Pressure?', + 'Π’Π°ΡˆΠ΅ Π°Ρ€Ρ‚Π΅Ρ€ΠΈΠ°Π»ΡŒΠ½ΠΎΠ΅ Π΄Π°Π²Π»Π΅Π½ΠΈΠ΅?', name: 'your_blood_pressure', desc: '', args: [], ); } - /// `Average Pressure Readings:` + /// `Π‘Ρ€Π΅Π΄Π½ΠΈΠ΅ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ давлСния:` String get average_pressure { return Intl.message( - 'Average Pressure Readings:', + 'Π‘Ρ€Π΅Π΄Π½ΠΈΠ΅ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ давлСния:', name: 'average_pressure', desc: '', args: [], ); } - /// `Upper Pressure Readings:` + /// `Π’Π΅Ρ€Ρ…Π½ΠΈΠ΅ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ давлСния:` String get up_pressure { return Intl.message( - 'Upper Pressure Readings:', + 'Π’Π΅Ρ€Ρ…Π½ΠΈΠ΅ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ давлСния:', name: 'up_pressure', desc: '', args: [], ); } - /// `Lower Pressure Readings:` + /// `НиТниС ΠΏΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ давлСния:` String get down_pressure { return Intl.message( - 'Lower Pressure Readings:', + 'НиТниС ΠΏΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ давлСния:', name: 'down_pressure', desc: '', args: [], ); } - /// `Do you have a tendency for hypotension?` + /// `Π•ΡΡ‚ΡŒ Π»ΠΈ Ρƒ вас гипотония?` String get do_you_have_hypotension_tendency { return Intl.message( - 'Do you have a tendency for hypotension?', + 'Π•ΡΡ‚ΡŒ Π»ΠΈ Ρƒ вас гипотония?', name: 'do_you_have_hypotension_tendency', desc: '', args: [], ); } - /// `Your Favorite Sports?` + /// `Π’Π°ΡˆΠΈ спортивныС увлСчСния?` String get your_favorite_sports { return Intl.message( - 'Your Favorite Sports?', + 'Π’Π°ΡˆΠΈ спортивныС увлСчСния?', name: 'your_favorite_sports', desc: '', args: [], ); } - /// `Favorite Foods` + /// `Π›ΡŽΠ±ΠΈΠΌΡ‹Π΅ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Ρ‹` String get favorite_foods { return Intl.message( - 'Favorite Foods', + 'Π›ΡŽΠ±ΠΈΠΌΡ‹Π΅ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Ρ‹', name: 'favorite_foods', desc: '', args: [], ); } - /// `Your Favorite/Least Favorite Foods?` + /// `Π’Π°ΡˆΠΈ Π»ΡŽΠ±ΠΈΠΌΡ‹Π΅/Π½Π΅Π»ΡŽΠ±ΠΈΠΌΡ‹Π΅ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Ρ‹ питания?` String get favorite_unfavorite_foods { return Intl.message( - 'Your Favorite/Least Favorite Foods?', + 'Π’Π°ΡˆΠΈ Π»ΡŽΠ±ΠΈΠΌΡ‹Π΅/Π½Π΅Π»ΡŽΠ±ΠΈΠΌΡ‹Π΅ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Ρ‹ питания?', name: 'favorite_unfavorite_foods', desc: '', args: [], ); } - /// `Least Favorite Foods` + /// `ΠΠ΅Π»ΡŽΠ±ΠΈΠΌΡ‹Π΅ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Ρ‹` String get unfavorite_foods { return Intl.message( - 'Least Favorite Foods', + 'ΠΠ΅Π»ΡŽΠ±ΠΈΠΌΡ‹Π΅ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Ρ‹', name: 'unfavorite_foods', desc: '', args: [], ); } - /// `Your Daily Routine?` + /// `Π’Π°Ρˆ Ρ€Π΅ΠΆΠΈΠΌ дня?` String get your_schedule { return Intl.message( - 'Your Daily Routine?', + 'Π’Π°Ρˆ Ρ€Π΅ΠΆΠΈΠΌ дня?', name: 'your_schedule', desc: '', args: [], ); } - /// `Describe your daily routine freely, such as when you wake up, eat, and go to bed:` + /// `РасскаТитС Π² свободной Ρ„ΠΎΡ€ΠΌΠ΅ ΠΎ Ρ‚ΠΎΠΌ ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΡΡ‹ΠΏΠ°Π΅Ρ‚Π΅ΡΡŒ, ΠΊΠΎΠ³Π΄Π° Π΅Π΄ΠΈΡ‚Π΅, ΠΊΠΎΠ³Π΄Π° Π»ΠΎΠΆΠΈΡ‚Π΅ΡΡŒ ΡΠΏΠ°Ρ‚ΡŒ:` String get tell_your_schedule { return Intl.message( - 'Describe your daily routine freely, such as when you wake up, eat, and go to bed:', + 'РасскаТитС Π² свободной Ρ„ΠΎΡ€ΠΌΠ΅ ΠΎ Ρ‚ΠΎΠΌ ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΡΡ‹ΠΏΠ°Π΅Ρ‚Π΅ΡΡŒ, ΠΊΠΎΠ³Π΄Π° Π΅Π΄ΠΈΡ‚Π΅, ΠΊΠΎΠ³Π΄Π° Π»ΠΎΠΆΠΈΡ‚Π΅ΡΡŒ ΡΠΏΠ°Ρ‚ΡŒ:', name: 'tell_your_schedule', desc: '', args: [], ); } - /// `Additional Information` + /// `Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ информация` String get additional_information { return Intl.message( - 'Additional Information', + 'Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ информация', name: 'additional_information', desc: '', args: [], ); } - /// `Enter any additional information at your discretion:` + /// `Π’Π²Π΅Π΄ΠΈΡ‚Π΅ Π»ΡŽΠ±ΡƒΡŽ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ Π½Π° своё усмотрСниС:` String get enter_additional_information { return Intl.message( - 'Enter any additional information at your discretion:', + 'Π’Π²Π΅Π΄ΠΈΡ‚Π΅ Π»ΡŽΠ±ΡƒΡŽ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ Π½Π° своё усмотрСниС:', name: 'enter_additional_information', desc: '', args: [], @@ -490,545 +490,865 @@ class S { ); } - /// `Finish` + /// `Π—Π°Π²Π΅Ρ€ΡˆΠΈΡ‚ΡŒ` String get finish { return Intl.message( - 'Finish', + 'Π—Π°Π²Π΅Ρ€ΡˆΠΈΡ‚ΡŒ', name: 'finish', desc: '', args: [], ); } - /// `Preferred Language of Communication` + /// `ΠŸΡ€Π΅Π΄ΠΏΠΎΡ‡ΠΈΡ‚Π°Π΅ΠΌΡ‹ΠΉ язык общСния` String get preferred_language { return Intl.message( - 'Preferred Language of Communication', + 'ΠŸΡ€Π΅Π΄ΠΏΠΎΡ‡ΠΈΡ‚Π°Π΅ΠΌΡ‹ΠΉ язык общСния', name: 'preferred_language', desc: '', args: [], ); } - /// `Continue` + /// `ΠŸΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚ΡŒ` String get continueButton { return Intl.message( - 'Continue', + 'ΠŸΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚ΡŒ', name: 'continueButton', desc: '', args: [], ); } - /// `Skip` + /// `ΠŸΡ€ΠΎΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ` String get skip { return Intl.message( - 'Skip', + 'ΠŸΡ€ΠΎΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ', name: 'skip', desc: '', args: [], ); } - /// `Fill in the information:` + /// `Π—Π°ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ:` String get fill_in_information { return Intl.message( - 'Fill in the information:', + 'Π—Π°ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ:', name: 'fill_in_information', desc: '', args: [], ); } - /// `Enter information...` + /// `Π’Π²Π΅Π΄ΠΈΡ‚Π΅ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ...` String get enter_information { return Intl.message( - 'Enter information...', + 'Π’Π²Π΅Π΄ΠΈΡ‚Π΅ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ...', name: 'enter_information', desc: '', args: [], ); } - /// `Network error!` + /// `БСтСвая ошибка!` String get msg_network_err { return Intl.message( - 'Network error!', + 'БСтСвая ошибка!', name: 'msg_network_err', desc: '', args: [], ); } - /// `Something went wrong!` + /// `Π§Ρ‚ΠΎ Ρ‚ΠΎ пошло Π½Π΅ Ρ‚Π°ΠΊ!` String get msg_something_went_wrong { return Intl.message( - 'Something went wrong!', + 'Π§Ρ‚ΠΎ Ρ‚ΠΎ пошло Π½Π΅ Ρ‚Π°ΠΊ!', name: 'msg_something_went_wrong', desc: '', args: [], ); } - /// `Email address is required` + /// `НСобходимо ввСсти адрСс элСктронной ΠΏΠΎΡ‡Ρ‚Ρ‹` String get email_empty { return Intl.message( - 'Email address is required', + 'НСобходимо ввСсти адрСс элСктронной ΠΏΠΎΡ‡Ρ‚Ρ‹', name: 'email_empty', desc: '', args: [], ); } - /// `Invalid email address` + /// `НСкоррСктный адрСс элСктронной ΠΏΠΎΡ‡Ρ‚Ρ‹` String get email_invalid { return Intl.message( - 'Invalid email address', + 'НСкоррСктный адрСс элСктронной ΠΏΠΎΡ‡Ρ‚Ρ‹', name: 'email_invalid', desc: '', args: [], ); } - /// `Password is required` + /// `ΠŸΠ°Ρ€ΠΎΠ»ΡŒ обязатСлСн для заполнСния` String get password_empty { return Intl.message( - 'Password is required', + 'ΠŸΠ°Ρ€ΠΎΠ»ΡŒ обязатСлСн для заполнСния', name: 'password_empty', desc: '', args: [], ); } - /// `Password must be at least 6 characters long` + /// `Π’ ΠΏΠ°Ρ€ΠΎΠ»Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ 6 символов` String get password_short { return Intl.message( - 'Password must be at least 6 characters long', + 'Π’ ΠΏΠ°Ρ€ΠΎΠ»Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ 6 символов', name: 'password_short', desc: '', args: [], ); } - /// `Username is required` + /// `Имя ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ для заполнСния` String get name_empty { return Intl.message( - 'Username is required', + 'Имя ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ для заполнСния', name: 'name_empty', desc: '', args: [], ); } - /// `Username must be at least 6 characters long` + /// `Π’ ΠΈΠΌΠ΅Π½ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ 6 символов` String get name_short { return Intl.message( - 'Username must be at least 6 characters long', + 'Π’ ΠΈΠΌΠ΅Π½ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ 6 символов', name: 'name_short', desc: '', args: [], ); } - /// `Passwords do not match` + /// `ΠŸΠ°Ρ€ΠΎΠ»ΠΈ Π½Π΅ ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡŽΡ‚` String get password_confirmation_mismatch { return Intl.message( - 'Passwords do not match', + 'ΠŸΠ°Ρ€ΠΎΠ»ΠΈ Π½Π΅ ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡŽΡ‚', name: 'password_confirmation_mismatch', desc: '', args: [], ); } - /// `First name is required` + /// `Имя ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ для заполнСния` String get first_name_empty { return Intl.message( - 'First name is required', + 'Имя ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ для заполнСния', name: 'first_name_empty', desc: '', args: [], ); } - /// `First name must be at least 1 character long` + /// `Π’ ΠΈΠΌΠ΅Π½ΠΈ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ 1 символ` String get first_name_short { return Intl.message( - 'First name must be at least 1 character long', + 'Π’ ΠΈΠΌΠ΅Π½ΠΈ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ 1 символ', name: 'first_name_short', desc: '', args: [], ); } - /// `Last name is required` + /// `Ѐамилия ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Π° для заполнСния` String get last_name_empty { return Intl.message( - 'Last name is required', + 'Ѐамилия ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Π° для заполнСния', name: 'last_name_empty', desc: '', args: [], ); } - /// `Last name must be at least 6 characters long` + /// `Π’ Ρ„Π°ΠΌΠΈΠ»ΠΈΠΈ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ 6 символов` String get last_name_short { return Intl.message( - 'Last name must be at least 6 characters long', + 'Π’ Ρ„Π°ΠΌΠΈΠ»ΠΈΠΈ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ 6 символов', name: 'last_name_short', desc: '', args: [], ); } - /// `All measurements are required` + /// `ВсС Π·Π°ΠΌΠ΅Ρ€Ρ‹ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ ΠΊ заполнСнию` String get circumference_empty { return Intl.message( - 'All measurements are required', + 'ВсС Π·Π°ΠΌΠ΅Ρ€Ρ‹ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ ΠΊ заполнСнию', name: 'circumference_empty', desc: '', args: [], ); } - /// `All measurements must be numbers` + /// `ВсС Π·Π°ΠΌΠ΅Ρ€Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ числами` String get circumference_is_not_a_number { return Intl.message( - 'All measurements must be numbers', + 'ВсС Π·Π°ΠΌΠ΅Ρ€Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ числами', name: 'circumference_is_not_a_number', desc: '', args: [], ); } - /// `All blood pressure readings are required` + /// `ВсС ΠΏΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ давлСния ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ ΠΊ заполнСнию` String get pressure_empty { return Intl.message( - 'All blood pressure readings are required', + 'ВсС ΠΏΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ давлСния ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ ΠΊ заполнСнию', name: 'pressure_empty', desc: '', args: [], ); } - /// `All blood pressure readings must be numbers` + /// `ВсС ΠΏΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ давлСния Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ числами` String get pressure_is_not_a_number { return Intl.message( - 'All blood pressure readings must be numbers', + 'ВсС ΠΏΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ давлСния Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ числами', name: 'pressure_is_not_a_number', desc: '', args: [], ); } - /// `I do not have an account` + /// `Π£ мСня Π½Π΅Ρ‚ Π°ΠΊΠΊΠ°ΡƒΠ½Ρ‚Π°` String get no_account { return Intl.message( - 'I do not have an account', + 'Π£ мСня Π½Π΅Ρ‚ Π°ΠΊΠΊΠ°ΡƒΠ½Ρ‚Π°', name: 'no_account', desc: '', args: [], ); } - /// `Log In` + /// `Π’ΠΎΠΉΡ‚ΠΈ` String get authentificate { return Intl.message( - 'Log In', + 'Π’ΠΎΠΉΡ‚ΠΈ', name: 'authentificate', desc: '', args: [], ); } - /// `Authentication` + /// `АутСнтификация` String get user_authorization { return Intl.message( - 'Authentication', + 'АутСнтификация', name: 'user_authorization', desc: '', args: [], ); } - /// `Loading...` + /// `Π—Π°Π³Ρ€ΡƒΠ·ΠΊΠ°...` String get loading { return Intl.message( - 'Loading...', + 'Π—Π°Π³Ρ€ΡƒΠ·ΠΊΠ°...', name: 'loading', desc: '', args: [], ); } - /// `Weight Chart` + /// `Π“Ρ€Π°Ρ„ΠΈΠΊ вСса` String get weight_chart { return Intl.message( - 'Weight Chart', + 'Π“Ρ€Π°Ρ„ΠΈΠΊ вСса', name: 'weight_chart', desc: '', args: [], ); } - /// `Circumference Chart` + /// `Π“Ρ€Π°Ρ„ΠΈΠΊ ΠΎΠ±Ρ…Π²Π°Ρ‚ΠΎΠ²` String get circumferences_chart { return Intl.message( - 'Circumference Chart', + 'Π“Ρ€Π°Ρ„ΠΈΠΊ ΠΎΠ±Ρ…Π²Π°Ρ‚ΠΎΠ²', name: 'circumferences_chart', desc: '', args: [], ); } - /// `City of Residence` + /// `Π“ΠΎΡ€ΠΎΠ΄ проТивания` String get city_of_living { return Intl.message( - 'City of Residence', + 'Π“ΠΎΡ€ΠΎΠ΄ проТивания', name: 'city_of_living', desc: '', args: [], ); } - /// `BMI Chart` + /// `Π“Ρ€Π°Ρ„ΠΈΠΊ ИМВ` String get bodymass_chart { return Intl.message( - 'BMI Chart', + 'Π“Ρ€Π°Ρ„ΠΈΠΊ ИМВ', name: 'bodymass_chart', desc: '', args: [], ); } - /// `Chest` + /// `Π“Ρ€ΡƒΠ΄ΡŒ` String get chest { return Intl.message( - 'Chest', + 'Π“Ρ€ΡƒΠ΄ΡŒ', name: 'chest', desc: '', args: [], ); } - /// `Waist` + /// `Валия` String get waist { return Intl.message( - 'Waist', + 'Валия', name: 'waist', desc: '', args: [], ); } - /// `Hips` + /// `Π‘Π΅Π΄Ρ€Π°` String get hips { return Intl.message( - 'Hips', + 'Π‘Π΅Π΄Ρ€Π°', name: 'hips', desc: '', args: [], ); } - /// `Log Out` + /// `Π’Ρ‹ΠΉΡ‚ΠΈ` String get exit { return Intl.message( - 'Log Out', + 'Π’Ρ‹ΠΉΡ‚ΠΈ', name: 'exit', desc: '', args: [], ); } - /// `Active` + /// `АктивСн` String get active { return Intl.message( - 'Active', + 'АктивСн', name: 'active', desc: '', args: [], ); } - /// `Archived` + /// `Π’ Π°Ρ€Ρ…ΠΈΠ²Π΅` String get archived { return Intl.message( - 'Archived', + 'Π’ Π°Ρ€Ρ…ΠΈΠ²Π΅', name: 'archived', desc: '', args: [], ); } - /// `Draft` + /// `Π§Π΅Ρ€Π½ΠΎΠ²ΠΈΠΊ` String get draft { return Intl.message( - 'Draft', + 'Π§Π΅Ρ€Π½ΠΎΠ²ΠΈΠΊ', name: 'draft', desc: '', args: [], ); } - /// `My Blog` + /// `Мой Π±Π»ΠΎΠ³` String get my_blog { return Intl.message( - 'My Blog', + 'Мой Π±Π»ΠΎΠ³', name: 'my_blog', desc: '', args: [], ); } - /// `Language` + /// `Π―Π·Ρ‹ΠΊ` String get language { return Intl.message( - 'Language', + 'Π―Π·Ρ‹ΠΊ', name: 'language', desc: '', args: [], ); } - /// `In Progress` + /// `Π’ процСссС` String get in_progress { return Intl.message( - 'In Progress', + 'Π’ процСссС', name: 'in_progress', desc: '', args: [], ); } - /// `Add Measurement` + /// `Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π·Π°ΠΌΠ΅Ρ€` String get add_measure { return Intl.message( - 'Add Measurement', + 'Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π·Π°ΠΌΠ΅Ρ€', name: 'add_measure', desc: '', args: [], ); } - /// `Weight` + /// `ВСс` String get weight { return Intl.message( - 'Weight', + 'ВСс', name: 'weight', desc: '', args: [], ); } - /// `Completed Plans` + /// `ΠŸΡ€ΠΎΠΉΠ΄Π΅Π½Π½Ρ‹Π΅ ΠΏΠ»Π°Π½Ρ‹` String get plans_complete { return Intl.message( - 'Completed Plans', + 'ΠŸΡ€ΠΎΠΉΠ΄Π΅Π½Π½Ρ‹Π΅ ΠΏΠ»Π°Π½Ρ‹', name: 'plans_complete', desc: '', args: [], ); } - /// `My Settings` + /// `Мои настройки` String get my_settings { return Intl.message( - 'My Settings', + 'Мои настройки', name: 'my_settings', desc: '', args: [], ); } - /// `Settings` + /// `Настройки` String get settings { return Intl.message( - 'Settings', + 'Настройки', name: 'settings', desc: '', args: [], ); } - /// `Profile` + /// `ΠŸΡ€ΠΎΡ„ΠΈΠ»ΡŒ` String get profile { return Intl.message( - 'Profile', + 'ΠŸΡ€ΠΎΡ„ΠΈΠ»ΡŒ', name: 'profile', desc: '', args: [], ); } - /// `Chat` + /// `Π§Π°Ρ‚` String get chat { return Intl.message( - 'Chat', + 'Π§Π°Ρ‚', name: 'chat', desc: '', args: [], ); } - /// `Admin` + /// `Админ` String get admin { return Intl.message( - 'Admin', + 'Админ', name: 'admin', desc: '', args: [], ); } - /// `Diary` + /// `Π”Π½Π΅Π²Π½ΠΈΠΊ` String get diary { return Intl.message( - 'Diary', + 'Π”Π½Π΅Π²Π½ΠΈΠΊ', name: 'diary', desc: '', args: [], ); } - /// `Save` + /// `Π‘ΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ` String get save { return Intl.message( - 'Save', + 'Π‘ΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ', name: 'save', desc: '', args: [], ); } - /// `pcs` + /// `ΡˆΡ‚` String get pcs { return Intl.message( - 'pcs', + 'ΡˆΡ‚', name: 'pcs', desc: '', args: [], ); } - /// `g` + /// `Π³Ρ€` String get gr { return Intl.message( - 'g', + 'Π³Ρ€', name: 'gr', desc: '', args: [], ); } - /// `g` + /// `ΠΌΠ»` + String get milliliter { + return Intl.message( + 'ΠΌΠ»', + name: 'milliliter', + desc: '', + args: [], + ); + } + + /// `Π³Ρ€` String get grams { return Intl.message( - 'g', + 'Π³Ρ€', name: 'grams', desc: '', args: [], ); } + + /// `ΠΠ°Ρ‡Π°Ρ‚ΡŒ Π΄ΠΈΠ΅Ρ‚Ρƒ` + String get startDiet { + return Intl.message( + 'ΠΠ°Ρ‡Π°Ρ‚ΡŒ Π΄ΠΈΠ΅Ρ‚Ρƒ', + name: 'startDiet', + desc: '', + args: [], + ); + } + + /// `ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ` + String get comments { + return Intl.message( + 'ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ', + name: 'comments', + desc: '', + args: [], + ); + } + + /// `ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ` + String get comment { + return Intl.message( + 'ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ', + name: 'comment', + desc: '', + args: [], + ); + } + + /// `коммСнтария` + String get another_form_of_comment { + return Intl.message( + 'коммСнтария', + name: 'another_form_of_comment', + desc: '', + args: [], + ); + } + + /// `Об этой Π΄ΠΈΠ΅Ρ‚Π΅` + String get about_diet { + return Intl.message( + 'Об этой Π΄ΠΈΠ΅Ρ‚Π΅', + name: 'about_diet', + desc: '', + args: [], + ); + } + + /// `Π΄Π½Π΅ΠΉ` + String get days { + return Intl.message( + 'Π΄Π½Π΅ΠΉ', + name: 'days', + desc: '', + args: [], + ); + } + + /// `Π”Π΅Π½ΡŒ` + String get day { + return Intl.message( + 'Π”Π΅Π½ΡŒ', + name: 'day', + desc: '', + args: [], + ); + } + + /// `дня` + String get another_form_of_day { + return Intl.message( + 'дня', + name: 'another_form_of_day', + desc: '', + args: [], + ); + } + + /// `ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠ΅Π²` + String get comments_plural { + return Intl.message( + 'ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠ΅Π²', + name: 'comments_plural', + desc: '', + args: [], + ); + } + + /// `ΠŸΡ€ΠΈΡ‘ΠΌ ΠΏΠΈΡ‰ΠΈ` + String get meal { + return Intl.message( + 'ΠŸΡ€ΠΈΡ‘ΠΌ ΠΏΠΈΡ‰ΠΈ', + name: 'meal', + desc: '', + args: [], + ); + } + + /// `Автор Π΄ΠΈΠ΅Ρ‚Ρ‹` + String get diet_author { + return Intl.message( + 'Автор Π΄ΠΈΠ΅Ρ‚Ρ‹', + name: 'diet_author', + desc: '', + args: [], + ); + } + + /// `Π‘Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ` + String get hide { + return Intl.message( + 'Π‘Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ', + name: 'hide', + desc: '', + args: [], + ); + } + + /// `ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ` + String get expand { + return Intl.message( + 'ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ', + name: 'expand', + desc: '', + args: [], + ); + } + + /// `Π‘ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ссылку` + String get copy_link { + return Intl.message( + 'Π‘ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ссылку', + name: 'copy_link', + desc: '', + args: [], + ); + } + + /// `ΠŸΠΎΠ΄Π΅Π»ΠΈΡ‚ΡŒΡΡ` + String get share { + return Intl.message( + 'ΠŸΠΎΠ΄Π΅Π»ΠΈΡ‚ΡŒΡΡ', + name: 'share', + desc: '', + args: [], + ); + } + + /// `ΠŸΠΎΠΆΠ°Π»ΠΎΠ²Π°Ρ‚ΡŒΡΡ` + String get complain { + return Intl.message( + 'ΠŸΠΎΠΆΠ°Π»ΠΎΠ²Π°Ρ‚ΡŒΡΡ', + name: 'complain', + desc: '', + args: [], + ); + } + + /// `ВСгСтарианская` + String get vegan_type { + return Intl.message( + 'ВСгСтарианская', + name: 'vegan_type', + desc: '', + args: [], + ); + } + + /// `Алкоголь` + String get alko_type { + return Intl.message( + 'Алкоголь', + name: 'alko_type', + desc: '', + args: [], + ); + } + + /// `Π‘ мясом` + String get meat_type { + return Intl.message( + 'Π‘ мясом', + name: 'meat_type', + desc: '', + args: [], + ); + } + + /// `ΠœΡƒΡ‡Π½ΠΎΠ΅` + String get corb_type { + return Intl.message( + 'ΠœΡƒΡ‡Π½ΠΎΠ΅', + name: 'corb_type', + desc: '', + args: [], + ); + } + + /// `Π”ΠΈΠ΅Ρ‚Π° основана Π½Π°Β ΠΏΠΎΡ‚Ρ€Π΅Π±Π»Π΅Π½ΠΈΠΈ Ρ€Π°ΡΡ‚ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΏΠΈΡ‰ΠΈ ΠΈΒ ΠΎΡ‚ΠΊΠ°Π·Π΅ ΠΎΡ‚Β ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΎΠ² ΠΆΠΈΠ²ΠΎΡ‚Π½ΠΎΠ³ΠΎ происхоТдСния. Π’Π°ΠΊΠΎΠΉ тип питания ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Ρ€Π°Π·Π½ΠΎΠΎΠ±Ρ€Π°Π·Π½Ρ‹ΠΌ и вкусным, Π°Β Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΌ Π΄Π»ΡΒ Π·Π΄ΠΎΡ€ΠΎΠ²ΡŒΡ.` + String get vegan_type_desc { + return Intl.message( + 'Π”ΠΈΠ΅Ρ‚Π° основана Π½Π°Β ΠΏΠΎΡ‚Ρ€Π΅Π±Π»Π΅Π½ΠΈΠΈ Ρ€Π°ΡΡ‚ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΏΠΈΡ‰ΠΈ ΠΈΒ ΠΎΡ‚ΠΊΠ°Π·Π΅ ΠΎΡ‚Β ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΎΠ² ΠΆΠΈΠ²ΠΎΡ‚Π½ΠΎΠ³ΠΎ происхоТдСния. Π’Π°ΠΊΠΎΠΉ тип питания ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Ρ€Π°Π·Π½ΠΎΠΎΠ±Ρ€Π°Π·Π½Ρ‹ΠΌ и вкусным, Π°Β Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΌ Π΄Π»ΡΒ Π·Π΄ΠΎΡ€ΠΎΠ²ΡŒΡ.', + name: 'vegan_type_desc', + desc: '', + args: [], + ); + } + + /// `Π‘ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ Π²ΠΈΠ΄Π°ΠΌΠΈ Π΄ΠΈΠ΅Ρ‚ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠΏΠΎΡ‚Ρ€Π΅Π±Π»ΡΡ‚ΡŒ алкоголь Π² ΡƒΠΌΠ΅Ρ€Π΅Π½Π½Ρ‹Ρ… количСствах. РСкомСндуСтся ΡΠΎΠ²ΠΌΠ΅Ρ‰Π°Ρ‚ΡŒ вмСстС с Π½ΠΈΠ·ΠΊΠΎΠΊΠ°Π»ΠΎΡ€ΠΈΠΉΠ½Ρ‹ΠΌΠΈ закусками.` + String get alko_type_desc { + return Intl.message( + 'Π‘ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ Π²ΠΈΠ΄Π°ΠΌΠΈ Π΄ΠΈΠ΅Ρ‚ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠΏΠΎΡ‚Ρ€Π΅Π±Π»ΡΡ‚ΡŒ алкоголь Π² ΡƒΠΌΠ΅Ρ€Π΅Π½Π½Ρ‹Ρ… количСствах. РСкомСндуСтся ΡΠΎΠ²ΠΌΠ΅Ρ‰Π°Ρ‚ΡŒ вмСстС с Π½ΠΈΠ·ΠΊΠΎΠΊΠ°Π»ΠΎΡ€ΠΈΠΉΠ½Ρ‹ΠΌΠΈ закусками.', + name: 'alko_type_desc', + desc: '', + args: [], + ); + } + + /// `Π•ΡΠ»ΠΈΒ Π²Ρ‹Β Π»ΡŽΠ±ΠΈΡ‚Π΅ ΠΌΡƒΡ‡Π½Ρ‹Π΅ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Ρ‹, Π½ΠΎΒ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΏΡ€ΠΈΠ΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒΡΡ Π΄ΠΈΠ΅Ρ‚Ρ‹, Π²Π°ΠΌΒ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ Π΄ΠΈΠ΅Ρ‚Π° с добавлСним ΠΌΡƒΡ‡Π½Ρ‹Ρ… блюд на основС Ρ†Π΅Π»ΡŒΠ½ΠΎΠ·Π΅Ρ€Π½ΠΎΠ²Ρ‹Ρ… Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ². Π’Β Π½ΠΈΡ…Β Π±ΠΎΠ»ΡŒΡˆΠ΅ слоТных ΡƒΠ³Π»Π΅Π²ΠΎΠ΄ΠΎΠ² ΠΈΒ ΠΊΠ»Π΅Ρ‚Ρ‡Π°Ρ‚ΠΊΠΈ, что способствуСт Π΄Π»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΌΡƒ чувству сытости ΠΈΒ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Π·Π΄ΠΎΡ€ΠΎΠ²ΡŒΠ΅ ΠΏΠΈΡ‰Π΅Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ систСмы.` + String get corb_type_desc { + return Intl.message( + 'Π•ΡΠ»ΠΈΒ Π²Ρ‹Β Π»ΡŽΠ±ΠΈΡ‚Π΅ ΠΌΡƒΡ‡Π½Ρ‹Π΅ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Ρ‹, Π½ΠΎΒ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΏΡ€ΠΈΠ΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒΡΡ Π΄ΠΈΠ΅Ρ‚Ρ‹, Π²Π°ΠΌΒ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ Π΄ΠΈΠ΅Ρ‚Π° с добавлСним ΠΌΡƒΡ‡Π½Ρ‹Ρ… блюд на основС Ρ†Π΅Π»ΡŒΠ½ΠΎΠ·Π΅Ρ€Π½ΠΎΠ²Ρ‹Ρ… Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ². Π’Β Π½ΠΈΡ…Β Π±ΠΎΠ»ΡŒΡˆΠ΅ слоТных ΡƒΠ³Π»Π΅Π²ΠΎΠ΄ΠΎΠ² ΠΈΒ ΠΊΠ»Π΅Ρ‚Ρ‡Π°Ρ‚ΠΊΠΈ, что способствуСт Π΄Π»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΌΡƒ чувству сытости ΠΈΒ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Π·Π΄ΠΎΡ€ΠΎΠ²ΡŒΠ΅ ΠΏΠΈΡ‰Π΅Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ систСмы.', + name: 'corb_type_desc', + desc: '', + args: [], + ); + } + + /// `Π”ΠΈΠ΅Ρ‚Π° с мясом полСзная и сбалансированная. Π’ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ в сСбя Π½Π΅ΠΆΠΈΡ€Π½ΠΎΠ΅ мясо: ΠΊΡƒΡ€ΠΈΡ†Ρƒ, ΠΈΠ½Π΄Π΅ΠΉΠΊΡƒ, ΠΊΡ€ΠΎΠ»ΠΈΠΊΠ° или говядину. В сочСтании с овощами ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚Π΅ всС нСобходимыС Π²ΠΈΡ‚Π°ΠΌΠΈΠ½Ρ‹ ΠΈΒ ΠΌΠΈΠ½Π΅Ρ€Π°Π»Ρ‹. НС забывайтС о порциях ΠΈΒ ΡΡ‚Π°Ρ€Π°ΠΉΡ‚Π΅ΡΡŒ Π΅ΡΡ‚ΡŒΒ ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ, ΠΏΡ€ΠΈΡΠ»ΡƒΡˆΠΈΠ²Π°ΡΡΡŒ к своСму ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΌΡƒ.` + String get meat_type_desc { + return Intl.message( + 'Π”ΠΈΠ΅Ρ‚Π° с мясом полСзная и сбалансированная. Π’ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ в сСбя Π½Π΅ΠΆΠΈΡ€Π½ΠΎΠ΅ мясо: ΠΊΡƒΡ€ΠΈΡ†Ρƒ, ΠΈΠ½Π΄Π΅ΠΉΠΊΡƒ, ΠΊΡ€ΠΎΠ»ΠΈΠΊΠ° или говядину. В сочСтании с овощами ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚Π΅ всС нСобходимыС Π²ΠΈΡ‚Π°ΠΌΠΈΠ½Ρ‹ ΠΈΒ ΠΌΠΈΠ½Π΅Ρ€Π°Π»Ρ‹. НС забывайтС о порциях ΠΈΒ ΡΡ‚Π°Ρ€Π°ΠΉΡ‚Π΅ΡΡŒ Π΅ΡΡ‚ΡŒΒ ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ, ΠΏΡ€ΠΈΡΠ»ΡƒΡˆΠΈΠ²Π°ΡΡΡŒ к своСму ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΌΡƒ.', + name: 'meat_type_desc', + desc: '', + args: [], + ); + } + + /// `План Π΄ΠΈΠ΅Ρ‚Ρ‹` + String get diet_plan { + return Intl.message( + 'План Π΄ΠΈΠ΅Ρ‚Ρ‹', + name: 'diet_plan', + desc: '', + args: [], + ); + } + + /// `ΠšΠ°Π»ΠΎΡ€ΠΈΠΈ` + String get calories { + return Intl.message( + 'ΠšΠ°Π»ΠΎΡ€ΠΈΠΈ', + name: 'calories', + desc: '', + args: [], + ); + } + + /// `Π‘Π΅Π»ΠΊΠΈ` + String get proteins { + return Intl.message( + 'Π‘Π΅Π»ΠΊΠΈ', + name: 'proteins', + desc: '', + args: [], + ); + } + + /// `Π–ΠΈΡ€Ρ‹` + String get fats { + return Intl.message( + 'Π–ΠΈΡ€Ρ‹', + name: 'fats', + desc: '', + args: [], + ); + } + + /// `Π£Π³Π»Π΅Π²ΠΎΠ΄Ρ‹` + String get carbohydrates { + return Intl.message( + 'Π£Π³Π»Π΅Π²ΠΎΠ΄Ρ‹', + name: 'carbohydrates', + desc: '', + args: [], + ); + } + + /// `ΠžΡ‚Π²Π΅Ρ‚ΠΈΡ‚ΡŒ` + String get answer { + return Intl.message( + 'ΠžΡ‚Π²Π΅Ρ‚ΠΈΡ‚ΡŒ', + name: 'answer', + desc: '', + args: [], + ); + } + + /// `Бсылка ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ скопирована` + String get link_was_copied { + return Intl.message( + 'Бсылка ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ скопирована', + name: 'link_was_copied', + desc: '', + args: [], + ); + } } class AppLocalizationDelegate extends LocalizationsDelegate { @@ -1037,7 +1357,6 @@ class AppLocalizationDelegate extends LocalizationsDelegate { List get supportedLocales { return const [ Locale.fromSubtags(languageCode: 'en'), - Locale.fromSubtags(languageCode: 'ru'), ]; } diff --git a/lib/l10n/intl_en.arb b/lib/l10n/intl_en.arb index a204a347..bb9f8e9d 100644 --- a/lib/l10n/intl_en.arb +++ b/lib/l10n/intl_en.arb @@ -1,100 +1,132 @@ { - "user_registration": "User Registration", - "email": "Email", - "username": "Username", - "password": "Password", - "password_confirmation": "Confirm Password", - "wrong_credentials": "Invalid user credentials", - "first_name": "First Name", - "last_name": "Last Name", - "what_is_your_name": "What is your name?", - "date_of_birth": "Date of Birth", - "country": "Country", - "Russia": "Russia", - "city": "City", - "Moscow": "Moscow", - "place_of_living": "Place of Residence", - "hip_circumference": "Hip Circumference", - "chest_circumference": "Chest Circumference", - "waist_circumference": "Waist Circumference", - "initial_measurements": "Initial Measurements", - "male": "Male", - "female": "Female", - "weight_measurements": "Weight Measurement", - "your_weight": "Your Weight:", - "height_measurements": "Height Measurement", - "your_height": "Your Height:", - "allergies_presence": "Presence of Allergies", - "do_you_take_pills": "Do you take any medications or supplements?", - "your_gender": "Your Gender?", - "no": "No", - "do_you_have_hypertension_tendency": "Do you have a tendency for hypertension?", - "your_blood_pressure": "Your Blood Pressure?", - "average_pressure": "Average Pressure Readings:", - "up_pressure": "Upper Pressure Readings:", - "down_pressure": "Lower Pressure Readings:", - "do_you_have_hypotension_tendency": "Do you have a tendency for hypotension?", - "your_favorite_sports": "Your Favorite Sports?", - "favorite_foods": "Favorite Foods", - "favorite_unfavorite_foods": "Your Favorite/Least Favorite Foods?", - "unfavorite_foods": "Least Favorite Foods", - "your_schedule": "Your Daily Routine?", - "tell_your_schedule": "Describe your daily routine freely, such as when you wake up, eat, and go to bed:", - "additional_information": "Additional Information", - "enter_additional_information": "Enter any additional information at your discretion:", + "user_registration": "РСгистрация ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ", + "email": "ЭлСтронная ΠΏΠΎΡ‡Ρ‚Π°", + "username": "Имя ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ", + "password": "ΠŸΠ°Ρ€ΠΎΠ»ΡŒ", + "password_confirmation": "ΠŸΠΎΠ΄Ρ‚Π²Π΅Ρ€Π΄ΠΈΡ‚Π΅ ΠΏΠ°Ρ€ΠΎΠ»ΡŒ", + "wrong_credentials": "НСвСрныС Π΄Π°Π½Π½Ρ‹Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ", + "first_name": "Имя", + "last_name": "Ѐамилия", + "what_is_your_name": "Как вас Π·ΠΎΠ²ΡƒΡ‚?", + "date_of_birth": "Π”Π°Ρ‚Π° роТдСния", + "country": "Π‘Ρ‚Ρ€Π°Π½Π°", + "Russia": "Россия", + "city": "Π“ΠΎΡ€ΠΎΠ΄", + "Moscow": "Москва", + "place_of_living": "ΠœΠ΅ΡΡ‚ΠΎ проТивания", + "hip_circumference": "ΠžΠ±Ρ…Π²Π°Ρ‚ Π±Π΅Π΄Π΅Ρ€", + "chest_circumference": "ΠžΠ±Ρ…Π²Π°Ρ‚ Π³Ρ€ΡƒΠ΄ΠΈ", + "waist_circumference": "ΠžΠ±Ρ…Π²Π°Ρ‚ Ρ‚Π°Π»ΠΈΠΈ", + "initial_measurements": "ΠŸΠ΅Ρ€Π²ΠΈΡ‡Π½Ρ‹Π΅ Π·Π°ΠΌΠ΅Ρ€Ρ‹", + "male": "ΠœΡƒΠΆΡΠΊΠΎΠΉ", + "female": "ЖСнский", + "weight_measurements": "Π—Π°ΠΌΠ΅Ρ€ вСса", + "your_weight": "Π’Π°Ρˆ вСс:", + "height_measurements": "Π—Π°ΠΌΠ΅Ρ€ роста", + "your_height": "Π’Π°Ρˆ рост:", + "allergies_presence": "НаличиС Π°Π»Π»Π΅Ρ€Π³ΠΈΠΈ", + "do_you_take_pills": "ΠŸΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚Π΅ Π»ΠΈ Π²Ρ‹ лСкарства ΠΈΠ»ΠΈ Π±Π°Π΄Ρ‹?", + "your_gender": "Π’Π°Ρˆ ΠΏΠΎΠ»?", + "no": "НСт", + "do_you_have_hypertension_tendency": "Π•ΡΡ‚ΡŒ Π»ΠΈ Ρƒ вас гипСртония?", + "your_blood_pressure": "Π’Π°ΡˆΠ΅ Π°Ρ€Ρ‚Π΅Ρ€ΠΈΠ°Π»ΡŒΠ½ΠΎΠ΅ Π΄Π°Π²Π»Π΅Π½ΠΈΠ΅?", + "average_pressure": "Π‘Ρ€Π΅Π΄Π½ΠΈΠ΅ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ давлСния:", + "up_pressure": "Π’Π΅Ρ€Ρ…Π½ΠΈΠ΅ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ давлСния:", + "down_pressure": "НиТниС ΠΏΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ давлСния:", + "do_you_have_hypotension_tendency": "Π•ΡΡ‚ΡŒ Π»ΠΈ Ρƒ вас гипотония?", + "your_favorite_sports": "Π’Π°ΡˆΠΈ спортивныС увлСчСния?", + "favorite_foods": "Π›ΡŽΠ±ΠΈΠΌΡ‹Π΅ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Ρ‹", + "favorite_unfavorite_foods": "Π’Π°ΡˆΠΈ Π»ΡŽΠ±ΠΈΠΌΡ‹Π΅/Π½Π΅Π»ΡŽΠ±ΠΈΠΌΡ‹Π΅ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Ρ‹ питания?", + "unfavorite_foods": "ΠΠ΅Π»ΡŽΠ±ΠΈΠΌΡ‹Π΅ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Ρ‹", + "your_schedule": "Π’Π°Ρˆ Ρ€Π΅ΠΆΠΈΠΌ дня?", + "tell_your_schedule": "РасскаТитС Π² свободной Ρ„ΠΎΡ€ΠΌΠ΅ ΠΎ Ρ‚ΠΎΠΌ ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΡΡ‹ΠΏΠ°Π΅Ρ‚Π΅ΡΡŒ, ΠΊΠΎΠ³Π΄Π° Π΅Π΄ΠΈΡ‚Π΅, ΠΊΠΎΠ³Π΄Π° Π»ΠΎΠΆΠΈΡ‚Π΅ΡΡŒ ΡΠΏΠ°Ρ‚ΡŒ:", + "additional_information": "Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ информация", + "enter_additional_information": "Π’Π²Π΅Π΄ΠΈΡ‚Π΅ Π»ΡŽΠ±ΡƒΡŽ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ Π½Π° своё усмотрСниС:", "lbl_english": "English", - "finish": "Finish", - "preferred_language": "Preferred Language of Communication", - "continueButton": "Continue", - "skip": "Skip", - "fill_in_information": "Fill in the information:", - "enter_information": "Enter information...", - "msg_network_err": "Network error!", - "msg_something_went_wrong": "Something went wrong!", - "email_empty": "Email address is required", - "email_invalid": "Invalid email address", - "password_empty": "Password is required", - "password_short": "Password must be at least 6 characters long", - "name_empty": "Username is required", - "name_short": "Username must be at least 6 characters long", - "password_confirmation_mismatch": "Passwords do not match", - "first_name_empty": "First name is required", - "first_name_short": "First name must be at least 1 character long", - "last_name_empty": "Last name is required", - "last_name_short": "Last name must be at least 6 characters long", - "circumference_empty": "All measurements are required", - "circumference_is_not_a_number": "All measurements must be numbers", - "pressure_empty": "All blood pressure readings are required", - "pressure_is_not_a_number": "All blood pressure readings must be numbers", - "no_account": "I do not have an account", - "authentificate": "Log In", - "user_authorization": "Authentication", - "loading": "Loading...", - "weight_chart": "Weight Chart", - "circumferences_chart": "Circumference Chart", - "city_of_living": "City of Residence", - "bodymass_chart": "BMI Chart", - "chest": "Chest", - "waist": "Waist", - "hips": "Hips", - "exit": "Log Out", - "active": "Active", - "archived": "Archived", - "draft": "Draft", - "my_blog": "My Blog", - "language": "Language", - "in_progress": "In Progress", - "add_measure": "Add Measurement", - "weight": "Weight", - "plans_complete": "Completed Plans", - "my_settings": "My Settings", - "settings": "Settings", - "profile": "Profile", - "chat": "Chat", - "admin": "Admin", - "diary": "Diary", - "save": "Save", - "pcs": "pcs", - "gr": "g", - "grams": "g" + "finish": "Π—Π°Π²Π΅Ρ€ΡˆΠΈΡ‚ΡŒ", + "preferred_language": "ΠŸΡ€Π΅Π΄ΠΏΠΎΡ‡ΠΈΡ‚Π°Π΅ΠΌΡ‹ΠΉ язык общСния", + "continueButton": "ΠŸΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚ΡŒ", + "skip": "ΠŸΡ€ΠΎΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ", + "fill_in_information": "Π—Π°ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ:", + "enter_information": "Π’Π²Π΅Π΄ΠΈΡ‚Π΅ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ...", + "msg_network_err": "БСтСвая ошибка!", + "msg_something_went_wrong": "Π§Ρ‚ΠΎ Ρ‚ΠΎ пошло Π½Π΅ Ρ‚Π°ΠΊ!", + "email_empty": "НСобходимо ввСсти адрСс элСктронной ΠΏΠΎΡ‡Ρ‚Ρ‹", + "email_invalid": "НСкоррСктный адрСс элСктронной ΠΏΠΎΡ‡Ρ‚Ρ‹", + "password_empty": "ΠŸΠ°Ρ€ΠΎΠ»ΡŒ обязатСлСн для заполнСния", + "password_short": "Π’ ΠΏΠ°Ρ€ΠΎΠ»Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ 6 символов", + "name_empty": "Имя ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ для заполнСния", + "name_short": "Π’ ΠΈΠΌΠ΅Π½ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ 6 символов", + "password_confirmation_mismatch": "ΠŸΠ°Ρ€ΠΎΠ»ΠΈ Π½Π΅ ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡŽΡ‚", + "first_name_empty": "Имя ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ для заполнСния", + "first_name_short": "Π’ ΠΈΠΌΠ΅Π½ΠΈ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ 1 символ", + "last_name_empty": "Ѐамилия ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Π° для заполнСния", + "last_name_short": "Π’ Ρ„Π°ΠΌΠΈΠ»ΠΈΠΈ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ 6 символов", + "circumference_empty": "ВсС Π·Π°ΠΌΠ΅Ρ€Ρ‹ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ ΠΊ заполнСнию", + "circumference_is_not_a_number": "ВсС Π·Π°ΠΌΠ΅Ρ€Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ числами", + "pressure_empty": "ВсС ΠΏΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ давлСния ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ ΠΊ заполнСнию", + "pressure_is_not_a_number": "ВсС ΠΏΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ давлСния Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ числами", + "no_account": "Π£ мСня Π½Π΅Ρ‚ Π°ΠΊΠΊΠ°ΡƒΠ½Ρ‚Π°", + "authentificate": "Π’ΠΎΠΉΡ‚ΠΈ", + "user_authorization": "АутСнтификация", + "loading": "Π—Π°Π³Ρ€ΡƒΠ·ΠΊΠ°...", + "weight_chart": "Π“Ρ€Π°Ρ„ΠΈΠΊ вСса", + "circumferences_chart": "Π“Ρ€Π°Ρ„ΠΈΠΊ ΠΎΠ±Ρ…Π²Π°Ρ‚ΠΎΠ²", + "city_of_living": "Π“ΠΎΡ€ΠΎΠ΄ проТивания", + "bodymass_chart": "Π“Ρ€Π°Ρ„ΠΈΠΊ ИМВ", + "chest": "Π“Ρ€ΡƒΠ΄ΡŒ", + "waist": "Валия", + "hips": "Π‘Π΅Π΄Ρ€Π°", + "exit": "Π’Ρ‹ΠΉΡ‚ΠΈ", + "active": "АктивСн", + "archived": "Π’ Π°Ρ€Ρ…ΠΈΠ²Π΅", + "draft": "Π§Π΅Ρ€Π½ΠΎΠ²ΠΈΠΊ", + "my_blog": "Мой Π±Π»ΠΎΠ³", + "language": "Π―Π·Ρ‹ΠΊ", + "in_progress": "Π’ процСссС", + "add_measure": "Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π·Π°ΠΌΠ΅Ρ€", + "weight": "ВСс", + "plans_complete": "ΠŸΡ€ΠΎΠΉΠ΄Π΅Π½Π½Ρ‹Π΅ ΠΏΠ»Π°Π½Ρ‹", + "my_settings": "Мои настройки", + "settings": "Настройки", + "profile": "ΠŸΡ€ΠΎΡ„ΠΈΠ»ΡŒ", + "chat": "Π§Π°Ρ‚", + "admin": "Админ", + "diary": "Π”Π½Π΅Π²Π½ΠΈΠΊ", + "save": "Π‘ΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ", + "pcs": "ΡˆΡ‚", + "gr": "Π³Ρ€", + "milliliter": "ΠΌΠ»", + "grams": "Π³Ρ€", + "startDiet": "ΠΠ°Ρ‡Π°Ρ‚ΡŒ Π΄ΠΈΠ΅Ρ‚Ρƒ", + "comments": "ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ", + "comment": "ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ", + "another_form_of_comment": "коммСнтария", + "about_diet": "Об этой Π΄ΠΈΠ΅Ρ‚Π΅", + "days": "Π΄Π½Π΅ΠΉ", + "day": "Π”Π΅Π½ΡŒ", + "another_form_of_day": "дня", + "comments_plural": "ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠ΅Π²", + "meal": "ΠŸΡ€ΠΈΡ‘ΠΌ ΠΏΠΈΡ‰ΠΈ", + "diet_author": "Автор Π΄ΠΈΠ΅Ρ‚Ρ‹", + "hide": "Π‘Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ", + "expand": "ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ", + "copy_link": "Π‘ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ссылку", + "share": "ΠŸΠΎΠ΄Π΅Π»ΠΈΡ‚ΡŒΡΡ", + "complain": "ΠŸΠΎΠΆΠ°Π»ΠΎΠ²Π°Ρ‚ΡŒΡΡ", + "vegan_type": "ВСгСтарианская", + "alko_type": "Алкоголь", + "meat_type": "Π‘ мясом", + "corb_type": "ΠœΡƒΡ‡Π½ΠΎΠ΅", + "vegan_type_desc": "Π”ΠΈΠ΅Ρ‚Π° основана Π½Π°Β ΠΏΠΎΡ‚Ρ€Π΅Π±Π»Π΅Π½ΠΈΠΈ Ρ€Π°ΡΡ‚ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΏΠΈΡ‰ΠΈ ΠΈΒ ΠΎΡ‚ΠΊΠ°Π·Π΅ ΠΎΡ‚Β ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΎΠ² ΠΆΠΈΠ²ΠΎΡ‚Π½ΠΎΠ³ΠΎ происхоТдСния. Π’Π°ΠΊΠΎΠΉ тип питания ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Ρ€Π°Π·Π½ΠΎΠΎΠ±Ρ€Π°Π·Π½Ρ‹ΠΌ и вкусным, Π°Β Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΌ Π΄Π»ΡΒ Π·Π΄ΠΎΡ€ΠΎΠ²ΡŒΡ.", + "alko_type_desc": "Π‘ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ Π²ΠΈΠ΄Π°ΠΌΠΈ Π΄ΠΈΠ΅Ρ‚ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠΏΠΎΡ‚Ρ€Π΅Π±Π»ΡΡ‚ΡŒ алкоголь Π² ΡƒΠΌΠ΅Ρ€Π΅Π½Π½Ρ‹Ρ… количСствах. РСкомСндуСтся ΡΠΎΠ²ΠΌΠ΅Ρ‰Π°Ρ‚ΡŒ вмСстС с Π½ΠΈΠ·ΠΊΠΎΠΊΠ°Π»ΠΎΡ€ΠΈΠΉΠ½Ρ‹ΠΌΠΈ закусками.", + "corb_type_desc": "Π•ΡΠ»ΠΈΒ Π²Ρ‹Β Π»ΡŽΠ±ΠΈΡ‚Π΅ ΠΌΡƒΡ‡Π½Ρ‹Π΅ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Ρ‹, Π½ΠΎΒ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΏΡ€ΠΈΠ΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒΡΡ Π΄ΠΈΠ΅Ρ‚Ρ‹, Π²Π°ΠΌΒ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ Π΄ΠΈΠ΅Ρ‚Π° с добавлСним ΠΌΡƒΡ‡Π½Ρ‹Ρ… блюд на основС Ρ†Π΅Π»ΡŒΠ½ΠΎΠ·Π΅Ρ€Π½ΠΎΠ²Ρ‹Ρ… Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ². Π’Β Π½ΠΈΡ…Β Π±ΠΎΠ»ΡŒΡˆΠ΅ слоТных ΡƒΠ³Π»Π΅Π²ΠΎΠ΄ΠΎΠ² ΠΈΒ ΠΊΠ»Π΅Ρ‚Ρ‡Π°Ρ‚ΠΊΠΈ, что способствуСт Π΄Π»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΌΡƒ чувству сытости ΠΈΒ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Π·Π΄ΠΎΡ€ΠΎΠ²ΡŒΠ΅ ΠΏΠΈΡ‰Π΅Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ систСмы.", + "meat_type_desc": "Π”ΠΈΠ΅Ρ‚Π° с мясом полСзная и сбалансированная. Π’ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ в сСбя Π½Π΅ΠΆΠΈΡ€Π½ΠΎΠ΅ мясо: ΠΊΡƒΡ€ΠΈΡ†Ρƒ, ΠΈΠ½Π΄Π΅ΠΉΠΊΡƒ, ΠΊΡ€ΠΎΠ»ΠΈΠΊΠ° или говядину. В сочСтании с овощами ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚Π΅ всС нСобходимыС Π²ΠΈΡ‚Π°ΠΌΠΈΠ½Ρ‹ ΠΈΒ ΠΌΠΈΠ½Π΅Ρ€Π°Π»Ρ‹. НС забывайтС о порциях ΠΈΒ ΡΡ‚Π°Ρ€Π°ΠΉΡ‚Π΅ΡΡŒ Π΅ΡΡ‚ΡŒΒ ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ, ΠΏΡ€ΠΈΡΠ»ΡƒΡˆΠΈΠ²Π°ΡΡΡŒ к своСму ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΌΡƒ.", + "diet_plan": "План Π΄ΠΈΠ΅Ρ‚Ρ‹", + "calories": "ΠšΠ°Π»ΠΎΡ€ΠΈΠΈ", + "proteins": "Π‘Π΅Π»ΠΊΠΈ", + "fats": "Π–ΠΈΡ€Ρ‹", + "carbohydrates": "Π£Π³Π»Π΅Π²ΠΎΠ΄Ρ‹", + "answer": "ΠžΡ‚Π²Π΅Ρ‚ΠΈΡ‚ΡŒ", + "link_was_copied": "Бсылка ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ скопирована" } diff --git a/lib/l10n/intl_ru.arb b/lib/l10n/intl_ru.arb deleted file mode 100644 index 8d2d512c..00000000 --- a/lib/l10n/intl_ru.arb +++ /dev/null @@ -1,100 +0,0 @@ -{ - "user_registration": "РСгистрация ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ", - "email": "ЭлСтронная ΠΏΠΎΡ‡Ρ‚Π°", - "username": "Имя ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ", - "password": "ΠŸΠ°Ρ€ΠΎΠ»ΡŒ", - "password_confirmation": "ΠŸΠΎΠ΄Ρ‚Π²Π΅Ρ€Π΄ΠΈΡ‚Π΅ ΠΏΠ°Ρ€ΠΎΠ»ΡŒ", - "wrong_credentials": "НСвСрныС Π΄Π°Π½Π½Ρ‹Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ", - "first_name": "Имя", - "last_name": "Ѐамилия", - "what_is_your_name": "Как вас Π·ΠΎΠ²ΡƒΡ‚?", - "date_of_birth": "Π”Π°Ρ‚Π° роТдСния", - "country": "Π‘Ρ‚Ρ€Π°Π½Π°", - "Russia": "Россия", - "city": "Π“ΠΎΡ€ΠΎΠ΄", - "Moscow": "Москва", - "place_of_living": "ΠœΠ΅ΡΡ‚ΠΎ проТивания", - "hip_circumference": "ΠžΠ±Ρ…Π²Π°Ρ‚ Π±Π΅Π΄Π΅Ρ€", - "chest_circumference": "ΠžΠ±Ρ…Π²Π°Ρ‚ Π³Ρ€ΡƒΠ΄ΠΈ", - "waist_circumference": "ΠžΠ±Ρ…Π²Π°Ρ‚ Ρ‚Π°Π»ΠΈΠΈ", - "initial_measurements": "ΠŸΠ΅Ρ€Π²ΠΈΡ‡Π½Ρ‹Π΅ Π·Π°ΠΌΠ΅Ρ€Ρ‹", - "male": "ΠœΡƒΠΆΡΠΊΠΎΠΉ", - "female": "ЖСнский", - "weight_measurements": "Π—Π°ΠΌΠ΅Ρ€ вСса", - "your_weight": "Π’Π°Ρˆ вСс:", - "height_measurements": "Π—Π°ΠΌΠ΅Ρ€ роста", - "your_height": "Π’Π°Ρˆ рост:", - "allergies_presence": "НаличиС Π°Π»Π»Π΅Ρ€Π³ΠΈΠΈ", - "do_you_take_pills": "ΠŸΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚Π΅ Π»ΠΈ Π²Ρ‹ лСкарства ΠΈΠ»ΠΈ Π±Π°Π΄Ρ‹?", - "your_gender": "Π’Π°Ρˆ ΠΏΠΎΠ»?", - "no": "НСт", - "do_you_have_hypertension_tendency": "Π•ΡΡ‚ΡŒ Π»ΠΈ Ρƒ вас гипСртония?", - "your_blood_pressure": "Π’Π°ΡˆΠ΅ Π°Ρ€Ρ‚Π΅Ρ€ΠΈΠ°Π»ΡŒΠ½ΠΎΠ΅ Π΄Π°Π²Π»Π΅Π½ΠΈΠ΅?", - "average_pressure": "Π‘Ρ€Π΅Π΄Π½ΠΈΠ΅ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ давлСния:", - "up_pressure": "Π’Π΅Ρ€Ρ…Π½ΠΈΠ΅ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ давлСния:", - "down_pressure": "НиТниС ΠΏΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ давлСния:", - "do_you_have_hypotension_tendency": "Π•ΡΡ‚ΡŒ Π»ΠΈ Ρƒ вас гипотония?", - "your_favorite_sports": "Π’Π°ΡˆΠΈ спортивныС увлСчСния?", - "favorite_foods": "Π›ΡŽΠ±ΠΈΠΌΡ‹Π΅ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Ρ‹", - "favorite_unfavorite_foods": "Π’Π°ΡˆΠΈ Π»ΡŽΠ±ΠΈΠΌΡ‹Π΅/Π½Π΅Π»ΡŽΠ±ΠΈΠΌΡ‹Π΅ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Ρ‹ питания?", - "unfavorite_foods": "ΠΠ΅Π»ΡŽΠ±ΠΈΠΌΡ‹Π΅ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Ρ‹", - "your_schedule": "Π’Π°Ρˆ Ρ€Π΅ΠΆΠΈΠΌ дня?", - "tell_your_schedule": "РасскаТитС Π² свободной Ρ„ΠΎΡ€ΠΌΠ΅ ΠΎ Ρ‚ΠΎΠΌ ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΡΡ‹ΠΏΠ°Π΅Ρ‚Π΅ΡΡŒ, ΠΊΠΎΠ³Π΄Π° Π΅Π΄ΠΈΡ‚Π΅, ΠΊΠΎΠ³Π΄Π° Π»ΠΎΠΆΠΈΡ‚Π΅ΡΡŒ ΡΠΏΠ°Ρ‚ΡŒ:", - "additional_information": "Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ информация", - "enter_additional_information": "Π’Π²Π΅Π΄ΠΈΡ‚Π΅ Π»ΡŽΠ±ΡƒΡŽ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ Π½Π° своё усмотрСниС:", - "lbl_english": "English", - "finish": "Π—Π°Π²Π΅Ρ€ΡˆΠΈΡ‚ΡŒ", - "preferred_language": "ΠŸΡ€Π΅Π΄ΠΏΠΎΡ‡ΠΈΡ‚Π°Π΅ΠΌΡ‹ΠΉ язык общСния", - "continueButton": "ΠŸΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚ΡŒ", - "skip": "ΠŸΡ€ΠΎΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ", - "fill_in_information": "Π—Π°ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ:", - "enter_information": "Π’Π²Π΅Π΄ΠΈΡ‚Π΅ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ...", - "msg_network_err": "БСтСвая ошибка!", - "msg_something_went_wrong": "Π§Ρ‚ΠΎ Ρ‚ΠΎ пошло Π½Π΅ Ρ‚Π°ΠΊ!", - "email_empty": "НСобходимо ввСсти адрСс элСктронной ΠΏΠΎΡ‡Ρ‚Ρ‹", - "email_invalid": "НСкоррСктный адрСс элСктронной ΠΏΠΎΡ‡Ρ‚Ρ‹", - "password_empty": "ΠŸΠ°Ρ€ΠΎΠ»ΡŒ обязатСлСн для заполнСния", - "password_short": "Π’ ΠΏΠ°Ρ€ΠΎΠ»Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ 6 символов", - "name_empty": "Имя ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ для заполнСния", - "name_short": "Π’ ΠΈΠΌΠ΅Π½ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ 6 символов", - "password_confirmation_mismatch": "ΠŸΠ°Ρ€ΠΎΠ»ΠΈ Π½Π΅ ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡŽΡ‚", - "first_name_empty": "Имя ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ для заполнСния", - "first_name_short": "Π’ ΠΈΠΌΠ΅Π½ΠΈ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ 1 символ", - "last_name_empty": "Ѐамилия ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Π° для заполнСния", - "last_name_short": "Π’ Ρ„Π°ΠΌΠΈΠ»ΠΈΠΈ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ 6 символов", - "circumference_empty": "ВсС Π·Π°ΠΌΠ΅Ρ€Ρ‹ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ ΠΊ заполнСнию", - "circumference_is_not_a_number": "ВсС Π·Π°ΠΌΠ΅Ρ€Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ числами", - "pressure_empty": "ВсС ΠΏΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ давлСния ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ ΠΊ заполнСнию", - "pressure_is_not_a_number": "ВсС ΠΏΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ давлСния Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ числами", - "no_account": "Π£ мСня Π½Π΅Ρ‚ Π°ΠΊΠΊΠ°ΡƒΠ½Ρ‚Π°", - "authentificate": "Π’ΠΎΠΉΡ‚ΠΈ", - "user_authorization": "АутСнтификация", - "loading": "Π—Π°Π³Ρ€ΡƒΠ·ΠΊΠ°...", - "weight_chart": "Π“Ρ€Π°Ρ„ΠΈΠΊ вСса", - "circumferences_chart": "Π“Ρ€Π°Ρ„ΠΈΠΊ ΠΎΠ±Ρ…Π²Π°Ρ‚ΠΎΠ²", - "city_of_living": "Π“ΠΎΡ€ΠΎΠ΄ проТивания", - "bodymass_chart": "Π“Ρ€Π°Ρ„ΠΈΠΊ ИМВ", - "chest": "Π“Ρ€ΡƒΠ΄ΡŒ", - "waist": "Валия", - "hips": "Π‘Π΅Π΄Ρ€Π°", - "exit": "Π’Ρ‹ΠΉΡ‚ΠΈ", - "active": "АктивСн", - "archived": "Π’ Π°Ρ€Ρ…ΠΈΠ²Π΅", - "draft": "Π§Π΅Ρ€Π½ΠΎΠ²ΠΈΠΊ", - "my_blog": "Мой Π±Π»ΠΎΠ³", - "language": "Π―Π·Ρ‹ΠΊ", - "in_progress": "Π’ процСссС", - "add_measure": "Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π·Π°ΠΌΠ΅Ρ€", - "weight": "ВСс", - "plans_complete": "ΠŸΡ€ΠΎΠΉΠ΄Π΅Π½Π½Ρ‹Π΅ ΠΏΠ»Π°Π½Ρ‹", - "my_settings": "Мои настройки", - "settings": "Настройки", - "profile": "ΠŸΡ€ΠΎΡ„ΠΈΠ»ΡŒ", - "chat": "Π§Π°Ρ‚", - "admin": "Админ", - "diary": "Π”Π½Π΅Π²Π½ΠΈΠΊ", - "save": "Π‘ΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ", - "pcs": "ΡˆΡ‚", - "gr": "Π³Ρ€", - "grams": "Π³Ρ€" -} \ No newline at end of file diff --git a/lib/main.dart b/lib/main.dart index 816adbe7..23b031a9 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -9,6 +9,7 @@ import 'package:eatvio_app/theme/theme_helper.dart'; import 'package:flutter/material.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:flutter_localizations/flutter_localizations.dart'; +import 'package:flutter_portal/flutter_portal.dart'; import 'package:keyboard_dismisser/keyboard_dismisser.dart'; void main() async { @@ -26,18 +27,20 @@ class MyApp extends StatelessWidget { BlocProvider(create: (context) => sl()), BlocProvider(create: (context) => sl()), ], - child: KeyboardDismisser( - child: MaterialApp.router( - theme: ThemeHelper().themeData(), - routerConfig: AppRouter.appRouter, - debugShowCheckedModeBanner: false, - localizationsDelegates: const [ - S.delegate, - GlobalMaterialLocalizations.delegate, - GlobalWidgetsLocalizations.delegate, - GlobalCupertinoLocalizations.delegate, - ], - supportedLocales: S.delegate.supportedLocales, + child: Portal( + child: KeyboardDismisser( + child: MaterialApp.router( + theme: ThemeHelper().themeData(), + routerConfig: AppRouter.appRouter, + debugShowCheckedModeBanner: false, + localizationsDelegates: const [ + S.delegate, + GlobalMaterialLocalizations.delegate, + GlobalWidgetsLocalizations.delegate, + GlobalCupertinoLocalizations.delegate, + ], + supportedLocales: S.delegate.supportedLocales, + ), ), ), ); diff --git a/lib/theme/custom_text_style.dart b/lib/theme/custom_text_style.dart index 7cf7b69e..59f10924 100644 --- a/lib/theme/custom_text_style.dart +++ b/lib/theme/custom_text_style.dart @@ -165,6 +165,8 @@ class CustomTextStyles { static get titleSmallSegoeUIOnPrimary => theme.textTheme.titleSmall!.segoeUI.copyWith( color: theme.colorScheme.onPrimary, ); + + } extension on TextStyle { @@ -176,3 +178,5 @@ extension on TextStyle { return copyWith(); } } + + diff --git a/lib/theme/theme_helper.dart b/lib/theme/theme_helper.dart index ab5c1d2d..0841f960 100644 --- a/lib/theme/theme_helper.dart +++ b/lib/theme/theme_helper.dart @@ -164,6 +164,12 @@ class PrimaryColors { Color get whiteA700 => Color(0XFFFFFFFF); Color get backgroundAvatar => Color(0xFFEBF4FF); + + Color get cardBackground => Color(0xFFF7FAFF); + + Color get dividerColor => Color(0xFFF1F2F6); + + Color get grey => Color(0xFF6D6F71); } PrimaryColors get appTheme => ThemeHelper().themeColor();