Files
pluriwave/lib/l10n/gen/app_localizations_ar.dart
T
FreeTLab bd2b7d8e02 refactor(ajustes): split Settings AUDIO/EMISORAS into pushed detail screens
Moves the AUDIO group (Ecualizador, Salida de audio, Temporizador de
sueno) and the EMISORAS group (Grupos de favoritos, Emisora preferida,
Emisoras personalizadas, Orden de listas) out of pantalla_ajustes.dart
into 7 new lib/pantallas/ajustes/*.dart screens, each wrapped in
PluriPushScaffold. The root now reaches them through FilaAjuste rows
under two new GrupoAjustes cards (lib/pantallas/ajustes/widgets/
fila_ajuste.dart), per design ADR-3.

Verbatim-move rule applied throughout: only each section's panel header
(icon + title, sometimes a status chip) was removed, since the pushed
screen's own 56px header now carries the title. Two sections whose
header row carried a real action (Temporizador de sueno's "Add",
Grupos de favoritos' "Add list", Emisoras personalizadas' "Add") kept
that action in the body instead of dropping it.

size:exception (move-only diff, pre-recorded at design/tasks time):
34 files, ~4250 changed lines excluding the 13 auto-regenerated l10n
files (~90 more lines there) - higher than the 800-1000 estimate
because that estimate covered the 7 production screens but not the
matching 7 new test files (task 3a.2), one of which relocates ~10
pre-existing device-management test cases verbatim. Business logic is
untouched; app.dart's import of pantalla_ajustes.dart is unchanged.

Correction to tasks.md 3a.1/3a.8: those two lines describe the combined
WU3a+WU3b end state ("4 grouped nav lists", "<400 lines"), matching
design ADR-3's own aggregate blast-radius note - not a WU3a-only claim.
This commit converts only the 2 groups that are WU3a's job; the root
is 788 lines with 5 sections (Grabaciones, Musica local, Idioma,
Backup, Info) still inline, reachable, and unchanged, pending WU3b.

Two new ARB keys (settingsGroupAudioTitle, settingsGroupStationsTitle),
en/es only per the WU1 precedent - all 7 detail-screen titles reuse
existing keys. Discovered and worked around, without touching app
code: Directory.systemTemp hangs real dart:io writes in this sandbox,
and pumpAndSettle() cannot settle while a screen shows an indeterminate
CircularProgressIndicator - both are test-only concerns, documented
inline where hit.

Tests: 560 -> 579 (32 in this commit's scope, net +19 after retiring
13 relocated cases from the old combined pantalla_ajustes_test.dart).
flutter analyze: unchanged at 1 pre-existing info. git diff is empty
for navegacion_auto.dart, servicio_ecualizador.dart and
servicio_audio.dart; pantalla_alarma_sonando_dismiss_guard_test.dart
untouched.
2026-07-28 21:38:20 +02:00

1363 lines
36 KiB
Dart

// ignore: unused_import
import 'package:intl/intl.dart' as intl;
import 'app_localizations.dart';
// ignore_for_file: type=lint
/// The translations for Arabic (`ar`).
class AppLocalizationsAr extends AppLocalizations {
AppLocalizationsAr([String locale = 'ar']) : super(locale);
@override
String get appTitle => 'PluriWave';
@override
String get navHome => 'الرئيسية';
@override
String get navSearch => 'بحث';
@override
String get navFavorites => 'المفضلة';
@override
String get navAlarms => 'المنبهات';
@override
String get navSettings => 'الإعدادات';
@override
String get actionOk => 'حسنًا';
@override
String get sleepTimer => 'مؤقّت النوم';
@override
String get sleepTimerDescription =>
'إيقاف الراديو بسلاسة مع عدّ تنازلي دقيق.';
@override
String get cancelTimer => 'إلغاء المؤقّت';
@override
String get optionOther => 'أخرى';
@override
String get customDurationTitle => 'مدة مخصّصة';
@override
String get durationGreaterThanZero => 'اختر مدة أكبر من الصفر.';
@override
String get hoursLabel => 'ساعات';
@override
String get minutesLabel => 'دقائق';
@override
String get secondsLabel => 'ثوانٍ';
@override
String durationHoursMinutesSeconds(
Object hours,
Object minutes,
Object seconds,
) {
return '$hours س $minutes د $seconds ث';
}
@override
String durationMinutesSeconds(Object minutes, Object seconds) {
return '$minutes د $seconds ث';
}
@override
String durationMinutesOnly(Object minutes) {
return '$minutes د';
}
@override
String durationSecondsOnly(Object seconds) {
return '$seconds ث';
}
@override
String get saveQuickAccess => 'حفظ كاختصار سريع';
@override
String get startTimer => 'بدء المؤقّت';
@override
String skipCurrentAlarmExecution(Object alarmName) {
return 'تم تخطي هذا التشغيل من $alarmName.';
}
@override
String get settingsTitle => 'الإعدادات';
@override
String get settingsSubtitle =>
'تحكم دقيق في الصوت والنسخ الاحتياطية والمحطات المخصصة.';
@override
String get settingsGroupAudioTitle => 'AUDIO';
@override
String get settingsGroupStationsTitle => 'EMISORAS';
@override
String get languageSectionTitle => 'اللغة';
@override
String get languageSectionDescription => 'اختر كيفية عرض لغة التطبيق.';
@override
String get languageSystemDefault => 'النظام';
@override
String get languageSpanish => 'الإسبانية';
@override
String get languageEnglish => 'الإنجليزية';
@override
String languageUpdated(Object languageName) {
return 'تم تحديث اللغة: $languageName';
}
@override
String get languageUpdatedSystem => 'تم تحديث اللغة: النظام';
@override
String get timerSectionTitle => 'مؤقّت النوم';
@override
String get timerSectionAdd => 'إضافة';
@override
String get timerSectionDescription =>
'خصّص الاختصارات السريعة التي تظهر عند إيقاف الراديو تلقائيًا.';
@override
String get timerSectionRestoreRecommended => 'استعادة الأوقات الموصى بها';
@override
String get newQuickAccessTitle => 'اختصار سريع جديد';
@override
String get saveQuickAccessButton => 'حفظ الاختصار السريع';
@override
String get settingsSafeStatus => 'آمن';
@override
String get recordingsSectionTitle => 'التسجيلات';
@override
String get recordingsFolderDialogTitle => 'اختر مجلد التسجيلات';
@override
String get recordingsPathUpdated => 'تم تحديث مسار التسجيل';
@override
String recordingsPathSaveError(Object error) {
return 'تعذّر حفظ المسار: $error';
}
@override
String get recordingsDefaultFolderRestored =>
'سيتم استخدام المجلد الداخلي الافتراضي';
@override
String get recordingsFolderTitle => 'مجلد التسجيل';
@override
String get recordingsPathCalculating => 'جارٍ حساب المسار...';
@override
String get recordingsChangePath => 'تغيير المسار';
@override
String get recordingsUseDefaultPath => 'استخدام المسار الافتراضي';
@override
String get recordingsOriginalStreamHint =>
'يتم حفظ الراديو من البث الأصلي، دون إعادة ضغط.';
@override
String get equalizerActive => 'نشط';
@override
String get equalizerDisabled => 'معطّل';
@override
String get equalizerEnable => 'تفعيل المعادل';
@override
String get equalizerRealtimeSubtitle =>
'تُطبّق التغييرات فورًا على المحطة الحالية.';
@override
String get equalizerPendingSubtitle =>
'تُحفظ التغييرات وستُطبّق عندما يفعّل Android التأثير.';
@override
String get equalizerPerStationTitle => 'استخدام معادل خاص لهذه المفضلة';
@override
String equalizerPerStationActive(Object stationName) {
return 'نشط لـ $stationName';
}
@override
String equalizerPerStationMain(Object stationName) {
return 'استخدام المعادل الرئيسي لـ $stationName';
}
@override
String get preferredStationTitle => 'المحطة المفضلة';
@override
String get preferredStationDescription =>
'يتم اختيارها مسبقًا عند إنشاء المنبهات ويمكن تشغيلها سريعًا.';
@override
String get preferredStationNoStationsTitle => 'لا توجد محطات متاحة بعد';
@override
String get preferredStationNoStationsSubtitle =>
'احفظ المفضلات أو حمّل محطات لاختيار محطة مفضلة.';
@override
String get preferredStationAutomaticFallback => 'بديل تلقائي';
@override
String get preferredStationDefaultFavorite => 'المفضلة الافتراضية';
@override
String preferredStationCurrent(Object stationName) {
return 'المفضلة الحالية: $stationName';
}
@override
String preferredStationAutoUsing(Object stationName) {
return 'لا توجد مفضلات: يتم استخدام $stationName تلقائيًا';
}
@override
String get preferredStationPlay => 'تشغيل المفضلة';
@override
String get customStationsTitle => 'محطات مخصصة';
@override
String get customStationsAdd => 'إضافة';
@override
String get customStationsEmpty => 'لا توجد محطات مخصصة.';
@override
String get playAction => 'تشغيل';
@override
String get deleteAction => 'حذف';
@override
String get addStationTitle => 'إضافة محطة';
@override
String get stationNameLabel => 'الاسم *';
@override
String get unnamedStation => 'محطة بدون اسم';
@override
String get requiredField => 'حقل مطلوب';
@override
String get streamUrlLabel => 'رابط البث *';
@override
String get invalidUrl => 'رابط غير صالح';
@override
String get countryOptionalLabel => 'البلد (اختياري)';
@override
String get saveStation => 'حفظ المحطة';
@override
String get backupSectionTitle => 'النسخ الاحتياطي';
@override
String get backupExportTitle => 'تصدير الإعدادات';
@override
String get backupExportSubtitle =>
'المفضلات والمحطات المخصصة وإعدادات المعادل المسبقة';
@override
String get backupImportTitle => 'استيراد الإعدادات';
@override
String get backupImportSubtitle => 'استعادة من ملف نسخة احتياطية';
@override
String get backupShareSubject => 'PluriWave — نسخة احتياطية';
@override
String backupShareText(Object date) {
return 'إعدادات PluriWave المصدّرة في $date';
}
@override
String backupExportError(Object error) {
return 'خطأ أثناء التصدير: $error';
}
@override
String get backupImportConfirmMessage =>
'سيضيف هذا المفضلات والمحطات وإعدادات المعادل من الملف. هل تريد المتابعة؟';
@override
String get backupImportSuccess => 'تم استيراد الإعدادات بنجاح';
@override
String backupImportError(Object error) {
return 'خطأ أثناء الاستيراد: $error';
}
@override
String get appVersionLoading => 'جارٍ تحميل الإصدار...';
@override
String appVersionSubtitle(Object version) {
return '$version - راديو عالمي';
}
@override
String get savedFavoritesTitle => 'المفضلات المحفوظة';
@override
String get stationFilterTitle => 'فلتر المحطات';
@override
String get stationFilterSubtitle => 'المحطات المؤكدة كنشطة فقط';
@override
String get backgroundAudioTitle => 'الصوت في الخلفية';
@override
String get backgroundAudioSubtitle => 'يستمر عند إطفاء الشاشة';
@override
String get dash => '—';
@override
String get cancelAction => 'إلغاء';
@override
String get equalizerTitle => 'المعادل';
@override
String get recordingsOpenFolder => 'فتح المجلد';
@override
String recordingsOpenFolderError(Object error) {
return 'تعذّر فتح المجلد: $error';
}
@override
String get recordingsMaxSizeTitle => 'الحد الأقصى لحجم التسجيل';
@override
String recordingsMaxSizeSubtitle(int size) {
return 'الحد الحالي: $size ميغابايت';
}
@override
String get recordingsMaxSizeDialogTitle => 'الحد الأقصى للحجم لكل تسجيل';
@override
String get recordingsMaxSizeMbLabel => 'الحد الأقصى بالميغابايت';
@override
String recordingsMaxSizeSaved(int size) {
return 'تم تحديث حد التسجيل إلى $size ميغابايت';
}
@override
String get stationOrderTitle => 'ترتيب المحطات';
@override
String get stationOrderByName => 'حسب الاسم';
@override
String get stationOrderByQuality => 'حسب الجودة';
@override
String get stationOrderScopeDescription =>
'ينطبق على المفضلات وعمليات البحث والمحطات القريبة والقوائم السريعة.';
@override
String get favoriteGroupsTitle => 'قوائم المفضلة';
@override
String get favoriteGroupsDescription =>
'أنشئ قوائم قصيرة لتنظيم محطاتك المحفوظة.';
@override
String get favoriteGroupsAdd => 'إضافة قائمة';
@override
String get favoriteGroupsEdit => 'تعديل القائمة';
@override
String get favoriteGroupsDelete => 'حذف القائمة';
@override
String get favoriteGroupsNameLabel => 'اسم القائمة';
@override
String get favoriteGroupsNameTooLong => 'الحد الأقصى 28 حرفًا.';
@override
String get favoriteGroupsUnassigned => 'غير معيّنة';
@override
String get favoriteGroupsProtectedHint =>
'القائمة الافتراضية: لا يمكن تعديلها أو حذفها.';
@override
String get favoriteGroupsCreated => 'تم إنشاء القائمة';
@override
String get favoriteGroupsUpdated => 'تم تحديث القائمة';
@override
String get favoriteGroupsDeleted =>
'تم حذف القائمة؛ عادت محطاتها إلى غير معيّنة.';
@override
String get favoriteGroupsAssign => 'نقل إلى قائمة';
@override
String favoriteGroupsAssignSubtitle(Object groupName) {
return 'القائمة الحالية: $groupName';
}
@override
String favoriteGroupsAssigned(Object stationName, Object groupName) {
return 'تم نقل $stationName إلى $groupName';
}
@override
String get favoritesTitle => 'المفضلة';
@override
String get favoritesEmptyTitle => 'لا توجد مفضلات بعد';
@override
String get favoritesEmptySubtitle =>
'اضغط على القلب في أي محطة لحفظها في مجموعتك.';
@override
String get favoritesHeaderSubtitle =>
'نظّم مجموعتك في قوائم وأبقِ المحطات المهمة قريبة.';
@override
String get favoritesCollection => 'المجموعة';
@override
String favoritesSavedCount(int count) {
return '$count محفوظة';
}
@override
String get favoritesRemoveTooltip => 'إزالة من المفضلة';
@override
String favoritesRemovedMessage(Object stationName) {
return 'تمت إزالة $stationName من المفضلة';
}
@override
String get alarmPostponedCurrentExecution => 'تم تأجيل المنبه لهذا التشغيل.';
@override
String get searchScreenTitle => 'البحث عن إشارة';
@override
String get searchScreenSubtitle =>
'اعثر على إذاعات حسب الاسم أو البلد أو اللغة باستخدام فلاتر سريعة وتباين عالٍ.';
@override
String get searchFiltersLabel => 'الفلاتر';
@override
String get searchHint => 'راديو هورايزن، جاز، أخبار...';
@override
String get searchCountryFilterLabel => 'البلد';
@override
String get searchLanguageFilterLabel => 'اللغة';
@override
String get searchMinQualityFilterLabel => 'الحد الأدنى للجودة';
@override
String get searchEmptyTitle => 'ابحث عن محطة';
@override
String get searchNoResultsTitle => 'لا توجد نتائج';
@override
String get searchEmptySubtitle =>
'استخدم الشريط العلوي أو الشرائح لاكتشاف إشارات من كل العالم.';
@override
String get searchNoResultsSubtitle =>
'جرّب إزالة الفلاتر أو كتابة اسم آخر للعثور على إشارة نشطة.';
@override
String get countrySpain => 'إسبانيا';
@override
String get countryUsa => 'الولايات المتحدة';
@override
String get countryMexico => 'المكسيك';
@override
String get countryArgentina => 'الأرجنتين';
@override
String get countryUk => 'المملكة المتحدة';
@override
String get countryFrance => 'فرنسا';
@override
String get countryGermany => 'ألمانيا';
@override
String get countryItaly => 'إيطاليا';
@override
String get countryBrazil => 'البرازيل';
@override
String get countryJapan => 'اليابان';
@override
String get languageNameSpanish => 'الإسبانية';
@override
String get languageNameEnglish => 'الإنجليزية';
@override
String get languageNameFrench => 'الفرنسية';
@override
String get languageNameGerman => 'الألمانية';
@override
String get languageNamePortuguese => 'البرتغالية';
@override
String get languageNameItalian => 'الإيطالية';
@override
String get languageNameJapanese => 'اليابانية';
@override
String get languageNameArabic => 'العربية';
@override
String get languageNameRussian => 'الروسية';
@override
String get homeScreenSubtitle =>
'راديو عالمي مباشر بإشارات نقية ومفضلات ذكية وتجربة بصرية بأسلوب المسابقات.';
@override
String get exploreStations => 'استكشاف المحطات';
@override
String stationsCount(int count) {
return '$count محطة راديو';
}
@override
String get qualityHd => 'جودة HD';
@override
String get nearYou => 'بالقرب منك';
@override
String nearYouInCountry(Object country) {
return 'بالقرب منك · $country';
}
@override
String get detectAction => 'اكتشاف';
@override
String get liveRadar => 'رادار مباشر';
@override
String get genresTitle => 'الأنواع';
@override
String get retryAction => 'إعادة المحاولة';
@override
String get noStationsAvailable => 'لا توجد محطات متاحة';
@override
String get noStationsAvailableSubtitle =>
'جرّب التحديث أو اختيار نوع آخر لالتقاط الإشارة من جديد.';
@override
String get genrePop => 'بوب';
@override
String get genreRock => 'روك';
@override
String get genreJazz => 'جاز';
@override
String get genreClassical => 'كلاسيكي';
@override
String get genreElectronic => 'إلكترونية';
@override
String get genreNews => 'أخبار';
@override
String get genreTalk => 'حوارات';
@override
String get genreHipHop => 'هيب هوب';
@override
String get genreCountry => 'كانتري';
@override
String get genreMetal => 'ميتال';
@override
String get genreReggae => 'ريغي';
@override
String get genreLatin => 'لاتينية';
@override
String get alarmScreenTitle => 'الاستيقاظ الموسيقي';
@override
String get alarmScreenSubtitle =>
'منبهات بالراديو وصوت آمن وإجازات ذكية والتنفيذ التالي ظاهر دائمًا.';
@override
String get createAlarmAction => 'إنشاء منبه';
@override
String alarmsCount(int count) {
return '$count منبهات';
}
@override
String get activeAlarmsWithoutNextTitle => 'منبهات نشطة بلا تشغيل قادم';
@override
String get noActiveAlarms => 'لا توجد منبهات نشطة';
@override
String get nextAlarmTitle => 'المنبه التالي';
@override
String activeAlarmsWithoutNextSubtitle(int count) {
return 'توجد $count منبهات نشطة، لكنها لا تملك حاليًا تاريخًا مستقبليًا صالحًا. راجع التاريخ والأيام والإجازات.';
}
@override
String get createAlarmHint =>
'أنشئ منبهًا وسيحسب PluriWave التشغيل التالي تلقائيًا.';
@override
String get alarmVacationPlay => 'يرن في الإجازات';
@override
String get alarmVacationPause => 'يتوقف في الإجازات';
@override
String alarmFadeInLabel(int seconds) {
return 'تدرّج الصوت $secondsث';
}
@override
String alarmNextExecution(Object date) {
return 'التشغيل التالي: $date';
}
@override
String get alarmNoNextExecution => 'لا يوجد تشغيل نشط قادم.';
@override
String alarmSkippedExecution(Object date) {
return 'تم تخطي تشغيل: $date.';
}
@override
String get editAction => 'تعديل';
@override
String get skipNextAction => 'تخطي التالي';
@override
String get deleteTooltip => 'حذف';
@override
String get alarmSkippedNoNextSnackbar =>
'تم تخطي المنبه. لا يوجد تشغيل قادم.';
@override
String alarmSkippedReturnsSnackbar(Object date) {
return 'تم تخطي المنبه. سيعود في $date.';
}
@override
String alarmVacationPausedNoNext(Object vacationName) {
return 'متوقف بسبب الإجازة ($vacationName) ولا يوجد تشغيل قادم.';
}
@override
String alarmVacationPausedReturns(Object vacationName, Object date) {
return 'متوقف بسبب الإجازة ($vacationName) وسيعود في $date.';
}
@override
String alarmVacationReturns(Object date) {
return 'مع تفعيل الإجازات، سيعود للرنين في $date.';
}
@override
String get defaultAlarmName => 'منبه موسيقي';
@override
String get newAlarmTitle => 'منبه جديد';
@override
String get editAlarmTitle => 'تعديل المنبه';
@override
String get nameField => 'الاسم';
@override
String get timeField => 'الوقت';
@override
String get dateField => 'التاريخ';
@override
String get onceOption => 'مرة واحدة';
@override
String get dailyOption => 'يومي';
@override
String get weekdaysOption => 'أيام';
@override
String get soundAndVolumeSection => 'الصوت ومستوى الصوت';
@override
String get alarmFadeInTitle => 'تدرّج صوت المنبه';
@override
String get alarmFadeInOff => '0 ث (بدون انتقال)';
@override
String alarmFadeInSummary(int seconds) {
return '$seconds ث (من 5% إلى مستوى الصوت المختار)';
}
@override
String get internalSafeSoundLabel => 'صوت داخلي آمن';
@override
String get soundWarmSunrise => 'شروق دافئ';
@override
String get soundSoftBell => 'جرس ناعم';
@override
String get soundDigitalPulse => 'نبضة رقمية';
@override
String get favoriteStationLabel => 'المحطة المفضلة';
@override
String get noStationUseInternalSound => 'بدون محطة: استخدام الصوت الداخلي';
@override
String get alarmFallbackStationLabel => 'محطة احتياطية';
@override
String get alarmStationPickerSearchHint => 'ابحث عن محطة بالاسم';
@override
String get alarmSnoozeDurationTitle => 'مدة الغفوة';
@override
String get snoozeAction => 'غفوة';
@override
String alarmSnoozeOptionLabel(int minutes) {
return '$minutes د';
}
@override
String get saveFavoritesAlarmHint =>
'احفظ محطات في المفضلة لاستخدامها كمنبه موسيقي.';
@override
String get useCurrentStationAction => 'استخدام المحطة الحالية';
@override
String get playDuringVacations => 'الرنين أثناء الإجازات';
@override
String get playDuringVacationsHint =>
'إذا أوقفت ذلك، سيتخطى التشغيل التالي إلى أول يوم صالح.';
@override
String get saveAlarmAction => 'حفظ المنبه';
@override
String get chooseOneWeekdayError => 'اختر يومًا واحدًا على الأقل من الأسبوع.';
@override
String get androidReliabilityReview => 'مراجعة موثوقية Android';
@override
String get statusOk => 'حسنًا';
@override
String get statusPending => 'معلّق';
@override
String androidReliabilityStatus(
Object exact,
Object notifications,
Object screen,
) {
return 'الموثوقية: الدقيقة $exact · الإشعارات $notifications · الشاشة $screen';
}
@override
String get vacationRangesTitle => 'نطاقات الإجازات';
@override
String get addAction => 'إضافة';
@override
String get vacationRangesHint =>
'إذا كان المنبه لديه \"توقف في الإجازات\"، فسيتم تخطي هذه النطاقات تلقائيًا.';
@override
String get noVacationRangesLoaded => 'لا توجد نطاقات محمّلة.';
@override
String get deleteRangeTooltip => 'حذف النطاق';
@override
String get vacationsDefaultName => 'إجازات';
@override
String get newVacationRangeTitle => 'نطاق إجازة جديد';
@override
String get startField => 'البداية';
@override
String get endField => 'النهاية';
@override
String get saveRangeAction => 'حفظ النطاق';
@override
String get noAlarmsYetTitle => 'لا توجد منبهات بعد.';
@override
String get noAlarmsYetSubtitle => 'أنشئ واحدًا لتصميم استيقاظك الموسيقي.';
@override
String get ringingInternalAudioActive => 'يرن باستخدام الصوت الداخلي الآمن.';
@override
String get ringingPreparingInternalAudio => 'جارٍ تجهيز الصوت الداخلي الآمن.';
@override
String get stopAlarmAction => 'إيقاف المنبه';
@override
String get alarmStopFailedMessage =>
'تعذّر التأكد من إيقاف المنبه. حاول مرة أخرى.';
@override
String get alarmForceStopAction => 'إيقاف قسري';
@override
String get alarmMissedNotificationTitle => 'منبه فائت';
@override
String alarmMissedNotificationText(Object name) {
return 'تم كتم $name تلقائيًا بعد 10 دقائق.';
}
@override
String get pauseAction => 'إيقاف مؤقت';
@override
String miniPlayerOpenLabel(Object stationName) {
return 'فتح المشغل لـ $stationName';
}
@override
String get playerIconLabel => 'المشغل';
@override
String get playbackStatusConnecting => 'جارٍ الاتصال...';
@override
String get playbackStatusLive => 'مباشر';
@override
String get playbackStatusPaused => 'متوقف مؤقتًا';
@override
String get playbackStatusReconnecting => 'جارٍ إعادة الاتصال...';
@override
String get playbackStatusConnectionError => 'خطأ في الاتصال';
@override
String get playbackStatusStopped => 'متوقف';
@override
String stationSemanticLabel(Object stationName) {
return 'محطة $stationName';
}
@override
String get favoritesAddTooltip => 'إضافة إلى المفضلة';
@override
String favoritesAddedMessage(Object stationName) {
return 'تمت إضافة $stationName إلى المفضلة';
}
@override
String get stationIconLabel => 'أيقونة المحطة';
@override
String get liveNow => 'مباشر الآن';
@override
String equalizerBandLabel(Object band) {
return 'النطاق $band';
}
@override
String equalizerBandValue(Object value) {
return '$value ديسيبل';
}
@override
String get equalizerPresetFlat => 'مسطح';
@override
String get equalizerPresetRock => 'روك';
@override
String get equalizerPresetPop => 'بوب';
@override
String get equalizerPresetBassBoost => 'تعزيز الجهير';
@override
String get equalizerPresetJazz => 'جاز';
@override
String get equalizerPresetVoice => 'صوت';
@override
String get equalizerPresetCustom => 'مخصص';
@override
String get onboardingTitle => 'مرحبًا بك في PluriWave';
@override
String get onboardingNewsTitle => 'المستجدات';
@override
String get onboardingStartAction => 'ابدأ';
@override
String get onboardingCloseTooltip => 'إغلاق';
@override
String radioRecordingError(Object error) {
return 'خطأ أثناء تسجيل الراديو: $error';
}
@override
String get radioApiConnectionError =>
'لا يوجد اتصال بواجهة برمجة تطبيقات الراديو';
@override
String get radioSearchError => 'خطأ في البحث. تحقق من اتصالك.';
@override
String get radioLoadMoreStationsError => 'تعذر تحميل المزيد من المحطات.';
@override
String get radioNearbyStationsError =>
'تعذر علينا اكتشاف محطات قريبة. استخدم عوامل التصفية حسب البلد.';
@override
String radioCannotPlayStation(Object stationName) {
return 'لا يمكن تشغيل \"$stationName\"';
}
@override
String get recordingSelectStationFirst => 'اختر محطة أولًا للتسجيل.';
@override
String recordingStartError(Object error) {
return 'تعذر بدء التسجيل: $error';
}
@override
String get unsupportedConfigVersion => 'إصدار الإعدادات غير مدعوم';
@override
String get audioErrorGeneric => 'خطأ في التشغيل';
@override
String get audioErrorNoInternet => 'لا يوجد اتصال بالإنترنت';
@override
String get audioErrorInvalidUrl => 'عنوان الراديو غير صالح';
@override
String get audioErrorNotFound => 'الراديو غير متاح (خطأ 404)';
@override
String get audioErrorTimeout => 'انتهت مهلة الاتصال';
@override
String get audioErrorCannotConnect => 'لا يمكن الاتصال بالراديو';
@override
String get audioErrorUnsupportedFormat => 'تنسيق البث غير مدعوم';
@override
String get audioErrorDecode => 'خطأ أثناء فك ترميز بث الصوت';
@override
String get audioErrorCleartext =>
'تستخدم هذه المحطة HTTP غير مشفّر، وهذا غير مسموح';
@override
String get audioErrorSsl => 'شهادة SSL غير صالحة في الراديو';
@override
String get audioErrorCannotPlay => 'لا يمكن تشغيل هذه المحطة';
@override
String get audioErrorUnexpectedPlayback => 'خطأ غير متوقع أثناء التشغيل';
@override
String get androidExactAlarmScheduleError =>
'تعذر على Android جدولة منبه دقيق. تحقق من إذن المنبهات الدقيقة.';
@override
String get recordingPathEmptyError => 'لا يمكن أن يكون مسار التسجيل فارغًا';
@override
String get recordingMaxSizeInvalidError =>
'يجب أن يكون الحجم الأقصى أكبر من الصفر';
@override
String get recordingAlreadyActiveError => 'يوجد تسجيل قيد التنفيذ بالفعل';
@override
String get alarmRingingFallbackActive =>
'يعمل الآن باستخدام الصوت الداخلي الآمن.';
@override
String get alarmRingingPreparingFallback => 'جارٍ تجهيز الصوت الداخلي الآمن.';
@override
String get alarmRingingTryingStation =>
'جارٍ محاولة تشغيل محطتك بأعلى جودة متاحة.';
@override
String alarmScheduleOnce(Object date) {
return 'مرة واحدة · $date';
}
@override
String alarmScheduleWeekdays(Object days) {
return 'الأيام: $days';
}
@override
String get androidReliabilityTitle => 'مراجعة موثوقية Android';
@override
String get closeAction => 'إغلاق';
@override
String get customOption => 'مخصص';
@override
String get endLabel => 'النهاية';
@override
String get equalizerDisable => 'تعطيل المعادل';
@override
String get helpTitle => 'المساعدة والشرح';
@override
String get helpSubtitle => 'راجع ميزات PluriWave والنصائح والمستجدات.';
@override
String get indefiniteOption => 'غير محدد';
@override
String get invalidNumber => 'رقم غير صالح';
@override
String get nameLabel => 'الاسم';
@override
String get notPlaying => 'لا يتم التشغيل';
@override
String get oneTimeOption => 'مرة واحدة';
@override
String get pausePlaybackTooltip => 'إيقاف مؤقت';
@override
String qualityOriginal(Object quality) {
return 'الجودة الأصلية: $quality';
}
@override
String get qualityUnknown => 'الجودة غير مذكورة';
@override
String get recordAction => 'تسجيل';
@override
String get recordDurationTitle => 'مدة التسجيل';
@override
String get recordRadioSubtitle => 'اختر مدة التسجيل.';
@override
String get recordRadioTitle => 'تسجيل الراديو';
@override
String get recordingActiveTitle => 'جارٍ تسجيل الراديو';
@override
String get recordingDirectTitle => 'تسجيل مباشر';
@override
String get recordingsOpenFolderPlainError => 'تعذر فتح مجلد التسجيلات';
@override
String get recordingsOpenLatest => 'فتح آخر تسجيل';
@override
String get recordingsOpenLatestError => 'تعذر فتح آخر تسجيل';
@override
String get startLabel => 'البداية';
@override
String get startPlaybackTooltip => 'بدء التشغيل';
@override
String get stopAction => 'إيقاف';
@override
String get stopPlaybackTooltip => 'إيقاف التشغيل';
@override
String get weekdayShortMonday => 'الإثنين';
@override
String get weekdayShortTuesday => 'الثلاثاء';
@override
String get weekdayShortWednesday => 'الأربعاء';
@override
String get weekdayShortThursday => 'الخميس';
@override
String get weekdayShortFriday => 'الجمعة';
@override
String get weekdayShortSaturday => 'السبت';
@override
String get weekdayShortSunday => 'الأحد';
@override
String stationCount(int count) {
String _temp0 = intl.Intl.pluralLogic(
count,
locale: localeName,
other: '$count محطة',
few: '$count محطات',
two: 'محطتان',
one: 'محطة واحدة',
);
return '$_temp0';
}
@override
String get alarmIconLabel => 'منبه موسيقي';
@override
String get vacationIconLabel => 'وضع الإجازة';
@override
String get streamUrlHint => 'https://stream.example.com:8000/radio';
@override
String get advancedEqSectionTitle => 'خيارات المعادلة الصوتية المتقدمة';
@override
String get advancedEqEnableToggle => 'تفعيل EQ لكل جهاز';
@override
String get advancedEqEnableToggleSubtitle =>
'تطبيق إعداد EQ مختلف تلقائيًا عند تغيير مخرج الصوت.';
@override
String get advancedEqKnownDevicesTitle => 'أجهزة الصوت المعروفة';
@override
String get advancedEqKnownDevicesEmpty =>
'لم يتم تسجيل أي جهاز صوتي بعد. قم بتوصيل جهاز للبدء.';
@override
String advancedEqDevicePresetLabel(Object presetName) {
return 'الإعداد المسبق: $presetName';
}
@override
String preNoticeCountdown(int minutes) {
return 'يبدأ خلال $minutes دقيقة';
}
@override
String snoozeCountdown(int minutes) {
return 'يرنّ خلال $minutes دقيقة';
}
@override
String get snoozeAgainAction => 'غفوة مرة أخرى';
@override
String get alarmRingingNotificationTitle => 'منبّه PluriWave';
@override
String get alarmFireChannelName => 'المنبّهات الرنّانة';
@override
String get alarmFireChannelDescription =>
'صوت وشاشة عاجلة عندما يجب أن يرنّ منبّه موسيقي';
@override
String get alarmPreNoticeChannelName => 'تنبيهات المنبّهات';
@override
String get alarmPreNoticeChannelDescription => 'إشعارات صامتة قبل المنبّه';
@override
String get openFolderChooserTitle => 'فتح المجلد';
@override
String get openRecordingChooserTitle => 'فتح التسجيل';
@override
String get eqDeviceEditTitle => 'تعديل الجهاز';
@override
String get eqDeviceNameLabel => 'اسم الجهاز';
@override
String get eqDeviceNameHint => 'مثال: مكبر صوت غرفة المعيشة';
@override
String get eqDeviceNameConfirm => 'حفظ';
@override
String get eqDeviceConnected => 'متصل';
@override
String get eqDeviceActiveOutput => 'يتم إخراج الصوت من هذا الجهاز';
@override
String get eqDeviceRemove => 'إزالة الجهاز';
@override
String eqDeviceRemoved(Object device) {
return 'تمت إزالة $device';
}
@override
String get localMusicSectionTitle => 'الموسيقى المحلية (Android Auto)';
@override
String get localMusicSectionDescription =>
'اختر مجلدًا على هذا الجهاز لتصفح ملفاته الصوتية وتشغيلها من السيارة.';
@override
String get localMusicFolderNotConfigured => 'لم يتم تحديد مجلد';
@override
String get localMusicFolderTitle => 'مجلد الموسيقى المحلية';
@override
String get localMusicChoosePath => 'اختيار مجلد';
@override
String get localMusicChangePath => 'تغيير المجلد';
@override
String get localMusicFolderUpdated => 'تم تحديث مجلد الموسيقى المحلية';
@override
String localMusicFolderSaveError(Object error) {
return 'تعذّر حفظ المجلد: $error';
}
@override
String get localMusicFolderGenericName => 'مجلد محدد';
}