mirror of
https://github.com/zarzet/SpotiFLAC-Mobile.git
synced 2026-07-24 21:11:05 +02:00
a3ebe27b76
[ci skip]
6208 lines
223 KiB
Plaintext
6208 lines
223 KiB
Plaintext
{
|
|
"@@locale": "ar",
|
|
"@@last_modified": "2026-04-28",
|
|
"appName": "SpotiFLAC Mobile",
|
|
"@appName": {
|
|
"description": "App name - DO NOT TRANSLATE"
|
|
},
|
|
"navHome": "الرئيسية",
|
|
"@navHome": {
|
|
"description": "Bottom navigation - Home tab"
|
|
},
|
|
"navLibrary": "المكتبة",
|
|
"@navLibrary": {
|
|
"description": "Bottom navigation - Library tab"
|
|
},
|
|
"navSettings": "الإعدادات",
|
|
"@navSettings": {
|
|
"description": "Bottom navigation - Settings tab"
|
|
},
|
|
"navStore": "المستودع",
|
|
"@navStore": {
|
|
"description": "Bottom navigation - Extension store tab"
|
|
},
|
|
"homeTitle": "الصفحة الرئيسية",
|
|
"@homeTitle": {
|
|
"description": "Home screen title"
|
|
},
|
|
"homeSubtitle": "ألصق عنوان URL مدعوم أو ابحث بالاسم",
|
|
"@homeSubtitle": {
|
|
"description": "Subtitle shown below search box"
|
|
},
|
|
"homeEmptyTitle": "لا يوجد مزودي بحث بعد",
|
|
"@homeEmptyTitle": {
|
|
"description": "Title shown on home when no providers are available yet"
|
|
},
|
|
"homeEmptySubtitle": "قم بتثبيت مكون إضافي للمتابعة.",
|
|
"@homeEmptySubtitle": {
|
|
"description": "Subtitle shown on home when no providers are available yet"
|
|
},
|
|
"homeSupports": "يدعم: الأغنية، الألبوم، قائمة التشغيل، عناوين URL للفنان",
|
|
"@homeSupports": {
|
|
"description": "Info text about supported URL types"
|
|
},
|
|
"homeRecent": "الأخيرة",
|
|
"@homeRecent": {
|
|
"description": "Section header for recent searches"
|
|
},
|
|
"historyFilterAll": "الكل",
|
|
"@historyFilterAll": {
|
|
"description": "Filter chip - show all items"
|
|
},
|
|
"historyFilterAlbums": "الألبومات",
|
|
"@historyFilterAlbums": {
|
|
"description": "Filter chip - show albums only"
|
|
},
|
|
"historyFilterSingles": "الأغاني",
|
|
"@historyFilterSingles": {
|
|
"description": "Filter chip - show singles only"
|
|
},
|
|
"historySearchHint": "سجل البحث...",
|
|
"@historySearchHint": {
|
|
"description": "Search bar placeholder in history"
|
|
},
|
|
"settingsTitle": "الإعدادات",
|
|
"@settingsTitle": {
|
|
"description": "Settings screen title"
|
|
},
|
|
"settingsDownload": "إعدادات التحميل",
|
|
"@settingsDownload": {
|
|
"description": "Settings section - download options"
|
|
},
|
|
"settingsAppearance": "المظهر",
|
|
"@settingsAppearance": {
|
|
"description": "Settings section - visual customization"
|
|
},
|
|
"settingsOptions": "الخيارات",
|
|
"@settingsOptions": {
|
|
"description": "Settings section - app options"
|
|
},
|
|
"settingsExtensions": "الإضافات",
|
|
"@settingsExtensions": {
|
|
"description": "Settings section - extension management"
|
|
},
|
|
"settingsAbout": "حول البرنامج",
|
|
"@settingsAbout": {
|
|
"description": "Settings section - app info"
|
|
},
|
|
"downloadTitle": "إعدادات التحميل",
|
|
"@downloadTitle": {
|
|
"description": "Download settings page title"
|
|
},
|
|
"downloadAskQualitySubtitle": "إظهار منتقي الجودة لكل تنزيل",
|
|
"@downloadAskQualitySubtitle": {
|
|
"description": "Subtitle for ask quality toggle"
|
|
},
|
|
"downloadFilenameFormat": "تنسيق اسم الملف",
|
|
"@downloadFilenameFormat": {
|
|
"description": "Setting for output filename pattern"
|
|
},
|
|
"downloadSingleFilenameFormat": "تنسيق اسم الملف الفردي",
|
|
"@downloadSingleFilenameFormat": {
|
|
"description": "Setting for output filename pattern for singles/EPs"
|
|
},
|
|
"downloadSingleFilenameFormatDescription": "نمط اسم الملف للعازفين و EPs. يستخدم نفس العلامات مثل تنسيق الألبوم.",
|
|
"@downloadSingleFilenameFormatDescription": {
|
|
"description": "Subtitle description for single filename format setting"
|
|
},
|
|
"downloadFolderOrganization": "تنظيم المجلدات",
|
|
"@downloadFolderOrganization": {
|
|
"description": "Title of the folder organization picker bottom sheet"
|
|
},
|
|
"appearanceTitle": "المظهر",
|
|
"@appearanceTitle": {
|
|
"description": "Appearance settings page title"
|
|
},
|
|
"appearanceThemeSystem": "النظام",
|
|
"@appearanceThemeSystem": {
|
|
"description": "Follow system theme"
|
|
},
|
|
"appearanceThemeLight": "فاتح",
|
|
"@appearanceThemeLight": {
|
|
"description": "Light theme"
|
|
},
|
|
"appearanceThemeDark": "مظلم",
|
|
"@appearanceThemeDark": {
|
|
"description": "Dark theme"
|
|
},
|
|
"appearanceDynamicColor": "لون ديناميكي",
|
|
"@appearanceDynamicColor": {
|
|
"description": "Material You dynamic colors"
|
|
},
|
|
"appearanceDynamicColorSubtitle": "استخدام الألوان من الخلفية",
|
|
"@appearanceDynamicColorSubtitle": {
|
|
"description": "Subtitle for dynamic color"
|
|
},
|
|
"appearanceHistoryView": "عرض السجل",
|
|
"@appearanceHistoryView": {
|
|
"description": "Layout style for history"
|
|
},
|
|
"appearanceHistoryViewList": "قائمة",
|
|
"@appearanceHistoryViewList": {
|
|
"description": "List layout option"
|
|
},
|
|
"appearanceHistoryViewGrid": "شبكة",
|
|
"@appearanceHistoryViewGrid": {
|
|
"description": "Grid layout option"
|
|
},
|
|
"optionsTitle": "خيارات",
|
|
"@optionsTitle": {
|
|
"description": "Options settings page title"
|
|
},
|
|
"optionsPrimaryProvider": "المزود الرئيسي",
|
|
"@optionsPrimaryProvider": {
|
|
"description": "Main search provider setting"
|
|
},
|
|
"optionsPrimaryProviderSubtitle": "الخدمة المستخدمة للبحث عن طريق اسم الأغنية أو الألبوم",
|
|
"@optionsPrimaryProviderSubtitle": {
|
|
"description": "Subtitle for primary provider"
|
|
},
|
|
"optionsUsingExtension": "استخدام الإضافة: {extensionName}",
|
|
"@optionsUsingExtension": {
|
|
"description": "Shows active extension name",
|
|
"placeholders": {
|
|
"extensionName": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
"optionsDefaultSearchTab": "تبويب البحث الافتراضي",
|
|
"@optionsDefaultSearchTab": {
|
|
"description": "Title for the preferred default search tab setting"
|
|
},
|
|
"optionsDefaultSearchTabSubtitle": "اختر علامة التبويب التي تفتح أولاً لنتائج البحث الجديدة.",
|
|
"@optionsDefaultSearchTabSubtitle": {
|
|
"description": "Subtitle for the preferred default search tab setting"
|
|
},
|
|
"optionsSwitchBack": "اختر مزود البحث الافتراضي للتبديل من مكون إضافي",
|
|
"@optionsSwitchBack": {
|
|
"description": "Hint to switch back from extension search"
|
|
},
|
|
"optionsAutoFallback": "التراجع التلقائي",
|
|
"@optionsAutoFallback": {
|
|
"description": "Auto-retry with other services"
|
|
},
|
|
"optionsAutoFallbackSubtitle": "تجربة خدمات أخرى إذا فشل التنزيل",
|
|
"@optionsAutoFallbackSubtitle": {
|
|
"description": "Subtitle for auto fallback"
|
|
},
|
|
"optionsUseExtensionProviders": "استخدام مزودي الإضافات",
|
|
"@optionsUseExtensionProviders": {
|
|
"description": "Legacy setting label for extension download providers"
|
|
},
|
|
"optionsUseExtensionProvidersOn": "مزودي الإضافات مفعلين",
|
|
"@optionsUseExtensionProvidersOn": {
|
|
"description": "Status when extension providers enabled"
|
|
},
|
|
"optionsUseExtensionProvidersOff": "مزودي الإضافات مطلوبين",
|
|
"@optionsUseExtensionProvidersOff": {
|
|
"description": "Legacy status when extension providers would be disabled"
|
|
},
|
|
"optionsEmbedLyrics": "تضمين كلمات الأغنية",
|
|
"@optionsEmbedLyrics": {
|
|
"description": "Embed lyrics in audio files"
|
|
},
|
|
"optionsEmbedLyricsSubtitle": "حفظ كلمات الأغاني المتزامنة جنبا إلى جنب مع المسارات التي تم تنزيلها",
|
|
"@optionsEmbedLyricsSubtitle": {
|
|
"description": "Subtitle for embed lyrics"
|
|
},
|
|
"optionsMaxQualityCover": "اختيار أعلى جودة للغلاف",
|
|
"@optionsMaxQualityCover": {
|
|
"description": "Download highest quality album art"
|
|
},
|
|
"optionsMaxQualityCoverSubtitle": "تنزيل أعلى دقة لغلاف الأغنية",
|
|
"@optionsMaxQualityCoverSubtitle": {
|
|
"description": "Subtitle for max quality cover"
|
|
},
|
|
"optionsReplayGain": "ReplyGain",
|
|
"@optionsReplayGain": {
|
|
"description": "Title for ReplayGain setting toggle"
|
|
},
|
|
"optionsReplayGainSubtitleOn": "مسح الصوت و تضمين علامات ReplayGain (EBU R128)",
|
|
"@optionsReplayGainSubtitleOn": {
|
|
"description": "Subtitle when ReplayGain is enabled"
|
|
},
|
|
"optionsReplayGainSubtitleOff": "معطل: لا توجد علامات تطبيع للصوت",
|
|
"@optionsReplayGainSubtitleOff": {
|
|
"description": "Subtitle when ReplayGain is disabled"
|
|
},
|
|
"trackReplayGain": "إعادة مسح ReplyGain",
|
|
"@trackReplayGain": {
|
|
"description": "Three-dot menu option to scan loudness and write ReplayGain tags"
|
|
},
|
|
"trackReplayGainSubtitle": "تحليل ارتفاع الصوت وكتابة وسوم ReplayGain",
|
|
"@trackReplayGainSubtitle": {
|
|
"description": "Subtitle for the rescan ReplayGain menu option"
|
|
},
|
|
"trackReplayGainScanning": "تحليل الصوت...",
|
|
"@trackReplayGainScanning": {
|
|
"description": "Snackbar/progress message while scanning ReplayGain for a single track"
|
|
},
|
|
"trackReplayGainSuccess": "تم إضافة وسم ReplyGain",
|
|
"@trackReplayGainSuccess": {
|
|
"description": "Snackbar message after ReplayGain tags written for a single track"
|
|
},
|
|
"trackReplayGainFailed": "فشل في إضافة علامات ReplayGain",
|
|
"@trackReplayGainFailed": {
|
|
"description": "Snackbar message when ReplayGain scan/write fails"
|
|
},
|
|
"selectionReplayGainCount": "ٌReplyGain ({count})",
|
|
"@selectionReplayGainCount": {
|
|
"description": "Batch selection action button label for ReplayGain",
|
|
"placeholders": {
|
|
"count": {
|
|
"type": "int"
|
|
}
|
|
}
|
|
},
|
|
"replayGainBatchConfirmTitle": "إضافة ReplyGain",
|
|
"@replayGainBatchConfirmTitle": {
|
|
"description": "Title of the batch ReplayGain confirmation dialog"
|
|
},
|
|
"replayGainBatchConfirmMessage": "تحليل الصوت وكتابة وسوم ReplayGain إلى مسار(مسارات) {count}؟",
|
|
"@replayGainBatchConfirmMessage": {
|
|
"description": "Message of the batch ReplayGain confirmation dialog",
|
|
"placeholders": {
|
|
"count": {
|
|
"type": "int"
|
|
}
|
|
}
|
|
},
|
|
"replayGainBatchAnalyzing": "تحليل ReplyGain...",
|
|
"@replayGainBatchAnalyzing": {
|
|
"description": "Progress dialog title while batch scanning ReplayGain"
|
|
},
|
|
"replayGainBatchSuccess": "تمت إضافة وسوم ReplyGain ل {success} أغنية من أصل {total}",
|
|
"@replayGainBatchSuccess": {
|
|
"description": "Snackbar after batch ReplayGain completes",
|
|
"placeholders": {
|
|
"success": {
|
|
"type": "int"
|
|
},
|
|
"total": {
|
|
"type": "int"
|
|
}
|
|
}
|
|
},
|
|
"optionsArtistTagMode": "وضع وسم الفنان",
|
|
"@optionsArtistTagMode": {
|
|
"description": "Setting title for how artist metadata is written into files"
|
|
},
|
|
"optionsArtistTagModeDescription": "اختر كيف يتم كتابة العديد من الفنانين في العلامات المضمنة.",
|
|
"@optionsArtistTagModeDescription": {
|
|
"description": "Bottom-sheet description for artist tag mode setting"
|
|
},
|
|
"optionsArtistTagModeJoined": "قيمة مشتركة واحدة",
|
|
"@optionsArtistTagModeJoined": {
|
|
"description": "Artist tag mode option that joins multiple artists into one value"
|
|
},
|
|
"optionsArtistTagModeJoinedSubtitle": "اكتب قيمة ARTIST واحدة مثل \"الفنان A، الفنان B\" لتحقيق التوافق الأقصى لمشغل الأغاني.",
|
|
"@optionsArtistTagModeJoinedSubtitle": {
|
|
"description": "Subtitle for joined artist tag mode"
|
|
},
|
|
"optionsArtistTagModeSplitVorbis": "تقسيم العلامات على FLAC/Opus",
|
|
"@optionsArtistTagModeSplitVorbis": {
|
|
"description": "Artist tag mode option that writes repeated ARTIST tags for Vorbis formats"
|
|
},
|
|
"optionsArtistTagModeSplitVorbisSubtitle": "اكتب علامة فنان لكل فنان لـ FLAC و Opus؛ تبقى MP3 و M4A منضمة.",
|
|
"@optionsArtistTagModeSplitVorbisSubtitle": {
|
|
"description": "Subtitle for split Vorbis artist tag mode"
|
|
},
|
|
"optionsExtensionStore": "مستودع الإضافات",
|
|
"@optionsExtensionStore": {
|
|
"description": "Show/hide store tab"
|
|
},
|
|
"optionsExtensionStoreSubtitle": "إظهار صفحة المستودع في شريط التنقل",
|
|
"@optionsExtensionStoreSubtitle": {
|
|
"description": "Subtitle for extension store toggle"
|
|
},
|
|
"optionsCheckUpdates": "التحقق من وجود تحديثات",
|
|
"@optionsCheckUpdates": {
|
|
"description": "Auto update check toggle"
|
|
},
|
|
"optionsCheckUpdatesSubtitle": "إعلام عند توفر إصدار جديد",
|
|
"@optionsCheckUpdatesSubtitle": {
|
|
"description": "Subtitle for update check"
|
|
},
|
|
"optionsUpdateChannel": "قناة التحديث",
|
|
"@optionsUpdateChannel": {
|
|
"description": "Stable vs preview releases"
|
|
},
|
|
"optionsUpdateChannelStable": "الإصدارات المستقرة فقط",
|
|
"@optionsUpdateChannelStable": {
|
|
"description": "Only stable updates"
|
|
},
|
|
"optionsUpdateChannelPreview": "الحصول على إصدارات تجريبية",
|
|
"@optionsUpdateChannelPreview": {
|
|
"description": "Include beta/preview updates"
|
|
},
|
|
"optionsUpdateChannelWarning": "قد تحتوي الإصدارات التجريبية أخطاءً أو ميزات غير مكتملة",
|
|
"@optionsUpdateChannelWarning": {
|
|
"description": "Warning about preview channel"
|
|
},
|
|
"optionsClearHistory": "مسح سجل التحميلات",
|
|
"@optionsClearHistory": {
|
|
"description": "Delete all download history"
|
|
},
|
|
"optionsClearHistorySubtitle": "إزالة جميع الأغاني التي تم تنزيلها من السجل",
|
|
"@optionsClearHistorySubtitle": {
|
|
"description": "Subtitle for clear history"
|
|
},
|
|
"optionsDetailedLogging": "تسجيل تفصيلي",
|
|
"@optionsDetailedLogging": {
|
|
"description": "Enable verbose logs for debugging"
|
|
},
|
|
"optionsDetailedLoggingOn": "يتم تسجيل السجلات التفصيلية",
|
|
"@optionsDetailedLoggingOn": {
|
|
"description": "Status when logging enabled"
|
|
},
|
|
"optionsDetailedLoggingOff": "تمكين لتقارير الأخطاء",
|
|
"@optionsDetailedLoggingOff": {
|
|
"description": "Status when logging disabled"
|
|
},
|
|
"optionsSpotifyCredentials": "بيانات اعتماد Spotify",
|
|
"@optionsSpotifyCredentials": {
|
|
"description": "Spotify API credentials setting"
|
|
},
|
|
"optionsSpotifyCredentialsConfigured": "معرف العميل: {clientId}...",
|
|
"@optionsSpotifyCredentialsConfigured": {
|
|
"description": "Shows configured client ID preview",
|
|
"placeholders": {
|
|
"clientId": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
"optionsSpotifyCredentialsRequired": "مطلوب - انقر للتهيئة",
|
|
"@optionsSpotifyCredentialsRequired": {
|
|
"description": "Prompt to set up credentials"
|
|
},
|
|
"optionsSpotifyWarning": "Spotify يتطلب بيانات اعتماد API الخاصة بك. احصل عليها مجاناً من developer.spotify.com",
|
|
"@optionsSpotifyWarning": {
|
|
"description": "Info about Spotify API requirement"
|
|
},
|
|
"optionsSpotifyDeprecationWarning": "سيتم إلغاء البحث في Spotify في 3 مارس 2026 بسبب تغييرات API Spotify. الرجاء التبديل إلى Deezer.",
|
|
"@optionsSpotifyDeprecationWarning": {
|
|
"description": "Warning about Spotify API deprecation"
|
|
},
|
|
"extensionsTitle": "الإضافات",
|
|
"@extensionsTitle": {
|
|
"description": "Extensions page title"
|
|
},
|
|
"extensionsDisabled": "معطَّل",
|
|
"@extensionsDisabled": {
|
|
"description": "Extension status - inactive"
|
|
},
|
|
"extensionsVersion": "الإصدار {version}",
|
|
"@extensionsVersion": {
|
|
"description": "Extension version display",
|
|
"placeholders": {
|
|
"version": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
"extensionsAuthor": "من قِبل {author}",
|
|
"@extensionsAuthor": {
|
|
"description": "Extension author credit",
|
|
"placeholders": {
|
|
"author": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
"extensionsUninstall": "إلغاء التثبيت",
|
|
"@extensionsUninstall": {
|
|
"description": "Uninstall extension button"
|
|
},
|
|
"storeTitle": "مستودع الإضافات",
|
|
"@storeTitle": {
|
|
"description": "Store screen title"
|
|
},
|
|
"storeSearch": "البحث في الإضافات...",
|
|
"@storeSearch": {
|
|
"description": "Store search placeholder"
|
|
},
|
|
"storeInstall": "تثبيت",
|
|
"@storeInstall": {
|
|
"description": "Install extension button"
|
|
},
|
|
"storeInstalled": "مثبت",
|
|
"@storeInstalled": {
|
|
"description": "Already installed badge"
|
|
},
|
|
"storeUpdate": "تحديث",
|
|
"@storeUpdate": {
|
|
"description": "Update available button"
|
|
},
|
|
"aboutTitle": "حول",
|
|
"@aboutTitle": {
|
|
"description": "About page title"
|
|
},
|
|
"aboutContributors": "المساهمون",
|
|
"@aboutContributors": {
|
|
"description": "Section for contributors"
|
|
},
|
|
"aboutMobileDeveloper": "مطور نسخة الهاتف",
|
|
"@aboutMobileDeveloper": {
|
|
"description": "Role description for mobile dev"
|
|
},
|
|
"aboutOriginalCreator": "منشئ SpotiFLAC",
|
|
"@aboutOriginalCreator": {
|
|
"description": "Role description for original creator"
|
|
},
|
|
"aboutLogoArtist": "الفنان الموهوب الذي أنشأ شعار التطبيق الجميل!",
|
|
"@aboutLogoArtist": {
|
|
"description": "Role description for logo artist"
|
|
},
|
|
"aboutTranslators": "المترجمون",
|
|
"@aboutTranslators": {
|
|
"description": "Section for translators"
|
|
},
|
|
"aboutSpecialThanks": "شكر خاص لِ",
|
|
"@aboutSpecialThanks": {
|
|
"description": "Section for special thanks"
|
|
},
|
|
"aboutLinks": "روابط",
|
|
"@aboutLinks": {
|
|
"description": "Section for external links"
|
|
},
|
|
"aboutMobileSource": "كود مصدر برنامج الهاتف",
|
|
"@aboutMobileSource": {
|
|
"description": "Link to mobile GitHub repo"
|
|
},
|
|
"aboutPCSource": "كود مصدر برنامج الكمبيوتر",
|
|
"@aboutPCSource": {
|
|
"description": "Link to PC GitHub repo"
|
|
},
|
|
"aboutKeepAndroidOpen": "ابقي اندرويد مفتوحا",
|
|
"@aboutKeepAndroidOpen": {
|
|
"description": "Link to Keep Android Open campaign website"
|
|
},
|
|
"aboutReportIssue": "الإبلاغ عن خطأ",
|
|
"@aboutReportIssue": {
|
|
"description": "Link to report bugs"
|
|
},
|
|
"aboutReportIssueSubtitle": "الإبلاغ عن أي مشكلة تواجهك",
|
|
"@aboutReportIssueSubtitle": {
|
|
"description": "Subtitle for report issue"
|
|
},
|
|
"aboutFeatureRequest": "اقتراح ميزة",
|
|
"@aboutFeatureRequest": {
|
|
"description": "Link to suggest features"
|
|
},
|
|
"aboutFeatureRequestSubtitle": "اقتراح ميزات جديدة للتطبيق",
|
|
"@aboutFeatureRequestSubtitle": {
|
|
"description": "Subtitle for feature request"
|
|
},
|
|
"aboutTelegramChannel": "قناة تيليجرام",
|
|
"@aboutTelegramChannel": {
|
|
"description": "Link to Telegram channel"
|
|
},
|
|
"aboutTelegramChannelSubtitle": "الإعلانات والتحديثات",
|
|
"@aboutTelegramChannelSubtitle": {
|
|
"description": "Subtitle for Telegram channel"
|
|
},
|
|
"aboutTelegramChat": "مجتمع تليجرام",
|
|
"@aboutTelegramChat": {
|
|
"description": "Link to Telegram chat group"
|
|
},
|
|
"aboutTelegramChatSubtitle": "الدردشة مع المستخدمين الآخرين",
|
|
"@aboutTelegramChatSubtitle": {
|
|
"description": "Subtitle for Telegram chat"
|
|
},
|
|
"aboutSocial": "التواصل الإجتماعي",
|
|
"@aboutSocial": {
|
|
"description": "Section for social links"
|
|
},
|
|
"aboutApp": "التطبيق",
|
|
"@aboutApp": {
|
|
"description": "Section for app info"
|
|
},
|
|
"aboutVersion": "الإصدار",
|
|
"@aboutVersion": {
|
|
"description": "Version info label"
|
|
},
|
|
"aboutBinimumDesc": "منشئ API QQDL و HiFi. ساعد هذا المشروع في تشكيل دعم تحميل غير فاقد للجودة.",
|
|
"@aboutBinimumDesc": {
|
|
"description": "Credit description for binimum"
|
|
},
|
|
"aboutSachinsenalDesc": "منشئ مشروع HiFi الأصلي. مؤسسة للتكامل بدون مصدر.",
|
|
"@aboutSachinsenalDesc": {
|
|
"description": "Credit description for sachinsenal0x64"
|
|
},
|
|
"aboutSjdonadoDesc": "منشئ ل I Don't Have Spotify (IHDS). محلل الروابط الذي ينقذ اليوم!",
|
|
"@aboutSjdonadoDesc": {
|
|
"description": "Credit description for sjdonado"
|
|
},
|
|
"aboutAppDescription": "البحث عن بيانات التعريف الموسيقي، وإدارة الملحقات، وتنظيم مكتبتك.",
|
|
"@aboutAppDescription": {
|
|
"description": "App description in header card"
|
|
},
|
|
"artistAlbums": "الألبومات",
|
|
"@artistAlbums": {
|
|
"description": "Section header for artist albums"
|
|
},
|
|
"artistSingles": "الأغاني و ال EPs",
|
|
"@artistSingles": {
|
|
"description": "Section header for singles/EPs"
|
|
},
|
|
"artistCompilations": "التجميع",
|
|
"@artistCompilations": {
|
|
"description": "Section header for compilations"
|
|
},
|
|
"artistPopular": "الأكثر شعبية",
|
|
"@artistPopular": {
|
|
"description": "Section header for popular/top tracks"
|
|
},
|
|
"artistMonthlyListeners": "{count} مستمع شهري",
|
|
"@artistMonthlyListeners": {
|
|
"description": "Monthly listener count display",
|
|
"placeholders": {
|
|
"count": {
|
|
"type": "String",
|
|
"description": "Formatted listener count"
|
|
}
|
|
}
|
|
},
|
|
"trackMetadataService": "الخدمة",
|
|
"@trackMetadataService": {
|
|
"description": "Metadata field - download service used"
|
|
},
|
|
"trackMetadataPlay": "تشغيل",
|
|
"@trackMetadataPlay": {
|
|
"description": "Action button - play track"
|
|
},
|
|
"trackMetadataShare": "مشاركة",
|
|
"@trackMetadataShare": {
|
|
"description": "Action button - share track"
|
|
},
|
|
"trackMetadataDelete": "حذف",
|
|
"@trackMetadataDelete": {
|
|
"description": "Action button - delete track"
|
|
},
|
|
"setupGrantPermission": "منح الصلاحيات",
|
|
"@setupGrantPermission": {
|
|
"description": "Button to request permission"
|
|
},
|
|
"setupSkip": "التخطي الآن",
|
|
"@setupSkip": {
|
|
"description": "Skip current step button"
|
|
},
|
|
"setupStorageAccessRequired": "إذن دخول وحدة التخزين مطلوب",
|
|
"@setupStorageAccessRequired": {
|
|
"description": "Title when storage access needed"
|
|
},
|
|
"setupStorageAccessMessageAndroid11": "يتطلب أندرويد 11+ إذن \"الوصول إلى جميع الملفات\" لحفظ الملفات في مجلد التحميل الذي اخترته.",
|
|
"@setupStorageAccessMessageAndroid11": {
|
|
"description": "Android 11+ specific explanation"
|
|
},
|
|
"setupOpenSettings": "فتح الإعدادات",
|
|
"@setupOpenSettings": {
|
|
"description": "Button to open system settings"
|
|
},
|
|
"setupPermissionDeniedMessage": "تم رفض الإذن. الرجاء منح كافة الصلاحيات للمتابعة.",
|
|
"@setupPermissionDeniedMessage": {
|
|
"description": "Error when permission denied"
|
|
},
|
|
"setupPermissionRequired": "{permissionType} مطلوب الإذن",
|
|
"@setupPermissionRequired": {
|
|
"description": "Generic permission required title",
|
|
"placeholders": {
|
|
"permissionType": {
|
|
"type": "String",
|
|
"description": "Type of permission (Storage/Notification)"
|
|
}
|
|
}
|
|
},
|
|
"setupPermissionRequiredMessage": "الإذن {permissionType} مطلوب لأفضل التجربة. يمكنك تغيير هذا لاحقاً في الإعدادات.",
|
|
"@setupPermissionRequiredMessage": {
|
|
"description": "Generic permission required message",
|
|
"placeholders": {
|
|
"permissionType": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
"setupUseDefaultFolder": "استخدام المجلد الافتراضي؟",
|
|
"@setupUseDefaultFolder": {
|
|
"description": "Dialog title for default folder"
|
|
},
|
|
"setupNoFolderSelected": "لم يتم تحديد مجلد. هل ترغب في استخدام مجلد الموسيقى الافتراضي؟",
|
|
"@setupNoFolderSelected": {
|
|
"description": "Prompt when no folder selected"
|
|
},
|
|
"setupUseDefault": "استخدم الافتراضي",
|
|
"@setupUseDefault": {
|
|
"description": "Button to use default folder"
|
|
},
|
|
"setupDownloadLocationTitle": "موقع حفظ التنزيلات",
|
|
"@setupDownloadLocationTitle": {
|
|
"description": "Download location dialog title"
|
|
},
|
|
"setupDownloadLocationIosMessage": "على iOS، يتم حفظ التحميلات إلى مجلد مستندات التطبيق. يمكنك الوصول إليها عبر تطبيق الملفات.",
|
|
"@setupDownloadLocationIosMessage": {
|
|
"description": "iOS-specific folder info"
|
|
},
|
|
"setupAppDocumentsFolder": "مجلد مستندات التطبيق",
|
|
"@setupAppDocumentsFolder": {
|
|
"description": "iOS documents folder option"
|
|
},
|
|
"setupAppDocumentsFolderSubtitle": "موصى به - يمكن الوصول إليه عبر تطبيق الملفات",
|
|
"@setupAppDocumentsFolderSubtitle": {
|
|
"description": "Subtitle for documents folder"
|
|
},
|
|
"setupChooseFromFiles": "اختر من الملفات",
|
|
"@setupChooseFromFiles": {
|
|
"description": "iOS file picker option"
|
|
},
|
|
"setupChooseFromFilesSubtitle": "حدد iCloud أو موقع آخر",
|
|
"@setupChooseFromFilesSubtitle": {
|
|
"description": "Subtitle for file picker"
|
|
},
|
|
"setupIosEmptyFolderWarning": "حدود iOS: لا يمكن تحديد مجلدات فارغة. اختر مجلدا مع ملف واحد على الأقل.",
|
|
"@setupIosEmptyFolderWarning": {
|
|
"description": "iOS folder selection warning"
|
|
},
|
|
"setupIcloudNotSupported": "iCloud Drive غير مدعوم. الرجاء استخدام مجلد مستندات التطبيق.",
|
|
"@setupIcloudNotSupported": {
|
|
"description": "Error when user selects iCloud Drive on iOS"
|
|
},
|
|
"setupDownloadInFlac": "تحميل اغاني Spotify بصيغة FLAC",
|
|
"@setupDownloadInFlac": {
|
|
"description": "App tagline in setup"
|
|
},
|
|
"setupStorageGranted": "تم منح إذن التخزين!",
|
|
"@setupStorageGranted": {
|
|
"description": "Success message for storage permission"
|
|
},
|
|
"setupStorageRequired": "الإذن مطلوب للتخزين",
|
|
"@setupStorageRequired": {
|
|
"description": "Title when storage permission needed"
|
|
},
|
|
"setupStorageDescription": "SpotiFLAC يحتاج إلى إذن تخزين لحفظ ملفات الموسيقى الخاصة بك التي تم تنزيلها.",
|
|
"@setupStorageDescription": {
|
|
"description": "Explanation for storage permission"
|
|
},
|
|
"setupNotificationGranted": "تم منح إذن الإشعارات!",
|
|
"@setupNotificationGranted": {
|
|
"description": "Success message for notification permission"
|
|
},
|
|
"setupNotificationEnable": "تمكين الإشعارات",
|
|
"@setupNotificationEnable": {
|
|
"description": "Button to enable notifications"
|
|
},
|
|
"setupFolderChoose": "اختر مجلد التحميل",
|
|
"@setupFolderChoose": {
|
|
"description": "Button to choose folder"
|
|
},
|
|
"setupFolderDescription": "حدد مجلد حيث سيتم حفظ الموسيقى التي تم تنزيلها.",
|
|
"@setupFolderDescription": {
|
|
"description": "Explanation for folder selection"
|
|
},
|
|
"setupSelectFolder": "حدد الملف",
|
|
"@setupSelectFolder": {
|
|
"description": "Button to select folder"
|
|
},
|
|
"setupEnableNotifications": "تمكين الإشعارات",
|
|
"@setupEnableNotifications": {
|
|
"description": "Button to enable notifications"
|
|
},
|
|
"setupNotificationBackgroundDescription": "الحصول على إشعار حول تقدم التحميل وإكماله. هذا يساعدك على تتبع التنزيلات عندما يكون التطبيق في الخلفية.",
|
|
"@setupNotificationBackgroundDescription": {
|
|
"description": "Detailed notification explanation"
|
|
},
|
|
"setupSkipForNow": "التخطي الآن",
|
|
"@setupSkipForNow": {
|
|
"description": "Skip button text"
|
|
},
|
|
"setupNext": "التالي",
|
|
"@setupNext": {
|
|
"description": "Next button text"
|
|
},
|
|
"setupGetStarted": "إبدأ الآن",
|
|
"@setupGetStarted": {
|
|
"description": "Final setup button"
|
|
},
|
|
"setupAllowAccessToManageFiles": "الرجاء تمكين \"السماح بالوصول لإدارة جميع الملفات\" في الشاشة التالية.",
|
|
"@setupAllowAccessToManageFiles": {
|
|
"description": "Instruction for file access permission"
|
|
},
|
|
"setupLanguageTitle": "اِختر اللغة",
|
|
"@setupLanguageTitle": {
|
|
"description": "Title for the language selection step in setup"
|
|
},
|
|
"setupLanguageDescription": "حدد لغتك المفضلة للتطبيق. يمكنك تغيير هذا لاحقًا من الإعدادات.",
|
|
"@setupLanguageDescription": {
|
|
"description": "Description for the language selection step in setup"
|
|
},
|
|
"setupLanguageSystemDefault": "الوضع الافتراضي للنظام",
|
|
"@setupLanguageSystemDefault": {
|
|
"description": "Option to use the system language"
|
|
},
|
|
"dialogCancel": "إلغاء",
|
|
"@dialogCancel": {
|
|
"description": "Dialog button - cancel action"
|
|
},
|
|
"dialogSave": "حفظ",
|
|
"@dialogSave": {
|
|
"description": "Dialog button - save changes"
|
|
},
|
|
"dialogDelete": "حذف",
|
|
"@dialogDelete": {
|
|
"description": "Dialog button - delete item"
|
|
},
|
|
"dialogRetry": "إعادة المحاولة",
|
|
"@dialogRetry": {
|
|
"description": "Dialog button - retry action"
|
|
},
|
|
"dialogClear": "محو",
|
|
"@dialogClear": {
|
|
"description": "Dialog button - clear items"
|
|
},
|
|
"dialogDone": "تم",
|
|
"@dialogDone": {
|
|
"description": "Dialog button - action completed"
|
|
},
|
|
"dialogImport": "استيراد",
|
|
"@dialogImport": {
|
|
"description": "Dialog button - import data"
|
|
},
|
|
"dialogDownload": "تنزيل",
|
|
"@dialogDownload": {
|
|
"description": "Confirm button in Download All dialog"
|
|
},
|
|
"previewPlay": "تشغيل المعاينة",
|
|
"@previewPlay": {
|
|
"description": "Tooltip for the button that plays a short track preview snippet"
|
|
},
|
|
"previewStop": "إيقاف المعاينة",
|
|
"@previewStop": {
|
|
"description": "Tooltip for the button that stops the playing track preview snippet"
|
|
},
|
|
"previewUnavailable": "المعاينة غير متوفرة",
|
|
"@previewUnavailable": {
|
|
"description": "Snackbar shown when a track preview snippet cannot be played"
|
|
},
|
|
"dialogDiscard": "تجاهل",
|
|
"@dialogDiscard": {
|
|
"description": "Dialog button - discard changes"
|
|
},
|
|
"dialogRemove": "إزالة",
|
|
"@dialogRemove": {
|
|
"description": "Dialog button - remove item"
|
|
},
|
|
"dialogUninstall": "إلغاء التثبيت",
|
|
"@dialogUninstall": {
|
|
"description": "Dialog button - uninstall extension"
|
|
},
|
|
"dialogDiscardChanges": "تجاهل التغييرات؟",
|
|
"@dialogDiscardChanges": {
|
|
"description": "Dialog title - unsaved changes warning"
|
|
},
|
|
"dialogUnsavedChanges": "لديك تغييرات غير محفوظة. هل تريد المتابعة دون حفظها؟",
|
|
"@dialogUnsavedChanges": {
|
|
"description": "Dialog message - unsaved changes"
|
|
},
|
|
"dialogClearAll": "مسح الكل",
|
|
"@dialogClearAll": {
|
|
"description": "Dialog title - clear all items"
|
|
},
|
|
"dialogRemoveExtension": "إزالة إضافة",
|
|
"@dialogRemoveExtension": {
|
|
"description": "Dialog title - uninstall extension"
|
|
},
|
|
"dialogRemoveExtensionMessage": "هل أنت متأكد من أنك تريد إزالة هذه الإضافة؟ لا يمكن التراجع عن ذلك.",
|
|
"@dialogRemoveExtensionMessage": {
|
|
"description": "Dialog message - uninstall confirmation"
|
|
},
|
|
"dialogUninstallExtension": "إلغاء تثبيت الإضافة؟",
|
|
"@dialogUninstallExtension": {
|
|
"description": "Dialog title - uninstall extension"
|
|
},
|
|
"dialogUninstallExtensionMessage": "هل أنت متأكد من أنك تريد إزالة {extensionName}؟",
|
|
"@dialogUninstallExtensionMessage": {
|
|
"description": "Dialog message - uninstall specific extension",
|
|
"placeholders": {
|
|
"extensionName": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
"dialogClearHistoryTitle": "مسح السجل",
|
|
"@dialogClearHistoryTitle": {
|
|
"description": "Dialog title - clear download history"
|
|
},
|
|
"dialogClearHistoryMessage": "هل أنت متأكد من أنك تريد مسح كل سجل التنزيلات؟ لا يمكن التراجع عن هذا.",
|
|
"@dialogClearHistoryMessage": {
|
|
"description": "Dialog message - clear history confirmation"
|
|
},
|
|
"dialogDeleteSelectedTitle": "حذف المحدد",
|
|
"@dialogDeleteSelectedTitle": {
|
|
"description": "Dialog title - delete selected items"
|
|
},
|
|
"dialogDeleteSelectedMessage": "حذف {count} {count, plural, zero {} one {المسارات} two {أغنيتين} few {أغانٍ} many {أغنية}=1{أغنية} other{الأغاني}} من التاريخ؟\n\nسيؤدي هذا أيضا إلى حذف الملفات من وحدة التخزين.",
|
|
"@dialogDeleteSelectedMessage": {
|
|
"description": "Dialog message - delete selected tracks",
|
|
"placeholders": {
|
|
"count": {
|
|
"type": "int"
|
|
}
|
|
}
|
|
},
|
|
"dialogImportPlaylistTitle": "استيراد قائمة تشغيل",
|
|
"@dialogImportPlaylistTitle": {
|
|
"description": "Dialog title - import CSV playlist"
|
|
},
|
|
"dialogImportPlaylistMessage": "تم العثور على {count} مسارات في CSV. إضافتها إلى قائمة انتظار التنزيل؟",
|
|
"csvImportTracks": "{count} مسارات من CSV",
|
|
"@csvImportTracks": {
|
|
"description": "Label shown in quality picker for CSV import",
|
|
"placeholders": {
|
|
"count": {
|
|
"type": "int"
|
|
}
|
|
}
|
|
},
|
|
"@dialogImportPlaylistMessage": {
|
|
"description": "Dialog message - import playlist confirmation",
|
|
"placeholders": {
|
|
"count": {
|
|
"type": "int"
|
|
}
|
|
}
|
|
},
|
|
"snackbarAddedToQueue": "تمت إضافة {trackName} إلى قائمة الانتظار",
|
|
"@snackbarAddedToQueue": {
|
|
"description": "Snackbar - track added to download queue",
|
|
"placeholders": {
|
|
"trackName": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
"snackbarAddedTracksToQueue": "تم إضافة {count} أغانٍ إلى قائمة الانتظار",
|
|
"@snackbarAddedTracksToQueue": {
|
|
"description": "Snackbar - multiple tracks added to queue",
|
|
"placeholders": {
|
|
"count": {
|
|
"type": "int"
|
|
}
|
|
}
|
|
},
|
|
"snackbarAlreadyDownloaded": "تم تنزيل {trackName} بالفعل",
|
|
"@snackbarAlreadyDownloaded": {
|
|
"description": "Snackbar - track already exists",
|
|
"placeholders": {
|
|
"trackName": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
"snackbarAlreadyInLibrary": "{trackName} موجود بالفعل في مكتبتك",
|
|
"@snackbarAlreadyInLibrary": {
|
|
"description": "Snackbar - track already exists in local library",
|
|
"placeholders": {
|
|
"trackName": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
"snackbarHistoryCleared": "تم مسح السجل.",
|
|
"@snackbarHistoryCleared": {
|
|
"description": "Snackbar - history deleted"
|
|
},
|
|
"snackbarCredentialsSaved": "تم حفظ بيانات الاعتماد",
|
|
"@snackbarCredentialsSaved": {
|
|
"description": "Snackbar - Spotify credentials saved"
|
|
},
|
|
"snackbarCredentialsCleared": "تم مسح بيانات الاعتماد",
|
|
"@snackbarCredentialsCleared": {
|
|
"description": "Snackbar - Spotify credentials removed"
|
|
},
|
|
"snackbarDeletedTracks": "تم حذف {count} {count, plural, zero {} one {أغنيتين} two {أغنيتين} few {أغانٍ} many {أغنية}=1{أغنية} other{أغانٍ}}",
|
|
"@snackbarDeletedTracks": {
|
|
"description": "Snackbar - tracks deleted",
|
|
"placeholders": {
|
|
"count": {
|
|
"type": "int"
|
|
}
|
|
}
|
|
},
|
|
"snackbarCannotOpenFile": "تعذر فتح الملف: {error}",
|
|
"@snackbarCannotOpenFile": {
|
|
"description": "Snackbar - file open error",
|
|
"placeholders": {
|
|
"error": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
"snackbarFillAllFields": "من فضلك قم بإدخال جميع البيانات",
|
|
"@snackbarFillAllFields": {
|
|
"description": "Snackbar - validation error"
|
|
},
|
|
"snackbarViewQueue": "عرض قائمة الانتظار",
|
|
"@snackbarViewQueue": {
|
|
"description": "Snackbar action - view download queue"
|
|
},
|
|
"snackbarUrlCopied": "رابط {platform} تم نسخه إلى الحافظة",
|
|
"@snackbarUrlCopied": {
|
|
"description": "Snackbar - URL copied",
|
|
"placeholders": {
|
|
"platform": {
|
|
"type": "String",
|
|
"description": "Platform name (Spotify/Deezer)"
|
|
}
|
|
}
|
|
},
|
|
"snackbarFileNotFound": "لم يتم العثور على الملف",
|
|
"@snackbarFileNotFound": {
|
|
"description": "Snackbar - file doesn't exist"
|
|
},
|
|
"snackbarSelectExtFile": "الرجاء تحديد ملف .spotiflac-ext",
|
|
"@snackbarSelectExtFile": {
|
|
"description": "Snackbar - wrong file type selected"
|
|
},
|
|
"snackbarProviderPrioritySaved": "تم حفظ أولوية المزود",
|
|
"@snackbarProviderPrioritySaved": {
|
|
"description": "Snackbar - provider order saved"
|
|
},
|
|
"snackbarMetadataProviderSaved": "تم حفظ أولوية مزود البيانات الوصفية (metadata)",
|
|
"@snackbarMetadataProviderSaved": {
|
|
"description": "Snackbar - metadata provider order saved"
|
|
},
|
|
"snackbarExtensionInstalled": "تم تثبيت {extensionName}.",
|
|
"@snackbarExtensionInstalled": {
|
|
"description": "Snackbar - extension installed successfully",
|
|
"placeholders": {
|
|
"extensionName": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
"snackbarExtensionUpdated": "تم تحديث {extensionName}.",
|
|
"@snackbarExtensionUpdated": {
|
|
"description": "Snackbar - extension updated successfully",
|
|
"placeholders": {
|
|
"extensionName": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
"snackbarFailedToInstall": "فشل تثبيت الإضافة",
|
|
"@snackbarFailedToInstall": {
|
|
"description": "Snackbar - extension install error"
|
|
},
|
|
"snackbarFailedToUpdate": "فشل تحديث الإضافة",
|
|
"@snackbarFailedToUpdate": {
|
|
"description": "Snackbar - extension update error"
|
|
},
|
|
"errorRateLimited": "تم الوصول للحد الأقصى",
|
|
"@errorRateLimited": {
|
|
"description": "Error title - too many requests"
|
|
},
|
|
"errorRateLimitedMessage": "طلبات كثيرة جداً. الرجاء الانتظار قليلاً قبل البحث مرة أخرى.",
|
|
"@errorRateLimitedMessage": {
|
|
"description": "Error message - rate limit explanation"
|
|
},
|
|
"errorNoTracksFound": "لم يتم العثور على الأغنية",
|
|
"@errorNoTracksFound": {
|
|
"description": "Error - search returned no results"
|
|
},
|
|
"searchEmptyResultSubtitle": "جرّب كلمة مفتاحية أخرى",
|
|
"@searchEmptyResultSubtitle": {
|
|
"description": "Subtitle shown under the empty search result state on the home screen"
|
|
},
|
|
"errorUrlNotRecognized": "رابط غير معروف",
|
|
"@errorUrlNotRecognized": {
|
|
"description": "Error title - URL not handled by any extension or service"
|
|
},
|
|
"errorUrlNotRecognizedMessage": "هذا الرابط غير مدعوم. تأكد من أن الرابط صحيح وتثبيت إضافة متوافق.",
|
|
"@errorUrlNotRecognizedMessage": {
|
|
"description": "Error message - URL not recognized explanation"
|
|
},
|
|
"errorUrlFetchFailed": "فشل تحميل المحتوى من هذا الرابط. الرجاء المحاولة مرة أخرى.",
|
|
"@errorUrlFetchFailed": {
|
|
"description": "Error message - generic URL fetch failure"
|
|
},
|
|
"errorMissingExtensionSource": "لا يمكن تحميل {item}: مصدر الإضافة مفقود",
|
|
"@errorMissingExtensionSource": {
|
|
"description": "Error - extension source not available",
|
|
"placeholders": {
|
|
"item": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
"actionPause": "إيقاف مؤقت",
|
|
"@actionPause": {
|
|
"description": "Action button - pause download"
|
|
},
|
|
"actionResume": "استئناف",
|
|
"@actionResume": {
|
|
"description": "Action button - resume download"
|
|
},
|
|
"actionCancel": "إلغاء",
|
|
"@actionCancel": {
|
|
"description": "Action button - cancel operation"
|
|
},
|
|
"actionSelectAll": "تحديد الكل",
|
|
"@actionSelectAll": {
|
|
"description": "Action button - select all items"
|
|
},
|
|
"actionDeselect": "إلغاء التحديد",
|
|
"@actionDeselect": {
|
|
"description": "Action button - deselect all"
|
|
},
|
|
"actionRemoveCredentials": "إزالة بيانات الاعتماد",
|
|
"@actionRemoveCredentials": {
|
|
"description": "Action button - delete Spotify credentials"
|
|
},
|
|
"actionSaveCredentials": "حفظ بيانات الاعتماد",
|
|
"@actionSaveCredentials": {
|
|
"description": "Action button - save Spotify credentials"
|
|
},
|
|
"selectionSelected": "تم تحديد {count}",
|
|
"@selectionSelected": {
|
|
"description": "Selection count indicator",
|
|
"placeholders": {
|
|
"count": {
|
|
"type": "int"
|
|
}
|
|
}
|
|
},
|
|
"selectionAllSelected": "تم اختيار جميع الأغاني",
|
|
"@selectionAllSelected": {
|
|
"description": "Status - all items selected"
|
|
},
|
|
"selectionSelectToDelete": "حدد الأغاني المراد حذفها",
|
|
"@selectionSelectToDelete": {
|
|
"description": "Placeholder when nothing selected"
|
|
},
|
|
"progressFetchingMetadata": "جلب البيانات الوصفية (metadata)... {current}/{total}",
|
|
"@progressFetchingMetadata": {
|
|
"description": "Progress indicator - loading track info",
|
|
"placeholders": {
|
|
"current": {
|
|
"type": "int"
|
|
},
|
|
"total": {
|
|
"type": "int"
|
|
}
|
|
}
|
|
},
|
|
"progressReadingCsv": "جاري قراءة CSV...",
|
|
"@progressReadingCsv": {
|
|
"description": "Progress indicator - parsing CSV file"
|
|
},
|
|
"searchSongs": "أغاني",
|
|
"@searchSongs": {
|
|
"description": "Search result category - songs"
|
|
},
|
|
"searchArtists": "فنانون",
|
|
"@searchArtists": {
|
|
"description": "Search result category - artists"
|
|
},
|
|
"searchAlbums": "ألبومات",
|
|
"@searchAlbums": {
|
|
"description": "Search result category - albums"
|
|
},
|
|
"searchPlaylists": "قوائم التشغيل",
|
|
"@searchPlaylists": {
|
|
"description": "Search result category - playlists"
|
|
},
|
|
"searchSortTitle": "فرز النتائج",
|
|
"@searchSortTitle": {
|
|
"description": "Bottom sheet title for search sort options"
|
|
},
|
|
"searchSortDefault": "افتراضي",
|
|
"@searchSortDefault": {
|
|
"description": "Sort option - default API order"
|
|
},
|
|
"searchSortTitleAZ": "العنوان (أ-ي)",
|
|
"@searchSortTitleAZ": {
|
|
"description": "Sort option - title ascending"
|
|
},
|
|
"searchSortTitleZA": "العنوان (ي-أ)",
|
|
"@searchSortTitleZA": {
|
|
"description": "Sort option - title descending"
|
|
},
|
|
"searchSortArtistAZ": "الفنان (أ-ي)",
|
|
"@searchSortArtistAZ": {
|
|
"description": "Sort option - artist ascending"
|
|
},
|
|
"searchSortArtistZA": "الفنان (ي-أ)",
|
|
"@searchSortArtistZA": {
|
|
"description": "Sort option - artist descending"
|
|
},
|
|
"searchSortDurationShort": "المدة (الأقصر)",
|
|
"@searchSortDurationShort": {
|
|
"description": "Sort option - shortest duration first"
|
|
},
|
|
"searchSortDurationLong": "المدة (الأطول)",
|
|
"@searchSortDurationLong": {
|
|
"description": "Sort option - longest duration first"
|
|
},
|
|
"searchSortDateOldest": "تاريخ الإصدار (الأقدم)",
|
|
"@searchSortDateOldest": {
|
|
"description": "Sort option - oldest release first"
|
|
},
|
|
"searchSortDateNewest": "تاريخ الإصدار (الأحدث)",
|
|
"@searchSortDateNewest": {
|
|
"description": "Sort option - newest release first"
|
|
},
|
|
"tooltipPlay": "تشغيل",
|
|
"@tooltipPlay": {
|
|
"description": "Tooltip - play button"
|
|
},
|
|
"filenameFormat": "صيغة الملف",
|
|
"@filenameFormat": {
|
|
"description": "Setting title - filename pattern"
|
|
},
|
|
"filenameShowAdvancedTags": "إظهار العلامات المتقدمة",
|
|
"@filenameShowAdvancedTags": {
|
|
"description": "Toggle label for showing advanced filename tags"
|
|
},
|
|
"filenameShowAdvancedTagsDescription": "تمكين العلامات المنسقة لحشو المقطع الصوتي وأنماط التاريخ",
|
|
"@filenameShowAdvancedTagsDescription": {
|
|
"description": "Description for advanced filename tag toggle"
|
|
},
|
|
"folderOrganizationNone": "لا توجد منظمة",
|
|
"@folderOrganizationNone": {
|
|
"description": "Folder option - flat structure"
|
|
},
|
|
"folderOrganizationByPlaylist": "حسب قائمة التشغيل",
|
|
"@folderOrganizationByPlaylist": {
|
|
"description": "Folder option - playlist folders"
|
|
},
|
|
"folderOrganizationByPlaylistSubtitle": "مجلد منفصل لكل قائمة تشغيل",
|
|
"@folderOrganizationByPlaylistSubtitle": {
|
|
"description": "Subtitle for playlist folder option"
|
|
},
|
|
"folderOrganizationByArtist": "حسب الفنان",
|
|
"@folderOrganizationByArtist": {
|
|
"description": "Folder option - artist folders"
|
|
},
|
|
"folderOrganizationByAlbum": "حسب الألبوم",
|
|
"@folderOrganizationByAlbum": {
|
|
"description": "Folder option - album folders"
|
|
},
|
|
"folderOrganizationByArtistAlbum": "ألبوم/الفنان",
|
|
"@folderOrganizationByArtistAlbum": {
|
|
"description": "Folder option - nested folders"
|
|
},
|
|
"folderOrganizationDescription": "تنظيم الملفات التي تم تنزيلها في المجلدات",
|
|
"@folderOrganizationDescription": {
|
|
"description": "Folder organization sheet description"
|
|
},
|
|
"folderOrganizationNoneSubtitle": "جميع الملفات في مجلد التحميل",
|
|
"@folderOrganizationNoneSubtitle": {
|
|
"description": "Subtitle for no organization option"
|
|
},
|
|
"folderOrganizationByArtistSubtitle": "مجلد منفصل لكل فنان",
|
|
"@folderOrganizationByArtistSubtitle": {
|
|
"description": "Subtitle for artist folder option"
|
|
},
|
|
"folderOrganizationByAlbumSubtitle": "مجلد منفصل لكل قائمة تشغيل",
|
|
"@folderOrganizationByAlbumSubtitle": {
|
|
"description": "Subtitle for album folder option"
|
|
},
|
|
"folderOrganizationByArtistAlbumSubtitle": "مجلدات متداخلة للفنان و الألبوم",
|
|
"@folderOrganizationByArtistAlbumSubtitle": {
|
|
"description": "Subtitle for nested folder option"
|
|
},
|
|
"updateAvailable": "هناك تحديث متاح",
|
|
"@updateAvailable": {
|
|
"description": "Update dialog title"
|
|
},
|
|
"updateLater": "ذكرني لاحقا",
|
|
"@updateLater": {
|
|
"description": "Update button - dismiss"
|
|
},
|
|
"updateStartingDownload": "جاري بدء التنزيل...",
|
|
"@updateStartingDownload": {
|
|
"description": "Update status - initializing"
|
|
},
|
|
"updateDownloadFailed": "فشل التنزيل",
|
|
"@updateDownloadFailed": {
|
|
"description": "Update error title"
|
|
},
|
|
"updateFailedMessage": "فشل تنزيل التحديث",
|
|
"@updateFailedMessage": {
|
|
"description": "Update error message"
|
|
},
|
|
"updateNewVersionReady": "إصدار جديد جاهز",
|
|
"@updateNewVersionReady": {
|
|
"description": "Update subtitle"
|
|
},
|
|
"updateCurrent": "الحالي",
|
|
"@updateCurrent": {
|
|
"description": "Label for current version"
|
|
},
|
|
"updateNew": "جديد",
|
|
"@updateNew": {
|
|
"description": "Label for new version"
|
|
},
|
|
"updateDownloading": "جاري التنزيل...",
|
|
"@updateDownloading": {
|
|
"description": "Update status - downloading"
|
|
},
|
|
"updateWhatsNew": "ما الجديد",
|
|
"@updateWhatsNew": {
|
|
"description": "Changelog section title"
|
|
},
|
|
"updateDownloadInstall": "تحميل وتثبيت",
|
|
"@updateDownloadInstall": {
|
|
"description": "Update button - download and install"
|
|
},
|
|
"updateDontRemind": "لا تذكّرني",
|
|
"@updateDontRemind": {
|
|
"description": "Update button - skip this version"
|
|
},
|
|
"providerPriorityTitle": "أولوية مقدم الخدمة",
|
|
"@providerPriorityTitle": {
|
|
"description": "Provider priority page title"
|
|
},
|
|
"providerPriorityDescription": "اسحب لإعادة ترتيب مزودي التحميل. سيجرب التطبيق مزودي الخدمات من الأعلى إلى الأسفل عند تحميل المسار.",
|
|
"@providerPriorityDescription": {
|
|
"description": "Provider priority page description"
|
|
},
|
|
"providerPriorityInfo": "إذا كانت الأغنية غير متوفرة عند أول مزود، فإن التطبيق سيجرب تلقائياً المزود التالي.",
|
|
"@providerPriorityInfo": {
|
|
"description": "Info tip about fallback behavior"
|
|
},
|
|
"providerPriorityFallbackExtensionsTitle": "المكون الإضافي الاحتياطي",
|
|
"@providerPriorityFallbackExtensionsTitle": {
|
|
"description": "Section title for choosing which download extensions can be used as fallback providers"
|
|
},
|
|
"providerPriorityFallbackExtensionsDescription": "اختر إضافات التحميل المثبتة التي يمكن استخدامها أثناء الرجوع التلقائي للمزود الاحتياطي.",
|
|
"@providerPriorityFallbackExtensionsDescription": {
|
|
"description": "Section description for extension fallback selection"
|
|
},
|
|
"providerPriorityFallbackExtensionsHint": "الإضافات المفعلة فقط مع قدرة توفير التنزيل مدرجة هنا.",
|
|
"@providerPriorityFallbackExtensionsHint": {
|
|
"description": "Hint below the extension fallback selection list"
|
|
},
|
|
"providerBuiltIn": "قديم",
|
|
"@providerBuiltIn": {
|
|
"description": "Legacy label retained for old generated localization compatibility"
|
|
},
|
|
"providerExtension": "الإضافة",
|
|
"@providerExtension": {
|
|
"description": "Label for extension-provided providers"
|
|
},
|
|
"metadataProviderPriorityTitle": "أولوية البيانات الوصفية (metadata)",
|
|
"@metadataProviderPriorityTitle": {
|
|
"description": "Metadata priority page title"
|
|
},
|
|
"metadataProviderPriorityDescription": "اسحب لإعادة ترتيب موفري البيانات الوصفية (metadata). سيحاول التطبيق موفري البيانات الوصفية (metadata) من الأعلى إلى الأسفل عند البحث عن المسارات وجلب البيانات الوصفية (metadata).",
|
|
"@metadataProviderPriorityDescription": {
|
|
"description": "Metadata priority page description"
|
|
},
|
|
"metadataProviderPriorityInfo": "Deezer ليس لديه حدود للطلبات ومُوصى به كأساسي. Spotify لديه حد للطلبات وقد لا يعمل بعد عدة عمليات.",
|
|
"@metadataProviderPriorityInfo": {
|
|
"description": "Info tip about rate limits"
|
|
},
|
|
"metadataNoRateLimits": "لا حدود للطلبات",
|
|
"@metadataNoRateLimits": {
|
|
"description": "Deezer provider description"
|
|
},
|
|
"metadataMayRateLimit": "قد يفرض حدودا للطلب",
|
|
"@metadataMayRateLimit": {
|
|
"description": "Spotify provider description"
|
|
},
|
|
"logTitle": "السجلات",
|
|
"@logTitle": {
|
|
"description": "Logs screen title"
|
|
},
|
|
"logCopied": "تم نسخ السجلات إلى الحافظة",
|
|
"@logCopied": {
|
|
"description": "Snackbar - logs copied"
|
|
},
|
|
"logSearchHint": "البحث في السجلات...",
|
|
"@logSearchHint": {
|
|
"description": "Log search placeholder"
|
|
},
|
|
"logFilterLevel": "المستوى",
|
|
"@logFilterLevel": {
|
|
"description": "Filter by log level"
|
|
},
|
|
"logFilterSection": "فرز",
|
|
"@logFilterSection": {
|
|
"description": "Filter section title"
|
|
},
|
|
"logShareLogs": "مشاركة السجلات",
|
|
"@logShareLogs": {
|
|
"description": "Share button tooltip"
|
|
},
|
|
"logClearLogs": "حذف السجل",
|
|
"@logClearLogs": {
|
|
"description": "Clear button tooltip"
|
|
},
|
|
"logClearLogsTitle": "حذف السجل",
|
|
"@logClearLogsTitle": {
|
|
"description": "Clear logs dialog title"
|
|
},
|
|
"logClearLogsMessage": "هل أنت متأكد من رغبتك في مسح جميع السجلات؟",
|
|
"@logClearLogsMessage": {
|
|
"description": "Clear logs confirmation message"
|
|
},
|
|
"logFilterBySeverity": "تصفية السجلات حسب الخطورة",
|
|
"@logFilterBySeverity": {
|
|
"description": "Filter dialog title"
|
|
},
|
|
"logNoLogsYet": "لا توجد سجلات بعد",
|
|
"@logNoLogsYet": {
|
|
"description": "Empty state title"
|
|
},
|
|
"logNoLogsYetSubtitle": "ستظهر السجلات هنا عند استخدام التطبيق",
|
|
"@logNoLogsYetSubtitle": {
|
|
"description": "Empty state subtitle"
|
|
},
|
|
"logEntriesFiltered": "الإدخالات ({count} تم تصفيتها)",
|
|
"@logEntriesFiltered": {
|
|
"description": "Log count with filter active",
|
|
"placeholders": {
|
|
"count": {
|
|
"type": "int"
|
|
}
|
|
}
|
|
},
|
|
"logEntries": "الإدخالات ({count})",
|
|
"@logEntries": {
|
|
"description": "Total log count",
|
|
"placeholders": {
|
|
"count": {
|
|
"type": "int"
|
|
}
|
|
}
|
|
},
|
|
"credentialsTitle": "بيانات اعتماد Spotify",
|
|
"@credentialsTitle": {
|
|
"description": "Credentials dialog title"
|
|
},
|
|
"credentialsDescription": "أدخل معرف العميل الخاص بك و الكود السري لاستخدام حصة تطبيق Spotify الخاصة بك.",
|
|
"@credentialsDescription": {
|
|
"description": "Credentials dialog explanation"
|
|
},
|
|
"credentialsClientId": "Client ID",
|
|
"@credentialsClientId": {
|
|
"description": "Client ID field label - DO NOT TRANSLATE"
|
|
},
|
|
"credentialsClientIdHint": "لصق Client ID",
|
|
"@credentialsClientIdHint": {
|
|
"description": "Client ID placeholder"
|
|
},
|
|
"credentialsClientSecret": "Client Secret",
|
|
"@credentialsClientSecret": {
|
|
"description": "Client Secret field label - DO NOT TRANSLATE"
|
|
},
|
|
"credentialsClientSecretHint": "لصق Client Secret",
|
|
"@credentialsClientSecretHint": {
|
|
"description": "Client Secret placeholder"
|
|
},
|
|
"channelStable": "مستقر",
|
|
"@channelStable": {
|
|
"description": "Update channel - stable releases"
|
|
},
|
|
"channelPreview": "تجريبي",
|
|
"@channelPreview": {
|
|
"description": "Update channel - beta/preview releases"
|
|
},
|
|
"sectionSearchSource": "مصدر البحث",
|
|
"@sectionSearchSource": {
|
|
"description": "Settings section header"
|
|
},
|
|
"sectionDownload": "التحميل",
|
|
"@sectionDownload": {
|
|
"description": "Settings section header"
|
|
},
|
|
"sectionPerformance": "الأداء",
|
|
"@sectionPerformance": {
|
|
"description": "Settings section header"
|
|
},
|
|
"sectionApp": "التطبيق",
|
|
"@sectionApp": {
|
|
"description": "Settings section header"
|
|
},
|
|
"sectionData": "البيانات",
|
|
"@sectionData": {
|
|
"description": "Settings section header"
|
|
},
|
|
"sectionDebug": "تصحيح الأخطاء",
|
|
"@sectionDebug": {
|
|
"description": "Settings section header"
|
|
},
|
|
"sectionService": "الخدمة",
|
|
"@sectionService": {
|
|
"description": "Settings section header"
|
|
},
|
|
"sectionAudioQuality": "جودة الصوت",
|
|
"@sectionAudioQuality": {
|
|
"description": "Settings section header"
|
|
},
|
|
"sectionFileSettings": "إعدادات الملف",
|
|
"@sectionFileSettings": {
|
|
"description": "Settings section header"
|
|
},
|
|
"sectionLyrics": "كلمات الاغنية",
|
|
"@sectionLyrics": {
|
|
"description": "Settings section header"
|
|
},
|
|
"lyricsMode": "وضع كلمات الأغنية",
|
|
"@lyricsMode": {
|
|
"description": "Setting - how to save lyrics"
|
|
},
|
|
"lyricsModeDescription": "اختر كيفية حفظ كلمات الأغاني مع التنزيلات الخاصة بك",
|
|
"@lyricsModeDescription": {
|
|
"description": "Lyrics mode picker description"
|
|
},
|
|
"lyricsModeEmbed": "تضمين في الملف",
|
|
"@lyricsModeEmbed": {
|
|
"description": "Lyrics mode option - embed in audio file"
|
|
},
|
|
"lyricsModeEmbedSubtitle": "كلمات الأغاني مخزنة داخل بيانات تعريف FLAC",
|
|
"@lyricsModeEmbedSubtitle": {
|
|
"description": "Subtitle for embed option"
|
|
},
|
|
"lyricsModeExternal": "ملف .lrc منفصل",
|
|
"@lyricsModeExternal": {
|
|
"description": "Lyrics mode option - separate LRC file"
|
|
},
|
|
"lyricsModeExternalSubtitle": "فصل ملف .lrc لمشغلي الأغاني مثل Samsung Music",
|
|
"@lyricsModeExternalSubtitle": {
|
|
"description": "Subtitle for external option"
|
|
},
|
|
"lyricsModeBoth": "كلاهما",
|
|
"@lyricsModeBoth": {
|
|
"description": "Lyrics mode option - embed and external"
|
|
},
|
|
"lyricsModeBothSubtitle": "تضمين وحفظ ملف .lrc",
|
|
"@lyricsModeBothSubtitle": {
|
|
"description": "Subtitle for both option"
|
|
},
|
|
"sectionColor": "اللون",
|
|
"@sectionColor": {
|
|
"description": "Settings section header"
|
|
},
|
|
"sectionTheme": "الثيم",
|
|
"@sectionTheme": {
|
|
"description": "Settings section header"
|
|
},
|
|
"sectionLayout": "التخطيط",
|
|
"@sectionLayout": {
|
|
"description": "Settings section header"
|
|
},
|
|
"sectionLanguage": "اللّغة",
|
|
"@sectionLanguage": {
|
|
"description": "Settings section header for language"
|
|
},
|
|
"appearanceLanguage": "لغة التطبيق",
|
|
"@appearanceLanguage": {
|
|
"description": "Language setting title"
|
|
},
|
|
"settingsAppearanceSubtitle": "السمة والألوان والعرض",
|
|
"@settingsAppearanceSubtitle": {
|
|
"description": "Appearance settings description"
|
|
},
|
|
"settingsDownloadSubtitle": "الخدمة والجودة الأحتياطات",
|
|
"@settingsDownloadSubtitle": {
|
|
"description": "Download settings description"
|
|
},
|
|
"settingsOptionsSubtitle": "الإحتياطات، البيانات الوصفية (metadata)، كلمات الأغاني، غلاف الأغنية",
|
|
"@settingsOptionsSubtitle": {
|
|
"description": "Options settings description"
|
|
},
|
|
"settingsExtensionsSubtitle": "إدارة موفري التحميل",
|
|
"@settingsExtensionsSubtitle": {
|
|
"description": "Extensions settings description"
|
|
},
|
|
"settingsLogsSubtitle": "عرض سجلات التطبيقات لتصحيح الأخطاء",
|
|
"@settingsLogsSubtitle": {
|
|
"description": "Logs settings description"
|
|
},
|
|
"loadingSharedLink": "تحميل الرابط المشترك...",
|
|
"@loadingSharedLink": {
|
|
"description": "Status when opening shared URL"
|
|
},
|
|
"pressBackAgainToExit": "اضغط رجوع مجددًا للخروج",
|
|
"@pressBackAgainToExit": {
|
|
"description": "Exit confirmation message"
|
|
},
|
|
"downloadAllCount": "تنزيل الكل ({count})",
|
|
"@downloadAllCount": {
|
|
"description": "Download all button with count",
|
|
"placeholders": {
|
|
"count": {
|
|
"type": "int"
|
|
}
|
|
}
|
|
},
|
|
"tracksCount": "{count, plural, zero {لا توجد أغاني محددة} one {{count} مسارات} two {أغنيتين} few {{count} أغانٍ} many {{count} أغانٍ}=1{أغنية واحدة} other{{count} أغانٍ}}",
|
|
"@tracksCount": {
|
|
"description": "Track count display",
|
|
"placeholders": {
|
|
"count": {
|
|
"type": "int"
|
|
}
|
|
}
|
|
},
|
|
"trackCopyFilePath": "نسخ مسار الملف",
|
|
"@trackCopyFilePath": {
|
|
"description": "Action - copy file path"
|
|
},
|
|
"trackRemoveFromDevice": "حذف من الجهاز",
|
|
"@trackRemoveFromDevice": {
|
|
"description": "Action - delete downloaded file"
|
|
},
|
|
"trackLoadLyrics": "تحميل كلمات الأغاني",
|
|
"@trackLoadLyrics": {
|
|
"description": "Action - fetch lyrics"
|
|
},
|
|
"trackMetadata": "البيانات الوصفية (Metadata)",
|
|
"@trackMetadata": {
|
|
"description": "Tab title - track metadata"
|
|
},
|
|
"trackFileInfo": "معلومات الملف",
|
|
"@trackFileInfo": {
|
|
"description": "Tab title - file information"
|
|
},
|
|
"trackLyrics": "كلمات الاغنية",
|
|
"@trackLyrics": {
|
|
"description": "Tab title - lyrics"
|
|
},
|
|
"trackFileNotFound": "لم يتم العثور على الملف",
|
|
"@trackFileNotFound": {
|
|
"description": "Error - file doesn't exist"
|
|
},
|
|
"trackOpenInDeezer": "فتح في Deezer",
|
|
"@trackOpenInDeezer": {
|
|
"description": "Action - open track in Deezer app"
|
|
},
|
|
"trackOpenInSpotify": "فتح في Spotify",
|
|
"@trackOpenInSpotify": {
|
|
"description": "Action - open track in Spotify app"
|
|
},
|
|
"trackTrackName": "اسم الأغنية",
|
|
"@trackTrackName": {
|
|
"description": "Metadata label - track title"
|
|
},
|
|
"trackArtist": "الفنان",
|
|
"@trackArtist": {
|
|
"description": "Metadata label - artist name"
|
|
},
|
|
"trackAlbumArtist": "فنان الألبوم",
|
|
"@trackAlbumArtist": {
|
|
"description": "Metadata label - album artist"
|
|
},
|
|
"trackAlbum": "الألبوم",
|
|
"@trackAlbum": {
|
|
"description": "Metadata label - album name"
|
|
},
|
|
"trackTrackNumber": "رقم الأغنية",
|
|
"@trackTrackNumber": {
|
|
"description": "Metadata label - track number"
|
|
},
|
|
"trackDiscNumber": "رقم القرص",
|
|
"@trackDiscNumber": {
|
|
"description": "Metadata label - disc number"
|
|
},
|
|
"trackDuration": "المدة",
|
|
"@trackDuration": {
|
|
"description": "Metadata label - track length"
|
|
},
|
|
"trackAudioQuality": "جودة الصوت",
|
|
"@trackAudioQuality": {
|
|
"description": "Metadata label - audio quality"
|
|
},
|
|
"trackReleaseDate": "تاريخ الإصدار",
|
|
"@trackReleaseDate": {
|
|
"description": "Metadata label - release date"
|
|
},
|
|
"trackGenre": "النوع",
|
|
"@trackGenre": {
|
|
"description": "Metadata label - music genre"
|
|
},
|
|
"trackLabel": "تصنيف",
|
|
"@trackLabel": {
|
|
"description": "Metadata label - record label"
|
|
},
|
|
"trackCopyright": "حقوق الطبع و النشر",
|
|
"@trackCopyright": {
|
|
"description": "Metadata label - copyright information"
|
|
},
|
|
"trackDownloaded": "تم التنزيل",
|
|
"@trackDownloaded": {
|
|
"description": "Metadata label - download date"
|
|
},
|
|
"trackCopyLyrics": "نسخ كلمات الأغنية",
|
|
"@trackCopyLyrics": {
|
|
"description": "Action - copy lyrics to clipboard"
|
|
},
|
|
"trackLyricsSource": "المصدر: {source}",
|
|
"@trackLyricsSource": {
|
|
"description": "Label showing the lyrics source/provider",
|
|
"placeholders": {
|
|
"source": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
"trackLyricsNotAvailable": "كلمات الأغنية غير متوفرة لهذه الأغنية",
|
|
"@trackLyricsNotAvailable": {
|
|
"description": "Message when lyrics not found"
|
|
},
|
|
"trackLyricsNotInFile": "لم يتم العثور على كلمات الأغاني في هذا الملف",
|
|
"@trackLyricsNotInFile": {
|
|
"description": "Message when no embedded lyrics in audio file"
|
|
},
|
|
"trackFetchOnlineLyrics": "جلب من الإنترنت",
|
|
"@trackFetchOnlineLyrics": {
|
|
"description": "Action - fetch lyrics from online providers"
|
|
},
|
|
"trackLyricsTimeout": "انتهت مهلة الطلب. حاول مرة أخرى لاحقاً.",
|
|
"@trackLyricsTimeout": {
|
|
"description": "Message when lyrics request times out"
|
|
},
|
|
"trackLyricsLoadFailed": "فشل تحميل كلمات الأغاني",
|
|
"@trackLyricsLoadFailed": {
|
|
"description": "Message when lyrics loading fails"
|
|
},
|
|
"trackEmbedLyrics": "تضمين كلمات الأغنية",
|
|
"@trackEmbedLyrics": {
|
|
"description": "Action - embed lyrics into audio file"
|
|
},
|
|
"trackLyricsEmbedded": "تمت إضافة كلمات الأغنية بنجاح",
|
|
"@trackLyricsEmbedded": {
|
|
"description": "Snackbar - lyrics saved to file"
|
|
},
|
|
"trackInstrumental": "المسار الآلي",
|
|
"@trackInstrumental": {
|
|
"description": "Message when track is instrumental (no lyrics)"
|
|
},
|
|
"trackCopiedToClipboard": "تم النسخ إلى الحافظة",
|
|
"@trackCopiedToClipboard": {
|
|
"description": "Snackbar - content copied"
|
|
},
|
|
"trackDeleteConfirmTitle": "حذف من الجهاز؟",
|
|
"@trackDeleteConfirmTitle": {
|
|
"description": "Delete confirmation title"
|
|
},
|
|
"trackDeleteConfirmMessage": "سيؤدي هذا إلى حذف الملف الذي تم تنزيله وإزالته من السجل الخاص بك بشكل دائم.",
|
|
"@trackDeleteConfirmMessage": {
|
|
"description": "Delete confirmation message"
|
|
},
|
|
"dateToday": "اليوم",
|
|
"@dateToday": {
|
|
"description": "Relative date - today"
|
|
},
|
|
"dateYesterday": "الأمس",
|
|
"@dateYesterday": {
|
|
"description": "Relative date - yesterday"
|
|
},
|
|
"dateDaysAgo": "قبل {count} أيام",
|
|
"@dateDaysAgo": {
|
|
"description": "Relative date - days ago",
|
|
"placeholders": {
|
|
"count": {
|
|
"type": "int"
|
|
}
|
|
}
|
|
},
|
|
"dateWeeksAgo": "قبل {count} أسابيع",
|
|
"@dateWeeksAgo": {
|
|
"description": "Relative date - weeks ago",
|
|
"placeholders": {
|
|
"count": {
|
|
"type": "int"
|
|
}
|
|
}
|
|
},
|
|
"dateMonthsAgo": "منذ {count} أشهر",
|
|
"@dateMonthsAgo": {
|
|
"description": "Relative date - months ago",
|
|
"placeholders": {
|
|
"count": {
|
|
"type": "int"
|
|
}
|
|
}
|
|
},
|
|
"storeFilterAll": "الكل",
|
|
"@storeFilterAll": {
|
|
"description": "Store filter - all extensions"
|
|
},
|
|
"storeFilterMetadata": "البيانات الوصفية (Metadata)",
|
|
"@storeFilterMetadata": {
|
|
"description": "Store filter - metadata providers"
|
|
},
|
|
"storeFilterDownload": "التحميل",
|
|
"@storeFilterDownload": {
|
|
"description": "Store filter - download providers"
|
|
},
|
|
"storeFilterUtility": "الأدوات",
|
|
"@storeFilterUtility": {
|
|
"description": "Store filter - utility extensions"
|
|
},
|
|
"storeFilterLyrics": "كلمات الأغنية",
|
|
"@storeFilterLyrics": {
|
|
"description": "Store filter - lyrics providers"
|
|
},
|
|
"storeFilterIntegration": "التكامل",
|
|
"@storeFilterIntegration": {
|
|
"description": "Store filter - integrations"
|
|
},
|
|
"storeClearFilters": "حذف الفلاتر",
|
|
"@storeClearFilters": {
|
|
"description": "Button to clear all filters"
|
|
},
|
|
"storeAddRepoTitle": "إضافة مستودع إضافات",
|
|
"@storeAddRepoTitle": {
|
|
"description": "Store setup screen - heading when no repo is configured"
|
|
},
|
|
"storeAddRepoDescription": "أدخل عنوان مستودع GitHub الذي يحتوي على ملف registry.json لتصفح وتثبيت الإضافات.",
|
|
"@storeAddRepoDescription": {
|
|
"description": "Store setup screen - explanatory text"
|
|
},
|
|
"storeRepoUrlLabel": "رابط المستودع",
|
|
"@storeRepoUrlLabel": {
|
|
"description": "Label for the repository URL input field"
|
|
},
|
|
"storeRepoUrlHint": "https://github.com/user/repo",
|
|
"@storeRepoUrlHint": {
|
|
"description": "Hint/placeholder for the repository URL input field"
|
|
},
|
|
"storeRepoUrlHelper": "مثال: https://github.com/user/extensions-repo",
|
|
"@storeRepoUrlHelper": {
|
|
"description": "Helper text below the repository URL input field"
|
|
},
|
|
"storeAddRepoButton": "أضف مستودعًا",
|
|
"@storeAddRepoButton": {
|
|
"description": "Button to submit a new repository URL"
|
|
},
|
|
"storeChangeRepoTooltip": "تغيير المستودع",
|
|
"@storeChangeRepoTooltip": {
|
|
"description": "Tooltip for the change-repository icon button in the app bar"
|
|
},
|
|
"storeRepoDialogTitle": "مستودع الإضافات",
|
|
"@storeRepoDialogTitle": {
|
|
"description": "Title of the change/remove repository dialog"
|
|
},
|
|
"storeRepoDialogCurrent": "المستودع الحالي:",
|
|
"@storeRepoDialogCurrent": {
|
|
"description": "Label shown above the current repository URL in the dialog"
|
|
},
|
|
"storeNewRepoUrlLabel": "رابط المستودع",
|
|
"@storeNewRepoUrlLabel": {
|
|
"description": "Label for the new repository URL field inside the dialog"
|
|
},
|
|
"storeLoadError": "فشل تحميل المستودع",
|
|
"@storeLoadError": {
|
|
"description": "Error heading when the store cannot be loaded"
|
|
},
|
|
"storeEmptyNoExtensions": "لا توجد إضافات متاحة",
|
|
"@storeEmptyNoExtensions": {
|
|
"description": "Message when store has no extensions"
|
|
},
|
|
"storeEmptyNoResults": "لم يتم العثور على إضافات",
|
|
"@storeEmptyNoResults": {
|
|
"description": "Message when search/filter returns no results"
|
|
},
|
|
"extensionDefaultProvider": "البحث الافتراضي",
|
|
"@extensionDefaultProvider": {
|
|
"description": "Default search provider option"
|
|
},
|
|
"extensionDefaultProviderSubtitle": "استخدام البحث الافتراضي عن البيانات الوصفية",
|
|
"@extensionDefaultProviderSubtitle": {
|
|
"description": "Subtitle for default provider"
|
|
},
|
|
"extensionAuthor": "المؤلف",
|
|
"@extensionAuthor": {
|
|
"description": "Extension detail - author"
|
|
},
|
|
"extensionId": "ID",
|
|
"@extensionId": {
|
|
"description": "Extension detail - unique ID"
|
|
},
|
|
"extensionError": "خطأ",
|
|
"@extensionError": {
|
|
"description": "Extension detail - error message"
|
|
},
|
|
"extensionCapabilities": "الإمكانيات",
|
|
"@extensionCapabilities": {
|
|
"description": "Section header - extension features"
|
|
},
|
|
"extensionMetadataProvider": "مزود بيانات التعريف",
|
|
"@extensionMetadataProvider": {
|
|
"description": "Capability - provides metadata"
|
|
},
|
|
"extensionDownloadProvider": "مزود التحميل",
|
|
"@extensionDownloadProvider": {
|
|
"description": "Capability - provides downloads"
|
|
},
|
|
"extensionLyricsProvider": "موفر كلمات الأغاني",
|
|
"@extensionLyricsProvider": {
|
|
"description": "Capability - provides lyrics"
|
|
},
|
|
"extensionUrlHandler": "معالج الروابط",
|
|
"@extensionUrlHandler": {
|
|
"description": "Capability - handles URLs"
|
|
},
|
|
"extensionQualityOptions": "خيارات الجودة",
|
|
"@extensionQualityOptions": {
|
|
"description": "Capability - quality selection"
|
|
},
|
|
"extensionPostProcessingHooks": "روابط المعالجة اللاحقة",
|
|
"@extensionPostProcessingHooks": {
|
|
"description": "Capability - post-processing"
|
|
},
|
|
"extensionPermissions": "الصلاحيات",
|
|
"@extensionPermissions": {
|
|
"description": "Section header - required permissions"
|
|
},
|
|
"extensionSettings": "الإعدادات",
|
|
"@extensionSettings": {
|
|
"description": "Section header - extension settings"
|
|
},
|
|
"extensionRemoveButton": "حذف الإضافة",
|
|
"@extensionRemoveButton": {
|
|
"description": "Button to uninstall extension"
|
|
},
|
|
"extensionUpdated": "تاريخ التحديث",
|
|
"@extensionUpdated": {
|
|
"description": "Extension detail - last update"
|
|
},
|
|
"extensionMinAppVersion": "اصدار التطبيق الأدنى",
|
|
"@extensionMinAppVersion": {
|
|
"description": "Extension detail - minimum app version"
|
|
},
|
|
"extensionCustomTrackMatching": "مطابقة المسار المخصص",
|
|
"@extensionCustomTrackMatching": {
|
|
"description": "Capability - custom track matching algorithm"
|
|
},
|
|
"extensionPostProcessing": "مرحلة ما بعد المعالجة",
|
|
"@extensionPostProcessing": {
|
|
"description": "Capability - post-download processing"
|
|
},
|
|
"extensionHooksAvailable": "متاح {count} روابط",
|
|
"@extensionHooksAvailable": {
|
|
"description": "Post-processing hooks count",
|
|
"placeholders": {
|
|
"count": {
|
|
"type": "int"
|
|
}
|
|
}
|
|
},
|
|
"extensionPatternsCount": "{count} أنماط",
|
|
"@extensionPatternsCount": {
|
|
"description": "URL patterns count",
|
|
"placeholders": {
|
|
"count": {
|
|
"type": "int"
|
|
}
|
|
}
|
|
},
|
|
"extensionStrategy": "الاستراتيجية: {strategy}",
|
|
"@extensionStrategy": {
|
|
"description": "Track matching strategy name",
|
|
"placeholders": {
|
|
"strategy": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
"extensionsProviderPrioritySection": "أولوية مزود الخدمة",
|
|
"@extensionsProviderPrioritySection": {
|
|
"description": "Section header - provider priority"
|
|
},
|
|
"extensionsInstalledSection": "الإضافات المُثبّتة",
|
|
"@extensionsInstalledSection": {
|
|
"description": "Section header - installed extensions"
|
|
},
|
|
"extensionsNoExtensions": "لا توجد إضافات مثبتة",
|
|
"@extensionsNoExtensions": {
|
|
"description": "Empty state - no extensions"
|
|
},
|
|
"extensionsNoExtensionsSubtitle": "تثبيت ملفات .spotiflac-ext لإضافة موفرين جدد",
|
|
"@extensionsNoExtensionsSubtitle": {
|
|
"description": "Empty state subtitle"
|
|
},
|
|
"extensionsInstallButton": "تثبيت الإضافة",
|
|
"@extensionsInstallButton": {
|
|
"description": "Button to install extension from file"
|
|
},
|
|
"extensionsInfoTip": "يمكن للإضافات تزويدك بموفري بيانات التعريف الجديدة وتحميلها. ثبت الإضافات من مصادر موثوق بها فقط.",
|
|
"@extensionsInfoTip": {
|
|
"description": "Security warning about extensions"
|
|
},
|
|
"extensionsInstalledSuccess": "تم تثبيت الإضافة بنجاح",
|
|
"@extensionsInstalledSuccess": {
|
|
"description": "Success message after install"
|
|
},
|
|
"extensionsInstalledCount": "تم تثبيت {count} إضافات بنجاح",
|
|
"@extensionsInstalledCount": {
|
|
"description": "Success message after installing multiple extensions",
|
|
"placeholders": {
|
|
"count": {
|
|
"type": "int",
|
|
"description": "Number of installed extensions"
|
|
}
|
|
}
|
|
},
|
|
"extensionsInstallPartialSuccess": "تم تثبيت {count} من أصل {attempted} إضافات",
|
|
"@extensionsInstallPartialSuccess": {
|
|
"description": "Message when installing multiple extensions partially succeeds",
|
|
"placeholders": {
|
|
"installed": {
|
|
"type": "int",
|
|
"description": "Number of successfully installed extensions"
|
|
},
|
|
"attempted": {
|
|
"type": "int",
|
|
"description": "Number of selected extensions"
|
|
}
|
|
}
|
|
},
|
|
"extensionsDownloadPriority": "أولوية التحميل",
|
|
"@extensionsDownloadPriority": {
|
|
"description": "Setting - download provider order"
|
|
},
|
|
"extensionsDownloadPrioritySubtitle": "تعيين ترتيب خدمة التحميل",
|
|
"@extensionsDownloadPrioritySubtitle": {
|
|
"description": "Subtitle for download priority"
|
|
},
|
|
"extensionsFallbackTitle": "الإضافات الاحتياطية",
|
|
"@extensionsFallbackTitle": {
|
|
"description": "Setting and page title for choosing which download extensions can be used during fallback"
|
|
},
|
|
"extensionsFallbackSubtitle": "اختر إضافات التحميل المثبتة التي يمكن استخدامها أثناء الرجوع التلقائي للمزود الاحتياطي",
|
|
"@extensionsFallbackSubtitle": {
|
|
"description": "Subtitle for download fallback extensions menu"
|
|
},
|
|
"extensionsNoDownloadProvider": "لا توجد إضافات مع إمكانية مزود التحميل",
|
|
"@extensionsNoDownloadProvider": {
|
|
"description": "Empty state - no download providers"
|
|
},
|
|
"extensionsMetadataPriority": "أولوية البيانات الوصفية (metadata)",
|
|
"@extensionsMetadataPriority": {
|
|
"description": "Setting - metadata provider order"
|
|
},
|
|
"extensionsMetadataPrioritySubtitle": "تعيين ترتيب مصدر البحث والبيانات الوصفية",
|
|
"@extensionsMetadataPrioritySubtitle": {
|
|
"description": "Subtitle for metadata priority"
|
|
},
|
|
"extensionsNoMetadataProvider": "لا توجد إضافات مع إمكانية مزود البيانات الوصفية",
|
|
"@extensionsNoMetadataProvider": {
|
|
"description": "Empty state - no metadata providers"
|
|
},
|
|
"extensionsSearchProvider": "Search Provider",
|
|
"@extensionsSearchProvider": {
|
|
"description": "Setting - search provider selection"
|
|
},
|
|
"extensionsNoCustomSearch": "No extensions with custom search",
|
|
"@extensionsNoCustomSearch": {
|
|
"description": "Empty state - no search providers"
|
|
},
|
|
"extensionsSearchProviderDescription": "Choose which service to use for searching tracks",
|
|
"@extensionsSearchProviderDescription": {
|
|
"description": "Search provider setting description"
|
|
},
|
|
"extensionsCustomSearch": "Custom search",
|
|
"@extensionsCustomSearch": {
|
|
"description": "Label for custom search provider"
|
|
},
|
|
"extensionsErrorLoading": "Error loading extension",
|
|
"@extensionsErrorLoading": {
|
|
"description": "Error message when extension fails to load"
|
|
},
|
|
"qualityFlacLossless": "FLAC Lossless",
|
|
"@qualityFlacLossless": {
|
|
"description": "Quality option - CD quality FLAC"
|
|
},
|
|
"qualityFlacLosslessSubtitle": "16-bit / 44.1kHz",
|
|
"@qualityFlacLosslessSubtitle": {
|
|
"description": "Technical spec for lossless"
|
|
},
|
|
"qualityHiResFlac": "Hi-Res FLAC",
|
|
"@qualityHiResFlac": {
|
|
"description": "Quality option - high resolution FLAC"
|
|
},
|
|
"qualityHiResFlacSubtitle": "24 بت / ما يصل إلى 96 كيلو هرتز",
|
|
"@qualityHiResFlacSubtitle": {
|
|
"description": "Technical spec for hi-res"
|
|
},
|
|
"qualityHiResFlacMax": "Hi-Res FLAC Max",
|
|
"@qualityHiResFlacMax": {
|
|
"description": "Quality option - maximum resolution FLAC"
|
|
},
|
|
"qualityHiResFlacMaxSubtitle": "24 بت / ما يصل إلى 192 كيلو هرتز",
|
|
"@qualityHiResFlacMaxSubtitle": {
|
|
"description": "Technical spec for hi-res max"
|
|
},
|
|
"downloadLossy320": "320kbps مضغوط",
|
|
"@downloadLossy320": {
|
|
"description": "Quality option label for lossy 320kbps"
|
|
},
|
|
"downloadLossyFormat": "تنسيق مضغوط",
|
|
"@downloadLossyFormat": {
|
|
"description": "Setting title to pick output format for lossy downloads"
|
|
},
|
|
"downloadLossy320Format": "تنسيق 320kbps مضغوط",
|
|
"@downloadLossy320Format": {
|
|
"description": "Title of the lossy format picker bottom sheet"
|
|
},
|
|
"downloadLossy320FormatDesc": "اختر التنسيق النهائي للتنزيلات المضغوطة 320kbps. سيتم تحويل البث الأصلي إلى التنسيق المحدد عند الحاجة.",
|
|
"@downloadLossy320FormatDesc": {
|
|
"description": "Description in the lossy format picker"
|
|
},
|
|
"downloadLossyMp3": "MP3 320kbps",
|
|
"@downloadLossyMp3": {
|
|
"description": "Lossy format option - MP3 320kbps"
|
|
},
|
|
"downloadLossyMp3Subtitle": "أفضل توافق، ~10 ميغابايت لكل أغنية",
|
|
"@downloadLossyMp3Subtitle": {
|
|
"description": "Subtitle for MP3 320kbps lossy option"
|
|
},
|
|
"downloadLossyAac": "AAC/M4A 320kbps",
|
|
"@downloadLossyAac": {
|
|
"description": "Lossy format option - AAC in M4A container at 320kbps"
|
|
},
|
|
"downloadLossyAacSubtitle": "أفضل توافق للجوال، صيغة M4A",
|
|
"@downloadLossyAacSubtitle": {
|
|
"description": "Subtitle for AAC/M4A 320kbps lossy option"
|
|
},
|
|
"downloadLossyOpus256": "Opus 256kbps",
|
|
"@downloadLossyOpus256": {
|
|
"description": "Lossy format option - Opus 256kbps"
|
|
},
|
|
"downloadLossyOpus256Subtitle": "أفضل جودة Opus, حوالي 8 ميغابايت لكل أغنية",
|
|
"@downloadLossyOpus256Subtitle": {
|
|
"description": "Subtitle for Opus 256kbps lossy option"
|
|
},
|
|
"downloadLossyOpus128": "Opus 128kbps",
|
|
"@downloadLossyOpus128": {
|
|
"description": "Lossy format option - Opus 128kbps"
|
|
},
|
|
"downloadLossyOpus128Subtitle": "أصغر حجم, ~4 ميغابايت لكل مسار",
|
|
"@downloadLossyOpus128Subtitle": {
|
|
"description": "Subtitle for Opus 128kbps lossy option"
|
|
},
|
|
"qualityNote": "الجودة الفعلية تعتمد على المسار المتوفر من الخدمة",
|
|
"@qualityNote": {
|
|
"description": "Note about quality availability"
|
|
},
|
|
"downloadAskBeforeDownload": "اسأل قبل التحميل",
|
|
"@downloadAskBeforeDownload": {
|
|
"description": "Setting - show quality picker"
|
|
},
|
|
"downloadDirectory": "مسار التنزيل",
|
|
"@downloadDirectory": {
|
|
"description": "Setting - download folder"
|
|
},
|
|
"downloadSeparateSinglesFolder": "فصل مجلد الفرديات",
|
|
"@downloadSeparateSinglesFolder": {
|
|
"description": "Setting - separate folder for singles"
|
|
},
|
|
"downloadAlbumFolderStructure": "هيكل مجلد الألبوم",
|
|
"@downloadAlbumFolderStructure": {
|
|
"description": "Setting - album folder organization"
|
|
},
|
|
"albumFolderStructureDescription": "Choose how album folders are structured",
|
|
"@albumFolderStructureDescription": {
|
|
"description": "Album folder structure picker description"
|
|
},
|
|
"downloadUseAlbumArtistForFolders": "استخدام فنان الألبوم للمجلدات",
|
|
"@downloadUseAlbumArtistForFolders": {
|
|
"description": "Setting - choose whether artist folders use Album Artist or Track Artist"
|
|
},
|
|
"downloadUsePrimaryArtistOnly": "الفنان الأساسي فقط للمجلدات",
|
|
"@downloadUsePrimaryArtistOnly": {
|
|
"description": "Setting - strip featured artists from folder name"
|
|
},
|
|
"downloadUsePrimaryArtistOnlyEnabled": "الفنانين المتميزين الذين تمت إزالتهم من اسم المجلد (على سبيل المثال جاستين بيبر، كويفو -> جاستين بيبر)",
|
|
"@downloadUsePrimaryArtistOnlyEnabled": {
|
|
"description": "Subtitle when primary artist only is enabled"
|
|
},
|
|
"downloadUsePrimaryArtistOnlyDisabled": "اسم الفنان الكامل المستخدمة لاسم المجلد",
|
|
"@downloadUsePrimaryArtistOnlyDisabled": {
|
|
"description": "Subtitle when primary artist only is disabled"
|
|
},
|
|
"downloadSelectQuality": "تحديد الجودة",
|
|
"@downloadSelectQuality": {
|
|
"description": "Dialog title - choose audio quality"
|
|
},
|
|
"downloadFrom": "تحميل من",
|
|
"@downloadFrom": {
|
|
"description": "Label - download source"
|
|
},
|
|
"appearanceAmoledDark": "الوضع الداكن AMOLED",
|
|
"@appearanceAmoledDark": {
|
|
"description": "Theme option - pure black"
|
|
},
|
|
"appearanceAmoledDarkSubtitle": "خلفية سوداء تامة",
|
|
"@appearanceAmoledDarkSubtitle": {
|
|
"description": "Subtitle for AMOLED dark"
|
|
},
|
|
"queueClearAll": "مسح الكل",
|
|
"@queueClearAll": {
|
|
"description": "Button - clear all queue items"
|
|
},
|
|
"queueClearAllMessage": "هل أنت متأكد من أنك تريد مسح جميع التنزيلات؟",
|
|
"@queueClearAllMessage": {
|
|
"description": "Clear queue confirmation"
|
|
},
|
|
"settingsAutoExportFailed": "فشل التصدير التلقائي للتنزيلات",
|
|
"@settingsAutoExportFailed": {
|
|
"description": "Setting toggle for auto-export"
|
|
},
|
|
"settingsAutoExportFailedSubtitle": "حفظ التنزيلات التي فشلت إلى ملف TXT تلقائيًا",
|
|
"@settingsAutoExportFailedSubtitle": {
|
|
"description": "Subtitle for auto-export setting"
|
|
},
|
|
"settingsDownloadNetwork": "تحميل الشبكة",
|
|
"@settingsDownloadNetwork": {
|
|
"description": "Setting for network type preference"
|
|
},
|
|
"settingsDownloadNetworkAny": "WiFi + بيانات الجوال",
|
|
"@settingsDownloadNetworkAny": {
|
|
"description": "Network option - use any connection"
|
|
},
|
|
"settingsDownloadNetworkWifiOnly": "WiFi فقط",
|
|
"@settingsDownloadNetworkWifiOnly": {
|
|
"description": "Network option - only use WiFi"
|
|
},
|
|
"settingsDownloadNetworkSubtitle": "اختر الشبكة التي تريد استخدامها للتنزيلات. عند تعيين WiFi فقط، التنزيلات لن تعمل على بيانات الجوال.",
|
|
"@settingsDownloadNetworkSubtitle": {
|
|
"description": "Subtitle explaining network preference"
|
|
},
|
|
"albumFolderArtistAlbum": "ألبوم / الفنان",
|
|
"@albumFolderArtistAlbum": {
|
|
"description": "Album folder option"
|
|
},
|
|
"albumFolderArtistAlbumSubtitle": "الألبومات / اسم الفنان / اسم الألبوم",
|
|
"@albumFolderArtistAlbumSubtitle": {
|
|
"description": "Folder structure example"
|
|
},
|
|
"albumFolderArtistYearAlbum": "الفنان / [Year] ألبوم",
|
|
"@albumFolderArtistYearAlbum": {
|
|
"description": "Album folder option with year"
|
|
},
|
|
"albumFolderArtistYearAlbumSubtitle": "الألبومات/اسم الفنان /[2005] اسم الألبوم/",
|
|
"@albumFolderArtistYearAlbumSubtitle": {
|
|
"description": "Folder structure example"
|
|
},
|
|
"albumFolderAlbumOnly": "الألبوم فقط",
|
|
"@albumFolderAlbumOnly": {
|
|
"description": "Album folder option"
|
|
},
|
|
"albumFolderAlbumOnlySubtitle": "الألبومات/اسم الألبوم/",
|
|
"@albumFolderAlbumOnlySubtitle": {
|
|
"description": "Folder structure example"
|
|
},
|
|
"albumFolderYearAlbum": "[Year] الألبوم",
|
|
"@albumFolderYearAlbum": {
|
|
"description": "Album folder option with year"
|
|
},
|
|
"albumFolderYearAlbumSubtitle": "الألبومات/[2005] اسم الألبوم/",
|
|
"@albumFolderYearAlbumSubtitle": {
|
|
"description": "Folder structure example"
|
|
},
|
|
"albumFolderArtistAlbumSingles": "الفنان / الألبوم + المفردات",
|
|
"@albumFolderArtistAlbumSingles": {
|
|
"description": "Album folder option with singles inside artist"
|
|
},
|
|
"albumFolderArtistAlbumSinglesSubtitle": "الفنان/الألبوم و الفنان / المفردات",
|
|
"@albumFolderArtistAlbumSinglesSubtitle": {
|
|
"description": "Folder structure example"
|
|
},
|
|
"albumFolderArtistAlbumFlat": "فنان / ألبوم (منفردات سطحية)",
|
|
"@albumFolderArtistAlbumFlat": {
|
|
"description": "Album folder option with singles directly in artist folder"
|
|
},
|
|
"albumFolderArtistAlbumFlatSubtitle": "الفنان / الألبوم والفنان / الأغنية.flac",
|
|
"@albumFolderArtistAlbumFlatSubtitle": {
|
|
"description": "Folder structure example for flat singles"
|
|
},
|
|
"downloadedAlbumDeleteSelected": "Delete Selected",
|
|
"@downloadedAlbumDeleteSelected": {
|
|
"description": "Button - delete selected tracks"
|
|
},
|
|
"downloadedAlbumDeleteMessage": "Delete {count} {count, plural, =1{track} other{tracks}} from this album?\n\nThis will also delete the files from storage.",
|
|
"@downloadedAlbumDeleteMessage": {
|
|
"description": "Delete confirmation with count",
|
|
"placeholders": {
|
|
"count": {
|
|
"type": "int"
|
|
}
|
|
}
|
|
},
|
|
"downloadedAlbumSelectedCount": "{count} selected",
|
|
"@downloadedAlbumSelectedCount": {
|
|
"description": "Selection count indicator",
|
|
"placeholders": {
|
|
"count": {
|
|
"type": "int"
|
|
}
|
|
}
|
|
},
|
|
"downloadedAlbumAllSelected": "All tracks selected",
|
|
"@downloadedAlbumAllSelected": {
|
|
"description": "Status - all items selected"
|
|
},
|
|
"downloadedAlbumTapToSelect": "Tap tracks to select",
|
|
"@downloadedAlbumTapToSelect": {
|
|
"description": "Selection hint"
|
|
},
|
|
"downloadedAlbumDeleteCount": "Delete {count} {count, plural, =1{track} other{tracks}}",
|
|
"@downloadedAlbumDeleteCount": {
|
|
"description": "Delete button text with count",
|
|
"placeholders": {
|
|
"count": {
|
|
"type": "int"
|
|
}
|
|
}
|
|
},
|
|
"downloadedAlbumSelectToDelete": "Select tracks to delete",
|
|
"@downloadedAlbumSelectToDelete": {
|
|
"description": "Placeholder when nothing selected"
|
|
},
|
|
"downloadedAlbumDiscHeader": "Disc {discNumber}",
|
|
"@downloadedAlbumDiscHeader": {
|
|
"description": "Header for disc separator in multi-disc albums",
|
|
"placeholders": {
|
|
"discNumber": {
|
|
"type": "int",
|
|
"example": "1"
|
|
}
|
|
}
|
|
},
|
|
"recentTypeArtist": "Artist",
|
|
"@recentTypeArtist": {
|
|
"description": "Recent access item type - artist"
|
|
},
|
|
"recentTypeAlbum": "Album",
|
|
"@recentTypeAlbum": {
|
|
"description": "Recent access item type - album"
|
|
},
|
|
"recentTypeSong": "Song",
|
|
"@recentTypeSong": {
|
|
"description": "Recent access item type - song/track"
|
|
},
|
|
"recentTypePlaylist": "Playlist",
|
|
"@recentTypePlaylist": {
|
|
"description": "Recent access item type - playlist"
|
|
},
|
|
"recentEmpty": "No recent items yet",
|
|
"@recentEmpty": {
|
|
"description": "Empty state text for recent access list"
|
|
},
|
|
"recentShowAllDownloads": "Show All Downloads",
|
|
"@recentShowAllDownloads": {
|
|
"description": "Button label to unhide hidden downloads in recent access"
|
|
},
|
|
"recentPlaylistInfo": "Playlist: {name}",
|
|
"@recentPlaylistInfo": {
|
|
"description": "Snackbar message when tapping playlist in recent access",
|
|
"placeholders": {
|
|
"name": {
|
|
"type": "String",
|
|
"description": "Playlist name"
|
|
}
|
|
}
|
|
},
|
|
"discographyDownload": "Download Discography",
|
|
"@discographyDownload": {
|
|
"description": "Button - download artist discography"
|
|
},
|
|
"discographyDownloadAll": "Download All",
|
|
"@discographyDownloadAll": {
|
|
"description": "Option - download entire discography"
|
|
},
|
|
"discographyDownloadAllSubtitle": "{count} tracks from {albumCount} releases",
|
|
"@discographyDownloadAllSubtitle": {
|
|
"description": "Subtitle showing total tracks and albums",
|
|
"placeholders": {
|
|
"count": {
|
|
"type": "int"
|
|
},
|
|
"albumCount": {
|
|
"type": "int"
|
|
}
|
|
}
|
|
},
|
|
"discographyAlbumsOnly": "Albums Only",
|
|
"@discographyAlbumsOnly": {
|
|
"description": "Option - download only albums"
|
|
},
|
|
"discographyAlbumsOnlySubtitle": "{count} tracks from {albumCount} albums",
|
|
"@discographyAlbumsOnlySubtitle": {
|
|
"description": "Subtitle showing album tracks count",
|
|
"placeholders": {
|
|
"count": {
|
|
"type": "int"
|
|
},
|
|
"albumCount": {
|
|
"type": "int"
|
|
}
|
|
}
|
|
},
|
|
"discographySinglesOnly": "Singles & EPs Only",
|
|
"@discographySinglesOnly": {
|
|
"description": "Option - download only singles"
|
|
},
|
|
"discographySinglesOnlySubtitle": "{count} tracks from {albumCount} singles",
|
|
"@discographySinglesOnlySubtitle": {
|
|
"description": "Subtitle showing singles tracks count",
|
|
"placeholders": {
|
|
"count": {
|
|
"type": "int"
|
|
},
|
|
"albumCount": {
|
|
"type": "int"
|
|
}
|
|
}
|
|
},
|
|
"discographySelectAlbums": "Select Albums...",
|
|
"@discographySelectAlbums": {
|
|
"description": "Option - manually select albums to download"
|
|
},
|
|
"discographySelectAlbumsSubtitle": "Choose specific albums or singles",
|
|
"@discographySelectAlbumsSubtitle": {
|
|
"description": "Subtitle for select albums option"
|
|
},
|
|
"discographyFetchingTracks": "Fetching tracks...",
|
|
"@discographyFetchingTracks": {
|
|
"description": "Progress - fetching album tracks"
|
|
},
|
|
"discographyFetchingAlbum": "Fetching {current} of {total}...",
|
|
"@discographyFetchingAlbum": {
|
|
"description": "Progress - fetching specific album",
|
|
"placeholders": {
|
|
"current": {
|
|
"type": "int"
|
|
},
|
|
"total": {
|
|
"type": "int"
|
|
}
|
|
}
|
|
},
|
|
"discographySelectedCount": "{count} selected",
|
|
"@discographySelectedCount": {
|
|
"description": "Selection count badge",
|
|
"placeholders": {
|
|
"count": {
|
|
"type": "int"
|
|
}
|
|
}
|
|
},
|
|
"discographyDownloadSelected": "Download Selected",
|
|
"@discographyDownloadSelected": {
|
|
"description": "Button - download selected albums"
|
|
},
|
|
"discographyAddedToQueue": "Added {count} tracks to queue",
|
|
"@discographyAddedToQueue": {
|
|
"description": "Snackbar - tracks added from discography",
|
|
"placeholders": {
|
|
"count": {
|
|
"type": "int"
|
|
}
|
|
}
|
|
},
|
|
"discographySkippedDownloaded": "{added} added, {skipped} already downloaded",
|
|
"@discographySkippedDownloaded": {
|
|
"description": "Snackbar - with skipped tracks count",
|
|
"placeholders": {
|
|
"added": {
|
|
"type": "int"
|
|
},
|
|
"skipped": {
|
|
"type": "int"
|
|
}
|
|
}
|
|
},
|
|
"discographyNoAlbums": "No albums available",
|
|
"@discographyNoAlbums": {
|
|
"description": "Error - no albums found for artist"
|
|
},
|
|
"discographyFailedToFetch": "Failed to fetch some albums",
|
|
"@discographyFailedToFetch": {
|
|
"description": "Error - some albums failed to load"
|
|
},
|
|
"sectionStorageAccess": "Storage Access",
|
|
"@sectionStorageAccess": {
|
|
"description": "Section header for storage access settings"
|
|
},
|
|
"allFilesAccess": "All Files Access",
|
|
"@allFilesAccess": {
|
|
"description": "Toggle for MANAGE_EXTERNAL_STORAGE permission"
|
|
},
|
|
"allFilesAccessEnabledSubtitle": "Can write to any folder",
|
|
"@allFilesAccessEnabledSubtitle": {
|
|
"description": "Subtitle when all files access is enabled"
|
|
},
|
|
"allFilesAccessDisabledSubtitle": "Limited to media folders only",
|
|
"@allFilesAccessDisabledSubtitle": {
|
|
"description": "Subtitle when all files access is disabled"
|
|
},
|
|
"allFilesAccessDescription": "Enable this if you encounter write errors when saving to custom folders. Android 13+ restricts access to certain directories by default.",
|
|
"@allFilesAccessDescription": {
|
|
"description": "Description explaining when to enable all files access"
|
|
},
|
|
"allFilesAccessDeniedMessage": "Permission was denied. Please enable 'All files access' manually in system settings.",
|
|
"@allFilesAccessDeniedMessage": {
|
|
"description": "Message when permission is permanently denied"
|
|
},
|
|
"allFilesAccessDisabledMessage": "All Files Access disabled. The app will use limited storage access.",
|
|
"@allFilesAccessDisabledMessage": {
|
|
"description": "Snackbar message when user disables all files access"
|
|
},
|
|
"settingsLocalLibrary": "Local Library",
|
|
"@settingsLocalLibrary": {
|
|
"description": "Settings menu item - local library"
|
|
},
|
|
"settingsLocalLibrarySubtitle": "Scan music & detect duplicates",
|
|
"@settingsLocalLibrarySubtitle": {
|
|
"description": "Subtitle for local library settings"
|
|
},
|
|
"settingsCache": "Storage & Cache",
|
|
"@settingsCache": {
|
|
"description": "Settings menu item - cache management"
|
|
},
|
|
"settingsCacheSubtitle": "View size and clear cached data",
|
|
"@settingsCacheSubtitle": {
|
|
"description": "Subtitle for cache management menu"
|
|
},
|
|
"libraryTitle": "Local Library",
|
|
"@libraryTitle": {
|
|
"description": "Library settings page title"
|
|
},
|
|
"libraryScanSettings": "Scan Settings",
|
|
"@libraryScanSettings": {
|
|
"description": "Section header for scan settings"
|
|
},
|
|
"libraryEnableLocalLibrary": "Enable Local Library",
|
|
"@libraryEnableLocalLibrary": {
|
|
"description": "Toggle to enable library scanning"
|
|
},
|
|
"libraryEnableLocalLibrarySubtitle": "Scan and track your existing music",
|
|
"@libraryEnableLocalLibrarySubtitle": {
|
|
"description": "Subtitle for enable toggle"
|
|
},
|
|
"libraryFolder": "Library Folder",
|
|
"@libraryFolder": {
|
|
"description": "Folder selection setting"
|
|
},
|
|
"libraryFolderHint": "Tap to select folder",
|
|
"@libraryFolderHint": {
|
|
"description": "Placeholder when no folder selected"
|
|
},
|
|
"libraryShowDuplicateIndicator": "Show Duplicate Indicator",
|
|
"@libraryShowDuplicateIndicator": {
|
|
"description": "Toggle for duplicate indicator in search"
|
|
},
|
|
"libraryShowDuplicateIndicatorSubtitle": "Show when searching for existing tracks",
|
|
"@libraryShowDuplicateIndicatorSubtitle": {
|
|
"description": "Subtitle for duplicate indicator toggle"
|
|
},
|
|
"libraryAutoScan": "Auto Scan",
|
|
"@libraryAutoScan": {
|
|
"description": "Setting for automatic library scanning"
|
|
},
|
|
"libraryAutoScanSubtitle": "Automatically scan your library for new files",
|
|
"@libraryAutoScanSubtitle": {
|
|
"description": "Subtitle for auto scan setting"
|
|
},
|
|
"libraryAutoScanOff": "Off",
|
|
"@libraryAutoScanOff": {
|
|
"description": "Auto scan disabled"
|
|
},
|
|
"libraryAutoScanOnOpen": "Every app open",
|
|
"@libraryAutoScanOnOpen": {
|
|
"description": "Auto scan when app opens"
|
|
},
|
|
"libraryAutoScanDaily": "Daily",
|
|
"@libraryAutoScanDaily": {
|
|
"description": "Auto scan once per day"
|
|
},
|
|
"libraryAutoScanWeekly": "Weekly",
|
|
"@libraryAutoScanWeekly": {
|
|
"description": "Auto scan once per week"
|
|
},
|
|
"libraryActions": "Actions",
|
|
"@libraryActions": {
|
|
"description": "Section header for library actions"
|
|
},
|
|
"libraryScan": "Scan Library",
|
|
"@libraryScan": {
|
|
"description": "Button to start library scan"
|
|
},
|
|
"libraryScanSubtitle": "Scan for audio files",
|
|
"@libraryScanSubtitle": {
|
|
"description": "Subtitle for scan button"
|
|
},
|
|
"libraryScanSelectFolderFirst": "Select a folder first",
|
|
"@libraryScanSelectFolderFirst": {
|
|
"description": "Message when trying to scan without folder"
|
|
},
|
|
"libraryCleanupMissingFiles": "Cleanup Missing Files",
|
|
"@libraryCleanupMissingFiles": {
|
|
"description": "Button to remove entries for missing files"
|
|
},
|
|
"libraryCleanupMissingFilesSubtitle": "Remove entries for files that no longer exist",
|
|
"@libraryCleanupMissingFilesSubtitle": {
|
|
"description": "Subtitle for cleanup button"
|
|
},
|
|
"libraryClear": "Clear Library",
|
|
"@libraryClear": {
|
|
"description": "Button to clear all library entries"
|
|
},
|
|
"libraryClearSubtitle": "Remove all scanned tracks",
|
|
"@libraryClearSubtitle": {
|
|
"description": "Subtitle for clear button"
|
|
},
|
|
"libraryClearConfirmTitle": "Clear Library",
|
|
"@libraryClearConfirmTitle": {
|
|
"description": "Dialog title for clear confirmation"
|
|
},
|
|
"libraryClearConfirmMessage": "This will remove all scanned tracks from your library. Your actual music files will not be deleted.",
|
|
"@libraryClearConfirmMessage": {
|
|
"description": "Dialog message for clear confirmation"
|
|
},
|
|
"libraryAbout": "About Local Library",
|
|
"@libraryAbout": {
|
|
"description": "Section header for about info"
|
|
},
|
|
"libraryAboutDescription": "Scans your existing music collection to detect duplicates when downloading. Supports FLAC, M4A, MP3, Opus, and OGG formats. Metadata is read from file tags when available.",
|
|
"@libraryAboutDescription": {
|
|
"description": "Description of local library feature"
|
|
},
|
|
"libraryTracksUnit": "{count, plural, =1{track} other{tracks}}",
|
|
"@libraryTracksUnit": {
|
|
"description": "Unit label for tracks count (without the number itself)",
|
|
"placeholders": {
|
|
"count": {
|
|
"type": "int"
|
|
}
|
|
}
|
|
},
|
|
"libraryFilesUnit": "{count, plural, =1{file} other{files}}",
|
|
"@libraryFilesUnit": {
|
|
"description": "Unit label for files count during library scanning",
|
|
"placeholders": {
|
|
"count": {
|
|
"type": "int"
|
|
}
|
|
}
|
|
},
|
|
"libraryLastScanned": "Last scanned: {time}",
|
|
"@libraryLastScanned": {
|
|
"description": "Last scan time display",
|
|
"placeholders": {
|
|
"time": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
"libraryLastScannedNever": "Never",
|
|
"@libraryLastScannedNever": {
|
|
"description": "Shown when library has never been scanned"
|
|
},
|
|
"libraryScanning": "Scanning...",
|
|
"@libraryScanning": {
|
|
"description": "Status during scan"
|
|
},
|
|
"libraryScanFinalizing": "Finalizing library...",
|
|
"@libraryScanFinalizing": {
|
|
"description": "Status shown after file scanning finishes but library persistence is still running"
|
|
},
|
|
"libraryScanProgress": "{progress}% of {total} files",
|
|
"@libraryScanProgress": {
|
|
"description": "Scan progress display",
|
|
"placeholders": {
|
|
"progress": {
|
|
"type": "String"
|
|
},
|
|
"total": {
|
|
"type": "int"
|
|
}
|
|
}
|
|
},
|
|
"libraryInLibrary": "In Library",
|
|
"@libraryInLibrary": {
|
|
"description": "Badge shown on tracks that exist in local library"
|
|
},
|
|
"libraryRemovedMissingFiles": "Removed {count} missing files from library",
|
|
"@libraryRemovedMissingFiles": {
|
|
"description": "Snackbar after cleanup",
|
|
"placeholders": {
|
|
"count": {
|
|
"type": "int"
|
|
}
|
|
}
|
|
},
|
|
"libraryCleared": "Library cleared",
|
|
"@libraryCleared": {
|
|
"description": "Snackbar after clearing library"
|
|
},
|
|
"libraryStorageAccessRequired": "Storage Access Required",
|
|
"@libraryStorageAccessRequired": {
|
|
"description": "Dialog title for storage permission"
|
|
},
|
|
"libraryStorageAccessMessage": "SpotiFLAC needs storage access to scan your music library. Please grant permission in settings.",
|
|
"@libraryStorageAccessMessage": {
|
|
"description": "Dialog message for storage permission"
|
|
},
|
|
"libraryFolderNotExist": "Selected folder does not exist",
|
|
"@libraryFolderNotExist": {
|
|
"description": "Error when folder doesn't exist"
|
|
},
|
|
"librarySourceDownloaded": "Downloaded",
|
|
"@librarySourceDownloaded": {
|
|
"description": "Badge for tracks downloaded via SpotiFLAC"
|
|
},
|
|
"librarySourceLocal": "Local",
|
|
"@librarySourceLocal": {
|
|
"description": "Badge for tracks from local library scan"
|
|
},
|
|
"libraryFilterAll": "All",
|
|
"@libraryFilterAll": {
|
|
"description": "Filter chip - show all library items"
|
|
},
|
|
"libraryFilterDownloaded": "Downloaded",
|
|
"@libraryFilterDownloaded": {
|
|
"description": "Filter chip - show only downloaded items"
|
|
},
|
|
"libraryFilterLocal": "Local",
|
|
"@libraryFilterLocal": {
|
|
"description": "Filter chip - show only local library items"
|
|
},
|
|
"libraryFilterTitle": "Filters",
|
|
"@libraryFilterTitle": {
|
|
"description": "Filter bottom sheet title"
|
|
},
|
|
"libraryFilterReset": "Reset",
|
|
"@libraryFilterReset": {
|
|
"description": "Reset all filters button"
|
|
},
|
|
"libraryFilterApply": "Apply",
|
|
"@libraryFilterApply": {
|
|
"description": "Apply filters button"
|
|
},
|
|
"libraryFilterSource": "Source",
|
|
"@libraryFilterSource": {
|
|
"description": "Filter section - source type"
|
|
},
|
|
"libraryFilterQuality": "Quality",
|
|
"@libraryFilterQuality": {
|
|
"description": "Filter section - audio quality"
|
|
},
|
|
"libraryFilterQualityHiRes": "Hi-Res (24bit)",
|
|
"@libraryFilterQualityHiRes": {
|
|
"description": "Filter option - high resolution audio"
|
|
},
|
|
"libraryFilterQualityCD": "CD (16bit)",
|
|
"@libraryFilterQualityCD": {
|
|
"description": "Filter option - CD quality audio"
|
|
},
|
|
"libraryFilterQualityLossy": "Lossy",
|
|
"@libraryFilterQualityLossy": {
|
|
"description": "Filter option - lossy compressed audio"
|
|
},
|
|
"libraryFilterFormat": "Format",
|
|
"@libraryFilterFormat": {
|
|
"description": "Filter section - file format"
|
|
},
|
|
"libraryFilterMetadata": "Metadata",
|
|
"@libraryFilterMetadata": {
|
|
"description": "Filter section - metadata completeness"
|
|
},
|
|
"libraryFilterMetadataComplete": "Complete metadata",
|
|
"@libraryFilterMetadataComplete": {
|
|
"description": "Filter option - items with complete metadata"
|
|
},
|
|
"libraryFilterMetadataMissingAny": "Missing any metadata",
|
|
"@libraryFilterMetadataMissingAny": {
|
|
"description": "Filter option - items missing any tracked metadata field"
|
|
},
|
|
"libraryFilterMetadataMissingYear": "Missing year",
|
|
"@libraryFilterMetadataMissingYear": {
|
|
"description": "Filter option - items missing release year/date"
|
|
},
|
|
"libraryFilterMetadataMissingGenre": "Missing genre",
|
|
"@libraryFilterMetadataMissingGenre": {
|
|
"description": "Filter option - items missing genre"
|
|
},
|
|
"libraryFilterMetadataMissingAlbumArtist": "Missing album artist",
|
|
"@libraryFilterMetadataMissingAlbumArtist": {
|
|
"description": "Filter option - items missing album artist"
|
|
},
|
|
"libraryFilterSort": "Sort",
|
|
"@libraryFilterSort": {
|
|
"description": "Filter section - sort order"
|
|
},
|
|
"libraryFilterSortLatest": "Latest",
|
|
"@libraryFilterSortLatest": {
|
|
"description": "Sort option - newest first"
|
|
},
|
|
"libraryFilterSortOldest": "Oldest",
|
|
"@libraryFilterSortOldest": {
|
|
"description": "Sort option - oldest first"
|
|
},
|
|
"libraryFilterSortAlbumAsc": "Album (A-Z)",
|
|
"@libraryFilterSortAlbumAsc": {
|
|
"description": "Sort option - album ascending"
|
|
},
|
|
"libraryFilterSortAlbumDesc": "Album (Z-A)",
|
|
"@libraryFilterSortAlbumDesc": {
|
|
"description": "Sort option - album descending"
|
|
},
|
|
"libraryFilterSortGenreAsc": "Genre (A-Z)",
|
|
"@libraryFilterSortGenreAsc": {
|
|
"description": "Sort option - genre ascending"
|
|
},
|
|
"libraryFilterSortGenreDesc": "Genre (Z-A)",
|
|
"@libraryFilterSortGenreDesc": {
|
|
"description": "Sort option - genre descending"
|
|
},
|
|
"timeJustNow": "Just now",
|
|
"@timeJustNow": {
|
|
"description": "Relative time - less than a minute ago"
|
|
},
|
|
"timeMinutesAgo": "{count, plural, =1{1 minute ago} other{{count} minutes ago}}",
|
|
"@timeMinutesAgo": {
|
|
"description": "Relative time - minutes ago",
|
|
"placeholders": {
|
|
"count": {
|
|
"type": "int"
|
|
}
|
|
}
|
|
},
|
|
"timeHoursAgo": "{count, plural, =1{1 hour ago} other{{count} hours ago}}",
|
|
"@timeHoursAgo": {
|
|
"description": "Relative time - hours ago",
|
|
"placeholders": {
|
|
"count": {
|
|
"type": "int"
|
|
}
|
|
}
|
|
},
|
|
"tutorialWelcomeTitle": "Welcome to SpotiFLAC!",
|
|
"@tutorialWelcomeTitle": {
|
|
"description": "Tutorial welcome page title"
|
|
},
|
|
"tutorialWelcomeDesc": "Let's learn how to download your favorite music in lossless quality. This quick tutorial will show you the basics.",
|
|
"@tutorialWelcomeDesc": {
|
|
"description": "Tutorial welcome page description"
|
|
},
|
|
"tutorialWelcomeTip1": "Download music from Spotify, Deezer, or paste any supported URL",
|
|
"@tutorialWelcomeTip1": {
|
|
"description": "Tutorial welcome tip 1"
|
|
},
|
|
"tutorialWelcomeTip2": "Get FLAC quality audio from installed download extensions",
|
|
"@tutorialWelcomeTip2": {
|
|
"description": "Tutorial welcome tip 2"
|
|
},
|
|
"tutorialWelcomeTip3": "Automatic metadata, cover art, and lyrics embedding",
|
|
"@tutorialWelcomeTip3": {
|
|
"description": "Tutorial welcome tip 3"
|
|
},
|
|
"tutorialSearchTitle": "Finding Music",
|
|
"@tutorialSearchTitle": {
|
|
"description": "Tutorial search page title"
|
|
},
|
|
"tutorialSearchDesc": "There are two easy ways to find music you want to download.",
|
|
"@tutorialSearchDesc": {
|
|
"description": "Tutorial search page description"
|
|
},
|
|
"tutorialDownloadTitle": "Downloading Music",
|
|
"@tutorialDownloadTitle": {
|
|
"description": "Tutorial download page title"
|
|
},
|
|
"tutorialDownloadDesc": "Downloading music is simple and fast. Here's how it works.",
|
|
"@tutorialDownloadDesc": {
|
|
"description": "Tutorial download page description"
|
|
},
|
|
"tutorialLibraryTitle": "Your Library",
|
|
"@tutorialLibraryTitle": {
|
|
"description": "Tutorial library page title"
|
|
},
|
|
"tutorialLibraryDesc": "All your downloaded music is organized in the Library tab.",
|
|
"@tutorialLibraryDesc": {
|
|
"description": "Tutorial library page description"
|
|
},
|
|
"tutorialLibraryTip1": "View download progress and queue in the Library tab",
|
|
"@tutorialLibraryTip1": {
|
|
"description": "Tutorial library tip 1"
|
|
},
|
|
"tutorialLibraryTip2": "Tap any track to play it with your music player",
|
|
"@tutorialLibraryTip2": {
|
|
"description": "Tutorial library tip 2"
|
|
},
|
|
"tutorialLibraryTip3": "Switch between list and grid view for better browsing",
|
|
"@tutorialLibraryTip3": {
|
|
"description": "Tutorial library tip 3"
|
|
},
|
|
"tutorialExtensionsTitle": "Extensions",
|
|
"@tutorialExtensionsTitle": {
|
|
"description": "Tutorial extensions page title"
|
|
},
|
|
"tutorialExtensionsDesc": "Extend the app's capabilities with community extensions.",
|
|
"@tutorialExtensionsDesc": {
|
|
"description": "Tutorial extensions page description"
|
|
},
|
|
"tutorialExtensionsTip1": "Browse the Repo tab to discover useful extensions",
|
|
"@tutorialExtensionsTip1": {
|
|
"description": "Tutorial extensions tip 1"
|
|
},
|
|
"tutorialExtensionsTip2": "Add new download providers or search sources",
|
|
"@tutorialExtensionsTip2": {
|
|
"description": "Tutorial extensions tip 2"
|
|
},
|
|
"tutorialExtensionsTip3": "Get lyrics, enhanced metadata, and more features",
|
|
"@tutorialExtensionsTip3": {
|
|
"description": "Tutorial extensions tip 3"
|
|
},
|
|
"tutorialSettingsTitle": "Customize Your Experience",
|
|
"@tutorialSettingsTitle": {
|
|
"description": "Tutorial settings page title"
|
|
},
|
|
"tutorialSettingsDesc": "Personalize the app in Settings to match your preferences.",
|
|
"@tutorialSettingsDesc": {
|
|
"description": "Tutorial settings page description"
|
|
},
|
|
"tutorialSettingsTip1": "Change download location and folder organization",
|
|
"@tutorialSettingsTip1": {
|
|
"description": "Tutorial settings tip 1"
|
|
},
|
|
"tutorialSettingsTip2": "Set default audio quality and format preferences",
|
|
"@tutorialSettingsTip2": {
|
|
"description": "Tutorial settings tip 2"
|
|
},
|
|
"tutorialSettingsTip3": "Customize app theme and appearance",
|
|
"@tutorialSettingsTip3": {
|
|
"description": "Tutorial settings tip 3"
|
|
},
|
|
"tutorialReadyMessage": "You're all set! Start downloading your favorite music now.",
|
|
"@tutorialReadyMessage": {
|
|
"description": "Tutorial completion message"
|
|
},
|
|
"libraryForceFullScan": "Force Full Scan",
|
|
"@libraryForceFullScan": {
|
|
"description": "Button to force a complete rescan of library"
|
|
},
|
|
"libraryForceFullScanSubtitle": "Rescan all files, ignoring cache",
|
|
"@libraryForceFullScanSubtitle": {
|
|
"description": "Subtitle for force full scan button"
|
|
},
|
|
"cleanupOrphanedDownloads": "Cleanup Orphaned Downloads",
|
|
"@cleanupOrphanedDownloads": {
|
|
"description": "Button to remove history entries for deleted files"
|
|
},
|
|
"cleanupOrphanedDownloadsSubtitle": "Remove history entries for files that no longer exist",
|
|
"@cleanupOrphanedDownloadsSubtitle": {
|
|
"description": "Subtitle for orphaned cleanup button"
|
|
},
|
|
"cleanupOrphanedDownloadsResult": "Removed {count} orphaned entries from history",
|
|
"@cleanupOrphanedDownloadsResult": {
|
|
"description": "Snackbar after orphan cleanup",
|
|
"placeholders": {
|
|
"count": {
|
|
"type": "int"
|
|
}
|
|
}
|
|
},
|
|
"cleanupOrphanedDownloadsNone": "No orphaned entries found",
|
|
"@cleanupOrphanedDownloadsNone": {
|
|
"description": "Snackbar when no orphans found"
|
|
},
|
|
"cacheTitle": "Storage & Cache",
|
|
"@cacheTitle": {
|
|
"description": "Cache management page title"
|
|
},
|
|
"cacheSummaryTitle": "Cache overview",
|
|
"@cacheSummaryTitle": {
|
|
"description": "Heading for cache summary card"
|
|
},
|
|
"cacheSummarySubtitle": "Clearing cache will not remove downloaded music files.",
|
|
"@cacheSummarySubtitle": {
|
|
"description": "Helper text for cache summary card"
|
|
},
|
|
"cacheEstimatedTotal": "Estimated cache usage: {size}",
|
|
"@cacheEstimatedTotal": {
|
|
"description": "Total cache size shown in summary",
|
|
"placeholders": {
|
|
"size": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
"cacheSectionStorage": "Cached Data",
|
|
"@cacheSectionStorage": {
|
|
"description": "Section header for cache entries"
|
|
},
|
|
"cacheSectionMaintenance": "Maintenance",
|
|
"@cacheSectionMaintenance": {
|
|
"description": "Section header for cleanup actions"
|
|
},
|
|
"cacheAppDirectory": "App cache directory",
|
|
"@cacheAppDirectory": {
|
|
"description": "Cache item title for app cache directory"
|
|
},
|
|
"cacheAppDirectoryDesc": "HTTP responses, WebView data, and other temporary app data.",
|
|
"@cacheAppDirectoryDesc": {
|
|
"description": "Description of what app cache directory contains"
|
|
},
|
|
"cacheTempDirectory": "Temporary directory",
|
|
"@cacheTempDirectory": {
|
|
"description": "Cache item title for temporary files directory"
|
|
},
|
|
"cacheTempDirectoryDesc": "Temporary files from downloads and audio conversion.",
|
|
"@cacheTempDirectoryDesc": {
|
|
"description": "Description of what temporary directory contains"
|
|
},
|
|
"cacheCoverImage": "Cover image cache",
|
|
"@cacheCoverImage": {
|
|
"description": "Cache item title for persistent cover images"
|
|
},
|
|
"cacheCoverImageDesc": "Downloaded album and track cover art. Will re-download when viewed.",
|
|
"@cacheCoverImageDesc": {
|
|
"description": "Description of what cover image cache contains"
|
|
},
|
|
"cacheLibraryCover": "Library cover cache",
|
|
"@cacheLibraryCover": {
|
|
"description": "Cache item title for local library cover art images"
|
|
},
|
|
"cacheLibraryCoverDesc": "Cover art extracted from local music files. Will re-extract on next scan.",
|
|
"@cacheLibraryCoverDesc": {
|
|
"description": "Description of what library cover cache contains"
|
|
},
|
|
"cacheExploreFeed": "Explore feed cache",
|
|
"@cacheExploreFeed": {
|
|
"description": "Cache item title for explore home feed cache"
|
|
},
|
|
"cacheExploreFeedDesc": "Explore tab content (new releases, trending). Will refresh on next visit.",
|
|
"@cacheExploreFeedDesc": {
|
|
"description": "Description of what explore feed cache contains"
|
|
},
|
|
"cacheTrackLookup": "Track lookup cache",
|
|
"@cacheTrackLookup": {
|
|
"description": "Cache item title for track ID lookup cache"
|
|
},
|
|
"cacheTrackLookupDesc": "Spotify/Deezer track ID lookups. Clearing may slow next few searches.",
|
|
"@cacheTrackLookupDesc": {
|
|
"description": "Description of what track lookup cache contains"
|
|
},
|
|
"cacheCleanupUnusedDesc": "Remove orphaned download history and library entries for missing files.",
|
|
"@cacheCleanupUnusedDesc": {
|
|
"description": "Description of what cleanup unused data does"
|
|
},
|
|
"cacheNoData": "No cached data",
|
|
"@cacheNoData": {
|
|
"description": "Label when cache category has no data"
|
|
},
|
|
"cacheSizeWithFiles": "{size} in {count} files",
|
|
"@cacheSizeWithFiles": {
|
|
"description": "Cache size and file count",
|
|
"placeholders": {
|
|
"size": {
|
|
"type": "String"
|
|
},
|
|
"count": {
|
|
"type": "int"
|
|
}
|
|
}
|
|
},
|
|
"cacheSizeOnly": "{size}",
|
|
"@cacheSizeOnly": {
|
|
"description": "Cache size only",
|
|
"placeholders": {
|
|
"size": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
"cacheEntries": "{count} entries",
|
|
"@cacheEntries": {
|
|
"description": "Track cache entry count",
|
|
"placeholders": {
|
|
"count": {
|
|
"type": "int"
|
|
}
|
|
}
|
|
},
|
|
"cacheClearSuccess": "Cleared: {target}",
|
|
"@cacheClearSuccess": {
|
|
"description": "Snackbar after clearing selected cache",
|
|
"placeholders": {
|
|
"target": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
"cacheClearConfirmTitle": "Clear cache?",
|
|
"@cacheClearConfirmTitle": {
|
|
"description": "Dialog title before clearing one cache category"
|
|
},
|
|
"cacheClearConfirmMessage": "This will clear cached data for {target}. Downloaded music files will not be deleted.",
|
|
"@cacheClearConfirmMessage": {
|
|
"description": "Dialog message before clearing selected cache",
|
|
"placeholders": {
|
|
"target": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
"cacheClearAllConfirmTitle": "Clear all cache?",
|
|
"@cacheClearAllConfirmTitle": {
|
|
"description": "Dialog title before clearing all caches"
|
|
},
|
|
"cacheClearAllConfirmMessage": "This will clear all cache categories on this page. Downloaded music files will not be deleted.",
|
|
"@cacheClearAllConfirmMessage": {
|
|
"description": "Dialog message before clearing all caches"
|
|
},
|
|
"cacheClearAll": "Clear all cache",
|
|
"@cacheClearAll": {
|
|
"description": "Button label to clear all caches"
|
|
},
|
|
"cacheCleanupUnused": "Cleanup unused data",
|
|
"@cacheCleanupUnused": {
|
|
"description": "Action title for cleaning unused entries"
|
|
},
|
|
"cacheCleanupUnusedSubtitle": "Remove orphaned download history and missing library entries",
|
|
"@cacheCleanupUnusedSubtitle": {
|
|
"description": "Subtitle for cleanup unused data action"
|
|
},
|
|
"cacheCleanupResult": "Cleanup completed: {downloadCount} orphaned downloads, {libraryCount} missing library entries",
|
|
"@cacheCleanupResult": {
|
|
"description": "Snackbar after unused data cleanup",
|
|
"placeholders": {
|
|
"downloadCount": {
|
|
"type": "int"
|
|
},
|
|
"libraryCount": {
|
|
"type": "int"
|
|
}
|
|
}
|
|
},
|
|
"cacheRefreshStats": "Refresh stats",
|
|
"@cacheRefreshStats": {
|
|
"description": "Button label to refresh cache statistics"
|
|
},
|
|
"trackSaveCoverArt": "Save Cover Art",
|
|
"@trackSaveCoverArt": {
|
|
"description": "Menu action - save album cover art as file"
|
|
},
|
|
"trackSaveCoverArtSubtitle": "Save album art as .jpg file",
|
|
"@trackSaveCoverArtSubtitle": {
|
|
"description": "Subtitle for save cover art action"
|
|
},
|
|
"trackSaveLyrics": "Save Lyrics (.lrc)",
|
|
"@trackSaveLyrics": {
|
|
"description": "Menu action - save lyrics as .lrc file"
|
|
},
|
|
"trackSaveLyricsSubtitle": "Fetch and save lyrics as .lrc file",
|
|
"@trackSaveLyricsSubtitle": {
|
|
"description": "Subtitle for save lyrics action"
|
|
},
|
|
"trackSaveLyricsProgress": "Saving lyrics...",
|
|
"@trackSaveLyricsProgress": {
|
|
"description": "Snackbar while saving lyrics to file"
|
|
},
|
|
"trackReEnrich": "Re-enrich",
|
|
"@trackReEnrich": {
|
|
"description": "Menu action - re-embed metadata into audio file"
|
|
},
|
|
"trackReEnrichOnlineSubtitle": "Search metadata online and embed into file",
|
|
"@trackReEnrichOnlineSubtitle": {
|
|
"description": "Subtitle for re-enrich metadata action for local items"
|
|
},
|
|
"trackReEnrichFieldsTitle": "Fields to update",
|
|
"@trackReEnrichFieldsTitle": {
|
|
"description": "Section title for field selection in re-enrich dialog"
|
|
},
|
|
"trackReEnrichFieldCover": "Cover Art",
|
|
"@trackReEnrichFieldCover": {
|
|
"description": "Checkbox label for cover art field in re-enrich"
|
|
},
|
|
"trackReEnrichFieldLyrics": "Lyrics",
|
|
"@trackReEnrichFieldLyrics": {
|
|
"description": "Checkbox label for lyrics field in re-enrich"
|
|
},
|
|
"trackReEnrichFieldBasicTags": "Album, Album Artist",
|
|
"@trackReEnrichFieldBasicTags": {
|
|
"description": "Checkbox label for basic tags in re-enrich (title/artist are never overwritten)"
|
|
},
|
|
"trackReEnrichFieldTrackInfo": "Track & Disc Number",
|
|
"@trackReEnrichFieldTrackInfo": {
|
|
"description": "Checkbox label for track info in re-enrich"
|
|
},
|
|
"trackReEnrichFieldReleaseInfo": "Date & ISRC",
|
|
"@trackReEnrichFieldReleaseInfo": {
|
|
"description": "Checkbox label for release info in re-enrich"
|
|
},
|
|
"trackReEnrichFieldExtra": "Genre, Label, Copyright",
|
|
"@trackReEnrichFieldExtra": {
|
|
"description": "Checkbox label for extra metadata in re-enrich"
|
|
},
|
|
"trackReEnrichSelectAll": "Select All",
|
|
"@trackReEnrichSelectAll": {
|
|
"description": "Select all fields checkbox in re-enrich"
|
|
},
|
|
"trackEditMetadata": "Edit Metadata",
|
|
"@trackEditMetadata": {
|
|
"description": "Menu action - edit embedded metadata"
|
|
},
|
|
"trackCoverSaved": "Cover art saved to {fileName}",
|
|
"@trackCoverSaved": {
|
|
"description": "Snackbar after cover art saved",
|
|
"placeholders": {
|
|
"fileName": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
"trackCoverNoSource": "No cover art source available",
|
|
"@trackCoverNoSource": {
|
|
"description": "Snackbar when no cover art URL or embedded cover"
|
|
},
|
|
"trackLyricsSaved": "Lyrics saved to {fileName}",
|
|
"@trackLyricsSaved": {
|
|
"description": "Snackbar after lyrics saved",
|
|
"placeholders": {
|
|
"fileName": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
"trackReEnrichProgress": "Re-enriching metadata...",
|
|
"@trackReEnrichProgress": {
|
|
"description": "Snackbar while re-enriching metadata"
|
|
},
|
|
"trackReEnrichSearching": "Searching metadata online...",
|
|
"@trackReEnrichSearching": {
|
|
"description": "Snackbar while searching metadata from internet for local items"
|
|
},
|
|
"trackReEnrichSuccess": "Metadata re-enriched successfully",
|
|
"@trackReEnrichSuccess": {
|
|
"description": "Snackbar after successful re-enrichment"
|
|
},
|
|
"trackReEnrichFfmpegFailed": "FFmpeg metadata embed failed",
|
|
"@trackReEnrichFfmpegFailed": {
|
|
"description": "Snackbar when FFmpeg embed fails for MP3/Opus"
|
|
},
|
|
"queueFlacAction": "Queue FLAC",
|
|
"@queueFlacAction": {
|
|
"description": "Action/button label for queueing FLAC redownloads for local tracks"
|
|
},
|
|
"queueFlacConfirmMessage": "Search online matches for the selected tracks and queue FLAC downloads.\n\nExisting files will not be modified or deleted.\n\nOnly high-confidence matches are queued automatically.\n\n{count} selected",
|
|
"@queueFlacConfirmMessage": {
|
|
"description": "Confirmation dialog body before queueing FLAC redownloads for local tracks",
|
|
"placeholders": {
|
|
"count": {
|
|
"type": "int"
|
|
}
|
|
}
|
|
},
|
|
"queueFlacFindingProgress": "Finding FLAC matches... ({current}/{total})",
|
|
"@queueFlacFindingProgress": {
|
|
"description": "Snackbar while resolving remote matches for local FLAC redownloads",
|
|
"placeholders": {
|
|
"current": {
|
|
"type": "int"
|
|
},
|
|
"total": {
|
|
"type": "int"
|
|
}
|
|
}
|
|
},
|
|
"queueFlacNoReliableMatches": "No reliable online matches found for the selection",
|
|
"@queueFlacNoReliableMatches": {
|
|
"description": "Snackbar when no safe FLAC redownload matches were found"
|
|
},
|
|
"queueFlacQueuedWithSkipped": "Added {addedCount} tracks to queue, skipped {skippedCount}",
|
|
"@queueFlacQueuedWithSkipped": {
|
|
"description": "Snackbar when some selected local tracks were queued for FLAC redownload and some were skipped",
|
|
"placeholders": {
|
|
"addedCount": {
|
|
"type": "int"
|
|
},
|
|
"skippedCount": {
|
|
"type": "int"
|
|
}
|
|
}
|
|
},
|
|
"trackSaveFailed": "Failed: {error}",
|
|
"@trackSaveFailed": {
|
|
"description": "Snackbar when save operation fails",
|
|
"placeholders": {
|
|
"error": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
"trackConvertFormat": "Convert Format",
|
|
"@trackConvertFormat": {
|
|
"description": "Menu item - convert audio format"
|
|
},
|
|
"trackConvertFormatSubtitle": "Convert to AAC/M4A, MP3, Opus, ALAC, or FLAC",
|
|
"@trackConvertFormatSubtitle": {
|
|
"description": "Subtitle for convert format menu item"
|
|
},
|
|
"trackConvertTitle": "Convert Audio",
|
|
"@trackConvertTitle": {
|
|
"description": "Title of convert bottom sheet"
|
|
},
|
|
"trackConvertTargetFormat": "Target Format",
|
|
"@trackConvertTargetFormat": {
|
|
"description": "Label for format selection"
|
|
},
|
|
"trackConvertBitrate": "Bitrate",
|
|
"@trackConvertBitrate": {
|
|
"description": "Label for bitrate selection"
|
|
},
|
|
"trackConvertConfirmTitle": "Confirm Conversion",
|
|
"@trackConvertConfirmTitle": {
|
|
"description": "Confirmation dialog title"
|
|
},
|
|
"trackConvertConfirmMessage": "Convert from {sourceFormat} to {targetFormat} at {bitrate}?\n\nThe original file will be deleted after conversion.",
|
|
"@trackConvertConfirmMessage": {
|
|
"description": "Confirmation dialog message",
|
|
"placeholders": {
|
|
"sourceFormat": {
|
|
"type": "String"
|
|
},
|
|
"targetFormat": {
|
|
"type": "String"
|
|
},
|
|
"bitrate": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
"trackConvertConfirmMessageLossless": "Convert from {sourceFormat} to {targetFormat}? (Lossless — no quality loss)\n\nThe original file will be deleted after conversion.",
|
|
"@trackConvertConfirmMessageLossless": {
|
|
"description": "Confirmation dialog message for lossless-to-lossless conversion",
|
|
"placeholders": {
|
|
"sourceFormat": {
|
|
"type": "String"
|
|
},
|
|
"targetFormat": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
"trackConvertLosslessHint": "Lossless conversion — no quality loss",
|
|
"@trackConvertLosslessHint": {
|
|
"description": "Hint shown when converting between lossless formats"
|
|
},
|
|
"trackConvertConverting": "Converting audio...",
|
|
"@trackConvertConverting": {
|
|
"description": "Snackbar while converting"
|
|
},
|
|
"trackConvertSuccess": "Converted to {format} successfully",
|
|
"@trackConvertSuccess": {
|
|
"description": "Snackbar after successful conversion",
|
|
"placeholders": {
|
|
"format": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
"trackConvertFailed": "Conversion failed",
|
|
"@trackConvertFailed": {
|
|
"description": "Snackbar when conversion fails"
|
|
},
|
|
"cueSplitTitle": "Split CUE Sheet",
|
|
"@cueSplitTitle": {
|
|
"description": "Title for CUE split bottom sheet"
|
|
},
|
|
"cueSplitSubtitle": "Split CUE+FLAC into individual tracks",
|
|
"@cueSplitSubtitle": {
|
|
"description": "Subtitle for CUE split menu item"
|
|
},
|
|
"cueSplitAlbum": "Album: {album}",
|
|
"@cueSplitAlbum": {
|
|
"description": "Album name in CUE split sheet",
|
|
"placeholders": {
|
|
"album": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
"cueSplitArtist": "Artist: {artist}",
|
|
"@cueSplitArtist": {
|
|
"description": "Artist name in CUE split sheet",
|
|
"placeholders": {
|
|
"artist": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
"cueSplitTrackCount": "{count} tracks",
|
|
"@cueSplitTrackCount": {
|
|
"description": "Number of tracks in CUE sheet",
|
|
"placeholders": {
|
|
"count": {
|
|
"type": "int"
|
|
}
|
|
}
|
|
},
|
|
"cueSplitConfirmTitle": "Split CUE Album",
|
|
"@cueSplitConfirmTitle": {
|
|
"description": "CUE split confirmation dialog title"
|
|
},
|
|
"cueSplitConfirmMessage": "Split \"{album}\" into {count} individual FLAC files?\n\nFiles will be saved to the same directory.",
|
|
"@cueSplitConfirmMessage": {
|
|
"description": "CUE split confirmation dialog message",
|
|
"placeholders": {
|
|
"album": {
|
|
"type": "String"
|
|
},
|
|
"count": {
|
|
"type": "int"
|
|
}
|
|
}
|
|
},
|
|
"cueSplitSplitting": "Splitting CUE sheet... ({current}/{total})",
|
|
"@cueSplitSplitting": {
|
|
"description": "Snackbar while splitting CUE",
|
|
"placeholders": {
|
|
"current": {
|
|
"type": "int"
|
|
},
|
|
"total": {
|
|
"type": "int"
|
|
}
|
|
}
|
|
},
|
|
"cueSplitSuccess": "Split into {count} tracks successfully",
|
|
"@cueSplitSuccess": {
|
|
"description": "Snackbar after successful CUE split",
|
|
"placeholders": {
|
|
"count": {
|
|
"type": "int"
|
|
}
|
|
}
|
|
},
|
|
"cueSplitFailed": "CUE split failed",
|
|
"@cueSplitFailed": {
|
|
"description": "Snackbar when CUE split fails"
|
|
},
|
|
"cueSplitNoAudioFile": "Audio file not found for this CUE sheet",
|
|
"@cueSplitNoAudioFile": {
|
|
"description": "Error when CUE audio file is missing"
|
|
},
|
|
"cueSplitButton": "Split into Tracks",
|
|
"@cueSplitButton": {
|
|
"description": "Button text to start CUE splitting"
|
|
},
|
|
"actionCreate": "Create",
|
|
"@actionCreate": {
|
|
"description": "Generic action button - create"
|
|
},
|
|
"collectionFoldersTitle": "My folders",
|
|
"@collectionFoldersTitle": {
|
|
"description": "Library section title for custom folders"
|
|
},
|
|
"collectionWishlist": "Wishlist",
|
|
"@collectionWishlist": {
|
|
"description": "Custom folder for saved tracks to download later"
|
|
},
|
|
"collectionLoved": "Loved",
|
|
"@collectionLoved": {
|
|
"description": "Custom folder for favorite tracks"
|
|
},
|
|
"collectionFavoriteArtists": "Favorite Artists",
|
|
"@collectionFavoriteArtists": {
|
|
"description": "Custom folder for favorite artists"
|
|
},
|
|
"collectionPlaylists": "Playlists",
|
|
"@collectionPlaylists": {
|
|
"description": "Custom user playlists folder"
|
|
},
|
|
"collectionPlaylist": "Playlist",
|
|
"@collectionPlaylist": {
|
|
"description": "Single playlist label"
|
|
},
|
|
"collectionAddToPlaylist": "Add to playlist",
|
|
"@collectionAddToPlaylist": {
|
|
"description": "Action to add a track to user playlist"
|
|
},
|
|
"collectionCreatePlaylist": "Create playlist",
|
|
"@collectionCreatePlaylist": {
|
|
"description": "Action to create a new playlist"
|
|
},
|
|
"collectionNoPlaylistsYet": "No playlists yet",
|
|
"@collectionNoPlaylistsYet": {
|
|
"description": "Empty state title when user has no playlists"
|
|
},
|
|
"collectionNoPlaylistsSubtitle": "Create a playlist to start categorizing tracks",
|
|
"@collectionNoPlaylistsSubtitle": {
|
|
"description": "Empty state subtitle when user has no playlists"
|
|
},
|
|
"collectionPlaylistTracks": "{count, plural, =1{1 track} other{{count} tracks}}",
|
|
"@collectionPlaylistTracks": {
|
|
"description": "Track count label for custom playlists",
|
|
"placeholders": {
|
|
"count": {
|
|
"type": "int"
|
|
}
|
|
}
|
|
},
|
|
"collectionArtistCount": "{count, plural, =1{1 artist} other{{count} artists}}",
|
|
"@collectionArtistCount": {
|
|
"description": "Artist count label for favorite artists",
|
|
"placeholders": {
|
|
"count": {
|
|
"type": "int"
|
|
}
|
|
}
|
|
},
|
|
"collectionAddedToPlaylist": "Added to \"{playlistName}\"",
|
|
"@collectionAddedToPlaylist": {
|
|
"description": "Snackbar after adding track to playlist",
|
|
"placeholders": {
|
|
"playlistName": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
"collectionAlreadyInPlaylist": "Already in \"{playlistName}\"",
|
|
"@collectionAlreadyInPlaylist": {
|
|
"description": "Snackbar when track already exists in playlist",
|
|
"placeholders": {
|
|
"playlistName": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
"collectionPlaylistCreated": "Playlist created",
|
|
"@collectionPlaylistCreated": {
|
|
"description": "Snackbar after creating playlist"
|
|
},
|
|
"collectionPlaylistNameHint": "Playlist name",
|
|
"@collectionPlaylistNameHint": {
|
|
"description": "Hint text for playlist name input"
|
|
},
|
|
"collectionPlaylistNameRequired": "Playlist name is required",
|
|
"@collectionPlaylistNameRequired": {
|
|
"description": "Validation error for empty playlist name"
|
|
},
|
|
"collectionRenamePlaylist": "Rename playlist",
|
|
"@collectionRenamePlaylist": {
|
|
"description": "Action to rename playlist"
|
|
},
|
|
"collectionDeletePlaylist": "Delete playlist",
|
|
"@collectionDeletePlaylist": {
|
|
"description": "Action to delete playlist"
|
|
},
|
|
"collectionDeletePlaylistMessage": "Delete \"{playlistName}\" and all tracks inside it?",
|
|
"@collectionDeletePlaylistMessage": {
|
|
"description": "Confirmation message for deleting playlist",
|
|
"placeholders": {
|
|
"playlistName": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
"collectionPlaylistDeleted": "Playlist deleted",
|
|
"@collectionPlaylistDeleted": {
|
|
"description": "Snackbar after deleting playlist"
|
|
},
|
|
"collectionPlaylistRenamed": "Playlist renamed",
|
|
"@collectionPlaylistRenamed": {
|
|
"description": "Snackbar after renaming playlist"
|
|
},
|
|
"collectionWishlistEmptyTitle": "Wishlist is empty",
|
|
"@collectionWishlistEmptyTitle": {
|
|
"description": "Wishlist empty state title"
|
|
},
|
|
"collectionWishlistEmptySubtitle": "Tap + on tracks to save what you want to download later",
|
|
"@collectionWishlistEmptySubtitle": {
|
|
"description": "Wishlist empty state subtitle"
|
|
},
|
|
"collectionLovedEmptyTitle": "Loved folder is empty",
|
|
"@collectionLovedEmptyTitle": {
|
|
"description": "Loved empty state title"
|
|
},
|
|
"collectionLovedEmptySubtitle": "Tap love on tracks to keep your favorites",
|
|
"@collectionLovedEmptySubtitle": {
|
|
"description": "Loved empty state subtitle"
|
|
},
|
|
"collectionFavoriteArtistsEmptyTitle": "No favorite artists yet",
|
|
"@collectionFavoriteArtistsEmptyTitle": {
|
|
"description": "Favorite artists empty state title"
|
|
},
|
|
"collectionFavoriteArtistsEmptySubtitle": "Tap the heart on an artist page to keep them here",
|
|
"@collectionFavoriteArtistsEmptySubtitle": {
|
|
"description": "Favorite artists empty state subtitle"
|
|
},
|
|
"collectionPlaylistEmptyTitle": "Playlist is empty",
|
|
"@collectionPlaylistEmptyTitle": {
|
|
"description": "Playlist empty state title"
|
|
},
|
|
"collectionPlaylistEmptySubtitle": "Long-press + on any track to add it here",
|
|
"@collectionPlaylistEmptySubtitle": {
|
|
"description": "Playlist empty state subtitle"
|
|
},
|
|
"collectionRemoveFromPlaylist": "Remove from playlist",
|
|
"@collectionRemoveFromPlaylist": {
|
|
"description": "Tooltip for removing track from playlist"
|
|
},
|
|
"collectionRemoveFromFolder": "Remove from folder",
|
|
"@collectionRemoveFromFolder": {
|
|
"description": "Tooltip for removing track from wishlist/loved folder"
|
|
},
|
|
"collectionRemoved": "\"{trackName}\" removed",
|
|
"@collectionRemoved": {
|
|
"description": "Snackbar after removing a track from a collection",
|
|
"placeholders": {
|
|
"trackName": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
"collectionAddedToLoved": "\"{trackName}\" added to Loved",
|
|
"@collectionAddedToLoved": {
|
|
"description": "Snackbar after adding track to loved folder",
|
|
"placeholders": {
|
|
"trackName": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
"collectionRemovedFromLoved": "\"{trackName}\" removed from Loved",
|
|
"@collectionRemovedFromLoved": {
|
|
"description": "Snackbar after removing track from loved folder",
|
|
"placeholders": {
|
|
"trackName": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
"collectionAddedToWishlist": "\"{trackName}\" added to Wishlist",
|
|
"@collectionAddedToWishlist": {
|
|
"description": "Snackbar after adding track to wishlist",
|
|
"placeholders": {
|
|
"trackName": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
"collectionRemovedFromWishlist": "\"{trackName}\" removed from Wishlist",
|
|
"@collectionRemovedFromWishlist": {
|
|
"description": "Snackbar after removing track from wishlist",
|
|
"placeholders": {
|
|
"trackName": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
"collectionAddedToFavoriteArtists": "\"{artistName}\" added to Favorite Artists",
|
|
"@collectionAddedToFavoriteArtists": {
|
|
"description": "Snackbar after adding artist to favorite artists",
|
|
"placeholders": {
|
|
"artistName": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
"collectionRemovedFromFavoriteArtists": "\"{artistName}\" removed from Favorite Artists",
|
|
"@collectionRemovedFromFavoriteArtists": {
|
|
"description": "Snackbar after removing artist from favorite artists",
|
|
"placeholders": {
|
|
"artistName": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
"trackOptionAddToLoved": "Add to Loved",
|
|
"@trackOptionAddToLoved": {
|
|
"description": "Bottom sheet action label - add track to loved folder"
|
|
},
|
|
"trackOptionRemoveFromLoved": "Remove from Loved",
|
|
"@trackOptionRemoveFromLoved": {
|
|
"description": "Bottom sheet action label - remove track from loved folder"
|
|
},
|
|
"trackOptionAddToWishlist": "Add to Wishlist",
|
|
"@trackOptionAddToWishlist": {
|
|
"description": "Bottom sheet action label - add track to wishlist"
|
|
},
|
|
"trackOptionRemoveFromWishlist": "Remove from Wishlist",
|
|
"@trackOptionRemoveFromWishlist": {
|
|
"description": "Bottom sheet action label - remove track from wishlist"
|
|
},
|
|
"artistOptionAddToFavorites": "Add to Favorite Artists",
|
|
"@artistOptionAddToFavorites": {
|
|
"description": "Action label - add artist to favorite artists"
|
|
},
|
|
"artistOptionRemoveFromFavorites": "Remove from Favorite Artists",
|
|
"@artistOptionRemoveFromFavorites": {
|
|
"description": "Action label - remove artist from favorite artists"
|
|
},
|
|
"collectionPlaylistChangeCover": "Change cover image",
|
|
"@collectionPlaylistChangeCover": {
|
|
"description": "Bottom sheet action to pick a custom cover image for a playlist"
|
|
},
|
|
"collectionPlaylistRemoveCover": "Remove cover image",
|
|
"@collectionPlaylistRemoveCover": {
|
|
"description": "Bottom sheet action to remove custom cover image from a playlist"
|
|
},
|
|
"selectionShareCount": "Share {count} {count, plural, =1{track} other{tracks}}",
|
|
"@selectionShareCount": {
|
|
"description": "Share button text with count in selection mode",
|
|
"placeholders": {
|
|
"count": {
|
|
"type": "int"
|
|
}
|
|
}
|
|
},
|
|
"selectionShareNoFiles": "No shareable files found",
|
|
"@selectionShareNoFiles": {
|
|
"description": "Snackbar when no selected files exist on disk"
|
|
},
|
|
"selectionConvertCount": "Convert {count} {count, plural, =1{track} other{tracks}}",
|
|
"@selectionConvertCount": {
|
|
"description": "Convert button text with count in selection mode",
|
|
"placeholders": {
|
|
"count": {
|
|
"type": "int"
|
|
}
|
|
}
|
|
},
|
|
"selectionConvertNoConvertible": "No convertible tracks selected",
|
|
"@selectionConvertNoConvertible": {
|
|
"description": "Snackbar when no selected tracks support conversion"
|
|
},
|
|
"selectionBatchConvertConfirmTitle": "Batch Convert",
|
|
"@selectionBatchConvertConfirmTitle": {
|
|
"description": "Confirmation dialog title for batch conversion"
|
|
},
|
|
"selectionBatchConvertConfirmMessage": "Convert {count} {count, plural, =1{track} other{tracks}} to {format} at {bitrate}?\n\nOriginal files will be deleted after conversion.",
|
|
"@selectionBatchConvertConfirmMessage": {
|
|
"description": "Confirmation dialog message for batch conversion",
|
|
"placeholders": {
|
|
"count": {
|
|
"type": "int"
|
|
},
|
|
"format": {
|
|
"type": "String"
|
|
},
|
|
"bitrate": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
"selectionBatchConvertConfirmMessageLossless": "Convert {count} {count, plural, =1{track} other{tracks}} to {format}? (Lossless — no quality loss)\n\nOriginal files will be deleted after conversion.",
|
|
"@selectionBatchConvertConfirmMessageLossless": {
|
|
"description": "Confirmation dialog message for lossless batch conversion",
|
|
"placeholders": {
|
|
"count": {
|
|
"type": "int"
|
|
},
|
|
"format": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
"selectionBatchConvertProgress": "Converting {current} of {total}...",
|
|
"@selectionBatchConvertProgress": {
|
|
"description": "Snackbar during batch conversion progress",
|
|
"placeholders": {
|
|
"current": {
|
|
"type": "int"
|
|
},
|
|
"total": {
|
|
"type": "int"
|
|
}
|
|
}
|
|
},
|
|
"selectionBatchConvertSuccess": "Converted {success} of {total} tracks to {format}",
|
|
"@selectionBatchConvertSuccess": {
|
|
"description": "Snackbar after batch conversion completes",
|
|
"placeholders": {
|
|
"success": {
|
|
"type": "int"
|
|
},
|
|
"total": {
|
|
"type": "int"
|
|
},
|
|
"format": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
"downloadedAlbumDownloadedCount": "{count} downloaded",
|
|
"@downloadedAlbumDownloadedCount": {
|
|
"description": "Downloaded tracks count badge",
|
|
"placeholders": {
|
|
"count": {
|
|
"type": "int"
|
|
}
|
|
}
|
|
},
|
|
"downloadUseAlbumArtistForFoldersAlbumSubtitle": "Folder named after Album Artist tag",
|
|
"@downloadUseAlbumArtistForFoldersAlbumSubtitle": {
|
|
"description": "Subtitle when album artist is used for folder names"
|
|
},
|
|
"downloadUseAlbumArtistForFoldersTrackSubtitle": "Folder named after Track Artist tag",
|
|
"@downloadUseAlbumArtistForFoldersTrackSubtitle": {
|
|
"description": "Subtitle when track artist is used for folder names"
|
|
},
|
|
"lyricsProvidersTitle": "Lyrics Provider Priority",
|
|
"@lyricsProvidersTitle": {
|
|
"description": "Settings item title for lyrics provider order"
|
|
},
|
|
"lyricsProvidersDescription": "Enable, disable and reorder lyrics sources. Providers are tried top-to-bottom until lyrics are found.",
|
|
"@lyricsProvidersDescription": {
|
|
"description": "Description on the lyrics provider priority page"
|
|
},
|
|
"lyricsProvidersInfoText": "Extension lyrics providers run before built-in lyrics providers. At least one provider must remain enabled.",
|
|
"@lyricsProvidersInfoText": {
|
|
"description": "Info tip on lyrics provider priority page"
|
|
},
|
|
"lyricsProvidersEnabledSection": "Enabled ({count})",
|
|
"@lyricsProvidersEnabledSection": {
|
|
"description": "Section header for enabled providers",
|
|
"placeholders": {
|
|
"count": {
|
|
"type": "int"
|
|
}
|
|
}
|
|
},
|
|
"lyricsProvidersDisabledSection": "Disabled ({count})",
|
|
"@lyricsProvidersDisabledSection": {
|
|
"description": "Section header for disabled providers",
|
|
"placeholders": {
|
|
"count": {
|
|
"type": "int"
|
|
}
|
|
}
|
|
},
|
|
"lyricsProvidersAtLeastOne": "At least one provider must remain enabled",
|
|
"@lyricsProvidersAtLeastOne": {
|
|
"description": "Snackbar when user tries to disable the last enabled provider"
|
|
},
|
|
"lyricsProvidersSaved": "Lyrics provider priority saved",
|
|
"@lyricsProvidersSaved": {
|
|
"description": "Snackbar after saving lyrics provider priority"
|
|
},
|
|
"lyricsProvidersDiscardContent": "You have unsaved changes that will be lost.",
|
|
"@lyricsProvidersDiscardContent": {
|
|
"description": "Body text of the discard-changes dialog on lyrics provider page"
|
|
},
|
|
"lyricsProviderLrclibDesc": "Open-source synced lyrics database",
|
|
"@lyricsProviderLrclibDesc": {
|
|
"description": "Description for LRCLIB provider"
|
|
},
|
|
"lyricsProviderNeteaseDesc": "NetEase Cloud Music (good for Asian songs)",
|
|
"@lyricsProviderNeteaseDesc": {
|
|
"description": "Description for Netease provider"
|
|
},
|
|
"lyricsProviderMusixmatchDesc": "Largest lyrics database (multi-language)",
|
|
"@lyricsProviderMusixmatchDesc": {
|
|
"description": "Description for Musixmatch provider"
|
|
},
|
|
"lyricsProviderAppleMusicDesc": "Word-by-word synced lyrics (via proxy)",
|
|
"@lyricsProviderAppleMusicDesc": {
|
|
"description": "Description for Apple Music provider"
|
|
},
|
|
"lyricsProviderQqMusicDesc": "QQ Music (good for Chinese songs, via proxy)",
|
|
"@lyricsProviderQqMusicDesc": {
|
|
"description": "Description for QQ Music provider"
|
|
},
|
|
"lyricsProviderLyricsPlusDesc": "Word-by-word karaoke lyrics (Apple/Musixmatch/Spotify/QQ, via proxy)",
|
|
"@lyricsProviderLyricsPlusDesc": {
|
|
"description": "Description for LyricsPlus provider"
|
|
},
|
|
"lyricsProviderExtensionDesc": "Extension provider",
|
|
"@lyricsProviderExtensionDesc": {
|
|
"description": "Generic description for extension-based lyrics providers"
|
|
},
|
|
"safMigrationTitle": "Storage Update Required",
|
|
"@safMigrationTitle": {
|
|
"description": "Title of SAF migration dialog"
|
|
},
|
|
"safMigrationMessage1": "SpotiFLAC now uses Android Storage Access Framework (SAF) for downloads. This fixes \"permission denied\" errors on Android 10+.",
|
|
"@safMigrationMessage1": {
|
|
"description": "First paragraph of SAF migration dialog"
|
|
},
|
|
"safMigrationMessage2": "Please select your download folder again to switch to the new storage system.",
|
|
"@safMigrationMessage2": {
|
|
"description": "Second paragraph of SAF migration dialog"
|
|
},
|
|
"safMigrationSuccess": "Download folder updated to SAF mode",
|
|
"@safMigrationSuccess": {
|
|
"description": "Snackbar after successfully migrating to SAF"
|
|
},
|
|
"settingsDonate": "Support Development",
|
|
"@settingsDonate": {
|
|
"description": "Settings menu item - donate page"
|
|
},
|
|
"settingsDonateSubtitle": "Buy the developer a coffee",
|
|
"@settingsDonateSubtitle": {
|
|
"description": "Subtitle for donate menu item"
|
|
},
|
|
"settingsBackup": "Backup & Restore",
|
|
"@settingsBackup": {
|
|
"description": "Settings menu item - backup and restore page"
|
|
},
|
|
"settingsBackupSubtitle": "Move your library, history and settings to a new device",
|
|
"@settingsBackupSubtitle": {
|
|
"description": "Subtitle for backup and restore settings item"
|
|
},
|
|
"backupTitle": "Backup & Restore",
|
|
"@backupTitle": {
|
|
"description": "App bar title for the backup and restore page"
|
|
},
|
|
"backupExportSectionTitle": "Create backup",
|
|
"@backupExportSectionTitle": {
|
|
"description": "Section title for the export/backup card"
|
|
},
|
|
"backupExportSectionDescription": "Save your settings, download history, liked tracks, wishlist, favorite artists and playlists into a single file you can keep or move to another phone.",
|
|
"@backupExportSectionDescription": {
|
|
"description": "Description of what a backup contains"
|
|
},
|
|
"backupExportButton": "Create backup file",
|
|
"@backupExportButton": {
|
|
"description": "Button to create and share a backup file"
|
|
},
|
|
"backupImportSectionTitle": "Restore backup",
|
|
"@backupImportSectionTitle": {
|
|
"description": "Section title for the import/restore card"
|
|
},
|
|
"backupImportSectionDescription": "Pick a backup file to restore your data. This replaces the current settings, history and library on this device.",
|
|
"@backupImportSectionDescription": {
|
|
"description": "Description for the restore action"
|
|
},
|
|
"backupImportButton": "Choose backup file",
|
|
"@backupImportButton": {
|
|
"description": "Button to pick a backup file to restore"
|
|
},
|
|
"backupCreating": "Creating backup...",
|
|
"@backupCreating": {
|
|
"description": "Progress text while a backup is being created"
|
|
},
|
|
"backupCreated": "Backup created",
|
|
"@backupCreated": {
|
|
"description": "Snackbar after a backup file is created"
|
|
},
|
|
"backupCreateFailed": "Failed to create backup",
|
|
"@backupCreateFailed": {
|
|
"description": "Snackbar when backup creation fails"
|
|
},
|
|
"backupEmpty": "There is nothing to back up yet",
|
|
"@backupEmpty": {
|
|
"description": "Snackbar when there is no data to back up"
|
|
},
|
|
"backupRestoreConfirmTitle": "Restore this backup?",
|
|
"@backupRestoreConfirmTitle": {
|
|
"description": "Confirmation dialog title before restoring a backup"
|
|
},
|
|
"backupRestoreConfirmMessage": "This will replace your current settings, download history, liked tracks, wishlist and playlists with the contents of the backup. This cannot be undone.",
|
|
"@backupRestoreConfirmMessage": {
|
|
"description": "Confirmation dialog message before restoring a backup"
|
|
},
|
|
"backupRestoreConfirmButton": "Restore",
|
|
"@backupRestoreConfirmButton": {
|
|
"description": "Confirm button to proceed with restore"
|
|
},
|
|
"backupRestoring": "Restoring backup...",
|
|
"@backupRestoring": {
|
|
"description": "Progress text while restoring a backup"
|
|
},
|
|
"backupRestored": "Backup restored successfully",
|
|
"@backupRestored": {
|
|
"description": "Snackbar after a successful restore"
|
|
},
|
|
"backupRestoreFailed": "Failed to restore backup",
|
|
"@backupRestoreFailed": {
|
|
"description": "Snackbar when restore fails"
|
|
},
|
|
"backupInvalidFile": "This file is not a valid SpotiFLAC backup",
|
|
"@backupInvalidFile": {
|
|
"description": "Snackbar when the chosen file is not a valid backup"
|
|
},
|
|
"backupRestoreRestartHint": "Restart the app to make sure every change is applied.",
|
|
"@backupRestoreRestartHint": {
|
|
"description": "Hint shown after restoring that an app restart is recommended"
|
|
},
|
|
"backupContentsTitle": "Backup contents",
|
|
"@backupContentsTitle": {
|
|
"description": "Header above the list summarizing what the backup contains"
|
|
},
|
|
"backupContentsSettings": "App settings",
|
|
"@backupContentsSettings": {
|
|
"description": "Backup contents row label for settings"
|
|
},
|
|
"backupContentsHistory": "{count} history {count, plural, =1{item} other{items}}",
|
|
"@backupContentsHistory": {
|
|
"description": "Backup contents row for history count",
|
|
"placeholders": {
|
|
"count": {
|
|
"type": "int"
|
|
}
|
|
}
|
|
},
|
|
"backupContentsLiked": "{count} liked {count, plural, =1{track} other{tracks}}",
|
|
"@backupContentsLiked": {
|
|
"description": "Backup contents row for liked tracks count",
|
|
"placeholders": {
|
|
"count": {
|
|
"type": "int"
|
|
}
|
|
}
|
|
},
|
|
"backupContentsWishlist": "{count} wishlist {count, plural, =1{track} other{tracks}}",
|
|
"@backupContentsWishlist": {
|
|
"description": "Backup contents row for wishlist tracks count",
|
|
"placeholders": {
|
|
"count": {
|
|
"type": "int"
|
|
}
|
|
}
|
|
},
|
|
"backupContentsPlaylists": "{count, plural, =1{1 playlist} other{{count} playlists}}",
|
|
"@backupContentsPlaylists": {
|
|
"description": "Backup contents row for playlist count",
|
|
"placeholders": {
|
|
"count": {
|
|
"type": "int"
|
|
}
|
|
}
|
|
},
|
|
"backupContentsArtists": "{count, plural, =1{1 favorite artist} other{{count} favorite artists}}",
|
|
"@backupContentsArtists": {
|
|
"description": "Backup contents row for favorite artists count",
|
|
"placeholders": {
|
|
"count": {
|
|
"type": "int"
|
|
}
|
|
}
|
|
},
|
|
"backupContentsExtensions": "{count, plural, =1{1 extension} other{{count} extensions}}",
|
|
"@backupContentsExtensions": {
|
|
"description": "Backup contents row for installed extensions count",
|
|
"placeholders": {
|
|
"count": {
|
|
"type": "int"
|
|
}
|
|
}
|
|
},
|
|
"backupIncludeSecrets": "Include extension credentials",
|
|
"@backupIncludeSecrets": {
|
|
"description": "Toggle to include secret extension settings (tokens, API keys) in the backup"
|
|
},
|
|
"backupIncludeSecretsDescription": "Tokens and API keys from extensions will be saved into the backup file. Keep the file private. When off, you re-enter them after restoring.",
|
|
"@backupIncludeSecretsDescription": {
|
|
"description": "Explanation for the include-credentials toggle"
|
|
},
|
|
"backupExtensionsRestoreFailed": "{count} {count, plural, =1{extension} other{extensions}} could not be reinstalled. Install them manually from the store.",
|
|
"@backupExtensionsRestoreFailed": {
|
|
"description": "Snackbar/hint when some extensions failed to reinstall during restore",
|
|
"placeholders": {
|
|
"count": {
|
|
"type": "int"
|
|
}
|
|
}
|
|
},
|
|
"tooltipLoveAll": "Love All",
|
|
"@tooltipLoveAll": {
|
|
"description": "Tooltip for the Love All button on album/playlist screens"
|
|
},
|
|
"tooltipAddToPlaylist": "Add to Playlist",
|
|
"@tooltipAddToPlaylist": {
|
|
"description": "Tooltip for the Add to Playlist button"
|
|
},
|
|
"snackbarRemovedTracksFromLoved": "Removed {count} tracks from Loved",
|
|
"@snackbarRemovedTracksFromLoved": {
|
|
"description": "Snackbar after removing multiple tracks from Loved folder",
|
|
"placeholders": {
|
|
"count": {
|
|
"type": "int"
|
|
}
|
|
}
|
|
},
|
|
"snackbarAddedTracksToLoved": "Added {count} tracks to Loved",
|
|
"@snackbarAddedTracksToLoved": {
|
|
"description": "Snackbar after adding multiple tracks to Loved folder",
|
|
"placeholders": {
|
|
"count": {
|
|
"type": "int"
|
|
}
|
|
}
|
|
},
|
|
"dialogDownloadAllTitle": "Download All",
|
|
"@dialogDownloadAllTitle": {
|
|
"description": "Dialog title for bulk download confirmation"
|
|
},
|
|
"dialogDownloadAllMessage": "Download {count} tracks?",
|
|
"@dialogDownloadAllMessage": {
|
|
"description": "Body of the Download All confirmation dialog",
|
|
"placeholders": {
|
|
"count": {
|
|
"type": "int"
|
|
}
|
|
}
|
|
},
|
|
"homeSkipAlreadyDownloaded": "Skip already downloaded songs",
|
|
"@homeSkipAlreadyDownloaded": {
|
|
"description": "Checkbox label in import dialog to skip already-downloaded songs"
|
|
},
|
|
"homeGoToAlbum": "Go to Album",
|
|
"@homeGoToAlbum": {
|
|
"description": "Context menu item to navigate to the album page"
|
|
},
|
|
"homeAlbumInfoUnavailable": "Album info not available",
|
|
"@homeAlbumInfoUnavailable": {
|
|
"description": "Snackbar when album info cannot be loaded"
|
|
},
|
|
"snackbarLoadingCueSheet": "Loading CUE sheet...",
|
|
"@snackbarLoadingCueSheet": {
|
|
"description": "Snackbar while loading a CUE sheet file"
|
|
},
|
|
"snackbarMetadataSaved": "Metadata saved successfully",
|
|
"@snackbarMetadataSaved": {
|
|
"description": "Snackbar after successfully saving track metadata"
|
|
},
|
|
"snackbarFailedToEmbedLyrics": "Failed to embed lyrics",
|
|
"@snackbarFailedToEmbedLyrics": {
|
|
"description": "Snackbar when lyrics embedding fails"
|
|
},
|
|
"snackbarFailedToWriteStorage": "Failed to write back to storage",
|
|
"@snackbarFailedToWriteStorage": {
|
|
"description": "Snackbar when writing metadata back to file fails"
|
|
},
|
|
"snackbarError": "Error: {error}",
|
|
"@snackbarError": {
|
|
"description": "Generic error snackbar with error detail",
|
|
"placeholders": {
|
|
"error": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
"snackbarNoActionDefined": "No action defined for this button",
|
|
"@snackbarNoActionDefined": {
|
|
"description": "Snackbar when an extension button has no action configured"
|
|
},
|
|
"noTracksFoundForAlbum": "No tracks found for this album",
|
|
"@noTracksFoundForAlbum": {
|
|
"description": "Empty state message when an album has no tracks"
|
|
},
|
|
"downloadLocationSubtitle": "Choose where to save your downloaded tracks",
|
|
"@downloadLocationSubtitle": {
|
|
"description": "Subtitle shown in the download location picker sheet"
|
|
},
|
|
"storageModeAppFolder": "App Folder (Recommended)",
|
|
"@storageModeAppFolder": {
|
|
"description": "Storage mode option - app-managed folder"
|
|
},
|
|
"storageModeAppFolderSubtitle": "Saves to Music/SpotiFLAC by default",
|
|
"@storageModeAppFolderSubtitle": {
|
|
"description": "Subtitle for app folder storage mode"
|
|
},
|
|
"storageModeSaf": "Custom Folder (SAF)",
|
|
"@storageModeSaf": {
|
|
"description": "Storage mode option - Storage Access Framework"
|
|
},
|
|
"storageModeSafSubtitle": "Pick any folder, including SD card",
|
|
"@storageModeSafSubtitle": {
|
|
"description": "Subtitle for SAF storage mode"
|
|
},
|
|
"downloadFilenameDescription": "Use {artist}, {title}, {album}, {track}, {year}, {date}, {disc} as placeholders.",
|
|
"@downloadFilenameDescription": {
|
|
"description": "Description shown in filename format editor"
|
|
},
|
|
"downloadFilenameInsertTag": "Tap to insert tag:",
|
|
"@downloadFilenameInsertTag": {
|
|
"description": "Label above filename tag chips"
|
|
},
|
|
"downloadSeparateSinglesEnabled": "Singles and EPs saved in a separate folder",
|
|
"@downloadSeparateSinglesEnabled": {
|
|
"description": "Subtitle when separate singles folder is on"
|
|
},
|
|
"downloadSeparateSinglesDisabled": "Singles and albums saved in the same folder",
|
|
"@downloadSeparateSinglesDisabled": {
|
|
"description": "Subtitle when separate singles folder is off"
|
|
},
|
|
"downloadArtistNameFilters": "Artist Name Filters",
|
|
"@downloadArtistNameFilters": {
|
|
"description": "Setting title for artist folder filter options"
|
|
},
|
|
"downloadCreatePlaylistSourceFolder": "Playlist Source Folder",
|
|
"@downloadCreatePlaylistSourceFolder": {
|
|
"description": "Setting to create a subfolder per playlist source"
|
|
},
|
|
"downloadCreatePlaylistSourceFolderEnabled": "A subfolder is created for each playlist",
|
|
"@downloadCreatePlaylistSourceFolderEnabled": {
|
|
"description": "Subtitle when playlist folder is enabled"
|
|
},
|
|
"downloadCreatePlaylistSourceFolderDisabled": "All tracks saved directly to download folder",
|
|
"@downloadCreatePlaylistSourceFolderDisabled": {
|
|
"description": "Subtitle when playlist folder is disabled"
|
|
},
|
|
"downloadCreatePlaylistSourceFolderRedundant": "Handled by folder organization setting",
|
|
"@downloadCreatePlaylistSourceFolderRedundant": {
|
|
"description": "Subtitle when folder organization is already set to playlist"
|
|
},
|
|
"downloadSongLinkRegion": "SongLink Region",
|
|
"@downloadSongLinkRegion": {
|
|
"description": "Setting for SongLink region used during fallback resolution"
|
|
},
|
|
"downloadNetworkCompatibilityMode": "Network Compatibility Mode",
|
|
"@downloadNetworkCompatibilityMode": {
|
|
"description": "Setting for legacy TLS/network handling"
|
|
},
|
|
"downloadNetworkCompatibilityModeEnabled": "Using legacy TLS settings for older networks",
|
|
"@downloadNetworkCompatibilityModeEnabled": {
|
|
"description": "Subtitle when network compatibility mode is on"
|
|
},
|
|
"downloadNetworkCompatibilityModeDisabled": "Using standard network settings",
|
|
"@downloadNetworkCompatibilityModeDisabled": {
|
|
"description": "Subtitle when network compatibility mode is off"
|
|
},
|
|
"downloadAllowLocalNetwork": "Allow Local Network Access",
|
|
"@downloadAllowLocalNetwork": {
|
|
"description": "Setting title for allowing requests to private/local network targets"
|
|
},
|
|
"downloadAllowLocalNetworkEnabled": "Requests to local/private addresses are allowed (for local proxy or custom DNS)",
|
|
"@downloadAllowLocalNetworkEnabled": {
|
|
"description": "Subtitle when allow local network access is on"
|
|
},
|
|
"downloadAllowLocalNetworkDisabled": "Local/private addresses are blocked for security",
|
|
"@downloadAllowLocalNetworkDisabled": {
|
|
"description": "Subtitle when allow local network access is off"
|
|
},
|
|
"downloadSelectServiceToEnable": "Select a provider with quality options to enable this option",
|
|
"@downloadSelectServiceToEnable": {
|
|
"description": "Subtitle when quality picker is disabled due to extension service"
|
|
},
|
|
"downloadSelectTidalQobuz": "Select a provider with quality options to choose audio quality",
|
|
"@downloadSelectTidalQobuz": {
|
|
"description": "Legacy info shown when a provider does not expose quality options"
|
|
},
|
|
"downloadEmbedLyricsDisabled": "Enable metadata embedding first",
|
|
"@downloadEmbedLyricsDisabled": {
|
|
"description": "Subtitle when lyrics embedding is blocked by metadata toggle"
|
|
},
|
|
"downloadNeteaseIncludeTranslation": "Netease: Include Translation",
|
|
"@downloadNeteaseIncludeTranslation": {
|
|
"description": "Setting to include translated lyrics from Netease"
|
|
},
|
|
"downloadNeteaseIncludeTranslationEnabled": "Chinese translation lines included",
|
|
"@downloadNeteaseIncludeTranslationEnabled": {
|
|
"description": "Subtitle when Netease translation is on"
|
|
},
|
|
"downloadNeteaseIncludeTranslationDisabled": "Original lyrics only",
|
|
"@downloadNeteaseIncludeTranslationDisabled": {
|
|
"description": "Subtitle when Netease translation is off"
|
|
},
|
|
"downloadNeteaseIncludeRomanization": "Netease: Include Romanization",
|
|
"@downloadNeteaseIncludeRomanization": {
|
|
"description": "Setting to include romanized lyrics from Netease"
|
|
},
|
|
"downloadNeteaseIncludeRomanizationEnabled": "Romanization lines included",
|
|
"@downloadNeteaseIncludeRomanizationEnabled": {
|
|
"description": "Subtitle when Netease romanization is on"
|
|
},
|
|
"downloadNeteaseIncludeRomanizationDisabled": "No romanization",
|
|
"@downloadNeteaseIncludeRomanizationDisabled": {
|
|
"description": "Subtitle when Netease romanization is off"
|
|
},
|
|
"downloadAppleQqMultiPerson": "Apple / QQ: Multi-Person Lyrics",
|
|
"@downloadAppleQqMultiPerson": {
|
|
"description": "Setting for word-by-word multi-person lyrics from Apple Music and QQ Music"
|
|
},
|
|
"downloadAppleQqMultiPersonEnabled": "Speaker labels included for duets and group tracks",
|
|
"@downloadAppleQqMultiPersonEnabled": {
|
|
"description": "Subtitle when multi-person lyrics is on"
|
|
},
|
|
"downloadAppleQqMultiPersonDisabled": "Standard lyrics without speaker labels",
|
|
"@downloadAppleQqMultiPersonDisabled": {
|
|
"description": "Subtitle when multi-person lyrics is off"
|
|
},
|
|
"downloadAppleElrcWordSync": "Apple Music eLRC Word Sync",
|
|
"@downloadAppleElrcWordSync": {
|
|
"description": "Setting for preserving Apple Music word-by-word eLRC timestamps"
|
|
},
|
|
"downloadAppleElrcWordSyncEnabled": "Raw word-by-word timestamps preserved",
|
|
"@downloadAppleElrcWordSyncEnabled": {
|
|
"description": "Subtitle when Apple Music eLRC word sync is enabled"
|
|
},
|
|
"downloadAppleElrcWordSyncDisabled": "Safer line-by-line Apple Music lyrics",
|
|
"@downloadAppleElrcWordSyncDisabled": {
|
|
"description": "Subtitle when Apple Music eLRC word sync is disabled"
|
|
},
|
|
"downloadMusixmatchLanguage": "Musixmatch Language",
|
|
"@downloadMusixmatchLanguage": {
|
|
"description": "Setting for Musixmatch lyrics translation language"
|
|
},
|
|
"downloadMusixmatchLanguageAuto": "Auto (original language)",
|
|
"@downloadMusixmatchLanguageAuto": {
|
|
"description": "Subtitle when no language is set"
|
|
},
|
|
"downloadFilterContributing": "Filter Contributing Artists",
|
|
"@downloadFilterContributing": {
|
|
"description": "Setting to strip contributing artists from Album Artist folder name"
|
|
},
|
|
"downloadFilterContributingEnabled": "Contributing artists removed from Album Artist folder name",
|
|
"@downloadFilterContributingEnabled": {
|
|
"description": "Subtitle when contributing artist filter is on"
|
|
},
|
|
"downloadFilterContributingDisabled": "Full Album Artist string used",
|
|
"@downloadFilterContributingDisabled": {
|
|
"description": "Subtitle when contributing artist filter is off"
|
|
},
|
|
"downloadProvidersNoneEnabled": "No providers enabled",
|
|
"@downloadProvidersNoneEnabled": {
|
|
"description": "Shown when no lyrics providers are active"
|
|
},
|
|
"downloadMusixmatchLanguageCode": "Language code",
|
|
"@downloadMusixmatchLanguageCode": {
|
|
"description": "Label for Musixmatch language input field"
|
|
},
|
|
"downloadMusixmatchLanguageHint": "e.g. en, de, ja",
|
|
"@downloadMusixmatchLanguageHint": {
|
|
"description": "Placeholder for Musixmatch language input"
|
|
},
|
|
"downloadMusixmatchLanguageDesc": "Enter a BCP-47 language code (e.g. en, de, ja) to request translated lyrics from Musixmatch.",
|
|
"@downloadMusixmatchLanguageDesc": {
|
|
"description": "Description in Musixmatch language picker"
|
|
},
|
|
"downloadMusixmatchAuto": "Auto",
|
|
"@downloadMusixmatchAuto": {
|
|
"description": "Button to clear Musixmatch language (use auto)"
|
|
},
|
|
"downloadNetworkAnySubtitle": "Use WiFi or mobile data",
|
|
"@downloadNetworkAnySubtitle": {
|
|
"description": "Subtitle for any-network option in picker"
|
|
},
|
|
"downloadNetworkWifiOnlySubtitle": "Downloads pause when on mobile data",
|
|
"@downloadNetworkWifiOnlySubtitle": {
|
|
"description": "Subtitle for WiFi-only option in picker"
|
|
},
|
|
"downloadSongLinkRegionDesc": "Region used when resolving track links via SongLink. Choose the country where your streaming services are available.",
|
|
"@downloadSongLinkRegionDesc": {
|
|
"description": "Description in SongLink region picker"
|
|
},
|
|
"snackbarUnsupportedAudioFormat": "Unsupported audio format",
|
|
"@snackbarUnsupportedAudioFormat": {
|
|
"description": "Snackbar when the audio format is not supported for the requested operation"
|
|
},
|
|
"cacheRefresh": "Refresh",
|
|
"@cacheRefresh": {
|
|
"description": "Tooltip for refresh button on cache management page"
|
|
},
|
|
"dialogDownloadPlaylistsMessage": "Download {trackCount} {trackCount, plural, =1{track} other{tracks}} from {playlistCount} {playlistCount, plural, =1{playlist} other{playlists}}?",
|
|
"@dialogDownloadPlaylistsMessage": {
|
|
"description": "Dialog message for bulk playlist download confirmation",
|
|
"placeholders": {
|
|
"trackCount": {
|
|
"type": "int"
|
|
},
|
|
"playlistCount": {
|
|
"type": "int"
|
|
}
|
|
}
|
|
},
|
|
"bulkDownloadPlaylistsButton": "Download {count} {count, plural, =1{playlist} other{playlists}}",
|
|
"@bulkDownloadPlaylistsButton": {
|
|
"description": "Button label for bulk downloading selected playlists",
|
|
"placeholders": {
|
|
"count": {
|
|
"type": "int"
|
|
}
|
|
}
|
|
},
|
|
"bulkDownloadSelectPlaylists": "Select playlists to download",
|
|
"@bulkDownloadSelectPlaylists": {
|
|
"description": "Button label when no playlists are selected for download"
|
|
},
|
|
"snackbarSelectedPlaylistsEmpty": "Selected playlists have no tracks",
|
|
"@snackbarSelectedPlaylistsEmpty": {
|
|
"description": "Snackbar when selected playlists contain no tracks"
|
|
},
|
|
"playlistsCount": "{count, plural, =1{1 playlist} other{{count} playlists}}",
|
|
"@playlistsCount": {
|
|
"description": "Playlist count display",
|
|
"placeholders": {
|
|
"count": {
|
|
"type": "int"
|
|
}
|
|
}
|
|
},
|
|
"editMetadataAutoFill": "Auto-fill from online",
|
|
"@editMetadataAutoFill": {
|
|
"description": "Section title for selective online metadata auto-fill in the edit metadata sheet"
|
|
},
|
|
"editMetadataAutoFillDesc": "Select fields to fill automatically from online metadata",
|
|
"@editMetadataAutoFillDesc": {
|
|
"description": "Description for the auto-fill section"
|
|
},
|
|
"editMetadataAutoFillFetch": "Fetch & Fill",
|
|
"@editMetadataAutoFillFetch": {
|
|
"description": "Button label to fetch online metadata and fill selected fields"
|
|
},
|
|
"editMetadataAutoFillSearching": "Searching online...",
|
|
"@editMetadataAutoFillSearching": {
|
|
"description": "Snackbar shown while searching for online metadata"
|
|
},
|
|
"editMetadataAutoFillNoResults": "No matching metadata found online",
|
|
"@editMetadataAutoFillNoResults": {
|
|
"description": "Snackbar when online metadata search returns no results"
|
|
},
|
|
"editMetadataAutoFillDone": "Filled {count} {count, plural, =1{field} other{fields}} from online metadata",
|
|
"@editMetadataAutoFillDone": {
|
|
"description": "Snackbar confirming how many fields were auto-filled",
|
|
"placeholders": {
|
|
"count": {
|
|
"type": "int"
|
|
}
|
|
}
|
|
},
|
|
"editMetadataAutoFillNoneSelected": "Select at least one field to auto-fill",
|
|
"@editMetadataAutoFillNoneSelected": {
|
|
"description": "Snackbar when user taps Fetch without selecting any fields"
|
|
},
|
|
"editMetadataFieldTitle": "Title",
|
|
"@editMetadataFieldTitle": {
|
|
"description": "Chip label for title field in auto-fill selector"
|
|
},
|
|
"editMetadataFieldArtist": "Artist",
|
|
"@editMetadataFieldArtist": {
|
|
"description": "Chip label for artist field in auto-fill selector"
|
|
},
|
|
"editMetadataFieldAlbum": "Album",
|
|
"@editMetadataFieldAlbum": {
|
|
"description": "Chip label for album field in auto-fill selector"
|
|
},
|
|
"editMetadataFieldAlbumArtist": "Album Artist",
|
|
"@editMetadataFieldAlbumArtist": {
|
|
"description": "Chip label for album artist field in auto-fill selector"
|
|
},
|
|
"editMetadataFieldDate": "Date",
|
|
"@editMetadataFieldDate": {
|
|
"description": "Chip label for date field in auto-fill selector"
|
|
},
|
|
"editMetadataFieldTrackNum": "Track #",
|
|
"@editMetadataFieldTrackNum": {
|
|
"description": "Chip label for track number field in auto-fill selector"
|
|
},
|
|
"editMetadataFieldDiscNum": "Disc #",
|
|
"@editMetadataFieldDiscNum": {
|
|
"description": "Chip label for disc number field in auto-fill selector"
|
|
},
|
|
"editMetadataFieldGenre": "Genre",
|
|
"@editMetadataFieldGenre": {
|
|
"description": "Chip label for genre field in auto-fill selector"
|
|
},
|
|
"editMetadataFieldIsrc": "ISRC",
|
|
"@editMetadataFieldIsrc": {
|
|
"description": "Chip label for ISRC field in auto-fill selector"
|
|
},
|
|
"editMetadataFieldLabel": "Label",
|
|
"@editMetadataFieldLabel": {
|
|
"description": "Chip label for label field in auto-fill selector"
|
|
},
|
|
"editMetadataFieldCopyright": "Copyright",
|
|
"@editMetadataFieldCopyright": {
|
|
"description": "Chip label for copyright field in auto-fill selector"
|
|
},
|
|
"editMetadataFieldCover": "Cover Art",
|
|
"@editMetadataFieldCover": {
|
|
"description": "Chip label for cover art field in auto-fill selector"
|
|
},
|
|
"editMetadataSelectAll": "All",
|
|
"@editMetadataSelectAll": {
|
|
"description": "Button to select all fields for auto-fill"
|
|
},
|
|
"editMetadataSelectEmpty": "Empty only",
|
|
"@editMetadataSelectEmpty": {
|
|
"description": "Button to select only fields that are currently empty"
|
|
},
|
|
"queueDownloadingCount": "Downloading ({count})",
|
|
"@queueDownloadingCount": {
|
|
"description": "Header for active downloads section with count",
|
|
"placeholders": {
|
|
"count": {
|
|
"type": "int"
|
|
}
|
|
}
|
|
},
|
|
"queueDownloadedHeader": "Downloaded",
|
|
"@queueDownloadedHeader": {
|
|
"description": "Header label for downloaded items section in library"
|
|
},
|
|
"queueFilteringIndicator": "Filtering...",
|
|
"@queueFilteringIndicator": {
|
|
"description": "Shown while filter results are being computed"
|
|
},
|
|
"queueTrackCount": "{count, plural, =1{1 track} other{{count} tracks}}",
|
|
"@queueTrackCount": {
|
|
"description": "Track count label with plural support",
|
|
"placeholders": {
|
|
"count": {
|
|
"type": "int"
|
|
}
|
|
}
|
|
},
|
|
"queueAlbumCount": "{count, plural, =1{1 album} other{{count} albums}}",
|
|
"@queueAlbumCount": {
|
|
"description": "Album count label with plural support",
|
|
"placeholders": {
|
|
"count": {
|
|
"type": "int"
|
|
}
|
|
}
|
|
},
|
|
"queueEmptyAlbums": "No album downloads",
|
|
"@queueEmptyAlbums": {
|
|
"description": "Empty state title when no album downloads exist"
|
|
},
|
|
"queueEmptyAlbumsSubtitle": "Download multiple tracks from an album to see them here",
|
|
"@queueEmptyAlbumsSubtitle": {
|
|
"description": "Empty state subtitle for album downloads"
|
|
},
|
|
"queueEmptySingles": "No single downloads",
|
|
"@queueEmptySingles": {
|
|
"description": "Empty state title when no single track downloads exist"
|
|
},
|
|
"queueEmptySinglesSubtitle": "Single track downloads will appear here",
|
|
"@queueEmptySinglesSubtitle": {
|
|
"description": "Empty state subtitle for single track downloads"
|
|
},
|
|
"queueEmptyHistory": "No download history",
|
|
"@queueEmptyHistory": {
|
|
"description": "Empty state title when download history is empty"
|
|
},
|
|
"queueEmptyHistorySubtitle": "Downloaded tracks will appear here",
|
|
"@queueEmptyHistorySubtitle": {
|
|
"description": "Empty state subtitle for download history"
|
|
},
|
|
"selectionAllPlaylistsSelected": "All playlists selected",
|
|
"@selectionAllPlaylistsSelected": {
|
|
"description": "Shown when all playlists are selected in selection mode"
|
|
},
|
|
"selectionTapPlaylistsToSelect": "Tap playlists to select",
|
|
"@selectionTapPlaylistsToSelect": {
|
|
"description": "Hint shown in playlist selection mode"
|
|
},
|
|
"selectionSelectPlaylistsToDelete": "Select playlists to delete",
|
|
"@selectionSelectPlaylistsToDelete": {
|
|
"description": "Hint shown when no playlists are selected for deletion"
|
|
},
|
|
"audioAnalysisTitle": "Audio Quality Analysis",
|
|
"@audioAnalysisTitle": {
|
|
"description": "Title for audio analysis section"
|
|
},
|
|
"audioAnalysisDescription": "Verify lossless quality with spectrum analysis",
|
|
"@audioAnalysisDescription": {
|
|
"description": "Description for audio analysis tap-to-analyze prompt"
|
|
},
|
|
"audioAnalysisAnalyzing": "Analyzing audio...",
|
|
"@audioAnalysisAnalyzing": {
|
|
"description": "Loading text while analyzing audio"
|
|
},
|
|
"audioAnalysisSampleRate": "Sample Rate",
|
|
"@audioAnalysisSampleRate": {
|
|
"description": "Sample rate metric label"
|
|
},
|
|
"audioAnalysisCodec": "Codec",
|
|
"@audioAnalysisCodec": {
|
|
"description": "Audio codec metric label"
|
|
},
|
|
"audioAnalysisContainer": "Container",
|
|
"@audioAnalysisContainer": {
|
|
"description": "Audio container metric label"
|
|
},
|
|
"audioAnalysisDecodedFormat": "Decoded Format",
|
|
"@audioAnalysisDecodedFormat": {
|
|
"description": "Decoded sample format metric label"
|
|
},
|
|
"audioAnalysisBitDepth": "Bit Depth",
|
|
"@audioAnalysisBitDepth": {
|
|
"description": "Bit depth metric label"
|
|
},
|
|
"audioAnalysisChannels": "Channels",
|
|
"@audioAnalysisChannels": {
|
|
"description": "Channels metric label"
|
|
},
|
|
"audioAnalysisDuration": "Duration",
|
|
"@audioAnalysisDuration": {
|
|
"description": "Duration metric label"
|
|
},
|
|
"audioAnalysisNyquist": "Nyquist",
|
|
"@audioAnalysisNyquist": {
|
|
"description": "Nyquist frequency metric label"
|
|
},
|
|
"audioAnalysisFileSize": "Size",
|
|
"@audioAnalysisFileSize": {
|
|
"description": "File size metric label"
|
|
},
|
|
"audioAnalysisDynamicRange": "Dynamic Range",
|
|
"@audioAnalysisDynamicRange": {
|
|
"description": "Dynamic range metric label"
|
|
},
|
|
"audioAnalysisPeak": "Peak",
|
|
"@audioAnalysisPeak": {
|
|
"description": "Peak amplitude metric label"
|
|
},
|
|
"audioAnalysisRms": "RMS",
|
|
"@audioAnalysisRms": {
|
|
"description": "RMS level metric label"
|
|
},
|
|
"audioAnalysisLufs": "LUFS",
|
|
"@audioAnalysisLufs": {
|
|
"description": "Integrated loudness metric label"
|
|
},
|
|
"audioAnalysisTruePeak": "True Peak",
|
|
"@audioAnalysisTruePeak": {
|
|
"description": "True peak metric label"
|
|
},
|
|
"audioAnalysisClipping": "Clipping",
|
|
"@audioAnalysisClipping": {
|
|
"description": "Clipping metric label"
|
|
},
|
|
"audioAnalysisNoClipping": "No clipping",
|
|
"@audioAnalysisNoClipping": {
|
|
"description": "Displayed when no clipped samples were detected"
|
|
},
|
|
"audioAnalysisSpectralCutoff": "Spectral Cutoff",
|
|
"@audioAnalysisSpectralCutoff": {
|
|
"description": "Estimated spectral cutoff metric label"
|
|
},
|
|
"audioAnalysisChannelStats": "Per-channel Stats",
|
|
"@audioAnalysisChannelStats": {
|
|
"description": "Per-channel audio analysis section label"
|
|
},
|
|
"audioAnalysisSamples": "Samples",
|
|
"@audioAnalysisSamples": {
|
|
"description": "Total samples metric label"
|
|
},
|
|
"audioAnalysisRescan": "Re-analyze",
|
|
"@audioAnalysisRescan": {
|
|
"description": "Tooltip/label for the button that re-runs the audio analysis, discarding cached results"
|
|
},
|
|
"audioAnalysisRescanning": "Re-analyzing audio...",
|
|
"@audioAnalysisRescanning": {
|
|
"description": "Loading text while audio is being re-analyzed after an explicit refresh"
|
|
},
|
|
"extensionsSearchWith": "Search with {providerName}",
|
|
"@extensionsSearchWith": {
|
|
"description": "Extensions page - subtitle for default metadata search provider option",
|
|
"placeholders": {
|
|
"providerName": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
"extensionsHomeFeedProvider": "Home Feed Provider",
|
|
"@extensionsHomeFeedProvider": {
|
|
"description": "Extensions page - label for home feed provider selector"
|
|
},
|
|
"extensionsHomeFeedDescription": "Choose which extension provides the home feed on the main screen",
|
|
"@extensionsHomeFeedDescription": {
|
|
"description": "Extensions page - description for home feed provider picker"
|
|
},
|
|
"extensionsHomeFeedAuto": "Auto",
|
|
"@extensionsHomeFeedAuto": {
|
|
"description": "Label for auto-selected search provider"
|
|
},
|
|
"extensionsHomeFeedAutoSubtitle": "Automatically select the best available",
|
|
"@extensionsHomeFeedAutoSubtitle": {
|
|
"description": "Extensions page - subtitle for auto home feed option"
|
|
},
|
|
"extensionsHomeFeedOff": "Off",
|
|
"@extensionsHomeFeedOff": {
|
|
"description": "Extensions page - home feed provider option: off"
|
|
},
|
|
"extensionsHomeFeedOffSubtitle": "Do not show the home feed on the main screen",
|
|
"@extensionsHomeFeedOffSubtitle": {
|
|
"description": "Extensions page - subtitle for off home feed option"
|
|
},
|
|
"extensionsHomeFeedUse": "Use {extensionName} home feed",
|
|
"@extensionsHomeFeedUse": {
|
|
"description": "Extensions page - subtitle for a specific extension home feed option",
|
|
"placeholders": {
|
|
"extensionName": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
"extensionsNoHomeFeedExtensions": "No extensions with home feed",
|
|
"@extensionsNoHomeFeedExtensions": {
|
|
"description": "Extensions page - shown when no installed extension has home feed"
|
|
},
|
|
"sortAlphaAsc": "A-Z",
|
|
"@sortAlphaAsc": {
|
|
"description": "Sort option - alphabetical ascending"
|
|
},
|
|
"sortAlphaDesc": "Z-A",
|
|
"@sortAlphaDesc": {
|
|
"description": "Sort option - alphabetical descending"
|
|
},
|
|
"cancelDownloadTitle": "Cancel download?",
|
|
"@cancelDownloadTitle": {
|
|
"description": "Dialog title when confirming cancellation of an active download"
|
|
},
|
|
"cancelDownloadContent": "This will cancel the active download for \"{trackName}\".",
|
|
"@cancelDownloadContent": {
|
|
"description": "Dialog body when confirming cancellation of an active download",
|
|
"placeholders": {
|
|
"trackName": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
"cancelDownloadKeep": "Keep",
|
|
"@cancelDownloadKeep": {
|
|
"description": "Dialog button - keep the active download (do not cancel)"
|
|
},
|
|
"metadataSaveFailedFfmpeg": "Failed to save metadata via FFmpeg",
|
|
"@metadataSaveFailedFfmpeg": {
|
|
"description": "Snackbar error when FFmpeg fails to write metadata"
|
|
},
|
|
"metadataSaveFailedStorage": "Failed to write metadata back to storage",
|
|
"@metadataSaveFailedStorage": {
|
|
"description": "Snackbar error when writing metadata file back to storage fails"
|
|
},
|
|
"snackbarFolderPickerFailed": "Failed to open folder picker: {error}",
|
|
"@snackbarFolderPickerFailed": {
|
|
"description": "Snackbar shown when folder picker fails to open",
|
|
"placeholders": {
|
|
"error": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
"errorLoadAlbum": "Failed to load album",
|
|
"@errorLoadAlbum": {
|
|
"description": "Error state shown when album fails to load"
|
|
},
|
|
"errorLoadPlaylist": "Failed to load playlist",
|
|
"@errorLoadPlaylist": {
|
|
"description": "Error state shown when playlist fails to load"
|
|
},
|
|
"errorLoadArtist": "Failed to load artist",
|
|
"@errorLoadArtist": {
|
|
"description": "Error state shown when artist fails to load"
|
|
},
|
|
"notifChannelDownloadName": "Download Progress",
|
|
"@notifChannelDownloadName": {
|
|
"description": "Android notification channel name for download progress"
|
|
},
|
|
"notifChannelDownloadDesc": "Shows download progress for tracks",
|
|
"@notifChannelDownloadDesc": {
|
|
"description": "Android notification channel description for download progress"
|
|
},
|
|
"notifChannelLibraryScanName": "Library Scan",
|
|
"@notifChannelLibraryScanName": {
|
|
"description": "Android notification channel name for library scan"
|
|
},
|
|
"notifChannelLibraryScanDesc": "Shows local library scan progress",
|
|
"@notifChannelLibraryScanDesc": {
|
|
"description": "Android notification channel description for library scan"
|
|
},
|
|
"notifDownloadingTrack": "Downloading {trackName}",
|
|
"@notifDownloadingTrack": {
|
|
"description": "Notification title while downloading a track",
|
|
"placeholders": {
|
|
"trackName": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
"notifFinalizingTrack": "Finalizing {trackName}",
|
|
"@notifFinalizingTrack": {
|
|
"description": "Notification title while finalizing (embedding metadata) a track",
|
|
"placeholders": {
|
|
"trackName": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
"notifEmbeddingMetadata": "Embedding metadata...",
|
|
"@notifEmbeddingMetadata": {
|
|
"description": "Notification body while embedding metadata into a downloaded track"
|
|
},
|
|
"notifAlreadyInLibraryCount": "Already in Library ({completed}/{total})",
|
|
"@notifAlreadyInLibraryCount": {
|
|
"description": "Notification title when track is already in library, with count",
|
|
"placeholders": {
|
|
"completed": {
|
|
"type": "int"
|
|
},
|
|
"total": {
|
|
"type": "int"
|
|
}
|
|
}
|
|
},
|
|
"notifAlreadyInLibrary": "Already in Library",
|
|
"@notifAlreadyInLibrary": {
|
|
"description": "Notification title when track is already in library"
|
|
},
|
|
"notifDownloadCompleteCount": "Download Complete ({completed}/{total})",
|
|
"@notifDownloadCompleteCount": {
|
|
"description": "Notification title when download is complete, with count",
|
|
"placeholders": {
|
|
"completed": {
|
|
"type": "int"
|
|
},
|
|
"total": {
|
|
"type": "int"
|
|
}
|
|
}
|
|
},
|
|
"notifDownloadComplete": "Download Complete",
|
|
"@notifDownloadComplete": {
|
|
"description": "Notification title when a single download is complete"
|
|
},
|
|
"notifDownloadsFinished": "Downloads Finished ({completed} done, {failed} failed)",
|
|
"@notifDownloadsFinished": {
|
|
"description": "Notification title when queue finishes with some failures",
|
|
"placeholders": {
|
|
"completed": {
|
|
"type": "int"
|
|
},
|
|
"failed": {
|
|
"type": "int"
|
|
}
|
|
}
|
|
},
|
|
"notifAllDownloadsComplete": "All Downloads Complete",
|
|
"@notifAllDownloadsComplete": {
|
|
"description": "Notification title when all downloads finish successfully"
|
|
},
|
|
"notifTracksDownloadedSuccess": "{count, plural, =1{1 track downloaded successfully} other{{count} tracks downloaded successfully}}",
|
|
"@notifTracksDownloadedSuccess": {
|
|
"description": "Notification body for queue complete - how many tracks were downloaded",
|
|
"placeholders": {
|
|
"count": {
|
|
"type": "int"
|
|
}
|
|
}
|
|
},
|
|
"notifDownloadsFinishedBody": "{completed, plural, =1{1 track downloaded} other{{completed} tracks downloaded}}, {failed, plural, =1{1 failed} other{{failed} failed}}",
|
|
"@notifDownloadsFinishedBody": {
|
|
"description": "Notification body when queue finishes with failures",
|
|
"placeholders": {
|
|
"completed": {
|
|
"type": "int"
|
|
},
|
|
"failed": {
|
|
"type": "int"
|
|
}
|
|
}
|
|
},
|
|
"notifDownloadsCanceledTitle": "Downloads canceled",
|
|
"@notifDownloadsCanceledTitle": {
|
|
"description": "Notification title when downloads are canceled by the user"
|
|
},
|
|
"notifDownloadsCanceledBody": "{count, plural, =1{1 download canceled by user} other{{count} downloads canceled by user}}",
|
|
"@notifDownloadsCanceledBody": {
|
|
"description": "Notification body when downloads are canceled by the user",
|
|
"placeholders": {
|
|
"count": {
|
|
"type": "int"
|
|
}
|
|
}
|
|
},
|
|
"notifScanningLibrary": "Scanning local library",
|
|
"@notifScanningLibrary": {
|
|
"description": "Notification title while scanning local library"
|
|
},
|
|
"notifLibraryScanProgressWithTotal": "{scanned}/{total} files • {percentage}%",
|
|
"@notifLibraryScanProgressWithTotal": {
|
|
"description": "Notification body for library scan progress when total is known",
|
|
"placeholders": {
|
|
"scanned": {
|
|
"type": "int"
|
|
},
|
|
"total": {
|
|
"type": "int"
|
|
},
|
|
"percentage": {
|
|
"type": "int"
|
|
}
|
|
}
|
|
},
|
|
"notifLibraryScanProgressNoTotal": "{scanned} files scanned • {percentage}%",
|
|
"@notifLibraryScanProgressNoTotal": {
|
|
"description": "Notification body for library scan progress when total is unknown",
|
|
"placeholders": {
|
|
"scanned": {
|
|
"type": "int"
|
|
},
|
|
"percentage": {
|
|
"type": "int"
|
|
}
|
|
}
|
|
},
|
|
"notifLibraryScanComplete": "Library scan complete",
|
|
"@notifLibraryScanComplete": {
|
|
"description": "Notification title when library scan finishes"
|
|
},
|
|
"notifLibraryScanCompleteBody": "{count} tracks indexed",
|
|
"@notifLibraryScanCompleteBody": {
|
|
"description": "Notification body for library scan complete - number of indexed tracks",
|
|
"placeholders": {
|
|
"count": {
|
|
"type": "int"
|
|
}
|
|
}
|
|
},
|
|
"notifLibraryScanExcluded": "{count} excluded",
|
|
"@notifLibraryScanExcluded": {
|
|
"description": "Library scan complete suffix - excluded track count",
|
|
"placeholders": {
|
|
"count": {
|
|
"type": "int"
|
|
}
|
|
}
|
|
},
|
|
"notifLibraryScanErrors": "{count} errors",
|
|
"@notifLibraryScanErrors": {
|
|
"description": "Library scan complete suffix - error count",
|
|
"placeholders": {
|
|
"count": {
|
|
"type": "int"
|
|
}
|
|
}
|
|
},
|
|
"notifLibraryScanFailed": "Library scan failed",
|
|
"@notifLibraryScanFailed": {
|
|
"description": "Notification title when library scan fails"
|
|
},
|
|
"notifLibraryScanCancelled": "Library scan cancelled",
|
|
"@notifLibraryScanCancelled": {
|
|
"description": "Notification title when library scan is cancelled by the user"
|
|
},
|
|
"notifLibraryScanStopped": "Scan stopped before completion.",
|
|
"@notifLibraryScanStopped": {
|
|
"description": "Notification body when library scan is cancelled"
|
|
},
|
|
"notifDownloadingUpdate": "Downloading SpotiFLAC Mobile v{version}",
|
|
"@notifDownloadingUpdate": {
|
|
"description": "Notification title while downloading an app update",
|
|
"placeholders": {
|
|
"version": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
"notifUpdateProgress": "{received} / {total} MB • {percentage}%",
|
|
"@notifUpdateProgress": {
|
|
"description": "Notification body showing update download progress",
|
|
"placeholders": {
|
|
"received": {
|
|
"type": "String"
|
|
},
|
|
"total": {
|
|
"type": "String"
|
|
},
|
|
"percentage": {
|
|
"type": "int"
|
|
}
|
|
}
|
|
},
|
|
"notifUpdateReady": "Update Ready",
|
|
"@notifUpdateReady": {
|
|
"description": "Notification title when app update download is complete"
|
|
},
|
|
"notifUpdateReadyBody": "SpotiFLAC Mobile v{version} downloaded. Tap to install.",
|
|
"@notifUpdateReadyBody": {
|
|
"description": "Notification body when app update is ready to install",
|
|
"placeholders": {
|
|
"version": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
"notifUpdateFailed": "Update Failed",
|
|
"@notifUpdateFailed": {
|
|
"description": "Notification title when app update download fails"
|
|
},
|
|
"notifUpdateFailedBody": "Could not download update. Try again later.",
|
|
"@notifUpdateFailedBody": {
|
|
"description": "Notification body when app update download fails"
|
|
},
|
|
"searchTracks": "Tracks",
|
|
"@searchTracks": {
|
|
"description": "Search filter label - tracks"
|
|
},
|
|
"homeSearchHintDefault": "Paste supported URL or search...",
|
|
"@homeSearchHintDefault": {
|
|
"description": "Default placeholder for the main search field on Home"
|
|
},
|
|
"homeSearchHintProvider": "Search with {providerName}...",
|
|
"@homeSearchHintProvider": {
|
|
"description": "Placeholder for the main search field when a provider is selected",
|
|
"placeholders": {
|
|
"providerName": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
"homeImportCsvTooltip": "Import CSV",
|
|
"@homeImportCsvTooltip": {
|
|
"description": "Tooltip for importing a CSV file into Home search"
|
|
},
|
|
"homeChangeSearchProviderTooltip": "Change search provider",
|
|
"@homeChangeSearchProviderTooltip": {
|
|
"description": "Tooltip for the Home search provider picker"
|
|
},
|
|
"actionPaste": "Paste",
|
|
"@actionPaste": {
|
|
"description": "Generic action - paste from clipboard"
|
|
},
|
|
"searchTracksHint": "Search tracks...",
|
|
"@searchTracksHint": {
|
|
"description": "Placeholder for the search screen input"
|
|
},
|
|
"searchTracksEmptyPrompt": "Search for tracks",
|
|
"@searchTracksEmptyPrompt": {
|
|
"description": "Empty-state prompt on the search screen"
|
|
},
|
|
"tutorialSearchHint": "Paste or search...",
|
|
"@tutorialSearchHint": {
|
|
"description": "Placeholder shown in the tutorial search demo"
|
|
},
|
|
"tutorialDownloadCompletedSemantics": "Download completed",
|
|
"@tutorialDownloadCompletedSemantics": {
|
|
"description": "Accessibility label for completed download state in tutorial demo"
|
|
},
|
|
"tutorialDownloadInProgressSemantics": "Download in progress",
|
|
"@tutorialDownloadInProgressSemantics": {
|
|
"description": "Accessibility label for active download state in tutorial demo"
|
|
},
|
|
"tutorialStartDownloadSemantics": "Start download",
|
|
"@tutorialStartDownloadSemantics": {
|
|
"description": "Accessibility label for idle download button in tutorial demo"
|
|
},
|
|
"optionsEmbedMetadata": "Embed Metadata",
|
|
"@optionsEmbedMetadata": {
|
|
"description": "Settings toggle title for writing metadata into downloaded files"
|
|
},
|
|
"optionsEmbedMetadataSubtitleOn": "Write metadata, cover art, and embedded lyrics to files",
|
|
"@optionsEmbedMetadataSubtitleOn": {
|
|
"description": "Subtitle when metadata embedding is enabled"
|
|
},
|
|
"optionsEmbedMetadataSubtitleOff": "Disabled (advanced): skip all metadata embedding",
|
|
"@optionsEmbedMetadataSubtitleOff": {
|
|
"description": "Subtitle when metadata embedding is disabled"
|
|
},
|
|
"optionsMaxQualityCoverSubtitleDisabled": "Disabled when metadata embedding is off",
|
|
"@optionsMaxQualityCoverSubtitleDisabled": {
|
|
"description": "Subtitle for max quality cover when metadata embedding is disabled"
|
|
},
|
|
"downloadFilenameHintExample": "{artist} - {title}",
|
|
"@downloadFilenameHintExample": {
|
|
"description": "Example placeholder for the download filename format input"
|
|
},
|
|
"trackCoverNoEmbeddedArt": "No embedded album art found",
|
|
"@trackCoverNoEmbeddedArt": {
|
|
"description": "Message shown when a track file has no embedded cover art"
|
|
},
|
|
"trackCoverReplace": "Replace Cover",
|
|
"@trackCoverReplace": {
|
|
"description": "Button label for replacing selected cover art"
|
|
},
|
|
"trackCoverPick": "Pick Cover",
|
|
"@trackCoverPick": {
|
|
"description": "Button label for selecting cover art"
|
|
},
|
|
"trackCoverClearSelected": "Clear selected cover",
|
|
"@trackCoverClearSelected": {
|
|
"description": "Tooltip for clearing the newly selected cover art"
|
|
},
|
|
"trackCoverCurrent": "Current cover",
|
|
"@trackCoverCurrent": {
|
|
"description": "Label for the currently embedded cover preview"
|
|
},
|
|
"trackCoverSelected": "Selected cover",
|
|
"@trackCoverSelected": {
|
|
"description": "Label for the newly selected cover preview"
|
|
},
|
|
"trackCoverReplaceNotice": "The selected cover will replace the current embedded cover when you tap Save.",
|
|
"@trackCoverReplaceNotice": {
|
|
"description": "Notice shown when a new cover has been selected but not saved yet"
|
|
},
|
|
"actionStop": "Stop",
|
|
"@actionStop": {
|
|
"description": "Generic action - stop"
|
|
},
|
|
"queueFinalizingDownload": "Finalizing download",
|
|
"@queueFinalizingDownload": {
|
|
"description": "Accessibility label for a queue item that is finalizing"
|
|
},
|
|
"queueDownloadedFileMissing": "Downloaded file missing",
|
|
"@queueDownloadedFileMissing": {
|
|
"description": "Accessibility label when a downloaded file is missing from disk"
|
|
},
|
|
"queueDownloadCompleted": "Download completed",
|
|
"@queueDownloadCompleted": {
|
|
"description": "Accessibility label for completed download state in queue"
|
|
},
|
|
"queueRateLimitTitle": "Service rate limited",
|
|
"@queueRateLimitTitle": {
|
|
"description": "Title shown on a failed queue item when the download service rate limits requests"
|
|
},
|
|
"queueRateLimitMessage": "This track may still be available. Wait a few minutes, reduce parallel downloads, then retry.",
|
|
"@queueRateLimitMessage": {
|
|
"description": "Explanation shown on a failed queue item when the download service rate limits requests"
|
|
},
|
|
"appearanceSelectAccentColor": "Select accent color {hex}",
|
|
"@appearanceSelectAccentColor": {
|
|
"description": "Accessibility label for picking an accent color",
|
|
"placeholders": {
|
|
"hex": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
"logAutoScrollOn": "Auto-scroll ON",
|
|
"@logAutoScrollOn": {
|
|
"description": "Tooltip when auto-scroll is enabled on the log screen"
|
|
},
|
|
"logAutoScrollOff": "Auto-scroll OFF",
|
|
"@logAutoScrollOff": {
|
|
"description": "Tooltip when auto-scroll is disabled on the log screen"
|
|
},
|
|
"logCopyLogs": "Copy logs",
|
|
"@logCopyLogs": {
|
|
"description": "Tooltip for copying logs"
|
|
},
|
|
"logClearSearch": "Clear search",
|
|
"@logClearSearch": {
|
|
"description": "Tooltip for clearing the log search field"
|
|
},
|
|
"logIssueIspBlockingLabel": "ISP BLOCKING DETECTED",
|
|
"@logIssueIspBlockingLabel": {
|
|
"description": "Diagnostic badge label when ISP blocking is detected"
|
|
},
|
|
"logIssueIspBlockingDescription": "Your ISP may be blocking access to download services",
|
|
"@logIssueIspBlockingDescription": {
|
|
"description": "Diagnostic badge description for ISP blocking"
|
|
},
|
|
"logIssueIspBlockingSuggestion": "Try using a VPN or change DNS to 1.1.1.1 or 8.8.8.8",
|
|
"@logIssueIspBlockingSuggestion": {
|
|
"description": "Diagnostic badge suggestion for ISP blocking"
|
|
},
|
|
"logIssueRateLimitedLabel": "RATE LIMITED",
|
|
"@logIssueRateLimitedLabel": {
|
|
"description": "Diagnostic badge label when the service rate limits requests"
|
|
},
|
|
"logIssueRateLimitedDescription": "Too many requests to the service",
|
|
"@logIssueRateLimitedDescription": {
|
|
"description": "Diagnostic badge description for rate limiting"
|
|
},
|
|
"logIssueRateLimitedSuggestion": "Wait a few minutes before trying again",
|
|
"@logIssueRateLimitedSuggestion": {
|
|
"description": "Diagnostic badge suggestion for rate limiting"
|
|
},
|
|
"logIssueNetworkErrorLabel": "NETWORK ERROR",
|
|
"@logIssueNetworkErrorLabel": {
|
|
"description": "Diagnostic badge label for generic network errors"
|
|
},
|
|
"logIssueNetworkErrorDescription": "Connection issues detected",
|
|
"@logIssueNetworkErrorDescription": {
|
|
"description": "Diagnostic badge description for generic network errors"
|
|
},
|
|
"logIssueNetworkErrorSuggestion": "Check your internet connection",
|
|
"@logIssueNetworkErrorSuggestion": {
|
|
"description": "Diagnostic badge suggestion for generic network errors"
|
|
},
|
|
"logIssueTrackNotFoundLabel": "TRACK NOT FOUND",
|
|
"@logIssueTrackNotFoundLabel": {
|
|
"description": "Diagnostic badge label when a track is unavailable"
|
|
},
|
|
"logIssueTrackNotFoundDescription": "Some tracks could not be found on download services",
|
|
"@logIssueTrackNotFoundDescription": {
|
|
"description": "Diagnostic badge description when a track is unavailable"
|
|
},
|
|
"logIssueTrackNotFoundSuggestion": "The track may not be available in lossless quality",
|
|
"@logIssueTrackNotFoundSuggestion": {
|
|
"description": "Diagnostic badge suggestion when a track is unavailable"
|
|
},
|
|
"clickableLookingUpArtist": "Looking up artist...",
|
|
"@clickableLookingUpArtist": {
|
|
"description": "Snackbar shown while clickable artist metadata is being resolved"
|
|
},
|
|
"clickableInformationUnavailable": "{type} information not available",
|
|
"@clickableInformationUnavailable": {
|
|
"description": "Snackbar shown when clickable metadata cannot open a destination",
|
|
"placeholders": {
|
|
"type": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
"extensionDetailsTags": "Tags",
|
|
"@extensionDetailsTags": {
|
|
"description": "Section title for extension tags"
|
|
},
|
|
"extensionDetailsInformation": "Information",
|
|
"@extensionDetailsInformation": {
|
|
"description": "Section title for extension metadata information"
|
|
},
|
|
"extensionUtilityFunctions": "Utility Functions",
|
|
"@extensionUtilityFunctions": {
|
|
"description": "Capability label for utility-only extensions"
|
|
},
|
|
"actionDismiss": "Dismiss",
|
|
"@actionDismiss": {
|
|
"description": "Generic action - dismiss"
|
|
},
|
|
"setupChangeFolderTooltip": "Change folder",
|
|
"@setupChangeFolderTooltip": {
|
|
"description": "Tooltip for editing the selected download folder"
|
|
},
|
|
"a11yOpenTrackByArtist": "Open track {trackName} by {artistName}",
|
|
"@a11yOpenTrackByArtist": {
|
|
"description": "Accessibility label for opening a track item",
|
|
"placeholders": {
|
|
"trackName": {
|
|
"type": "String"
|
|
},
|
|
"artistName": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
"a11yOpenItem": "Open {itemType} {name}",
|
|
"@a11yOpenItem": {
|
|
"description": "Accessibility label for opening a generic item",
|
|
"placeholders": {
|
|
"itemType": {
|
|
"type": "String"
|
|
},
|
|
"name": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
"a11yOpenItemCount": "Open {title}, {count} {count, plural, =1{item} other{items}}",
|
|
"@a11yOpenItemCount": {
|
|
"description": "Accessibility label for opening a grouped item with count",
|
|
"placeholders": {
|
|
"title": {
|
|
"type": "String"
|
|
},
|
|
"count": {
|
|
"type": "int"
|
|
}
|
|
}
|
|
},
|
|
"a11yOpenAlbumByArtistTrackCount": "Open album {albumName} by {artistName}, {trackCount} tracks",
|
|
"@a11yOpenAlbumByArtistTrackCount": {
|
|
"description": "Accessibility label for opening an album item with track count",
|
|
"placeholders": {
|
|
"albumName": {
|
|
"type": "String"
|
|
},
|
|
"artistName": {
|
|
"type": "String"
|
|
},
|
|
"trackCount": {
|
|
"type": "int"
|
|
}
|
|
}
|
|
},
|
|
"a11yTrackByArtist": "{trackName} by {artistName}",
|
|
"@a11yTrackByArtist": {
|
|
"description": "Accessibility label for a queue or list track item",
|
|
"placeholders": {
|
|
"trackName": {
|
|
"type": "String"
|
|
},
|
|
"artistName": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
"a11ySelectAlbum": "Select album {albumName}",
|
|
"@a11ySelectAlbum": {
|
|
"description": "Accessibility label for selecting an album",
|
|
"placeholders": {
|
|
"albumName": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
"a11yOpenAlbum": "Open album {albumName}",
|
|
"@a11yOpenAlbum": {
|
|
"description": "Accessibility label for opening an album",
|
|
"placeholders": {
|
|
"albumName": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
"optionsDefaultSearchTabAlbums": "Albums",
|
|
"@optionsDefaultSearchTabAlbums": {
|
|
"description": "Default search tab option - Albums tab"
|
|
},
|
|
"optionsDefaultSearchTabTracks": "Tracks",
|
|
"@optionsDefaultSearchTabTracks": {
|
|
"description": "Default search tab option - Tracks tab"
|
|
},
|
|
"settingsFiles": "Files & Folders",
|
|
"@settingsFiles": {
|
|
"description": "Settings menu item - file and folder settings"
|
|
},
|
|
"settingsFilesSubtitle": "Download location, filename, folder structure",
|
|
"@settingsFilesSubtitle": {
|
|
"description": "Subtitle for files & folders settings"
|
|
},
|
|
"settingsMetadata": "Metadata",
|
|
"@settingsMetadata": {
|
|
"description": "Settings menu item - metadata settings"
|
|
},
|
|
"settingsMetadataSubtitle": "Cover art, tags, ReplayGain, providers",
|
|
"@settingsMetadataSubtitle": {
|
|
"description": "Subtitle for metadata settings"
|
|
},
|
|
"settingsLyrics": "Lyrics",
|
|
"@settingsLyrics": {
|
|
"description": "Settings menu item - lyrics settings"
|
|
},
|
|
"settingsLyricsSubtitle": "Embed, mode, providers, language options",
|
|
"@settingsLyricsSubtitle": {
|
|
"description": "Subtitle for lyrics settings"
|
|
},
|
|
"settingsApp": "App",
|
|
"@settingsApp": {
|
|
"description": "Settings menu item - app settings"
|
|
},
|
|
"settingsAppSubtitle": "Updates, data, extension repo, debug",
|
|
"@settingsAppSubtitle": {
|
|
"description": "Subtitle for app settings"
|
|
},
|
|
"sectionMetadataProviders": "Providers",
|
|
"@sectionMetadataProviders": {
|
|
"description": "Settings section header for metadata providers"
|
|
},
|
|
"sectionDuplicates": "Duplicates",
|
|
"@sectionDuplicates": {
|
|
"description": "Settings section header for deduplication"
|
|
},
|
|
"sectionLyricsProviderOptions": "Provider Options",
|
|
"@sectionLyricsProviderOptions": {
|
|
"description": "Settings section header for per-provider lyrics options"
|
|
},
|
|
"metadataProvidersTitle": "Metadata Provider Priority",
|
|
"@metadataProvidersTitle": {
|
|
"description": "Settings item title for metadata provider order"
|
|
},
|
|
"metadataProvidersSubtitle": "Drag to set search and metadata source order",
|
|
"@metadataProvidersSubtitle": {
|
|
"description": "Subtitle for metadata provider priority item"
|
|
},
|
|
"downloadDeduplication": "Skip Duplicate Downloads",
|
|
"@downloadDeduplication": {
|
|
"description": "Setting - skip tracks already in download history"
|
|
},
|
|
"downloadDeduplicationEnabled": "Already-downloaded tracks will be skipped",
|
|
"@downloadDeduplicationEnabled": {
|
|
"description": "Subtitle when deduplication is on"
|
|
},
|
|
"downloadDeduplicationDisabled": "All tracks will be downloaded regardless of history",
|
|
"@downloadDeduplicationDisabled": {
|
|
"description": "Subtitle when deduplication is off"
|
|
},
|
|
"downloadFallbackExtensions": "Fallback Extensions",
|
|
"@downloadFallbackExtensions": {
|
|
"description": "Settings item for configuring fallback extension providers"
|
|
},
|
|
"downloadFallbackExtensionsSubtitle": "Choose which extensions can be used as fallback",
|
|
"@downloadFallbackExtensionsSubtitle": {
|
|
"description": "Subtitle for fallback extensions item"
|
|
},
|
|
"editMetadataFieldDateHint": "YYYY-MM-DD or YYYY",
|
|
"@editMetadataFieldDateHint": {
|
|
"description": "Hint text for the edit metadata date field"
|
|
},
|
|
"editMetadataFieldTrackTotal": "Track Total",
|
|
"@editMetadataFieldTrackTotal": {
|
|
"description": "Label for total tracks field in the edit metadata sheet"
|
|
},
|
|
"editMetadataFieldDiscTotal": "Disc Total",
|
|
"@editMetadataFieldDiscTotal": {
|
|
"description": "Label for total discs field in the edit metadata sheet"
|
|
},
|
|
"editMetadataFieldComposer": "Composer",
|
|
"@editMetadataFieldComposer": {
|
|
"description": "Label for composer field in the edit metadata sheet"
|
|
},
|
|
"editMetadataFieldComment": "Comment",
|
|
"@editMetadataFieldComment": {
|
|
"description": "Label for comment field in the edit metadata sheet"
|
|
},
|
|
"editMetadataAdvanced": "Advanced",
|
|
"@editMetadataAdvanced": {
|
|
"description": "Expandable section label for advanced metadata fields"
|
|
},
|
|
"libraryFilterMetadataMissingTrackNumber": "Missing track number",
|
|
"@libraryFilterMetadataMissingTrackNumber": {
|
|
"description": "Filter option - items missing track number"
|
|
},
|
|
"libraryFilterMetadataMissingDiscNumber": "Missing disc number",
|
|
"@libraryFilterMetadataMissingDiscNumber": {
|
|
"description": "Filter option - items missing disc number"
|
|
},
|
|
"libraryFilterMetadataMissingArtist": "Missing artist",
|
|
"@libraryFilterMetadataMissingArtist": {
|
|
"description": "Filter option - items missing artist"
|
|
},
|
|
"libraryFilterMetadataIncorrectIsrcFormat": "Incorrect ISRC format",
|
|
"@libraryFilterMetadataIncorrectIsrcFormat": {
|
|
"description": "Filter option - items with an invalid ISRC format"
|
|
},
|
|
"libraryFilterMetadataMissingLabel": "Missing label",
|
|
"@libraryFilterMetadataMissingLabel": {
|
|
"description": "Filter option - items missing record label"
|
|
},
|
|
"collectionDeletePlaylistsMessage": "Delete {count} {count, plural, =1{playlist} other{playlists}}?",
|
|
"@collectionDeletePlaylistsMessage": {
|
|
"description": "Confirmation message for deleting selected playlists",
|
|
"placeholders": {
|
|
"count": {
|
|
"type": "int"
|
|
}
|
|
}
|
|
},
|
|
"collectionPlaylistsDeleted": "{count} {count, plural, =1{playlist} other{playlists}} deleted",
|
|
"@collectionPlaylistsDeleted": {
|
|
"description": "Snackbar after deleting selected playlists",
|
|
"placeholders": {
|
|
"count": {
|
|
"type": "int"
|
|
}
|
|
}
|
|
},
|
|
"collectionAddedTracksToPlaylist": "Added {count} {count, plural, =1{track} other{tracks}} to {playlistName}",
|
|
"@collectionAddedTracksToPlaylist": {
|
|
"description": "Snackbar after adding multiple tracks to a playlist",
|
|
"placeholders": {
|
|
"count": {
|
|
"type": "int"
|
|
},
|
|
"playlistName": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
"collectionAddedTracksToPlaylistWithExisting": "Added {count} {count, plural, =1{track} other{tracks}} to {playlistName} ({alreadyCount} already in playlist)",
|
|
"@collectionAddedTracksToPlaylistWithExisting": {
|
|
"description": "Snackbar after adding multiple tracks to a playlist when some were already present",
|
|
"placeholders": {
|
|
"count": {
|
|
"type": "int"
|
|
},
|
|
"playlistName": {
|
|
"type": "String"
|
|
},
|
|
"alreadyCount": {
|
|
"type": "int"
|
|
}
|
|
}
|
|
},
|
|
"itemCount": "{count} {count, plural, =1{item} other{items}}",
|
|
"@itemCount": {
|
|
"description": "Generic item count label",
|
|
"placeholders": {
|
|
"count": {
|
|
"type": "int"
|
|
}
|
|
}
|
|
},
|
|
"trackReEnrichSuccessWithFailures": "Metadata re-enriched successfully ({successCount}/{total}) - Failed: {failedCount}",
|
|
"@trackReEnrichSuccessWithFailures": {
|
|
"description": "Snackbar summary after batch metadata re-enrichment finishes with failures",
|
|
"placeholders": {
|
|
"successCount": {
|
|
"type": "int"
|
|
},
|
|
"total": {
|
|
"type": "int"
|
|
},
|
|
"failedCount": {
|
|
"type": "int"
|
|
}
|
|
}
|
|
},
|
|
"selectionDeleteTracksCount": "Delete {count} {count, plural, =1{track} other{tracks}}",
|
|
"@selectionDeleteTracksCount": {
|
|
"description": "Button label for deleting selected tracks",
|
|
"placeholders": {
|
|
"count": {
|
|
"type": "int"
|
|
}
|
|
}
|
|
},
|
|
"queueDownloadSpeedStatus": "Downloading - {speed} MB/s",
|
|
"@queueDownloadSpeedStatus": {
|
|
"description": "Queue status while downloading with speed",
|
|
"placeholders": {
|
|
"speed": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
"queueDownloadStarting": "Starting...",
|
|
"@queueDownloadStarting": {
|
|
"description": "Queue status before download progress is available"
|
|
},
|
|
"a11ySelectTrack": "Select track",
|
|
"@a11ySelectTrack": {
|
|
"description": "Accessibility label for selecting a track"
|
|
},
|
|
"a11yDeselectTrack": "Deselect track",
|
|
"@a11yDeselectTrack": {
|
|
"description": "Accessibility label for deselecting a track"
|
|
},
|
|
"a11yPlayTrackByArtist": "Play {trackName} by {artistName}",
|
|
"@a11yPlayTrackByArtist": {
|
|
"description": "Accessibility label for playing a local library track",
|
|
"placeholders": {
|
|
"trackName": {
|
|
"type": "String"
|
|
},
|
|
"artistName": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
"storeExtensionsCount": "{count} {count, plural, =1{extension} other{extensions}}",
|
|
"@storeExtensionsCount": {
|
|
"description": "Store extension result count",
|
|
"placeholders": {
|
|
"count": {
|
|
"type": "int"
|
|
}
|
|
}
|
|
},
|
|
"storeRequiresVersion": "Requires v{version}+",
|
|
"@storeRequiresVersion": {
|
|
"description": "Store compatibility badge for minimum app version",
|
|
"placeholders": {
|
|
"version": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
"actionGo": "Go",
|
|
"@actionGo": {
|
|
"description": "Generic action button label"
|
|
},
|
|
"logIssueSummary": "Issue Summary",
|
|
"@logIssueSummary": {
|
|
"description": "Header for log issue analysis summary"
|
|
},
|
|
"logTotalErrors": "Total errors: {count}",
|
|
"@logTotalErrors": {
|
|
"description": "Total error count in log issue analysis",
|
|
"placeholders": {
|
|
"count": {
|
|
"type": "int"
|
|
}
|
|
}
|
|
},
|
|
"logAffectedDomains": "Affected: {domains}",
|
|
"@logAffectedDomains": {
|
|
"description": "Affected domains in log issue analysis",
|
|
"placeholders": {
|
|
"domains": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
"libraryScanCancelled": "Scan cancelled",
|
|
"@libraryScanCancelled": {
|
|
"description": "Library scan status when a scan was cancelled"
|
|
},
|
|
"libraryScanCancelledSubtitle": "You can retry the scan when ready.",
|
|
"@libraryScanCancelledSubtitle": {
|
|
"description": "Library scan status subtitle after cancellation"
|
|
},
|
|
"libraryDownloadsHistoryExcluded": "{count} from Downloads history (excluded from list)",
|
|
"@libraryDownloadsHistoryExcluded": {
|
|
"description": "Library count note for downloaded history items excluded from the local list",
|
|
"placeholders": {
|
|
"count": {
|
|
"type": "int"
|
|
}
|
|
}
|
|
},
|
|
"downloadNativeWorker": "Native download worker",
|
|
"@downloadNativeWorker": {
|
|
"description": "Setting title for Android native download worker"
|
|
},
|
|
"downloadNativeWorkerSubtitle": "Beta Android service worker for extension downloads",
|
|
"@downloadNativeWorkerSubtitle": {
|
|
"description": "Setting subtitle for Android native download worker"
|
|
},
|
|
"badgeBeta": "BETA",
|
|
"@badgeBeta": {
|
|
"description": "Badge label for beta features"
|
|
},
|
|
"extensionServiceStatus": "Service Status",
|
|
"@extensionServiceStatus": {
|
|
"description": "Extension detail section header for service status"
|
|
},
|
|
"extensionServiceHealth": "Service health",
|
|
"@extensionServiceHealth": {
|
|
"description": "Extension capability label for service health checks"
|
|
},
|
|
"extensionHealthChecksConfigured": "{count} {count, plural, =1{check} other{checks}} configured",
|
|
"@extensionHealthChecksConfigured": {
|
|
"description": "Extension service health check count",
|
|
"placeholders": {
|
|
"count": {
|
|
"type": "int"
|
|
}
|
|
}
|
|
},
|
|
"extensionOauthConnectHint": "Tap Connect to Spotify to fill this field.",
|
|
"@extensionOauthConnectHint": {
|
|
"description": "Hint for an OAuth login link field before connecting Spotify"
|
|
},
|
|
"extensionLastChecked": "Last checked {time}",
|
|
"@extensionLastChecked": {
|
|
"description": "Timestamp for the latest extension service health check",
|
|
"placeholders": {
|
|
"time": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
"extensionRefreshStatus": "Refresh status",
|
|
"@extensionRefreshStatus": {
|
|
"description": "Tooltip for refreshing extension service health status"
|
|
},
|
|
"extensionCustomUrlHandling": "Custom URL Handling",
|
|
"@extensionCustomUrlHandling": {
|
|
"description": "Extension detail section title for custom URL handling"
|
|
},
|
|
"extensionCustomUrlHandlingSubtitle": "This extension can handle links from these sites",
|
|
"@extensionCustomUrlHandlingSubtitle": {
|
|
"description": "Extension detail subtitle for custom URL handling"
|
|
},
|
|
"extensionCustomUrlHandlingShareHint": "Share links from these sites to SpotiFLAC Mobile and this extension will handle them.",
|
|
"@extensionCustomUrlHandlingShareHint": {
|
|
"description": "Extension detail hint explaining share-to-app URL handling"
|
|
},
|
|
"extensionSettingsCount": "{count} {count, plural, =1{setting} other{settings}}",
|
|
"@extensionSettingsCount": {
|
|
"description": "Count of settings exposed by an extension quality option",
|
|
"placeholders": {
|
|
"count": {
|
|
"type": "int"
|
|
}
|
|
}
|
|
},
|
|
"extensionHealthOnline": "Online",
|
|
"@extensionHealthOnline": {
|
|
"description": "Extension service health status - online"
|
|
},
|
|
"extensionHealthDegraded": "Degraded",
|
|
"@extensionHealthDegraded": {
|
|
"description": "Extension service health status - degraded"
|
|
},
|
|
"extensionHealthOffline": "Offline",
|
|
"@extensionHealthOffline": {
|
|
"description": "Extension service health status - offline"
|
|
},
|
|
"extensionHealthNotConfigured": "Not configured",
|
|
"@extensionHealthNotConfigured": {
|
|
"description": "Extension service health status - not configured"
|
|
},
|
|
"extensionHealthUnknown": "Unknown",
|
|
"@extensionHealthUnknown": {
|
|
"description": "Extension service health status - unknown"
|
|
},
|
|
"extensionHealthRequired": "required",
|
|
"@extensionHealthRequired": {
|
|
"description": "Label for a required extension service health check"
|
|
},
|
|
"extensionSettingNotSet": "Not set",
|
|
"@extensionSettingNotSet": {
|
|
"description": "Value shown when an extension setting has no value"
|
|
},
|
|
"extensionActionFailed": "Action failed",
|
|
"@extensionActionFailed": {
|
|
"description": "Fallback error when an extension action fails without details"
|
|
},
|
|
"extensionEnterValue": "Enter value",
|
|
"@extensionEnterValue": {
|
|
"description": "Hint for editing an extension setting value"
|
|
},
|
|
"extensionHealthServiceOnline": "Service online",
|
|
"@extensionHealthServiceOnline": {
|
|
"description": "Tooltip for online extension service"
|
|
},
|
|
"extensionHealthServiceDegraded": "Service degraded",
|
|
"@extensionHealthServiceDegraded": {
|
|
"description": "Tooltip for degraded extension service"
|
|
},
|
|
"extensionHealthServiceOffline": "Service offline",
|
|
"@extensionHealthServiceOffline": {
|
|
"description": "Tooltip for offline extension service"
|
|
},
|
|
"extensionHealthServiceUnknown": "Service status unknown",
|
|
"@extensionHealthServiceUnknown": {
|
|
"description": "Tooltip for unknown extension service health"
|
|
},
|
|
"audioAnalysisStereo": "Stereo",
|
|
"@audioAnalysisStereo": {
|
|
"description": "Audio channel layout label - stereo"
|
|
},
|
|
"audioAnalysisMono": "Mono",
|
|
"@audioAnalysisMono": {
|
|
"description": "Audio channel layout label - mono"
|
|
},
|
|
"trackOpenInService": "Open in {serviceName}",
|
|
"@trackOpenInService": {
|
|
"description": "Button label to open a track in a named music service",
|
|
"placeholders": {
|
|
"serviceName": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
"trackLyricsEmbeddedSource": "Embedded",
|
|
"@trackLyricsEmbeddedSource": {
|
|
"description": "Lyrics source label for embedded lyrics"
|
|
},
|
|
"unknownAlbum": "Unknown Album",
|
|
"@unknownAlbum": {
|
|
"description": "Fallback album name when metadata is missing"
|
|
},
|
|
"unknownArtist": "Unknown Artist",
|
|
"@unknownArtist": {
|
|
"description": "Fallback artist name when metadata is missing"
|
|
},
|
|
"permissionAudio": "Audio",
|
|
"@permissionAudio": {
|
|
"description": "Audio permission type label"
|
|
},
|
|
"permissionStorage": "Storage",
|
|
"@permissionStorage": {
|
|
"description": "Storage permission type label"
|
|
},
|
|
"permissionNotification": "Notification",
|
|
"@permissionNotification": {
|
|
"description": "Notification permission type label"
|
|
},
|
|
"errorInvalidFolderSelected": "Invalid folder selected",
|
|
"@errorInvalidFolderSelected": {
|
|
"description": "Error when the selected folder is invalid"
|
|
},
|
|
"errorCouldNotKeepFolderAccess": "Could not keep access to the selected folder",
|
|
"@errorCouldNotKeepFolderAccess": {
|
|
"description": "Error when persistent folder access cannot be saved"
|
|
},
|
|
"storeAnyVersion": "Any",
|
|
"@storeAnyVersion": {
|
|
"description": "Store detail value when any app version is accepted"
|
|
},
|
|
"storeCategoryMetadata": "Metadata",
|
|
"@storeCategoryMetadata": {
|
|
"description": "Store extension category - metadata"
|
|
},
|
|
"storeCategoryDownload": "Download",
|
|
"@storeCategoryDownload": {
|
|
"description": "Store extension category - download"
|
|
},
|
|
"storeCategoryUtility": "Utility",
|
|
"@storeCategoryUtility": {
|
|
"description": "Store extension category - utility"
|
|
},
|
|
"storeCategoryLyrics": "Lyrics",
|
|
"@storeCategoryLyrics": {
|
|
"description": "Store extension category - lyrics"
|
|
},
|
|
"storeCategoryIntegration": "Integration",
|
|
"@storeCategoryIntegration": {
|
|
"description": "Store extension category - integration"
|
|
},
|
|
"artistReleases": "Releases",
|
|
"@artistReleases": {
|
|
"description": "Section header for all artist releases"
|
|
},
|
|
"editMetadataSelectNone": "None",
|
|
"@editMetadataSelectNone": {
|
|
"description": "Button to clear selected fields for auto-fill"
|
|
},
|
|
"queueRetryAllFailed": "Retry {count} failed",
|
|
"@queueRetryAllFailed": {
|
|
"description": "Button to retry every failed download in the queue",
|
|
"placeholders": {
|
|
"count": {
|
|
"type": "int"
|
|
}
|
|
}
|
|
},
|
|
"settingsSaveDownloadHistory": "Save download history",
|
|
"@settingsSaveDownloadHistory": {
|
|
"description": "Settings switch title for storing completed downloads in history"
|
|
},
|
|
"settingsSaveDownloadHistorySubtitle": "Keep completed downloads in history and library views",
|
|
"@settingsSaveDownloadHistorySubtitle": {
|
|
"description": "Settings switch subtitle for storing completed downloads in history"
|
|
},
|
|
"dialogDisableHistoryTitle": "Turn off download history?",
|
|
"@dialogDisableHistoryTitle": {
|
|
"description": "Confirmation dialog title shown before disabling download history"
|
|
},
|
|
"dialogDisableHistoryMessage": "Existing history will be cleared. Downloaded files will not be deleted.",
|
|
"@dialogDisableHistoryMessage": {
|
|
"description": "Confirmation dialog message shown before disabling download history"
|
|
},
|
|
"dialogDisableAndClear": "Turn off and clear",
|
|
"@dialogDisableAndClear": {
|
|
"description": "Confirmation action to disable download history and clear existing entries"
|
|
},
|
|
"openInOtherServices": "Open in Other Services",
|
|
"@openInOtherServices": {
|
|
"description": "Title and tooltip for finding the current collection in other services"
|
|
},
|
|
"shareSheetNoExtensions": "No other compatible services",
|
|
"@shareSheetNoExtensions": {
|
|
"description": "Empty state when no extensions can be searched for cross-service links"
|
|
},
|
|
"shareSheetNotFound": "Not found",
|
|
"@shareSheetNotFound": {
|
|
"description": "Cross-service share sheet row subtitle when a service has no match"
|
|
},
|
|
"shareSheetCopyLink": "Copy Link",
|
|
"@shareSheetCopyLink": {
|
|
"description": "Tooltip for copying a cross-service link"
|
|
},
|
|
"shareSheetLinkCopied": "{service} link copied",
|
|
"@shareSheetLinkCopied": {
|
|
"description": "Snackbar after copying a cross-service link",
|
|
"placeholders": {
|
|
"service": {}
|
|
}
|
|
},
|
|
"libraryPlayback": "Playback",
|
|
"@libraryPlayback": {
|
|
"description": "Section header for playback settings in library settings"
|
|
},
|
|
"libraryExternalPlayer": "External player",
|
|
"@libraryExternalPlayer": {
|
|
"description": "Setting option to use an external music player"
|
|
},
|
|
"libraryExternalPlayerSubtitle": "Recommended for listening, best quality, gapless playback, EQ, and wider format support",
|
|
"@libraryExternalPlayerSubtitle": {
|
|
"description": "Subtitle for external player option"
|
|
},
|
|
"libraryBuiltInPreviewPlayer": "Built-in preview player",
|
|
"@libraryBuiltInPreviewPlayer": {
|
|
"description": "Setting option to use the built-in preview player"
|
|
},
|
|
"libraryBuiltInPreviewPlayerSubtitle": "Only for quick local previews inside SpotiFLAC Mobile, not recommended for regular listening",
|
|
"@libraryBuiltInPreviewPlayerSubtitle": {
|
|
"description": "Subtitle for built-in preview player option"
|
|
},
|
|
"libraryBuiltInPlayerInfo": "The built-in player is a preview tool for checking local tracks quickly. Use an external music player for actual listening.",
|
|
"@libraryBuiltInPlayerInfo": {
|
|
"description": "Info note explaining the built-in player is for previews only"
|
|
},
|
|
"nowPlayingTitle": "Now Playing",
|
|
"@nowPlayingTitle": {
|
|
"description": "Title for the now playing screen"
|
|
},
|
|
"nowPlayingNothingPlaying": "Nothing is playing",
|
|
"@nowPlayingNothingPlaying": {
|
|
"description": "Empty state when no track is currently playing"
|
|
},
|
|
"nowPlayingMinimize": "Minimize",
|
|
"@nowPlayingMinimize": {
|
|
"description": "Tooltip for minimizing the now playing screen"
|
|
},
|
|
"nowPlayingUpNext": "Up next",
|
|
"@nowPlayingUpNext": {
|
|
"description": "Title for the playback queue sheet"
|
|
},
|
|
"nowPlayingDetails": "Details",
|
|
"@nowPlayingDetails": {
|
|
"description": "Menu item and section title for track metadata details"
|
|
},
|
|
"nowPlayingOpenInExternalPlayer": "Open in external player",
|
|
"@nowPlayingOpenInExternalPlayer": {
|
|
"description": "Menu item to open the current track in an external player"
|
|
},
|
|
"nowPlayingTabPlayer": "Player",
|
|
"@nowPlayingTabPlayer": {
|
|
"description": "Tab label for the player view"
|
|
},
|
|
"nowPlayingTabLyrics": "Lyrics",
|
|
"@nowPlayingTabLyrics": {
|
|
"description": "Tab label for the lyrics view"
|
|
},
|
|
"nowPlayingNoLyrics": "No lyrics in this file",
|
|
"@nowPlayingNoLyrics": {
|
|
"description": "Empty state when the playing file has no embedded lyrics"
|
|
},
|
|
"nowPlayingLibraryEmpty": "Your library is empty",
|
|
"@nowPlayingLibraryEmpty": {
|
|
"description": "Snackbar when shuffle library is requested but library has no tracks"
|
|
},
|
|
"nowPlayingShuffleLibraryFailed": "Could not shuffle library: {error}",
|
|
"@nowPlayingShuffleLibraryFailed": {
|
|
"description": "Snackbar when shuffling the library fails",
|
|
"placeholders": {
|
|
"error": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
"nowPlayingShuffleOn": "Shuffle on",
|
|
"@nowPlayingShuffleOn": {
|
|
"description": "Tooltip when shuffle mode is enabled"
|
|
},
|
|
"nowPlayingPlayInOrder": "Play in order",
|
|
"@nowPlayingPlayInOrder": {
|
|
"description": "Tooltip when shuffle mode is disabled"
|
|
},
|
|
"nowPlayingShuffleLibrary": "Shuffle library",
|
|
"@nowPlayingShuffleLibrary": {
|
|
"description": "Button label to shuffle and play the entire local library"
|
|
},
|
|
"nowPlayingQueueEmpty": "Queue is empty",
|
|
"@nowPlayingQueueEmpty": {
|
|
"description": "Empty state when the playback queue has no items"
|
|
},
|
|
"nowPlayingNoMetadata": "No metadata available",
|
|
"@nowPlayingNoMetadata": {
|
|
"description": "Empty state when track metadata cannot be loaded"
|
|
},
|
|
"announcementUnableToOpenLink": "Unable to open link. Please try again.",
|
|
"@announcementUnableToOpenLink": {
|
|
"description": "Snackbar shown when an announcement CTA link cannot be opened"
|
|
},
|
|
"trackConvertLosslessOutputWithCap": "Lossless output with {quality} cap",
|
|
"@trackConvertLosslessOutputWithCap": {
|
|
"description": "Hint shown when lossless conversion will cap bit depth or sample rate",
|
|
"placeholders": {
|
|
"quality": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
"trackConvertConfirmMessageLosslessCapped": "Convert from {sourceFormat} to {targetFormat} ({quality})?\n\nThe output stays in a lossless codec, but bit depth/sample rate will be capped. Original file will be deleted after conversion.",
|
|
"@trackConvertConfirmMessageLosslessCapped": {
|
|
"description": "Confirmation dialog message for capped lossless conversion of a single file",
|
|
"placeholders": {
|
|
"sourceFormat": {
|
|
"type": "String"
|
|
},
|
|
"targetFormat": {
|
|
"type": "String"
|
|
},
|
|
"quality": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
"selectionBatchConvertConfirmMessageLosslessCapped": "Convert {count} {count, plural, =1{track} other{tracks}} to {format} ({quality})?\n\nThe output stays in a lossless codec, but bit depth/sample rate will be capped. Original files will be deleted after conversion.",
|
|
"@selectionBatchConvertConfirmMessageLosslessCapped": {
|
|
"description": "Confirmation dialog message for capped lossless batch conversion",
|
|
"placeholders": {
|
|
"count": {
|
|
"type": "int"
|
|
},
|
|
"format": {
|
|
"type": "String"
|
|
},
|
|
"quality": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
"trackConvertActionLabelLossless": "{sourceFormat} → {targetFormat} ({quality})",
|
|
"@trackConvertActionLabelLossless": {
|
|
"description": "Convert button label for lossless conversion with quality cap",
|
|
"placeholders": {
|
|
"sourceFormat": {
|
|
"type": "String"
|
|
},
|
|
"targetFormat": {
|
|
"type": "String"
|
|
},
|
|
"quality": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
"trackConvertActionLabelLossy": "{sourceFormat} → {targetFormat} @ {bitrate}",
|
|
"@trackConvertActionLabelLossy": {
|
|
"description": "Convert button label for lossy conversion",
|
|
"placeholders": {
|
|
"sourceFormat": {
|
|
"type": "String"
|
|
},
|
|
"targetFormat": {
|
|
"type": "String"
|
|
},
|
|
"bitrate": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
"aboutPaxsenixSubtitle": "Lyrics proxy for Musixmatch, Netease, Apple Music, QQ Music, Spotify, Deezer, YouTube, Kugou, and Genius",
|
|
"@aboutPaxsenixSubtitle": {
|
|
"description": "Subtitle for Paxsenix special thanks entry on the about page"
|
|
},
|
|
"snackbarPlayingNext": "Playing next",
|
|
"@snackbarPlayingNext": {
|
|
"description": "Snackbar when a track is inserted as the next queue item"
|
|
},
|
|
"snackbarAddedToQueueGeneric": "Added to queue",
|
|
"@snackbarAddedToQueueGeneric": {
|
|
"description": "Snackbar when a track is added to the playback queue without naming it"
|
|
},
|
|
"selectionDeletePlaylistsCount": "Delete {count} {count, plural, =1{playlist} other{playlists}}",
|
|
"@selectionDeletePlaylistsCount": {
|
|
"description": "Button label for deleting multiple selected playlists",
|
|
"placeholders": {
|
|
"count": {
|
|
"type": "int"
|
|
}
|
|
}
|
|
},
|
|
"actionShuffle": "Shuffle",
|
|
"@actionShuffle": {
|
|
"description": "Tooltip for shuffle playback action"
|
|
},
|
|
"downloadPrimaryArtistOnlyOn": "Primary only: On",
|
|
"@downloadPrimaryArtistOnlyOn": {
|
|
"description": "Status label when primary-artist-only folder naming is enabled"
|
|
},
|
|
"downloadPrimaryArtistOnlyOff": "Primary only: Off",
|
|
"@downloadPrimaryArtistOnlyOff": {
|
|
"description": "Status label when primary-artist-only folder naming is disabled"
|
|
},
|
|
"downloadAlbumArtistMetadataPrimaryOnly": "Album Artist metadata: Primary only",
|
|
"@downloadAlbumArtistMetadataPrimaryOnly": {
|
|
"description": "Status label when album-artist folder filtering uses primary artist only"
|
|
},
|
|
"downloadAlbumArtistMetadataFull": "Album Artist metadata: Full",
|
|
"@downloadAlbumArtistMetadataFull": {
|
|
"description": "Status label when album-artist folder filtering uses full metadata"
|
|
},
|
|
"trackConvertOriginal": "Original",
|
|
"@trackConvertOriginal": {
|
|
"description": "Label for keeping original bit depth or sample rate during conversion"
|
|
},
|
|
"trackConvertOriginalQuality": "Original quality",
|
|
"@trackConvertOriginalQuality": {
|
|
"description": "Label when no bit depth or sample rate cap is applied during lossless conversion"
|
|
},
|
|
"trackConvertLosslessSuffix": "Lossless",
|
|
"@trackConvertLosslessSuffix": {
|
|
"description": "Suffix used in converted lossless quality labels"
|
|
},
|
|
"trackConvertDithering": "Dithering",
|
|
"@trackConvertDithering": {
|
|
"description": "Section label for lossless conversion dithering options"
|
|
},
|
|
"trackConvertResampler": "Resampler",
|
|
"@trackConvertResampler": {
|
|
"description": "Section label for lossless conversion resampler options"
|
|
},
|
|
"trackConvertDitherNone": "None",
|
|
"@trackConvertDitherNone": {
|
|
"description": "Lossless conversion dither option with no dithering applied"
|
|
},
|
|
"trackConvertDitherTriangular": "TPDF",
|
|
"@trackConvertDitherTriangular": {
|
|
"description": "Lossless conversion triangular probability density function dither option"
|
|
},
|
|
"trackConvertDitherTriangularHp": "Triangular HP",
|
|
"@trackConvertDitherTriangularHp": {
|
|
"description": "Lossless conversion high-pass triangular dither option"
|
|
},
|
|
"trackConvertResamplerSwr": "SWR",
|
|
"@trackConvertResamplerSwr": {
|
|
"description": "Lossless conversion default FFmpeg swresample resampler option"
|
|
},
|
|
"trackConvertResamplerSoxr": "SoXr",
|
|
"@trackConvertResamplerSoxr": {
|
|
"description": "Lossless conversion SoX resampler option"
|
|
},
|
|
"updateSeeReleaseNotes": "See release notes for details.",
|
|
"@updateSeeReleaseNotes": {
|
|
"description": "Fallback changelog text when release notes cannot be parsed"
|
|
},
|
|
"unknownTitle": "Unknown title",
|
|
"@unknownTitle": {
|
|
"description": "Fallback track title when metadata is missing"
|
|
},
|
|
"trackPlayNext": "Play next",
|
|
"@trackPlayNext": {
|
|
"description": "Menu action to play a track as the next queue item"
|
|
},
|
|
"trackAddToQueue": "Add to queue",
|
|
"@trackAddToQueue": {
|
|
"description": "Menu action to add a track to the playback queue"
|
|
},
|
|
"snackbarExtensionInstalledEnable": "{extensionName} installed. Enable it in Settings > Extensions",
|
|
"@snackbarExtensionInstalledEnable": {
|
|
"description": "Snackbar after installing an extension from the repo tab",
|
|
"placeholders": {
|
|
"extensionName": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
"snackbarExtensionUpdatedVersion": "{extensionName} updated to v{version}",
|
|
"@snackbarExtensionUpdatedVersion": {
|
|
"description": "Snackbar after updating an extension from the repo tab",
|
|
"placeholders": {
|
|
"extensionName": {
|
|
"type": "String"
|
|
},
|
|
"version": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
"snackbarFailedToInstallNamed": "Failed to install {extensionName}",
|
|
"@snackbarFailedToInstallNamed": {
|
|
"description": "Snackbar when extension install fails in the repo tab",
|
|
"placeholders": {
|
|
"extensionName": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
"snackbarFailedToUpdateNamed": "Failed to update {extensionName}",
|
|
"@snackbarFailedToUpdateNamed": {
|
|
"description": "Snackbar when extension update fails in the repo tab",
|
|
"placeholders": {
|
|
"extensionName": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
"releaseTypeEp": "EP",
|
|
"@releaseTypeEp": {
|
|
"description": "Badge label for EP releases"
|
|
},
|
|
"releaseTypeSingle": "Single",
|
|
"@releaseTypeSingle": {
|
|
"description": "Badge label for single releases"
|
|
},
|
|
"trackCoverOnline": "Online cover",
|
|
"@trackCoverOnline": {
|
|
"description": "Label shown when metadata autofill downloaded cover art from the internet"
|
|
},
|
|
"regionCountryUS": "United States",
|
|
"@regionCountryUS": {
|
|
"description": "Country name for SongLink region picker"
|
|
},
|
|
"regionCountryGB": "United Kingdom",
|
|
"@regionCountryGB": {
|
|
"description": "Country name for SongLink region picker"
|
|
},
|
|
"regionCountryFR": "France",
|
|
"@regionCountryFR": {
|
|
"description": "Country name for SongLink region picker"
|
|
},
|
|
"regionCountryDE": "Germany",
|
|
"@regionCountryDE": {
|
|
"description": "Country name for SongLink region picker"
|
|
},
|
|
"regionCountryJP": "Japan",
|
|
"@regionCountryJP": {
|
|
"description": "Country name for SongLink region picker"
|
|
},
|
|
"regionCountryKR": "South Korea",
|
|
"@regionCountryKR": {
|
|
"description": "Country name for SongLink region picker"
|
|
},
|
|
"regionCountryIN": "India",
|
|
"@regionCountryIN": {
|
|
"description": "Country name for SongLink region picker"
|
|
},
|
|
"regionCountryID": "Indonesia",
|
|
"@regionCountryID": {
|
|
"description": "Country name for SongLink region picker"
|
|
},
|
|
"regionCountryBR": "Brazil",
|
|
"@regionCountryBR": {
|
|
"description": "Country name for SongLink region picker"
|
|
},
|
|
"regionCountryMX": "Mexico",
|
|
"@regionCountryMX": {
|
|
"description": "Country name for SongLink region picker"
|
|
},
|
|
"regionCountryAU": "Australia",
|
|
"@regionCountryAU": {
|
|
"description": "Country name for SongLink region picker"
|
|
},
|
|
"regionCountryCA": "Canada",
|
|
"@regionCountryCA": {
|
|
"description": "Country name for SongLink region picker"
|
|
},
|
|
"regionCountryXK": "Kosovo",
|
|
"@regionCountryXK": {
|
|
"description": "Country name for SongLink region picker"
|
|
},
|
|
"extensionVerificationBrowserTitle": "Verification browser",
|
|
"@extensionVerificationBrowserTitle": {
|
|
"description": "Settings option title for extension verification browser preference"
|
|
},
|
|
"extensionVerificationBrowserSubtitleExternal": "Open challenges in the default browser first",
|
|
"@extensionVerificationBrowserSubtitleExternal": {
|
|
"description": "Subtitle when external browser is preferred for extension verification"
|
|
},
|
|
"extensionVerificationBrowserSubtitleInApp": "Open challenges in the in-app browser first",
|
|
"@extensionVerificationBrowserSubtitleInApp": {
|
|
"description": "Subtitle when in-app browser is preferred for extension verification"
|
|
},
|
|
"extensionVerificationBrowserExternal": "External",
|
|
"@extensionVerificationBrowserExternal": {
|
|
"description": "Chip label for external browser verification mode"
|
|
},
|
|
"extensionVerificationBrowserInApp": "In-app",
|
|
"@extensionVerificationBrowserInApp": {
|
|
"description": "Chip label for in-app browser verification mode"
|
|
},
|
|
"extensionVerificationHelpTitleManual": "Open verification manually",
|
|
"@extensionVerificationHelpTitleManual": {
|
|
"description": "Dialog title when automatic browser launch for verification fails"
|
|
},
|
|
"extensionVerificationHelpTitleWaiting": "Verification still waiting",
|
|
"@extensionVerificationHelpTitleWaiting": {
|
|
"description": "Dialog title when verification is taking longer than expected"
|
|
},
|
|
"extensionVerificationHelpMessageManual": "SpotiFLAC Mobile could not open the browser automatically. Open this link in your browser, or copy it manually.",
|
|
"@extensionVerificationHelpMessageManual": {
|
|
"description": "Dialog message when automatic browser launch for verification fails"
|
|
},
|
|
"extensionVerificationHelpMessageWaiting": "If the browser did not open, or verification finished but did not return to SpotiFLAC Mobile, open this link again or copy it manually.",
|
|
"@extensionVerificationHelpMessageWaiting": {
|
|
"description": "Dialog message when verification may need manual browser help"
|
|
},
|
|
"extensionVerificationClose": "Close",
|
|
"@extensionVerificationClose": {
|
|
"description": "Button to dismiss the extension verification help dialog"
|
|
},
|
|
"extensionVerificationCopyLink": "Copy link",
|
|
"@extensionVerificationCopyLink": {
|
|
"description": "Button to copy the extension verification URL"
|
|
},
|
|
"extensionVerificationLinkCopied": "Verification link copied",
|
|
"@extensionVerificationLinkCopied": {
|
|
"description": "Snackbar after copying the extension verification URL"
|
|
},
|
|
"extensionVerificationOpenBrowser": "Open browser",
|
|
"@extensionVerificationOpenBrowser": {
|
|
"description": "Button to open the extension verification URL in a browser"
|
|
}
|
|
} |