Files
pluriwave/lib/l10n/app_id.arb
T
FreeTLab aa0b242374 feat(iap): add freemium unlock via one-time in-app purchase
Adds a permanent, non-consumable premium unlock (EstadoEntitlement +
PuertoCompras/ServicioComprasPlayBilling) that removes ads and unlocks
alarm vacations, alarms past a 5-alarm free cap, recording start, and
full Android Auto browsing. The phone equalizer stays free for everyone.

- Entitlement is prefs-backed (compra_premium_v1), fail-open, and
  resolvable headlessly via esPremiumPersistido() for the Android Auto
  audio handler, which registers before runApp.
- Android Auto reduced mode keeps the real root folder labels for free
  users; browsing into any of them (and playFromMediaId/playFromSearch/
  skipToNext/skipToPrevious) is blocked at the getChildren/servicio_audio
  choke points, with a locked "Función Premium" item as the backstop.
  Current-station play/pause/stop stays untouched. A free -> premium
  transition actively invalidates the head unit's cached browse tree.
- Ads (top banner + capped interstitial before adding a station or an
  alarm) are gated behind entitlement via ServicioAnuncios, using
  official Google test ad unit IDs pending AdMob provisioning.
- Alarm cap UX shows an explanatory message with a secondary unlock
  action rather than a bare paywall jump; existing data is grandfathered.
- 4 new localization keys translated across all 13 supported locales.

Co-located tests use strict TDD (RED test before implementation) for
every new pure-logic unit; full existing suite passes unchanged.
2026-08-10 20:37:07 +02:00

906 lines
36 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{
"@@locale": "id",
"appTitle": "PluriWave",
"navHome": "Dengar",
"navSearch": "Cari",
"navFavorites": "Favorit",
"navAlarms": "Alarm",
"navSettings": "Pengaturan",
"actionOk": "Oke",
"sleepTimer": "Timer tidur",
"sleepTimerDescription": "Mematikan radio secara lembut dengan hitung mundur yang tepat.",
"cancelTimer": "Batalkan timer",
"optionOther": "Lainnya",
"customDurationTitle": "Durasi khusus",
"durationGreaterThanZero": "Pilih durasi yang lebih besar dari nol.",
"hoursLabel": "Jam",
"minutesLabel": "Menit",
"secondsLabel": "Detik",
"durationHoursMinutesSeconds": "{hours} jam {minutes} mnt {seconds} dtk",
"@durationHoursMinutesSeconds": {
"placeholders": {
"hours": {},
"minutes": {},
"seconds": {}
}
},
"durationMinutesSeconds": "{minutes} mnt {seconds} dtk",
"@durationMinutesSeconds": {
"placeholders": {
"minutes": {},
"seconds": {}
}
},
"durationMinutesOnly": "{minutes} mnt",
"@durationMinutesOnly": {
"placeholders": {
"minutes": {}
}
},
"durationSecondsOnly": "{seconds} dtk",
"@durationSecondsOnly": {
"placeholders": {
"seconds": {}
}
},
"saveQuickAccess": "Simpan sebagai akses cepat",
"startTimer": "Mulai timer",
"skipCurrentAlarmExecution": "Eksekusi {alarmName} kali ini dilewati.",
"@skipCurrentAlarmExecution": {
"placeholders": {
"alarmName": {}
}
},
"settingsTitle": "Pengaturan",
"settingsSubtitle": "Kontrol halus untuk suara, cadangan, dan stasiun khusus.",
"languageSectionTitle": "Bahasa",
"languageSectionDescription": "Pilih bagaimana bahasa aplikasi ditampilkan.",
"languageSystemDefault": "Sistem",
"languageSpanish": "Spanyol",
"languageEnglish": "Inggris",
"languageUpdated": "Bahasa diperbarui: {languageName}",
"@languageUpdated": {
"placeholders": {
"languageName": {}
}
},
"languageUpdatedSystem": "Bahasa diperbarui: Sistem",
"timerSectionTitle": "Timer tidur",
"timerSectionAdd": "Tambah",
"timerSectionDescription": "Sesuaikan pintasan cepat yang muncul saat radio dimatikan otomatis.",
"timerSectionRestoreRecommended": "Pulihkan waktu yang disarankan",
"newQuickAccessTitle": "Akses cepat baru",
"saveQuickAccessButton": "Simpan akses cepat",
"settingsSafeStatus": "Aman",
"recordingsSectionTitle": "Rekaman",
"recordingsFolderDialogTitle": "Pilih folder rekaman",
"recordingsPathUpdated": "Jalur rekaman diperbarui",
"recordingsPathSaveError": "Tidak dapat menyimpan jalur: {error}",
"recordingsDefaultFolderRestored": "Folder internal bawaan akan digunakan",
"recordingsFolderTitle": "Folder rekaman",
"recordingsPathCalculating": "Menghitung jalur...",
"recordingsChangePath": "Ubah jalur",
"recordingsUseDefaultPath": "Gunakan jalur bawaan",
"recordingsOriginalStreamHint": "Radio disimpan dari stream asli, tanpa kompresi ulang.",
"equalizerActive": "Aktif",
"equalizerDisabled": "Nonaktif",
"equalizerEnable": "Aktifkan equalizer",
"equalizerRealtimeSubtitle": "Perubahan diterapkan secara langsung ke stasiun saat ini.",
"equalizerPendingSubtitle": "Perubahan disimpan dan akan diterapkan saat Android mengaktifkan efek.",
"equalizerPerStationTitle": "Gunakan EQ khusus untuk favorit ini",
"equalizerPerStationActive": "Aktif untuk {stationName}",
"equalizerPerStationMain": "Menggunakan EQ utama untuk {stationName}",
"preferredStationTitle": "Stasiun pilihan",
"preferredStationDescription": "Dipilih lebih dulu saat membuat alarm dan dapat dimulai sebagai pemutaran cepat.",
"preferredStationNoStationsTitle": "Belum ada stasiun yang tersedia",
"preferredStationNoStationsSubtitle": "Simpan favorit atau muat stasiun untuk memilih stasiun pilihan.",
"preferredStationAutomaticFallback": "Cadangan otomatis",
"preferredStationDefaultFavorite": "Favorit bawaan",
"preferredStationCurrent": "Pilihan saat ini: {stationName}",
"preferredStationAutoUsing": "Tidak ada favorit: otomatis menggunakan {stationName}",
"preferredStationPlay": "Putar pilihan",
"customStationsTitle": "Stasiun khusus",
"customStationsAdd": "Tambah",
"customStationsEmpty": "Tidak ada stasiun khusus.",
"playAction": "Putar",
"deleteAction": "Hapus",
"addStationTitle": "Tambah stasiun",
"stationNameLabel": "Nama *",
"unnamedStation": "Stasiun tanpa nama",
"requiredField": "Kolom wajib",
"streamUrlLabel": "URL stream *",
"invalidUrl": "URL tidak valid",
"countryOptionalLabel": "Negara (opsional)",
"saveStation": "Simpan stasiun",
"backupSectionTitle": "Cadangan",
"backupExportTitle": "Ekspor pengaturan",
"backupExportSubtitle": "Favorit, stasiun khusus, dan preset EQ",
"backupImportTitle": "Impor pengaturan",
"backupImportSubtitle": "Pulihkan dari berkas cadangan",
"backupShareSubject": "PluriWave — cadangan",
"backupShareText": "Pengaturan PluriWave diekspor pada {date}",
"backupExportError": "Kesalahan saat mengekspor: {error}",
"backupImportConfirmMessage": "Ini akan menambahkan favorit, stasiun, dan preset dari berkas. Lanjutkan?",
"backupImportSuccess": "Pengaturan berhasil diimpor",
"backupImportError": "Kesalahan saat mengimpor: {error}",
"appVersionLoading": "Memuat versi...",
"appVersionSubtitle": "{version} - Radio dunia",
"savedFavoritesTitle": "Favorit tersimpan",
"stationFilterTitle": "Filter stasiun",
"stationFilterSubtitle": "Hanya stasiun yang terverifikasi aktif",
"backgroundAudioTitle": "Audio latar belakang",
"backgroundAudioSubtitle": "Tetap berjalan saat layar dimatikan",
"dash": "—",
"@recordingsPathSaveError": {
"placeholders": {
"error": {}
}
},
"@equalizerPerStationActive": {
"placeholders": {
"stationName": {}
}
},
"@equalizerPerStationMain": {
"placeholders": {
"stationName": {}
}
},
"@preferredStationCurrent": {
"placeholders": {
"stationName": {}
}
},
"@preferredStationAutoUsing": {
"placeholders": {
"stationName": {}
}
},
"@backupShareText": {
"placeholders": {
"date": {}
}
},
"@backupExportError": {
"placeholders": {
"error": {}
}
},
"@backupImportError": {
"placeholders": {
"error": {}
}
},
"@appVersionSubtitle": {
"placeholders": {
"version": {}
}
},
"cancelAction": "Batal",
"equalizerTitle": "Equalizer",
"recordingsOpenFolder": "Buka folder",
"recordingsOpenFolderError": "Tidak dapat membuka folder: {error}",
"recordingsMaxSizeTitle": "Ukuran rekaman maksimum",
"recordingsMaxSizeSubtitle": "Batas saat ini: {size} MB",
"recordingsMaxSizeDialogTitle": "Ukuran maksimum per rekaman",
"recordingsMaxSizeMbLabel": "Megabyte maksimum",
"recordingsMaxSizeSaved": "Batas rekaman diperbarui menjadi {size} MB",
"@recordingsOpenFolderError": {
"placeholders": {
"error": {}
}
},
"@recordingsMaxSizeSubtitle": {
"placeholders": {
"size": {
"type": "int"
}
}
},
"@recordingsMaxSizeSaved": {
"placeholders": {
"size": {
"type": "int"
}
}
},
"stationOrderTitle": "Urutan stasiun",
"stationOrderByName": "Berdasarkan nama",
"stationOrderByQuality": "Berdasarkan kualitas",
"stationOrderScopeDescription": "Berlaku untuk favorit, pencarian, stasiun terdekat, dan daftar cepat.",
"favoriteGroupsTitle": "Daftar favorit",
"favoriteGroupsDescription": "Buat daftar pendek untuk mengatur stasiun tersimpan.",
"favoriteGroupsAdd": "Tambah daftar",
"favoriteGroupsEdit": "Edit daftar",
"favoriteGroupsDelete": "Hapus daftar",
"favoriteGroupsNameLabel": "Nama daftar",
"favoriteGroupsNameTooLong": "Maksimum 28 karakter.",
"favoriteGroupsUnassigned": "Belum ditetapkan",
"favoriteGroupsProtectedHint": "Daftar bawaan: tidak dapat diedit atau dihapus.",
"favoriteGroupsCreated": "Daftar dibuat",
"favoriteGroupsUpdated": "Daftar diperbarui",
"favoriteGroupsDeleted": "Daftar dihapus; stasiunnya kembali ke Belum ditetapkan.",
"favoriteGroupsAssign": "Pindahkan ke daftar",
"favoriteGroupsAssignSubtitle": "Daftar saat ini: {groupName}",
"favoriteGroupsAssigned": "{stationName} dipindahkan ke {groupName}",
"favoritesTitle": "Favorit",
"favoritesEmptyTitle": "Belum ada favorit",
"favoritesEmptySubtitle": "Ketuk hati di stasiun mana pun untuk menyimpannya ke koleksi Anda.",
"favoritesHeaderSubtitle": "Atur koleksi Anda dengan daftar dan dekatkan radio penting.",
"favoritesCollection": "Koleksi",
"favoritesSavedCount": "{count} tersimpan",
"favoritesRemoveTooltip": "Hapus dari favorit",
"favoritesRemovedMessage": "{stationName} dihapus dari favorit",
"@favoriteGroupsAssignSubtitle": {
"placeholders": {
"groupName": {}
}
},
"@favoriteGroupsAssigned": {
"placeholders": {
"stationName": {},
"groupName": {}
}
},
"@favoritesSavedCount": {
"placeholders": {
"count": {
"type": "int"
}
}
},
"@favoritesRemovedMessage": {
"placeholders": {
"stationName": {}
}
},
"alarmPostponedCurrentExecution": "Alarm ditunda untuk eksekusi ini.",
"searchScreenTitle": "Cari sinyal",
"searchScreenSubtitle": "Temukan radio berdasarkan nama, negara, atau bahasa dengan filter cepat dan kontras tinggi.",
"searchFiltersLabel": "Filter",
"searchHint": "Radio Horizonte, jazz, berita...",
"searchCountryFilterLabel": "Negara",
"searchLanguageFilterLabel": "Bahasa",
"searchMinQualityFilterLabel": "Kualitas minimum",
"searchLoadingStationsLabel": "MENCARI STASIUN…",
"searchEmptyTitle": "Cari stasiun",
"searchNoResultsTitle": "Tidak ada hasil",
"searchNoResultsForQueryTitle": "Tidak ada hasil untuk \"{query}\"",
"@searchNoResultsForQueryTitle": {"placeholders": {"query": {}}},
"searchEmptySubtitle": "Gunakan bilah atas atau chip untuk menemukan sinyal dari seluruh dunia.",
"searchNoResultsSubtitle": "Coba hapus filter atau tulis nama lain untuk menemukan sinyal aktif.",
"countrySpain": "Spanyol",
"countryUsa": "Amerika Serikat",
"countryMexico": "Meksiko",
"countryArgentina": "Argentina",
"countryUk": "Inggris Raya",
"countryFrance": "Prancis",
"countryGermany": "Jerman",
"countryItaly": "Italia",
"countryBrazil": "Brasil",
"countryJapan": "Jepang",
"languageNameSpanish": "Spanyol",
"languageNameEnglish": "Inggris",
"languageNameFrench": "Prancis",
"languageNameGerman": "Jerman",
"languageNamePortuguese": "Portugis",
"languageNameItalian": "Italia",
"languageNameJapanese": "Jepang",
"languageNameArabic": "Arab",
"languageNameRussian": "Rusia",
"homeScreenSubtitle": "Radio global langsung dengan sinyal bersih, favorit cerdas, dan pengalaman visual bergaya kuis.",
"exploreStations": "Jelajahi stasiun",
"stationsCount": "{count} radio",
"@stationsCount": {
"placeholders": {
"count": {
"type": "int"
}
}
},
"qualityHd": "Kualitas HD",
"nearYou": "Di dekat Anda",
"nearYouInCountry": "Di dekat Anda · {country}",
"@nearYouInCountry": {
"placeholders": {
"country": {}
}
},
"detectAction": "Deteksi",
"liveRadar": "Radar langsung",
"genresTitle": "Genre",
"exploreByTitle": "Jelajahi berdasarkan",
"exploreTrendingTitle": "Tren",
"exploreTrendingSubtitle": "Hari ini",
"exploreNewTitle": "Baru",
"exploreNewSubtitle": "Minggu ini",
"offlineBannerTitle": "Tidak ada koneksi",
"retryAction": "Coba lagi",
"noStationsAvailable": "Tidak ada stasiun tersedia",
"noStationsAvailableSubtitle": "Coba segarkan atau pilih genre lain untuk menangkap sinyal kembali.",
"genrePop": "Pop",
"genreRock": "Rock",
"genreJazz": "Jazz",
"genreClassical": "Klasik",
"genreElectronic": "Elektronik",
"genreNews": "Berita",
"genreTalk": "Obrolan",
"genreHipHop": "Hip-hop",
"genreCountry": "Country",
"genreMetal": "Metal",
"genreReggae": "Reggae",
"genreLatin": "Latin",
"alarmScreenTitle": "Bangun dengan musik",
"alarmScreenSubtitle": "Alarm dengan radio, suara aman, liburan cerdas, dan eksekusi berikutnya selalu terlihat.",
"createAlarmAction": "Buat alarm",
"alarmsCount": "{count} alarm",
"@alarmsCount": {
"placeholders": {
"count": {
"type": "int"
}
}
},
"activeAlarmsWithoutNextTitle": "Alarm aktif tanpa eksekusi berikutnya",
"noActiveAlarms": "Tidak ada alarm aktif",
"nextAlarmTitle": "Alarm berikutnya",
"activeAlarmsWithoutNextSubtitle": "Ada {count} alarm aktif, tetapi saat ini tidak memiliki tanggal valid di masa depan. Periksa tanggal, hari, dan liburan.",
"@activeAlarmsWithoutNextSubtitle": {
"placeholders": {
"count": {
"type": "int"
}
}
},
"createAlarmHint": "Buat alarm dan PluriWave akan menghitung eksekusi berikutnya secara otomatis.",
"alarmVacationPlay": "Berbunyi saat liburan",
"alarmVacationPause": "Jeda saat liburan",
"alarmFadeInLabel": "Fade-in {seconds}d",
"@alarmFadeInLabel": {
"placeholders": {
"seconds": {
"type": "int"
}
}
},
"alarmNextExecution": "Eksekusi berikutnya: {date}",
"@alarmNextExecution": {
"placeholders": {
"date": {}
}
},
"alarmNoNextExecution": "Tidak memiliki eksekusi aktif berikutnya.",
"alarmSkippedExecution": "Satu eksekusi dilewati: {date}.",
"@alarmSkippedExecution": {
"placeholders": {
"date": {}
}
},
"editAction": "Edit",
"skipNextAction": "Lewati berikutnya",
"deleteTooltip": "Hapus",
"alarmSkippedNoNextSnackbar": "Alarm dilewati. Tidak ada eksekusi berikutnya.",
"alarmSkippedReturnsSnackbar": "Alarm dilewati. Akan kembali pada {date}.",
"@alarmSkippedReturnsSnackbar": {
"placeholders": {
"date": {}
}
},
"alarmVacationPausedNoNext": "Dijeda karena liburan ({vacationName}) dan tanpa eksekusi berikutnya.",
"@alarmVacationPausedNoNext": {
"placeholders": {
"vacationName": {}
}
},
"alarmVacationPausedReturns": "Dijeda karena liburan ({vacationName}) dan akan kembali pada {date}.",
"@alarmVacationPausedReturns": {
"placeholders": {
"vacationName": {},
"date": {}
}
},
"alarmVacationReturns": "Dengan liburan aktif, akan berbunyi lagi pada {date}.",
"@alarmVacationReturns": {
"placeholders": {
"date": {}
}
},
"defaultAlarmName": "Alarm musik",
"newAlarmTitle": "Alarm baru",
"editAlarmTitle": "Edit alarm",
"nameField": "Nama",
"timeField": "Waktu",
"dateField": "Tanggal",
"onceOption": "Sekali",
"dailyOption": "Harian",
"weekdaysOption": "Hari",
"soundAndVolumeSection": "Suara dan volume",
"alarmFadeInTitle": "Fade-in alarm",
"alarmFadeInOff": "0 d (tanpa transisi)",
"alarmFadeInSummary": "{seconds} d (dari 5% ke volume terpilih)",
"@alarmFadeInSummary": {
"placeholders": {
"seconds": {
"type": "int"
}
}
},
"internalSafeSoundLabel": "Suara internal aman",
"soundWarmSunrise": "Matahari terbit hangat",
"soundSoftBell": "Lonceng lembut",
"soundDigitalPulse": "Denyut digital",
"favoriteStationLabel": "Stasiun favorit",
"noStationUseInternalSound": "Tanpa stasiun: gunakan suara internal",
"alarmFallbackStationLabel": "Stasiun cadangan",
"alarmStationPickerSearchHint": "Cari stasiun berdasarkan nama",
"alarmSnoozeDurationTitle": "Durasi tunda",
"snoozeAction": "Tunda",
"alarmSnoozeOptionLabel": "{minutes} mnt",
"@alarmSnoozeOptionLabel": {
"placeholders": {
"minutes": {
"type": "int"
}
}
},
"alarmSnoozeUsualLabel": "biasa",
"saveFavoritesAlarmHint": "Simpan stasiun ke Favorit untuk digunakan sebagai alarm musik.",
"useCurrentStationAction": "Gunakan stasiun saat ini",
"playDuringVacations": "Bunyi saat liburan",
"playDuringVacationsHint": "Jika dimatikan, eksekusi berikutnya akan melompat ke hari valid pertama.",
"saveAlarmAction": "Simpan alarm",
"chooseOneWeekdayError": "Pilih setidaknya satu hari dalam seminggu.",
"androidReliabilityReview": "Tinjau keandalan Android",
"statusOk": "Oke",
"statusPending": "tertunda",
"androidReliabilityStatus": "Keandalan: tepat {exact} · notifikasi {notifications} · layar {screen}",
"@androidReliabilityStatus": {
"placeholders": {
"exact": {},
"notifications": {},
"screen": {}
}
},
"vacationRangesTitle": "Rentang liburan",
"addAction": "Tambah",
"vacationRangesHint": "Jika sebuah alarm memiliki \"Jeda saat liburan\", rentang ini dilewati otomatis.",
"noVacationRangesLoaded": "Tidak ada rentang dimuat.",
"deleteRangeTooltip": "Hapus rentang",
"vacationsDefaultName": "Liburan",
"newVacationRangeTitle": "Rentang liburan baru",
"editVacationRangeTitle": "Edit rentang liburan",
"vacationDeleteConfirmTitle": "Hapus rentang liburan?",
"vacationDeleteConfirmMessage": "Tindakan ini tidak dapat dibatalkan.",
"startField": "Mulai",
"endField": "Akhir",
"saveRangeAction": "Simpan rentang",
"noAlarmsYetTitle": "Belum ada alarm.",
"noAlarmsYetSubtitle": "Buat satu untuk merancang bangun tidur musikal Anda.",
"ringingInternalAudioActive": "Berbunyi dengan audio internal aman.",
"ringingPreparingInternalAudio": "Menyiapkan audio internal aman.",
"stopAlarmAction": "Hentikan alarm",
"alarmStopFailedMessage": "Kami tidak dapat memastikan alarm berhenti. Coba lagi.",
"alarmForceStopAction": "Paksa berhenti",
"alarmMissedNotificationTitle": "Alarm terlewat",
"alarmMissedNotificationText": "{name} dibisukan secara otomatis setelah 10 menit.",
"@alarmMissedNotificationText": {
"placeholders": {
"name": {}
}
},
"pauseAction": "Jeda",
"miniPlayerOpenLabel": "Buka pemutar untuk {stationName}",
"@miniPlayerOpenLabel": {
"placeholders": {
"stationName": {}
}
},
"playerIconLabel": "Pemutar",
"playbackStatusConnecting": "Menghubungkan...",
"playbackStatusLive": "Siaran langsung",
"playbackStatusPaused": "Dijeda",
"playbackStatusReconnecting": "Menyambung ulang...",
"playbackStatusConnectionError": "Kesalahan koneksi",
"playbackStatusStopped": "Dihentikan",
"stationSemanticLabel": "Stasiun {stationName}",
"@stationSemanticLabel": {
"placeholders": {
"stationName": {}
}
},
"favoritesAddTooltip": "Tambahkan ke favorit",
"favoritesAddedMessage": "{stationName} ditambahkan ke favorit",
"@favoritesAddedMessage": {
"placeholders": {
"stationName": {}
}
},
"stationIconLabel": "Ikon stasiun",
"liveNow": "Sedang siaran langsung",
"equalizerBandLabel": "Pita {band}",
"@equalizerBandLabel": {
"placeholders": {
"band": {}
}
},
"equalizerBandValue": "{value} desibel",
"@equalizerBandValue": {
"placeholders": {
"value": {}
}
},
"equalizerPresetFlat": "Datar",
"equalizerPresetRock": "Rock",
"equalizerPresetPop": "Pop",
"equalizerPresetBassBoost": "Penguat bass",
"equalizerPresetJazz": "Jazz",
"equalizerPresetVoice": "Suara",
"equalizerPresetCustom": "Kustom",
"onboardingTitle": "Selamat datang di PluriWave",
"onboardingNewsTitle": "Yang baru",
"onboardingStartAction": "Mulai",
"onboardingCloseTooltip": "Tutup",
"radioRecordingError": "Kesalahan saat merekam radio: {error}",
"@radioRecordingError": {
"placeholders": {
"error": {}
}
},
"radioApiConnectionError": "Tidak ada koneksi ke antarmuka pemrograman aplikasi radio",
"radioSearchError": "Kesalahan pencarian. Periksa koneksi Anda.",
"radioLoadMoreStationsError": "Tidak dapat memuat lebih banyak stasiun.",
"radioNearbyStationsError": "Kami tidak dapat mendeteksi stasiun terdekat. Gunakan filter berdasarkan negara.",
"radioCannotPlayStation": "Tidak dapat memutar \"{stationName}\"",
"@radioCannotPlayStation": {
"placeholders": {
"stationName": {}
}
},
"recordingSelectStationFirst": "Pilih stasiun sebelum merekam.",
"recordingStartError": "Tidak dapat memulai rekaman: {error}",
"@recordingStartError": {
"placeholders": {
"error": {}
}
},
"unsupportedConfigVersion": "Versi konfigurasi tidak didukung",
"audioErrorGeneric": "Kesalahan pemutaran",
"audioErrorNoInternet": "Tidak ada koneksi internet",
"audioErrorInvalidUrl": "Alamat radio tidak valid",
"audioErrorNotFound": "Radio tidak tersedia (kesalahan 404)",
"audioErrorTimeout": "Waktu koneksi habis",
"audioErrorCannotConnect": "Tidak dapat terhubung ke radio",
"audioErrorUnsupportedFormat": "Format aliran tidak didukung",
"audioErrorDecode": "Kesalahan saat mendekode aliran audio",
"audioErrorCleartext": "Radio ini menggunakan HTTP tanpa enkripsi, dan itu tidak diizinkan",
"audioErrorSsl": "Sertifikat SSL radio tidak valid",
"audioErrorCannotPlay": "Radio ini tidak dapat diputar",
"audioErrorUnexpectedPlayback": "Kesalahan tak terduga saat memutar",
"androidExactAlarmScheduleError": "Android tidak dapat menjadwalkan alarm tepat. Periksa izin alarm tepat.",
"recordingPathEmptyError": "Jalur rekaman tidak boleh kosong",
"recordingMaxSizeInvalidError": "Ukuran maksimum harus lebih besar dari nol",
"recordingAlreadyActiveError": "Sudah ada rekaman yang sedang berlangsung",
"alarmRingingFallbackActive": "Memutar dengan audio internal yang aman.",
"alarmRingingPreparingFallback": "Menyiapkan audio internal yang aman.",
"alarmRingingTryingStation": "Mencoba memutar stasiun Anda dengan kualitas tertinggi yang tersedia.",
"alarmScheduleDaily": "Setiap pagi",
"alarmScheduleOnce": "Sekali · {date}",
"@alarmScheduleOnce": {
"placeholders": {
"date": {}
}
},
"alarmScheduleWeekdays": "Hari: {days}",
"@alarmScheduleWeekdays": {
"placeholders": {
"days": {}
}
},
"alarmRepeatSectionLabel": "ULANGI",
"alarmVolumeLabel": "Volume",
"androidReliabilityTitle": "Tinjau keandalan Android",
"closeAction": "Tutup",
"customOption": "Kustom",
"endLabel": "Selesai",
"equalizerDisable": "Nonaktifkan equalizer",
"helpTitle": "Bantuan dan tutorial",
"helpSubtitle": "9 layar · lihat lagi kapan saja",
"tutorialSkipAction": "Lewati",
"tutorialNextAction": "Berikutnya",
"tutorialPage1Headline": "Simpan stasiun Anda dan kelompokkan",
"tutorialPage1Body": "Ketuk ikon hati untuk menyimpan stasiun. Di «Stasiun Anda» Anda bisa membuat grup seperti «Setiap pagi» atau «Mobil» dan mengurutkannya ulang dengan menyeret.",
"tutorialPage2Headline": "Satu equalizer umum, dan satu lagi per stasiun",
"tutorialPage2Body": "Di Pengaturan, Anda menentukan equalizer umum. Dan dari pemutaran stasiun tertentu, Anda bisa memberinya pengaturan sendiri, yang lebih diutamakan daripada pengaturan umum.",
"tutorialPage3Headline": "Rekam apa yang sedang Anda dengarkan",
"tutorialPage3Body": "Dari baki alat pemutar, «Rekam» menyimpan stream asli. Temukan rekaman Anda di Pengaturan Rekaman.",
"tutorialPage4Headline": "Alarm yang menyesuaikan diri dengan Anda",
"tutorialPage4Body": "Bangun dengan stasiun favorit Anda, tunda 3, 5, atau 10 menit, dan tambahkan rentang liburan agar sebagian alarm melewati dirinya sendiri.",
"tutorialPage5Headline": "Favorit Anda, juga di mobil",
"tutorialPage5Body": "Sambungkan ponsel Anda dengan Android Auto dan temukan Favorit, Semua stasiun, Stasiun Anda, dan Musik Lokal Anda, dengan tombol besar yang dirancang untuk berkendara.",
"tutorialPage6Headline": "Tersambung ulang dengan sendirinya",
"tutorialPage6Body": "Jika sinyal terputus, PluriWave mencoba lagi secara otomatis dan tetap menampilkan favorit tersimpan Anda meski tanpa koneksi.",
"tutorialPage7Headline": "Pilih berapa lama menunda",
"tutorialPage7Body": "Saat alarm berbunyi, tidak ada satu «tunda» saja: Anda memilih 3, 5, atau 10 menit sesuai yang Anda butuhkan saat itu.",
"tutorialPage8Headline": "Tidak menemukannya? Tambahkan sendiri",
"tutorialPage8Body": "Di «Stasiun Anda» → Tambah stasiun khusus, tempel URL stream stasiun yang tidak ada di hasil pencarian. Stasiun ini disimpan di «Stasiun Anda», juga tersedia di mobil.",
"tutorialPage9Headline": "Selesai, Anda sudah tahu yang penting",
"tutorialPage9BannerBody": "Untuk melihat tutorial ini lagi kapan saja: Pengaturan → Informasi → Bantuan dan tutorial.",
"indefiniteOption": "Tidak terbatas",
"invalidNumber": "Nomor tidak valid",
"nameLabel": "Nama",
"notPlaying": "Tidak memutar",
"oneTimeOption": "Sekali",
"pausePlaybackTooltip": "Jeda pemutaran",
"qualityOriginal": "Kualitas asli: {quality}",
"@qualityOriginal": {
"placeholders": {
"quality": {}
}
},
"qualityUnknown": "Kualitas tidak dilaporkan",
"recordAction": "Rekam",
"recordDurationTitle": "Durasi rekaman",
"recordRadioSubtitle": "Pilih berapa lama ingin merekam.",
"recordRadioTitle": "Rekam radio",
"recordingActiveTitle": "Merekam radio",
"recordingDirectTitle": "Perekaman langsung",
"recordingsOpenFolderPlainError": "Tidak dapat membuka folder rekaman",
"recordingsOpenLatest": "Buka rekaman terbaru",
"recordingsOpenLatestError": "Tidak dapat membuka rekaman terbaru",
"startLabel": "Mulai",
"startPlaybackTooltip": "Mulai pemutaran",
"stopAction": "Stop",
"stopPlaybackTooltip": "Hentikan pemutaran",
"weekdayShortMonday": "Sen",
"weekdayShortTuesday": "Sel",
"weekdayShortWednesday": "Rab",
"weekdayShortThursday": "Kam",
"weekdayShortFriday": "Jum",
"weekdayShortSaturday": "Sab",
"weekdayShortSunday": "Min",
"stationCount": "{count, plural, other{{count} stasiun}}",
"alarmIconLabel": "Alarm musik",
"vacationIconLabel": "Mode liburan",
"streamUrlHint": "https://stream.example.com:8000/radio",
"advancedEqSectionTitle": "Opsi EQ Lanjutan",
"advancedEqEnableToggle": "Aktifkan EQ per perangkat",
"advancedEqEnableToggleSubtitle": "Terapkan preset EQ yang berbeda secara otomatis saat keluaran audio Anda berubah.",
"advancedEqKnownDevicesTitle": "Perangkat audio yang dikenal",
"advancedEqKnownDevicesEmpty": "Belum ada perangkat audio yang tercatat. Hubungkan perangkat untuk memulai.",
"advancedEqDevicePresetLabel": "Preset: {presetName}",
"@advancedEqDevicePresetLabel": {
"placeholders": {
"presetName": {}
}
},
"preNoticeCountdown": "Mulai dalam {minutes} menit",
"snoozeCountdown": "Berbunyi dalam {minutes} mnt",
"@snoozeCountdown": {
"placeholders": {
"minutes": {
"type": "int"
}
}
},
"snoozeAgainAction": "Tunda lagi",
"alarmRingingNotificationTitle": "Alarm PluriWave",
"alarmFireChannelName": "Alarm berbunyi",
"alarmFireChannelDescription": "Suara dan layar mendesak saat alarm musik harus berbunyi",
"alarmPreNoticeChannelName": "Pengingat alarm",
"alarmPreNoticeChannelDescription": "Notifikasi senyap sebelum alarm",
"openFolderChooserTitle": "Buka folder",
"openRecordingChooserTitle": "Buka rekaman",
"@preNoticeCountdown": {
"placeholders": {
"minutes": {
"type": "int"
}
}
},
"eqDeviceEditTitle": "Edit perangkat",
"eqDeviceNameLabel": "Nama perangkat",
"eqDeviceNameHint": "Mis: Speaker ruang tamu",
"eqDeviceNameConfirm": "Simpan",
"eqDeviceConnected": "Terhubung",
"eqDeviceActiveOutput": "Audio keluar melalui perangkat ini",
"eqDeviceRemove": "Hapus perangkat",
"eqDeviceRemoved": "{device} dihapus",
"@eqDeviceRemoved": {
"placeholders": {
"device": {}
}
},
"localMusicSectionTitle": "Musik lokal (Android Auto)",
"localMusicSectionDescription": "Pilih folder di perangkat ini untuk menjelajahi dan memutar file audio di dalamnya dari mobil.",
"localMusicFolderNotConfigured": "Belum ada folder dipilih",
"localMusicFolderTitle": "Folder musik lokal",
"localMusicChoosePath": "Pilih folder",
"localMusicChangePath": "Ubah folder",
"localMusicFolderUpdated": "Folder musik lokal diperbarui",
"localMusicFolderSaveError": "Tidak dapat menyimpan folder: {error}",
"@localMusicFolderSaveError": {
"placeholders": {
"error": {}
}
},
"localMusicFolderGenericName": "Folder terpilih",
"addVacationRangeCta": "Tambahkan periode",
"alarmAdvancedSectionTitle": "Lanjutan",
"alarmDeleteConfirmMessage": "Tindakan ini tidak dapat dibatalkan.",
"alarmDeleteConfirmTitle": "Hapus alarm?",
"alarmHeroSkipAction": "Lewati",
"alarmInlineHourLabel": "Jam",
"alarmInlineMinuteLabel": "Menit",
"alarmVolumeRisingStatus": "Menaikkan volume",
"countriesAllTitle": "Semua negara",
"countriesScreenTitle": "Negara",
"countriesSearchHint": "Negara atau kode...",
"countriesYourLanguagesTitle": "Bahasa Anda",
"customStationsAddCta": "Tambahkan stasiun khusus",
"equalizerActiveOutputDefault": "Speaker perangkat ini",
"equalizerActiveOutputLabel": "Output aktif",
"equalizerBaseExplainer": "Ini adalah equalizer dasar: berlaku untuk semua stasiun yang belum punya pengaturan sendiri. EQ khusus suatu stasiun diatur dari layar pemutarannya sendiri dan mengesampingkan yang ini.",
"equalizerSaveAsPresetAction": "Simpan sebagai Preset",
"equalizerResetToFlatAction": "Setel ulang ke datar",
"equalizerSavePresetConfirm": "Simpan",
"equalizerSavePresetDialogTitle": "Simpan sebagai Preset",
"equalizerSavePresetEmptyNameError": "Masukkan nama untuk Preset.",
"equalizerSavePresetNameLabel": "Nama Preset",
"equalizerStationsWithOwnEqEmpty": "Belum ada stasiun yang punya EQ sendiri.",
"equalizerStationsWithOwnEqSubtitle": "Mengabaikan equalizer dasar ini",
"equalizerStationsWithOwnEqTitle": "Stasiun dengan EQ sendiri",
"favoriteGroupsChipLabel": "{groupName} · {count}",
"@favoriteGroupsChipLabel": {
"placeholders": {
"groupName": {},
"count": {
"type": "int"
}
}
},
"favoriteGroupsManage": "Kelola daftar",
"favoritesFilterAllLabel": "Semua",
"infoSectionTitle": "Info",
"nothingPlayingSubtitle": "Pilih stasiun dari Stasiun Anda atau cari salah satu untuk mulai.",
"nothingPlayingTitle": "Belum ada yang diputar",
"openFullPlayerTooltip": "Buka pemutar lengkap",
"playerQualityChangeAction": "Ubah",
"playerToolEqLabel": "EQ sendiri",
"radioCountriesError": "Negara tidak dapat dimuat.",
"recordingActionDelete": "Hapus",
"recordingActionRename": "Ganti nama",
"recordingActionShare": "Bagikan",
"recordingDeleteConfirmMessage": "Tindakan ini tidak dapat dibatalkan.",
"recordingDeleteConfirmTitle": "Hapus rekaman?",
"recordingRenameDialogTitle": "Ganti nama rekaman",
"recordingRenameEmptyError": "Masukkan nama",
"recordingRenameLabel": "Nama",
"recordingsLibraryEmptySubtitle": "Rekaman yang Anda simpan akan muncul di sini.",
"recordingsLibraryStorageFolderCaption": "Music/PluriWave · yang terlama dihapus saat mencapai batas",
"recordingsLibraryEmptyTitle": "Belum ada rekaman",
"recordingsLibrarySettingsTooltip": "Pengaturan rekaman",
"recordingsLibraryStorageCaption": "{usedMb} MB dari {totalMb} MB terpakai",
"@recordingsLibraryStorageCaption": {
"placeholders": {
"usedMb": {
"type": "int"
},
"totalMb": {
"type": "int"
}
}
},
"recordingsLibraryTitle": "Rekaman saya",
"searchClearFiltersAction": "{count, plural, =1{Hapus filter} other{Hapus {count} filter}}",
"searchResultsCount": "{count, plural, other{{count} hasil}}",
"seeAllAction": "Lihat semua",
"settingsGroupApplicationTitle": "APLIKASI",
"settingsGroupAudioTitle": "AUDIO",
"settingsGroupRecordingsTitle": "REKAMAN & MUSIK",
"settingsGroupStationsTitle": "STASIUN",
"stationOrderByPopularity": "Berdasarkan popularitas",
"vacationImpactContinuesLabel": "Tetap berbunyi: {times}",
"@vacationImpactContinuesLabel": {
"placeholders": {
"times": {}
}
},
"vacationImpactPausedLabel": "Dijeda: {times}",
"@vacationImpactPausedLabel": {
"placeholders": {
"times": {}
}
},
"vacationExplainerBanner": "Selama periode ini, alarm yang ditandai \"jeda saat liburan\" tidak akan berbunyi. Alarm yang ditandai \"selalu berbunyi\" tidak terpengaruh.",
"vacationNoActiveRangeHint": "Tidak ada periode liburan aktif saat ini.",
"vacationPastSectionTitle": "Periode lampau",
"vacationRangesCount": "{count} periode",
"@vacationRangesCount": {
"placeholders": {
"count": {
"type": "int"
}
}
},
"vacationSummaryActiveCountdown": "Sedang berlangsung · {days} hari lagi",
"@vacationSummaryActiveCountdown": {
"placeholders": {
"days": {
"type": "int"
}
}
},
"vacationSummaryUpcomingCountdown": "Periode berikutnya dalam {days} hari",
"@vacationSummaryUpcomingCountdown": {
"placeholders": {
"days": {
"type": "int"
}
}
},
"vacationUpcomingSectionTitle": "TERJADWAL",
"welcomeBody": "53.412 stasiun dari 238 negara. Simpan favorit Anda, bawa ke mobil, dan bangun bersamanya.",
"welcomeBullet1Subtitle": "Plus satu Preset per perangkat output",
"welcomeBullet1Title": "Equalizer per stasiun",
"welcomeBullet2Subtitle": "Favorit dan musik lokal Anda di mobil",
"welcomeBullet2Title": "Android Auto",
"welcomeBullet3Subtitle": "Dengan kenaikan volume bertahap dan mode liburan",
"welcomeBullet3Title": "Alarm musik",
"welcomeCtaLabel": "Mulai mendengarkan",
"welcomeHeadline": "Duniamu, secara langsung",
"yourStationsTitle": "Stasiun Anda",
"nowListeningLabel": "Sedang mendengarkan",
"popularNowTitle": "Populer sekarang",
"eqCustomActionEnableLabel": "Aktifkan equalizer",
"eqCustomActionDisableLabel": "Nonaktifkan equalizer",
"eqCustomActionPresetLabel": "Prasetel: {preset}",
"@eqCustomActionPresetLabel": {
"placeholders": {
"preset": {
"type": "String"
}
}
},
"alarmCardVacationPausedBadge": "Dijeda karena liburan",
"alarmCardSchedulingFailedMessage": "Alarm ini tidak dapat didaftarkan ke sistem, sehingga mungkin tidak berbunyi.",
"alarmCardPreNoticeFailedMessage": "Alarm ini sudah dijadwalkan, tetapi pengingat awalnya tidak dapat diatur.",
"alarmDiagnosticsExactAlarmsTitle": "Penjadwalan alarm presisi",
"alarmDiagnosticsExactAlarmsHint": "Membuat alarm berbunyi tepat pada menit yang kamu atur, meski ponsel dalam mode tidur.",
"alarmDiagnosticsNotificationsTitle": "Notifikasi",
"alarmDiagnosticsNotificationsHint": "Diperlukan untuk menampilkan alarm dan pemberitahuan dini.",
"alarmDiagnosticsFullScreenTitle": "Tampilan alarm layar penuh",
"alarmDiagnosticsFullScreenHint": "Membuat layar alarm muncul otomatis, meski ponsel terkunci.",
"alarmDiagnosticsBatteryTitle": "Optimisasi baterai",
"alarmDiagnosticsBatteryHint": "Mencegah sistem menutup PluriWave di latar belakang, sehingga alarm tetap bisa berbunyi.",
"alarmDiagnosticsNativeCountTitle": "Alarm yang terdaftar di Android",
"alarmDiagnosticsNativeCountValue": "Terdaftar saat ini: {count}",
"@alarmDiagnosticsNativeCountValue": {
"placeholders": {
"count": {
"type": "int"
}
}
},
"alarmDiagnosticsNativeCountAttentionHint": "Kamu punya alarm yang aktif, tapi belum ada yang terdaftar di sistem. Buka lagi PluriWave, atau perbaiki dulu poin-poin di atas.",
"alarmDiagnosticsManufacturerLabel": "Produsen",
"alarmDiagnosticsSdkLabel": "Versi Android (SDK)",
"alarmDiagnosticsNeedsAttentionStatus": "Perlu perhatian",
"alarmDiagnosticsAutostartTitle": "Satu langkah manual lagi di ponsel ini",
"alarmDiagnosticsAutostartBody": "Ponsel {manufacturer} sering menutup aplikasi yang berjalan di latar belakang untuk menghemat baterai. Tidak ada pengaturan yang bisa diaktifkan PluriWave sendiri — kamu perlu mengaktifkan sendiri Autostart (kadang disebut \"Mulai otomatis\" atau \"Aktivitas latar belakang\") untuk PluriWave. Cari di Pengaturan, di bagian Aplikasi atau Baterai, atau di aplikasi Keamanan bawaan ponsel.",
"@alarmDiagnosticsAutostartBody": {
"placeholders": {
"manufacturer": {
"type": "String"
}
}
},
"alarmDiagnosticsFixAction": "Perbaiki",
"alarmDiagnosticsIntentUnavailable": "Tidak bisa membuka layar pengaturan itu di ponsel ini. Coba cari secara manual di Pengaturan.",
"alarmDiagnosticsUnavailableHint": "Kami belum bisa memeriksa pengaturan alarmmu.",
"autoEqDisableOption": "Nonaktifkan",
"funcionPremium": "Fitur Premium",
"limiteAlarmasAlcanzado": "Anda telah mencapai batas gratis 5 alarm.",
"desbloquearPremium": "Buka Premium",
"restaurarCompras": "Pulihkan pembelian"
}