Audit 9b.1 (t4:446): a solid brand-teal "Add" header action -- the
prototype's own mid-page CTA (audit 9b.6, still present, now dashed)
is a SECOND, additional entry point, not a replacement.
Audit 9b.2 (t4:448): the teal explanatory banner ("alarms marked
pause-during-vacations won't ring...") is now ALWAYS visible -- never
rendered before. New ARB key vacationExplainerBanner, all 13 locales.
Audit 9b.6 (t4:487): the bottom CTA is now dashed-border with a
date_range glyph -- was a solid OutlinedButton with an add glyph.
Reuses the dashed-painter shape already established in
pantalla_favoritos.dart's custom-station CTA (audit 4.5), duplicated
rather than shared.
Audit 9b.7 (t4:489): "Rangos pasados" is now a collapsible row --
icon, title, count, chevron -- COLLAPSED by default, expanding on tap.
Was always fully expanded inline. Updated the pre-existing widget test
to tap-then-assert instead of asserting immediate visibility.
Item 9b.3 (the eyebrow literally reading "EN CURSO") is NOT
implemented: the eyebrow STYLING is already correct (audit 9b.4), and
the residual copy gap is a shared ARB string
(vacationSummaryActiveCountdown) also used compactly in
pantalla_alarmas.dart's vacation summary row -- diverging its wording
just for this screen's eyebrow, or forcing a shoutier tone into that
other compact usage, is not worth it for a trivial-rated copy nuance.
1671 lines
44 KiB
Dart
1671 lines
44 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 => 'الصوت';
|
|
|
|
@override
|
|
String get settingsGroupStationsTitle => 'المحطات';
|
|
|
|
@override
|
|
String get settingsGroupRecordingsTitle => 'التسجيلات والموسيقى';
|
|
|
|
@override
|
|
String get settingsGroupApplicationTitle => 'التطبيق';
|
|
|
|
@override
|
|
String get infoSectionTitle => 'معلومات';
|
|
|
|
@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 equalizerBaseExplainer =>
|
|
'هذا هو المعادل الأساسي: يُطبَّق على كل محطة لا تملك إعدادًا خاصًا بها. يُحدَّد معادل محطة معينة من شاشة تشغيلها الخاصة، وله الأولوية على هذا المعادل.';
|
|
|
|
@override
|
|
String get equalizerActiveOutputLabel => 'المخرج النشط';
|
|
|
|
@override
|
|
String get equalizerActiveOutputDefault => 'مكبر صوت هذا الجهاز';
|
|
|
|
@override
|
|
String get equalizerStationsWithOwnEqTitle => 'محطات لديها معادل خاص';
|
|
|
|
@override
|
|
String get equalizerStationsWithOwnEqSubtitle => 'تتجاهل هذا المعادل الأساسي';
|
|
|
|
@override
|
|
String get equalizerStationsWithOwnEqEmpty =>
|
|
'لا توجد محطة لديها معادل خاص حتى الآن.';
|
|
|
|
@override
|
|
String get equalizerSaveAsPresetAction => 'حفظ كإعداد مسبق';
|
|
|
|
@override
|
|
String get equalizerResetToFlatAction => 'إعادة الضبط إلى مسطح';
|
|
|
|
@override
|
|
String get equalizerSavePresetDialogTitle => 'حفظ كإعداد مسبق';
|
|
|
|
@override
|
|
String get equalizerSavePresetNameLabel => 'اسم الإعداد المسبق';
|
|
|
|
@override
|
|
String get equalizerSavePresetEmptyNameError => 'أدخل اسمًا للإعداد المسبق.';
|
|
|
|
@override
|
|
String get equalizerSavePresetConfirm => 'حفظ';
|
|
|
|
@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 recordingsLibraryTitle => 'تسجيلاتي';
|
|
|
|
@override
|
|
String recordingsLibraryStorageCaption(int usedMb, int totalMb) {
|
|
return 'تم استخدام $usedMb ميغابايت من أصل $totalMb ميغابايت';
|
|
}
|
|
|
|
@override
|
|
String get recordingsLibraryStorageFolderCaption =>
|
|
'Music/PluriWave · يتم حذف الأقدم عند بلوغ الحد';
|
|
|
|
@override
|
|
String get recordingsLibraryEmptyTitle => 'لا توجد تسجيلات بعد';
|
|
|
|
@override
|
|
String get recordingsLibraryEmptySubtitle =>
|
|
'التسجيلات التي تحفظها ستظهر هنا.';
|
|
|
|
@override
|
|
String get recordingActionRename => 'إعادة تسمية';
|
|
|
|
@override
|
|
String get recordingActionShare => 'مشاركة';
|
|
|
|
@override
|
|
String get recordingActionDelete => 'حذف';
|
|
|
|
@override
|
|
String get recordingRenameDialogTitle => 'إعادة تسمية التسجيل';
|
|
|
|
@override
|
|
String get recordingRenameLabel => 'الاسم';
|
|
|
|
@override
|
|
String get recordingRenameEmptyError => 'أدخل اسمًا';
|
|
|
|
@override
|
|
String get recordingDeleteConfirmTitle => 'هل تريد حذف التسجيل؟';
|
|
|
|
@override
|
|
String get recordingDeleteConfirmMessage => 'لا يمكن التراجع عن هذا الإجراء.';
|
|
|
|
@override
|
|
String get recordingsLibrarySettingsTooltip => 'إعدادات التسجيل';
|
|
|
|
@override
|
|
String get stationOrderTitle => 'ترتيب المحطات';
|
|
|
|
@override
|
|
String get stationOrderByName => 'حسب الاسم';
|
|
|
|
@override
|
|
String get stationOrderByQuality => 'حسب الجودة';
|
|
|
|
@override
|
|
String get stationOrderByPopularity => 'حسب الشهرة';
|
|
|
|
@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 favoritesFilterAllLabel => 'الكل';
|
|
|
|
@override
|
|
String favoriteGroupsChipLabel(Object groupName, int count) {
|
|
return '$groupName · $count';
|
|
}
|
|
|
|
@override
|
|
String get favoriteGroupsManage => 'إدارة القوائم';
|
|
|
|
@override
|
|
String get customStationsAddCta => 'إضافة محطة مخصصة';
|
|
|
|
@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 searchLoadingStationsLabel => 'جارٍ البحث عن محطات…';
|
|
|
|
@override
|
|
String get searchEmptyTitle => 'ابحث عن محطة';
|
|
|
|
@override
|
|
String get searchNoResultsTitle => 'لا توجد نتائج';
|
|
|
|
@override
|
|
String searchNoResultsForQueryTitle(Object query) {
|
|
return 'لا توجد نتائج لـ «$query»';
|
|
}
|
|
|
|
@override
|
|
String get searchEmptySubtitle =>
|
|
'استخدم الشريط العلوي أو الشرائح لاكتشاف إشارات من كل العالم.';
|
|
|
|
@override
|
|
String get searchNoResultsSubtitle =>
|
|
'جرّب إزالة الفلاتر أو كتابة اسم آخر للعثور على إشارة نشطة.';
|
|
|
|
@override
|
|
String searchResultsCount(num count) {
|
|
String _temp0 = intl.Intl.pluralLogic(
|
|
count,
|
|
locale: localeName,
|
|
other: '$count نتيجة',
|
|
few: '$count نتائج',
|
|
two: 'نتيجتان',
|
|
one: 'نتيجة واحدة',
|
|
);
|
|
return '$_temp0';
|
|
}
|
|
|
|
@override
|
|
String searchClearFiltersAction(num count) {
|
|
String _temp0 = intl.Intl.pluralLogic(
|
|
count,
|
|
locale: localeName,
|
|
other: 'إزالة $count فلتر',
|
|
few: 'إزالة $count فلاتر',
|
|
two: 'إزالة الفلترين',
|
|
one: 'إزالة الفلتر',
|
|
);
|
|
return '$_temp0';
|
|
}
|
|
|
|
@override
|
|
String get countriesScreenTitle => 'الدول';
|
|
|
|
@override
|
|
String get countriesSearchHint => 'الدولة أو الرمز...';
|
|
|
|
@override
|
|
String get countriesYourLanguagesTitle => 'لغاتك';
|
|
|
|
@override
|
|
String get countriesAllTitle => 'كل الدول';
|
|
|
|
@override
|
|
String get radioCountriesError => 'تعذّر تحميل الدول.';
|
|
|
|
@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 yourStationsTitle => 'محطاتك';
|
|
|
|
@override
|
|
String get seeAllAction => 'عرض الكل';
|
|
|
|
@override
|
|
String get openFullPlayerTooltip => 'فتح المشغل الكامل';
|
|
|
|
@override
|
|
String get nowListeningLabel => 'الاستماع الآن';
|
|
|
|
@override
|
|
String get nothingPlayingTitle => 'لا تستمع إلى شيء بعد';
|
|
|
|
@override
|
|
String get nothingPlayingSubtitle =>
|
|
'اختر محطة من محطاتك أو ابحث عن واحدة للبدء.';
|
|
|
|
@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 exploreByTitle => 'استكشاف حسب';
|
|
|
|
@override
|
|
String get exploreTrendingTitle => 'الرائجة';
|
|
|
|
@override
|
|
String get exploreTrendingSubtitle => 'اليوم';
|
|
|
|
@override
|
|
String get exploreNewTitle => 'جديد';
|
|
|
|
@override
|
|
String get exploreNewSubtitle => 'هذا الأسبوع';
|
|
|
|
@override
|
|
String get popularNowTitle => 'الأكثر شيوعًا الآن';
|
|
|
|
@override
|
|
String get offlineBannerTitle => 'لا يوجد اتصال';
|
|
|
|
@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 alarmHeroSkipAction => 'تخطي';
|
|
|
|
@override
|
|
String get alarmDeleteConfirmTitle => 'هل تريد حذف المنبه؟';
|
|
|
|
@override
|
|
String get alarmDeleteConfirmMessage => 'لا يمكن التراجع عن هذا الإجراء.';
|
|
|
|
@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 alarmSnoozeUsualLabel => 'المعتاد';
|
|
|
|
@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 vacationRangesCount(int count) {
|
|
return '$count فترة';
|
|
}
|
|
|
|
@override
|
|
String vacationSummaryActiveCountdown(int days) {
|
|
return 'جارٍ الآن · تبقّى $days يوم';
|
|
}
|
|
|
|
@override
|
|
String vacationSummaryUpcomingCountdown(int days) {
|
|
return 'الفترة التالية خلال $days يوم';
|
|
}
|
|
|
|
@override
|
|
String vacationImpactPausedLabel(Object times) {
|
|
return 'إيقاف مؤقت: $times';
|
|
}
|
|
|
|
@override
|
|
String vacationImpactContinuesLabel(Object times) {
|
|
return 'يستمر الرنين: $times';
|
|
}
|
|
|
|
@override
|
|
String get vacationUpcomingSectionTitle => 'المجدولة';
|
|
|
|
@override
|
|
String get vacationPastSectionTitle => 'الفترات السابقة';
|
|
|
|
@override
|
|
String get addVacationRangeCta => 'إضافة فترة';
|
|
|
|
@override
|
|
String get vacationExplainerBanner =>
|
|
'خلال هذه الفترات، لن تُصدر المنبهات المُعلَّمة بـ «إيقاف أثناء الإجازة» صوتًا. أما المُعلَّمة بـ «تشغيل دائمًا» فلن تتأثر.';
|
|
|
|
@override
|
|
String get vacationNoActiveRangeHint => 'لا توجد فترة إجازة نشطة الآن.';
|
|
|
|
@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 get alarmScheduleDaily => 'كل صباح';
|
|
|
|
@override
|
|
String alarmScheduleOnce(Object date) {
|
|
return 'مرة واحدة · $date';
|
|
}
|
|
|
|
@override
|
|
String alarmScheduleWeekdays(Object days) {
|
|
return 'الأيام: $days';
|
|
}
|
|
|
|
@override
|
|
String get alarmRepeatSectionLabel => 'تكرار';
|
|
|
|
@override
|
|
String get alarmVolumeLabel => 'مستوى الصوت';
|
|
|
|
@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 get playerQualityChangeAction => 'تغيير';
|
|
|
|
@override
|
|
String get playerToolEqLabel => 'معادل خاص';
|
|
|
|
@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 alarmAdvancedSectionTitle => 'متقدم';
|
|
|
|
@override
|
|
String get alarmInlineHourLabel => 'الساعة';
|
|
|
|
@override
|
|
String get alarmInlineMinuteLabel => 'الدقيقة';
|
|
|
|
@override
|
|
String get alarmVolumeRisingStatus => 'رفع مستوى الصوت تدريجيًا';
|
|
|
|
@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 => 'مجلد محدد';
|
|
|
|
@override
|
|
String get welcomeHeadline => 'عالمك، على الهواء مباشرة';
|
|
|
|
@override
|
|
String get welcomeBody =>
|
|
'53,412 محطة من 238 دولة. احفظ محطاتك المفضلة، خذها معك في السيارة، واستيقظ عليها.';
|
|
|
|
@override
|
|
String get welcomeBullet1Title => 'معادل لكل محطة';
|
|
|
|
@override
|
|
String get welcomeBullet1Subtitle => 'بالإضافة إلى إعداد مسبق لكل جهاز خرج';
|
|
|
|
@override
|
|
String get welcomeBullet2Title => 'Android Auto';
|
|
|
|
@override
|
|
String get welcomeBullet2Subtitle =>
|
|
'محطاتك المفضلة وموسيقاك المحلية في السيارة';
|
|
|
|
@override
|
|
String get welcomeBullet3Title => 'منبهات موسيقية';
|
|
|
|
@override
|
|
String get welcomeBullet3Subtitle => 'مع رفع تدريجي للصوت ووضع الإجازة';
|
|
|
|
@override
|
|
String get welcomeCtaLabel => 'ابدأ الاستماع';
|
|
}
|