feat: Implement glossary moderation, notifications, product modals, social authentication, and internationalization.

This commit is contained in:
mso7nueh
2026-01-19 16:00:30 +03:00
parent eb69b253bc
commit d3c8034b8f
13 changed files with 1557 additions and 1684 deletions

View File

@@ -47,9 +47,7 @@ class AppInitializer {
);
if (sl<AppConfig>().buildType == AppBuildType.prod) {
try {
await FirebaseMessaging.instance.requestPermission().timeout(
const Duration(seconds: 5),
);
await FirebaseMessaging.instance.requestPermission().timeout(const Duration(seconds: 5));
} catch (e) {
// Разрешение не критично, продолжаем работу
log('Failed to request Firebase messaging permission: $e');
@@ -82,6 +80,10 @@ class AppInitializer {
options.tracesSampleRate = 1.0;
options.debug = false;
}, appRunner: appRunner);
FlutterError.onError = (details) async {
if (kDebugMode) return;
await Sentry.captureException(details.exception, stackTrace: details.stack);
};
}
}

View File

@@ -8,6 +8,7 @@ import 'package:eatvio_app/features/auth/models/yandex_profile_model.dart';
import 'package:flutter/material.dart';
import 'package:eatvio_app/core/app_router.dart';
import 'package:eatvio_app/core/env_config.dart';
import 'package:eatvio_app/generated/l10n.dart';
import 'package:go_router/go_router.dart';
import 'package:http/http.dart' as http;
import 'package:vk_id/vk_id.dart';
@@ -255,8 +256,9 @@ class SocialAuthFacade {
if (!context.mounted) return null;
return showDialog<Map<String, String>>(
context: context,
barrierDismissible: false,
builder: (_) {
barrierDismissible: true,
builder: (dialogContext) {
final s = S.of(dialogContext);
const borderRadius = BorderRadius.all(Radius.circular(16));
return Dialog(
insetPadding: const EdgeInsets.all(16),
@@ -264,7 +266,21 @@ class SocialAuthFacade {
elevation: 0,
child: ClipRRect(
borderRadius: borderRadius,
child: SizedBox(height: 560, child: WebViewWidget(controller: controller)),
child: SizedBox(
height: MediaQuery.of(context).size.height * 0.7,
child: Scaffold(
appBar: AppBar(
leading: IconButton(
icon: const Icon(Icons.arrow_back),
onPressed: () {
Navigator.of(dialogContext).pop();
},
),
title: Text(s.authorization),
),
body: Expanded(child: WebViewWidget(controller: controller)),
),
),
),
);
},

View File

@@ -165,6 +165,11 @@ class _AddProductModalState extends State<AddProductModal> {
if (widget.portion != null) const SizedBox(width: 8),
InkWell(
onTap: () {
// Автоматически выбираем первый элемент, если текст точно совпадает
if (selectedGlossary == null && glossariesList.isNotEmpty && productNameController.text.trim() == glossariesList[0].name) {
selectedGlossary = glossariesList[0];
}
if (widget.portion == null) {
widget.diaryCubit.addProductToMeal(
diaryId: widget.state.diary.id,

View File

@@ -11,55 +11,53 @@ class ChosenPlanWidget extends StatelessWidget {
@override
Widget build(BuildContext context) {
return BlocBuilder<DiaryCubit, DiaryState>(builder: (context, state) {
if (state is DiaryStateLoaded) {
if (state.diary.typeOfDiary.hasChosenPlan) {
return ChosenPlanWidgetContent(
currentPlanDay: state.chosenPlanCurrentDay ?? 0,
planName: state.chosenPlanName ?? '',
planDuration: state.chosenPlanDuration ?? 0,
);
return BlocBuilder<DiaryCubit, DiaryState>(
builder: (context, state) {
if (state is DiaryStateLoaded) {
if (state.diary.typeOfDiary.hasChosenPlan) {
return ChosenPlanWidgetContent(
currentPlanDay: state.chosenPlanCurrentDay ?? 0,
planName: state.chosenPlanName ?? '',
planDuration: state.chosenPlanDuration ?? 0,
);
}
}
}
return const SizedBox.shrink();
});
return const SizedBox.shrink();
},
);
}
}
class ChosenPlanWidgetContent extends StatelessWidget {
const ChosenPlanWidgetContent({
super.key,
required this.currentPlanDay,
required this.planName,
required this.planDuration,
});
const ChosenPlanWidgetContent({super.key, required this.currentPlanDay, required this.planName, required this.planDuration});
final int currentPlanDay;
final String planName;
final int planDuration;
@override
Widget build(BuildContext context) {
final size = MediaQuery.sizeOf(context);
final s = S.of(context);
return Column(
children: [
Row(
children: [
SizedBox(
width: size.width * 0.4,
child: Text(planName, style: TextStyles.textLMedium.copyWith(color: appTheme.black)),
Expanded(
child: Text(
planName,
style: TextStyles.textLMedium.copyWith(color: appTheme.black),
softWrap: true,
overflow: TextOverflow.visible,
),
),
const Spacer(),
const SizedBox(width: 8),
Container(
decoration: BoxDecoration(color: appTheme.dividerColor, borderRadius: BorderRadius.circular(12)),
padding: const EdgeInsets.symmetric(vertical: 6, horizontal: 12),
child: Text('${s.day} $currentPlanDay из $planDuration', style: TextStyles.textMSemibold.copyWith(color: appTheme.gray)),
)
),
],
),
const SizedBox(
height: 16,
)
const SizedBox(height: 16),
],
);
}

View File

@@ -48,6 +48,19 @@ class _GlossaryModerationRequestModalWidgetState extends State<GlossaryModeratio
child: Column(
mainAxisSize: MainAxisSize.min,
children: [
Row(
children: [
const Spacer(),
IconButton(
padding: EdgeInsets.zero,
constraints: const BoxConstraints(),
icon: const Icon(Icons.close, color: Color(0xFF323F4B)),
onPressed: () {
Navigator.of(context).pop();
},
),
],
),
const Text(
'Добавление нового продукта',
textAlign: TextAlign.center,
@@ -68,10 +81,10 @@ class _GlossaryModerationRequestModalWidgetState extends State<GlossaryModeratio
onTap: () async {
glossary = (await widget.diaryCubit.sendProductToModeration(
name: productNameController.text,
energy: 0,
proteins: 0,
fats: 0,
carbohydrates: 0,
energy: 1,
proteins: 1,
fats: 1,
carbohydrates: 1,
))?.glossary;
setState(() {
glossaryState = GlossaryState.success;
@@ -126,6 +139,19 @@ class _GlossaryModerationRequestModalWidgetState extends State<GlossaryModeratio
child: Column(
mainAxisSize: MainAxisSize.min,
children: [
Row(
children: [
const Spacer(),
IconButton(
padding: EdgeInsets.zero,
constraints: const BoxConstraints(),
icon: const Icon(Icons.close, color: Color(0xFF323F4B)),
onPressed: () {
Navigator.of(context).pop();
},
),
],
),
const Text(
'Продукт успешно отправлен\nна модерацию',
textAlign: TextAlign.center,
@@ -163,6 +189,19 @@ class _GlossaryModerationRequestModalWidgetState extends State<GlossaryModeratio
child: Column(
mainAxisSize: MainAxisSize.min,
children: [
Row(
children: [
const Spacer(),
IconButton(
padding: EdgeInsets.zero,
constraints: const BoxConstraints(),
icon: const Icon(Icons.close, color: Color(0xFF323F4B)),
onPressed: () {
Navigator.of(context).pop();
},
),
],
),
const Text(
'Добавление нового продукта',
textAlign: TextAlign.center,

View File

@@ -116,7 +116,7 @@ class _NotificationsScreenState extends State<NotificationsScreen> {
),
],
)
: const Placeholder(),
: const SizedBox(),
);
},
);

View File

@@ -11,6 +11,7 @@
import 'dart:async';
import 'package:flutter/foundation.dart';
import 'package:intl/intl.dart';
import 'package:intl/message_lookup_by_library.dart';
import 'package:intl/src/intl_helpers.dart';
@@ -20,8 +21,8 @@ import 'messages_ru.dart' as messages_ru;
typedef Future<dynamic> LibraryLoader();
Map<String, LibraryLoader> _deferredLibraries = {
'en': () => new Future.value(null),
'ru': () => new Future.value(null),
'en': () => new SynchronousFuture(null),
'ru': () => new SynchronousFuture(null),
};
MessageLookupByLibrary? _findExact(String localeName) {
@@ -36,19 +37,20 @@ MessageLookupByLibrary? _findExact(String localeName) {
}
/// User programs should call this before using [localeName] for messages.
Future<bool> initializeMessages(String localeName) async {
Future<bool> initializeMessages(String localeName) {
var availableLocale = Intl.verifiedLocale(
localeName,
(locale) => _deferredLibraries[locale] != null,
onFailure: (_) => null);
onFailure: (_) => null,
);
if (availableLocale == null) {
return new Future.value(false);
return new SynchronousFuture(false);
}
var lib = _deferredLibraries[availableLocale];
await (lib == null ? new Future.value(false) : lib());
lib == null ? new SynchronousFuture(false) : lib();
initializeInternalMessageLookup(() => new CompositeMessageLookup());
messageLookup.addLocale(availableLocale, _findGeneratedMessagesFor);
return new Future.value(true);
return new SynchronousFuture(true);
}
bool _messagesExistFor(String locale) {
@@ -60,8 +62,11 @@ bool _messagesExistFor(String locale) {
}
MessageLookupByLibrary? _findGeneratedMessagesFor(String locale) {
var actualLocale = Intl.verifiedLocale(locale, _messagesExistFor,
onFailure: (_) => null);
var actualLocale = Intl.verifiedLocale(
locale,
_messagesExistFor,
onFailure: (_) => null,
);
if (actualLocale == null) return null;
return _findExact(actualLocale);
}

File diff suppressed because it is too large Load Diff

View File

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

File diff suppressed because it is too large Load Diff

View File

@@ -69,6 +69,7 @@
"no_account": "У меня нет аккаунта",
"authentificate": "Войти",
"user_authorization": "Аутентификация",
"authorization": "Authorization",
"loading": "Загрузка...",
"weight_chart": "График веса",
"circumferences_chart": "График обхватов",

View File

@@ -69,6 +69,7 @@
"no_account": "У меня нет аккаунта",
"authentificate": "Войти",
"user_authorization": "Аутентификация",
"authorization": "Авторизация",
"loading": "Загрузка...",
"weight_chart": "График веса",
"circumferences_chart": "График обхватов",

View File

@@ -83,6 +83,7 @@ dependencies:
rxdart: ^0.27.7
gpassword: ^1.0.0
webview_flutter_platform_interface: ^2.14.0
intl_utils: ^2.8.13
dev_dependencies:
build_runner: ^2.10.4