feat: ship v0.3.0 with P2.1 editor polish and P3 AI collaboration
Add chapter reorder, search replace, inspiration capture, and AI chat with context editing, settings, offline handling, and naming checks. Fix dev black screen by keeping process.env reads in the main process only. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -62,6 +62,60 @@
|
||||
"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",
|
||||
"ai.contextEditorTitle": "Edit AI context",
|
||||
"ai.contextTab.chapter": "Chapters",
|
||||
"ai.contextTab.outline": "Outline",
|
||||
"ai.contextTab.setting": "Settings",
|
||||
"ai.contextTab.inspiration": "Ideas",
|
||||
"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",
|
||||
"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",
|
||||
"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",
|
||||
@@ -103,6 +157,14 @@
|
||||
"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",
|
||||
@@ -121,10 +183,17 @@
|
||||
"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",
|
||||
|
||||
Reference in New Issue
Block a user