Files
iiEsaywebUIapp/lib/l10n/app_en.arb

1961 lines
67 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{
"@@locale": "en",
"appTitle": "Conduit",
"@appTitle": {
"description": "Application name displayed in the app and OS UI."
},
"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."
},
"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"
},
"@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."
},
"modelCapabilityMultimodal": "Multimodal",
"@modelCapabilityMultimodal": {
"description": "Capability chip label for models that support multimodal input."
},
"modelCapabilityReasoning": "Reasoning",
"@modelCapabilityReasoning": {
"description": "Capability chip label for models that support reasoning features."
},
"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."
},
"closeButtonSemantic": "Close",
"@closeButtonSemantic": {
"description": "Accessible label for a generic Close button."
},
"loadingContent": "Loading content",
"@loadingContent": {
"description": "Shown while loading page content."
},
"loadingShort": "Loading",
"@loadingShort": {
"description": "Short loading label used for accessibility."
},
"loadingAnnouncement": "Loading: {message}",
"@loadingAnnouncement": {
"description": "Screen reader announcement when loading a resource.",
"placeholders": {
"message": {
"type": "String",
"example": "Messages"
}
}
},
"errorAnnouncement": "Error: {error}",
"@errorAnnouncement": {
"description": "Screen reader announcement for an error.",
"placeholders": {
"error": {
"type": "String",
"example": "Network timeout"
}
}
},
"errorAnnouncementWithSuggestion": "Error: {error}. {suggestion}",
"@errorAnnouncementWithSuggestion": {
"description": "Screen reader announcement for an error with a follow-up suggestion.",
"placeholders": {
"error": {
"type": "String",
"example": "Network timeout"
},
"suggestion": {
"type": "String",
"example": "Please try again later."
}
}
},
"successAnnouncement": "Success: {message}",
"@successAnnouncement": {
"description": "Screen reader announcement for successful actions.",
"placeholders": {
"message": {
"type": "String",
"example": "Profile updated"
}
}
},
"noItems": "No items",
"@noItems": {
"description": "Placeholder text when a list is empty."
},
"noItemsToDisplay": "No items to display",
"@noItemsToDisplay": {
"description": "Alternative empty-state description."
},
"knowledgeBase": "Knowledge Base",
"@knowledgeBase": {
"description": "Section for knowledge base content."
},
"attachments": "Attachments",
"@attachments": {
"description": "Header above list of attached files in compose area."
},
"takePhoto": "Take a photo",
"@takePhoto": {
"description": "Action to open camera and capture a new photo."
},
"document": "Document",
"@document": {
"description": "Generic document label used in UI."
},
"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."
},
"token": "Token",
"@token": {
"description": "Label for JWT token input field."
},
"usernameOrEmail": "Username or Email",
"@usernameOrEmail": {
"description": "Label for username/email input field."
},
"password": "Password",
"@password": {
"description": "Label for password input field."
},
"signInWithToken": "Sign in with Token",
"@signInWithToken": {
"description": "Alternative sign-in method using a JWT token."
},
"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."
},
"attachmentLabel": "Attachment",
"@attachmentLabel": {
"description": "Label shown beside attachment chips in messages."
},
"tools": "Tools",
"@tools": {
"description": "Header for a tools/actions section."
},
"filters": "Filters",
"@filters": {
"description": "Header for toggle filters 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."
},
"voiceCallTitle": "Voice Call",
"@voiceCallTitle": {
"description": "Title displayed on the voice call screen."
},
"voiceCallPause": "Pause",
"@voiceCallPause": {
"description": "Button label to pause a voice call."
},
"voiceCallResume": "Resume",
"@voiceCallResume": {
"description": "Button label to resume a paused voice call."
},
"voiceCallStop": "Stop",
"@voiceCallStop": {
"description": "Button label to stop the active voice call."
},
"voiceCallEnd": "End Call",
"@voiceCallEnd": {
"description": "Button label to end the voice call session."
},
"voiceCallReady": "Ready",
"@voiceCallReady": {
"description": "Status label shown when the voice call is ready to start."
},
"voiceCallConnecting": "Connecting...",
"@voiceCallConnecting": {
"description": "Status label shown while the voice call is connecting."
},
"voiceCallListening": "Listening",
"@voiceCallListening": {
"description": "Status label shown while the call is listening for input."
},
"voiceCallPaused": "Paused",
"@voiceCallPaused": {
"description": "Status label shown when the call is paused."
},
"voiceCallProcessing": "Thinking...",
"@voiceCallProcessing": {
"description": "Status label shown while the call processes a response."
},
"voiceCallSpeaking": "Speaking",
"@voiceCallSpeaking": {
"description": "Status label shown while the assistant is speaking."
},
"voiceCallDisconnected": "Disconnected",
"@voiceCallDisconnected": {
"description": "Status label shown when the voice call has ended or disconnected."
},
"voiceCallErrorHelp": "Please check:\n• Microphone permissions are granted\n• Speech recognition is available on your device\n• You are connected to the server",
"@voiceCallErrorHelp": {
"description": "Guidance shown when the voice call encounters an error."
},
"messageHintText": "Ask Conduit",
"@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."
},
"chooseDifferentFile": "Choose Different File",
"@chooseDifferentFile": {
"description": "Action label prompting the user to pick another file."
},
"photo": "Photo",
"@photo": {
"description": "A photo item or attachment type label."
},
"camera": "Camera",
"@camera": {
"description": "Camera source label."
},
"pasteImage": "Paste Image",
"@pasteImage": {
"description": "Context menu action to paste an image from the clipboard."
},
"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."
},
"confirm": "Confirm",
"@confirm": {
"description": "Confirmation button label."
},
"continueAction": "Continue",
"@continueAction": {
"description": "Button label to continue an action or flow."
},
"cancel": "Cancel",
"@cancel": {
"description": "Cancel button label."
},
"ok": "OK",
"@ok": {
"description": "Generic OK button label."
},
"previousLabel": "Prev",
"@previousLabel": {
"description": "Label for navigating to the previous item."
},
"nextLabel": "Next",
"@nextLabel": {
"description": "Label for navigating to the next item."
},
"inputField": "Input field",
"@inputField": {
"description": "Accessibility label describing an input field."
},
"checkConnection": "Check Connection",
"@checkConnection": {
"description": "CTA to verify network connectivity."
},
"openSettings": "Open Settings",
"@openSettings": {
"description": "CTA to open device or app settings."
},
"goBack": "Go Back",
"@goBack": {
"description": "CTA to navigate back."
},
"technicalDetails": "Technical Details",
"@technicalDetails": {
"description": "Expandable section label to show error details or logs."
},
"requiredFieldLabel": "{label} *",
"@requiredFieldLabel": {
"description": "Label text indicating a required field.",
"placeholders": {
"label": {
"type": "String",
"example": "Email"
}
}
},
"requiredFieldHelper": "Required field",
"@requiredFieldHelper": {
"description": "Helper text indicating that the field is required."
},
"switchOnLabel": "On",
"@switchOnLabel": {
"description": "Semantic label when a switch is enabled."
},
"switchOffLabel": "Off",
"@switchOffLabel": {
"description": "Semantic label when a switch is disabled."
},
"dialogSemanticLabel": "Dialog: {title}",
"@dialogSemanticLabel": {
"description": "Semantic label describing the dialog title.",
"placeholders": {
"title": {
"type": "String",
"example": "Settings"
}
}
},
"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."
},
"searchConversations": "Search conversations...",
"@searchConversations": {
"description": "Search input hint scoped to conversations."
},
"create": "Create",
"@create": {
"description": "Primary action to create a resource."
},
"failedToCreateFolder": "Failed to create folder",
"@failedToCreateFolder": {
"description": "Error notice when folder creation fails."
},
"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."
},
"chineseSimplified": "Chinese (Simplified)",
"@chineseSimplified": {
"description": "Language name: Chinese (Simplified)."
},
"chineseTraditional": "Chinese (Traditional)",
"@chineseTraditional": {
"description": "Language name: Chinese (Traditional)."
},
"korean": "한국어",
"@korean": {
"description": "Language name: Korean."
},
"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",
"@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"
},
"usageInfo": "Info",
"@usageInfo": {
"description": "Action to show usage/performance statistics for a response"
},
"usageInfoTitle": "Response Statistics",
"@usageInfoTitle": {
"description": "Title for the usage statistics dialog/sheet"
},
"usageTokenGeneration": "Token Generation",
"@usageTokenGeneration": {
"description": "Label for token generation speed metric"
},
"usagePromptEval": "Prompt Processing",
"@usagePromptEval": {
"description": "Label for prompt evaluation/pre-processing speed metric"
},
"usageTotalDuration": "Total Duration",
"@usageTotalDuration": {
"description": "Label for total response generation duration"
},
"usageTokensPerSecond": "{speed} t/s",
"@usageTokensPerSecond": {
"description": "Tokens per second display format",
"placeholders": {
"speed": {
"type": "String",
"example": "45.2"
}
}
},
"usageTokenCount": "{count} tokens",
"@usageTokenCount": {
"description": "Token count display format",
"placeholders": {
"count": {
"type": "int",
"example": "128"
}
}
},
"usageSecondsFormat": "{seconds}s",
"@usageSecondsFormat": {
"description": "Seconds duration format",
"placeholders": {
"seconds": {
"type": "String",
"example": "2.34"
}
}
},
"usageLoadDuration": "Model Load Time",
"@usageLoadDuration": {
"description": "Label for model loading duration metric"
},
"usageQueueTime": "Queue Time",
"@usageQueueTime": {
"description": "Label for queue waiting time metric"
},
"usageReasoningTokens": "Reasoning Tokens",
"@usageReasoningTokens": {
"description": "Label for reasoning/thinking tokens count"
},
"usageTotalTokens": "Total Tokens",
"@usageTotalTokens": {
"description": "Label for total token count"
},
"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."
},
"enterToken": "Enter your JWT token",
"@enterToken": {
"description": "Hint text for JWT token input."
},
"tokenHint": "Get the JWT token from OpenWebUI settings. API keys (sk-...) are not supported for streaming.",
"@tokenHint": {
"description": "Help text explaining what type of token to use."
},
"apiKeyNotSupported": "API keys (sk-...) are not supported. Please use a JWT token instead.",
"@apiKeyNotSupported": {
"description": "Error message when user tries to use an API key instead of JWT token."
},
"apiKeyNoLongerSupported": "You were logged out because API keys are no longer supported. Please sign in with a JWT token from OpenWebUI settings.",
"@apiKeyNoLongerSupported": {
"description": "Error message shown when user is forced logged out due to using an API key."
},
"tokenTooShort": "Token is too short",
"@tokenTooShort": {
"description": "Error message when token is too short."
},
"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."
},
"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"
}
}
},
"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."
},
"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."
},
"themePaletteConduitLabel": "Conduit",
"@themePaletteConduitLabel": {
"description": "Palette name for the default Conduit theme."
},
"themePaletteConduitDescription": "Clean neutral theme designed for Conduit.",
"@themePaletteConduitDescription": {
"description": "Description of the Conduit palette."
},
"themePaletteClaudeLabel": "Claude",
"@themePaletteClaudeLabel": {
"description": "Palette name inspired by the Claude web client."
},
"themePaletteClaudeDescription": "Warm, tactile palette lifted from the Claude web client.",
"@themePaletteClaudeDescription": {
"description": "Description of the Claude palette."
},
"themePaletteT3ChatLabel": "T3 Chat",
"@themePaletteT3ChatLabel": {
"description": "Palette name inspired by the T3 Stack brand."
},
"themePaletteT3ChatDescription": "Playful gradients inspired by the T3 Stack brand.",
"@themePaletteT3ChatDescription": {
"description": "Description of the T3 Chat palette."
},
"themePaletteCatppuccinLabel": "Catppuccin",
"@themePaletteCatppuccinLabel": {
"description": "Palette name for Catppuccin colors."
},
"themePaletteCatppuccinDescription": "Soft pastel palette.",
"@themePaletteCatppuccinDescription": {
"description": "Description of the Catppuccin palette."
},
"themePaletteTangerineLabel": "Tangerine",
"@themePaletteTangerineLabel": {
"description": "Palette name for Tangerine colors."
},
"themePaletteTangerineDescription": "Warm orange-and-slate palette.",
"@themePaletteTangerineDescription": {
"description": "Description of the Tangerine palette."
},
"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"
}
}
},
"analyzing": "Analyzing…",
"@analyzing": {
"description": "Label shown while code interpreter is processing."
},
"analyzed": "Analyzed",
"@analyzed": {
"description": "Label shown after code interpreter has finished."
},
"appCustomization": "Customization",
"@appCustomization": {
"description": "Title of the customization settings page."
},
"appCustomizationSubtitle": "Theme, language, voice, and quickpills",
"@appCustomizationSubtitle": {
"description": "Subtitle shown under App Customization tile and page header."
},
"quickActionsDescription": "Quickpills in chat",
"@quickActionsDescription": {
"description": "Helper text explaining quick action pill selection in customization."
},
"quickActionsSelectedCount": "{count, plural, =0{No actions selected} one{1 action selected} other{{count} actions selected}}",
"@quickActionsSelectedCount": {
"description": "Subtitle indicating how many quick actions are selected.",
"placeholders": {
"count": {
"type": "int",
"example": "2"
}
}
},
"autoSelectDescription": "Let the app choose the best model",
"@autoSelectDescription": {
"description": "Explains what the auto-select model setting does."
},
"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."
},
"androidAssistantTitle": "Android digital assistant",
"@androidAssistantTitle": {
"description": "Tile title for configuring the Android digital assistant trigger."
},
"androidAssistantDescription": "Choose what happens when you trigger the Android digital assistant.",
"@androidAssistantDescription": {
"description": "Helper text describing the Android digital assistant trigger setting."
},
"androidAssistantOverlayOption": "Show quick overlay (default)",
"@androidAssistantOverlayOption": {
"description": "Option label for keeping the current assistant overlay."
},
"androidAssistantNewChatOption": "Open Conduit with a new chat",
"@androidAssistantNewChatOption": {
"description": "Option label for opening the app to a fresh chat from the assistant trigger."
},
"androidAssistantVoiceCallOption": "Start a voice call",
"@androidAssistantVoiceCallOption": {
"description": "Option label for jumping straight into voice call from assistant trigger."
},
"sttSettings": "Speech to Text",
"@sttSettings": {
"description": "Section header for speech-to-text settings."
},
"sttEngineLabel": "Recognition engine",
"@sttEngineLabel": {
"description": "Label shown above the speech-to-text engine chips."
},
"sttEngineDevice": "On device",
"@sttEngineDevice": {
"description": "Chip label for on-device speech recognition."
},
"sttEngineServer": "Server",
"@sttEngineServer": {
"description": "Chip label for server speech recognition."
},
"sttEngineDeviceDescription": "Keep audio on this device. Voice input stops working if on-device speech recognition isnt supported.",
"@sttEngineDeviceDescription": {
"description": "Description shown when on-device speech-to-text preference is active."
},
"sttEngineServerDescription": "Always send recordings to your OpenWebUI server for transcription.",
"@sttEngineServerDescription": {
"description": "Description shown when server speech-to-text preference is active."
},
"sttDeviceUnavailableWarning": "On-device speech recognition isnt available on this device.",
"@sttDeviceUnavailableWarning": {
"description": "Warning shown when the user selects on-device speech recognition but it is unavailable."
},
"sttServerUnavailableWarning": "Connect to a server with transcription enabled to use this option.",
"@sttServerUnavailableWarning": {
"description": "Warning shown when the user selects server speech recognition but no server is available."
},
"sttSilenceDuration": "Silence Duration",
"@sttSilenceDuration": {
"description": "Label for the silence duration setting in server speech-to-text."
},
"sttSilenceDurationDescription": "Time to wait after silence before auto-stopping recording",
"@sttSilenceDurationDescription": {
"description": "Description for the silence duration slider in server speech-to-text settings."
},
"ttsEngineLabel": "Engine",
"@ttsEngineLabel": {
"description": "Label for selecting the text-to-speech engine."
},
"ttsEngineDevice": "On device",
"@ttsEngineDevice": {
"description": "Chip label for using on-device text-to-speech."
},
"ttsEngineServer": "Server",
"@ttsEngineServer": {
"description": "Chip label for using server-side text-to-speech."
},
"ttsEngineDeviceDescription": "Keep synthesis on this device. Voice playback stops working if on-device TTS isnt supported.",
"@ttsEngineDeviceDescription": {
"description": "Description shown when on-device text-to-speech preference is active."
},
"ttsEngineServerDescription": "Always request audio from your OpenWebUI server.",
"@ttsEngineServerDescription": {
"description": "Description shown when server text-to-speech preference is active."
},
"ttsDeviceUnavailableWarning": "On-device text-to-speech isnt available on this device.",
"@ttsDeviceUnavailableWarning": {
"description": "Warning shown when on-device text-to-speech is unavailable."
},
"ttsServerUnavailableWarning": "Connect to a server with text-to-speech enabled to use this option.",
"@ttsServerUnavailableWarning": {
"description": "Warning shown when server text-to-speech is unavailable."
},
"ttsSettings": "Text to Speech",
"@ttsSettings": {
"description": "Section header for TTS-related customization options."
},
"ttsVoice": "Voice",
"@ttsVoice": {
"description": "Title for voice selection tile."
},
"ttsSpeechRate": "Speech Rate",
"@ttsSpeechRate": {
"description": "Title for speech rate slider."
},
"ttsPitch": "Pitch",
"@ttsPitch": {
"description": "Title for pitch slider."
},
"ttsVolume": "Volume",
"@ttsVolume": {
"description": "Title for volume slider."
},
"ttsPreview": "Preview Voice",
"@ttsPreview": {
"description": "Title for preview button."
},
"ttsSystemDefault": "System Default",
"@ttsSystemDefault": {
"description": "Label for system default voice option."
},
"ttsSelectVoice": "Select Voice",
"@ttsSelectVoice": {
"description": "Title for voice picker bottom sheet."
},
"ttsPreviewText": "This is a preview of the selected voice.",
"@ttsPreviewText": {
"description": "Sample text spoken during voice preview."
},
"ttsNoVoicesAvailable": "No voices available",
"@ttsNoVoicesAvailable": {
"description": "Error message when no TTS voices can be found."
},
"ttsVoicesForLanguage": "{language} Voices",
"@ttsVoicesForLanguage": {
"description": "Section header for voices matching the app language",
"placeholders": {
"language": {
"type": "String",
"example": "EN"
}
}
},
"ttsOtherVoices": "Other Languages",
"@ttsOtherVoices": {
"description": "Section header for voices in other languages."
},
"error": "Error",
"@error": {
"description": "Generic error label."
},
"errorWithMessage": "Error: {message}",
"@errorWithMessage": {
"description": "Error label with appended message text.",
"placeholders": {
"message": {
"type": "String",
"example": "Network timeout"
}
}
},
"networkTimeoutError": "Connection timed out. Please check your internet connection and try again.",
"@networkTimeoutError": {
"description": "User-facing message when a network request times out."
},
"networkUnreachableError": "Cannot reach the server. Please check your server URL and internet connection.",
"@networkUnreachableError": {
"description": "User-facing message when the server cannot be reached."
},
"networkServerNotResponding": "Server is not responding. Please verify the server is running and accessible.",
"@networkServerNotResponding": {
"description": "User-facing message when the server does not respond to a request."
},
"networkGenericError": "Network connection problem. Please check your internet connection.",
"@networkGenericError": {
"description": "Fallback message for generic network errors."
},
"serverError500": "Server is experiencing issues. This is usually temporary.",
"@serverError500": {
"description": "Message when a 500 error is encountered."
},
"serverErrorUnavailable": "Server is temporarily unavailable. Please try again in a moment.",
"@serverErrorUnavailable": {
"description": "Message when a 502/503 error is encountered."
},
"serverErrorTimeout": "Server took too long to respond. Please try again.",
"@serverErrorTimeout": {
"description": "Message when the server times out."
},
"serverErrorGeneric": "Server is having problems. Please try again later.",
"@serverErrorGeneric": {
"description": "Fallback server error message."
},
"authSessionExpired": "Your session has expired. Please sign in again.",
"@authSessionExpired": {
"description": "Message when an authentication session expires."
},
"authForbidden": "You don't have permission to perform this action.",
"@authForbidden": {
"description": "Message when the user lacks required permissions."
},
"authInvalidToken": "Authentication token is invalid. Please sign in again.",
"@authInvalidToken": {
"description": "Message when the authentication token is invalid."
},
"authGenericError": "Authentication problem. Please sign in again.",
"@authGenericError": {
"description": "Fallback authentication error message."
},
"validationInvalidEmail": "Please enter a valid email address.",
"@validationInvalidEmail": {
"description": "Validation message for invalid email input."
},
"validationWeakPassword": "Password doesn't meet requirements. Please check and try again.",
"@validationWeakPassword": {
"description": "Validation message for weak passwords."
},
"validationMissingRequired": "Please fill in all required fields.",
"@validationMissingRequired": {
"description": "Validation message when required fields are missing."
},
"validationFormatError": "Some information is in the wrong format. Please check and try again.",
"@validationFormatError": {
"description": "Validation message for generic formatting issues."
},
"validationGenericError": "Please check your input and try again.",
"@validationGenericError": {
"description": "Fallback validation message."
},
"fileNotFound": "File not found. It may have been moved or deleted.",
"@fileNotFound": {
"description": "Message when a file cannot be located."
},
"fileAccessDenied": "Cannot access the file. Please check permissions.",
"@fileAccessDenied": {
"description": "Message when file access is denied."
},
"fileTooLarge": "File is too large. Please choose a smaller file.",
"@fileTooLarge": {
"description": "Message when a file exceeds size limits."
},
"fileGenericError": "Problem with the file. Please try a different file.",
"@fileGenericError": {
"description": "Fallback file error message."
},
"permissionCameraRequired": "Camera permission is required. Please enable it in settings.",
"@permissionCameraRequired": {
"description": "Message when camera permission is missing."
},
"permissionStorageRequired": "Storage permission is required. Please enable it in settings.",
"@permissionStorageRequired": {
"description": "Message when storage permission is missing."
},
"permissionMicrophoneRequired": "Microphone permission is required. Please enable it in settings.",
"@permissionMicrophoneRequired": {
"description": "Message when microphone permission is missing."
},
"permissionGenericError": "Permission required. Please check app permissions in settings.",
"@permissionGenericError": {
"description": "Fallback permission error message."
},
"actionRetryRequest": "Try the request again.",
"@actionRetryRequest": {
"description": "Description for retrying a failed request."
},
"actionVerifyConnection": "Verify your internet connection.",
"@actionVerifyConnection": {
"description": "Description for checking internet connectivity."
},
"actionRetryOperation": "Retry the operation.",
"@actionRetryOperation": {
"description": "Description for retrying the same operation."
},
"actionRetryAfterDelay": "Wait a moment then try again.",
"@actionRetryAfterDelay": {
"description": "Description suggesting a short delay before retrying."
},
"actionSignInToAccount": "Sign in to your account.",
"@actionSignInToAccount": {
"description": "Description for signing back into the app."
},
"actionSelectAnotherFile": "Select another file.",
"@actionSelectAnotherFile": {
"description": "Description for choosing a different file."
},
"actionOpenAppSettings": "Open app settings to grant permissions.",
"@actionOpenAppSettings": {
"description": "Description for opening system or app settings."
},
"actionRetryAfterPermission": "Retry after granting permission.",
"@actionRetryAfterPermission": {
"description": "Description for retrying once permissions are granted."
},
"actionReturnToPrevious": "Return to previous screen.",
"@actionReturnToPrevious": {
"description": "Description for navigating back to the prior screen."
},
"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."
},
"mode": "Mode",
"@mode": {
"description": "Form field label for transport mode dropdown."
},
"transportModePolling": "Polling fallback",
"@transportModePolling": {
"description": "Dropdown option label for HTTP polling fallback transport."
},
"transportModeWs": "WebSocket only",
"@transportModeWs": {
"description": "Dropdown option label for WebSocket-only transport."
},
"transportModePollingInfo": "Falls back to HTTP polling when WebSocket is blocked. Upgrades to WebSocket when possible.",
"@transportModePollingInfo": {
"description": "Footnote text for the polling fallback transport mode."
},
"transportModeWsInfo": "Lower overhead, but may fail behind strict proxies/firewalls.",
"@transportModeWsInfo": {
"description": "Footnote text for the WebSocket-only transport mode."
},
"notes": "Notes",
"@notes": {
"description": "Navigation item and page title for notes feature."
},
"searchNotes": "Search notes...",
"@searchNotes": {
"description": "Placeholder text for notes search field."
},
"createNote": "Create Note",
"@createNote": {
"description": "Tooltip/button label for creating a new note."
},
"noNotesYet": "No notes yet",
"@noNotesYet": {
"description": "Empty state title when user has no notes."
},
"noNotesFound": "No notes found",
"@noNotesFound": {
"description": "Empty state title when search returns no results."
},
"createFirstNoteHint": "Tap the + button to create your first note.",
"@createFirstNoteHint": {
"description": "Hint text encouraging user to create their first note."
},
"tryDifferentSearch": "Try a different search term.",
"@tryDifferentSearch": {
"description": "Hint text when note search returns no results."
},
"loadingNotes": "Loading notes...",
"@loadingNotes": {
"description": "Progress message while fetching notes list."
},
"loadingNote": "Loading note...",
"@loadingNote": {
"description": "Progress message while fetching a single note."
},
"failedToLoadNotes": "Failed to load notes",
"@failedToLoadNotes": {
"description": "Error message when notes list cannot be retrieved."
},
"deleteNoteTitle": "Delete Note",
"@deleteNoteTitle": {
"description": "Dialog title for confirming note deletion."
},
"deleteNoteMessage": "Delete \"{title}\"? This cannot be undone.",
"@deleteNoteMessage": {
"description": "Confirmation message for deleting a note.",
"placeholders": {
"title": {
"type": "String",
"example": "My Note"
}
}
},
"writeNote": "Write something...",
"@writeNote": {
"description": "Hint text for note content input field."
},
"saving": "Saving...",
"@saving": {
"description": "Status text while saving."
},
"saved": "Saved",
"@saved": {
"description": "Status text when content is saved."
},
"noteCopiedToClipboard": "Note copied to clipboard",
"@noteCopiedToClipboard": {
"description": "Confirmation message when note content is copied to clipboard."
},
"generateTitle": "Generate Title",
"@generateTitle": {
"description": "Tooltip for generating a title with AI."
},
"generatingTitle": "Generating title...",
"@generatingTitle": {
"description": "Placeholder while AI generates a title."
},
"noContentToGenerateTitle": "Add some content first to generate a title",
"@noContentToGenerateTitle": {
"description": "Error when trying to generate title with empty content."
},
"failedToGenerateTitle": "Failed to generate title",
"@failedToGenerateTitle": {
"description": "Error message when title generation fails."
},
"noContentToEnhance": "Add some content first to enhance",
"@noContentToEnhance": {
"description": "Error when trying to enhance empty content."
},
"noteEnhanced": "Note enhanced with AI",
"@noteEnhanced": {
"description": "Success message after AI enhancement."
},
"failedToEnhanceNote": "Failed to enhance note",
"@failedToEnhanceNote": {
"description": "Error message when enhancement fails."
},
"noModelSelected": "Please select a model first",
"@noModelSelected": {
"description": "Error message when no AI model is selected."
},
"enhanceWithAI": "Enhance with AI",
"@enhanceWithAI": {
"description": "Tooltip for AI enhance button."
},
"enhanceNote": "Enhance Note",
"@enhanceNote": {
"description": "Menu item to enhance note content."
},
"startDictation": "Start dictation",
"@startDictation": {
"description": "Tooltip for dictation button."
},
"stopRecording": "Stop recording",
"@stopRecording": {
"description": "Tooltip for stop recording button."
},
"voiceInputUnavailable": "Voice input is not available",
"@voiceInputUnavailable": {
"description": "Error when voice input is not available."
},
"failedToStartDictation": "Failed to start dictation",
"@failedToStartDictation": {
"description": "Error when starting dictation fails."
},
"noteNotFound": "Note not found",
"@noteNotFound": {
"description": "Error message when a note cannot be found."
},
"untitled": "Untitled",
"@untitled": {
"description": "Default title for notes without a title."
},
"today": "Today",
"@today": {
"description": "Time range label for items from today."
},
"yesterday": "Yesterday",
"@yesterday": {
"description": "Time range label for items from yesterday."
},
"previous7Days": "Previous 7 Days",
"@previous7Days": {
"description": "Time range label for items from the last week."
},
"previous30Days": "Previous 30 Days",
"@previous30Days": {
"description": "Time range label for items from the last month."
},
"older": "Older",
"@older": {
"description": "Time range label for items older than 30 days."
},
"wordCount": "{count} words",
"@wordCount": {
"description": "Status bar text showing word count.",
"placeholders": {
"count": {
"type": "int",
"example": "150"
}
}
},
"charCount": "{count} characters",
"@charCount": {
"description": "Status bar text showing character count.",
"placeholders": {
"count": {
"type": "int",
"example": "500"
}
}
},
"mermaidPreviewUnavailable": "Mermaid preview is not available on this platform.",
"@mermaidPreviewUnavailable": {
"description": "Shown when Mermaid diagrams cannot be rendered on the current platform."
},
"chartPreviewUnavailable": "Chart preview is not available on this platform.",
"@chartPreviewUnavailable": {
"description": "Shown when Chart.js charts cannot be rendered on the current platform."
},
"promptVariablesTitle": "Fill in Details",
"@promptVariablesTitle": {
"description": "Default title for the prompt variables dialog."
},
"promptVariablesDescription": "Complete the fields below to customize this prompt.",
"@promptVariablesDescription": {
"description": "Description shown in the prompt variables dialog."
},
"promptVariableNumberMin": "Minimum value is {min}",
"@promptVariableNumberMin": {
"description": "Validation message when a number is below the minimum.",
"placeholders": {
"min": {
"type": "double",
"example": "0"
}
}
},
"promptVariableNumberMax": "Maximum value is {max}",
"@promptVariableNumberMax": {
"description": "Validation message when a number is above the maximum.",
"placeholders": {
"max": {
"type": "double",
"example": "100"
}
}
},
"sso": "SSO",
"@sso": {
"description": "Label for Single Sign-On authentication option."
},
"ssoDescription": "Sign in with your organization's identity provider",
"@ssoDescription": {
"description": "Description text explaining SSO authentication."
},
"signInWithSso": "Sign in with SSO",
"@signInWithSso": {
"description": "Button text for SSO sign-in."
},
"ssoAuthenticating": "Authenticating...",
"@ssoAuthenticating": {
"description": "Loading message during SSO authentication."
},
"ssoAuthFailed": "SSO authentication failed",
"@ssoAuthFailed": {
"description": "Error message when SSO authentication fails."
},
"ssoLoadingLogin": "Loading login page...",
"@ssoLoadingLogin": {
"description": "Loading message while SSO login page loads."
},
"ldap": "LDAP",
"@ldap": {
"description": "Label for LDAP authentication option."
},
"ldapDescription": "Sign in with your LDAP directory credentials",
"@ldapDescription": {
"description": "Description text explaining LDAP authentication."
},
"signInWithLdap": "Sign in with LDAP",
"@signInWithLdap": {
"description": "Button text for LDAP sign-in."
},
"ldapUsername": "Username",
"@ldapUsername": {
"description": "Label for LDAP username field."
},
"ldapUsernameHint": "Enter your LDAP username",
"@ldapUsernameHint": {
"description": "Hint text for LDAP username field."
},
"moreSignInOptions": "More sign-in options",
"@moreSignInOptions": {
"description": "Section header for additional authentication methods."
},
"ldapNotEnabled": "LDAP authentication is not enabled on this server",
"@ldapNotEnabled": {
"description": "Error message when LDAP is not configured on the server."
},
"ssoPlatformNotSupported": "SSO authentication is not supported on this platform. Please use credentials or LDAP authentication instead.",
"@ssoPlatformNotSupported": {
"description": "Error message when SSO is attempted on an unsupported platform (desktop/web)."
},
"proxyAuthentication": "Proxy Authentication",
"@proxyAuthentication": {
"description": "Title for the proxy authentication page."
},
"proxyAuthPlatformNotSupported": "Proxy authentication requires a mobile device. Please authenticate through a browser first.",
"@proxyAuthPlatformNotSupported": {
"description": "Error message when proxy auth is attempted on an unsupported platform."
},
"proxyAuthLoading": "Loading authentication page...",
"@proxyAuthLoading": {
"description": "Loading message while the proxy login page loads."
},
"proxyAuthFailed": "Proxy authentication failed",
"@proxyAuthFailed": {
"description": "Error message when proxy authentication fails."
},
"proxyAuthHelpText": "Complete sign-in through your organization's proxy, then sign in to Open WebUI. You'll be redirected automatically.",
"@proxyAuthHelpText": {
"description": "Help text explaining how to complete proxy authentication."
},
"proxyAuthHelpTextSimple": "Sign in through your proxy. Once authenticated, tap Continue to proceed to sign in.",
"@proxyAuthHelpTextSimple": {
"description": "Simplified help text for proxy-only authentication flow."
},
"continueButton": "Continue",
"@continueButton": {
"description": "Generic continue button text."
},
"proxyAuthRequired": "This server requires proxy authentication",
"@proxyAuthRequired": {
"description": "Message when server is behind an authentication proxy."
},
"proxyAuthRequiredDescription": "Your server appears to be behind an authentication proxy (like oauth2-proxy). You'll need to sign in through the proxy first.",
"@proxyAuthRequiredDescription": {
"description": "Detailed explanation of proxy authentication requirement."
},
"authenticateThroughProxy": "Authenticate",
"@authenticateThroughProxy": {
"description": "Button text to start proxy authentication."
},
"continueWithProvider": "Continue with {provider}",
"@continueWithProvider": {
"description": "Button text for OAuth provider sign-in.",
"placeholders": {
"provider": {
"type": "String",
"example": "Google"
}
}
},
"or": "or",
"@or": {
"description": "Separator text between authentication options."
}
}