From 80e704fd26e3c307f8e9ee2f80a83bb372256b1b Mon Sep 17 00:00:00 2001 From: Zarz Eleutherius <42882290+zarzet@users.noreply.github.com> Date: Sun, 28 Jun 2026 11:03:47 +0700 Subject: [PATCH] New translations app_en.arb (Arabic) [ci skip] --- lib/l10n/arb/app_ar.arb | 378 ++++++++++++++++++++-------------------- 1 file changed, 189 insertions(+), 189 deletions(-) diff --git a/lib/l10n/arb/app_ar.arb b/lib/l10n/arb/app_ar.arb index b8793dd1..a38d4615 100644 --- a/lib/l10n/arb/app_ar.arb +++ b/lib/l10n/arb/app_ar.arb @@ -166,39 +166,39 @@ } } }, - "optionsDefaultSearchTab": "Default Search Tab", + "optionsDefaultSearchTab": "تبويب البحث الافتراضي", "@optionsDefaultSearchTab": { "description": "Title for the preferred default search tab setting" }, - "optionsDefaultSearchTabSubtitle": "Choose which tab opens first for new search results.", + "optionsDefaultSearchTabSubtitle": "اختر علامة التبويب التي تفتح أولاً لنتائج البحث الجديدة.", "@optionsDefaultSearchTabSubtitle": { "description": "Subtitle for the preferred default search tab setting" }, - "optionsSwitchBack": "Choose the default search provider to switch back from an extension", + "optionsSwitchBack": "اختر مزود البحث الافتراضي للتبديل من مكون إضافي", "@optionsSwitchBack": { "description": "Hint to switch back from extension search" }, - "optionsAutoFallback": "Auto Fallback", + "optionsAutoFallback": "التراجع التلقائي", "@optionsAutoFallback": { "description": "Auto-retry with other services" }, - "optionsAutoFallbackSubtitle": "Try other services if download fails", + "optionsAutoFallbackSubtitle": "تجربة خدمات أخرى إذا فشل التنزيل", "@optionsAutoFallbackSubtitle": { "description": "Subtitle for auto fallback" }, - "optionsUseExtensionProviders": "Use Extension Providers", + "optionsUseExtensionProviders": "استخدام مزودي الإضافات", "@optionsUseExtensionProviders": { "description": "Legacy setting label for extension download providers" }, - "optionsUseExtensionProvidersOn": "Extension providers are enabled", + "optionsUseExtensionProvidersOn": "مزودي الإضافات مفعلين", "@optionsUseExtensionProvidersOn": { "description": "Status when extension providers enabled" }, - "optionsUseExtensionProvidersOff": "Extension providers are required", + "optionsUseExtensionProvidersOff": "مزودي الإضافات مطلوبين", "@optionsUseExtensionProvidersOff": { "description": "Legacy status when extension providers would be disabled" }, - "optionsEmbedLyrics": "Embed Lyrics", + "optionsEmbedLyrics": "تضمين كلمات الأغنية", "@optionsEmbedLyrics": { "description": "Embed lyrics in audio files" }, @@ -206,47 +206,47 @@ "@optionsEmbedLyricsSubtitle": { "description": "Subtitle for embed lyrics" }, - "optionsMaxQualityCover": "اختيار اعلى جودة للغلاف", + "optionsMaxQualityCover": "اختيار أعلى جودة للغلاف", "@optionsMaxQualityCover": { "description": "Download highest quality album art" }, - "optionsMaxQualityCoverSubtitle": "Download highest resolution cover art", + "optionsMaxQualityCoverSubtitle": "تنزيل أعلى دقة لغلاف الأغنية", "@optionsMaxQualityCoverSubtitle": { "description": "Subtitle for max quality cover" }, - "optionsReplayGain": "ReplayGain", + "optionsReplayGain": "ReplyGain", "@optionsReplayGain": { "description": "Title for ReplayGain setting toggle" }, - "optionsReplayGainSubtitleOn": "Scan loudness and embed ReplayGain tags (EBU R128)", + "optionsReplayGainSubtitleOn": "مسح الصوت و تضمين علامات ReplayGain (EBU R128)", "@optionsReplayGainSubtitleOn": { "description": "Subtitle when ReplayGain is enabled" }, - "optionsReplayGainSubtitleOff": "Disabled: no loudness normalization tags", + "optionsReplayGainSubtitleOff": "معطل: لا توجد علامات تطبيع للصوت", "@optionsReplayGainSubtitleOff": { "description": "Subtitle when ReplayGain is disabled" }, - "trackReplayGain": "Rescan ReplayGain", + "trackReplayGain": "إعادة مسح ReplyGain", "@trackReplayGain": { "description": "Three-dot menu option to scan loudness and write ReplayGain tags" }, - "trackReplayGainSubtitle": "Analyze loudness and write ReplayGain tags", + "trackReplayGainSubtitle": "تحليل ارتفاع الصوت وكتابة وسوم ReplayGain", "@trackReplayGainSubtitle": { "description": "Subtitle for the rescan ReplayGain menu option" }, - "trackReplayGainScanning": "Analyzing loudness...", + "trackReplayGainScanning": "تحليل الصوت...", "@trackReplayGainScanning": { "description": "Snackbar/progress message while scanning ReplayGain for a single track" }, - "trackReplayGainSuccess": "ReplayGain tags added", + "trackReplayGainSuccess": "تم إضافة وسم ReplyGain", "@trackReplayGainSuccess": { "description": "Snackbar message after ReplayGain tags written for a single track" }, - "trackReplayGainFailed": "Failed to add ReplayGain tags", + "trackReplayGainFailed": "فشل في إضافة علامات ReplayGain", "@trackReplayGainFailed": { "description": "Snackbar message when ReplayGain scan/write fails" }, - "selectionReplayGainCount": "ReplayGain ({count})", + "selectionReplayGainCount": "ٌReplyGain ({count})", "@selectionReplayGainCount": { "description": "Batch selection action button label for ReplayGain", "placeholders": { @@ -255,11 +255,11 @@ } } }, - "replayGainBatchConfirmTitle": "Add ReplayGain", + "replayGainBatchConfirmTitle": "إضافة ReplyGain", "@replayGainBatchConfirmTitle": { "description": "Title of the batch ReplayGain confirmation dialog" }, - "replayGainBatchConfirmMessage": "Analyze loudness and write ReplayGain tags to {count} track(s)?", + "replayGainBatchConfirmMessage": "تحليل الصوت وكتابة وسوم ReplayGain إلى مسار(مسارات) {count}؟", "@replayGainBatchConfirmMessage": { "description": "Message of the batch ReplayGain confirmation dialog", "placeholders": { @@ -268,11 +268,11 @@ } } }, - "replayGainBatchAnalyzing": "Analyzing ReplayGain...", + "replayGainBatchAnalyzing": "تحليل ReplyGain...", "@replayGainBatchAnalyzing": { "description": "Progress dialog title while batch scanning ReplayGain" }, - "replayGainBatchSuccess": "ReplayGain added to {success} of {total} tracks", + "replayGainBatchSuccess": "تمت إضافة وسوم ReplyGain ل {success} أغنية من أصل {total}", "@replayGainBatchSuccess": { "description": "Snackbar after batch ReplayGain completes", "placeholders": { @@ -284,87 +284,87 @@ } } }, - "optionsArtistTagMode": "Artist Tag Mode", + "optionsArtistTagMode": "وضع وسم الفنان", "@optionsArtistTagMode": { "description": "Setting title for how artist metadata is written into files" }, - "optionsArtistTagModeDescription": "Choose how multiple artists are written into embedded tags.", + "optionsArtistTagModeDescription": "اختر كيف يتم كتابة العديد من الفنانين في العلامات المضمنة.", "@optionsArtistTagModeDescription": { "description": "Bottom-sheet description for artist tag mode setting" }, - "optionsArtistTagModeJoined": "Single joined value", + "optionsArtistTagModeJoined": "قيمة مشتركة واحدة", "@optionsArtistTagModeJoined": { "description": "Artist tag mode option that joins multiple artists into one value" }, - "optionsArtistTagModeJoinedSubtitle": "Write one ARTIST value like \"Artist A, Artist B\" for maximum player compatibility.", + "optionsArtistTagModeJoinedSubtitle": "اكتب قيمة ARTIST واحدة مثل \"الفنان A، الفنان B\" لتحقيق التوافق الأقصى لمشغل الأغاني.", "@optionsArtistTagModeJoinedSubtitle": { "description": "Subtitle for joined artist tag mode" }, - "optionsArtistTagModeSplitVorbis": "Split tags for FLAC/Opus", + "optionsArtistTagModeSplitVorbis": "تقسيم العلامات على FLAC/Opus", "@optionsArtistTagModeSplitVorbis": { "description": "Artist tag mode option that writes repeated ARTIST tags for Vorbis formats" }, - "optionsArtistTagModeSplitVorbisSubtitle": "Write one artist tag per artist for FLAC and Opus; MP3 and M4A stay joined.", + "optionsArtistTagModeSplitVorbisSubtitle": "اكتب علامة فنان لكل فنان لـ FLAC و Opus؛ تبقى MP3 و M4A منضمة.", "@optionsArtistTagModeSplitVorbisSubtitle": { "description": "Subtitle for split Vorbis artist tag mode" }, - "optionsExtensionStore": "Extension Repo", + "optionsExtensionStore": "مستودع الإضافات", "@optionsExtensionStore": { "description": "Show/hide store tab" }, - "optionsExtensionStoreSubtitle": "Show Repo tab in navigation", + "optionsExtensionStoreSubtitle": "إظهار صفحة المستودع في شريط التنقل", "@optionsExtensionStoreSubtitle": { "description": "Subtitle for extension store toggle" }, - "optionsCheckUpdates": "Check for Updates", + "optionsCheckUpdates": "التحقق من وجود تحديثات", "@optionsCheckUpdates": { "description": "Auto update check toggle" }, - "optionsCheckUpdatesSubtitle": "Notify when new version is available", + "optionsCheckUpdatesSubtitle": "إعلام عند توفر إصدار جديد", "@optionsCheckUpdatesSubtitle": { "description": "Subtitle for update check" }, - "optionsUpdateChannel": "Update Channel", + "optionsUpdateChannel": "قناة التحديث", "@optionsUpdateChannel": { "description": "Stable vs preview releases" }, - "optionsUpdateChannelStable": "Stable releases only", + "optionsUpdateChannelStable": "الإصدارات المستقرة فقط", "@optionsUpdateChannelStable": { "description": "Only stable updates" }, - "optionsUpdateChannelPreview": "Get preview releases", + "optionsUpdateChannelPreview": "الحصول على إصدارات تجريبية", "@optionsUpdateChannelPreview": { "description": "Include beta/preview updates" }, - "optionsUpdateChannelWarning": "Preview may contain bugs or incomplete features", + "optionsUpdateChannelWarning": "قد تحتوي الإصدارات التجريبية أخطاءً أو ميزات غير مكتملة", "@optionsUpdateChannelWarning": { "description": "Warning about preview channel" }, - "optionsClearHistory": "Clear Download History", + "optionsClearHistory": "مسح سجل التحميلات", "@optionsClearHistory": { "description": "Delete all download history" }, - "optionsClearHistorySubtitle": "Remove all downloaded tracks from history", + "optionsClearHistorySubtitle": "إزالة جميع الأغاني التي تم تنزيلها من السجل", "@optionsClearHistorySubtitle": { "description": "Subtitle for clear history" }, - "optionsDetailedLogging": "Detailed Logging", + "optionsDetailedLogging": "تسجيل تفصيلي", "@optionsDetailedLogging": { "description": "Enable verbose logs for debugging" }, - "optionsDetailedLoggingOn": "Detailed logs are being recorded", + "optionsDetailedLoggingOn": "يتم تسجيل السجلات التفصيلية", "@optionsDetailedLoggingOn": { "description": "Status when logging enabled" }, - "optionsDetailedLoggingOff": "Enable for bug reports", + "optionsDetailedLoggingOff": "تمكين لتقارير الأخطاء", "@optionsDetailedLoggingOff": { "description": "Status when logging disabled" }, - "optionsSpotifyCredentials": "Spotify Credentials", + "optionsSpotifyCredentials": "بيانات اعتماد Spotify", "@optionsSpotifyCredentials": { "description": "Spotify API credentials setting" }, - "optionsSpotifyCredentialsConfigured": "Client ID: {clientId}...", + "optionsSpotifyCredentialsConfigured": "معرف العميل: {clientId}...", "@optionsSpotifyCredentialsConfigured": { "description": "Shows configured client ID preview", "placeholders": { @@ -373,27 +373,27 @@ } } }, - "optionsSpotifyCredentialsRequired": "Required - tap to configure", + "optionsSpotifyCredentialsRequired": "مطلوب - انقر للتهيئة", "@optionsSpotifyCredentialsRequired": { "description": "Prompt to set up credentials" }, - "optionsSpotifyWarning": "Spotify requires your own API credentials. Get them free from developer.spotify.com", + "optionsSpotifyWarning": "Spotify يتطلب بيانات اعتماد API الخاصة بك. احصل عليها مجاناً من developer.spotify.com", "@optionsSpotifyWarning": { "description": "Info about Spotify API requirement" }, - "optionsSpotifyDeprecationWarning": "Spotify search will be deprecated on March 3, 2026 due to Spotify API changes. Please switch to Deezer.", + "optionsSpotifyDeprecationWarning": "سيتم إلغاء البحث في Spotify في 3 مارس 2026 بسبب تغييرات API Spotify. الرجاء التبديل إلى Deezer.", "@optionsSpotifyDeprecationWarning": { "description": "Warning about Spotify API deprecation" }, - "extensionsTitle": "Extensions", + "extensionsTitle": "الإضافات", "@extensionsTitle": { "description": "Extensions page title" }, - "extensionsDisabled": "Disabled", + "extensionsDisabled": "معطَّل", "@extensionsDisabled": { "description": "Extension status - inactive" }, - "extensionsVersion": "Version {version}", + "extensionsVersion": "الإصدار {version}", "@extensionsVersion": { "description": "Extension version display", "placeholders": { @@ -402,7 +402,7 @@ } } }, - "extensionsAuthor": "by {author}", + "extensionsAuthor": "من قِبل {author}", "@extensionsAuthor": { "description": "Extension author credit", "placeholders": { @@ -411,151 +411,151 @@ } } }, - "extensionsUninstall": "Uninstall", + "extensionsUninstall": "إلغاء التثبيت", "@extensionsUninstall": { "description": "Uninstall extension button" }, - "storeTitle": "Extension Repo", + "storeTitle": "مستودع الإضافات", "@storeTitle": { "description": "Store screen title" }, - "storeSearch": "Search extensions...", + "storeSearch": "البحث في الإضافات...", "@storeSearch": { "description": "Store search placeholder" }, - "storeInstall": "Install", + "storeInstall": "تثبيت", "@storeInstall": { "description": "Install extension button" }, - "storeInstalled": "Installed", + "storeInstalled": "مثبت", "@storeInstalled": { "description": "Already installed badge" }, - "storeUpdate": "Update", + "storeUpdate": "تحديث", "@storeUpdate": { "description": "Update available button" }, - "aboutTitle": "About", + "aboutTitle": "حول", "@aboutTitle": { "description": "About page title" }, - "aboutContributors": "Contributors", + "aboutContributors": "المساهمون", "@aboutContributors": { "description": "Section for contributors" }, - "aboutMobileDeveloper": "Mobile version developer", + "aboutMobileDeveloper": "مطور نسخة الهاتف", "@aboutMobileDeveloper": { "description": "Role description for mobile dev" }, - "aboutOriginalCreator": "Creator of the original SpotiFLAC", + "aboutOriginalCreator": "مطور SpotiFLAC الأصلي", "@aboutOriginalCreator": { "description": "Role description for original creator" }, - "aboutLogoArtist": "The talented artist who created our beautiful app logo!", + "aboutLogoArtist": "الفنان الموهوب الذي أنشأ شعار التطبيق الجميل!", "@aboutLogoArtist": { "description": "Role description for logo artist" }, - "aboutTranslators": "Translators", + "aboutTranslators": "المترجمون", "@aboutTranslators": { "description": "Section for translators" }, - "aboutSpecialThanks": "Special Thanks", + "aboutSpecialThanks": "شكر خاص لِ", "@aboutSpecialThanks": { "description": "Section for special thanks" }, - "aboutLinks": "Links", + "aboutLinks": "روابط", "@aboutLinks": { "description": "Section for external links" }, - "aboutMobileSource": "Mobile source code", + "aboutMobileSource": "كود مصدر برنامج الهاتف", "@aboutMobileSource": { "description": "Link to mobile GitHub repo" }, - "aboutPCSource": "PC source code", + "aboutPCSource": "كود مصدر برنامج الكمبيوتر", "@aboutPCSource": { "description": "Link to PC GitHub repo" }, - "aboutKeepAndroidOpen": "Keep Android Open", + "aboutKeepAndroidOpen": "ابقي اندرويد مفتوحا", "@aboutKeepAndroidOpen": { "description": "Link to Keep Android Open campaign website" }, - "aboutReportIssue": "Report an issue", + "aboutReportIssue": "الإبلاغ عن خطأ", "@aboutReportIssue": { "description": "Link to report bugs" }, - "aboutReportIssueSubtitle": "Report any problems you encounter", + "aboutReportIssueSubtitle": "الإبلاغ عن أي مشكلة تواجهك", "@aboutReportIssueSubtitle": { "description": "Subtitle for report issue" }, - "aboutFeatureRequest": "Feature request", + "aboutFeatureRequest": "اقتراح ميزة", "@aboutFeatureRequest": { "description": "Link to suggest features" }, - "aboutFeatureRequestSubtitle": "Suggest new features for the app", + "aboutFeatureRequestSubtitle": "اقتراح ميزات جديدة للتطبيق", "@aboutFeatureRequestSubtitle": { "description": "Subtitle for feature request" }, - "aboutTelegramChannel": "Telegram Channel", + "aboutTelegramChannel": "قناة تيليجرام", "@aboutTelegramChannel": { "description": "Link to Telegram channel" }, - "aboutTelegramChannelSubtitle": "Announcements and updates", + "aboutTelegramChannelSubtitle": "الإعلانات والتحديثات", "@aboutTelegramChannelSubtitle": { "description": "Subtitle for Telegram channel" }, - "aboutTelegramChat": "Telegram Community", + "aboutTelegramChat": "مجتمع تليجرام", "@aboutTelegramChat": { "description": "Link to Telegram chat group" }, - "aboutTelegramChatSubtitle": "Chat with other users", + "aboutTelegramChatSubtitle": "الدردشة مع المستخدمين الآخرين", "@aboutTelegramChatSubtitle": { "description": "Subtitle for Telegram chat" }, - "aboutSocial": "Social", + "aboutSocial": "التواصل الإجتماعي", "@aboutSocial": { "description": "Section for social links" }, - "aboutApp": "App", + "aboutApp": "التطبيق", "@aboutApp": { "description": "Section for app info" }, - "aboutVersion": "Version", + "aboutVersion": "الإصدار", "@aboutVersion": { "description": "Version info label" }, - "aboutBinimumDesc": "The creator of QQDL & HiFi API. This project helped shape lossless download support.", + "aboutBinimumDesc": "منشئ API QQDL و HiFi. ساعد هذا المشروع في تشكيل دعم تحميل غير فاقد للجودة.", "@aboutBinimumDesc": { "description": "Credit description for binimum" }, - "aboutSachinsenalDesc": "The original HiFi project creator. A foundation for lossless-source integration.", + "aboutSachinsenalDesc": "منشئ مشروع HiFi الأصلي. مؤسسة للتكامل بدون مصدر.", "@aboutSachinsenalDesc": { "description": "Credit description for sachinsenal0x64" }, - "aboutSjdonadoDesc": "Creator of I Don't Have Spotify (IDHS). The fallback link resolver that saves the day!", + "aboutSjdonadoDesc": "منشئ ل I Don't Have Spotify (IHDS). محلل الروابط الذي ينقذ اليوم!", "@aboutSjdonadoDesc": { "description": "Credit description for sjdonado" }, - "aboutAppDescription": "Search music metadata, manage extensions, and organize your library.", + "aboutAppDescription": "البحث عن بيانات التعريف الموسيقي، وإدارة الملحقات، وتنظيم مكتبتك.", "@aboutAppDescription": { "description": "App description in header card" }, - "artistAlbums": "Albums", + "artistAlbums": "الألبومات", "@artistAlbums": { "description": "Section header for artist albums" }, - "artistSingles": "Singles & EPs", + "artistSingles": "الأغاني و ال EPs", "@artistSingles": { "description": "Section header for singles/EPs" }, - "artistCompilations": "Compilations", + "artistCompilations": "التجميع", "@artistCompilations": { "description": "Section header for compilations" }, - "artistPopular": "Popular", + "artistPopular": "الأكثر شعبية", "@artistPopular": { "description": "Section header for popular/top tracks" }, - "artistMonthlyListeners": "{count} monthly listeners", + "artistMonthlyListeners": "{count} مستمع شهري", "@artistMonthlyListeners": { "description": "Monthly listener count display", "placeholders": { @@ -565,47 +565,47 @@ } } }, - "trackMetadataService": "Service", + "trackMetadataService": "الخدمة", "@trackMetadataService": { "description": "Metadata field - download service used" }, - "trackMetadataPlay": "Play", + "trackMetadataPlay": "تشغيل", "@trackMetadataPlay": { "description": "Action button - play track" }, - "trackMetadataShare": "Share", + "trackMetadataShare": "مشاركة", "@trackMetadataShare": { "description": "Action button - share track" }, - "trackMetadataDelete": "Delete", + "trackMetadataDelete": "حذف", "@trackMetadataDelete": { "description": "Action button - delete track" }, - "setupGrantPermission": "Grant Permission", + "setupGrantPermission": "منح الصلاحيات", "@setupGrantPermission": { "description": "Button to request permission" }, - "setupSkip": "Skip for now", + "setupSkip": "التخطي الآن", "@setupSkip": { "description": "Skip current step button" }, - "setupStorageAccessRequired": "Storage Access Required", + "setupStorageAccessRequired": "إذن دخول وحدة التخزين مطلوب", "@setupStorageAccessRequired": { "description": "Title when storage access needed" }, - "setupStorageAccessMessageAndroid11": "Android 11+ requires \"All files access\" permission to save files to your chosen download folder.", + "setupStorageAccessMessageAndroid11": "يتطلب أندرويد 11+ إذن \"الوصول إلى جميع الملفات\" لحفظ الملفات في مجلد التحميل الذي اخترته.", "@setupStorageAccessMessageAndroid11": { "description": "Android 11+ specific explanation" }, - "setupOpenSettings": "Open Settings", + "setupOpenSettings": "فتح الإعدادات", "@setupOpenSettings": { "description": "Button to open system settings" }, - "setupPermissionDeniedMessage": "Permission denied. Please grant all permissions to continue.", + "setupPermissionDeniedMessage": "تم رفض الإذن. الرجاء منح كافة الصلاحيات للمتابعة.", "@setupPermissionDeniedMessage": { "description": "Error when permission denied" }, - "setupPermissionRequired": "{permissionType} Permission Required", + "setupPermissionRequired": "{permissionType} مطلوب الإذن", "@setupPermissionRequired": { "description": "Generic permission required title", "placeholders": { @@ -615,7 +615,7 @@ } } }, - "setupPermissionRequiredMessage": "{permissionType} permission is required for the best experience. You can change this later in Settings.", + "setupPermissionRequiredMessage": "الإذن {permissionType} مطلوب لأفضل التجربة. يمكنك تغيير هذا لاحقاً في الإعدادات.", "@setupPermissionRequiredMessage": { "description": "Generic permission required message", "placeholders": { @@ -624,63 +624,63 @@ } } }, - "setupUseDefaultFolder": "Use Default Folder?", + "setupUseDefaultFolder": "استخدام المجلد الافتراضي؟", "@setupUseDefaultFolder": { "description": "Dialog title for default folder" }, - "setupNoFolderSelected": "No folder selected. Would you like to use the default Music folder?", + "setupNoFolderSelected": "لم يتم تحديد مجلد. هل ترغب في استخدام مجلد الموسيقى الافتراضي؟", "@setupNoFolderSelected": { "description": "Prompt when no folder selected" }, - "setupUseDefault": "Use Default", + "setupUseDefault": "استخدم الافتراضي", "@setupUseDefault": { "description": "Button to use default folder" }, - "setupDownloadLocationTitle": "Download Location", + "setupDownloadLocationTitle": "موقع حفظ التنزيلات", "@setupDownloadLocationTitle": { "description": "Download location dialog title" }, - "setupDownloadLocationIosMessage": "On iOS, downloads are saved to the app's Documents folder. You can access them via the Files app.", + "setupDownloadLocationIosMessage": "على iOS، يتم حفظ التحميلات إلى مجلد مستندات التطبيق. يمكنك الوصول إليها عبر تطبيق الملفات.", "@setupDownloadLocationIosMessage": { "description": "iOS-specific folder info" }, - "setupAppDocumentsFolder": "App Documents Folder", + "setupAppDocumentsFolder": "مجلد مستندات التطبيق", "@setupAppDocumentsFolder": { "description": "iOS documents folder option" }, - "setupAppDocumentsFolderSubtitle": "Recommended - accessible via Files app", + "setupAppDocumentsFolderSubtitle": "موصى به - يمكن الوصول إليه عبر تطبيق الملفات", "@setupAppDocumentsFolderSubtitle": { "description": "Subtitle for documents folder" }, - "setupChooseFromFiles": "Choose from Files", + "setupChooseFromFiles": "اختر من الملفات", "@setupChooseFromFiles": { "description": "iOS file picker option" }, - "setupChooseFromFilesSubtitle": "Select iCloud or other location", + "setupChooseFromFilesSubtitle": "حدد iCloud أو موقع آخر", "@setupChooseFromFilesSubtitle": { "description": "Subtitle for file picker" }, - "setupIosEmptyFolderWarning": "iOS limitation: Empty folders cannot be selected. Choose a folder with at least one file.", + "setupIosEmptyFolderWarning": "حدود iOS: لا يمكن تحديد مجلدات فارغة. اختر مجلدا مع ملف واحد على الأقل.", "@setupIosEmptyFolderWarning": { "description": "iOS folder selection warning" }, - "setupIcloudNotSupported": "iCloud Drive is not supported. Please use the app Documents folder.", + "setupIcloudNotSupported": "iCloud Drive غير مدعوم. الرجاء استخدام مجلد مستندات التطبيق.", "@setupIcloudNotSupported": { "description": "Error when user selects iCloud Drive on iOS" }, - "setupDownloadInFlac": "Download Spotify tracks in FLAC", + "setupDownloadInFlac": "تحميل اغاني Spotify بصيغة FLAC", "@setupDownloadInFlac": { "description": "App tagline in setup" }, - "setupStorageGranted": "Storage Permission Granted!", + "setupStorageGranted": "تم منح إذن التخزين!", "@setupStorageGranted": { "description": "Success message for storage permission" }, - "setupStorageRequired": "Storage Permission Required", + "setupStorageRequired": "الإذن مطلوب للتخزين", "@setupStorageRequired": { "description": "Title when storage permission needed" }, - "setupStorageDescription": "SpotiFLAC needs storage permission to save your downloaded music files.", + "setupStorageDescription": "SpotiFLAC يحتاج إلى إذن تخزين لحفظ ملفات الموسيقى الخاصة بك التي تم تنزيلها.", "@setupStorageDescription": { "description": "Explanation for storage permission" }, @@ -688,127 +688,127 @@ "@setupNotificationGranted": { "description": "Success message for notification permission" }, - "setupNotificationEnable": "Enable Notifications", + "setupNotificationEnable": "تمكين الإشعارات", "@setupNotificationEnable": { "description": "Button to enable notifications" }, - "setupFolderChoose": "Choose Download Folder", + "setupFolderChoose": "اختر مجلد التحميل", "@setupFolderChoose": { "description": "Button to choose folder" }, - "setupFolderDescription": "Select a folder where your downloaded music will be saved.", + "setupFolderDescription": "حدد مجلد حيث سيتم حفظ الموسيقى التي تم تنزيلها.", "@setupFolderDescription": { "description": "Explanation for folder selection" }, - "setupSelectFolder": "Select Folder", + "setupSelectFolder": "حدد الملف", "@setupSelectFolder": { "description": "Button to select folder" }, - "setupEnableNotifications": "Enable Notifications", + "setupEnableNotifications": "تمكين الإشعارات", "@setupEnableNotifications": { "description": "Button to enable notifications" }, - "setupNotificationBackgroundDescription": "Get notified about download progress and completion. This helps you track downloads when the app is in background.", + "setupNotificationBackgroundDescription": "الحصول على إشعار حول تقدم التحميل وإكماله. هذا يساعدك على تتبع التنزيلات عندما يكون التطبيق في الخلفية.", "@setupNotificationBackgroundDescription": { "description": "Detailed notification explanation" }, - "setupSkipForNow": "Skip for now", + "setupSkipForNow": "التخطي الآن", "@setupSkipForNow": { "description": "Skip button text" }, - "setupNext": "Next", + "setupNext": "التالي", "@setupNext": { "description": "Next button text" }, - "setupGetStarted": "Get Started", + "setupGetStarted": "إبدأ الآن", "@setupGetStarted": { "description": "Final setup button" }, - "setupAllowAccessToManageFiles": "Please enable \"Allow access to manage all files\" in the next screen.", + "setupAllowAccessToManageFiles": "الرجاء تمكين \"السماح بالوصول لإدارة جميع الملفات\" في الشاشة التالية.", "@setupAllowAccessToManageFiles": { "description": "Instruction for file access permission" }, - "setupLanguageTitle": "Choose Language", + "setupLanguageTitle": "اِختر اللغة", "@setupLanguageTitle": { "description": "Title for the language selection step in setup" }, - "setupLanguageDescription": "Select your preferred language for the app. You can change this later in Settings.", + "setupLanguageDescription": "حدد لغتك المفضلة للتطبيق. يمكنك تغيير هذا لاحقًا من الإعدادات.", "@setupLanguageDescription": { "description": "Description for the language selection step in setup" }, - "setupLanguageSystemDefault": "System Default", + "setupLanguageSystemDefault": "الوضع الافتراضي للنظام", "@setupLanguageSystemDefault": { "description": "Option to use the system language" }, - "dialogCancel": "Cancel", + "dialogCancel": "إلغاء", "@dialogCancel": { "description": "Dialog button - cancel action" }, - "dialogSave": "Save", + "dialogSave": "حفظ", "@dialogSave": { "description": "Dialog button - save changes" }, - "dialogDelete": "Delete", + "dialogDelete": "حذف", "@dialogDelete": { "description": "Dialog button - delete item" }, - "dialogRetry": "Retry", + "dialogRetry": "إعادة المحاولة", "@dialogRetry": { "description": "Dialog button - retry action" }, - "dialogClear": "Clear", + "dialogClear": "محو", "@dialogClear": { "description": "Dialog button - clear items" }, - "dialogDone": "Done", + "dialogDone": "تم", "@dialogDone": { "description": "Dialog button - action completed" }, - "dialogImport": "Import", + "dialogImport": "استيراد", "@dialogImport": { "description": "Dialog button - import data" }, - "dialogDownload": "Download", + "dialogDownload": "تنزيل", "@dialogDownload": { "description": "Confirm button in Download All dialog" }, - "dialogDiscard": "Discard", + "dialogDiscard": "تجاهل", "@dialogDiscard": { "description": "Dialog button - discard changes" }, - "dialogRemove": "Remove", + "dialogRemove": "إزالة", "@dialogRemove": { "description": "Dialog button - remove item" }, - "dialogUninstall": "Uninstall", + "dialogUninstall": "إلغاء التثبيت", "@dialogUninstall": { "description": "Dialog button - uninstall extension" }, - "dialogDiscardChanges": "Discard Changes?", + "dialogDiscardChanges": "تجاهل التغييرات؟", "@dialogDiscardChanges": { "description": "Dialog title - unsaved changes warning" }, - "dialogUnsavedChanges": "You have unsaved changes. Do you want to discard them?", + "dialogUnsavedChanges": "لديك تغييرات غير محفوظة. هل تريد المتابعة دون حفظها؟", "@dialogUnsavedChanges": { "description": "Dialog message - unsaved changes" }, - "dialogClearAll": "Clear All", + "dialogClearAll": "مسح الكل", "@dialogClearAll": { "description": "Dialog title - clear all items" }, - "dialogRemoveExtension": "Remove Extension", + "dialogRemoveExtension": "إزالة إضافة", "@dialogRemoveExtension": { "description": "Dialog title - uninstall extension" }, - "dialogRemoveExtensionMessage": "Are you sure you want to remove this extension? This cannot be undone.", + "dialogRemoveExtensionMessage": "هل أنت متأكد من أنك تريد إزالة هذه الإضافة؟ لا يمكن التراجع عن ذلك.", "@dialogRemoveExtensionMessage": { "description": "Dialog message - uninstall confirmation" }, - "dialogUninstallExtension": "Uninstall Extension?", + "dialogUninstallExtension": "إلغاء تثبيت الإضافة؟", "@dialogUninstallExtension": { "description": "Dialog title - uninstall extension" }, - "dialogUninstallExtensionMessage": "Are you sure you want to remove {extensionName}?", + "dialogUninstallExtensionMessage": "هل أنت متأكد من أنك تريد إزالة {extensionName}؟", "@dialogUninstallExtensionMessage": { "description": "Dialog message - uninstall specific extension", "placeholders": { @@ -817,19 +817,19 @@ } } }, - "dialogClearHistoryTitle": "Clear History", + "dialogClearHistoryTitle": "مسح السجل", "@dialogClearHistoryTitle": { "description": "Dialog title - clear download history" }, - "dialogClearHistoryMessage": "Are you sure you want to clear all download history? This cannot be undone.", + "dialogClearHistoryMessage": "هل أنت متأكد من أنك تريد مسح كل سجل التنزيلات؟ لا يمكن التراجع عن هذا!", "@dialogClearHistoryMessage": { "description": "Dialog message - clear history confirmation" }, - "dialogDeleteSelectedTitle": "Delete Selected", + "dialogDeleteSelectedTitle": "حذف المحدد", "@dialogDeleteSelectedTitle": { "description": "Dialog title - delete selected items" }, - "dialogDeleteSelectedMessage": "Delete {count} {count, plural, =1{track} other{tracks}} from history?\n\nThis will also delete the files from storage.", + "dialogDeleteSelectedMessage": "حذف {count} {count, plural, zero {} one {الأغاني} two {أغنيتان} few {أغانٍ} many {أغانٍ}=1{أغنية} other{أغانٍ}} من التاريخ؟\n\nسيؤدي هذا أيضا إلى حذف الملفات من وحدة التخزين.", "@dialogDeleteSelectedMessage": { "description": "Dialog message - delete selected tracks", "placeholders": { @@ -838,12 +838,12 @@ } } }, - "dialogImportPlaylistTitle": "Import Playlist", + "dialogImportPlaylistTitle": "استيراد قائمة تشغيل", "@dialogImportPlaylistTitle": { "description": "Dialog title - import CSV playlist" }, - "dialogImportPlaylistMessage": "Found {count} tracks in CSV. Add them to download queue?", - "csvImportTracks": "{count} tracks from CSV", + "dialogImportPlaylistMessage": "تم العثور على {count} مسارات في CSV. إضافتها إلى قائمة انتظار التنزيل؟", + "csvImportTracks": "{count} مسارات من CSV", "@csvImportTracks": { "description": "Label shown in quality picker for CSV import", "placeholders": { @@ -860,7 +860,7 @@ } } }, - "snackbarAddedToQueue": "Added \"{trackName}\" to queue", + "snackbarAddedToQueue": "تمت إضافة \"{trackName}إلى قائمة الانتظار", "@snackbarAddedToQueue": { "description": "Snackbar - track added to download queue", "placeholders": { @@ -869,7 +869,7 @@ } } }, - "snackbarAddedTracksToQueue": "Added {count} tracks to queue", + "snackbarAddedTracksToQueue": "تم إضافة {count} أغاني إلى قائمة الانتظار", "@snackbarAddedTracksToQueue": { "description": "Snackbar - multiple tracks added to queue", "placeholders": { @@ -878,7 +878,7 @@ } } }, - "snackbarAlreadyDownloaded": "\"{trackName}\" already downloaded", + "snackbarAlreadyDownloaded": "تم تنزيل \"{trackName}بالفعل", "@snackbarAlreadyDownloaded": { "description": "Snackbar - track already exists", "placeholders": { @@ -887,7 +887,7 @@ } } }, - "snackbarAlreadyInLibrary": "\"{trackName}\" already exists in your library", + "snackbarAlreadyInLibrary": "\"{trackName}\" موجود بالفعل في مكتبتك", "@snackbarAlreadyInLibrary": { "description": "Snackbar - track already exists in local library", "placeholders": { @@ -896,19 +896,19 @@ } } }, - "snackbarHistoryCleared": "History cleared", + "snackbarHistoryCleared": "تم مسح السجل.", "@snackbarHistoryCleared": { "description": "Snackbar - history deleted" }, - "snackbarCredentialsSaved": "Credentials saved", + "snackbarCredentialsSaved": "تم حفظ بيانات الاعتماد", "@snackbarCredentialsSaved": { "description": "Snackbar - Spotify credentials saved" }, - "snackbarCredentialsCleared": "Credentials cleared", + "snackbarCredentialsCleared": "تم مسح بيانات الاعتماد", "@snackbarCredentialsCleared": { "description": "Snackbar - Spotify credentials removed" }, - "snackbarDeletedTracks": "Deleted {count} {count, plural, =1{track} other{tracks}}", + "snackbarDeletedTracks": "تم حذف {count} {count, plural, zero {} one {أغنيتين} two {أغنيتين} few {أغانٍ} many {أغانٍ}=1{أغنية} other{أغانٍ}}", "@snackbarDeletedTracks": { "description": "Snackbar - tracks deleted", "placeholders": { @@ -917,7 +917,7 @@ } } }, - "snackbarCannotOpenFile": "Cannot open file: {error}", + "snackbarCannotOpenFile": "تعذر فتح الملف: {error}", "@snackbarCannotOpenFile": { "description": "Snackbar - file open error", "placeholders": { @@ -926,15 +926,15 @@ } } }, - "snackbarFillAllFields": "Please fill all fields", + "snackbarFillAllFields": "من فضلك قم بإدخال جميع البيانات", "@snackbarFillAllFields": { "description": "Snackbar - validation error" }, - "snackbarViewQueue": "View Queue", + "snackbarViewQueue": "عرض قائمة الانتظار", "@snackbarViewQueue": { "description": "Snackbar action - view download queue" }, - "snackbarUrlCopied": "{platform} URL copied to clipboard", + "snackbarUrlCopied": "رابط {platform} تم نسخه إلى الحافظة", "@snackbarUrlCopied": { "description": "Snackbar - URL copied", "placeholders": { @@ -944,23 +944,23 @@ } } }, - "snackbarFileNotFound": "File not found", + "snackbarFileNotFound": "لم يتم العثور على الملف", "@snackbarFileNotFound": { "description": "Snackbar - file doesn't exist" }, - "snackbarSelectExtFile": "Please select a .spotiflac-ext file", + "snackbarSelectExtFile": "الرجاء تحديد ملف .spotiflac-ext", "@snackbarSelectExtFile": { "description": "Snackbar - wrong file type selected" }, - "snackbarProviderPrioritySaved": "Provider priority saved", + "snackbarProviderPrioritySaved": "تم حفظ أولوية المزود", "@snackbarProviderPrioritySaved": { "description": "Snackbar - provider order saved" }, - "snackbarMetadataProviderSaved": "Metadata provider priority saved", + "snackbarMetadataProviderSaved": "تم حفظ أولوية مزود البيانات الوصفية", "@snackbarMetadataProviderSaved": { "description": "Snackbar - metadata provider order saved" }, - "snackbarExtensionInstalled": "{extensionName} installed.", + "snackbarExtensionInstalled": "تم تثبيت {extensionName}.", "@snackbarExtensionInstalled": { "description": "Snackbar - extension installed successfully", "placeholders": { @@ -969,7 +969,7 @@ } } }, - "snackbarExtensionUpdated": "{extensionName} updated.", + "snackbarExtensionUpdated": "تم تحديث {extensionName}.", "@snackbarExtensionUpdated": { "description": "Snackbar - extension updated successfully", "placeholders": { @@ -978,43 +978,43 @@ } } }, - "snackbarFailedToInstall": "Failed to install extension", + "snackbarFailedToInstall": "فشل تثبيت الإضافة", "@snackbarFailedToInstall": { "description": "Snackbar - extension install error" }, - "snackbarFailedToUpdate": "Failed to update extension", + "snackbarFailedToUpdate": "فشل تحديث الإضافة", "@snackbarFailedToUpdate": { "description": "Snackbar - extension update error" }, - "errorRateLimited": "Rate Limited", + "errorRateLimited": "تم الوصول للحد الأقصى", "@errorRateLimited": { "description": "Error title - too many requests" }, - "errorRateLimitedMessage": "Too many requests. Please wait a moment before searching again.", + "errorRateLimitedMessage": "طلبات كثيرة جداً. الرجاء الانتظار قليلاً قبل البحث مرة أخرى.", "@errorRateLimitedMessage": { "description": "Error message - rate limit explanation" }, - "errorNoTracksFound": "No tracks found", + "errorNoTracksFound": "لم يتم العثور على الأغنية", "@errorNoTracksFound": { "description": "Error - search returned no results" }, - "searchEmptyResultSubtitle": "Try another keyword", + "searchEmptyResultSubtitle": "جرّب كلمة مفتاحية أخرى", "@searchEmptyResultSubtitle": { "description": "Subtitle shown under the empty search result state on the home screen" }, - "errorUrlNotRecognized": "Link not recognized", + "errorUrlNotRecognized": "رابط غير معروف", "@errorUrlNotRecognized": { "description": "Error title - URL not handled by any extension or service" }, - "errorUrlNotRecognizedMessage": "This link is not supported. Make sure the URL is correct and a compatible extension is installed.", + "errorUrlNotRecognizedMessage": "هذا الرابط غير مدعوم. تأكد من أن الرابط صحيح وتثبيت إضافة متوافق.", "@errorUrlNotRecognizedMessage": { "description": "Error message - URL not recognized explanation" }, - "errorUrlFetchFailed": "Failed to load content from this link. Please try again.", + "errorUrlFetchFailed": "فشل تحميل المحتوى من هذا الرابط. الرجاء المحاولة مرة أخرى.", "@errorUrlFetchFailed": { "description": "Error message - generic URL fetch failure" }, - "errorMissingExtensionSource": "Cannot load {item}: missing extension source", + "errorMissingExtensionSource": "لا يمكن تحميل {item}: مصدر الإضافة مفقود", "@errorMissingExtensionSource": { "description": "Error - extension source not available", "placeholders": { @@ -1023,31 +1023,31 @@ } } }, - "actionPause": "Pause", + "actionPause": "إيقاف مؤقت", "@actionPause": { "description": "Action button - pause download" }, - "actionResume": "Resume", + "actionResume": "استئناف", "@actionResume": { "description": "Action button - resume download" }, - "actionCancel": "Cancel", + "actionCancel": "إلغاء", "@actionCancel": { "description": "Action button - cancel operation" }, - "actionSelectAll": "Select All", + "actionSelectAll": "تحديد الكل", "@actionSelectAll": { "description": "Action button - select all items" }, - "actionDeselect": "Deselect", + "actionDeselect": "إلغاء التحديد", "@actionDeselect": { "description": "Action button - deselect all" }, - "actionRemoveCredentials": "Remove Credentials", + "actionRemoveCredentials": "إزالة بيانات الاعتماد", "@actionRemoveCredentials": { "description": "Action button - delete Spotify credentials" }, - "actionSaveCredentials": "Save Credentials", + "actionSaveCredentials": "حفظ بيانات الاعتماد", "@actionSaveCredentials": { "description": "Action button - save Spotify credentials" },