{ "@@locale": "en", "appTitle": "Conduit", "@appTitle": {"description": "Application name displayed in the app and OS UI."}, "initializationFailed": "Initialization Failed", "@initializationFailed": {"description": "Shown if the app fails to initialize critical services."}, "retry": "Retry", "@retry": {"description": "Button label to try an action again."}, "back": "Back", "@back": {"description": "Back navigation label/tooltip."}, "you": "You", "@you": {"description": "Profile tab title."}, "loadingProfile": "Loading profile...", "@loadingProfile": {"description": "Progress message while fetching profile data."}, "unableToLoadProfile": "Unable to load profile", "@unableToLoadProfile": {"description": "Error title shown when profile request fails."}, "pleaseCheckConnection": "Please check your connection and try again", "connectionIssueTitle": "Can't reach your server", "@connectionIssueTitle": { "description": "Title shown when the configured server is unreachable" }, "connectionIssueSubtitle": "Reconnect to continue or sign out to choose a different server.", "@connectionIssueSubtitle": { "description": "Subtitle explaining available actions when the server cannot be reached" }, "stillOfflineMessage": "We still can't reach the server. Double-check your connection and try again.", "@stillOfflineMessage": { "description": "Status message after a retry when connectivity has not been restored" }, "@pleaseCheckConnection": {"description": "Generic connectivity hint after an error."}, "account": "Account", "@account": {"description": "Section header for account-related options."}, "supportConduit": "Support Conduit", "@supportConduit": { "description": "Section header inviting the user to financially support the project." }, "supportConduitSubtitle": "Keep Conduit independent by funding ongoing development.", "@supportConduitSubtitle": { "description": "Subtitle explaining why donations are helpful." }, "githubSponsorsTitle": "GitHub Sponsors", "@githubSponsorsTitle": { "description": "Tile title linking to the GitHub Sponsors page." }, "githubSponsorsSubtitle": "Become a recurring sponsor to fund roadmap items.", "@githubSponsorsSubtitle": { "description": "Subtitle explaining the impact of recurring sponsorship." }, "buyMeACoffeeTitle": "Buy Me a Coffee", "@buyMeACoffeeTitle": { "description": "Tile title linking to the Buy Me a Coffee page." }, "buyMeACoffeeSubtitle": "Make a one-time donation to say thanks.", "@buyMeACoffeeSubtitle": { "description": "Subtitle encouraging one-time donations via Buy Me a Coffee." }, "signOut": "Sign Out", "@signOut": {"description": "Button/title for signing out of the app."}, "endYourSession": "End your session", "@endYourSession": {"description": "Subtitle explaining the sign-out action."}, "defaultModel": "Default Model", "@defaultModel": {"description": "Label for choosing a default AI model."}, "autoSelect": "Auto-select", "@autoSelect": {"description": "Option to let the app pick a suitable model automatically."}, "loadingModels": "Loading models...", "@loadingModels": {"description": "Progress message while fetching model list."}, "failedToLoadModels": "Failed to load models", "@failedToLoadModels": {"description": "Error message shown when model list cannot be retrieved."}, "availableModels": "Available Models", "@availableModels": {"description": "Header above a list of models to select from."}, "noResults": "No results", "@noResults": {"description": "Shown when a search returns no matches."}, "searchModels": "Search models...", "@searchModels": {"description": "Hint text for model search input."}, "errorMessage": "Something went wrong. Please try again.", "@errorMessage": {"description": "Generic error message for unexpected failures."}, "loginButton": "Login", "@loginButton": {"description": "Button text for the login action."}, "menuItem": "Settings", "@menuItem": {"description": "Generic settings menu item label."}, "dynamicContentWithPlaceholder": "Welcome, {name}!", "@dynamicContentWithPlaceholder": { "description": "Greeting message with a dynamic user name.", "placeholders": { "name": { "type": "String", "example": "Alex" } } }, "itemsCount": "{count, plural, =0{No items} one{1 item} other{{count} items}}", "@itemsCount": { "description": "Pluralized count of items.", "placeholders": { "count": { "type": "int", "example": "3" } } }, "closeButtonSemantic": "Close", "@closeButtonSemantic": {"description": "Accessible label for a generic Close button."}, "loadingContent": "Loading content", "@loadingContent": {"description": "Shown while loading page content."}, "noItems": "No items", "@noItems": {"description": "Placeholder text when a list is empty."}, "noItemsToDisplay": "No items to display", "@noItemsToDisplay": {"description": "Alternative empty-state description."}, "loadMore": "Load More", "@loadMore": {"description": "Button label to load additional items in a paged list."}, "workspace": "Workspace", "@workspace": {"description": "Section/tab label for documents and files."}, "recentFiles": "Recent Files", "@recentFiles": {"description": "Header for recently accessed files."}, "knowledgeBase": "Knowledge Base", "@knowledgeBase": {"description": "Section for knowledge base content."}, "noFilesYet": "No files yet", "@noFilesYet": {"description": "Empty state when no files are present."}, "uploadDocsPrompt": "Upload documents to reference in your conversations with Conduit", "@uploadDocsPrompt": {"description": "Prompt encouraging users to upload documents."}, "uploadFirstFile": "Upload your first file", "@uploadFirstFile": {"description": "CTA to add the first file."}, "attachments": "Attachments", "@attachments": {"description": "Header above list of attached files in compose area."}, "knowledgeBaseEmpty": "Knowledge base is empty", "@knowledgeBaseEmpty": {"description": "Empty state title for the knowledge base section."}, "createCollectionsPrompt": "Create collections of related documents for easy reference", "@createCollectionsPrompt": {"description": "Prompt describing the benefit of creating collections."}, "chooseSourcePhoto": "Choose your source", "@chooseSourcePhoto": {"description": "Sheet title to pick camera or photo library."}, "takePhoto": "Take a photo", "@takePhoto": {"description": "Action to open camera and capture a new photo."}, "chooseFromGallery": "Choose from your photos", "@chooseFromGallery": {"description": "Action to pick an existing photo from library."}, "document": "Document", "@document": {"description": "Generic document label used in UI."}, "documentHint": "PDF, Word, or text file", "@documentHint": {"description": "Helper hint listing supported document types."}, "uploadFileTitle": "Upload File", "@uploadFileTitle": {"description": "Dialog/sheet title for file upload."}, "fileUploadComingSoon": "File upload for {type} is coming soon!", "@fileUploadComingSoon": { "placeholders": {"type": {"type": "String", "example": "gallery"}}, "description": "Temporary message for upcoming upload feature by type" }, "kbCreationComingSoon": "Knowledge base creation is coming soon!", "@kbCreationComingSoon": {"description": "Temporary message indicating KB creation feature is not yet available."}, "backToServerSetup": "Back to server setup", "@backToServerSetup": {"description": "Button/back label to return to server configuration flow."}, "connectedToServer": "Connected to Server", "@connectedToServer": {"description": "Status label indicating a successful server connection."}, "signIn": "Sign In", "@signIn": {"description": "Button/heading for sign-in flows."}, "enterCredentials": "Enter your credentials to access your AI conversations", "@enterCredentials": {"description": "Instructional text on the sign-in screen."}, "credentials": "Credentials", "@credentials": {"description": "Header for credential input section."}, "apiKey": "API Key", "@apiKey": {"description": "Label for API key input field."}, "usernameOrEmail": "Username or Email", "@usernameOrEmail": {"description": "Label for username/email input field."}, "password": "Password", "@password": {"description": "Label for password input field."}, "signInWithApiKey": "Sign in with API Key", "@signInWithApiKey": {"description": "Alternative sign-in method using an API key."}, "connectToServer": "Connect to Server", "@connectToServer": {"description": "Call-to-action button for server connection."}, "enterServerAddress": "Enter your Open-WebUI server address to get started", "@enterServerAddress": {"description": "Instruction telling user to provide server URL to begin."}, "serverUrl": "Server URL", "@serverUrl": {"description": "Label for server URL field."}, "serverUrlHint": "https://your-server.com", "@serverUrlHint": {"description": "Hint text showing example server URL format."}, "enterServerUrlSemantic": "Enter your server URL or IP address", "@enterServerUrlSemantic": {"description": "Semantic/ARIA label instructing to enter server URL or IP."}, "headerName": "Header Name", "@headerName": {"description": "Label for custom header key."}, "headerValue": "Header Value", "@headerValue": {"description": "Label for custom header value."}, "headerValueHint": "api-key-123 or Bearer token", "@headerValueHint": {"description": "Hint text with example header values, including API key or Bearer token."}, "addHeader": "Add header", "@addHeader": {"description": "Button to add a new custom header row."}, "maximumHeadersReached": "Maximum headers reached", "@maximumHeadersReached": {"description": "Warning when custom header limit is reached."}, "removeHeader": "Remove header", "@removeHeader": {"description": "Action to remove a custom header row."}, "connecting": "Connecting...", "@connecting": {"description": "Status while attempting to connect to server."}, "connectToServerButton": "Connect to Server", "@connectToServerButton": {"description": "Primary action button to initiate server connection."}, "demoModeActive": "Demo Mode Active", "@demoModeActive": {"description": "Banner/text indicating the app runs in demo mode."}, "skipServerSetupTryDemo": "Skip server setup and try the demo", "@skipServerSetupTryDemo": {"description": "CTA to bypass server configuration and enter demo mode."}, "enterDemo": "Enter Demo", "@enterDemo": {"description": "Button to enter demo mode."}, "demoBadge": "Demo", "@demoBadge": {"description": "Small badge label for demo content."}, "serverNotOpenWebUI": "This does not appear to be an Open-WebUI server.", "@serverNotOpenWebUI": {"description": "Validation error when the server does not resemble Open-WebUI."}, "serverUrlEmpty": "Server URL cannot be empty", "@serverUrlEmpty": {"description": "Validation message for empty server URL."}, "invalidUrlFormat": "Invalid URL format. Please check your input.", "@invalidUrlFormat": {"description": "Validation message when URL format is incorrect."}, "onlyHttpHttps": "Only HTTP and HTTPS protocols are supported.", "@onlyHttpHttps": {"description": "Validation note restricting protocols to HTTP/HTTPS."}, "serverAddressRequired": "Server address is required (e.g., 192.168.1.10 or example.com).", "@serverAddressRequired": {"description": "Validation hint providing examples for server addresses."}, "portRange": "Port must be between 1 and 65535.", "@portRange": {"description": "Validation message for allowed port range."}, "invalidIpFormat": "Invalid IP address format. Use format like 192.168.1.10.", "@invalidIpFormat": {"description": "Validation message for IP addresses with example."}, "couldNotConnectGeneric": "Couldn't connect. Double-check the address and try again.", "@couldNotConnectGeneric": {"description": "Generic failure when connecting to the server."}, "weCouldntReachServer": "We couldn't reach the server. Check your connection and that the server is running.", "@weCouldntReachServer": {"description": "Connectivity error with hints to verify server status."}, "connectionTimedOut": "Connection timed out. The server might be busy or blocked by a firewall.", "@connectionTimedOut": {"description": "Timeout error while connecting to server."}, "useHttpOrHttpsOnly": "Use http:// or https:// only.", "@useHttpOrHttpsOnly": {"description": "Note instructing the user to include protocol in URL."}, "loginFailed": "Login failed", "@loginFailed": {"description": "Title for failed login attempts."}, "invalidCredentials": "Invalid username or password. Please try again.", "@invalidCredentials": {"description": "Detailed message when authentication fails."}, "serverRedirectingHttps": "The server is redirecting requests. Check your server's HTTPS configuration.", "@serverRedirectingHttps": {"description": "Warning about HTTP→HTTPS redirect issues."}, "unableToConnectServer": "Unable to connect to server. Please check your connection.", "@unableToConnectServer": {"description": "Generic server connection failure message."}, "requestTimedOut": "The request timed out. Please try again.", "@requestTimedOut": {"description": "Timeout while waiting for a server response."}, "genericSignInFailed": "We couldn't sign you in. Check your credentials and server settings.", "@genericSignInFailed": {"description": "Fallback sign-in error when no specific cause is known."} , "skip": "Skip", "@skip": {"description": "Onboarding: skip current step."}, "next": "Next", "@next": {"description": "Onboarding: go to the next step."}, "done": "Done", "@done": {"description": "Onboarding: finish the flow."}, "onboardStartTitle": "Hello, {username}", "@onboardStartTitle": {"description": "Onboarding card: start chatting title.", "placeholders": {"username": {"type": "String", "example": "Alex"}}}, "onboardStartSubtitle": "Choose a model to get started. Tap New Chat anytime.", "@onboardStartSubtitle": {"description": "Onboarding card: brief guidance to begin a chat."}, "onboardStartBullet1": "Tap the model name in the top bar to switch models", "@onboardStartBullet1": {"description": "Bullet: how to switch models."}, "onboardStartBullet2": "Use New Chat to reset context", "@onboardStartBullet2": {"description": "Bullet: how to reset context."}, "onboardAttachTitle": "Add context", "@onboardAttachTitle": {"description": "Onboarding card: attach context title."}, "onboardAttachSubtitle": "Ground replies with content from Workspace or photos.", "@onboardAttachSubtitle": {"description": "Onboarding card: why attaching context helps."}, "onboardAttachBullet1": "Workspace: PDFs, docs, datasets", "@onboardAttachBullet1": {"description": "Bullet: types of workspace files."}, "onboardAttachBullet2": "Photos: camera or library", "@onboardAttachBullet2": {"description": "Bullet: photo sources supported."}, "onboardSpeakTitle": "Speak naturally", "@onboardSpeakTitle": {"description": "Onboarding card: voice input title."}, "onboardSpeakSubtitle": "Tap the mic to dictate with live waveform feedback.", "@onboardSpeakSubtitle": {"description": "Onboarding card: how voice input works."}, "onboardSpeakBullet1": "Stop anytime; partial text is preserved", "@onboardSpeakBullet1": {"description": "Bullet: stop dictation preserves text."}, "onboardSpeakBullet2": "Great for quick notes or long prompts", "@onboardSpeakBullet2": {"description": "Bullet: benefits of voice input."}, "onboardQuickTitle": "Quick actions", "@onboardQuickTitle": {"description": "Onboarding card: quick actions title."}, "onboardQuickSubtitle": "Open the menu to switch between Chats, Workspace, and Profile.", "@onboardQuickSubtitle": {"description": "Onboarding card: how to use the app menu."}, "onboardQuickBullet1": "Tap the menu to access Chats, Workspace, Profile", "@onboardQuickBullet1": {"description": "Bullet: menu access to sections."}, "onboardQuickBullet2": "Start New Chat or manage models from the top bar", "@onboardQuickBullet2": {"description": "Bullet: actions available in the top bar."} , "addAttachment": "Add attachment", "@addAttachment": {"description": "Button to add an attachment (file/photo)."}, "attachmentLabel": "Attachment", "@attachmentLabel": { "description": "Label shown beside attachment chips in messages." }, "tools": "Tools", "@tools": {"description": "Header for a tools/actions section."}, "voiceInput": "Voice input", "@voiceInput": {"description": "Label for voice input feature."}, "voice": "Voice", "@voice": {"description": "Title for the voice input bottom sheet."}, "voiceStatusListening": "Listening…", "@voiceStatusListening": { "description": "Indicates the app is actively listening during voice input." }, "voiceStatusRecording": "Recording…", "@voiceStatusRecording": { "description": "Indicates the app is recording audio for speech recognition." }, "voiceHoldToTalk": "Hold to talk", "@voiceHoldToTalk": { "description": "Toggle label for hold-to-talk mode in voice input." }, "voiceAutoSend": "Auto-send", "@voiceAutoSend": { "description": "Toggle label for automatically sending the final transcript." }, "voiceTranscript": "Transcript", "@voiceTranscript": { "description": "Label above the transcribed voice input text." }, "voicePromptSpeakNow": "Speak now…", "@voicePromptSpeakNow": { "description": "Placeholder prompting the user to start speaking." }, "voicePromptTapStart": "Tap Start to begin", "@voicePromptTapStart": { "description": "Placeholder instructing the user to tap Start to begin recording." }, "voiceActionStop": "Stop", "@voiceActionStop": { "description": "Button label to stop voice recording." }, "voiceActionStart": "Start", "@voiceActionStart": { "description": "Button label to start voice recording." }, "messageInputLabel": "Message input", "@messageInputLabel": {"description": "Accessibility label for the message input."}, "messageInputHint": "Type your message", "@messageInputHint": {"description": "Hint shown in the message input field."}, "messageHintText": "Message...", "@messageHintText": {"description": "Short placeholder text in the message input."}, "stopGenerating": "Stop generating", "@stopGenerating": {"description": "Action to stop the assistant's response generation."}, "send": "Send", "@send": {"description": "Primary action to send a message."}, "codeCopiedToClipboard": "Code copied to clipboard.", "@codeCopiedToClipboard": { "description": "Snack bar message confirming code was copied." }, "sendMessage": "Send message", "@sendMessage": {"description": "Semantic label for sending a message."}, "file": "File", "@file": {"description": "A file item or attachment type label."}, "photo": "Photo", "@photo": {"description": "A photo item or attachment type label."}, "camera": "Camera", "@camera": {"description": "Camera source label."}, "apiUnavailable": "API service not available", "@apiUnavailable": {"description": "Shown when backend API service is unavailable."}, "unableToLoadImage": "Unable to load image", "@unableToLoadImage": {"description": "General failure to load an image."}, "notAnImageFile": "Not an image file: {fileName}", "@notAnImageFile": { "description": "Error when a referenced file is not an image.", "placeholders": {"fileName": {"type": "String", "example": "image.txt"}} }, "failedToLoadImage": "Failed to load image: {error}", "@failedToLoadImage": { "description": "Error including the underlying reason when image loading fails.", "placeholders": {"error": {"type": "String", "example": "Network error"}} }, "invalidDataUrl": "Invalid data URL format", "@invalidDataUrl": {"description": "Error for malformed data: URLs."}, "failedToDecodeImage": "Failed to decode image", "@failedToDecodeImage": {"description": "Error when decoding image bytes/base64."}, "invalidImageFormat": "Invalid image format", "@invalidImageFormat": {"description": "Error when image type/format is not supported."}, "emptyImageData": "Empty image data", "@emptyImageData": {"description": "Error when image data buffer is empty."} , "featureRequiresInternet": "This feature requires an internet connection", "@featureRequiresInternet": {"description": "Informational text explaining internet requirement."}, "messagesWillSendWhenOnline": "Messages will be sent when you're back online", "@messagesWillSendWhenOnline": {"description": "Queue behavior notice while offline."}, "confirm": "Confirm", "@confirm": {"description": "Confirmation button label."}, "cancel": "Cancel", "@cancel": {"description": "Cancel button label."} , "ok": "OK", "@ok": {"description": "Generic OK button label."}, "inputField": "Input field", "@inputField": {"description": "Accessibility label describing an input field."}, "captureDocumentOrImage": "Capture a document or image", "@captureDocumentOrImage": {"description": "Action to capture a document or image using camera."}, "checkConnection": "Check Connection", "@checkConnection": {"description": "CTA to verify network connectivity."}, "openSettings": "Open Settings", "@openSettings": {"description": "CTA to open device or app settings."}, "chooseDifferentFile": "Choose Different File", "@chooseDifferentFile": {"description": "CTA to pick an alternative file."}, "goBack": "Go Back", "@goBack": {"description": "CTA to navigate back."}, "technicalDetails": "Technical Details", "@technicalDetails": {"description": "Expandable section label to show error details or logs."}, "save": "Save", "@save": {"description": "Primary action to save changes."}, "chooseModel": "Choose Model", "@chooseModel": {"description": "Button/label to choose a model."}, "reviewerMode": "REVIEWER MODE", "@reviewerMode": {"description": "Developer/reviewer mode indicator."}, "selectLanguage": "Select Language", "@selectLanguage": {"description": "Dialog title to pick application language."}, "newFolder": "New Folder", "@newFolder": {"description": "Action to create a new folder."}, "folderName": "Folder name", "@folderName": {"description": "Label for entering a folder's name."}, "newChat": "New Chat", "@newChat": {"description": "Action to start a new chat."}, "more": "More", "@more": {"description": "Opens additional actions or content."}, "clear": "Clear", "@clear": {"description": "Action to clear input or selection."}, "searchHint": "Search...", "@searchHint": {"description": "Generic search input hint."}, "searchConversations": "Search conversations...", "@searchConversations": {"description": "Search input hint scoped to conversations."}, "create": "Create", "@create": {"description": "Primary action to create a resource."}, "folderCreated": "Folder created", "@folderCreated": {"description": "Toast/notice after successfully creating a folder."}, "failedToCreateFolder": "Failed to create folder", "@failedToCreateFolder": {"description": "Error notice when folder creation fails."}, "movedChatToFolder": "Moved \"{title}\" to \"{folder}\"", "@movedChatToFolder": { "description": "Toast indicating a chat titled {title} was moved to folder {folder}.", "placeholders": { "title": {"type": "String"}, "folder": {"type": "String"} } }, "failedToMoveChat": "Failed to move chat", "@failedToMoveChat": {"description": "Error notice when moving a chat fails."}, "failedToLoadChats": "Failed to load chats", "@failedToLoadChats": {"description": "Error notice when fetching chat list fails."}, "failedToUpdatePin": "Failed to update pin", "@failedToUpdatePin": {"description": "Error notice when updating pin star/flag fails."}, "failedToDeleteChat": "Failed to delete chat", "@failedToDeleteChat": {"description": "Error notice when deleting a chat fails."}, "manage": "Manage", "@manage": {"description": "Context action to manage an item."}, "rename": "Rename", "@rename": {"description": "Context action to rename an item."}, "delete": "Delete", "@delete": {"description": "Context action to delete an item."}, "renameChat": "Rename Chat", "@renameChat": {"description": "Dialog title to rename a chat."}, "enterChatName": "Enter chat name", "@enterChatName": {"description": "Input hint/label for new chat name."}, "failedToRenameChat": "Failed to rename chat", "@failedToRenameChat": {"description": "Error notice when renaming chat fails."}, "failedToUpdateArchive": "Failed to update archive", "@failedToUpdateArchive": {"description": "Error notice when archiving/unarchiving fails."}, "unarchive": "Unarchive", "@unarchive": {"description": "Action to unarchive an item."}, "archive": "Archive", "@archive": {"description": "Action to archive an item."}, "pin": "Pin", "@pin": {"description": "Action to pin/star an item."}, "unpin": "Unpin", "@unpin": {"description": "Action to remove pin from an item."}, "recent": "Recent", "@recent": {"description": "List filter for recently used items."}, "system": "System", "@system": {"description": "Option indicating the device/system default."}, "english": "English", "@english": {"description": "Language name: English."}, "deutsch": "Deutsch", "@deutsch": {"description": "Language name: German."}, "francais": "Français", "@francais": {"description": "Language name: French."}, "italiano": "Italiano", "@italiano": {"description": "Language name: Italian."}, "espanol": "Español", "@espanol": {"description": "Language name: Spanish."}, "nederlands": "Nederlands", "@nederlands": {"description": "Language name: Dutch."}, "russian": "Русский", "@russian": {"description": "Language name: Russian."}, "chinese": "中文", "@chinese": {"description": "Language name: Chinese."}, "deleteMessagesTitle": "Delete Messages", "@deleteMessagesTitle": {"description": "Dialog title asking to confirm deletion of messages."}, "deleteMessagesMessage": "Delete {count} messages?", "@deleteMessagesMessage": { "description": "Confirmation prompt asking to delete a number of messages.", "placeholders": { "count": {"type": "int"} } }, "routeNotFound": "Route not found: {routeName}", "@routeNotFound": { "description": "Displayed when navigation fails to find a route name.", "placeholders": { "routeName": {"type": "String"} } }, "deleteChatTitle": "Delete Chat", "@deleteChatTitle": {"description": "Dialog title asking to confirm deletion of a chat."}, "deleteChatMessage": "This chat will be permanently deleted.", "@deleteChatMessage": {"description": "Warning that deleting a chat cannot be undone."}, "deleteFolderTitle": "Delete Folder", "@deleteFolderTitle": {"description": "Dialog title asking to confirm deletion of a folder."}, "deleteFolderMessage": "This folder and its assignment references will be removed.", "@deleteFolderMessage": {"description": "Warning that deleting a folder will remove it and its associations."}, "failedToDeleteFolder": "Failed to delete folder", "@failedToDeleteFolder": {"description": "Error notice when deleting a folder fails."}, "aboutApp": "About App", "@aboutApp": {"description": "Settings tile title to view app information."}, "aboutAppSubtitle": "Conduit information and links", "@aboutAppSubtitle": {"description": "Subtitle/description for the About section."}, "web": "Web", "@web": {"description": "Tab/section label for web features."}, "imageGen": "Image Gen", "@imageGen": {"description": "Short label for image generation section/tab."}, "pinned": "Pinned", "@pinned": {"description": "Filter/tab for pinned items."}, "folders": "Folders", "@folders": {"description": "Tab listing chat folders."}, "archived": "Archived", "@archived": {"description": "Filter/tab for archived chats."}, "appLanguage": "App Language", "@appLanguage": {"description": "Label for choosing the app's display language."}, "darkMode": "Dark Mode", "@darkMode": {"description": "Label for toggling dark theme."}, "webSearch": "Web Search", "@webSearch": {"description": "Feature toggle/section for web search."}, "webSearchDescription": "Search the web and cite sources in replies.", "@webSearchDescription": {"description": "Explains that responses can include citations from the web."}, "imageGeneration": "Image Generation", "@imageGeneration": {"description": "Feature toggle/section for image generation."}, "imageGenerationDescription": "Create images from your prompts.", "@imageGenerationDescription": {"description": "Explains creating images via model prompts."}, "copy": "Copy", "@copy": {"description": "Action to copy text to clipboard."}, "ttsListen": "Listen", "@ttsListen": { "description": "Action to play the assistant message using text to speech" }, "ttsStop": "Stop", "@ttsStop": { "description": "Action to stop text to speech playback" }, "edit": "Edit", "@edit": {"description": "Action to edit an item/message."}, "regenerate": "Regenerate", "@regenerate": {"description": "Action to request a new assistant response."}, "noConversationsYet": "No conversations yet", "@noConversationsYet": {"description": "Empty state when the user has no chats."} , "usernameOrEmailHint": "Enter your username or email", "@usernameOrEmailHint": {"description": "Hint text for username/email input."}, "passwordHint": "Enter your password", "@passwordHint": {"description": "Hint text for password input."}, "enterApiKey": "Enter your API key", "@enterApiKey": {"description": "Hint text for API key input."}, "signingIn": "Signing in...", "@signingIn": {"description": "Status message shown while signing in."}, "advancedSettings": "Advanced Settings", "@advancedSettings": {"description": "Section that contains additional/optional configuration."}, "customHeaders": "Custom Headers", "@customHeaders": {"description": "Section title for adding custom HTTP headers."}, "customHeadersDescription": "Add custom HTTP headers for authentication, API keys, or special server requirements.", "@customHeadersDescription": {"description": "Helper text explaining use-cases for custom headers."}, "allowSelfSignedCertificates": "Trust self-signed certificates", "@allowSelfSignedCertificates": { "description": "Toggle label that allows trusting self-signed TLS certificates for the configured server." }, "allowSelfSignedCertificatesDescription": "Accept this server's TLS certificate even if it is self-signed. Enable only for servers you trust.", "@allowSelfSignedCertificatesDescription": { "description": "Helper text clarifying the risks of enabling the self-signed certificate toggle." }, "headerNameEmpty": "Header name cannot be empty", "@headerNameEmpty": {"description": "Validation message for empty header name."}, "headerNameTooLong": "Header name too long (max 64 characters)", "@headerNameTooLong": {"description": "Validation message for header name length."}, "headerNameInvalidChars": "Invalid header name. Use only letters, numbers, and these symbols: !#$&-^_`|~", "@headerNameInvalidChars": {"description": "Validation message for invalid characters in header name."}, "headerNameReserved": "Cannot override reserved header \"{key}\"", "@headerNameReserved": { "description": "Error when attempting to override a reserved HTTP header {key}.", "placeholders": {"key": {"type": "String"}} }, "headerValueEmpty": "Header value cannot be empty", "@headerValueEmpty": {"description": "Validation message for empty header value."}, "headerValueTooLong": "Header value too long (max 1024 characters)", "@headerValueTooLong": {"description": "Validation message for header value length."}, "headerValueInvalidChars": "Header value contains invalid characters. Use only printable ASCII.", "@headerValueInvalidChars": {"description": "Validation message for invalid characters in header value."}, "headerValueUnsafe": "Header value appears to contain potentially unsafe content", "@headerValueUnsafe": {"description": "Security warning for suspicious header values."}, "headerAlreadyExists": "Header \"{key}\" already exists. Remove it first to update.", "@headerAlreadyExists": { "description": "Error when a custom header with key {key} already exists.", "placeholders": {"key": {"type": "String"}} }, "maxHeadersReachedDetail": "Maximum of 10 custom headers allowed. Remove some to add more.", "@maxHeadersReachedDetail": {"description": "Explains the upper limit of custom headers."} , "editMessage": "Edit Message", "@editMessage": {"description": "Action to edit a previously sent message."} , "noModelsAvailable": "No models available", "@noModelsAvailable": {"description": "Shown when model list is empty or failed to load."}, "followingSystem": "Following system: {theme}", "@followingSystem": { "description": "Indicates the app is following the system theme (\"Dark\"/\"Light\").", "placeholders": {"theme": {"type": "String"}} }, "themeDark": "Dark", "@themeDark": {"description": "Theme label for dark appearance."}, "themePalette": "Accent palette", "@themePalette": {"description": "Title for selecting the app color palette."}, "themePaletteDescription": "Choose the accent colors used for buttons, cards, and chat bubbles.", "@themePaletteDescription": {"description": "Helper text explaining palette selection."}, "themeLight": "Light", "@themeLight": {"description": "Theme label for light appearance."}, "currentlyUsingDarkTheme": "Currently using Dark theme", "@currentlyUsingDarkTheme": {"description": "Status text indicating dark theme is active."}, "currentlyUsingLightTheme": "Currently using Light theme", "@currentlyUsingLightTheme": {"description": "Status text indicating light theme is active."}, "aboutConduit": "About Conduit", "@aboutConduit": {"description": "Dialog title for app information."}, "versionLabel": "Version: {version} ({build})", "@versionLabel": { "description": "Displays version and build number in the About dialog.", "placeholders": {"version": {"type": "String"}, "build": {"type": "String"}} }, "githubRepository": "GitHub Repository", "@githubRepository": {"description": "Link label pointing to the app repository."}, "unableToLoadAppInfo": "Unable to load app info", "@unableToLoadAppInfo": {"description": "Error text when package info cannot be retrieved."}, "thinking": "Thinking…", "@thinking": {"description": "Label shown while the assistant is reasoning."}, "thoughts": "Thoughts", "@thoughts": {"description": "Section title for showing reasoning content."}, "thoughtForDuration": "Thought for {duration}", "@thoughtForDuration": { "description": "Shows how long the assistant thought before replying.", "placeholders": {"duration": {"type": "String", "example": "3s"}} } , "appCustomization": "App Customization", "@appCustomization": {"description": "Title of the customization settings page."}, "appCustomizationSubtitle": "Personalize how names and UI display", "@appCustomizationSubtitle": {"description": "Subtitle shown under App Customization tile and page header."}, "quickActionsDescription": "Pick up to two shortcuts to pin near the composer", "@quickActionsDescription": {"description": "Helper text explaining quick action pill selection in customization."}, "chatSettings": "Chat", "@chatSettings": {"description": "Section header for chat-related customization options."}, "sendOnEnter": "Send on Enter", "@sendOnEnter": {"description": "Toggle title for sending messages when pressing Enter."}, "sendOnEnterDescription": "Enter sends (soft keyboard). Cmd/Ctrl+Enter also available", "@sendOnEnterDescription": { "description": "Explanation of how the Send on Enter toggle behaves." }, "display": "Display", "@display": {"description": "Section header for visual and layout related settings."}, "realtime": "Realtime", "@realtime": {"description": "Section header for realtime/transport settings."}, "transportMode": "Transport mode", "@transportMode": {"description": "Title for selecting the networking transport used for realtime."}, "transportModeDescription": "Choose how the app connects for realtime updates.", "@transportModeDescription": {"description": "Helper text explaining the transport setting."}, "mode": "Mode", "@mode": {"description": "Form field label for transport mode dropdown."}, "transportModeAuto": "Auto (Polling + WebSocket)", "@transportModeAuto": {"description": "Dropdown option label for automatic transport selection."}, "transportModeWs": "WebSocket only", "@transportModeWs": {"description": "Dropdown option label for WebSocket-only transport."}, "transportModeAutoInfo": "More robust on restrictive networks. Upgrades to WebSocket when possible.", "@transportModeAutoInfo": {"description": "Footnote text for the Auto transport mode."}, "transportModeWsInfo": "Lower overhead, but may fail behind strict proxies/firewalls." , "@transportModeWsInfo": {"description": "Footnote text for the WebSocket-only transport mode."} }