Files
bilin/public/locales/en/translation.json

639 lines
29 KiB
JSON
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{
"app.name": "Bilin",
"app.tagline": "Long-form writing platform · Every story deserves care",
"home.newBook": "New Book",
"home.importBook": "Import Book",
"home.exportAll": "Export All Books",
"home.myBooks": "My Books",
"home.recent": "Recent",
"home.bookCount": "{{count}} books",
"book.createSample": "My First Book",
"dialog.newBook.title": "New Book",
"dialog.newBook.name": "Title",
"dialog.newBook.category": "Category",
"dialog.newBook.target": "Target word count (optional)",
"dialog.cancel": "Cancel",
"dialog.save": "Save",
"dialog.create": "Create",
"settings.title": "Settings",
"settings.general": "General",
"settings.shortcuts": "Shortcuts",
"settings.about": "About",
"settings.theme": "Theme",
"settings.language": "Language",
"settings.penName": "Pen name",
"settings.editor": "Editor",
"settings.ai": "AI",
"settings.backup": "Backup & Sync",
"theme.default": "Inkstone (Default)",
"theme.bamboo": "Bamboo",
"theme.moonlit": "Moonlit",
"theme.ricepaper": "Rice Paper",
"theme.mist": "Morning Mist",
"theme.teagarden": "Tea Garden",
"theme.twilight": "Twilight",
"onboarding.welcome": "Welcome to Bilin",
"onboarding.tagline": "Your intelligent long-form writing partner",
"onboarding.slide1": "Chapters & Version History",
"onboarding.slide1desc": "Volumes, snapshots, and diffs",
"onboarding.slide2": "AI-Assisted Writing",
"onboarding.slide2desc": "Context-aware suggestions and style learning",
"onboarding.slide3": "Knowledge Base & Foreshadowing",
"onboarding.slide3desc": "Auto-extract characters, places, and plot threads",
"onboarding.penName": "Set your pen name",
"onboarding.penNamePlaceholder": "Pen name (min. 2 characters)",
"onboarding.createSample": "Create sample book \"My First Book\"",
"onboarding.skip": "Skip",
"onboarding.next": "Next",
"onboarding.start": "Start Writing",
"feature.comingSoon": "Coming soon",
"editor.placeholder": "Start writing here…",
"editor.newChapter": "New Chapter",
"editor.newVolume": "New Volume",
"editor.saved": "Saved",
"editor.saving": "Saving…",
"editor.unsaved": "Unsaved",
"editor.words": "{{count}} words",
"sidebar.chapters": "Chapters",
"sidebar.outline": "Outline",
"sidebar.settings": "Settings",
"sidebar.inspiration": "Ideas",
"panel.ai": "AI",
"panel.knowledge": "Knowledge",
"panel.wordfreq": "Word Freq",
"panel.bookSettings": "Book",
"panel.aiPlaceholder": "AI features coming soon. Configure a model to collaborate here.",
"ai.mode.chat": "Chat",
"ai.mode.interactive": "Interactive",
"ai.mode.auto": "Auto",
"ai.mode.wizard": "Wizard",
"ai.noBook": "Open a book first",
"ai.noSession": "No session",
"ai.untitledSession": "New chat",
"ai.contextPlaceholder": "📎 Context: not configured yet",
"ai.contextEmpty": "📎 Context: nothing selected",
"ai.contextSummary": "📎 Context: {{chapters}} ch. · {{outlines}} outline · {{settings}} settings · {{inspirations}} ideas · {{knowledge}} knowledge",
"ai.contextEditorTitle": "Edit AI context",
"ai.contextTab.chapter": "Chapters",
"ai.contextTab.outline": "Outline",
"ai.contextTab.setting": "Settings",
"ai.contextTab.inspiration": "Ideas",
"ai.contextTab.knowledge": "Knowledge",
"ai.contextRefreshSuggest": "Refresh suggestions",
"ai.contextKnowledgeSuggestTitle": "Suggested knowledge",
"ai.contextKnowledgeAllTitle": "All approved knowledge",
"ai.contextKnowledgeEmpty": "No approved knowledge entries",
"ai.contextEmptyList": "No items",
"ai.contextRefresh": "Refresh context",
"ai.contextSave": "Save",
"ai.slash.continue": "Continue writing 200-400 characters from the end of the current chapter in the same style.",
"ai.slash.expand": "Expand the most recent paragraph with more sensory detail without changing the plot.",
"ai.slash.polish": "Polish the following text for prose quality while keeping plot and POV unchanged.",
"ai.slash.summarize": "Summarize the key points of the current chapter, including events and character changes.",
"ai.slash.proofread": "Review grammar, punctuation, and wording issues in the following text and suggest fixes.",
"ai.offlineBanner": "⚠ Network unavailable. Offline mode enabled.",
"ai.inputPlaceholder": "Type a message or pick a quick command…",
"ai.send": "Send",
"ai.networkRestored": "Network restored. Cloud AI is available again.",
"ai.insertToEditor": "Insert into editor",
"ai.inserted": "Inserted into editor",
"ai.sending": "AI is thinking…",
"interactive.gateBlocked": "Add chapter content, outline, or settings before interactive writing",
"interactive.gateTooltip": "Requires chapter text or outline/settings",
"interactive.step.context": "Context",
"interactive.step.plot": "Plot",
"interactive.step.scene": "Scene",
"interactive.step.review": "Review",
"interactive.start": "Start interactive",
"interactive.confirmKnowledge": "Confirm knowledge context",
"interactive.loadingPlots": "Generating plot options…",
"interactive.plotNotePlaceholder": "Additional instructions (optional)",
"interactive.generateScene": "Generate scene",
"interactive.namingTitle": "Name this {{type}}",
"interactive.customName": "Custom name",
"interactive.useCustomName": "Use this name",
"interactive.refinePlaceholder": "Refinement instruction, e.g. make dialogue more hostile",
"interactive.refine": "Refine scene",
"interactive.acceptScene": "Next scene",
"interactive.finishChapter": "Finish chapter",
"interactive.chapterTitlePlaceholder": "Chapter title (optional)",
"interactive.chapterCreated": "Interactive draft chapter created",
"interactive.sceneCount": "{{count}} scene(s) confirmed",
"auto.gateBlocked": "Add chapter content, outline, or settings before auto writing",
"auto.gateTooltip": "Requires chapter text or outline/settings",
"auto.step.goal": "Goal",
"auto.step.plan": "Plan",
"auto.step.generate": "Generate",
"auto.step.done": "Done",
"auto.goalPlaceholder": "Plot points for this chapter…",
"auto.planScenes": "Plan scenes",
"auto.startGenerate": "Generate next scene",
"auto.sceneProgress": "Scene {{current}} / {{total}}",
"auto.pause": "Pause",
"auto.resume": "Resume auto",
"auto.handoffInteractive": "Switch to interactive",
"auto.finishChapter": "Finish chapter",
"auto.chapterCreated": "Auto-written chapter created",
"wizard.gateBlocked": "Add chapter content, outline, or settings before wizard mode",
"wizard.gateTooltip": "Requires chapter text or outline/settings",
"wizard.step.goal": "Goal",
"wizard.step.rhythm": "Rhythm",
"wizard.step.pov": "POV",
"wizard.step.context": "Context",
"wizard.step.preview": "Preview",
"wizard.rhythm.relaxed": "Relaxed",
"wizard.rhythm.tense": "Tense",
"wizard.rhythm.mixed": "Mixed",
"wizard.styleNotePlaceholder": "Optional style note",
"wizard.contextHint": "Confirm context including outline/settings clues",
"wizard.knowledgeList": "Knowledge to inject",
"wizard.previewTitle": "Strategy preview",
"wizard.refreshPreview": "Refresh preview",
"wizard.startGenerate": "Start generating",
"wizard.handoffToast": "Switched to interactive refinement",
"wizard.next": "Next",
"wizard.povDefault": "Default POV",
"wizard.generating": "Generating chapter…",
"snapshot.ai": "Before AI insert",
"naming.open": "🔍 Naming consistency check",
"naming.title": "Naming consistency check",
"naming.run": "Run scan",
"naming.running": "Scanning…",
"naming.emptyHint": "Click Run scan to check proper noun consistency across the book",
"naming.noConflicts": "No naming conflicts found",
"naming.confidence": "Confidence {{value}}%",
"naming.ignore": "Ignore",
"naming.replace": "Replace with “{{term}}”",
"naming.ignored": "Added to ignore list",
"naming.replaced": "Replaced {{count}} occurrence(s)",
"knowledge.placeholder": "Knowledge base entries will appear here",
"knowledge.new": "New entry",
"knowledge.edit": "Edit entry",
"knowledge.type": "Type",
"knowledge.type.character": "Character",
"knowledge.type.foreshadow": "Foreshadow",
"knowledge.type.location": "Location",
"knowledge.type.relationship": "Relationship",
"knowledge.type.fact": "Fact",
"knowledge.reason.highImportance": "High importance",
"knowledge.reason.chapterRelevant": "Chapter relevant",
"knowledge.reason.foreshadowBuried": "Foreshadow pending",
"knowledge.reason.goalMatch": "Goal match",
"knowledge.titleLabel": "Title",
"knowledge.contentLabel": "Content",
"knowledge.importance": "Importance",
"knowledge.foreshadowStatus": "Foreshadow status",
"knowledge.foreshadow.buried": "Buried",
"knowledge.foreshadow.partial": "Partial",
"knowledge.foreshadow.resolved": "Resolved",
"knowledge.sourceChapter": "Source chapter",
"knowledge.noChapter": "(none)",
"knowledge.approveNow": "Approve immediately",
"knowledge.tab.pending": "Pending",
"knowledge.tab.all": "All",
"knowledge.tab.foreshadow": "Foreshadow",
"knowledge.approve": "Approve",
"knowledge.reject": "Reject",
"knowledge.delete": "Delete",
"knowledge.batchApprove": "Approve selected ({{count}})",
"knowledge.empty": "No entries yet",
"knowledge.status.pending": "Pending",
"knowledge.status.approved": "Approved",
"knowledge.status.rejected": "Rejected",
"knowledge.statsSummary": "Buried {{buried}} · Resolved {{resolved}} · Forgotten {{forgotten}}",
"knowledge.syncFromLandmark": "Sync this foreshadow to knowledge base?",
"knowledge.syncedFromLandmark": "Synced to knowledge base (pending review)",
"knowledge.extractChapter": "Extract chapter knowledge",
"knowledge.extractFromCurrent": "Extract from current chapter",
"knowledge.batchHighConfidence": "Approve all high-confidence",
"knowledge.mergeSuggest": "Suggested update: {{title}}",
"knowledge.approveMerge": "Confirm update",
"knowledge.saveAsNew": "Save as new entry",
"knowledge.extracting": "Extracting knowledge…",
"knowledge.extractFailed": "Extraction failed, try again later",
"cockpit.title": "Writing cockpit",
"cockpit.loading": "Loading…",
"cockpit.totalWords": "Book words",
"cockpit.volumeWords": "Volume words",
"cockpit.stockReady": "Stock buffer",
"cockpit.foreshadow": "Foreshadow",
"cockpit.foreshadowDetail": "Buried {{buried}} / Resolved {{resolved}} / Forgotten {{forgotten}}",
"cockpit.resumeEdit": "Resume writing",
"cockpit.bridgeCheck": "Chapter bridge check",
"cockpit.forgottenForeshadow": "Forgotten foreshadows",
"cockpit.todayOutlineTasks": "Today's outline tasks",
"cockpit.outlineTargetWords": "Target {{count}} words",
"cockpit.todayProgress": "Today {{current}} / {{goal}} words",
"cockpit.streak": "{{days}}-day streak",
"cockpit.heatmap": "Writing heatmap",
"cockpit.achievements": "Writing achievements",
"cockpit.pomodoroToday": "{{count}} pomodoros today",
"cockpit.openGraph": "Character relationship graph",
"graph.title": "Character relationship graph",
"graph.layout.cose": "Force-directed",
"graph.layout.grid": "Grid",
"graph.layout.circle": "Circle",
"graph.truncated": "Too many characters; showing first {{count}} only",
"graph.sidebar.node": "Character: {{name}}",
"graph.sidebar.edge": "Relationship: {{label}}",
"graph.sidebar.hint": "Tap a node or edge for details",
"graph.editSetting": "Edit setting",
"graph.filter.all": "All characters",
"graph.filter.connected": "Connected only",
"relationship.title": "Character relationships",
"relationship.add": "Add relationship",
"relationship.target": "Target character",
"relationship.label": "Relationship label",
"relationship.intimacy": "Intimacy",
"analytics.title": "Writing analytics",
"analytics.speedToday": "Today {{wpm}} words/min",
"analytics.speedUnknown": "No speed data yet",
"analytics.hourlyHeatmap": "Writing hours (last 30 days)",
"analytics.povDistribution": "POV word distribution",
"analytics.volumeDistribution": "Words by volume",
"analytics.weekTrend": "Last 7 days",
"analytics.povUnassigned": "Unassigned POV",
"chapter.pov": "POV character",
"pomodoro.start": "Start pomodoro",
"pomodoro.pause": "Pause",
"pomodoro.resume": "Resume",
"pomodoro.cancel": "Cancel",
"pomodoro.complete": "Pomodoro complete! {{words}} words written",
"pomodoro.switchedBook": "Book switched — pomodoro cancelled",
"goal.dailyMet": "Daily goal met: {{current}} / {{goal}} words",
"achievement.streak7": "7-day streak",
"achievement.streak30": "30-day streak",
"achievement.streak100": "100-day streak",
"achievement.unlocked": "Achievement unlocked: {{name}}",
"knowledge.injectionHistory": "Injection history",
"knowledge.injectionPreview": "Recent injections",
"knowledge.injectionEntry": "{{date}} · {{mode}} · {{chapter}}",
"knowledge.injectionMode.interactive": "Interactive",
"knowledge.injectionMode.auto": "Auto writing",
"knowledge.injectionMode.wizard": "Wizard",
"settings.pomodoroDuration": "Pomodoro duration (minutes)",
"settings.systemNotifications": "Enable system notifications",
"settings.goalNotifications": "Enable goal notifications",
"settings.focusAmbientSound": "Focus mode ambient sound",
"settings.complianceCheck": "Enable sensitive word compliance check",
"settings.complianceWords": "Custom sensitive words",
"settings.complianceWordsHint": "One word per line; merged with built-in list",
"timeline.open": "Story timeline",
"timeline.title": "Story timeline",
"timeline.empty": "No timeline events yet",
"timeline.noTime": "No time set",
"timeline.manual": "Manual event",
"timeline.addEvent": "Add event",
"timeline.jumpChapter": "Go to chapter",
"timeline.eventTitlePrompt": "Event title",
"timeline.storyTimePrompt": "Story time (e.g. 732 or +10y)",
"timeline.characterHint": "Set character birth year in the arc panel for conflict detection",
"arc.title": "Character arc",
"arc.birthDate": "Birth year",
"arc.empty": "No arc nodes yet; knowledge entries will appear as you write",
"arc.jumpChapter": "Go to chapter",
"reference.openInEditor": "Open in editor",
"reference.detailTitle": "Reference detail",
"ai.settings.customSlashCommands": "Custom slash commands",
"ai.settings.customSlashName": "Command (e.g. /outline)",
"ai.settings.customSlashTemplate": "Expansion template",
"ai.settings.customSlashAdd": "Add command",
"bridge.title": "Chapter bridge",
"bridge.loading": "Analyzing…",
"bridge.previousTail": "Previous chapter ending",
"bridge.currentHead": "Current chapter opening",
"bridge.aiSuggestion": "AI suggestion",
"bridge.none": "(none)",
"bridge.empty": "Could not load bridge info",
"bridge.dismissLabel": "Do not prompt for this chapter",
"bridge.startWriting": "Start writing",
"publish.status.draft": "Draft",
"publish.status.ready": "Ready",
"publish.status.published": "Published",
"settings.updateSchedule": "Update schedule",
"settings.updateSchedule.none": "No reminder",
"settings.updateSchedule.daily": "Daily",
"settings.updateSchedule.alternate": "Every other day",
"settings.updateSchedule.weekly": "Weekly",
"settings.stockBufferThreshold": "Stock buffer threshold (chapters)",
"settings.dailyWordGoal": "Daily word goal",
"settings.knowledgeAutoExtract": "Auto-extract knowledge on chapter finish",
"settings.extractThreshold": "High-confidence threshold",
"stock.warning": "Low stock: {{count}}/{{threshold}} chapters ready",
"landmark.foreshadowConfirm": "Mark as foreshadow landmark?",
"ai.settings.backend": "Backend",
"ai.settings.backend.lmstudio": "LM Studio (local)",
"ai.settings.backend.openai": "OpenAI",
"ai.settings.backend.anthropic": "Anthropic",
"ai.settings.baseUrl": "Base URL",
"ai.settings.model": "Model",
"ai.settings.apiKey": "API Key",
"ai.settings.timeout": "Timeout (seconds)",
"ai.settings.testConnection": "Test connection",
"ai.settings.testing": "Testing…",
"ai.settings.testSuccess": "AI connection test succeeded",
"ai.settings.licenseNotice": "Cloud AI services are subject to each provider's terms. Please read and agree to the <openai>OpenAI Terms</openai> / <anthropic>Anthropic Terms</anthropic> before use.",
"status.chapter": "Chapter",
"status.volume": "Volume",
"status.book": "Book",
"status.dailyGoal": "Today {{current}} / {{goal}}",
"toast.bookCreated": "Book created",
"toast.saveFailed": "Save failed, please retry",
"toast.enterBookName": "Please enter a book title",
"toast.noBookOpen": "No book open",
"shortcuts.saveChapter": "Save chapter",
"shortcuts.newChapter": "New chapter",
"shortcuts.focusMode": "Focus mode",
"shortcuts.globalSearch": "Global search",
"shortcuts.closeTab": "Close tab",
"shortcuts.openReference": "Open reference",
"shortcuts.insertLandmark": "Insert landmark",
"shortcuts.openLandmarks": "Open landmarks",
"shortcuts.exportBook": "Export book",
"shortcuts.toggleTTS": "Toggle TTS",
"shortcuts.captureInspiration": "Capture inspiration",
"shortcuts.clickToRecord": "Click a shortcut button, then press a new key combination",
"shortcuts.recordHint": "Press a new key combination (Esc to cancel)",
"shortcuts.recording": "Recording…",
"shortcuts.conflict": "This shortcut is already assigned",
"shortcuts.registerFailed": "Failed to register shortcut, may conflict with another app",
"outline.new": "New Outline",
"outline.newItem": "New outline node",
"outline.empty": "No outline yet. Click below to create one.",
"setting.new": "New Setting",
"setting.empty": "No settings yet",
"setting.typeLabel": "Type",
"setting.nameLabel": "Name",
"setting.type.character": "Character",
"setting.type.location": "Location",
"setting.type.item": "Item",
"setting.type.skill": "Skill",
"setting.type.faction": "Faction",
"setting.type.custom": "Custom",
"inspiration.new": "New Idea",
"inspiration.newItem": "New idea",
"inspiration.empty": "No ideas yet",
"inspiration.untitled": "Untitled",
"inspiration.noContent": "(empty)",
"inspiration.captureTitle": "💡 Capture Idea",
"inspiration.titlePlaceholder": "Title (optional)",
"inspiration.contentPlaceholder": "Capture a fleeting thought…",
"inspiration.tagsLabel": "Tags (optional)",
"inspiration.tagsPlaceholder": "e.g. foreshadowing, vol.3, character",
"inspiration.voice": "Voice",
"inspiration.voiceUnavailable": "Speech input is not available",
"inspiration.save": "Save",
"outline.filterAll": "All",
"outline.filterUncovered": "Uncovered",
"outline.filterCovered": "Covered",
"outline.compare": "Compare",
"outline.compareTitle": "Outline vs Chapter",
"outline.exitCompare": "Exit compare",
"outline.emptyFilter": "No matching items",
"outline.notWritten": "Not written yet",
"outline.noContent": "No content",
"outline.expected": "Expected",
"outline.actual": "Actual",
"outline.deviation": "Deviation",
"outline.jumpEditor": "Open in editor",
"reference.title": "Reference",
"reference.search": "Search references…",
"reference.tab.setting": "Settings",
"reference.tab.outline": "Outline",
"reference.tab.inspiration": "Ideas",
"reference.pin": "Pin panel",
"reference.unpin": "Unpin",
"search.title": "Global Search",
"search.placeholder": "Search…",
"search.regex": "Regex",
"search.caseSensitive": "Case sensitive",
"search.replace": "Replace with",
"search.replacePreview": "Preview replace",
"search.replaceExecute": "Replace all",
"search.replaceConfirm": "Replace all matches in this book? This cannot be undone.",
"search.replaceDone": "Replaced {{count}} occurrence(s)",
"version.title": "Version History",
"version.empty": "No snapshots",
"version.create": "Create snapshot",
"version.restore": "Restore",
"version.manual": "Manual snapshot",
"version.selectHint": "Select a version to compare",
"version.restoreConfirm": "Restore this version? Current content will be overwritten.",
"landmark.title": "Landmarks",
"landmark.empty": "No landmarks",
"landmark.insert": "Insert landmark",
"landmark.prompt": "Landmark label",
"landmark.created": "Landmark inserted",
"landmark.chapterOnly": "Insert landmarks in a chapter",
"wordfreq.hint": "Top 100 words in current scope",
"wordfreq.aiNaming": "AI naming suggestions",
"settings.templates": "Chapter Templates",
"settings.submission": "Submission Presets",
"dialog.edit": "Edit",
"dialog.delete": "Delete",
"template.title": "Chapter Templates",
"template.quickNew": "New from Template",
"template.builtin": "Built-in",
"template.custom": "Custom",
"template.selectTemplate": "Select template",
"template.chapterTitle": "Chapter title",
"template.chapterTitlePlaceholder": "Enter chapter title",
"template.createChapter": "Create chapter",
"template.add": "Add template",
"template.newTemplate": "New template",
"template.name": "Template name",
"template.body": "Template body",
"import.title": "Import Book",
"import.pickFile": "Browse file",
"import.noFile": "No file selected",
"import.splitMode": "Split mode",
"import.splitAuto": "Auto-detect chapters",
"import.splitParagraph": "Split by blank lines",
"import.splitRegex": "Custom regex",
"import.customRegex": "Regex pattern",
"import.preview": "Preview chapters",
"import.chapterCount": "{{count}} chapter(s)",
"import.largeFileConfirm": "Large file ({{size}}). Import may take 30s2min. Continue?",
"import.progress": "Importing {{current}}/{{total}}",
"import.start": "Start import",
"import.importing": "Importing…",
"import.success": "Import complete",
"import.failed": "Import failed",
"export.title": "Export Chapter",
"export.submissionPresets": "Submission preset",
"export.copyClipboard": "Copy to clipboard",
"export.saveTxt": "Save as text",
"export.copied": "Copied to clipboard",
"export.saved": "Saved to {{path}}",
"export.preview": "Preview",
"export.loading": "Loading…",
"export.noPreview": "(no preview)",
"export.kind": "Export type",
"export.kindSubmission": "Submission format (current chapter)",
"export.kindNovel": "Bilin project pack (.novel)",
"export.novelDesc": "Export the full book database, metadata, and attachments. Restore via Import Book.",
"export.exportNovel": "Export project pack",
"export.kindMatrix": "Standard export (txt/md/docx/pdf)",
"export.matrixFormat": "File format",
"export.matrixScope": "Export scope",
"export.matrixOptions": "Options",
"export.scopeChapter": "Current chapter",
"export.scopeVolume": "Current volume",
"export.scopeBook": "Entire book",
"export.optionAnnotations": "Include annotations/landmarks",
"export.optionAiMark": "Mark AI-generated content",
"export.matrixStart": "Export file",
"export.matrixSaved": "Saved to {{path}}",
"export.matrixFailed": "Export failed",
"export.exporting": "Exporting…",
"import.novelHint": "Imports the entire book from a .novel pack (chapters, settings, knowledge).",
"import.novelAllHint": "Imports all books from a .novel-all pack. Choose a conflict strategy.",
"pack.exportAllTitle": "Export all books",
"pack.exportAllDesc": "Package all books and global settings into a .novel-all file.",
"pack.estimating": "Estimating size…",
"pack.estimatedSize": "Estimated size: {{size}}",
"pack.noDest": "No destination selected",
"pack.pickDest": "Choose location",
"pack.largeExportConfirm": "Export is large ({{size}}). Continue?",
"pack.exportAllStart": "Start export",
"pack.exportAllSuccess": "All books exported",
"pack.exportAllFailed": "Export failed",
"pack.exportBookSuccess": "\"{{name}}\" exported as project pack",
"pack.exportBookFailed": "Project pack export failed",
"pack.exporting": "Exporting…",
"pack.cancel": "Cancel",
"pack.progress": "Progress {{current}}/{{total}}",
"pack.importStrategy": "Import strategy",
"pack.strategyNew": "Import all as new books",
"pack.strategySkip": "Skip existing books",
"pack.strategyOverwrite": "Overwrite matching books",
"pack.importAllSuccess": "Import done: {{imported}} new, {{skipped}} skipped, {{overwritten}} overwritten",
"backup.desc": "Export books as Bilin project packs for backup, migration, or restore.",
"backup.exportCurrentBook": "Export current book",
"backup.exportBookBtn": "Export as .novel",
"backup.exportAllBooks": "Export all books",
"backup.exportAllBtn": "Open bulk export",
"backup.noBook": "Open a book in the editor first",
"backup.openBookHint": "Open a book in the editor to export a single project pack",
"backup.exportBookSuccess": "\"{{name}}\" exported",
"backup.exportBookFailed": "Export failed",
"backup.formatHint": "Bulk exports over 500 MB require extra confirmation.",
"submission.title": "Submission Presets",
"submission.titleFormat": "Title format",
"submission.indent": "Indent paragraphs",
"submission.indentOn": "Indent: on",
"submission.indentOff": "Indent: off",
"submission.includeAuthorsNote": "Include author's note",
"submission.paragraphGap": "Paragraph spacing",
"submission.gapSingle": "Single spacing",
"submission.gapDouble": "Double spacing",
"submission.add": "Add preset",
"submission.newPreset": "New preset",
"submission.name": "Preset name",
"submission.setDefault": "Set as default",
"inspiration.selectBook": "Link to book",
"inspiration.saved": "Idea saved",
"inspiration.noBooks": "Create a book first to save ideas",
"bookSettings.title": "Book settings",
"bookSettings.synopsis": "Synopsis",
"bookSettings.cover": "Cover",
"bookSettings.pickCover": "Choose cover image",
"bookSettings.noCover": "Not set",
"bookSettings.alwaysShowCockpit": "Show cockpit on every open",
"bookSettings.dangerZone": "Danger zone",
"bookSettings.deleteBook": "Delete this book",
"bookSettings.deleteConfirm": "Delete \"{{name}}\"? This cannot be undone.",
"volume.rename": "Rename volume",
"volume.renamePrompt": "Volume name",
"volume.editDescription": "Edit description",
"volume.descriptionPrompt": "Volume description",
"volume.delete": "Delete volume",
"volume.deleteConfirm": "Delete volume \"{{name}}\"?",
"volume.deleteHasChapters": "Cannot delete a volume that still has chapters",
"chapter.delete": "Delete chapter",
"chapter.deleteConfirm": "Delete chapter \"{{title}}\"?",
"chapterMeta.title": "Chapter metadata",
"chapterMeta.open": "Meta",
"chapterMeta.summary": "Summary",
"chapterMeta.storyTime": "Story time",
"chapterMeta.wordThreshold": "Word count threshold",
"chapterMeta.tags": "Tags",
"chapterMeta.tagPlaceholder": "Enter tag",
"chapterMeta.addTag": "Add",
"chapterMeta.publishedAt": "Published {{date}}",
"ai.session.rename": "Rename session",
"ai.session.renamePrompt": "Session title",
"ai.session.archive": "Archive",
"ai.session.unarchive": "Unarchive",
"ai.session.export": "Export",
"ai.session.exportMd": "Markdown (.md)",
"ai.session.exportTxt": "Plain text (.txt)",
"ai.session.delete": "Delete session",
"ai.session.deleteConfirm": "Delete session \"{{title}}\"?",
"ai.session.active": "Active",
"ai.session.archived": "Archived",
"focus.toggle": "Focus mode",
"focus.exit": "Exit focus",
"tts.started": "Reading aloud",
"tts.stopped": "Stopped reading",
"tts.noText": "Nothing to read",
"home.exportAllWave2": "Bulk export coming in a later release",
"readMode.title": "Read mode",
"readMode.open": "Read mode",
"readMode.exit": "Exit reading",
"readMode.deviceWidth": "Device width",
"readMode.devicePhone": "Phone (360px)",
"readMode.deviceTablet": "Tablet (768px)",
"readMode.deviceDesktop": "Desktop (100%)",
"readMode.fontTheme": "Font theme",
"readMode.fontSerif": "Serif",
"readMode.fontSans": "Sans-serif",
"readMode.fontEyeCare": "Eye care",
"readMode.tts": "Read aloud",
"settings.extensions": "Extensions",
"sync.title": "Cloud sync",
"sync.desc": "Sync encrypted backup of all books to WebDAV or a local folder",
"sync.mode": "Sync mode",
"sync.modeLocal": "Local folder",
"sync.modeWebdav": "WebDAV",
"sync.localPathPlaceholder": "Sync folder path",
"sync.pickFolder": "Pick folder",
"sync.webdavUrl": "WebDAV URL",
"sync.webdavUser": "WebDAV username",
"sync.schedule": "Schedule",
"sync.scheduleManual": "Manual",
"sync.scheduleHourly": "Hourly",
"sync.scheduleDaily": "Daily",
"sync.scheduleWeekly": "Weekly",
"sync.passwordPlaceholder": "Sync password (min 8 chars)",
"sync.passwordHint": "Set a sync password with at least 8 characters",
"sync.saveConfig": "Save sync config",
"sync.runNow": "Sync now",
"sync.running": "Syncing…",
"sync.done": "Sync complete",
"sync.configSaved": "Sync config saved",
"sync.lastSync": "Last sync: {{time}} ({{status}})",
"sync.conflictTitle": "Sync conflict",
"sync.conflictDesc": "Both local and remote changed. Choose which copy to keep.",
"sync.useRemote": "Use remote",
"sync.useLocal": "Use local",
"extensions.title": "Extensions",
"extensions.desc": "Extension API skeleton (no third-party code execution)",
"extensions.devMode": "Developer mode (manifest validation only)",
"extensions.stubHint": "Full extension marketplace coming in a future release.",
"update.available": "Update {{version}} available",
"update.download": "Download update",
"update.downloading": "Downloading {{percent}}%",
"update.install": "Restart to install",
"crash.title": "Unclean shutdown detected",
"crash.desc": "The app may have exited unexpectedly last time. You can send a local log report (stub).",
"crash.send": "Send report",
"crash.dismiss": "Dismiss",
"ai.settings.builtinSkills": "Built-in skills",
"ai.settings.skillContinue": "Continue writing",
"ai.settings.skillPolish": "Polish",
"ai.settings.skillProofread": "Proofread",
"ai.settings.mcpConnector": "MCP connector URL",
"ai.settings.mcpTest": "Test connection"
}