590 lines
17 KiB
Dart
590 lines
17 KiB
Dart
// ignore: unused_import
|
||
import 'package:intl/intl.dart' as intl;
|
||
import 'app_localizations.dart';
|
||
|
||
// ignore_for_file: type=lint
|
||
|
||
/// The translations for Russian (`ru`).
|
||
class AppLocalizationsRu extends AppLocalizations {
|
||
AppLocalizationsRu([String locale = 'ru']) : super(locale);
|
||
|
||
@override
|
||
String get appTitle => 'FocusBuddy';
|
||
|
||
@override
|
||
String get startFocusing => 'Начать концентрацию';
|
||
|
||
@override
|
||
String minutes(int count) {
|
||
String _temp0 = intl.Intl.pluralLogic(
|
||
count,
|
||
locale: localeName,
|
||
other: 'минут',
|
||
few: 'минуты',
|
||
one: 'минута',
|
||
);
|
||
return '$_temp0';
|
||
}
|
||
|
||
@override
|
||
String minutesValue(int count, Object minutes) {
|
||
return '$count $minutes';
|
||
}
|
||
|
||
@override
|
||
String get tapDistractionAnytime =>
|
||
'Нажмите \'Я отвлёкся\'\nв любое время\n—без чувства вины';
|
||
|
||
@override
|
||
String get history => 'История';
|
||
|
||
@override
|
||
String get settings => 'Настройки';
|
||
|
||
@override
|
||
String get iGotDistracted => 'Я отвлёкся';
|
||
|
||
@override
|
||
String get pause => 'Пауза';
|
||
|
||
@override
|
||
String get resume => 'Продолжить';
|
||
|
||
@override
|
||
String get stopSession => 'Остановить сессию';
|
||
|
||
@override
|
||
String get whatPulledYouAway => 'Что вас отвлекло?';
|
||
|
||
@override
|
||
String get skipThisTime => 'Пропустить сейчас';
|
||
|
||
@override
|
||
String get stopEarly => 'Остановить раньше?';
|
||
|
||
@override
|
||
String stopEarlyMessage(int minutes, Object minuteText) {
|
||
return 'Всё в порядке — вы концентрировались $minutes $minuteText!';
|
||
}
|
||
|
||
@override
|
||
String get keepGoing => 'Продолжить';
|
||
|
||
@override
|
||
String get yesStop => 'Да, остановить';
|
||
|
||
@override
|
||
String get distractionEncouragement =>
|
||
'Это случается. Давайте мягко вернёмся.';
|
||
|
||
@override
|
||
String get focusComplete => 'Сессия концентрации завершена!';
|
||
|
||
@override
|
||
String get youFocusedFor => 'Вы концентрировались';
|
||
|
||
@override
|
||
String totalToday(int minutes) {
|
||
return 'Всего сегодня: $minutes мин';
|
||
}
|
||
|
||
@override
|
||
String distractionsCount(int count, Object times) {
|
||
return 'Отвлечения: $count $times';
|
||
}
|
||
|
||
@override
|
||
String times(int count) {
|
||
String _temp0 = intl.Intl.pluralLogic(
|
||
count,
|
||
locale: localeName,
|
||
other: 'раз',
|
||
few: 'раза',
|
||
one: 'раз',
|
||
);
|
||
return '$_temp0';
|
||
}
|
||
|
||
@override
|
||
String get startAnother => 'Начать ещё';
|
||
|
||
@override
|
||
String get viewHistory => 'Показать историю';
|
||
|
||
@override
|
||
String get yourFocusJourney => 'Ваш путь концентрации';
|
||
|
||
@override
|
||
String get noFocusSessionsYet => 'Пока нет сессий концентрации';
|
||
|
||
@override
|
||
String get startFirstSession =>
|
||
'Начните первую сессию,\nчтобы увидеть свой прогресс!';
|
||
|
||
@override
|
||
String get today => 'Сегодня';
|
||
|
||
@override
|
||
String sessions(int count) {
|
||
String _temp0 = intl.Intl.pluralLogic(
|
||
count,
|
||
locale: localeName,
|
||
other: '$count сессий',
|
||
few: '$count сессии',
|
||
one: '$count сессия',
|
||
);
|
||
return '$_temp0';
|
||
}
|
||
|
||
@override
|
||
String get completed => 'Завершена';
|
||
|
||
@override
|
||
String get stoppedEarly => 'Остановлена раньше';
|
||
|
||
@override
|
||
String distractions(int count) {
|
||
String _temp0 = intl.Intl.pluralLogic(
|
||
count,
|
||
locale: localeName,
|
||
other: 'отвлечений',
|
||
few: 'отвлечения',
|
||
one: 'отвлечение',
|
||
);
|
||
return '$_temp0';
|
||
}
|
||
|
||
@override
|
||
String get focusSettings => 'Настройки концентрации';
|
||
|
||
@override
|
||
String get defaultFocusDuration => 'Стандартная длительность';
|
||
|
||
@override
|
||
String get defaultLabel => 'По умолчанию';
|
||
|
||
@override
|
||
String get about => 'О программе';
|
||
|
||
@override
|
||
String get privacyPolicy => 'Политика конфиденциальности';
|
||
|
||
@override
|
||
String get termsOfService => 'Условия использования';
|
||
|
||
@override
|
||
String get aboutFocusBuddy => 'О FocusBuddy';
|
||
|
||
@override
|
||
String get resetOnboarding => 'Сбросить введение';
|
||
|
||
@override
|
||
String get version => 'Версия 1.0.0 (MVP)';
|
||
|
||
@override
|
||
String get privacyPolicyTitle => 'Политика конфиденциальности';
|
||
|
||
@override
|
||
String get privacyPolicyContent =>
|
||
'FocusBuddy работает на 100% офлайн. Мы не собираем ваше имя, email, местоположение или данные об использовании. Все сессии остаются на вашем устройстве.\n\nНет облачной синхронизации, системы аккаунтов и отслеживания аналитики.\n\nПолную политику конфиденциальности см.:\nhttps://ytc1012.github.io/focusbuddy-site/privacy-policy.html';
|
||
|
||
@override
|
||
String get termsOfServiceTitle => 'Условия использования';
|
||
|
||
@override
|
||
String get termsOfServiceContent =>
|
||
'FocusBuddy предоставляется \"как есть\" без гарантий. Используя это приложение, вы соглашаетесь использовать его на свой риск.\n\nЭто приложение разработано как инструмент таймера концентрации и не гарантирует конкретных результатов. Все данные хранятся локально на вашем устройстве.\n\nПолные условия использования см.:\nhttps://ytc1012.github.io/focusbuddy-site/terms-of-service.html';
|
||
|
||
@override
|
||
String get close => 'Закрыть';
|
||
|
||
@override
|
||
String get aboutTitle => 'О FocusBuddy';
|
||
|
||
@override
|
||
String get aboutSubtitle =>
|
||
'Мягкий таймер концентрации для нейроотличных людей';
|
||
|
||
@override
|
||
String get aboutQuote =>
|
||
'\"Концентрация — это не о том, чтобы никогда не отвлекаться, а о том, чтобы мягко возвращаться каждый раз.\"';
|
||
|
||
@override
|
||
String get aboutFeatures =>
|
||
'✨ Без наказания за отвлечения\n💚 Поддержка вместо критики\n🔒 100% офлайн и приватно\n🌱 Сделано с заботой';
|
||
|
||
@override
|
||
String get resetOnboardingTitle => 'Сбросить введение?';
|
||
|
||
@override
|
||
String get resetOnboardingMessage =>
|
||
'Это снова покажет экраны введения при перезапуске приложения.';
|
||
|
||
@override
|
||
String get cancel => 'Отмена';
|
||
|
||
@override
|
||
String get reset => 'Сбросить';
|
||
|
||
@override
|
||
String get onboardingReset =>
|
||
'Введение сброшено. Перезапустите приложение, чтобы увидеть его снова.';
|
||
|
||
@override
|
||
String get onboarding1Title => 'Концентрация без вины';
|
||
|
||
@override
|
||
String get onboarding1Description =>
|
||
'Это приложение другое — оно не наказывает за потерю концентрации.\n\nИдеально для СДВГ, тревожности или для тех, кто находит традиционные таймеры слишком строгими.';
|
||
|
||
@override
|
||
String get onboarding2Title => 'Нажмите, когда отвлеклись';
|
||
|
||
@override
|
||
String get onboarding2Description =>
|
||
'Мы мягко напомним вам вернуться.\n\nБез стыда. Без стресса. Просто дружеское напоминание.';
|
||
|
||
@override
|
||
String get onboarding3Title => 'Отслеживайте прогресс';
|
||
|
||
@override
|
||
String get onboarding3Description =>
|
||
'Смотрите, как вы улучшаетесь от сессии к сессии.\n\nКаждое отвлечение — просто данные, а не провал.';
|
||
|
||
@override
|
||
String get skip => 'Пропустить';
|
||
|
||
@override
|
||
String get next => 'Далее';
|
||
|
||
@override
|
||
String get getStarted => 'Начать';
|
||
|
||
@override
|
||
String get notificationFocusInProgress => 'Идёт сессия концентрации';
|
||
|
||
@override
|
||
String notificationRemaining(String time) {
|
||
return 'осталось $time';
|
||
}
|
||
|
||
@override
|
||
String get notificationFocusCompleteTitle =>
|
||
'🎉 Сессия концентрации завершена!';
|
||
|
||
@override
|
||
String notificationFocusCompleteBodyNoDistractions(
|
||
int minutes,
|
||
Object minuteText,
|
||
) {
|
||
return 'Вы концентрировались $minutes $minuteText без отвлечений!';
|
||
}
|
||
|
||
@override
|
||
String notificationFocusCompleteBody(int minutes, Object minuteText) {
|
||
return 'Вы концентрировались $minutes $minuteText. Отличная работа!';
|
||
}
|
||
|
||
@override
|
||
String get distractionPhoneNotification => 'Телефон / Уведомление';
|
||
|
||
@override
|
||
String get distractionSocialMedia => 'Соцсети';
|
||
|
||
@override
|
||
String get distractionThoughts => 'Мысли / Мечты';
|
||
|
||
@override
|
||
String get distractionOther => 'Другое';
|
||
|
||
@override
|
||
String get language => 'Язык';
|
||
|
||
@override
|
||
String get selectLanguage => 'Выбрать язык';
|
||
|
||
@override
|
||
String get english => 'English';
|
||
|
||
@override
|
||
String get chinese => '中文';
|
||
|
||
@override
|
||
String get japanese => '日本語';
|
||
|
||
@override
|
||
String get korean => '한국어';
|
||
|
||
@override
|
||
String get spanish => 'Español';
|
||
|
||
@override
|
||
String get german => 'Deutsch';
|
||
|
||
@override
|
||
String get french => 'Français';
|
||
|
||
@override
|
||
String get portuguese => 'Português';
|
||
|
||
@override
|
||
String get russian => 'Русский';
|
||
|
||
@override
|
||
String get hindi => 'हिन्दी';
|
||
|
||
@override
|
||
String get indonesian => 'Bahasa Indonesia';
|
||
|
||
@override
|
||
String get italian => 'Italiano';
|
||
|
||
@override
|
||
String get arabic => 'العربية';
|
||
|
||
@override
|
||
String get points => 'Очки';
|
||
|
||
@override
|
||
String get level => 'Уровень';
|
||
|
||
@override
|
||
String get checked => 'Отмечено';
|
||
|
||
@override
|
||
String get checkIn => 'Отметиться';
|
||
|
||
@override
|
||
String get earnedPoints => 'Получено:';
|
||
|
||
@override
|
||
String get basePoints => 'Базовые очки';
|
||
|
||
@override
|
||
String get honestyBonus => 'Бонус за честность';
|
||
|
||
@override
|
||
String totalPoints(int count) {
|
||
return 'Всего очков: $count ⚡';
|
||
}
|
||
|
||
@override
|
||
String distractionsRecorded(int count, Object distractionText) {
|
||
return '($count $distractionText записано)';
|
||
}
|
||
|
||
@override
|
||
String get achievementUnlocked => '🎖️ Достижение разблокировано!';
|
||
|
||
@override
|
||
String bonusPoints(int points) {
|
||
return '+$points очков ⚡';
|
||
}
|
||
|
||
@override
|
||
String checkInSuccess(int points) {
|
||
return 'Отметка успешна! +$points очков ⚡';
|
||
}
|
||
|
||
@override
|
||
String get weeklyStreakBonus => '🎉 Бонус за недельную серию!';
|
||
|
||
@override
|
||
String get newAchievementUnlocked => '🎖️ Новое достижение разблокировано!';
|
||
|
||
@override
|
||
String get alreadyCheckedIn =>
|
||
'Вы уже отметились сегодня! Приходите завтра 📅';
|
||
|
||
@override
|
||
String get checkInCalendar => 'Календарь отметок 📅';
|
||
|
||
@override
|
||
String get checkInToday => '📅 Отметиться сегодня';
|
||
|
||
@override
|
||
String get checkedInToday => '✓ Отмечен сегодня';
|
||
|
||
@override
|
||
String get currentStreak => '🔥 Текущая серия';
|
||
|
||
@override
|
||
String get longestStreak => '🏆 Самая длинная серия';
|
||
|
||
@override
|
||
String get days => 'дней';
|
||
|
||
@override
|
||
String daysCount(int count) {
|
||
return '$count дней';
|
||
}
|
||
|
||
@override
|
||
String get achievements => 'Достижения 🎖️';
|
||
|
||
@override
|
||
String get viewAllAchievements => 'Посмотреть все достижения';
|
||
|
||
@override
|
||
String get allAchievementsComingSoon => 'Полный экран достижений скоро!';
|
||
|
||
@override
|
||
String get profile => 'Профиль';
|
||
|
||
@override
|
||
String get focuser => 'Сосредоточенный';
|
||
|
||
@override
|
||
String pointsToNextLevel(int points, int level) {
|
||
return '$points очков до уровня $level';
|
||
}
|
||
|
||
@override
|
||
String get achievement_first_session_name => 'Новичок фокуса';
|
||
|
||
@override
|
||
String get achievement_first_session_desc =>
|
||
'Завершите первую сессию фокусировки';
|
||
|
||
@override
|
||
String get achievement_sessions_10_name => 'Начало';
|
||
|
||
@override
|
||
String get achievement_sessions_10_desc => 'Завершите 10 сессий фокусировки';
|
||
|
||
@override
|
||
String get achievement_sessions_50_name => 'Энтузиаст фокуса';
|
||
|
||
@override
|
||
String get achievement_sessions_50_desc => 'Завершите 50 сессий фокусировки';
|
||
|
||
@override
|
||
String get achievement_sessions_100_name => 'Мастер фокуса';
|
||
|
||
@override
|
||
String get achievement_sessions_100_desc =>
|
||
'Завершите 100 сессий фокусировки';
|
||
|
||
@override
|
||
String get achievement_honest_bronze_name => 'Честный трекер · Бронза';
|
||
|
||
@override
|
||
String get achievement_honest_bronze_desc => 'Честно запишите 50 отвлечений';
|
||
|
||
@override
|
||
String get achievement_honest_silver_name => 'Честный трекер · Серебро';
|
||
|
||
@override
|
||
String get achievement_honest_silver_desc => 'Честно запишите 200 отвлечений';
|
||
|
||
@override
|
||
String get achievement_honest_gold_name => 'Честный трекер · Золото';
|
||
|
||
@override
|
||
String get achievement_honest_gold_desc => 'Честно запишите 500 отвлечений';
|
||
|
||
@override
|
||
String get achievement_marathon_name => 'Марафонец';
|
||
|
||
@override
|
||
String get achievement_marathon_desc =>
|
||
'Накопите 10 часов времени фокусировки';
|
||
|
||
@override
|
||
String get achievement_century_name => 'Клуб столетия';
|
||
|
||
@override
|
||
String get achievement_century_desc =>
|
||
'Накопите 100 часов времени фокусировки';
|
||
|
||
@override
|
||
String get achievement_master_name => 'Гроссмейстер фокуса';
|
||
|
||
@override
|
||
String get achievement_master_desc =>
|
||
'Накопите 1000 часов времени фокусировки';
|
||
|
||
@override
|
||
String get achievement_persistence_star_name => 'Звезда упорства';
|
||
|
||
@override
|
||
String get achievement_persistence_star_desc => 'Отмечайтесь 7 дней подряд';
|
||
|
||
@override
|
||
String get achievement_monthly_habit_name => 'Месячная привычка';
|
||
|
||
@override
|
||
String get achievement_monthly_habit_desc => 'Отмечайтесь 30 дней подряд';
|
||
|
||
@override
|
||
String get achievement_centurion_name => 'Центурион';
|
||
|
||
@override
|
||
String get achievement_centurion_desc => 'Отмечайтесь 100 дней подряд';
|
||
|
||
@override
|
||
String get achievement_year_warrior_name => 'Воин года';
|
||
|
||
@override
|
||
String get achievement_year_warrior_desc => 'Отмечайтесь 365 дней подряд';
|
||
|
||
@override
|
||
String get total => 'Всего';
|
||
|
||
@override
|
||
String get status => 'Статус';
|
||
|
||
@override
|
||
String get pointsBreakdown => 'Разбивка очков';
|
||
|
||
@override
|
||
String get focusTimePoints => 'Время фокусировки';
|
||
|
||
@override
|
||
String get focusTimePointsDesc => '1 очко за минуту фокусировки';
|
||
|
||
@override
|
||
String get honestyBonusLabel => 'Бонус за честность';
|
||
|
||
@override
|
||
String get honestyBonusDesc => 'Дополнительные очки за запись отвлечений';
|
||
|
||
@override
|
||
String get checkInPoints => 'Ежедневная отметка';
|
||
|
||
@override
|
||
String get checkInPointsDesc => 'Базовые очки за ежедневную отметку';
|
||
|
||
@override
|
||
String get streakBonus => 'Бонус за серию';
|
||
|
||
@override
|
||
String streakBonusDesc(int days) {
|
||
return '$days дней подряд';
|
||
}
|
||
|
||
@override
|
||
String get achievementBonusLabel => 'Бонус за достижение';
|
||
|
||
@override
|
||
String get weekdayS => 'В';
|
||
|
||
@override
|
||
String get weekdayM => 'П';
|
||
|
||
@override
|
||
String get weekdayT => 'В';
|
||
|
||
@override
|
||
String get weekdayW => 'С';
|
||
|
||
@override
|
||
String get weekdayTh => 'Ч';
|
||
|
||
@override
|
||
String get weekdayF => 'П';
|
||
|
||
@override
|
||
String get weekdaySa => 'С';
|
||
}
|