528 lines
13 KiB
Dart
528 lines
13 KiB
Dart
// ignore: unused_import
|
|
import 'package:intl/intl.dart' as intl;
|
|
import 'app_localizations.dart';
|
|
|
|
// ignore_for_file: type=lint
|
|
|
|
/// The translations for Indonesian (`id`).
|
|
class AppLocalizationsId extends AppLocalizations {
|
|
AppLocalizationsId([String locale = 'id']) : super(locale);
|
|
|
|
@override
|
|
String get appTitle => 'FocusBuddy';
|
|
|
|
@override
|
|
String get startFocusing => 'Mulai Fokus';
|
|
|
|
@override
|
|
String minutes(int count) {
|
|
String _temp0 = intl.Intl.pluralLogic(
|
|
count,
|
|
locale: localeName,
|
|
other: 'menit',
|
|
one: 'menit',
|
|
);
|
|
return '$_temp0';
|
|
}
|
|
|
|
@override
|
|
String minutesValue(int count, Object minutes) {
|
|
return '$count $minutes';
|
|
}
|
|
|
|
@override
|
|
String get tapDistractionAnytime =>
|
|
'Ketuk \'Saya terganggu\'\nkapan saja\n—tanpa rasa bersalah';
|
|
|
|
@override
|
|
String get history => 'Riwayat';
|
|
|
|
@override
|
|
String get settings => 'Pengaturan';
|
|
|
|
@override
|
|
String get iGotDistracted => 'Saya terganggu';
|
|
|
|
@override
|
|
String get pause => 'Jeda';
|
|
|
|
@override
|
|
String get resume => 'Lanjutkan';
|
|
|
|
@override
|
|
String get stopSession => 'Hentikan sesi';
|
|
|
|
@override
|
|
String get whatPulledYouAway => 'Apa yang mengganggu Anda?';
|
|
|
|
@override
|
|
String get skipThisTime => 'Lewati kali ini';
|
|
|
|
@override
|
|
String get stopEarly => 'Hentikan lebih awal?';
|
|
|
|
@override
|
|
String stopEarlyMessage(int minutes, Object minuteText) {
|
|
return 'Tidak apa-apa — Anda sudah fokus selama $minutes $minuteText!';
|
|
}
|
|
|
|
@override
|
|
String get keepGoing => 'Lanjutkan';
|
|
|
|
@override
|
|
String get yesStop => 'Ya, hentikan';
|
|
|
|
@override
|
|
String get distractionEncouragement =>
|
|
'Tidak apa-apa. Mari kembali dengan lembut.';
|
|
|
|
@override
|
|
String get focusComplete => 'Sesi fokus selesai!';
|
|
|
|
@override
|
|
String get youFocusedFor => 'Anda fokus selama';
|
|
|
|
@override
|
|
String totalToday(int minutes) {
|
|
return 'Total hari ini: $minutes menit';
|
|
}
|
|
|
|
@override
|
|
String distractionsCount(int count, Object times) {
|
|
return 'Gangguan: $count $times';
|
|
}
|
|
|
|
@override
|
|
String times(int count) {
|
|
String _temp0 = intl.Intl.pluralLogic(
|
|
count,
|
|
locale: localeName,
|
|
other: 'kali',
|
|
one: 'kali',
|
|
);
|
|
return '$_temp0';
|
|
}
|
|
|
|
@override
|
|
String get startAnother => 'Mulai Lagi';
|
|
|
|
@override
|
|
String get viewHistory => 'Lihat Riwayat';
|
|
|
|
@override
|
|
String get yourFocusJourney => 'Perjalanan Fokus Anda';
|
|
|
|
@override
|
|
String get noFocusSessionsYet => 'Belum ada sesi fokus';
|
|
|
|
@override
|
|
String get startFirstSession =>
|
|
'Mulai sesi pertama Anda\nuntuk melihat kemajuan di sini!';
|
|
|
|
@override
|
|
String get today => 'Hari ini';
|
|
|
|
@override
|
|
String sessions(int count) {
|
|
String _temp0 = intl.Intl.pluralLogic(
|
|
count,
|
|
locale: localeName,
|
|
other: '$count sesi',
|
|
one: '$count sesi',
|
|
);
|
|
return '$_temp0';
|
|
}
|
|
|
|
@override
|
|
String get completed => 'Selesai';
|
|
|
|
@override
|
|
String get stoppedEarly => 'Dihentikan lebih awal';
|
|
|
|
@override
|
|
String distractions(int count) {
|
|
String _temp0 = intl.Intl.pluralLogic(
|
|
count,
|
|
locale: localeName,
|
|
other: 'gangguan',
|
|
one: 'gangguan',
|
|
);
|
|
return '$_temp0';
|
|
}
|
|
|
|
@override
|
|
String get focusSettings => 'Pengaturan Fokus';
|
|
|
|
@override
|
|
String get defaultFocusDuration => 'Durasi Fokus Default';
|
|
|
|
@override
|
|
String get defaultLabel => 'Default';
|
|
|
|
@override
|
|
String get about => 'Tentang';
|
|
|
|
@override
|
|
String get privacyPolicy => 'Kebijakan Privasi';
|
|
|
|
@override
|
|
String get termsOfService => 'Ketentuan Layanan';
|
|
|
|
@override
|
|
String get aboutFocusBuddy => 'Tentang FocusBuddy';
|
|
|
|
@override
|
|
String get resetOnboarding => 'Reset Onboarding';
|
|
|
|
@override
|
|
String get version => 'Versi 1.0.0 (MVP)';
|
|
|
|
@override
|
|
String get privacyPolicyTitle => 'Kebijakan Privasi';
|
|
|
|
@override
|
|
String get privacyPolicyContent =>
|
|
'FocusBuddy 100% offline. Kami tidak mengumpulkan nama, email, lokasi, atau data penggunaan Anda. Semua sesi tetap di perangkat Anda.\n\nTidak ada sinkronisasi cloud, sistem akun, atau pelacakan analitik.\n\nUntuk kebijakan privasi lengkap, kunjungi:\nhttps://ytc1012.github.io/focusbuddy-site/privacy-policy.html';
|
|
|
|
@override
|
|
String get termsOfServiceTitle => 'Ketentuan Layanan';
|
|
|
|
@override
|
|
String get termsOfServiceContent =>
|
|
'FocusBuddy disediakan \"apa adanya\" tanpa jaminan. Dengan menggunakan aplikasi ini, Anda setuju untuk menggunakannya dengan risiko Anda sendiri.\n\nAplikasi ini dirancang sebagai alat timer fokus dan tidak menjamin hasil tertentu. Semua data disimpan secara lokal di perangkat Anda.\n\nUntuk ketentuan layanan lengkap, kunjungi:\nhttps://ytc1012.github.io/focusbuddy-site/terms-of-service.html';
|
|
|
|
@override
|
|
String get close => 'Tutup';
|
|
|
|
@override
|
|
String get aboutTitle => 'Tentang FocusBuddy';
|
|
|
|
@override
|
|
String get aboutSubtitle =>
|
|
'Timer fokus yang lembut untuk pikiran neurodivergent';
|
|
|
|
@override
|
|
String get aboutQuote =>
|
|
'\"Fokus bukan tentang tidak pernah terganggu — tetapi tentang kembali dengan lembut setiap kali Anda terganggu.\"';
|
|
|
|
@override
|
|
String get aboutFeatures =>
|
|
'✨ Tidak ada hukuman untuk gangguan\n💚 Dorongan daripada kritik\n🔒 100% offline dan pribadi\n🌱 Dibuat dengan perhatian';
|
|
|
|
@override
|
|
String get resetOnboardingTitle => 'Reset Onboarding?';
|
|
|
|
@override
|
|
String get resetOnboardingMessage =>
|
|
'Ini akan menampilkan layar onboarding lagi saat Anda restart aplikasi.';
|
|
|
|
@override
|
|
String get cancel => 'Batal';
|
|
|
|
@override
|
|
String get reset => 'Reset';
|
|
|
|
@override
|
|
String get onboardingReset =>
|
|
'Onboarding direset. Restart aplikasi untuk melihatnya lagi.';
|
|
|
|
@override
|
|
String get onboarding1Title => 'Fokus tanpa rasa bersalah';
|
|
|
|
@override
|
|
String get onboarding1Description =>
|
|
'Aplikasi ini berbeda — tidak akan menghukum Anda karena kehilangan fokus.\n\nSempurna untuk ADHD, kecemasan, atau siapa saja yang merasa timer tradisional terlalu keras.';
|
|
|
|
@override
|
|
String get onboarding2Title => 'Ketuk saat Anda terganggu';
|
|
|
|
@override
|
|
String get onboarding2Description =>
|
|
'Kami akan mengingatkan Anda dengan lembut untuk kembali.\n\nTidak ada rasa malu. Tidak ada stres. Hanya pengingat yang ramah.';
|
|
|
|
@override
|
|
String get onboarding3Title => 'Lacak kemajuan Anda';
|
|
|
|
@override
|
|
String get onboarding3Description =>
|
|
'Lihat bagaimana Anda berkembang, satu sesi pada satu waktu.\n\nSetiap gangguan hanyalah data — bukan kegagalan.';
|
|
|
|
@override
|
|
String get skip => 'Lewati';
|
|
|
|
@override
|
|
String get next => 'Berikutnya';
|
|
|
|
@override
|
|
String get getStarted => 'Mulai';
|
|
|
|
@override
|
|
String get notificationFocusInProgress => 'Sesi fokus sedang berlangsung';
|
|
|
|
@override
|
|
String notificationRemaining(String time) {
|
|
return '$time tersisa';
|
|
}
|
|
|
|
@override
|
|
String get notificationFocusCompleteTitle => '🎉 Sesi fokus selesai!';
|
|
|
|
@override
|
|
String notificationFocusCompleteBodyNoDistractions(
|
|
int minutes,
|
|
Object minuteText,
|
|
) {
|
|
return 'Anda fokus selama $minutes $minuteText tanpa gangguan!';
|
|
}
|
|
|
|
@override
|
|
String notificationFocusCompleteBody(int minutes, Object minuteText) {
|
|
return 'Anda fokus selama $minutes $minuteText. Usaha yang bagus!';
|
|
}
|
|
|
|
@override
|
|
String get distractionPhoneNotification => 'Telepon / Notifikasi';
|
|
|
|
@override
|
|
String get distractionSocialMedia => 'Media Sosial';
|
|
|
|
@override
|
|
String get distractionThoughts => 'Pikiran / Melamun';
|
|
|
|
@override
|
|
String get distractionOther => 'Lainnya';
|
|
|
|
@override
|
|
String get language => 'Bahasa';
|
|
|
|
@override
|
|
String get selectLanguage => 'Pilih Bahasa';
|
|
|
|
@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 => 'Points';
|
|
|
|
@override
|
|
String get level => 'Level';
|
|
|
|
@override
|
|
String get checked => 'Checked';
|
|
|
|
@override
|
|
String get checkIn => 'Check In';
|
|
|
|
@override
|
|
String get earnedPoints => 'Earned:';
|
|
|
|
@override
|
|
String get basePoints => 'Base Points';
|
|
|
|
@override
|
|
String get honestyBonus => 'Honesty Bonus';
|
|
|
|
@override
|
|
String totalPoints(int count) {
|
|
return 'Total Points: $count ⚡';
|
|
}
|
|
|
|
@override
|
|
String distractionsRecorded(int count, Object distractionText) {
|
|
return '($count $distractionText recorded)';
|
|
}
|
|
|
|
@override
|
|
String get achievementUnlocked => '🎖️ Achievement Unlocked!';
|
|
|
|
@override
|
|
String bonusPoints(int points) {
|
|
return '+$points Points ⚡';
|
|
}
|
|
|
|
@override
|
|
String checkInSuccess(int points) {
|
|
return 'Check-in successful! +$points points ⚡';
|
|
}
|
|
|
|
@override
|
|
String get weeklyStreakBonus => '🎉 Weekly streak bonus!';
|
|
|
|
@override
|
|
String get newAchievementUnlocked => '🎖️ New achievement unlocked!';
|
|
|
|
@override
|
|
String get alreadyCheckedIn =>
|
|
'You have already checked in today! Come back tomorrow 📅';
|
|
|
|
@override
|
|
String get checkInCalendar => 'Check-In Calendar 📅';
|
|
|
|
@override
|
|
String get checkInToday => '📅 Check In Today';
|
|
|
|
@override
|
|
String get checkedInToday => '✓ Checked In Today';
|
|
|
|
@override
|
|
String get currentStreak => '🔥 Current Streak';
|
|
|
|
@override
|
|
String get longestStreak => '🏆 Longest Streak';
|
|
|
|
@override
|
|
String get days => 'days';
|
|
|
|
@override
|
|
String daysCount(int count) {
|
|
return '$count days';
|
|
}
|
|
|
|
@override
|
|
String get achievements => 'Achievements 🎖️';
|
|
|
|
@override
|
|
String get viewAllAchievements => 'View All Achievements';
|
|
|
|
@override
|
|
String get allAchievementsComingSoon =>
|
|
'Full achievements screen coming soon!';
|
|
|
|
@override
|
|
String get profile => 'Profile';
|
|
|
|
@override
|
|
String get focuser => 'Focuser';
|
|
|
|
@override
|
|
String pointsToNextLevel(int points, int level) {
|
|
return '$points points to Level $level';
|
|
}
|
|
|
|
@override
|
|
String get achievement_first_session_name => 'Focus Newbie';
|
|
|
|
@override
|
|
String get achievement_first_session_desc =>
|
|
'Complete your first focus session';
|
|
|
|
@override
|
|
String get achievement_sessions_10_name => 'Getting Started';
|
|
|
|
@override
|
|
String get achievement_sessions_10_desc => 'Complete 10 focus sessions';
|
|
|
|
@override
|
|
String get achievement_sessions_50_name => 'Focus Enthusiast';
|
|
|
|
@override
|
|
String get achievement_sessions_50_desc => 'Complete 50 focus sessions';
|
|
|
|
@override
|
|
String get achievement_sessions_100_name => 'Focus Master';
|
|
|
|
@override
|
|
String get achievement_sessions_100_desc => 'Complete 100 focus sessions';
|
|
|
|
@override
|
|
String get achievement_honest_bronze_name => 'Honest Tracker · Bronze';
|
|
|
|
@override
|
|
String get achievement_honest_bronze_desc =>
|
|
'Record 50 distractions honestly';
|
|
|
|
@override
|
|
String get achievement_honest_silver_name => 'Honest Tracker · Silver';
|
|
|
|
@override
|
|
String get achievement_honest_silver_desc =>
|
|
'Record 200 distractions honestly';
|
|
|
|
@override
|
|
String get achievement_honest_gold_name => 'Honest Tracker · Gold';
|
|
|
|
@override
|
|
String get achievement_honest_gold_desc => 'Record 500 distractions honestly';
|
|
|
|
@override
|
|
String get achievement_marathon_name => 'Marathon Runner';
|
|
|
|
@override
|
|
String get achievement_marathon_desc => 'Accumulate 10 hours of focus time';
|
|
|
|
@override
|
|
String get achievement_century_name => 'Century Club';
|
|
|
|
@override
|
|
String get achievement_century_desc => 'Accumulate 100 hours of focus time';
|
|
|
|
@override
|
|
String get achievement_master_name => 'Focus Grandmaster';
|
|
|
|
@override
|
|
String get achievement_master_desc => 'Accumulate 1000 hours of focus time';
|
|
|
|
@override
|
|
String get achievement_persistence_star_name => 'Persistence Star';
|
|
|
|
@override
|
|
String get achievement_persistence_star_desc =>
|
|
'Check in for 7 consecutive days';
|
|
|
|
@override
|
|
String get achievement_monthly_habit_name => 'Monthly Habit';
|
|
|
|
@override
|
|
String get achievement_monthly_habit_desc =>
|
|
'Check in for 30 consecutive days';
|
|
|
|
@override
|
|
String get achievement_centurion_name => 'Centurion';
|
|
|
|
@override
|
|
String get achievement_centurion_desc => 'Check in for 100 consecutive days';
|
|
|
|
@override
|
|
String get achievement_year_warrior_name => 'Year Warrior';
|
|
|
|
@override
|
|
String get achievement_year_warrior_desc =>
|
|
'Check in for 365 consecutive days';
|
|
}
|