UI redesign Phase 1: NavigationSplitView with collapsible sidebar
- Replace root VStack with NavigationSplitView (2-column, collapsible sidebar) - Add SidebarView: new chat button, conversation search, list with swipe actions - Slim HeaderView to text-only (provider + model + star); remove all icon rows - Move status pills (Online, MCP, Synced) to footer right side - Remove version number and shortcut hints from footer - Add resizable InputBar with drag handle (persisted height) and globe/network.slash online toggle - Fix Norwegian menu appearing on English systems (CFBundleLocalizations in Info.plist) - Add View menu (Model Info, History, Stats, Credits, Online Mode toggle ⌘⇧O) - Add ⌘L as alias for Search Conversations (muscle memory for /load users) - Add Check for Updates to Help menu with download URL from Gitea API - Add one-time Intel/Rosetta deprecation warning on first launch - Swift 6: fix self.Self.isoString() call sites in DatabaseService Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -1,6 +1,13 @@
|
||||
{
|
||||
"sourceLanguage" : "en",
|
||||
"strings" : {
|
||||
"·" : {
|
||||
"comment" : "A separator between the message count and the date.",
|
||||
"isCommentAutoGenerated" : true
|
||||
},
|
||||
"· %@" : {
|
||||
|
||||
},
|
||||
"(always used)" : {
|
||||
"localizations" : {
|
||||
"da" : {
|
||||
@@ -432,6 +439,12 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"^[%@ message](inflect: true)" : {
|
||||
|
||||
},
|
||||
"^[%@ token](inflect: true)" : {
|
||||
|
||||
},
|
||||
"© 2026 [Rune Olsen](https://blog.rune.pm)" : {
|
||||
"comment" : "A copyright notice with the copyright holder's name.",
|
||||
@@ -521,6 +534,7 @@
|
||||
},
|
||||
"⌘N New • ⌘M Model • ⌘S Save" : {
|
||||
"comment" : "A hint that appears on macOS when using keyboard shortcuts.",
|
||||
"extractionState" : "stale",
|
||||
"isCommentAutoGenerated" : true,
|
||||
"localizations" : {
|
||||
"da" : {
|
||||
@@ -549,6 +563,10 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"⚠️ Beta — Paperless integration is under active development. Some features may be incomplete or behave unexpectedly." : {
|
||||
"comment" : "A warning displayed in the settings view.",
|
||||
"isCommentAutoGenerated" : true
|
||||
},
|
||||
"⚠️ Custom prompt active — only this prompt will be sent to the model." : {
|
||||
"localizations" : {
|
||||
"da" : {
|
||||
@@ -894,6 +912,12 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"🧠" : {
|
||||
|
||||
},
|
||||
"1. Open Anytype → Settings → Integrations" : {
|
||||
|
||||
},
|
||||
"1. Open Paperless-NGX → Settings → API Tokens" : {
|
||||
"comment" : "A step in the process of getting a Paperless-NGX API token.",
|
||||
@@ -925,6 +949,10 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"2. Create a new API key" : {
|
||||
"comment" : "A step in the process of getting an API key from Anytype.",
|
||||
"isCommentAutoGenerated" : true
|
||||
},
|
||||
"2. Create or copy your token" : {
|
||||
"comment" : "A step in the process of getting a Paperless-NGX API token.",
|
||||
"isCommentAutoGenerated" : true,
|
||||
@@ -1132,6 +1160,9 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"Agent" : {
|
||||
|
||||
},
|
||||
"Agent Skills" : {
|
||||
"localizations" : {
|
||||
@@ -1160,6 +1191,9 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"Agents" : {
|
||||
|
||||
},
|
||||
"Allow Shell Command?" : {
|
||||
"comment" : "A title for a modal that asks the user if they want to allow a shell command.",
|
||||
@@ -1566,6 +1600,9 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"Category" : {
|
||||
|
||||
},
|
||||
"Changing these values affects how the AI generates responses. The defaults work well for most use cases." : {
|
||||
"localizations" : {
|
||||
@@ -1654,6 +1691,9 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"Choose an agent from the list to view details and run history" : {
|
||||
|
||||
},
|
||||
"Clear All" : {
|
||||
"comment" : "A button to clear all email activity logs.",
|
||||
@@ -1918,6 +1958,9 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"Cost" : {
|
||||
|
||||
},
|
||||
"Cost Examples" : {
|
||||
"comment" : "A heading for the cost examples of a model.",
|
||||
@@ -2092,6 +2135,9 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"Disabled" : {
|
||||
|
||||
},
|
||||
"Each command will require your approval before running." : {
|
||||
"localizations" : {
|
||||
@@ -2468,6 +2514,12 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"Filter by Category" : {
|
||||
|
||||
},
|
||||
"Generate an API key in your Jarvis settings and paste it above." : {
|
||||
|
||||
},
|
||||
"Google (Gemini embedding)" : {
|
||||
"localizations" : {
|
||||
@@ -2526,6 +2578,12 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"High (~80%)" : {
|
||||
|
||||
},
|
||||
"How to get your API key:" : {
|
||||
|
||||
},
|
||||
"How to get your API token:" : {
|
||||
"comment" : "A heading for a section that describes how to get your API token.",
|
||||
@@ -2640,6 +2698,9 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"Input" : {
|
||||
|
||||
},
|
||||
"Large files inflate the system prompt and may hit token limits." : {
|
||||
"comment" : "A warning displayed when a user adds a large file to a skill.",
|
||||
@@ -2726,6 +2787,9 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"Low (~20%)" : {
|
||||
|
||||
},
|
||||
"Lowercase letters, numbers, and hyphens only. No spaces." : {
|
||||
"comment" : "A description of the format of a shortcut's command.",
|
||||
@@ -2842,6 +2906,9 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"Medium (~50%)" : {
|
||||
|
||||
},
|
||||
"messages" : {
|
||||
"localizations" : {
|
||||
@@ -2870,6 +2937,9 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"Minimal (~10%)" : {
|
||||
|
||||
},
|
||||
"Model Context Protocol" : {
|
||||
"localizations" : {
|
||||
@@ -2928,6 +2998,9 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"Model thinks internally but reasoning is not shown in chat" : {
|
||||
|
||||
},
|
||||
"Multi-provider AI chat client" : {
|
||||
"comment" : "A description of oAI.",
|
||||
@@ -3018,6 +3091,9 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"New Chat" : {
|
||||
|
||||
},
|
||||
"No credit data available" : {
|
||||
"comment" : "A message displayed when there is no credit data available.",
|
||||
@@ -3196,6 +3272,9 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"No runs yet" : {
|
||||
|
||||
},
|
||||
"No shortcuts yet" : {
|
||||
"comment" : "A message displayed when a user has no shortcuts.",
|
||||
@@ -3347,6 +3426,10 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"oAI v2.4 is the last version to support Intel Macs and Rosetta. Starting with macOS 28, oAI will require Apple Silicon. Consider upgrading your Mac to continue receiving updates." : {
|
||||
"comment" : "A warning that Intel Macs are no longer supported.",
|
||||
"isCommentAutoGenerated" : true
|
||||
},
|
||||
"Ollama (Local)" : {
|
||||
"comment" : "A label displayed above the credits information for the local Ollie.",
|
||||
"isCommentAutoGenerated" : true,
|
||||
@@ -3574,6 +3657,9 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"OpenRouter Balance" : {
|
||||
|
||||
},
|
||||
"OpenRouter Credits" : {
|
||||
"comment" : "A heading for the user's OpenRouter credits.",
|
||||
@@ -3604,6 +3690,12 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"Output" : {
|
||||
|
||||
},
|
||||
"Prompt" : {
|
||||
|
||||
},
|
||||
"Read access (always enabled)" : {
|
||||
"localizations" : {
|
||||
@@ -3632,6 +3724,9 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"Reasoning" : {
|
||||
|
||||
},
|
||||
"Remote: %@" : {
|
||||
"localizations" : {
|
||||
@@ -3690,6 +3785,12 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"Run History" : {
|
||||
|
||||
},
|
||||
"Run some agents to see usage statistics" : {
|
||||
|
||||
},
|
||||
"Running locally — no credits needed!" : {
|
||||
"comment" : "A message displayed when using an on-device LLM like the one provided by the `.ollama` provider.",
|
||||
@@ -3721,6 +3822,10 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"Runs" : {
|
||||
"comment" : "A column header for the number of runs.",
|
||||
"isCommentAutoGenerated" : true
|
||||
},
|
||||
"Security Recommendation" : {
|
||||
"localizations" : {
|
||||
"da" : {
|
||||
@@ -3866,6 +3971,9 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"Sort" : {
|
||||
|
||||
},
|
||||
"SSH Key" : {
|
||||
"localizations" : {
|
||||
@@ -4180,6 +4288,9 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"Thinking…" : {
|
||||
|
||||
},
|
||||
"This default prompt is always included to ensure accurate, helpful responses." : {
|
||||
"localizations" : {
|
||||
@@ -4296,6 +4407,15 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"Total" : {
|
||||
|
||||
},
|
||||
"Total Credits" : {
|
||||
|
||||
},
|
||||
"Total Used" : {
|
||||
|
||||
},
|
||||
"Try adjusting your search or filters" : {
|
||||
"comment" : "A description of the error that occurs when no models match the user's search.",
|
||||
@@ -4444,6 +4564,9 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"Usage" : {
|
||||
|
||||
},
|
||||
"Use @filename to attach files to your message" : {
|
||||
"comment" : "A description of how to attach files to a message.",
|
||||
@@ -4565,6 +4688,7 @@
|
||||
},
|
||||
"v%@" : {
|
||||
"comment" : "A label showing the current version of oAI.",
|
||||
"extractionState" : "stale",
|
||||
"isCommentAutoGenerated" : true,
|
||||
"localizations" : {
|
||||
"da" : {
|
||||
@@ -4744,6 +4868,10 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"β" : {
|
||||
"comment" : "A beta badge.",
|
||||
"isCommentAutoGenerated" : true
|
||||
}
|
||||
},
|
||||
"version" : "1.1"
|
||||
|
||||
Reference in New Issue
Block a user