多语言支持

This commit is contained in:
ytc1012
2025-11-24 14:01:01 +08:00
parent bf21dba275
commit 57ef852863
32 changed files with 5255 additions and 36 deletions

View File

@@ -0,0 +1,334 @@
// 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 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Полную политику конфиденциальности см.:\n[URL вашего сайта]/privacy';
@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 => 'العربية';
}