<?xml version="1.0" encoding="UTF-8"?>
<xliff xmlns="urn:oasis:names:tc:xliff:document:1.2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.2" xsi:schemaLocation="urn:oasis:names:tc:xliff:document:1.2 http://docs.oasis-open.org/xliff/v1.2/os/xliff-core-1.2-strict.xsd">
  <file original="oAI/Localizable.xcstrings" source-language="en" target-language="en" datatype="plaintext">
    <header>
      <tool tool-id="com.apple.dt.xcode" tool-name="Xcode" tool-version="26.2" build-num="17C52"/>
    </header>
    <body>
      <trans-unit id="# When reviewing code, always:&#10;- Check for security vulnerabilities&#10;- Verify error handling&#10;- Suggest tests for edge cases" xml:space="preserve">
        <source># When reviewing code, always:
- Check for security vulnerabilities
- Verify error handling
- Suggest tests for edge cases</source>
        <target state="new"># When reviewing code, always:
- Check for security vulnerabilities
- Verify error handling
- Suggest tests for edge cases</target>
        <note/>
      </trans-unit>
      <trans-unit id="%@" xml:space="preserve">
        <source>%@</source>
        <target state="new">%@</target>
        <note/>
      </trans-unit>
      <trans-unit id="%@ active — injected into every conversation" xml:space="preserve">
        <source>%@ active — injected into every conversation</source>
        <target state="new">%@ active — injected into every conversation</target>
        <note from="auto-generated">A footnote indicating that some skills are active.</note>
      </trans-unit>
      <trans-unit id="%@ chars" xml:space="preserve">
        <source>%@ chars</source>
        <target state="new">%@ chars</target>
        <note from="auto-generated">A label showing the number of characters in the skill's content. The argument is the number of characters in the content.</note>
      </trans-unit>
      <trans-unit id="%@ min" xml:space="preserve">
        <source>%@ min</source>
        <target state="new">%@ min</target>
        <note/>
      </trans-unit>
      <trans-unit id="%@ pt" xml:space="preserve">
        <source>%@ pt</source>
        <target state="new">%@ pt</target>
        <note from="auto-generated">A label showing the current size of the GUI text. The value is a slider that lets the user adjust the size, with a label showing the current size in points.</note>
      </trans-unit>
      <trans-unit id="%@s" xml:space="preserve">
        <source>%@s</source>
        <target state="new">%@s</target>
        <note/>
      </trans-unit>
      <trans-unit id="(always used)" xml:space="preserve">
        <source>(always used)</source>
        <target state="new">(always used)</target>
        <note/>
      </trans-unit>
      <trans-unit id="(optional)" xml:space="preserve">
        <source>(optional)</source>
        <target state="new">(optional)</target>
        <note/>
      </trans-unit>
      <trans-unit id="1. Open Paperless-NGX → Settings → API Tokens" xml:space="preserve">
        <source>1. Open Paperless-NGX → Settings → API Tokens</source>
        <target state="new">1. Open Paperless-NGX → Settings → API Tokens</target>
        <note from="auto-generated">A step in the process of getting a Paperless-NGX API token.</note>
      </trans-unit>
      <trans-unit id="2. Create or copy your token" xml:space="preserve">
        <source>2. Create or copy your token</source>
        <target state="new">2. Create or copy your token</target>
        <note from="auto-generated">A step in the process of getting a Paperless-NGX API token.</note>
      </trans-unit>
      <trans-unit id="3. Paste it above" xml:space="preserve">
        <source>3. Paste it above</source>
        <target state="new">3. Paste it above</target>
        <note from="auto-generated">A step in the process of getting a Paperless-NGX API token.</note>
      </trans-unit>
      <trans-unit id="A shortcut with command %@ already exists." xml:space="preserve">
        <source>A shortcut with command %@ already exists.</source>
        <target state="new">A shortcut with command %@ already exists.</target>
        <note from="auto-generated">A warning message that appears when a user tries to import a shortcut that already exists in their settings. The argument is the command of the conflicting shortcut.</note>
      </trans-unit>
      <trans-unit id="API keys and credentials are **not** included in the backup. You will need to re-enter them after restoring on a new machine." xml:space="preserve">
        <source>API keys and credentials are **not** included in the backup. You will need to re-enter them after restoring on a new machine.</source>
        <target state="new">API keys and credentials are **not** included in the backup. You will need to re-enter them after restoring on a new machine.</target>
        <note from="auto-generated">A warning message displayed in the settings tab of the app.</note>
      </trans-unit>
      <trans-unit id="Access Token" xml:space="preserve">
        <source>Access Token</source>
        <target state="new">Access Token</target>
        <note/>
      </trans-unit>
      <trans-unit id="Active" xml:space="preserve">
        <source>Active</source>
        <target state="new">Active</target>
        <note from="auto-generated">A toggle</note>
      </trans-unit>
      <trans-unit id="Active skills are appended to the system prompt. Toggle them per-skill to control what the AI knows." xml:space="preserve">
        <source>Active skills are appended to the system prompt. Toggle them per-skill to control what the AI knows.</source>
        <target state="new">Active skills are appended to the system prompt. Toggle them per-skill to control what the AI knows.</target>
        <note from="auto-generated">A description of how to toggle the active status of a skill.</note>
      </trans-unit>
      <trans-unit id="Agent Skills" xml:space="preserve">
        <source>Agent Skills</source>
        <target state="new">Agent Skills</target>
        <note/>
      </trans-unit>
      <trans-unit id="Allow Shell Command?" xml:space="preserve">
        <source>Allow Shell Command?</source>
        <target state="new">Allow Shell Command?</target>
        <note from="auto-generated">A title for a modal that asks the user if they want to allow a shell command.</note>
      </trans-unit>
      <trans-unit id="Allow the AI to run shell commands on your machine. Commands are executed via /bin/zsh. Enable approval mode to review each command before it runs." xml:space="preserve">
        <source>Allow the AI to run shell commands on your machine. Commands are executed via /bin/zsh. Enable approval mode to review each command before it runs.</source>
        <target state="new">Allow the AI to run shell commands on your machine. Commands are executed via /bin/zsh. Enable approval mode to review each command before it runs.</target>
        <note/>
      </trans-unit>
      <trans-unit id="Anthropic Balance" xml:space="preserve">
        <source>Anthropic Balance</source>
        <target state="new">Anthropic Balance</target>
        <note from="auto-generated">A label displayed above the user's balance on the Anthropic platform.</note>
      </trans-unit>
      <trans-unit id="Auto-execute mode: commands run without approval. Use with caution." xml:space="preserve">
        <source>Auto-execute mode: commands run without approval. Use with caution.</source>
        <target state="new">Auto-execute mode: commands run without approval. Use with caution.</target>
        <note/>
      </trans-unit>
      <trans-unit id="Auto-sync can cause conflicts if running on multiple machines simultaneously." xml:space="preserve">
        <source>Auto-sync can cause conflicts if running on multiple machines simultaneously.</source>
        <target state="new">Auto-sync can cause conflicts if running on multiple machines simultaneously.</target>
        <note/>
      </trans-unit>
      <trans-unit id="Automatically select relevant messages instead of sending all history. Reduces token usage for long conversations." xml:space="preserve">
        <source>Automatically select relevant messages instead of sending all history. Reduces token usage for long conversations.</source>
        <target state="new">Automatically select relevant messages instead of sending all history. Reduces token usage for long conversations.</target>
        <note/>
      </trans-unit>
      <trans-unit id="Automatically summarize old portions of long conversations to save tokens and improve context efficiency." xml:space="preserve">
        <source>Automatically summarize old portions of long conversations to save tokens and improve context efficiency.</source>
        <target state="new">Automatically summarize old portions of long conversations to save tokens and improve context efficiency.</target>
        <note/>
      </trans-unit>
      <trans-unit id="Back Up Now" xml:space="preserve">
        <source>Back Up Now</source>
        <target state="new">Back Up Now</target>
        <note from="auto-generated">A button that backs up the user's data.</note>
      </trans-unit>
      <trans-unit id="Backup location:" xml:space="preserve">
        <source>Backup location:</source>
        <target state="new">Backup location:</target>
        <note from="auto-generated">A label displayed under the backup location.</note>
      </trans-unit>
      <trans-unit id="Bash Execution" xml:space="preserve">
        <source>Bash Execution</source>
        <target state="new">Bash Execution</target>
        <note/>
      </trans-unit>
      <trans-unit id="Branch: %@" xml:space="preserve">
        <source>Branch: %@</source>
        <target state="new">Branch: %@</target>
        <note/>
      </trans-unit>
      <trans-unit id="Built with SwiftUI" xml:space="preserve">
        <source>Built with SwiftUI</source>
        <target state="new">Built with SwiftUI</target>
        <note from="auto-generated">A label that says that the app is built with SwiftUI.</note>
      </trans-unit>
      <trans-unit id="COMMAND" xml:space="preserve">
        <source>COMMAND</source>
        <target state="new">COMMAND</target>
        <note from="auto-generated">A label displayed above the command that the AI wants to run.</note>
      </trans-unit>
      <trans-unit id="Capabilities" xml:space="preserve">
        <source>Capabilities</source>
        <target state="new">Capabilities</target>
        <note from="auto-generated">A label displayed under the list of capabilities of a model.</note>
      </trans-unit>
      <trans-unit id="Changing these values affects how the AI generates responses. The defaults work well for most use cases." xml:space="preserve">
        <source>Changing these values affects how the AI generates responses. The defaults work well for most use cases.</source>
        <target state="new">Changing these values affects how the AI generates responses. The defaults work well for most use cases.</target>
        <note/>
      </trans-unit>
      <trans-unit id="Check your balance at:" xml:space="preserve">
        <source>Check your balance at:</source>
        <target state="new">Check your balance at:</target>
        <note from="auto-generated">A label displayed under a link to check the user's balance.</note>
      </trans-unit>
      <trans-unit id="Check your usage at:" xml:space="preserve">
        <source>Check your usage at:</source>
        <target state="new">Check your usage at:</target>
        <note from="auto-generated">A label displayed under a link to OpenAI's usage page.</note>
      </trans-unit>
      <trans-unit id="Clear All" xml:space="preserve">
        <source>Clear All</source>
        <target state="new">Clear All</target>
        <note from="auto-generated">A button to clear all email activity logs.</note>
      </trans-unit>
      <trans-unit id="Click 'Add Folder' below or drag folders here from Finder" xml:space="preserve">
        <source>Click 'Add Folder' below or drag folders here from Finder</source>
        <target state="new">Click 'Add Folder' below or drag folders here from Finder</target>
        <note/>
      </trans-unit>
      <trans-unit id="Command" xml:space="preserve">
        <source>Command</source>
        <target state="new">Command</target>
        <note from="auto-generated">A label displayed above the command field.</note>
      </trans-unit>
      <trans-unit id="Command History" xml:space="preserve">
        <source>Command History</source>
        <target state="new">Command History</target>
        <note from="auto-generated">A label displayed above the command history.</note>
      </trans-unit>
      <trans-unit id="Content (Markdown)" xml:space="preserve">
        <source>Content (Markdown)</source>
        <target state="new">Content (Markdown)</target>
        <note from="auto-generated">A</note>
      </trans-unit>
      <trans-unit id="Controls which messages are written to ~/Library/Logs/oAI.log" xml:space="preserve">
        <source>Controls which messages are written to ~/Library/Logs/oAI.log</source>
        <target state="new">Controls which messages are written to ~/Library/Logs/oAI.log</target>
        <note/>
      </trans-unit>
      <trans-unit id="Conversations" xml:space="preserve">
        <source>Conversations</source>
        <target state="new">Conversations</target>
        <note/>
      </trans-unit>
      <trans-unit id="Copied!" xml:space="preserve">
        <source>Copied!</source>
        <target state="new">Copied!</target>
        <note from="auto-generated">A message displayed when a code block is successfully copied to the clipboard.</note>
      </trans-unit>
      <trans-unit id="Cost Examples" xml:space="preserve">
        <source>Cost Examples</source>
        <target state="new">Cost Examples</target>
        <note from="auto-generated">A heading for the cost examples of a model.</note>
      </trans-unit>
      <trans-unit id="Create a dedicated email account specifically for AI handling. Do NOT use your personal email address." xml:space="preserve">
        <source>Create a dedicated email account specifically for AI handling. Do NOT use your personal email address.</source>
        <target state="new">Create a dedicated email account specifically for AI handling. Do NOT use your personal email address.</target>
        <note/>
      </trans-unit>
      <trans-unit id="Create a shortcut to save a reusable prompt template accessible from the / command dropdown." xml:space="preserve">
        <source>Create a shortcut to save a reusable prompt template accessible from the / command dropdown.</source>
        <target state="new">Create a shortcut to save a reusable prompt template accessible from the / command dropdown.</target>
        <note from="auto-generated">A description of the functionality of the shortcut editor.</note>
      </trans-unit>
      <trans-unit id="Default Prompt" xml:space="preserve">
        <source>Default Prompt</source>
        <target state="new">Default Prompt</target>
        <note/>
      </trans-unit>
      <trans-unit id="Delete (%@)" xml:space="preserve">
        <source>Delete (%@)</source>
        <target state="new">Delete (%@)</target>
        <note/>
      </trans-unit>
      <trans-unit id="Description" xml:space="preserve">
        <source>Description</source>
        <target state="new">Description</target>
        <note from="auto-generated">A label</note>
      </trans-unit>
      <trans-unit id="Each command will require your approval before running." xml:space="preserve">
        <source>Each command will require your approval before running.</source>
        <target state="new">Each command will require your approval before running.</target>
        <note/>
      </trans-unit>
      <trans-unit id="Edit" xml:space="preserve">
        <source>Edit</source>
        <target state="new">Edit</target>
        <note from="auto-generated">A button to edit a skill.</note>
      </trans-unit>
      <trans-unit id="Email Activity Log" xml:space="preserve">
        <source>Email Activity Log</source>
        <target state="new">Email Activity Log</target>
        <note from="auto-generated">The title of the email activity log view.</note>
      </trans-unit>
      <trans-unit id="Email Handler System Prompt" xml:space="preserve">
        <source>Email Handler System Prompt</source>
        <target state="new">Email Handler System Prompt</target>
        <note/>
      </trans-unit>
      <trans-unit id="Email handler uses ONLY its own system prompt, completely isolated from your main chat settings. A custom prompt below will override the defaults." xml:space="preserve">
        <source>Email handler uses ONLY its own system prompt, completely isolated from your main chat settings. A custom prompt below will override the defaults.</source>
        <target state="new">Email handler uses ONLY its own system prompt, completely isolated from your main chat settings. A custom prompt below will override the defaults.</target>
        <note/>
      </trans-unit>
      <trans-unit id="Email tasks have READ-ONLY access to MCP folders. The AI cannot write, delete, or modify files when processing emails." xml:space="preserve">
        <source>Email tasks have READ-ONLY access to MCP folders. The AI cannot write, delete, or modify files when processing emails.</source>
        <target state="new">Email tasks have READ-ONLY access to MCP folders. The AI cannot write, delete, or modify files when processing emails.</target>
        <note/>
      </trans-unit>
      <trans-unit id="Enable AI-powered semantic search using %@ embeddings. Cost: ~$0.02–0.15/1M tokens." xml:space="preserve">
        <source>Enable AI-powered semantic search using %@ embeddings. Cost: ~$0.02–0.15/1M tokens.</source>
        <target state="new">Enable AI-powered semantic search using %@ embeddings. Cost: ~$0.02–0.15/1M tokens.</target>
        <note/>
      </trans-unit>
      <trans-unit id="Enable email handler in Settings to start monitoring emails" xml:space="preserve">
        <source>Enable email handler in Settings to start monitoring emails</source>
        <target state="new">Enable email handler in Settings to start monitoring emails</target>
        <note from="auto-generated">A message displayed when the email handler is disabled.</note>
      </trans-unit>
      <trans-unit id="Error: %@" xml:space="preserve">
        <source>Error: %@</source>
        <target state="new">Error: %@</target>
        <note from="auto-generated">A label displaying an error message in the checkout view.</note>
      </trans-unit>
      <trans-unit id="Example structure:" xml:space="preserve">
        <source>Example structure:</source>
        <target state="new">Example structure:</target>
        <note from="auto-generated">A</note>
      </trans-unit>
      <trans-unit id="Example: oai-bot-x7k2m9p3@gmail.com" xml:space="preserve">
        <source>Example: oai-bot-x7k2m9p3@gmail.com</source>
        <target state="new">Example: oai-bot-x7k2m9p3@gmail.com</target>
        <note/>
      </trans-unit>
      <trans-unit id="File Access Permissions" xml:space="preserve">
        <source>File Access Permissions</source>
        <target state="new">File Access Permissions</target>
        <note/>
      </trans-unit>
      <trans-unit id="Files" xml:space="preserve">
        <source>Files</source>
        <target state="new">Files</target>
        <note from="auto-generated">A label displayed above the list of files attached to a skill.</note>
      </trans-unit>
      <trans-unit id="Google (Gemini embedding)" xml:space="preserve">
        <source>Google (Gemini embedding)</source>
        <target state="new">Google (Gemini embedding)</target>
        <note/>
      </trans-unit>
      <trans-unit id="Help" xml:space="preserve">
        <source>Help</source>
        <target state="new">Help</target>
        <note from="auto-generated">A heading for the help screen</note>
      </trans-unit>
      <trans-unit id="How to get your API token:" xml:space="preserve">
        <source>How to get your API token:</source>
        <target state="new">How to get your API token:</target>
        <note from="auto-generated">A heading for a section that describes how to get your API token.</note>
      </trans-unit>
      <trans-unit id="Initialize Repository" xml:space="preserve">
        <source>Initialize Repository</source>
        <target state="new">Initialize Repository</target>
        <note/>
      </trans-unit>
      <trans-unit id="Inject into system prompt for every conversation" xml:space="preserve">
        <source>Inject into system prompt for every conversation</source>
        <target state="new">Inject into system prompt for every conversation</target>
        <note/>
      </trans-unit>
      <trans-unit id="Large files inflate the system prompt and may hit token limits." xml:space="preserve">
        <source>Large files inflate the system prompt and may hit token limits.</source>
        <target state="new">Large files inflate the system prompt and may hit token limits.</target>
        <note from="auto-generated">A warning displayed when a user adds a large file to a skill.</note>
      </trans-unit>
      <trans-unit id="Last sync: %@" xml:space="preserve">
        <source>Last sync: %@</source>
        <target state="new">Last sync: %@</target>
        <note/>
      </trans-unit>
      <trans-unit id="Leave empty to use the default email handler system prompt." xml:space="preserve">
        <source>Leave empty to use the default email handler system prompt.</source>
        <target state="new">Leave empty to use the default email handler system prompt.</target>
        <note/>
      </trans-unit>
      <trans-unit id="Lowercase letters, numbers, and hyphens only. No spaces." xml:space="preserve">
        <source>Lowercase letters, numbers, and hyphens only. No spaces.</source>
        <target state="new">Lowercase letters, numbers, and hyphens only. No spaces.</target>
        <note from="auto-generated">A description of the format of a shortcut's command.</note>
      </trans-unit>
      <trans-unit id="MCP gives the AI controlled access to read and optionally write files on your computer. The AI can search, read, and analyze files in allowed folders to help with coding, analysis, and other tasks." xml:space="preserve">
        <source>MCP gives the AI controlled access to read and optionally write files on your computer. The AI can search, read, and analyze files in allowed folders to help with coding, analysis, and other tasks.</source>
        <target state="new">MCP gives the AI controlled access to read and optionally write files on your computer. The AI can search, read, and analyze files in allowed folders to help with coding, analysis, and other tasks.</target>
        <note/>
      </trans-unit>
      <trans-unit id="Markdown instruction files injected into the system prompt. Compatible with SKILL.md format." xml:space="preserve">
        <source>Markdown instruction files injected into the system prompt. Compatible with SKILL.md format.</source>
        <target state="new">Markdown instruction files injected into the system prompt. Compatible with SKILL.md format.</target>
        <note from="auto-generated">A description of the format of agent skills.</note>
      </trans-unit>
      <trans-unit id="Max Tokens: set to 0 to use model default. Higher values allow longer responses." xml:space="preserve">
        <source>Max Tokens: set to 0 to use model default. Higher values allow longer responses.</source>
        <target state="new">Max Tokens: set to 0 to use model default. Higher values allow longer responses.</target>
        <note/>
      </trans-unit>
      <trans-unit id="Model Context Protocol" xml:space="preserve">
        <source>Model Context Protocol</source>
        <target state="new">Model Context Protocol</target>
        <note/>
      </trans-unit>
      <trans-unit id="Model Info" xml:space="preserve">
        <source>Model Info</source>
        <target state="new">Model Info</target>
        <note from="auto-generated">A title for a view that displays information about a model.</note>
      </trans-unit>
      <trans-unit id="Multi-provider AI chat client" xml:space="preserve">
        <source>Multi-provider AI chat client</source>
        <target state="new">Multi-provider AI chat client</target>
        <note from="auto-generated">A description of oAI.</note>
      </trans-unit>
      <trans-unit id="Name" xml:space="preserve">
        <source>Name</source>
        <target state="new">Name</target>
        <note from="auto-generated">A label</note>
      </trans-unit>
      <trans-unit id="Never" xml:space="preserve">
        <source>Never</source>
        <target state="new">Never</target>
        <note from="auto-generated">A label displayed in the settings view that indicates when the last backup was taken.</note>
      </trans-unit>
      <trans-unit id="No credit data available" xml:space="preserve">
        <source>No credit data available</source>
        <target state="new">No credit data available</target>
        <note from="auto-generated">A message displayed when there is no credit data available.</note>
      </trans-unit>
      <trans-unit id="No email activity yet" xml:space="preserve">
        <source>No email activity yet</source>
        <target state="new">No email activity yet</target>
        <note from="auto-generated">A message displayed when the user has not yet received any email activity.</note>
      </trans-unit>
      <trans-unit id="No files attached. Add JSON, YAML, CSV or TXT files to inject data into the system prompt alongside this skill." xml:space="preserve">
        <source>No files attached. Add JSON, YAML, CSV or TXT files to inject data into the system prompt alongside this skill.</source>
        <target state="new">No files attached. Add JSON, YAML, CSV or TXT files to inject data into the system prompt alongside this skill.</target>
        <note from="auto-generated">A message displayed when a user has not attached any files to a skill.</note>
      </trans-unit>
      <trans-unit id="No model selected" xml:space="preserve">
        <source>No model selected</source>
        <target state="new">No model selected</target>
        <note from="auto-generated">A label displayed when no model is selected.</note>
      </trans-unit>
      <trans-unit id="No models available" xml:space="preserve">
        <source>No models available</source>
        <target state="new">No models available</target>
        <note/>
      </trans-unit>
      <trans-unit id="No results for &quot;%@&quot;" xml:space="preserve">
        <source>No results for "%@"</source>
        <target state="new">No results for "%@"</target>
        <note from="auto-generated">A message displayed when there are no search results. The argument is the search term.</note>
      </trans-unit>
      <trans-unit id="No shortcuts yet" xml:space="preserve">
        <source>No shortcuts yet</source>
        <target state="new">No shortcuts yet</target>
        <note from="auto-generated">A message displayed when a user has no shortcuts.</note>
      </trans-unit>
      <trans-unit id="No shortcuts yet — click New Shortcut to create one." xml:space="preserve">
        <source>No shortcuts yet — click New Shortcut to create one.</source>
        <target state="new">No shortcuts yet — click New Shortcut to create one.</target>
        <note from="auto-generated">A message displayed when a user has no shortcuts.</note>
      </trans-unit>
      <trans-unit id="No skills yet" xml:space="preserve">
        <source>No skills yet</source>
        <target state="new">No skills yet</target>
        <note from="auto-generated">A message displayed when the user has no skills.</note>
      </trans-unit>
      <trans-unit id="No skills yet — click New Skill or Import to get started." xml:space="preserve">
        <source>No skills yet — click New Skill or Import to get started.</source>
        <target state="new">No skills yet — click New Skill or Import to get started.</target>
        <note from="auto-generated">A message displayed when a user has not created any skills.</note>
      </trans-unit>
      <trans-unit id="Ollama (Local)" xml:space="preserve">
        <source>Ollama (Local)</source>
        <target state="new">Ollama (Local)</target>
        <note from="auto-generated">A label displayed above the credits information for the local Ollie.</note>
      </trans-unit>
      <trans-unit id="Only emails with this text in the subject line will be processed. Example: &quot;[OAIBOT] What's the weather?&quot;" xml:space="preserve">
        <source>Only emails with this text in the subject line will be processed. Example: "[OAIBOT] What's the weather?"</source>
        <target state="new">Only emails with this text in the subject line will be processed. Example: "[OAIBOT] What's the weather?"</target>
        <note/>
      </trans-unit>
      <trans-unit id="OpenAI (text-embedding-3-large)" xml:space="preserve">
        <source>OpenAI (text-embedding-3-large)</source>
        <target state="new">OpenAI (text-embedding-3-large)</target>
        <note/>
      </trans-unit>
      <trans-unit id="OpenAI (text-embedding-3-small)" xml:space="preserve">
        <source>OpenAI (text-embedding-3-small)</source>
        <target state="new">OpenAI (text-embedding-3-small)</target>
        <note/>
      </trans-unit>
      <trans-unit id="OpenAI Balance" xml:space="preserve">
        <source>OpenAI Balance</source>
        <target state="new">OpenAI Balance</target>
        <note from="auto-generated">A label displayed above the OpenAI balance section.</note>
      </trans-unit>
      <trans-unit id="OpenRouter (OpenAI large)" xml:space="preserve">
        <source>OpenRouter (OpenAI large)</source>
        <target state="new">OpenRouter (OpenAI large)</target>
        <note/>
      </trans-unit>
      <trans-unit id="OpenRouter (OpenAI small)" xml:space="preserve">
        <source>OpenRouter (OpenAI small)</source>
        <target state="new">OpenRouter (OpenAI small)</target>
        <note/>
      </trans-unit>
      <trans-unit id="OpenRouter (Qwen 8B)" xml:space="preserve">
        <source>OpenRouter (Qwen 8B)</source>
        <target state="new">OpenRouter (Qwen 8B)</target>
        <note/>
      </trans-unit>
      <trans-unit id="OpenRouter Credits" xml:space="preserve">
        <source>OpenRouter Credits</source>
        <target state="new">OpenRouter Credits</target>
        <note from="auto-generated">A heading for the user's OpenRouter credits.</note>
      </trans-unit>
      <trans-unit id="Read access (always enabled)" xml:space="preserve">
        <source>Read access (always enabled)</source>
        <target state="new">Read access (always enabled)</target>
        <note/>
      </trans-unit>
      <trans-unit id="Remote: %@" xml:space="preserve">
        <source>Remote: %@</source>
        <target state="new">Remote: %@</target>
        <note/>
      </trans-unit>
      <trans-unit id="Restore from File…" xml:space="preserve">
        <source>Restore from File…</source>
        <target state="new">Restore from File…</target>
        <note from="auto-generated">A button that allows the user to restore their data from a file.</note>
      </trans-unit>
      <trans-unit id="Running locally — no credits needed!" xml:space="preserve">
        <source>Running locally — no credits needed!</source>
        <target state="new">Running locally — no credits needed!</target>
        <note from="auto-generated">A message displayed when using an on-device LLM like the one provided by the `.ollama` provider.</note>
      </trans-unit>
      <trans-unit id="SKILL.md format — write instructions in plain Markdown." xml:space="preserve">
        <source>SKILL.md format — write instructions in plain Markdown.</source>
        <target state="new">SKILL.md format — write instructions in plain Markdown.</target>
        <note/>
      </trans-unit>
      <trans-unit id="SSH Key" xml:space="preserve">
        <source>SSH Key</source>
        <target state="new">SSH Key</target>
        <note/>
      </trans-unit>
      <trans-unit id="Security Recommendation" xml:space="preserve">
        <source>Security Recommendation</source>
        <target state="new">Security Recommendation</target>
        <note/>
      </trans-unit>
      <trans-unit id="Shell commands have full access to your system. Only approve commands you understand and trust." xml:space="preserve">
        <source>Shell commands have full access to your system. Only approve commands you understand and trust.</source>
        <target state="new">Shell commands have full access to your system. Only approve commands you understand and trust.</target>
        <note from="auto-generated">A warning banner displayed in the Bash Approval Sheet.</note>
      </trans-unit>
      <trans-unit id="Show text labels below toolbar icons (helpful for new users)" xml:space="preserve">
        <source>Show text labels below toolbar icons (helpful for new users)</source>
        <target state="new">Show text labels below toolbar icons (helpful for new users)</target>
        <note from="auto-generated">A description of the feature that shows text labels below toolbar icons.</note>
      </trans-unit>
      <trans-unit id="Skills are markdown instruction files that teach the AI how to behave. Active skills are automatically injected into the system prompt." xml:space="preserve">
        <source>Skills are markdown instruction files that teach the AI how to behave. Active skills are automatically injected into the system prompt.</source>
        <target state="new">Skills are markdown instruction files that teach the AI how to behave. Active skills are automatically injected into the system prompt.</target>
        <note from="auto-generated">A description of how skills are used by the AI.</note>
      </trans-unit>
      <trans-unit id="Stream responses as they're generated. Disable for single, complete responses." xml:space="preserve">
        <source>Stream responses as they're generated. Disable for single, complete responses.</source>
        <target state="new">Stream responses as they're generated. Disable for single, complete responses.</target>
        <note/>
      </trans-unit>
      <trans-unit id="Sync Now" xml:space="preserve">
        <source>Sync Now</source>
        <target state="new">Sync Now</target>
        <note/>
      </trans-unit>
      <trans-unit id="Sync conversations and settings across multiple machines using Git." xml:space="preserve">
        <source>Sync conversations and settings across multiple machines using Git.</source>
        <target state="new">Sync conversations and settings across multiple machines using Git.</target>
        <note/>
      </trans-unit>
      <trans-unit id="Temperature: 0 = model default · 0.0–0.7 = focused · 0.8–2.0 = creative" xml:space="preserve">
        <source>Temperature: 0 = model default · 0.0–0.7 = focused · 0.8–2.0 = creative</source>
        <target state="new">Temperature: 0 = model default · 0.0–0.7 = focused · 0.8–2.0 = creative</target>
        <note/>
      </trans-unit>
      <trans-unit id="Template" xml:space="preserve">
        <source>Template</source>
        <target state="new">Template</target>
        <note from="auto-generated">A label displayed above the text editor for the shortcut's template.</note>
      </trans-unit>
      <trans-unit id="Test Connection" xml:space="preserve">
        <source>Test Connection</source>
        <target state="new">Test Connection</target>
        <note/>
      </trans-unit>
      <trans-unit id="Text files are injected into the system prompt alongside the skill." xml:space="preserve">
        <source>Text files are injected into the system prompt alongside the skill.</source>
        <target state="new">Text files are injected into the system prompt alongside the skill.</target>
        <note from="auto-generated">A description of how text files are injected into the system prompt.</note>
      </trans-unit>
      <trans-unit id="The AI can read and search files in allowed folders" xml:space="preserve">
        <source>The AI can read and search files in allowed folders</source>
        <target state="new">The AI can read and search files in allowed folders</target>
        <note/>
      </trans-unit>
      <trans-unit id="The AI reads this content and decides when to apply it. Describe **what** the AI should do and **how** — be specific and concise." xml:space="preserve">
        <source>The AI reads this content and decides when to apply it. Describe **what** the AI should do and **how** — be specific and concise.</source>
        <target state="new">The AI reads this content and decides when to apply it. Describe **what** the AI should do and **how** — be specific and concise.</target>
        <note/>
      </trans-unit>
      <trans-unit id="The AI wants to run the following command" xml:space="preserve">
        <source>The AI wants to run the following command</source>
        <target state="new">The AI wants to run the following command</target>
        <note from="auto-generated">A description of the command that the AI wants to run.</note>
      </trans-unit>
      <trans-unit id="This default prompt is always included to ensure accurate, helpful responses." xml:space="preserve">
        <source>This default prompt is always included to ensure accurate, helpful responses.</source>
        <target state="new">This default prompt is always included to ensure accurate, helpful responses.</target>
        <note/>
      </trans-unit>
      <trans-unit id="This will permanently delete all email activity logs. This action cannot be undone." xml:space="preserve">
        <source>This will permanently delete all email activity logs. This action cannot be undone.</source>
        <target state="new">This will permanently delete all email activity logs. This action cannot be undone.</target>
        <note from="auto-generated">A message displayed in an alert when the user is about to clear all email logs.</note>
      </trans-unit>
      <trans-unit id="Token Distribution" xml:space="preserve">
        <source>Token Distribution</source>
        <target state="new">Token Distribution</target>
        <note from="auto-generated">A label displayed under the token distribution bar.</note>
      </trans-unit>
      <trans-unit id="Try adjusting your search or filters" xml:space="preserve">
        <source>Try adjusting your search or filters</source>
        <target state="new">Try adjusting your search or filters</target>
        <note from="auto-generated">A description of the error that occurs when no models match the user's search.</note>
      </trans-unit>
      <trans-unit id="Type / in the input to see command suggestions" xml:space="preserve">
        <source>Type / in the input to see command suggestions</source>
        <target state="new">Type / in the input to see command suggestions</target>
        <note from="auto-generated">A description of how to use the keyboard shortcut.</note>
      </trans-unit>
      <trans-unit id="Type a message or / for commands..." xml:space="preserve">
        <source>Type a message or / for commands...</source>
        <target state="new">Type a message or / for commands...</target>
        <note from="auto-generated">A placeholder text displayed in the input area when</note>
      </trans-unit>
      <trans-unit id="Uncommitted changes: %@" xml:space="preserve">
        <source>Uncommitted changes: %@</source>
        <target state="new">Uncommitted changes: %@</target>
        <note/>
      </trans-unit>
      <trans-unit id="Update Available%@" xml:space="preserve">
        <source>Update Available%@</source>
        <target state="new">Update Available%@</target>
        <note from="auto-generated">A button that opens a website with information about a new version of oAI. The argument is the version number of the new version.</note>
      </trans-unit>
      <trans-unit id="Use **{{input}}** in the template to insert whatever you type after the command." xml:space="preserve">
        <source>Use **{{input}}** in the template to insert whatever you type after the command.</source>
        <target state="new">Use **{{input}}** in the template to insert whatever you type after the command.</target>
        <note from="auto-generated">A tooltip for the "lightbulb" icon in the shortcuts view</note>
      </trans-unit>
      <trans-unit id="Use **{{input}}** to insert whatever you type after the command." xml:space="preserve">
        <source>Use **{{input}}** to insert whatever you type after the command.</source>
        <target state="new">Use **{{input}}** to insert whatever you type after the command.</target>
        <note from="auto-generated">A description of how to use the shortcut template.</note>
      </trans-unit>
      <trans-unit id="Use @filename to attach files to your message" xml:space="preserve">
        <source>Use @filename to attach files to your message</source>
        <target state="new">Use @filename to attach files to your message</target>
        <note from="auto-generated">A description of how to attach files to a message.</note>
      </trans-unit>
      <trans-unit id="Username + Password" xml:space="preserve">
        <source>Username + Password</source>
        <target state="new">Username + Password</target>
        <note/>
      </trans-unit>
      <trans-unit id="Version %@ (%@)" xml:space="preserve">
        <source>Version %1$@ (%2$@)</source>
        <target state="new">Version %1$@ (%2$@)</target>
        <note from="auto-generated">A version number in the format "Version 1.0 (1)"</note>
      </trans-unit>
      <trans-unit id="View Email Log" xml:space="preserve">
        <source>View Email Log</source>
        <target state="new">View Email Log</target>
        <note/>
      </trans-unit>
      <trans-unit id="When enabled, listing and searching skip gitignored files. Write operations always ignore .gitignore." xml:space="preserve">
        <source>When enabled, listing and searching skip gitignored files. Write operations always ignore .gitignore.</source>
        <target state="new">When enabled, listing and searching skip gitignored files. Write operations always ignore .gitignore.</target>
        <note/>
      </trans-unit>
      <trans-unit id="Working directory:" xml:space="preserve">
        <source>Working directory:</source>
        <target state="new">Working directory:</target>
        <note from="auto-generated">A label displayed under the working directory of a pending shell command.</note>
      </trans-unit>
      <trans-unit id="You can import any SKILL.md file from skill0.io or write your own." xml:space="preserve">
        <source>You can import any SKILL.md file from skill0.io or write your own.</source>
        <target state="new">You can import any SKILL.md file from skill0.io or write your own.</target>
        <note from="auto-generated">A description of how to use skills.</note>
      </trans-unit>
      <trans-unit id="[GNU Affero General Public License v3.0](https://www.gnu.org/licenses/agpl-3.0.html)" xml:space="preserve">
        <source>[GNU Affero General Public License v3.0](https://www.gnu.org/licenses/agpl-3.0.html)</source>
        <target state="new">[GNU Affero General Public License v3.0](https://www.gnu.org/licenses/agpl-3.0.html)</target>
        <note from="auto-generated">A link to the GNU Affero General Public License.</note>
      </trans-unit>
      <trans-unit id="^[%@ entry](inflect: true)" xml:space="preserve">
        <source>^[%@ entry](inflect: true)</source>
        <target state="new">^[%@ entry](inflect: true)</target>
        <note from="auto-generated">A link that shows the number of email logs. The number is pluralized based on the value of the `inflect: true` modifier.</note>
      </trans-unit>
      <trans-unit id="active" xml:space="preserve">
        <source>active</source>
        <target state="new">active</target>
        <note from="auto-generated">A label for an active skill.</note>
      </trans-unit>
      <trans-unit id="messages" xml:space="preserve">
        <source>messages</source>
        <target state="new">messages</target>
        <note/>
      </trans-unit>
      <trans-unit id="oAI" xml:space="preserve">
        <source>oAI</source>
        <target state="new">oAI</target>
        <note from="auto-generated">The name of the app.</note>
      </trans-unit>
      <trans-unit id="tokens" xml:space="preserve">
        <source>tokens</source>
        <target state="new">tokens</target>
        <note/>
      </trans-unit>
      <trans-unit id="v%@" xml:space="preserve">
        <source>v%@</source>
        <target state="new">v%@</target>
        <note from="auto-generated">A label showing the current version of oAI.</note>
      </trans-unit>
      <trans-unit id="~750 tokens ≈ 500 words. Online mode allows web search in responses." xml:space="preserve">
        <source>~750 tokens ≈ 500 words. Online mode allows web search in responses.</source>
        <target state="new">~750 tokens ≈ 500 words. Online mode allows web search in responses.</target>
        <note/>
      </trans-unit>
      <trans-unit id="© 2026 [Rune Olsen](https://blog.rune.pm)" xml:space="preserve">
        <source>© 2026 [Rune Olsen](https://blog.rune.pm)</source>
        <target state="new">© 2026 [Rune Olsen](https://blog.rune.pm)</target>
        <note from="auto-generated">A copyright notice with the copyright holder's name.</note>
      </trans-unit>
      <trans-unit id="•" xml:space="preserve">
        <source>•</source>
        <target state="new">•</target>
        <note from="auto-generated">A bullet point.</note>
      </trans-unit>
      <trans-unit id="• Add public key to your git provider" xml:space="preserve">
        <source>• Add public key to your git provider</source>
        <target state="new">• Add public key to your git provider</target>
        <note/>
      </trans-unit>
      <trans-unit id="• No credentials needed in oAI" xml:space="preserve">
        <source>• No credentials needed in oAI</source>
        <target state="new">• No credentials needed in oAI</target>
        <note/>
      </trans-unit>
      <trans-unit id="• Uses your system SSH keys (~/.ssh/id_ed25519)" xml:space="preserve">
        <source>• Uses your system SSH keys (~/.ssh/id_ed25519)</source>
        <target state="new">• Uses your system SSH keys (~/.ssh/id_ed25519)</target>
        <note/>
      </trans-unit>
      <trans-unit id="ℹ️ SSH Key Authentication" xml:space="preserve">
        <source>ℹ️ SSH Key Authentication</source>
        <target state="new">ℹ️ SSH Key Authentication</target>
        <note/>
      </trans-unit>
      <trans-unit id="↑↓ navigate  ↩ open" xml:space="preserve">
        <source>↑↓ navigate  ↩ open</source>
        <target state="new">↑↓ navigate  ↩ open</target>
        <note/>
      </trans-unit>
      <trans-unit id="⌘N New • ⌘M Model • ⌘S Save" xml:space="preserve">
        <source>⌘N New • ⌘M Model • ⌘S Save</source>
        <target state="new">⌘N New • ⌘M Model • ⌘S Save</target>
        <note from="auto-generated">A hint that appears on macOS when using keyboard shortcuts.</note>
      </trans-unit>
      <trans-unit id="⚠️ Custom prompt active — only this prompt will be sent to the model." xml:space="preserve">
        <source>⚠️ Custom prompt active — only this prompt will be sent to the model.</source>
        <target state="new">⚠️ Custom prompt active — only this prompt will be sent to the model.</target>
        <note/>
      </trans-unit>
      <trans-unit id="⚠️ Many providers (GitHub) no longer support password authentication. Use Access Token instead." xml:space="preserve">
        <source>⚠️ Many providers (GitHub) no longer support password authentication. Use Access Token instead.</source>
        <target state="new">⚠️ Many providers (GitHub) no longer support password authentication. Use Access Token instead.</target>
        <note/>
      </trans-unit>
      <trans-unit id="⚠️ No embedding providers available. Configure an API key for OpenAI, OpenRouter, or Google in the General tab." xml:space="preserve">
        <source>⚠️ No embedding providers available. Configure an API key for OpenAI, OpenRouter, or Google in the General tab.</source>
        <target state="new">⚠️ No embedding providers available. Configure an API key for OpenAI, OpenRouter, or Google in the General tab.</target>
        <note/>
      </trans-unit>
      <trans-unit id="⚠️ One-time operation — generates embeddings for all messages. Estimated cost: ~$0.04 for 10,000 messages." xml:space="preserve">
        <source>⚠️ One-time operation — generates embeddings for all messages. Estimated cost: ~$0.04 for 10,000 messages.</source>
        <target state="new">⚠️ One-time operation — generates embeddings for all messages. Estimated cost: ~$0.04 for 10,000 messages.</target>
        <note/>
      </trans-unit>
      <trans-unit id="⚠️ These are advanced settings" xml:space="preserve">
        <source>⚠️ These are advanced settings</source>
        <target state="new">⚠️ These are advanced settings</target>
        <note/>
      </trans-unit>
      <trans-unit id="⚠️ interrupted" xml:space="preserve">
        <source>⚠️ interrupted</source>
        <target state="new">⚠️ interrupted</target>
        <note from="auto-generated">A warning label that appears next to a message that was interrupted.</note>
      </trans-unit>
      <trans-unit id="🌐" xml:space="preserve">
        <source>🌐</source>
        <target state="new">🌐</target>
        <note from="auto-generated">A label for a model that can be used to generate images.</note>
      </trans-unit>
      <trans-unit id="🎨" xml:space="preserve">
        <source>🎨</source>
        <target state="new">🎨</target>
        <note from="auto-generated">A button that generates an image.</note>
      </trans-unit>
      <trans-unit id="👁️" xml:space="preserve">
        <source>👁️</source>
        <target state="new">👁️</target>
        <note from="auto-generated">A checkmark emoji.</note>
      </trans-unit>
      <trans-unit id="💡 For Gmail, use an App Password. Google Account &gt; Security &gt; 2-Step Verification &gt; App passwords." xml:space="preserve">
        <source>💡 For Gmail, use an App Password. Google Account &gt; Security &gt; 2-Step Verification &gt; App passwords.</source>
        <target state="new">💡 For Gmail, use an App Password. Google Account &gt; Security &gt; 2-Step Verification &gt; App passwords.</target>
        <note/>
      </trans-unit>
      <trans-unit id="💡 Use HTTPS URL (e.g., https://gitlab.pm/user/repo.git) — works with all auth methods." xml:space="preserve">
        <source>💡 Use HTTPS URL (e.g., https://gitlab.pm/user/repo.git) — works with all auth methods.</source>
        <target state="new">💡 Use HTTPS URL (e.g., https://gitlab.pm/user/repo.git) — works with all auth methods.</target>
        <note/>
      </trans-unit>
      <trans-unit id="🔧" xml:space="preserve">
        <source>🔧</source>
        <target state="new">🔧</target>
        <note from="auto-generated">A checkmark emoji.</note>
      </trans-unit>
    </body>
  </file>
  <file original="oAI/oAI-InfoPlist.xcstrings" source-language="en" target-language="en" datatype="plaintext">
    <header>
      <tool tool-id="com.apple.dt.xcode" tool-name="Xcode" tool-version="26.2" build-num="17C52"/>
    </header>
    <body>
      <trans-unit id="CFBundleName" xml:space="preserve">
        <source>oAI</source>
        <target state="new">oAI</target>
        <note>Bundle name</note>
      </trans-unit>
    </body>
  </file>
</xliff>
