{ "@@locale": "en", "appName": "Anx Reader", "appAbout": "About Anx Reader", "appVersion": "Version", "appLicense": "License", "appAuthor": "Author", "appDonate": "Donate", "appDonateTips": "Anx Reader is an open-source software that could free to use. If you find it helpful, please donate to support us to continue improving it.", "navBarBookshelf": "Books", "navBarStatistics": "Statistics", "navBarNotes": "Notes", "navBarSettings": "Settings", "navBarAI": "AI", "settingsDarkMode": "Dark", "settingsLightMode": "Light", "settingsSystemMode": "System", "settingsMoreSettings": "More Settings", "settingsAppearance": "Appearance", "settingsAppearanceTheme": "Theme", "settingsAppearanceThemeColor": "Theme Color", "settingsAppearanceDisplay": "Display", "settingsAppearanceLanguage": "Language", "settingsAppearanceOpenBookAnimation": "Open Book Animation", "settingsAppearanceBottomNavigatorShow": "Bottom Navigator", "settingsAdvancedAutoHideBottomBar": "Auto hide bottom navigation bar", "readingContents": "Contents", "statisticToPresent": "To Present", "statisticBooksRead": "{count, plural, zero{No books read} one{1 book read} other{{count} books read} }", "statisticDaysOfReading": "{count, plural, zero{No days read} one{1 day read} other{{count} days read} }", "statisticNotes": "{count, plural, zero{No notes} one{1 note} other{{count} notes} }", "statisticWeek": "week", "statisticMonth": "month", "statisticYear": "year", "statisticAll": "all", "statisticAllTime": "All Time", "statisticThisWeek": "This Week", "statisticMonday": "Mn", "statisticTuesday": "Tu", "statisticWednesday": "Wd", "statisticThursday": "Th", "statisticFriday": "Fr", "statisticSaturday": "Sa", "statisticSunday": "Su", "notesNotesAcross": "{count, plural, zero{No notes} one{1 note} other{{count} notes} } across", "notesBooks": "{count, plural, zero{No books} one{1 book} other{{count} books} }", "notesNotes": "{count, plural, zero{No notes} one{1 note} other{{count} notes} }", "notesReadPercentage": "{percentage} read", "readingPageCopy": "Copy", "readingPageExcerpt": "Excerpt", "readingPageTheme": "Theme", "readingPageCopyChapterContent": "Copy chapter content", "readingPageCopiedCharacters": "{count, plural, zero{No content to copy} one{Copied 1 character} other{Copied {count} characters} }", "readingPageErrorCopyingContent": "Error copying content", "readingPageBookmark": "Bookmark this page", "readingPageBookDetails": "Book details", "readingPageStyle": "Style", "readingPageOther": "Other", "readingPageReading": "Reading", "readingPageConvertChinese": "Convert Chinese", "readingPageOriginal": "Original", "readingPageSimplified": "Simplified", "readingPageTraditional": "Traditional", "readingPageConvertChineseTips": "Convert Chinese may not be accurate, please use it carefully", "readingPageColumnCount": "Columncount", "readingPageAuto": "Auto", "readingPageSingle": "Single", "readingPageDouble": "Double", "readingPageColumnThreshold": "Column Threshold", "readingPageColumnThresholdTip": "Width threshold for auto switching between single/double columns. When screen width exceeds this value, double-column layout will be used (only works in Auto mode)", "readingPageBionicReading": "Bionic Reading", "readingPageBionicReadingTips": "What is Bionic Reading?", "readingPageHeaderSettings": "Header Settings", "readingPageFooterSettings": "Footer Settings", "readingPageLeft": "Left", "readingPageCenter": "Center", "readingPageRight": "Right", "readingPageShareTemplate": "Template", "readingPageShareFont": "Font", "readingPageShareColor": "Color", "readingPageShareBackground": "Background", "readingPageShareSave": "Save", "readingPageShareShare": "Share", "readingPageShareTemplateClassic": "Classic", "readingPageShareTemplateSimple": "Simple", "readingPageShareTemplateElegant": "Elegant", "readingPageShareTemplateModern": "Modern", "contextMenuAddNoteTips": "Add your note", "contextMenuCopy": "Copy", "contextMenuSearch": "Search", "contextMenuTranslate": "Translate", "contextMenuWriteIdea": "Write Idea", "contextMenuDelete": "Delete", "contextMenuConfirm": "Confirm", "contextMenuHighlight": "Highlight", "contextMenuUnderline": "Underline", "contextMenuShare": "Share", "contextMenuNarrate": "Narrate", "readingPageFullScreen": "Full Screen", "readingPageScreenTimeout": "Screen Timeout", "readingPagePageTurningMethod": "Page Turning Method", "readingPageOpenExternalLinkTitle": "Open External Link", "readingPageOpenExternalLinkMessage": "Open the following link?", "readingPageOpenExternalLinkAction": "Open", "font": "Font", "addNewFont": "Add New Font", "followBook": "Follow Book", "systemFont": "System Font", "pageTurningStyle": "Page Turning Style", "noAnimation": "No Animation", "slide": "Slide", "scroll": "Scroll", "bookDeleted": "Book deleted", "importNBooksSelected": "{count, plural, one{1 book selected} other{{count} books selected}}", "importSupportTypes": "Support types: {types}", "importNBooksNotSupport": "{count, plural, one{1 book not support yet} other{{count} books not support yet}}", "importImportNBooks": "{count, plural, one{Import 1 book} other{Import {count} books}}", "bookshelfTips_1": "There are no books.", "bookshelfTips_2": "Click the add button to add a book!", "statisticsTips_1": "No reading in the selected time period.", "statisticsTips_2": "A book is a dream that you hold in your hands.", "notesTips_1": "There are no notes.", "notesTips_2": "Add a note while reading!", "readingPageChapterPages": "Chapter Pages", "readingPageCurrentPage": "Current Page", "readingPageAutoMarkSelection": "Auto-mark selection", "readingPageAutoMarkSelectionTips": "Automatically highlight selected text with the last used style", "readingPageAutoTranslateSelection": "Auto Translate Selection", "translateError": "Translate Error", "readingPageSummaryTheChapter": "Summary the chapter", "readingPageSummaryPreviousContent": "Summary the previous content", "readingPageAutoSummaryPreviousContent": "Auto Summary Previous Content", "readingPageAtLeastTwoThemes": "At least 2 themes are required", "readingPageAutoAdjustReadingTheme": "Auto Adjust Reading Theme", "readingPageAutoAdjustReadingThemeTips": "Use the 1st and 2nd colors in the color table as the day and night modes respectively", "readingPageVolumeKeyTurnPage": "Volume Key Turn Page", "readingPageKeyboardShortcutTurnPage": "Keyboard Shortcut Turn Page", "readingPageKeyboardShortcutTurnPageTips": "Use Ctrl+[ and Ctrl+] to turn pages", "readingPageFontSize": "Font Size", "readingPageLineSpacing": "Line Spacing", "readingPageParagraphSpacing": "Paragraph Spacing", "readingPageIndent": "Indent", "readingPageIndentNoChange": "No change", "readingPageSideMargin": "Side Margin", "readingPageTopMargin": "Top Margin", "readingPageBottomMargin": "Bottom Margin", "readingPageFontWeight": "Font Weight", "headingFontSize": "Heading Size", "readingPageLetterSpacing": "Letter Spacing", "bookDetailSave": "Save", "bookDetailEdit": "Edit", "bookDetailNthBook": "{count, plural, one{1st book you've read} =2{2nd book you've read} few{3rd book you've read} other{{count}th book you've read}}", "bookDetailLastReadDate": "Last read: ", "bookDetailImportDate": "Import date: ", "readingPageReadingInfo": "Reading Info", "readingPageReadingInfoChapterTitle": "Chapter Title", "readingPageReadingInfoBattery": "Battery", "readingPageReadingInfoTime": "Time", "readingPageReadingInfoBatteryAndTime": "Battery and Time", "readingPageReadingInfoChapterProgress": "Chapter Progress", "readingPageReadingInfoBookProgress": "Book Progress", "bookshelfDragging": "Release to import", "bookshelfSort": "Sort", "bookshelfTitle": "Title", "bookshelfAuthor": "Author", "bookshelfLastReadTime": "Last Read Time", "bookshelfProgress": "Progress", "bookshelfImportTime": "Import Time", "notesPageDetail": "Detail", "notesPageExport": "Export", "notesPageCopied": "Copied", "notesPageExportedTo": "Exported to", "notesPageSortTime": "By time", "notesPageSortChapter": "By chapter", "notesPageFilterReset": "Reset", "notesPageViewAllNNotes": "{count, plural, zero{No notes qualified} one{View 1 note} other{View all {count} notes}}", "commonDelete": "Delete", "commonHoursFull": "{count, plural, one{1 hour} other{{count} hours} }", "commonHours": "{count, plural, other{{count} h} }", "commonMinutesFull": "{count, plural, one{1 minute} other{{count} minutes} }", "commonMinutes": "{count, plural, other{{count} m} }", "commonSecondsFull": "{count, plural, one{1 second} other{{count} seconds} }", "commonSeconds": "{count, plural, other{{count} s} }", "commonSave": "Save", "commonCancel": "Cancel", "commonOk": "OK", "commonSuccess": "Success", "commonFailed": "Failed", "commonUploading": "Uploading", "commonDownloading": "Downloading", "commonCopy": "Copy", "commonNewVersion": "New version!", "commonUpdate": "Update", "commonNoNewVersion": "No new version", "commonConfirm": "Confirm", "commonCanceled": "Canceled", "commonAttention": "Attention", "commonSaving": "Saving", "commonSaved": "Saved", "commonTest": "Test", "commonDissolve": "Dissolve", "commonEdit": "Edit", "commonNthWeek": "{count, plural, one{1st week} =2{2nd week} few{3rd week} other{{count}th week}}", "commonApply": "Apply", "commonReset": "Reset", "commonNone": "None", "commonError": "Error", "commonUndo": "Undo", "commonDownload": "Download", "commonPause": "Pause", "commonResume": "Resume", "commonDownloadFailed": "Download Failed", "commonRetry": "Retry", "commonAscending": "Ascending", "commonDescending": "Descending", "storage": "Storage", "storageInfo": "Storage Info", "storageTotalSize": "Total Size", "storageDatabaseFile": "Database File", "storageLogFile": "Log File", "storageCacheFile": "Cache File", "storageDataFile": "Data File", "storageBookFile": "Book File", "storageCoverFile": "Cover File", "storageFontFile": "Font File", "storageDataFileDetails": "Data File Details", "storageClearCache": "Clear Cache", "serviceImportSuccess": "Import success", "serviceImportNBooks": "{count, plural, one{importing 1 book} other{importing {count} books}}", "webdavWebdavNotEnabled": "WebDAV is not enabled", "webdavSyncing": "Syncing", "webdavSyncingFiles": "Syncing files", "webdavSyncComplete": "Sync complete", "webdavConnectionSuccess": "Connection success", "webdavConnectionFailed": "Connection failed", "webdavSetInfoFirst": "Please set WebDAV information first", "webdavChoose_Sources": "Choose Sources", "webdavDownload": "Download from WebDAV", "webdavUpload": "Upload to WebDAV", "webdavOnlyWifi": "Only sync when WiFi is connected", "webdavSyncAborted": "Sync aborted", "webdavSyncAbortedContent": "Failed to get data from WebDAV, remote data is empty. Please check the following: \n1. Network connection \n2. Ensure that valid reading data has been uploaded to WebDAV on other devices\n\nNext, please try to upload data to WebDAV", "webdavSyncDirection": "WebDAV data may be modified by other devices, please choose how to handle the data", "settingsSync": "Sync", "settingsSyncWebdav": "WebDAV", "settingsSyncEnableWebdav": "Enable WebDAV", "settingsSyncWebdavUrl": "WebDAV URL", "settingsSyncWebdavUsername": "Username", "settingsSyncWebdavPassword": "Password", "settingsSyncWebdavTestConnection": "Test Connection", "settingsSyncWebdavSyncNow": "Sync Now", "exportAndImport": "Export/Import", "exportAndImportExport": "Export", "exportAndImportImport": "Import", "exporting": "Exporting", "importing": "Importing", "exportTo": "Export to {path}", "importCannotGetFilePath": "Cannot get file path", "importSuccessRestartApp": "Import success, please restart the app", "importFailed": "Import failed: {error}", "settingsSyncCompletedToast": "Show toast when sync completed", "settingsSyncAutoSync": "Auto sync", "settingsTranslate": "Translate", "settingsTranslateCurrentService": "Current Service", "settingsTranslateAuto": "Auto", "settingsTranslateFrom": "From", "settingsTranslateTo": "To", "settingsNarrate": "Narrate", "settingsNarrateVoice": "Voice", "settingsNarrateVoiceModel": "Voice Model", "settingsNarrateVoiceModelCurrentModel": "Current Model", "settingsNarrateVoiceModelNotSelected": "Not Selected", "settingsNarrateVoiceModelClickToView": "Click to View", "settingsNarrateVoiceModelMale": "Male", "settingsNarrateVoiceModelFemale": "Female", "settingsAi": "AI", "settingsAiServices": "Services", "settingsAiPrompt": "Prompt", "settingsAiPromptTest": "Test AI config", "settingsAiPromptSummaryTheChapter": "Summary the chapter", "settingsAiPromptSummaryTheBook": "Summary the book", "settingsAiPromptSummaryThePreviousContent": "Summary the previous content", "settingsAiPromptMindmap": "Visualize with mind map", "settingsAiCache": "AI Cache", "settingsAiCacheSize": "Max Cache Size", "settingsAiCacheCurrentSize": "Current {count, plural, other{{count} caches}}", "settingsAiCacheClear": "Clear cache", "aiServiceNotConfigured": "Please configure the AI service in settins page.", "aiChat": "Chat", "aiThinking": "Thinking", "aiThinkingHint": "Thought for a moment", "aiDataSharingTitle": "Third-Party AI Service Notice", "aiDataSharingContent": "Your chat messages and selected text will be sent to your chosen AI service provider (such as OpenAI, Claude, Gemini, DeepSeek, etc.) for processing. Each service provider has its own privacy policy.", "aiDataSharingAgree": "I Understand and Agree", "aiHintText": "Start chatting", "aiHintInputPlaceholder": "Input message...", "aiHintCollapse": "Collapse", "aiHintExpand": "Expand", "aiQuickPromptExplain": "Explain", "aiQuickPromptExplainText": "Please explain", "aiQuickPromptOpinion": "Your opinion", "aiQuickPromptOpinionText": "What's your opinion on this?", "aiQuickPromptSummary": "Summarize", "aiQuickPromptSummaryText": "Please summarize", "aiQuickPromptAnalyze": "Analyze", "aiQuickPromptAnalyzeText": "Please analyze", "aiQuickPromptSuggest": "Suggest", "aiQuickPromptSuggestText": "Any suggestions?", "settingsReading": "Reading", "settingsBookshelf": "Bookshelf", "settingsBookshelfCover": "Book cover", "settingsBookshelfCoverWidth": "Book cover width", "settingsBookshelfFolderStyle": "Bookshelf folder style", "settingsBookshelfFolderStyleOverlap": "Overlap", "settingsBookshelfFolderStyleGrid": "2x2 Grid", "settingsBookshelfDefaultCoverShowTitle": "Show title on default cover", "settingsBookshelfDefaultCoverShowAuthor": "Show author on default cover", "aiCachedBy": "Cached by {service}", "aiRegenerate": "Regenerate", "settingsAiProviders": "Provider Center", "settingsAiProvidersAdd": "Add Provider", "settingsAiProviderDefault": "Default", "settingsAiProviderSetDefault": "Set as Default", "settingsAiProviderUrl": "API URL", "settingsAiProviderUrlHint": "Usually ends with /v1", "settingsAiProviderProtocol": "Protocol", "settingsAiProviderProtocolOpenai": "OpenAI Compatible", "settingsAiProviderProtocolClaude": "Claude (Anthropic)", "settingsAiProviderProtocolGemini": "Gemini (Google)", "settingsAiProviderModel": "Model", "settingsAiProviderFetchModels": "Fetch Models", "settingsAiProviderApiKeys": "API Keys", "settingsAiProviderAddKey": "Add Key", "settingsAiProviderKeyLabel": "Label (optional)", "settingsAiProviderDeleteConfirm": "Delete this provider?", "settingsAiProviderName": "Provider Name", "settingsAiProviderTestConnection": "Test Connection", "settingsAiProviderFetchingModels": "Fetching models...", "settingsAiProviderFetchModelsFailed": "Failed to fetch models: {error}", "settingsAiProviderNoModelsFound": "No models found", "settingsAiProviderSelectModel": "Select a model", "settingsAiProviderBuiltin": "Built-in", "settingsAiProviderCustom": "Custom", "settingsAiProviderEnabled": "Enabled", "settingsAiProviderDisabled": "Disabled", "settingsAiProviderNoValidKeys": "No valid API keys configured", "settingsAiProviderCurrentProvider": "Current: {name}", "settingsAiProviderReasoningEffort": "Reasoning Effort", "settingsAiProviderReasoningEffortHelp": "Auto is the default and will not send this parameter. Some models or providers may ignore this parameter or reject the request if they do not support reasoning_effort.", "settingsAiProviderReasoningEffortAuto": "Auto", "settingsAiProviderReasoningEffortLow": "Low", "settingsAiProviderReasoningEffortMedium": "Medium", "settingsAiProviderReasoningEffortHigh": "High", "storagePermissionDenied": "Storage permission denied", "galleryPermissionDenied": "Gallery permission denied", "gotoAuthorize": "Go to authorize", "settingsAdvanced": "Advanced", "settingsAdvancedLog": "Log", "settingsAdvancedLogClearLog": "Clear Log", "settingsAdvancedLogExportLog": "Export Log", "settingsAdvancedClearLogWhenStart": "Clear log when start", "settingsAdvancedUseOriginalCoverRatio": "Use original cover aspect ratio", "aboutCheckForUpdates": "Check for updates", "updateNewVersion": "New version: ", "updateCurrentVersion": "Current version: ", "aboutPrivacyPolicy": "Privacy Policy", "aboutTermsOfUse": "Terms of Use", "aboutHelp": "Help Documentation", "ttsVolume": "Volume", "ttsRate": "Rate", "ttsPitch": "Pitch", "ttsNarrator": "Narrator", "ttsStopAfter": "{count, plural, zero{No timer} one{Stop in 1 minute} other{stop after {count} minutes}}", "ttsType": "TTS Type", "ttsTypeInternal": "Internal TTS", "ttsTypeSystem": "System TTS", "statisticJustNow": "just now", "statisticMinutesAgo": "{count, plural, one{1 minute ago} other{{count} minutes ago}}", "statisticHoursAgo": "{count, plural, one{1 hour ago} other{{count} hours ago}}", "statisticYesterday": "{count, plural, one{1 yesterday} other{{count} yesterday}}", "statisticDaysAgo": "{count, plural, one{1 day ago} other{{count} days ago}}", "statisticMonthsAgo": "{count, plural, one{1 month ago} other{{count} months ago}}", "statisticYearsAgo": "{count, plural, one{1 year ago} other{{count} years ago}}", "statisticDeletedRecords": "Records to be deleted", "statisticDeletedRecordsTips": "Will be deleted when leaving this page", "webviewUnsupportedVersion": "Unsupported Webview Version", "webviewUnsupportedMessage": "Your Webview version may be not supported. Current version is {version}, required minimum version is {minVersion}, please update your Webview", "webviewUpdate": "How to update", "webviewCancel": "I know", "webview2NotInstalled": "Failed to find an installed WebView2 Runtime or non-stable Microsoft Edge installation.", "webview2Install": "Go to diownload", "iapPageTitle": "Activate Product", "iapPageRestore": "Restore Purchase", "iapPageWhyChoose": "Why Choose Anx Reader", "iapPageFeatureAi": "AI Reading", "iapPageFeatureAiDesc": "AI-powered summaries, Q&A for effortless reading", "iapPageFeatureSync": "Cross-platform Sync", "iapPageFeatureSyncDesc": "Keep your progress and data in sync", "iapPageFeatureStats": "Detailed Statistics", "iapPageFeatureStatsDesc": "Reading time, heatmap and more", "iapPageFeatureCustom": "Customize Everything", "iapPageFeatureCustomDesc": "Font, color, size, spacing and more", "iapPageFeatureNote": "Powerful Notes", "iapPageFeatureNoteDesc": "Categorize, filter, sort, export to md, csv, txt and more", "iapPageFeatureRich": "Rich Features", "iapPageFeatureRichDesc": "Notes, narration, translation", "iapPageRestoreHint": "If you change device or reinstall, click 'Restore Purchase' in the top right corner.\nOnly valid for devices under the current Apple ID", "iapPageRestoreHintPlayStore": "If you change device or reinstall, click 'Restore Purchase' in the top right corner.\nOnly valid for devices under the current Google Play account", "iapPageOneTimePurchase": "Continue", "iapPageLifetimeHint": "One-time payment, {price} lifetime access", "iapPageStatusPurchased": "Thank you for your support! Your product has been successfully activated", "iapPageStatusTrial": "You have {days} days left in your trial", "iapPageStatusTrialExpired": "Purchase lifetime version to continue reading", "iapPageStatusOriginal": "You are our early user, thank you for your support!", "iapPageStatusUnknown": "Unable to determine your activation status", "iapPageDatePurchased": "Purchase date: {date}", "iapPageDateTrialStart": "Trial started: {date}", "iapPageDateOriginal": "Join date: {date}", "iapStatusPurchased": "Lifetime Premium User", "iapStatusTrial": "Trial Period", "iapStatusTrialExpired": "Trial Expired", "iapStatusOriginal": "Early User", "iapStatusUnknown": "Unknown", "downloadFonts": "Download Fonts", "fontNoAvailableFonts": "No available fonts", "fontOfficialWebsite": "Official Website", "fontLicenseAgreement": "License Agreement", "fontDownloaded": "Downloaded", "fontFailedToLoadFonts": "Failed to load fonts", "fontDownloading": "Downloading {progress}", "fontCancelled": "Cancelled {progress}", "bookSyncStatusNotSyncing": "Not syncing", "bookSyncStatusUploadingTitle": "Uploading", "bookSyncStatusDownloadingTitle": "Downloading", "bookSyncStatusLocalUpdateTime": "Local data update time:", "bookSyncStatusLastSyncTime": "Last sync time:", "bookSyncStatusNoSyncYet": "This device has not synced data yet", "bookSyncStatusLocalOnlyBooks": "Local only books:", "bookSyncStatusRemoteOnlyBooks": "Remote only books:", "bookSyncStatusBothBooks": "Books on both ends:", "bookSyncStatusNonExistentBooks": "Neither local nor remote:", "bookSyncStatusNonExistentTip": "Neither local nor remote: This means the book exists on the bookshelf, but the book file is missing on both this device and the remote storage. Syncing from a device that has the file is required.", "bookSyncStatusUploadButton": "Upload", "bookSyncStatusDownloadButton": "Download", "bookSyncStatusReleaseSpace": "Release Space", "bookSyncStatusReleaseSpaceDialogTitle": "Release Space", "bookSyncStatusReleaseSpaceDialogContent": "This will upload the book to the cloud and delete the local file, saving local storage space. You can download it anytime when needed.", "bookSyncStatusDoNotShowAgain": "Do not show again", "bookSyncStatusWebdavConnectionFailed": "WebDAV connection failed\n{error}", "bookSyncStatusWebdavPingFailed": "WebDAV connection failed, ping failed", "bookSyncStatusWebdavCheckNetwork": "WebDAV connection failed, check your network", "bookSyncStatusWebdavConnectionError": "WebDAV connection failed, connection error", "bookSyncStatusSyncFailed": "Sync failed", "bookSyncStatusBookNotFoundRemote": "Could not find this book in the cloud", "bookSyncStatusDownloadingBook": "Downloading {fileName}", "bookSyncStatusSpaceReleased": "Space released", "bookSyncStatusUploadFailed": "Upload failed", "bookSyncStatusBooksCount": "{count} books", "bookSyncStatusDownloadFailed": "Download failed", "webdavBatchDownloadFinishedReport": "Books downloaded, {success} success, {failed} failed", "downloadAllBooks": "Download All Books", "allBooksAreDownloaded": "All books are downloaded", "syncNow": "Sync Now", "deeplKeyTip": "Please enter your DeepL API key, which can be obtained from the DeepL developer page", "syncMismatchTip": "Database version mismatch. The remote database (version {remoteVersion}) is newer than what your app supports (version {currentDbVersion}). Please update your app to the latest version.", "dbUpdatedTip": "The database structure has been updated. Please update Anx Reader App on your other devices to ensure compatibility with the new database for smooth data synchronization.", "eInkMode": "E-ink Mode", "readingPageWritingDirection": "Writing Direction", "readingPageWritingDirectionAuto": "Auto", "readingPageWritingDirectionVertical": "Vertical", "readingPageWritingDirectionHorizontal": "Horizontal", "readingPageStyleBackground": "Background", "readingPageStyleNoBackgroundImage": "No Background Image", "readingPageStyleImportBackgroundImage": "Import Background Image", "readingPageStyleImportNightImage": "Import Night Image", "readingPageStyleDayMode": "Day", "readingPageStyleNightMode": "Night", "readingPageStyleDeleteNightImage": "Delete Night Image", "readingPageStyleBgimgFit": "Fit", "readingPageStyleBgimgFitCover": "Cover", "readingPageStyleBgimgFitStretch": "Stretch", "readingPageStyleBgimgBlur": "Blur", "readingPageStyleBgimgOpacity": "Opacity", "readingPageVerticleMargin": "Vertical Margin", "readingPageRightMargin": "Right Margin", "readingPageLeftMargin": "Left Margin", "syncRemoteDataUpdateTime": "Remote data update time: ", "settingsTranslateAiTip": "Go to the AI settings page to configure the AI service.", "settingsAiPromptTranslateAndDictionary": "Translate And Dictionary", "settingsAiPromptFullTextTranslate": "Full-text Translation", "noteListShowBookmark": "Show Bookmark", "readingBookmark": "Bookmark", "noBookmarks": "No Bookmarks", "noBookmarksTip": "Pull down or click the bookmark icon in the top-right corner to add a bookmark.", "settingsAdvancedJavascript": "JavaScript", "settingsAdvancedEnableJavascriptForEpub": "Enable JavaScript for Epub", "readingSettingsMargin": "Margin", "updateViaGithub": "Via GitHub", "updateViaOfficialWebsite": "Via Official Website", "testingConnection": "Testing connection...", "unknownErrorWhenTestingConnection": "Unknown error when testing connection: ", "configurationInformationIsIncomplete": "Configuration information is incomplete", "connectionSuccessful": "Connection successful", "connectionTimeout": "Connection timeout, please check network or server address", "testUnauthorized": "Username or password is incorrect", "testForbidden": "Access denied, please check permission settings", "testNotFound": "Server address does not exist or path is incorrect", "testRefused": "Unable to connect to server, please check network and server status", "testSsl": "SSL certificate verification failed, please check HTTPS configuration", "testDnd": "DNS resolution failed, please check if domain name is correct", "testOther": "Connection test failed, please check configuration and network", "availableBackups": "Available Backups:", "noBackupsAvailable": "No backups available", "restore": "Restore", "confirmRestore": "Confirm Restore", "restoreWarning": "This operation will replace the current database with the backup file. Current unsynced data may be lost. Do you want to continue?", "restoreSuccess": "Database restored successfully", "downloadFailed": "Download Failed", "downloadFailedContent": "Unable to download database file from server. Please check network connection and server status.", "syncValidationFailed": "Data Validation Failed", "syncValidationFailedContent": "Downloaded database file validation failed, possibly corrupted or empty. Local data has been preserved.", "replacementFailed": "Replacement Failed", "replacementFailedContent": "Database validation failed after replacement, automatically recovered to previous version. Your data is safe.", "syncUnknownError": "Sync Error", "onboardingWelcomeTitle": "Welcome to Anx Reader", "onboardingWelcomeBody": "A powerful e-book reader with AI integration and cross-platform sync capabilities.", "onboardingAppearanceTitle": "Customize Your Experience", "onboardingAppearanceBody": "Choose your preferred language, theme colors, and e-ink mode for the best reading experience. You can configure more display options in Settings → Appearance.", "onboardingSyncTitle": "Cross-Platform Sync", "onboardingSyncBody": "Sync your books, reading progress, and notes across all your devices using WebDAV.", "onboardingSyncTip": "Set up sync in Settings → Sync to get started", "onboardingAiTitle": "AI-Powered Features", "onboardingAiBody": "Enhance your reading with AI-powered translation, content analysis, and chat features.", "onboardingAiTip": "Configure your preferred AI provider in Settings → AI", "onboardingCompleteTitle": "Ready to Read!", "onboardingCompleteBody": "You're all set! Start adding books to your library and enjoy a premium reading experience.", "onboardingNext": "Next", "onboardingBack": "Back", "onboardingDone": "Get Started", "onboardingSkip": "Skip", "customizeYourExperience": "Customize your experience", "moreDisplayOptionsTip": "More display options available in Settings → Appearance", "optimizedForEInkDisplays": "Optimized for e-ink displays", "commonUpdated": "Updated!", "updateFromVersion": "Updated from {version}", "welcomeToVersion": "Welcome to {version}", "whatsNew": "What's New", "databaseBackupManagement": "Database Backup Management", "restoreDatabase": "Restore Database", "restoreBackup": "Restore Backup", "customCssEnabled": "Enable Custom CSS", "cssValidationUnmatchedBraces": "Unmatched braces", "cssValidationMissingSemicolon": "Missing semicolon on line {lineNumber}", "cssSaveAndApply": "Save & Apply", "cssRestoreDefault": "Restore Default", "cssEditorHint": "Your custom CSS here...", "md5Management": "File Deduplication", "md5Statistics": "MD5 Statistics", "md5TotalBooks": "Total books: {count}", "md5BooksWithMd5": "Books with MD5: {count}", "md5BooksWithoutMd5": "Books without MD5: {count}", "md5LocalFiles": "Local files: {count}", "md5LocalFilesWithoutMd5": "Local files without MD5: {count}", "md5CalculateMissing": "Calculate Missing MD5", "md5Calculating": "Calculating MD5...", "md5NoCalculationNeeded": "All local files already have MD5 values", "md5CalculateConfirmTitle": "Calculate MD5 Values", "md5CalculateConfirmContent": "This will calculate MD5 values for local book files. This process may take some time.", "md5MissingFilesTip": "Some books are not downloaded locally. You can manually download all books for complete MD5 calculation.", "md5CalculationComplete": "MD5 Calculation Complete", "md5CalculationResultCalculated": "Calculated: {count} files", "md5CalculationResultSkipped": "Skipped: {count} files", "md5CalculationResultFailed": "Failed: {count} files", "md5MissingFiles": "Missing Files:", "md5AndMore": "and {count} more...", "md5CalculationError": "Calculation error: {error}", "duplicateFile": "Duplicate File", "duplicateOf": "Duplicate of: {title}", "skipDuplicateFiles": "Skip Duplicate Files", "readingPageSwapPageTurnArea": "Swap Page Turn Area", "readingPageSwapPageTurnAreaTips": "Turn the previous area into next area", "readingPageShowMenuOnHover": "Mouse Hover to Show Menu", "readingPageShowMenuOnHoverTips": "Automatically show menu when hovering over the top or bottom edge of the window for easy access", "readingPageShowActionLabels": "Show Action Labels", "readingPageShowActionLabelsTips": "Show text below icon-style action buttons such as the selection context menu", "pageTurnModeSimple": "Simple", "pageTurnModeCustom": "Custom", "customPageTurnConfig": "Custom Page Turn Config", "pageTurnActionNone": "None", "pageTurnActionPrev": "Previous", "pageTurnActionNext": "Next", "pageTurnActionMenu": "Menu", "underlineTranslation": "Underline Translation", "underlineTranslationTip": "Translation feature for text selected by underlining, such as dictionary translation, etc.", "fullTextTranslation": "Full-text Translation", "fullTextTranslationTip": "Bilingual parallel translation feature for reading pages, translating entire content.", "settingsAiRpm": "Rate Limit (RPM)", "settingsAiRpmTip": "Maximum AI requests per minute. Set to 0 to disable.", "translationServiceConfiguration": "Translation Service Configuration", "translationMode": "Translation Mode", "translationOnly": "Translation Only", "bilingual": "Bilingual", "allowMixing": "Allow Mixing", "enableMixTip": "Enable to mix with other audio applications", "more": "More", "textAlignment": "Text Alignment", "textAlignmentAuto": "Auto", "textAlignmentLeft": "Left", "textAlignmentCenter": "Center", "textAlignmentRight": "Right", "textAlignmentJustify": "Justify", "codeHighlightTheme": "Code Highlight Theme", "codeHighlightOff": "Off", "codeHighlightLight": "Light", "codeHighlightDark": "Dark", "codeHighlightLightThemes": "Light Themes", "codeHighlightDarkThemes": "Dark Themes", "shareFile": "Share File", "hints": "Hints", "showAllHintsAgain": "Show all hints again", "allHintsWillBeShownAgain": "All hints will be shown again", "viewChangelog": "View changelog", "viewOnboarding": "View onboarding", "close": "Close", "dragAndDropToCreateFolderHint": "Long press and drag to another book to create a folder", "statisticsSwipeToDeleteHint": "Swipe left to delete reading records. You can undo within this page, but changes are permanent once you leave.", "bookNotesOperationsHint": "Long press to multi-select for delete or export, swipe left to edit or share notes", "searchBooksOrNotes": "Search books or notes", "startTypingToSearch": "Start typing to search", "nothingHere": "Nothing here", "books": "Books", "notes": "Notes", "eBookProcess": "E-book conversion", "chapterSplitting": "Chapter splitting", "deleteCustomRule": "Delete custom rule", "removeRule": "Remove \"{name}\"?", "invalidPattern": "Invalid pattern", "samples": "Samples", "noSamplesProvided": "No samples provided", "currentlyInUse": "Currently in use", "builtInRules": "Built-in rules", "customRules": "Custom rules", "addCustomRule": "Add custom rule", "newCustomRule": "New custom rule", "editCustomRule": "Edit custom rule", "ruleName": "Rule name", "regularExpression": "Regular expression", "dartStyleRegularExpression": "Dart-style regular expression", "caseSensitive": "Case sensitive", "multiLine": "Multi-line", "samplesOnePerLine": "Samples (one per line)", "testResults": "Test results", "noSamples": "No samples", "hintBannerRestoreToast": "You can re-enable all hints in More Settings -> Advanced.", "aiReasoningThinking": "Thinking...", "aiReasoningTitle": "Reasoning Process", "tryAQuickPrompt": "Try a quick prompt:", "quickPrompt1": "What books did I read in the last 7 days?", "quickPrompt2": "Summarize my latest reading session.", "quickPrompt3": "Which books have the highest reading progress?", "quickPrompt4": "List all notes I took yesterday.", "quickPrompt5": "Show unread books in my shelf.", "quickPrompt6": "Recommend a book based on my recent reads.", "quickPrompt7": "Summarize today's highlights.", "quickPrompt8": "Which book took the most time this week?", "quickPrompt9": "Give me a quote from my notes.", "quickPrompt10": "What should I read next?", "quickPrompt11": "Organize bookshelf by book genre", "quickPrompt12": "Organize bookshelf by reading progress", "history": "History", "conversationHistory": "Conversation history", "noConversationTip": "No conversations yet, start chatting!", "failedToLoadHistoryTip": "Failed to load history", "waitingForToolOutput": "Waiting for tool output...", "unexpectedToolOutputFormat": "Unexpected tool output format.", "missingPlanPayload": "Missing plan payload.", "planDetailsMissing": "Plan details missing.", "failedToParsePlan": "Failed to parse plan: {error}", "noReorganizationPlanGenerated": "No re-organization plan was generated.", "planCopied": "Plan copied.", "copyJson": "Copy JSON", "completed": "Completed", "applyToBookshelf": "Apply to bookshelf", "newGroup": "New group", "unnamed": "Unnamed", "renameFrom": "Rename from \"{current}\"", "groupWithId": "Group {groupId}", "noBooksAssignedInThisPlan": "No books assigned in this plan.", "booksToUngroup": "Books to ungroup", "groupsToRemove": "Groups to remove", "groupId": "Group ID {id}", "bookshelfUpdated": "Bookshelf updated.", "failedToApplyPlan": "Failed to apply plan: {error}", "mindmapWaitingForOutput": "Waiting for mindmap output", "mindmapToolError": "Mindmap tool returned an error", "mindmapParseFailed": "Failed to parse mindmap: {error}", "mindmapGenerating": "Mindmap is generating...", "mindmapStats": "Nodes: {nodeCount}, Depth: {depth}", "mindmapDefaultTitle": "Mindmap", "mindmapDefaultNodeId": "node", "mindmapDefaultNodeLabel": "Node", "readingPageTranslationModeTip": "This feature is only available when reading books, each book has independent settings", "tileBooksReadTitle": "Books read", "tileBooksReadDescription": "Lifetime total number of finished books.", "tileBooksReadUnit": "books", "tileReadingDaysTitle": "Active days", "tileReadingDaysDescription": "Number of days you opened a book.", "tileReadingDaysUnit": "days", "tileNotesTotalTitle": "Highlights", "tileNotesTotalDescription": "Number of highlights and notes you created.", "tileNotesTotalUnit": "notes", "tileRandomHighlightTitle": "Highlight of the day", "tileRandomHighlightDescription": "Shows a random highlight from your notes.", "randomHighlightUnknownBook": "Unknown book", "randomHighlightEmptyState": "No highlights yet.", "commonRefresh": "Refresh", "tileReadingDuration7Title": "Past 7 days", "tileReadingDuration7Description": "Rolling 7-day cumulative reading time.", "tileReadingDuration30Title": "Past 30 days", "tileReadingDuration30Description": "Rolling 30-day cumulative reading time.", "tileReadingStreakTitle": "Reading streak", "tileReadingStreakDescription": "Track your current and best reading streaks for motivation.", "tileReadingStreakEncouragementActive": "Great job! Keep the streak alive.", "tileReadingStreakEncouragementInactive": "No reading logged today. Open a book to relight the flame.", "tileReadingStreakSubtitleActive": "You are on fire today.", "tileReadingStreakSubtitleInactive": "Spend a few minutes reading today to keep the chain.", "tileReadingStreakCurrent": "{count, plural, one{1 day streak} other{{count} days streak}}", "tileReadingStreakBestLabel": "Best streak", "tileCompletionProgressTitle": "Almost finished", "tileCompletionProgressDescription": "Books that are close to completion with a progress ring.", "tileCompletionProgressEmptyState": "No books near the finish line.", "tileCompletionProgressMotivation": "Keep pushing through the final chapters!", "tileCompletionProgressAverageLabel": "avg progress", "tileContinueReadingTitle": "Continue reading", "tileContinueReadingDescription": "Jump back into the book you read last.", "tileContinueReadingEmptyState": "No reading history yet. Open a book to begin.", "tileContinueReadingNoTimestamp": "Last read time unknown", "tileTopBookTitle": "Top book", "tileTopBookDescription": "Most read title in the current period.", "tileTotalTimeTitle": "Lifetime reading", "tileTotalTimeDescription": "Hours and minutes logged in Anx Reader.", "tilePeriodSummaryTitle": "Current period", "tilePeriodSummaryDescription": "Highlights for the selected period below.", "statisticsDashboardAddCard": "Add card", "statisticsDashboardAddTileTitle": "Add Dashboard Tile", "statisticsDashboardAddTileButton": "Add {tile}", "statisticsDashboardHint": "Tap and hold a card to rearrange or add cards.", "statisticsDashboardEmpty": "No cards yet. Tap “Add card” to get started.", "commonRemove": "Remove", "relativeTimeJustNow": "just now", "relativeTimeMinutesAgo": "{minutes, plural, one{1 minute ago} other{{minutes} minutes ago}}", "relativeTimeHoursAgo": "{hours, plural, one{1 hour ago} other{{hours} hours ago}}", "relativeTimeYesterday": "yesterday", "relativeTimeDaysAgo": "{days, plural, one{1 day ago} other{{days} days ago}}", "relativeTimeLastMonth": "last month", "relativeTimeMonthsAgo": "{months, plural, one{1 month ago} other{{months} months ago}}", "relativeTimeLastYear": "last year", "relativeTimeYearsAgo": "{years, plural, one{1 year ago} other{{years} years ago}}", "tileLibraryTotalsTitle": "Library totals", "tileLibraryTotalsDescription": "Books, reading days, and notes overview.", "reduceVibrationFeedback": "Reduce vibration feedback", "notesExportMergeChapters": "Merge chapters", "notesExportMergeChaptersDescription": "When enabled, notes from the same chapter share a single heading.", "settingsAiTools": "AI Tools", "aiToolCalculatorName": "Calculator", "aiToolCalculatorDescription": "Evaluate arithmetic expressions when you need a numeric answer.", "aiToolCurrentTimeName": "Current Time", "aiToolCurrentTimeDescription": "Retrieve the device current time to reference timestamps in replies.", "aiToolMindmapName": "Mindmap", "aiToolMindmapDescription": "Transform a hierarchical bullet outline into the JSON used for mind maps.", "aiToolBookContentSearchName": "Book Content Search", "aiToolBookContentSearchDescription": "Search within a specific book by keyword and return matched chapters/snippets.", "aiToolBookshelfLookupName": "Bookshelf Lookup", "aiToolBookshelfLookupDescription": "View the user bookshelf with titles, authors, progress, and grouping.", "aiToolBookshelfOrganizeName": "Bookshelf Organize", "aiToolBookshelfOrganizeDescription": "Draft bookshelf re-organization plans that the user can review and apply.", "aiToolNotesSearchName": "Notes Search", "aiToolNotesSearchDescription": "Search user notes and highlights by keyword, book, or time range.", "aiToolReadingHistoryName": "Reading History", "aiToolReadingHistoryDescription": "Retrieve historical reading sessions for habit analysis.", "aiToolCurrentReadingMetadataName": "Current Reading Metadata", "aiToolCurrentReadingMetadataDescription": "Fetch metadata about the active reading session such as progress and chapter.", "aiToolCurrentBookTocName": "Current Book TOC", "aiToolCurrentBookTocDescription": "Get the table of contents for the active book including current position.", "aiToolTagsListName": "List Tags", "aiToolTagsListDescription": "Returns all tags with id, name, and RGB color.", "aiToolBooksTagsListName": "List Book Tags", "aiToolBooksTagsListDescription": "Returns tags for books (id, title, tags with id/name/rgb). Accepts optional bookIds array.", "aiToolApplyBookTagsName": "Apply Book Tags", "aiToolApplyBookTagsDescription": "Creates/updates tags and syncs book-tag links. Input supports books, createTags, updateTags.", "aiToolCurrentChapterContentName": "Current Chapter Content", "aiToolCurrentChapterContentDescription": "Pull the plain-text content of the chapter the user is reading.", "aiToolChapterContentByHrefName": "Chapter Content By Href", "aiToolChapterContentByHrefDescription": "Retrieve the plain-text body of a chapter when you know its TOC href.", "bookDetailEditHint": "Tap Edit to change cover, title, tags, and more", "tagsSectionTitle": "Tags", "tagsEmptyHint": "No tags", "noTagFilter": "Untagged", "tagsEditHint": "Press the edit button to add tags", "tagNewPlaceholder": "New tag", "tagAddButton": "Add", "tagEditTitle": "Edit tag", "tagNamePlaceholder": "Tag name", "tagColorTooltip": "Pick tag color", "tagsEditOrRemoveHint": "Long press or right-click to edit or delete tags\nColors indicate whether the tag is attached to the book", "bookshelfFilterFinished": "Finished", "bookshelfFilterReading": "Reading", "bookshelfFilterNotStarted": "Not started", "bookshelfFilterTagsTooltip": "Filter tags", "settingsNarrateTtsService": "TTS Service", "settingsNarrateAliyunTts": "Aliyun", "settingsNarrateAzureTts": "Microsoft Azure", "settingsNarrateOpenAiTts": "OpenAI", "settingsNarrateSystemTts": "System TTS", "settingsNarrateTtsVoiceModels": "TTS Voice Models", "settingsNarrateGetVoiceList": "Get Voice List", "settingsNarrateNoVoicesFound": "No voices found. Check your configuration.", "settingsNarrateTestText": "Test Text", "settingsNarrateUseVoice": "Use", "settingsNarrateClickForHelp": "Click here for help", "settingsNarrateAliyunEndpointAutoLabel": "Auto (Nearest)", "settingsNarrateAliyunEndpointTip": "Set to auto or choose a nearby region", "settingsNarrateAliyunHelpText": "Aliyun Intelligent Speech Interaction provides TTS. New accounts usually get a 3-month free trial after activation.", "settingsNarrateAzureHelpText": "Microsoft Azure provides a free quota of 500,000 characters per month for TTS. You need to apply for a Microsoft Azure TTS resource key to use this service.", "settingsNarrateOpenAiHelpText": "OpenAI provides neural TTS voices. Configure your OpenAI API key and model to use this service.", "settingsNarrateOpenAiUrlDescription": "OpenAI TTS endpoint URL", "settingsNarrateOpenAiKeyDescription": "OpenAI API Key", "settingsNarrateOpenAiModelDescription": "OpenAI TTS model (e.g. gpt-4o-mini-tts)", "settingsNarrateOpenAiVoiceDescription": "Voice name (e.g. alloy)", "settingsNarrateOpenAiInstructionsDescription": "Optional instructions for the voice style", "translateBingWeb": "Bing Web Translate", "translateGoogleWeb": "Google Web Translate", "translateMicrosoftAzure": "Microsoft Azure API", "translateGoogleCloud": "Google Cloud API", "translateDeepL": "DeepL API", "translateTip": "Tip", "translateAzureHelpText": "Microsoft Azure Translate has a free quota of 2M chars/month.", "translateGoogleHelpText": "Google Cloud Translation API has a free quota of 500k chars/month.", "translateDeepLHelpText": "DeepL API Free plan has a free quota of 500k chars/month.", "translateAzureApiKeyDescription": "Azure Cognitive Services API Key", "translateGoogleApiKeyDescription": "Google Cloud Translation API Key", "translateAzureRegionDescription": "Azure Region (e.g. global, westus)", "migrationInProgress": "Migrating Data...", "migrationComplete": "Migration Complete", "migrationFailed": "Migration Failed", "migrationDoNotClose": "Please do not close the app during migration", "migrationCurrentItem": "Migrating", "migrationPreparing": "Preparing...", "storageCustomLocation": "Custom Storage Location", "storageCurrentPath": "Current Path", "storageNewPath": "New Path", "storageSelectPath": "Select New Location", "storageMigrateData": "Start Migration", "storageResetPath": "Reset to Default", "storagePathNotEmpty": "Please select an empty folder", "storageMigrationSuccess": "Migration completed. Please restart the app.", "storageMigrationFailed": "Migration failed. Data remains in the original location.", "storagePathPermissionLost": "Custom storage path is no longer accessible. Data has been reset to default location.", "storagePathNoPermission": "No write permission for the selected folder", "bookBottomSheetReplaceFile": "Replace File", "bookBottomSheetOriginalFileSize": "Original file size: {size}", "bookBottomSheetNewFileSize": "New file size: {size}", "bookBottomSheetReplaceWarning": "Replacing the file may cause highlights to be displaced or lost because the book content might be different", "bookBottomSheetUnsupportedFileFormat": "Unsupported file format: {extension}", "bookBottomSheetReplaceFailed": "Replacement failed: {error}", "useBookStyles": "Use Book Styles", "useBookStylesDescription": "When enabled, the app will use the styling defined in the book instead of your custom settings for line height, font weight, text indent, letter spacing, and paragraph spacing", "historyBack": "Back", "historyForward": "Forward", "historyClose": "Close", "settingsAiUserPrompts": "User Prompts", "settingsAiUserPromptsAdd": "Add Prompt", "settingsAiUserPromptsHint": "Prompts added here can be conveniently used in the AI window on the reading page", "settingsAiUserPromptsName": "Prompt Name", "settingsAiUserPromptsContent": "Prompt Content", "settingsAiUserPromptsEmpty": "No user prompts yet. Click the button above to add one", "commonInputCannotBeEmpty": "Input cannot be empty", "commonAddSuccess": "Added successfully", "commonSaveSuccess": "Saved successfully", "aiShowAtBottom": "Show at Bottom", "aiShowAtRight": "Show at Right", "settingsAiChatDisplay": "AI Chat Display", "settingsAiChatDisplayMode": "Display Mode", "settingsAiChatDisplayModeAdaptive": "Adaptive", "settingsAiChatDisplayModeSplit": "Split", "settingsAiChatDisplayModePopup": "Popup", "settingsAiPanelPosition": "Panel Position", "settingsAiPanelPositionBottom": "Bottom", "settingsAiPanelPositionRight": "Right", "aiChatFontSize": "Font Size", "aiModelSwitchTitle": "Switch Model", "aiModelEnterManually": "Enter model name", "aiModelOrSelectBelow": "Or select from list:" }