Files
pluriwave/lib/l10n/app_bn.arb
T
Javier Bautista Fernández 29f7d54e85
Build & Deploy PluriWave / Análisis de código (push) Successful in 25s
Build & Deploy PluriWave / Build APK + AAB release (push) Successful in 2m25s
fix(alarm): fail-safe alarm system overhaul (SDD alarm-system-overhaul, slice A)
Root-cause fix for the unstoppable-alarm incident (alarm rang 15 minutes,
only uninstall silenced it) plus systematic hardening of every stop path.

Native (Kotlin):
- Verified stop: stopActiveAlarm now derives its result from the real
  post-teardown state (companion instance + synchronous stopEverything +
  activeRingingId check) instead of reporting unconditional success.
- Atomic teardown: every stop path (stop action, notification button,
  snooze, missed, onDestroy, startForeground failure) funnels through one
  stopEverything() covering audio, wakelock, notification, foreground
  state and firing-record cleanup; player.release() guarded.
- Bounded ringing: 10-minute auto-silence armed via AlarmManager fires a
  FIRED->MISSED transition with a localized missed-alarm notification;
  repeating alarms keep their native rearm, deleted alarms never produce
  ghost MISSED notifications.
- Durable firing record with onStartCommand re-validation (resurrection
  guard) and boot-time stale cleanup; firing records cleared on every
  refuse/mismatch/cancel path.
- New notification-only dismissal channel (dismissAlarmNotificationOnly)
  so UI-level dedup can never kill a live ring's audio.

Flutter (Dart):
- Stop/disable/edit/delete of a ringing alarm always attempt to silence
  it; on native-query failure the stop falls back toward silence via the
  id-scoped legacy stop.
- Verified-stop results surface failures: the ringing screen keeps
  dismiss-by-design on success, but on a verified failure it stays up
  with a persistent force-stop banner (guarded against double-dismiss)
  and auto-dismisses if the ring ends externally (missed/notification).
- Missed events sync alarm bookkeeping without opening the ringing UI.
- 4 new l10n keys translated across all 13 locales (ARB guard green).

550 tests green, analyzer clean. Reviewed in 3 adversarial 4-lens rounds
(2 deterministic + 1 refuter-corroborated critical fixed); formal
gentle-ai receipt waived by maintainer authorization (correction scope
legitimately exceeded the frozen genesis paths). On-device QA checklist
in openspec/changes/alarm-system-overhaul/tasks.md pending before
archive.
2026-07-22 23:52:36 +02:00

683 lines
38 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": "bn",
"appTitle": "PluriWave",
"navHome": "হোম",
"navSearch": "অনুসন্ধান",
"navFavorites": "প্রিয়",
"navAlarms": "অ্যালার্ম",
"navSettings": "সেটিংস",
"actionOk": "ঠিক আছে",
"sleepTimer": "ঘুমের টাইমার",
"sleepTimerDescription": "নির্ভুল কাউন্টডাউন দিয়ে রেডিও মসৃণভাবে বন্ধ করা।",
"cancelTimer": "টাইমার বাতিল করুন",
"optionOther": "অন্যান্য",
"customDurationTitle": "নিজস্ব সময়কাল",
"durationGreaterThanZero": "শূন্যের চেয়ে বেশি একটি সময়কাল বেছে নিন।",
"hoursLabel": "ঘণ্টা",
"minutesLabel": "মিনিট",
"secondsLabel": "সেকেন্ড",
"durationHoursMinutesSeconds": "{hours} ঘণ্টা {minutes} মিনিট {seconds} সেকেন্ড",
"@durationHoursMinutesSeconds": {
"placeholders": {
"hours": {},
"minutes": {},
"seconds": {}
}
},
"durationMinutesSeconds": "{minutes} মিনিট {seconds} সেকেন্ড",
"@durationMinutesSeconds": {
"placeholders": {
"minutes": {},
"seconds": {}
}
},
"durationMinutesOnly": "{minutes} মিনিট",
"@durationMinutesOnly": {
"placeholders": {
"minutes": {}
}
},
"durationSecondsOnly": "{seconds} সেকেন্ড",
"@durationSecondsOnly": {
"placeholders": {
"seconds": {}
}
},
"saveQuickAccess": "দ্রুত অ্যাক্সেস হিসেবে সংরক্ষণ করুন",
"startTimer": "টাইমার শুরু করুন",
"skipCurrentAlarmExecution": "{alarmName}-এর এই চালনা এড়িয়ে দেওয়া হয়েছে।",
"@skipCurrentAlarmExecution": {
"placeholders": {
"alarmName": {}
}
},
"settingsTitle": "সেটিংস",
"settingsSubtitle": "শব্দ, ব্যাকআপ এবং নিজস্ব স্টেশনের সূক্ষ্ম নিয়ন্ত্রণ।",
"languageSectionTitle": "ভাষা",
"languageSectionDescription": "অ্যাপের ভাষা কীভাবে দেখাবে তা বেছে নিন।",
"languageSystemDefault": "সিস্টেম",
"languageSpanish": "স্প্যানিশ",
"languageEnglish": "ইংরেজি",
"languageUpdated": "ভাষা আপডেট হয়েছে: {languageName}",
"@languageUpdated": {
"placeholders": {
"languageName": {}
}
},
"languageUpdatedSystem": "ভাষা আপডেট হয়েছে: সিস্টেম",
"timerSectionTitle": "ঘুমের টাইমার",
"timerSectionAdd": "যোগ করুন",
"timerSectionDescription": "রেডিও স্বয়ংক্রিয়ভাবে বন্ধ করার সময় দেখা যায় এমন দ্রুত প্রিসেটগুলো সাজান।",
"timerSectionRestoreRecommended": "প্রস্তাবিত সময় ফিরিয়ে আনুন",
"newQuickAccessTitle": "নতুন দ্রুত অ্যাক্সেস",
"saveQuickAccessButton": "দ্রুত অ্যাক্সেস সংরক্ষণ করুন",
"settingsSafeStatus": "নিরাপদ",
"recordingsSectionTitle": "রেকর্ডিং",
"recordingsFolderDialogTitle": "রেকর্ডিং ফোল্ডার নির্বাচন করুন",
"recordingsPathUpdated": "রেকর্ডিং পথ আপডেট হয়েছে",
"recordingsPathSaveError": "পথ সংরক্ষণ করা যায়নি: {error}",
"recordingsDefaultFolderRestored": "ডিফল্ট অভ্যন্তরীণ ফোল্ডার ব্যবহার করা হবে",
"recordingsFolderTitle": "রেকর্ডিং ফোল্ডার",
"recordingsPathCalculating": "পথ গণনা করা হচ্ছে...",
"recordingsChangePath": "পথ পরিবর্তন করুন",
"recordingsUseDefaultPath": "ডিফল্ট পথ ব্যবহার করুন",
"recordingsOriginalStreamHint": "রেডিওটি মূল স্ট্রিম থেকে সংরক্ষিত হয়, পুনরায় কমপ্রেস করা হয় না।",
"equalizerActive": "সক্রিয়",
"equalizerDisabled": "নিষ্ক্রিয়",
"equalizerEnable": "ইকুয়ালাইজার চালু করুন",
"equalizerRealtimeSubtitle": "পরিবর্তনগুলো বর্তমান স্টেশনে তাৎক্ষণিকভাবে প্রয়োগ হয়।",
"equalizerPendingSubtitle": "পরিবর্তনগুলো সংরক্ষিত থাকবে এবং Android প্রভাব চালু করলে প্রয়োগ হবে।",
"equalizerPerStationTitle": "এই প্রিয়টির জন্য নিজস্ব ইকুয়ালাইজার ব্যবহার করুন",
"equalizerPerStationActive": "{stationName}-এর জন্য সক্রিয়",
"equalizerPerStationMain": "{stationName}-এর জন্য মূল ইকুয়ালাইজার ব্যবহার করা হচ্ছে",
"preferredStationTitle": "পছন্দের স্টেশন",
"preferredStationDescription": "নতুন অ্যালার্মে আগে থেকে বেছে নেওয়া হয় এবং দ্রুত চালানো যায়।",
"preferredStationNoStationsTitle": "এখনও কোনো স্টেশন উপলব্ধ নেই",
"preferredStationNoStationsSubtitle": "পছন্দের স্টেশন বেছে নিতে প্রিয় সংরক্ষণ করুন বা স্টেশন লোড করুন।",
"preferredStationAutomaticFallback": "স্বয়ংক্রিয় বিকল্প",
"preferredStationDefaultFavorite": "ডিফল্ট প্রিয়",
"preferredStationCurrent": "বর্তমান পছন্দের: {stationName}",
"preferredStationAutoUsing": "কোনো প্রিয় নেই: স্বয়ংক্রিয়ভাবে {stationName} ব্যবহার করা হচ্ছে",
"preferredStationPlay": "পছন্দেরটি চালান",
"customStationsTitle": "নিজস্ব স্টেশন",
"customStationsAdd": "যোগ করুন",
"customStationsEmpty": "কোনো নিজস্ব স্টেশন নেই।",
"playAction": "চালান",
"deleteAction": "মুছুন",
"addStationTitle": "স্টেশন যোগ করুন",
"stationNameLabel": "নাম *",
"unnamedStation": "নামহীন স্টেশন",
"requiredField": "আবশ্যক ক্ষেত্র",
"streamUrlLabel": "স্ট্রিম URL *",
"invalidUrl": "অবৈধ URL",
"countryOptionalLabel": "দেশ (ঐচ্ছিক)",
"saveStation": "স্টেশন সংরক্ষণ করুন",
"backupSectionTitle": "ব্যাকআপ",
"backupExportTitle": "সেটিংস রপ্তানি করুন",
"backupExportSubtitle": "প্রিয়, নিজস্ব স্টেশন এবং ইকুয়ালাইজার প্রিসেট",
"backupImportTitle": "সেটিংস আমদানি করুন",
"backupImportSubtitle": "ব্যাকআপ ফাইল থেকে পুনরুদ্ধার করুন",
"backupShareSubject": "PluriWave — ব্যাকআপ",
"backupShareText": "{date} তারিখে রপ্তানি করা PluriWave সেটিংস",
"backupExportError": "রপ্তানির সময় ত্রুটি: {error}",
"backupImportConfirmMessage": "এটি ফাইলের প্রিয়, স্টেশন এবং প্রিসেট যোগ করবে। চালিয়ে যাবেন?",
"backupImportSuccess": "সেটিংস সফলভাবে আমদানি হয়েছে",
"backupImportError": "আমদানির সময় ত্রুটি: {error}",
"appVersionLoading": "সংস্করণ লোড হচ্ছে...",
"appVersionSubtitle": "{version} - বিশ্ব রেডিও",
"savedFavoritesTitle": "সংরক্ষিত প্রিয়",
"stationFilterTitle": "স্টেশন ফিল্টার",
"stationFilterSubtitle": "শুধু সক্রিয় হিসেবে যাচাই করা স্টেশন",
"backgroundAudioTitle": "পটভূমির অডিও",
"backgroundAudioSubtitle": "স্ক্রিন বন্ধ করলেও চলতে থাকে",
"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": "বাতিল করুন",
"equalizerTitle": "ইকুয়ালাইজার",
"recordingsOpenFolder": "ফোল্ডার খুলুন",
"recordingsOpenFolderError": "ফোল্ডার খোলা যায়নি: {error}",
"recordingsMaxSizeTitle": "রেকর্ডিংয়ের সর্বোচ্চ আকার",
"recordingsMaxSizeSubtitle": "বর্তমান সীমা: {size} MB",
"recordingsMaxSizeDialogTitle": "প্রতি রেকর্ডিংয়ের সর্বোচ্চ আকার",
"recordingsMaxSizeMbLabel": "সর্বোচ্চ মেগাবাইট",
"recordingsMaxSizeSaved": "রেকর্ডিং সীমা {size} MB-এ আপডেট হয়েছে",
"@recordingsOpenFolderError": {
"placeholders": {
"error": {}
}
},
"@recordingsMaxSizeSubtitle": {
"placeholders": {
"size": {
"type": "int"
}
}
},
"@recordingsMaxSizeSaved": {
"placeholders": {
"size": {
"type": "int"
}
}
},
"stationOrderTitle": "স্টেশনের ক্রম",
"stationOrderByName": "নাম অনুযায়ী",
"stationOrderByQuality": "গুণমান অনুযায়ী",
"stationOrderScopeDescription": "প্রিয়, অনুসন্ধান, কাছাকাছি স্টেশন এবং দ্রুত তালিকায় প্রযোজ্য।",
"favoriteGroupsTitle": "প্রিয় তালিকা",
"favoriteGroupsDescription": "সংরক্ষিত স্টেশন সাজাতে ছোট তালিকা তৈরি করুন।",
"favoriteGroupsAdd": "তালিকা যোগ করুন",
"favoriteGroupsEdit": "তালিকা সম্পাদনা করুন",
"favoriteGroupsDelete": "তালিকা মুছুন",
"favoriteGroupsNameLabel": "তালিকার নাম",
"favoriteGroupsNameTooLong": "সর্বোচ্চ ২৮ অক্ষর।",
"favoriteGroupsUnassigned": "বরাদ্দ নয়",
"favoriteGroupsProtectedHint": "ডিফল্ট তালিকা: সম্পাদনা বা মুছে ফেলা যায় না।",
"favoriteGroupsCreated": "তালিকা তৈরি হয়েছে",
"favoriteGroupsUpdated": "তালিকা আপডেট হয়েছে",
"favoriteGroupsDeleted": "তালিকা মুছে ফেলা হয়েছে; এর স্টেশনগুলো বরাদ্দ নয়-এ ফিরে গেছে।",
"favoriteGroupsAssign": "তালিকায় সরান",
"favoriteGroupsAssignSubtitle": "বর্তমান তালিকা: {groupName}",
"favoriteGroupsAssigned": "{stationName} {groupName}-এ সরানো হয়েছে",
"favoritesTitle": "প্রিয়",
"favoritesEmptyTitle": "এখনও কোনো প্রিয় নেই",
"favoritesEmptySubtitle": "যেকোনো স্টেশনে হৃদয় আইকনে ট্যাপ করে সেটি আপনার সংগ্রহে সংরক্ষণ করুন।",
"favoritesHeaderSubtitle": "আপনার সংগ্রহ তালিকা দিয়ে সাজান এবং গুরুত্বপূর্ণ রেডিওগুলো কাছে রাখুন।",
"favoritesCollection": "সংগ্রহ",
"favoritesSavedCount": "{count} সংরক্ষিত",
"favoritesRemoveTooltip": "প্রিয় থেকে সরান",
"favoritesRemovedMessage": "{stationName} প্রিয় থেকে সরানো হয়েছে",
"@favoriteGroupsAssignSubtitle": {
"placeholders": {
"groupName": {}
}
},
"@favoriteGroupsAssigned": {
"placeholders": {
"stationName": {},
"groupName": {}
}
},
"@favoritesSavedCount": {
"placeholders": {
"count": {
"type": "int"
}
}
},
"@favoritesRemovedMessage": {
"placeholders": {
"stationName": {}
}
},
"alarmPostponedCurrentExecution": "এই চালনার জন্য অ্যালার্ম পিছিয়ে দেওয়া হয়েছে।",
"searchScreenTitle": "সিগন্যাল খুঁজুন",
"searchScreenSubtitle": "নাম, দেশ বা ভাষা দিয়ে দ্রুত ফিল্টার ও উচ্চ কনট্রাস্টে রেডিও খুঁজুন।",
"searchFiltersLabel": "ফিল্টার",
"searchHint": "রেডিও হোরাইজন, জ্যাজ, সংবাদ...",
"searchCountryFilterLabel": "দেশ",
"searchLanguageFilterLabel": "ভাষা",
"searchMinQualityFilterLabel": "ন্যূনতম গুণমান",
"searchEmptyTitle": "একটি স্টেশন খুঁজুন",
"searchNoResultsTitle": "কোনো ফলাফল নেই",
"searchEmptySubtitle": "উপরের বার বা চিপ ব্যবহার করে সারা বিশ্বের সিগন্যাল আবিষ্কার করুন।",
"searchNoResultsSubtitle": "সক্রিয় সিগন্যাল পেতে ফিল্টার সরিয়ে বা অন্য নাম লিখে দেখুন।",
"countrySpain": "স্পেন",
"countryUsa": "যুক্তরাষ্ট্র",
"countryMexico": "মেক্সিকো",
"countryArgentina": "আর্জেন্টিনা",
"countryUk": "যুক্তরাজ্য",
"countryFrance": "ফ্রান্স",
"countryGermany": "জার্মানি",
"countryItaly": "ইতালি",
"countryBrazil": "ব্রাজিল",
"countryJapan": "জাপান",
"languageNameSpanish": "স্প্যানিশ",
"languageNameEnglish": "ইংরেজি",
"languageNameFrench": "ফরাসি",
"languageNameGerman": "জার্মান",
"languageNamePortuguese": "পর্তুগিজ",
"languageNameItalian": "ইতালীয়",
"languageNameJapanese": "জাপানি",
"languageNameArabic": "আরবি",
"languageNameRussian": "রুশ",
"homeScreenSubtitle": "পরিষ্কার সিগন্যাল, বুদ্ধিমান প্রিয় এবং গেম শো-ধাঁচের ভিজ্যুয়াল অভিজ্ঞতাসহ লাইভ বিশ্ব রেডিও।",
"exploreStations": "স্টেশন দেখুন",
"stationsCount": "{count} রেডিও",
"@stationsCount": {
"placeholders": {
"count": {
"type": "int"
}
}
},
"qualityHd": "HD গুণমান",
"nearYou": "আপনার কাছাকাছি",
"nearYouInCountry": "আপনার কাছাকাছি · {country}",
"@nearYouInCountry": {
"placeholders": {
"country": {}
}
},
"detectAction": "সনাক্ত করুন",
"liveRadar": "লাইভ রাডার",
"genresTitle": "ধরন",
"retryAction": "আবার চেষ্টা করুন",
"noStationsAvailable": "কোনো স্টেশন উপলব্ধ নেই",
"noStationsAvailableSubtitle": "সিগন্যাল আবার ধরতে রিফ্রেশ করুন বা অন্য ধরন বেছে নিন।",
"genrePop": "পপ",
"genreRock": "রক",
"genreJazz": "জ্যাজ",
"genreClassical": "ক্লাসিক্যাল",
"genreElectronic": "ইলেকট্রনিক",
"genreNews": "সংবাদ",
"genreTalk": "আলাপ",
"genreHipHop": "হিপ-হপ",
"genreCountry": "কান্ট্রি",
"genreMetal": "মেটাল",
"genreReggae": "রেগে",
"genreLatin": "লাতিন",
"alarmScreenTitle": "সুরেলা জাগরণ",
"alarmScreenSubtitle": "রেডিও অ্যালার্ম, নিরাপদ শব্দ, স্মার্ট ছুটি এবং পরবর্তী চালনা সবসময় দৃশ্যমান।",
"createAlarmAction": "অ্যালার্ম তৈরি করুন",
"alarmsCount": "{count} অ্যালার্ম",
"@alarmsCount": {
"placeholders": {
"count": {
"type": "int"
}
}
},
"activeAlarmsWithoutNextTitle": "পরবর্তী চালনা ছাড়া সক্রিয় অ্যালার্ম",
"noActiveAlarms": "কোনো সক্রিয় অ্যালার্ম নেই",
"nextAlarmTitle": "পরবর্তী অ্যালার্ম",
"activeAlarmsWithoutNextSubtitle": "{count}টি সক্রিয় অ্যালার্ম আছে, কিন্তু এখন তাদের কোনো বৈধ ভবিষ্যৎ তারিখ নেই। তারিখ, দিন এবং ছুটি দেখুন।",
"@activeAlarmsWithoutNextSubtitle": {
"placeholders": {
"count": {
"type": "int"
}
}
},
"createAlarmHint": "একটি অ্যালার্ম তৈরি করুন, PluriWave স্বয়ংক্রিয়ভাবে পরবর্তী চালনা হিসাব করবে।",
"alarmVacationPlay": "ছুটিতে বাজে",
"alarmVacationPause": "ছুটিতে বিরতি",
"alarmFadeInLabel": "ফেড-ইন {seconds}সে",
"@alarmFadeInLabel": {
"placeholders": {
"seconds": {
"type": "int"
}
}
},
"alarmNextExecution": "পরবর্তী চালনা: {date}",
"@alarmNextExecution": {
"placeholders": {
"date": {}
}
},
"alarmNoNextExecution": "কোনো সক্রিয় পরবর্তী চালনা নেই।",
"alarmSkippedExecution": "একটি চালনা এড়িয়ে দেওয়া হয়েছে: {date}।",
"@alarmSkippedExecution": {
"placeholders": {
"date": {}
}
},
"editAction": "সম্পাদনা",
"skipNextAction": "পরবর্তীটি এড়িয়ে যান",
"deleteTooltip": "মুছুন",
"alarmSkippedNoNextSnackbar": "অ্যালার্ম এড়ানো হয়েছে। আর কোনো পরবর্তী চালনা নেই।",
"alarmSkippedReturnsSnackbar": "অ্যালার্ম এড়ানো হয়েছে। {date}-এ আবার ফিরবে।",
"@alarmSkippedReturnsSnackbar": {
"placeholders": {
"date": {}
}
},
"alarmVacationPausedNoNext": "ছুটির কারণে ({vacationName}) বিরত আছে এবং কোনো পরবর্তী চালনা নেই।",
"@alarmVacationPausedNoNext": {
"placeholders": {
"vacationName": {}
}
},
"alarmVacationPausedReturns": "ছুটির কারণে ({vacationName}) বিরত আছে এবং {date}-এ ফিরবে।",
"@alarmVacationPausedReturns": {
"placeholders": {
"vacationName": {},
"date": {}
}
},
"alarmVacationReturns": "ছুটি চালু থাকলে, {date}-এ আবার বাজবে।",
"@alarmVacationReturns": {
"placeholders": {
"date": {}
}
},
"defaultAlarmName": "সুরেলা অ্যালার্ম",
"newAlarmTitle": "নতুন অ্যালার্ম",
"editAlarmTitle": "অ্যালার্ম সম্পাদনা",
"nameField": "নাম",
"timeField": "সময়",
"dateField": "তারিখ",
"onceOption": "একবার",
"dailyOption": "দৈনিক",
"weekdaysOption": "দিন",
"soundAndVolumeSection": "শব্দ ও ভলিউম",
"alarmFadeInTitle": "অ্যালার্ম ফেড-ইন",
"alarmFadeInOff": " সে (কোনো পরিবর্তন নয়)",
"alarmFadeInSummary": "{seconds} সে (৫% থেকে নির্বাচিত ভলিউমে)",
"@alarmFadeInSummary": {
"placeholders": {
"seconds": {
"type": "int"
}
}
},
"internalSafeSoundLabel": "নিরাপদ অভ্যন্তরীণ শব্দ",
"soundWarmSunrise": "উষ্ণ সূর্যোদয়",
"soundSoftBell": "নরম ঘণ্টা",
"soundDigitalPulse": "ডিজিটাল পালস",
"favoriteStationLabel": "প্রিয় স্টেশন",
"noStationUseInternalSound": "স্টেশন নেই: অভ্যন্তরীণ শব্দ ব্যবহার করুন",
"alarmFallbackStationLabel": "ব্যাকআপ স্টেশন",
"alarmStationPickerSearchHint": "নাম দিয়ে স্টেশন খুঁজুন",
"alarmSnoozeDurationTitle": "স্নুজ সময়কাল",
"snoozeAction": "স্নুজ",
"alarmSnoozeOptionLabel": "{minutes} মিনিট",
"@alarmSnoozeOptionLabel": {
"placeholders": {
"minutes": {
"type": "int"
}
}
},
"saveFavoritesAlarmHint": "সুরেলা অ্যালার্ম হিসেবে ব্যবহার করতে প্রিয়তে স্টেশন সংরক্ষণ করুন।",
"useCurrentStationAction": "বর্তমান স্টেশন ব্যবহার করুন",
"playDuringVacations": "ছুটিতে বাজান",
"playDuringVacationsHint": "এটি বন্ধ করলে পরবর্তী চালনা প্রথম বৈধ দিনে চলে যাবে।",
"saveAlarmAction": "অ্যালার্ম সংরক্ষণ করুন",
"chooseOneWeekdayError": "সপ্তাহের অন্তত একটি দিন বেছে নিন।",
"androidReliabilityReview": "Android নির্ভরযোগ্যতা পর্যালোচনা করুন",
"statusOk": "ঠিক আছে",
"statusPending": "অপেক্ষমাণ",
"androidReliabilityStatus": "নির্ভরযোগ্যতা: নির্দিষ্ট {exact} · বিজ্ঞপ্তি {notifications} · স্ক্রিন {screen}",
"@androidReliabilityStatus": {
"placeholders": {
"exact": {},
"notifications": {},
"screen": {}
}
},
"vacationRangesTitle": "ছুটির পরিসর",
"addAction": "যোগ করুন",
"vacationRangesHint": "কোনো অ্যালার্মে \"ছুটিতে বিরতি\" থাকলে এই পরিসরগুলো স্বয়ংক্রিয়ভাবে এড়িয়ে যাবে।",
"noVacationRangesLoaded": "কোনো পরিসর লোড হয়নি।",
"deleteRangeTooltip": "পরিসর মুছুন",
"vacationsDefaultName": "ছুটি",
"newVacationRangeTitle": "নতুন ছুটির পরিসর",
"startField": "শুরু",
"endField": "শেষ",
"saveRangeAction": "পরিসর সংরক্ষণ করুন",
"noAlarmsYetTitle": "এখনও কোনো অ্যালার্ম নেই।",
"noAlarmsYetSubtitle": "আপনার সুরেলা জাগরণ সাজাতে একটি তৈরি করুন।",
"ringingInternalAudioActive": "নিরাপদ অভ্যন্তরীণ শব্দ দিয়ে বাজছে।",
"ringingPreparingInternalAudio": "নিরাপদ অভ্যন্তরীণ শব্দ প্রস্তুত হচ্ছে।",
"stopAlarmAction": "অ্যালার্ম বন্ধ করুন",
"alarmStopFailedMessage": "অ্যালার্ম বন্ধ হয়েছে তা নিশ্চিত করা যায়নি। আবার চেষ্টা করুন।",
"alarmForceStopAction": "জোর করে বন্ধ করুন",
"alarmMissedNotificationTitle": "মিস হওয়া অ্যালার্ম",
"alarmMissedNotificationText": "১০ মিনিট পর {name} স্বয়ংক্রিয়ভাবে নিঃশব্দ করা হয়েছে।",
"@alarmMissedNotificationText": {
"placeholders": {
"name": {}
}
},
"pauseAction": "বিরতি দিন",
"miniPlayerOpenLabel": "{stationName}-এর প্লেয়ার খুলুন",
"@miniPlayerOpenLabel": {
"placeholders": {
"stationName": {}
}
},
"playerIconLabel": "প্লেয়ার",
"playbackStatusConnecting": "সংযুক্ত হচ্ছে...",
"playbackStatusLive": "লাইভ",
"playbackStatusPaused": "বিরতিতে",
"playbackStatusReconnecting": "পুনরায় সংযোগ করা হচ্ছে...",
"playbackStatusConnectionError": "সংযোগে ত্রুটি",
"playbackStatusStopped": "বন্ধ",
"stationSemanticLabel": "স্টেশন {stationName}",
"@stationSemanticLabel": {
"placeholders": {
"stationName": {}
}
},
"favoritesAddTooltip": "পছন্দের তালিকায় যোগ করুন",
"favoritesAddedMessage": "{stationName} পছন্দের তালিকায় যোগ করা হয়েছে",
"@favoritesAddedMessage": {
"placeholders": {
"stationName": {}
}
},
"stationIconLabel": "স্টেশনের প্রতীক",
"liveNow": "এখন লাইভ",
"equalizerBandLabel": "ব্যান্ড {band}",
"@equalizerBandLabel": {
"placeholders": {
"band": {}
}
},
"equalizerBandValue": "{value} ডেসিবেল",
"@equalizerBandValue": {
"placeholders": {
"value": {}
}
},
"equalizerPresetFlat": "সমতল",
"equalizerPresetRock": "রক",
"equalizerPresetPop": "পপ",
"equalizerPresetBassBoost": "বেস বাড়ানো",
"equalizerPresetJazz": "জ্যাজ",
"equalizerPresetVoice": "কণ্ঠ",
"equalizerPresetCustom": "নিজস্ব",
"onboardingTitle": "PluriWave-এ স্বাগতম",
"onboardingNewsTitle": "নতুন কী আছে",
"onboardingStartAction": "শুরু করুন",
"onboardingCloseTooltip": "বন্ধ করুন",
"radioRecordingError": "রেডিও রেকর্ড করতে ত্রুটি: {error}",
"@radioRecordingError": {
"placeholders": {
"error": {}
}
},
"radioApiConnectionError": "রেডিও এপিআই-এর সঙ্গে কোনো সংযোগ নেই",
"radioSearchError": "অনুসন্ধানে ত্রুটি। আপনার সংযোগ পরীক্ষা করুন।",
"radioLoadMoreStationsError": "আরও স্টেশন আনা যায়নি।",
"radioNearbyStationsError": "কাছাকাছি স্টেশন শনাক্ত করা যায়নি। দেশ অনুযায়ী ফিল্টার ব্যবহার করুন।",
"radioCannotPlayStation": "\"{stationName}\" চালানো যাচ্ছে না",
"@radioCannotPlayStation": {
"placeholders": {
"stationName": {}
}
},
"recordingSelectStationFirst": "রেকর্ড করার আগে একটি স্টেশন নির্বাচন করুন।",
"recordingStartError": "রেকর্ডিং শুরু করা যায়নি: {error}",
"@recordingStartError": {
"placeholders": {
"error": {}
}
},
"unsupportedConfigVersion": "কনফিগারেশন সংস্করণ সমর্থিত নয়",
"audioErrorGeneric": "চালানোর সময় ত্রুটি",
"audioErrorNoInternet": "ইন্টারনেট সংযোগ নেই",
"audioErrorInvalidUrl": "রেডিওর ঠিকানা বৈধ নয়",
"audioErrorNotFound": "রেডিওটি উপলব্ধ নয় (404 ত্রুটি)",
"audioErrorTimeout": "সংযোগের সময়সীমা শেষ হয়েছে",
"audioErrorCannotConnect": "রেডিওর সঙ্গে সংযোগ করা যাচ্ছে না",
"audioErrorUnsupportedFormat": "স্ট্রিম ফরম্যাট সমর্থিত নয়",
"audioErrorDecode": "অডিও স্ট্রিম ডিকোড করতে ত্রুটি",
"audioErrorCleartext": "এই রেডিও এনক্রিপশন ছাড়া HTTP ব্যবহার করে, যা অনুমোদিত নয়",
"audioErrorSsl": "রেডিওর SSL সার্টিফিকেট অবৈধ",
"audioErrorCannotPlay": "এই রেডিও চালানো যাচ্ছে না",
"audioErrorUnexpectedPlayback": "চালানোর সময় অপ্রত্যাশিত ত্রুটি",
"androidExactAlarmScheduleError": "অ্যান্ড্রয়েড সুনির্দিষ্ট অ্যালার্ম নির্ধারণ করতে পারেনি। সুনির্দিষ্ট অ্যালার্মের অনুমতি পরীক্ষা করুন।",
"recordingPathEmptyError": "রেকর্ডিংয়ের পথ খালি থাকতে পারে না",
"recordingMaxSizeInvalidError": "সর্বোচ্চ আকার শূন্যের বেশি হতে হবে",
"recordingAlreadyActiveError": "ইতিমধ্যেই একটি রেকর্ডিং চলছে",
"alarmRingingFallbackActive": "অভ্যন্তরীণ নিরাপদ অডিও দিয়ে চলছে।",
"alarmRingingPreparingFallback": "অভ্যন্তরীণ নিরাপদ অডিও প্রস্তুত করা হচ্ছে।",
"alarmRingingTryingStation": "আপনার স্টেশন সর্বোচ্চ উপলভ্য মানে চালানোর চেষ্টা করা হচ্ছে।",
"alarmScheduleOnce": "একবার · {date}",
"@alarmScheduleOnce": {
"placeholders": {
"date": {}
}
},
"alarmScheduleWeekdays": "দিন: {days}",
"@alarmScheduleWeekdays": {
"placeholders": {
"days": {}
}
},
"androidReliabilityTitle": "Android নির্ভরযোগ্যতা দেখুন",
"closeAction": "বন্ধ করুন",
"customOption": "কাস্টম",
"endLabel": "শেষ",
"equalizerDisable": "ইকুয়ালাইজার বন্ধ করুন",
"helpTitle": "সহায়তা ও টিউটোরিয়াল",
"helpSubtitle": "PluriWave-এর ফিচার, টিপস ও নতুন বিষয়গুলো দেখুন।",
"indefiniteOption": "অনির্দিষ্ট",
"invalidNumber": "অবৈধ সংখ্যা",
"nameLabel": "নাম",
"notPlaying": "চলছে না",
"oneTimeOption": "একবার",
"pausePlaybackTooltip": "প্লেব্যাক বিরতি",
"qualityOriginal": "মূল মান: {quality}",
"@qualityOriginal": {
"placeholders": {
"quality": {}
}
},
"qualityUnknown": "মান জানানো নেই",
"recordAction": "রেকর্ড করুন",
"recordDurationTitle": "রেকর্ডিং সময়কাল",
"recordRadioSubtitle": "কতক্ষণ রেকর্ড করতে চান বেছে নিন।",
"recordRadioTitle": "রেডিও রেকর্ড করুন",
"recordingActiveTitle": "রেডিও রেকর্ড হচ্ছে",
"recordingDirectTitle": "সরাসরি রেকর্ডিং",
"recordingsOpenFolderPlainError": "রেকর্ডিং ফোল্ডার খোলা যায়নি",
"recordingsOpenLatest": "সর্বশেষ রেকর্ডিং খুলুন",
"recordingsOpenLatestError": "সর্বশেষ রেকর্ডিং খোলা যায়নি",
"startLabel": "শুরু",
"startPlaybackTooltip": "প্লেব্যাক শুরু করুন",
"stopAction": "থামান",
"stopPlaybackTooltip": "প্লেব্যাক থামান",
"weekdayShortMonday": "সোম",
"weekdayShortTuesday": "মঙ্গল",
"weekdayShortWednesday": "বুধ",
"weekdayShortThursday": "বৃহস্পতি",
"weekdayShortFriday": "শুক্র",
"weekdayShortSaturday": "শনি",
"weekdayShortSunday": "রবি",
"stationCount": "{count, plural, =1{১টি স্টেশন} other{{count}টি স্টেশন}}",
"alarmIconLabel": "মিউজিক অ্যালার্ম",
"vacationIconLabel": "ছুটির মোড",
"streamUrlHint": "https://stream.example.com:8000/radio",
"advancedEqSectionTitle": "উন্নত EQ বিকল্পসমূহ",
"advancedEqEnableToggle": "প্রতিটি ডিভাইসের জন্য EQ সক্রিয় করুন",
"advancedEqEnableToggleSubtitle": "অডিও আউটপুট পরিবর্তিত হলে স্বয়ংক্রিয়ভাবে ভিন্ন EQ প্রিসেট প্রয়োগ করুন।",
"advancedEqKnownDevicesTitle": "পরিচিত অডিও ডিভাইস",
"advancedEqKnownDevicesEmpty": "এখনো কোনো অডিও ডিভাইস নথিভুক্ত হয়নি। শুরু করতে একটি ডিভাইস সংযুক্ত করুন।",
"advancedEqDevicePresetLabel": "প্রিসেট: {presetName}",
"@advancedEqDevicePresetLabel": {
"placeholders": {
"presetName": {}
}
},
"preNoticeCountdown": "{minutes} মিনিটে শুরু হবে",
"snoozeCountdown": "{minutes} মিনিটে বাজবে",
"@snoozeCountdown": {
"placeholders": {
"minutes": {
"type": "int"
}
}
},
"snoozeAgainAction": "আবার স্নুজ করুন",
"alarmRingingNotificationTitle": "PluriWave অ্যালার্ম",
"alarmFireChannelName": "বাজতে থাকা অ্যালার্ম",
"alarmFireChannelDescription": "কোনো মিউজিক অ্যালার্ম বাজার সময় জরুরি শব্দ ও স্ক্রিন",
"alarmPreNoticeChannelName": "অ্যালার্ম রিমাইন্ডার",
"alarmPreNoticeChannelDescription": "অ্যালার্মের আগে নীরব বিজ্ঞপ্তি",
"openFolderChooserTitle": "ফোল্ডার খুলুন",
"openRecordingChooserTitle": "রেকর্ডিং খুলুন",
"@preNoticeCountdown": {
"placeholders": {
"minutes": {
"type": "int"
}
}
},
"eqDeviceEditTitle": "ডিভাইস সম্পাদনা করুন",
"eqDeviceNameLabel": "ডিভাইসের নাম",
"eqDeviceNameHint": "যেমন: লিভিং রুমের স্পিকার",
"eqDeviceNameConfirm": "সংরক্ষণ করুন",
"eqDeviceConnected": "সংযুক্ত",
"localMusicSectionTitle": "স্থানীয় সঙ্গীত (Android Auto)",
"localMusicSectionDescription": "গাড়িতে অডিও ফাইল ব্রাউজ ও চালানোর জন্য এই ডিভাইসের একটি ফোল্ডার বেছে নিন।",
"localMusicFolderNotConfigured": "কোনো ফোল্ডার নির্বাচিত হয়নি",
"localMusicFolderTitle": "স্থানীয় সঙ্গীত ফোল্ডার",
"localMusicChoosePath": "ফোল্ডার বেছে নিন",
"localMusicChangePath": "ফোল্ডার পরিবর্তন করুন",
"localMusicFolderUpdated": "স্থানীয় সঙ্গীত ফোল্ডার আপডেট হয়েছে",
"localMusicFolderSaveError": "ফোল্ডার সংরক্ষণ করা যায়নি: {error}",
"@localMusicFolderSaveError": {
"placeholders": {
"error": {}
}
},
"localMusicFolderGenericName": "নির্বাচিত ফোল্ডার"
}