Files
iiEsaywebUIapp/lib/l10n/app_en.arb

553 lines
32 KiB
Plaintext
Raw Normal View History

{
"@@locale": "en",
"appTitle": "Conduit",
2025-09-07 12:22:02 +05:30
"@appTitle": {"description": "Application name displayed in the app and OS UI."},
"initializationFailed": "Initialization Failed",
2025-09-07 12:22:02 +05:30
"@initializationFailed": {"description": "Shown if the app fails to initialize critical services."},
"retry": "Retry",
2025-09-07 12:22:02 +05:30
"@retry": {"description": "Button label to try an action again."},
"back": "Back",
2025-09-07 12:22:02 +05:30
"@back": {"description": "Back navigation label/tooltip."},
"you": "You",
2025-09-07 12:22:02 +05:30
"@you": {"description": "Profile tab title."},
"loadingProfile": "Loading profile...",
2025-09-07 12:22:02 +05:30
"@loadingProfile": {"description": "Progress message while fetching profile data."},
"unableToLoadProfile": "Unable to load profile",
2025-09-07 12:22:02 +05:30
"@unableToLoadProfile": {"description": "Error title shown when profile request fails."},
"pleaseCheckConnection": "Please check your connection and try again",
2025-09-07 12:22:02 +05:30
"@pleaseCheckConnection": {"description": "Generic connectivity hint after an error."},
"account": "Account",
2025-09-07 12:22:02 +05:30
"@account": {"description": "Section header for account-related options."},
"signOut": "Sign Out",
2025-09-07 12:22:02 +05:30
"@signOut": {"description": "Button/title for signing out of the app."},
"endYourSession": "End your session",
2025-09-07 12:22:02 +05:30
"@endYourSession": {"description": "Subtitle explaining the sign-out action."},
"defaultModel": "Default Model",
2025-09-07 12:22:02 +05:30
"@defaultModel": {"description": "Label for choosing a default AI model."},
"autoSelect": "Auto-select",
2025-09-07 12:22:02 +05:30
"@autoSelect": {"description": "Option to let the app pick a suitable model automatically."},
"loadingModels": "Loading models...",
2025-09-07 12:22:02 +05:30
"@loadingModels": {"description": "Progress message while fetching model list."},
"failedToLoadModels": "Failed to load models",
2025-09-07 12:22:02 +05:30
"@failedToLoadModels": {"description": "Error message shown when model list cannot be retrieved."},
"availableModels": "Available Models",
2025-09-07 12:22:02 +05:30
"@availableModels": {"description": "Header above a list of models to select from."},
"noResults": "No results",
2025-09-07 12:22:02 +05:30
"@noResults": {"description": "Shown when a search returns no matches."},
"searchModels": "Search models...",
2025-09-07 12:22:02 +05:30
"@searchModels": {"description": "Hint text for model search input."},
"errorMessage": "Something went wrong. Please try again.",
2025-09-07 12:22:02 +05:30
"@errorMessage": {"description": "Generic error message for unexpected failures."},
"loginButton": "Login",
2025-09-07 12:22:02 +05:30
"@loginButton": {"description": "Button text for the login action."},
"menuItem": "Settings",
2025-09-07 12:22:02 +05:30
"@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",
2025-09-07 12:22:02 +05:30
"@closeButtonSemantic": {"description": "Accessible label for a generic Close button."},
"loadingContent": "Loading content",
2025-09-07 12:22:02 +05:30
"@loadingContent": {"description": "Shown while loading page content."},
"noItems": "No items",
2025-09-07 12:22:02 +05:30
"@noItems": {"description": "Placeholder text when a list is empty."},
"noItemsToDisplay": "No items to display",
2025-09-07 12:22:02 +05:30
"@noItemsToDisplay": {"description": "Alternative empty-state description."},
"loadMore": "Load More",
2025-09-07 12:22:02 +05:30
"@loadMore": {"description": "Button label to load additional items in a paged list."},
"workspace": "Workspace",
2025-09-07 12:22:02 +05:30
"@workspace": {"description": "Section/tab label for documents and files."},
"recentFiles": "Recent Files",
2025-09-07 12:22:02 +05:30
"@recentFiles": {"description": "Header for recently accessed files."},
"knowledgeBase": "Knowledge Base",
2025-09-07 12:22:02 +05:30
"@knowledgeBase": {"description": "Section for knowledge base content."},
"noFilesYet": "No files yet",
2025-09-07 12:22:02 +05:30
"@noFilesYet": {"description": "Empty state when no files are present."},
"uploadDocsPrompt": "Upload documents to reference in your conversations with Conduit",
2025-09-07 12:22:02 +05:30
"@uploadDocsPrompt": {"description": "Prompt encouraging users to upload documents."},
"uploadFirstFile": "Upload your first file",
2025-09-07 12:22:02 +05:30
"@uploadFirstFile": {"description": "CTA to add the first file."},
"knowledgeBaseEmpty": "Knowledge base is empty",
2025-09-07 12:22:02 +05:30
"@knowledgeBaseEmpty": {"description": "Empty state title for the knowledge base section."},
"createCollectionsPrompt": "Create collections of related documents for easy reference",
2025-09-07 12:22:02 +05:30
"@createCollectionsPrompt": {"description": "Prompt describing the benefit of creating collections."},
"chooseSourcePhoto": "Choose your source",
2025-09-07 12:22:02 +05:30
"@chooseSourcePhoto": {"description": "Sheet title to pick camera or photo library."},
"takePhoto": "Take a photo",
2025-09-07 12:22:02 +05:30
"@takePhoto": {"description": "Action to open camera and capture a new photo."},
"chooseFromGallery": "Choose from your photos",
2025-09-07 12:22:02 +05:30
"@chooseFromGallery": {"description": "Action to pick an existing photo from library."},
"document": "Document",
2025-09-07 12:22:02 +05:30
"@document": {"description": "Generic document label used in UI."},
"documentHint": "PDF, Word, or text file",
2025-09-07 12:22:02 +05:30
"@documentHint": {"description": "Helper hint listing supported document types."},
"uploadFileTitle": "Upload File",
2025-09-07 12:22:02 +05:30
"@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!",
2025-09-07 12:22:02 +05:30
"@kbCreationComingSoon": {"description": "Temporary message indicating KB creation feature is not yet available."},
"backToServerSetup": "Back to server setup",
2025-09-07 12:22:02 +05:30
"@backToServerSetup": {"description": "Button/back label to return to server configuration flow."},
"connectedToServer": "Connected to Server",
2025-09-07 12:22:02 +05:30
"@connectedToServer": {"description": "Status label indicating a successful server connection."},
"signIn": "Sign In",
2025-09-07 12:22:02 +05:30
"@signIn": {"description": "Button/heading for sign-in flows."},
"enterCredentials": "Enter your credentials to access your AI conversations",
2025-09-07 12:22:02 +05:30
"@enterCredentials": {"description": "Instructional text on the sign-in screen."},
"credentials": "Credentials",
2025-09-07 12:22:02 +05:30
"@credentials": {"description": "Header for credential input section."},
"apiKey": "API Key",
2025-09-07 12:22:02 +05:30
"@apiKey": {"description": "Label for API key input field."},
"usernameOrEmail": "Username or Email",
2025-09-07 12:22:02 +05:30
"@usernameOrEmail": {"description": "Label for username/email input field."},
"password": "Password",
2025-09-07 12:22:02 +05:30
"@password": {"description": "Label for password input field."},
"signInWithApiKey": "Sign in with API Key",
2025-09-07 12:22:02 +05:30
"@signInWithApiKey": {"description": "Alternative sign-in method using an API key."},
"connectToServer": "Connect to Server",
2025-09-07 12:22:02 +05:30
"@connectToServer": {"description": "Call-to-action button for server connection."},
"enterServerAddress": "Enter your Open-WebUI server address to get started",
2025-09-07 12:22:02 +05:30
"@enterServerAddress": {"description": "Instruction telling user to provide server URL to begin."},
"serverUrl": "Server URL",
2025-09-07 12:22:02 +05:30
"@serverUrl": {"description": "Label for server URL field."},
"serverUrlHint": "https://your-server.com",
2025-09-07 12:22:02 +05:30
"@serverUrlHint": {"description": "Hint text showing example server URL format."},
"enterServerUrlSemantic": "Enter your server URL or IP address",
2025-09-07 12:22:02 +05:30
"@enterServerUrlSemantic": {"description": "Semantic/ARIA label instructing to enter server URL or IP."},
"headerName": "Header Name",
2025-09-07 12:22:02 +05:30
"@headerName": {"description": "Label for custom header key."},
"headerValue": "Header Value",
2025-09-07 12:22:02 +05:30
"@headerValue": {"description": "Label for custom header value."},
"headerValueHint": "api-key-123 or Bearer token",
2025-09-07 12:22:02 +05:30
"@headerValueHint": {"description": "Hint text with example header values, including API key or Bearer token."},
"addHeader": "Add header",
2025-09-07 12:22:02 +05:30
"@addHeader": {"description": "Button to add a new custom header row."},
"maximumHeadersReached": "Maximum headers reached",
2025-09-07 12:22:02 +05:30
"@maximumHeadersReached": {"description": "Warning when custom header limit is reached."},
"removeHeader": "Remove header",
2025-09-07 12:22:02 +05:30
"@removeHeader": {"description": "Action to remove a custom header row."},
"connecting": "Connecting...",
2025-09-07 12:22:02 +05:30
"@connecting": {"description": "Status while attempting to connect to server."},
"connectToServerButton": "Connect to Server",
2025-09-07 12:22:02 +05:30
"@connectToServerButton": {"description": "Primary action button to initiate server connection."},
"demoModeActive": "Demo Mode Active",
2025-09-07 12:22:02 +05:30
"@demoModeActive": {"description": "Banner/text indicating the app runs in demo mode."},
"skipServerSetupTryDemo": "Skip server setup and try the demo",
2025-09-07 12:22:02 +05:30
"@skipServerSetupTryDemo": {"description": "CTA to bypass server configuration and enter demo mode."},
"enterDemo": "Enter Demo",
2025-09-07 12:22:02 +05:30
"@enterDemo": {"description": "Button to enter demo mode."},
"demoBadge": "Demo",
2025-09-07 12:22:02 +05:30
"@demoBadge": {"description": "Small badge label for demo content."},
"serverNotOpenWebUI": "This does not appear to be an Open-WebUI server.",
2025-09-07 12:22:02 +05:30
"@serverNotOpenWebUI": {"description": "Validation error when the server does not resemble Open-WebUI."},
"serverUrlEmpty": "Server URL cannot be empty",
2025-09-07 12:22:02 +05:30
"@serverUrlEmpty": {"description": "Validation message for empty server URL."},
"invalidUrlFormat": "Invalid URL format. Please check your input.",
2025-09-07 12:22:02 +05:30
"@invalidUrlFormat": {"description": "Validation message when URL format is incorrect."},
"onlyHttpHttps": "Only HTTP and HTTPS protocols are supported.",
2025-09-07 12:22:02 +05:30
"@onlyHttpHttps": {"description": "Validation note restricting protocols to HTTP/HTTPS."},
"serverAddressRequired": "Server address is required (e.g., 192.168.1.10 or example.com).",
2025-09-07 12:22:02 +05:30
"@serverAddressRequired": {"description": "Validation hint providing examples for server addresses."},
"portRange": "Port must be between 1 and 65535.",
2025-09-07 12:22:02 +05:30
"@portRange": {"description": "Validation message for allowed port range."},
"invalidIpFormat": "Invalid IP address format. Use format like 192.168.1.10.",
2025-09-07 12:22:02 +05:30
"@invalidIpFormat": {"description": "Validation message for IP addresses with example."},
"couldNotConnectGeneric": "Couldn't connect. Double-check the address and try again.",
2025-09-07 12:22:02 +05:30
"@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.",
2025-09-07 12:22:02 +05:30
"@weCouldntReachServer": {"description": "Connectivity error with hints to verify server status."},
"connectionTimedOut": "Connection timed out. The server might be busy or blocked by a firewall.",
2025-09-07 12:22:02 +05:30
"@connectionTimedOut": {"description": "Timeout error while connecting to server."},
"useHttpOrHttpsOnly": "Use http:// or https:// only.",
2025-09-07 12:22:02 +05:30
"@useHttpOrHttpsOnly": {"description": "Note instructing the user to include protocol in URL."},
"loginFailed": "Login failed",
2025-09-07 12:22:02 +05:30
"@loginFailed": {"description": "Title for failed login attempts."},
"invalidCredentials": "Invalid username or password. Please try again.",
2025-09-07 12:22:02 +05:30
"@invalidCredentials": {"description": "Detailed message when authentication fails."},
"serverRedirectingHttps": "The server is redirecting requests. Check your server's HTTPS configuration.",
2025-09-07 12:22:02 +05:30
"@serverRedirectingHttps": {"description": "Warning about HTTP→HTTPS redirect issues."},
"unableToConnectServer": "Unable to connect to server. Please check your connection.",
2025-09-07 12:22:02 +05:30
"@unableToConnectServer": {"description": "Generic server connection failure message."},
"requestTimedOut": "The request timed out. Please try again.",
2025-09-07 12:22:02 +05:30
"@requestTimedOut": {"description": "Timeout while waiting for a server response."},
"genericSignInFailed": "We couldn't sign you in. Check your credentials and server settings.",
2025-09-07 12:22:02 +05:30
"@genericSignInFailed": {"description": "Fallback sign-in error when no specific cause is known."}
,
"skip": "Skip",
2025-09-07 12:22:02 +05:30
"@skip": {"description": "Onboarding: skip current step."},
"next": "Next",
2025-09-07 12:22:02 +05:30
"@next": {"description": "Onboarding: go to the next step."},
"done": "Done",
2025-09-07 12:22:02 +05:30
"@done": {"description": "Onboarding: finish the flow."},
"onboardStartTitle": "Start a conversation",
2025-09-07 12:22:02 +05:30
"@onboardStartTitle": {"description": "Onboarding card: start chatting title."},
"onboardStartSubtitle": "Choose a model, then type below to begin. Tap New Chat anytime.",
2025-09-07 12:22:02 +05:30
"@onboardStartSubtitle": {"description": "Onboarding card: brief guidance to begin a chat."},
"onboardStartBullet1": "Tap the model name in the top bar to switch models",
2025-09-07 12:22:02 +05:30
"@onboardStartBullet1": {"description": "Bullet: how to switch models."},
"onboardStartBullet2": "Use New Chat to reset context",
2025-09-07 12:22:02 +05:30
"@onboardStartBullet2": {"description": "Bullet: how to reset context."},
"onboardAttachTitle": "Add context",
2025-09-07 12:22:02 +05:30
"@onboardAttachTitle": {"description": "Onboarding card: attach context title."},
"onboardAttachSubtitle": "Ground replies with content from Workspace or photos.",
2025-09-07 12:22:02 +05:30
"@onboardAttachSubtitle": {"description": "Onboarding card: why attaching context helps."},
"onboardAttachBullet1": "Workspace: PDFs, docs, datasets",
2025-09-07 12:22:02 +05:30
"@onboardAttachBullet1": {"description": "Bullet: types of workspace files."},
"onboardAttachBullet2": "Photos: camera or library",
2025-09-07 12:22:02 +05:30
"@onboardAttachBullet2": {"description": "Bullet: photo sources supported."},
"onboardSpeakTitle": "Speak naturally",
2025-09-07 12:22:02 +05:30
"@onboardSpeakTitle": {"description": "Onboarding card: voice input title."},
"onboardSpeakSubtitle": "Tap the mic to dictate with live waveform feedback.",
2025-09-07 12:22:02 +05:30
"@onboardSpeakSubtitle": {"description": "Onboarding card: how voice input works."},
"onboardSpeakBullet1": "Stop anytime; partial text is preserved",
2025-09-07 12:22:02 +05:30
"@onboardSpeakBullet1": {"description": "Bullet: stop dictation preserves text."},
"onboardSpeakBullet2": "Great for quick notes or long prompts",
2025-09-07 12:22:02 +05:30
"@onboardSpeakBullet2": {"description": "Bullet: benefits of voice input."},
"onboardQuickTitle": "Quick actions",
2025-09-07 12:22:02 +05:30
"@onboardQuickTitle": {"description": "Onboarding card: quick actions title."},
"onboardQuickSubtitle": "Open the menu to switch between Chats, Workspace, and Profile.",
2025-09-07 12:22:02 +05:30
"@onboardQuickSubtitle": {"description": "Onboarding card: how to use the app menu."},
"onboardQuickBullet1": "Tap the menu to access Chats, Workspace, Profile",
2025-09-07 12:22:02 +05:30
"@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",
2025-09-07 12:22:02 +05:30
"@addAttachment": {"description": "Button to add an attachment (file/photo)."},
"tools": "Tools",
2025-09-07 12:22:02 +05:30
"@tools": {"description": "Header for a tools/actions section."},
"voiceInput": "Voice input",
2025-09-07 12:22:02 +05:30
"@voiceInput": {"description": "Label for voice input feature."},
"messageInputLabel": "Message input",
2025-09-07 12:22:02 +05:30
"@messageInputLabel": {"description": "Accessibility label for the message input."},
"messageInputHint": "Type your message",
2025-09-07 12:22:02 +05:30
"@messageInputHint": {"description": "Hint shown in the message input field."},
"messageHintText": "Message...",
2025-09-07 12:22:02 +05:30
"@messageHintText": {"description": "Short placeholder text in the message input."},
"stopGenerating": "Stop generating",
2025-09-07 12:22:02 +05:30
"@stopGenerating": {"description": "Action to stop the assistant's response generation."},
"send": "Send",
2025-09-07 12:22:02 +05:30
"@send": {"description": "Primary action to send a message."},
"sendMessage": "Send message",
2025-09-07 12:22:02 +05:30
"@sendMessage": {"description": "Semantic label for sending a message."},
"file": "File",
2025-09-07 12:22:02 +05:30
"@file": {"description": "A file item or attachment type label."},
"photo": "Photo",
2025-09-07 12:22:02 +05:30
"@photo": {"description": "A photo item or attachment type label."},
"camera": "Camera",
2025-09-07 12:22:02 +05:30
"@camera": {"description": "Camera source label."},
"apiUnavailable": "API service not available",
2025-09-07 12:22:02 +05:30
"@apiUnavailable": {"description": "Shown when backend API service is unavailable."},
"unableToLoadImage": "Unable to load image",
2025-09-07 12:22:02 +05:30
"@unableToLoadImage": {"description": "General failure to load an image."},
"notAnImageFile": "Not an image file: {fileName}",
2025-09-07 12:22:02 +05:30
"@notAnImageFile": {
"description": "Error when a referenced file is not an image.",
"placeholders": {"fileName": {"type": "String", "example": "image.txt"}}
},
"failedToLoadImage": "Failed to load image: {error}",
2025-09-07 12:22:02 +05:30
"@failedToLoadImage": {
"description": "Error including the underlying reason when image loading fails.",
"placeholders": {"error": {"type": "String", "example": "Network error"}}
},
"invalidDataUrl": "Invalid data URL format",
2025-09-07 12:22:02 +05:30
"@invalidDataUrl": {"description": "Error for malformed data: URLs."},
"failedToDecodeImage": "Failed to decode image",
2025-09-07 12:22:02 +05:30
"@failedToDecodeImage": {"description": "Error when decoding image bytes/base64."},
"invalidImageFormat": "Invalid image format",
2025-09-07 12:22:02 +05:30
"@invalidImageFormat": {"description": "Error when image type/format is not supported."},
"emptyImageData": "Empty image data",
"@emptyImageData": {"description": "Error when image data buffer is empty."}
,
"offlineBanner": "You're offline. Some features may be limited.",
2025-09-07 12:22:02 +05:30
"@offlineBanner": {"description": "Banner warning when device is offline."},
"featureRequiresInternet": "This feature requires an internet connection",
2025-09-07 12:22:02 +05:30
"@featureRequiresInternet": {"description": "Informational text explaining internet requirement."},
"messagesWillSendWhenOnline": "Messages will be sent when you're back online",
2025-09-07 12:22:02 +05:30
"@messagesWillSendWhenOnline": {"description": "Queue behavior notice while offline."},
"confirm": "Confirm",
2025-09-07 12:22:02 +05:30
"@confirm": {"description": "Confirmation button label."},
"cancel": "Cancel",
"@cancel": {"description": "Cancel button label."}
,
"ok": "OK",
2025-09-07 12:22:02 +05:30
"@ok": {"description": "Generic OK button label."},
"inputField": "Input field",
2025-09-07 12:22:02 +05:30
"@inputField": {"description": "Accessibility label describing an input field."},
"captureDocumentOrImage": "Capture a document or image",
2025-09-07 12:22:02 +05:30
"@captureDocumentOrImage": {"description": "Action to capture a document or image using camera."},
"checkConnection": "Check Connection",
2025-09-07 12:22:02 +05:30
"@checkConnection": {"description": "CTA to verify network connectivity."},
"openSettings": "Open Settings",
2025-09-07 12:22:02 +05:30
"@openSettings": {"description": "CTA to open device or app settings."},
"chooseDifferentFile": "Choose Different File",
2025-09-07 12:22:02 +05:30
"@chooseDifferentFile": {"description": "CTA to pick an alternative file."},
"goBack": "Go Back",
2025-09-07 12:22:02 +05:30
"@goBack": {"description": "CTA to navigate back."},
2025-08-23 23:56:53 +05:30
"technicalDetails": "Technical Details",
2025-09-07 12:22:02 +05:30
"@technicalDetails": {"description": "Expandable section label to show error details or logs."},
2025-08-23 23:56:53 +05:30
"save": "Save",
2025-09-07 12:22:02 +05:30
"@save": {"description": "Primary action to save changes."},
2025-08-23 23:56:53 +05:30
"chooseModel": "Choose Model",
2025-09-07 12:22:02 +05:30
"@chooseModel": {"description": "Button/label to choose a model."},
2025-08-23 23:56:53 +05:30
"reviewerMode": "REVIEWER MODE",
2025-09-07 12:22:02 +05:30
"@reviewerMode": {"description": "Developer/reviewer mode indicator."},
2025-08-23 23:56:53 +05:30
"selectLanguage": "Select Language",
2025-09-07 12:22:02 +05:30
"@selectLanguage": {"description": "Dialog title to pick application language."},
2025-08-23 23:56:53 +05:30
"newFolder": "New Folder",
2025-09-07 12:22:02 +05:30
"@newFolder": {"description": "Action to create a new folder."},
2025-08-23 23:56:53 +05:30
"folderName": "Folder name",
2025-09-07 12:22:02 +05:30
"@folderName": {"description": "Label for entering a folder's name."},
2025-08-23 23:56:53 +05:30
"newChat": "New Chat",
2025-09-07 12:22:02 +05:30
"@newChat": {"description": "Action to start a new chat."},
2025-08-23 23:56:53 +05:30
"more": "More",
2025-09-07 12:22:02 +05:30
"@more": {"description": "Opens additional actions or content."},
2025-08-23 23:56:53 +05:30
"clear": "Clear",
2025-09-07 12:22:02 +05:30
"@clear": {"description": "Action to clear input or selection."},
2025-08-23 23:56:53 +05:30
"searchHint": "Search...",
2025-09-07 12:22:02 +05:30
"@searchHint": {"description": "Generic search input hint."},
2025-08-23 23:56:53 +05:30
"searchConversations": "Search conversations...",
2025-09-07 12:22:02 +05:30
"@searchConversations": {"description": "Search input hint scoped to conversations."},
2025-08-23 23:56:53 +05:30
"create": "Create",
2025-09-07 12:22:02 +05:30
"@create": {"description": "Primary action to create a resource."},
2025-08-23 23:56:53 +05:30
"folderCreated": "Folder created",
2025-09-07 12:22:02 +05:30
"@folderCreated": {"description": "Toast/notice after successfully creating a folder."},
2025-08-23 23:56:53 +05:30
"failedToCreateFolder": "Failed to create folder",
2025-09-07 12:22:02 +05:30
"@failedToCreateFolder": {"description": "Error notice when folder creation fails."},
2025-08-23 23:56:53 +05:30
"movedChatToFolder": "Moved \"{title}\" to \"{folder}\"",
"@movedChatToFolder": {
2025-09-07 12:22:02 +05:30
"description": "Toast indicating a chat titled {title} was moved to folder {folder}.",
2025-08-23 23:56:53 +05:30
"placeholders": {
"title": {"type": "String"},
"folder": {"type": "String"}
}
},
"failedToMoveChat": "Failed to move chat",
2025-09-07 12:22:02 +05:30
"@failedToMoveChat": {"description": "Error notice when moving a chat fails."},
2025-08-23 23:56:53 +05:30
"failedToLoadChats": "Failed to load chats",
2025-09-07 12:22:02 +05:30
"@failedToLoadChats": {"description": "Error notice when fetching chat list fails."},
2025-08-23 23:56:53 +05:30
"failedToUpdatePin": "Failed to update pin",
2025-09-07 12:22:02 +05:30
"@failedToUpdatePin": {"description": "Error notice when updating pin star/flag fails."},
2025-08-23 23:56:53 +05:30
"failedToDeleteChat": "Failed to delete chat",
2025-09-07 12:22:02 +05:30
"@failedToDeleteChat": {"description": "Error notice when deleting a chat fails."},
2025-08-23 23:56:53 +05:30
"manage": "Manage",
2025-09-07 12:22:02 +05:30
"@manage": {"description": "Context action to manage an item."},
2025-08-23 23:56:53 +05:30
"rename": "Rename",
2025-09-07 12:22:02 +05:30
"@rename": {"description": "Context action to rename an item."},
2025-08-23 23:56:53 +05:30
"delete": "Delete",
2025-09-07 12:22:02 +05:30
"@delete": {"description": "Context action to delete an item."},
2025-08-23 23:56:53 +05:30
"renameChat": "Rename Chat",
2025-09-07 12:22:02 +05:30
"@renameChat": {"description": "Dialog title to rename a chat."},
2025-08-23 23:56:53 +05:30
"enterChatName": "Enter chat name",
2025-09-07 12:22:02 +05:30
"@enterChatName": {"description": "Input hint/label for new chat name."},
2025-08-23 23:56:53 +05:30
"failedToRenameChat": "Failed to rename chat",
2025-09-07 12:22:02 +05:30
"@failedToRenameChat": {"description": "Error notice when renaming chat fails."},
2025-08-23 23:56:53 +05:30
"failedToUpdateArchive": "Failed to update archive",
2025-09-07 12:22:02 +05:30
"@failedToUpdateArchive": {"description": "Error notice when archiving/unarchiving fails."},
2025-08-23 23:56:53 +05:30
"unarchive": "Unarchive",
2025-09-07 12:22:02 +05:30
"@unarchive": {"description": "Action to unarchive an item."},
2025-08-23 23:56:53 +05:30
"archive": "Archive",
2025-09-07 12:22:02 +05:30
"@archive": {"description": "Action to archive an item."},
2025-08-23 23:56:53 +05:30
"pin": "Pin",
2025-09-07 12:22:02 +05:30
"@pin": {"description": "Action to pin/star an item."},
2025-08-23 23:56:53 +05:30
"unpin": "Unpin",
2025-09-07 12:22:02 +05:30
"@unpin": {"description": "Action to remove pin from an item."},
2025-08-23 23:56:53 +05:30
"recent": "Recent",
2025-09-07 12:22:02 +05:30
"@recent": {"description": "List filter for recently used items."},
2025-08-23 23:56:53 +05:30
"system": "System",
2025-09-07 12:22:02 +05:30
"@system": {"description": "Option indicating the device/system default."},
2025-08-23 23:56:53 +05:30
"english": "English",
2025-09-07 12:22:02 +05:30
"@english": {"description": "Language name: English."},
2025-08-23 23:56:53 +05:30
"deutsch": "Deutsch",
2025-09-07 12:22:02 +05:30
"@deutsch": {"description": "Language name: German."},
2025-08-23 23:56:53 +05:30
"francais": "Français",
2025-09-07 12:22:02 +05:30
"@francais": {"description": "Language name: French."},
2025-08-23 23:56:53 +05:30
"italiano": "Italiano",
2025-09-07 12:22:02 +05:30
"@italiano": {"description": "Language name: Italian."},
2025-08-23 23:56:53 +05:30
"deleteMessagesTitle": "Delete Messages",
2025-09-07 12:22:02 +05:30
"@deleteMessagesTitle": {"description": "Dialog title asking to confirm deletion of messages."},
2025-08-23 23:56:53 +05:30
"deleteMessagesMessage": "Delete {count} messages?",
"@deleteMessagesMessage": {
2025-09-07 12:22:02 +05:30
"description": "Confirmation prompt asking to delete a number of messages.",
2025-08-23 23:56:53 +05:30
"placeholders": {
"count": {"type": "int"}
}
},
"routeNotFound": "Route not found: {routeName}",
"@routeNotFound": {
2025-09-07 12:22:02 +05:30
"description": "Displayed when navigation fails to find a route name.",
2025-08-23 23:56:53 +05:30
"placeholders": {
"routeName": {"type": "String"}
}
},
"deleteChatTitle": "Delete Chat",
2025-09-07 12:22:02 +05:30
"@deleteChatTitle": {"description": "Dialog title asking to confirm deletion of a chat."},
2025-08-23 23:56:53 +05:30
"deleteChatMessage": "This chat will be permanently deleted.",
2025-09-07 12:22:02 +05:30
"@deleteChatMessage": {"description": "Warning that deleting a chat cannot be undone."},
2025-08-23 23:56:53 +05:30
"aboutApp": "About App",
2025-09-07 12:22:02 +05:30
"@aboutApp": {"description": "Settings tile title to view app information."},
"aboutAppSubtitle": "Conduit information and links",
2025-09-07 12:22:02 +05:30
"@aboutAppSubtitle": {"description": "Subtitle/description for the About section."},
"typeBelowToBegin": "Type below to begin",
2025-09-07 12:22:02 +05:30
"@typeBelowToBegin": {"description": "Hint shown in empty chat input area."},
"web": "Web",
2025-09-07 12:22:02 +05:30
"@web": {"description": "Tab/section label for web features."},
"imageGen": "Image Gen",
2025-09-07 12:22:02 +05:30
"@imageGen": {"description": "Short label for image generation section/tab."},
"pinned": "Pinned",
2025-09-07 12:22:02 +05:30
"@pinned": {"description": "Filter/tab for pinned items."},
"folders": "Folders",
2025-09-07 12:22:02 +05:30
"@folders": {"description": "Tab listing chat folders."},
"archived": "Archived",
2025-09-07 12:22:02 +05:30
"@archived": {"description": "Filter/tab for archived chats."},
"appLanguage": "App Language",
2025-09-07 12:22:02 +05:30
"@appLanguage": {"description": "Label for choosing the app's display language."},
"darkMode": "Dark Mode",
2025-09-07 12:22:02 +05:30
"@darkMode": {"description": "Label for toggling dark theme."},
"webSearch": "Web Search",
2025-09-07 12:22:02 +05:30
"@webSearch": {"description": "Feature toggle/section for web search."},
"webSearchDescription": "Search the web and cite sources in replies.",
2025-09-07 12:22:02 +05:30
"@webSearchDescription": {"description": "Explains that responses can include citations from the web."},
"imageGeneration": "Image Generation",
2025-09-07 12:22:02 +05:30
"@imageGeneration": {"description": "Feature toggle/section for image generation."},
2025-08-28 23:46:32 +05:30
"imageGenerationDescription": "Create images from your prompts.",
2025-09-07 12:22:02 +05:30
"@imageGenerationDescription": {"description": "Explains creating images via model prompts."},
2025-08-28 23:46:32 +05:30
"copy": "Copy",
2025-09-07 12:22:02 +05:30
"@copy": {"description": "Action to copy text to clipboard."},
2025-08-28 23:46:32 +05:30
"edit": "Edit",
2025-09-07 12:22:02 +05:30
"@edit": {"description": "Action to edit an item/message."},
2025-08-28 23:46:32 +05:30
"regenerate": "Regenerate",
2025-09-07 12:22:02 +05:30
"@regenerate": {"description": "Action to request a new assistant response."},
"noConversationsYet": "No conversations yet",
"@noConversationsYet": {"description": "Empty state when the user has no chats."}
2025-08-28 23:46:32 +05:30
,
"usernameOrEmailHint": "Enter your username or email",
2025-09-07 12:22:02 +05:30
"@usernameOrEmailHint": {"description": "Hint text for username/email input."},
2025-08-28 23:46:32 +05:30
"passwordHint": "Enter your password",
2025-09-07 12:22:02 +05:30
"@passwordHint": {"description": "Hint text for password input."},
2025-08-28 23:46:32 +05:30
"enterApiKey": "Enter your API key",
2025-09-07 12:22:02 +05:30
"@enterApiKey": {"description": "Hint text for API key input."},
2025-08-28 23:46:32 +05:30
"signingIn": "Signing in...",
2025-09-07 12:22:02 +05:30
"@signingIn": {"description": "Status message shown while signing in."},
2025-08-28 23:46:32 +05:30
"advancedSettings": "Advanced Settings",
2025-09-07 12:22:02 +05:30
"@advancedSettings": {"description": "Section that contains additional/optional configuration."},
2025-08-28 23:46:32 +05:30
"customHeaders": "Custom Headers",
2025-09-07 12:22:02 +05:30
"@customHeaders": {"description": "Section title for adding custom HTTP headers."},
2025-08-28 23:46:32 +05:30
"customHeadersDescription": "Add custom HTTP headers for authentication, API keys, or special server requirements.",
2025-09-07 12:22:02 +05:30
"@customHeadersDescription": {"description": "Helper text explaining use-cases for custom headers."},
2025-08-28 23:46:32 +05:30
"headerNameEmpty": "Header name cannot be empty",
2025-09-07 12:22:02 +05:30
"@headerNameEmpty": {"description": "Validation message for empty header name."},
2025-08-28 23:46:32 +05:30
"headerNameTooLong": "Header name too long (max 64 characters)",
2025-09-07 12:22:02 +05:30
"@headerNameTooLong": {"description": "Validation message for header name length."},
2025-08-28 23:46:32 +05:30
"headerNameInvalidChars": "Invalid header name. Use only letters, numbers, and these symbols: !#$&-^_`|~",
2025-09-07 12:22:02 +05:30
"@headerNameInvalidChars": {"description": "Validation message for invalid characters in header name."},
2025-08-28 23:46:32 +05:30
"headerNameReserved": "Cannot override reserved header \"{key}\"",
2025-09-07 12:22:02 +05:30
"@headerNameReserved": {
"description": "Error when attempting to override a reserved HTTP header {key}.",
"placeholders": {"key": {"type": "String"}}
},
2025-08-28 23:46:32 +05:30
"headerValueEmpty": "Header value cannot be empty",
2025-09-07 12:22:02 +05:30
"@headerValueEmpty": {"description": "Validation message for empty header value."},
2025-08-28 23:46:32 +05:30
"headerValueTooLong": "Header value too long (max 1024 characters)",
2025-09-07 12:22:02 +05:30
"@headerValueTooLong": {"description": "Validation message for header value length."},
2025-08-28 23:46:32 +05:30
"headerValueInvalidChars": "Header value contains invalid characters. Use only printable ASCII.",
2025-09-07 12:22:02 +05:30
"@headerValueInvalidChars": {"description": "Validation message for invalid characters in header value."},
2025-08-28 23:46:32 +05:30
"headerValueUnsafe": "Header value appears to contain potentially unsafe content",
2025-09-07 12:22:02 +05:30
"@headerValueUnsafe": {"description": "Security warning for suspicious header values."},
2025-08-28 23:46:32 +05:30
"headerAlreadyExists": "Header \"{key}\" already exists. Remove it first to update.",
2025-09-07 12:22:02 +05:30
"@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."}
2025-08-28 23:46:32 +05:30
,
2025-09-07 12:22:02 +05:30
"editMessage": "Edit Message",
"@editMessage": {"description": "Action to edit a previously sent message."}
2025-08-28 23:46:32 +05:30
,
"noModelsAvailable": "No models available",
2025-09-07 12:22:02 +05:30
"@noModelsAvailable": {"description": "Shown when model list is empty or failed to load."},
2025-08-28 23:46:32 +05:30
"followingSystem": "Following system: {theme}",
2025-09-07 12:22:02 +05:30
"@followingSystem": {
"description": "Indicates the app is following the system theme (\"Dark\"/\"Light\").",
"placeholders": {"theme": {"type": "String"}}
},
2025-08-28 23:46:32 +05:30
"themeDark": "Dark",
2025-09-07 12:22:02 +05:30
"@themeDark": {"description": "Theme label for dark appearance."},
2025-08-28 23:46:32 +05:30
"themeLight": "Light",
2025-09-07 12:22:02 +05:30
"@themeLight": {"description": "Theme label for light appearance."},
2025-08-28 23:46:32 +05:30
"currentlyUsingDarkTheme": "Currently using Dark theme",
2025-09-07 12:22:02 +05:30
"@currentlyUsingDarkTheme": {"description": "Status text indicating dark theme is active."},
2025-08-28 23:46:32 +05:30
"currentlyUsingLightTheme": "Currently using Light theme",
2025-09-07 12:22:02 +05:30
"@currentlyUsingLightTheme": {"description": "Status text indicating light theme is active."},
2025-08-28 23:46:32 +05:30
"aboutConduit": "About Conduit",
2025-09-07 12:22:02 +05:30
"@aboutConduit": {"description": "Dialog title for app information."},
2025-08-28 23:46:32 +05:30
"versionLabel": "Version: {version} ({build})",
2025-09-07 12:22:02 +05:30
"@versionLabel": {
"description": "Displays version and build number in the About dialog.",
"placeholders": {"version": {"type": "String"}, "build": {"type": "String"}}
},
2025-08-28 23:46:32 +05:30
"githubRepository": "GitHub Repository",
2025-09-07 12:22:02 +05:30
"@githubRepository": {"description": "Link label pointing to the app repository."},
2025-08-29 01:04:29 +05:30
"unableToLoadAppInfo": "Unable to load app info",
2025-09-07 12:22:02 +05:30
"@unableToLoadAppInfo": {"description": "Error text when package info cannot be retrieved."},
2025-08-29 01:04:29 +05:30
"thinking": "Thinking…",
2025-09-07 12:22:02 +05:30
"@thinking": {"description": "Label shown while the assistant is reasoning."},
2025-08-29 01:04:29 +05:30
"thoughts": "Thoughts",
2025-09-07 12:22:02 +05:30
"@thoughts": {"description": "Section title for showing reasoning content."},
2025-08-29 01:04:29 +05:30
"thoughtForDuration": "Thought for {duration}",
"@thoughtForDuration": {
"description": "Shows how long the assistant thought before replying.",
"placeholders": {"duration": {"type": "String", "example": "3s"}}
}
2025-09-07 11:29:29 +05:30
,
"appCustomization": "App Customization",
2025-09-07 12:22:02 +05:30
"@appCustomization": {"description": "Title of the customization settings page."},
2025-09-07 11:29:29 +05:30
"appCustomizationSubtitle": "Personalize how names and UI display",
2025-09-07 12:22:02 +05:30
"@appCustomizationSubtitle": {"description": "Subtitle shown under App Customization tile and page header."},
2025-09-07 11:29:29 +05:30
"display": "Display",
2025-09-07 12:22:02 +05:30
"@display": {"description": "Section header for visual and layout related settings."},
2025-09-07 11:29:29 +05:30
"realtime": "Realtime",
2025-09-07 12:22:02 +05:30
"@realtime": {"description": "Section header for realtime/transport settings."},
2025-09-07 11:29:29 +05:30
"hideProviderInModelNames": "Hide provider in model names",
2025-09-07 12:22:02 +05:30
"@hideProviderInModelNames": {"description": "Toggle label to hide the provider prefix in model names (e.g., show gpt-4o instead of openai/gpt-4o)."},
2025-09-07 11:29:29 +05:30
"hideProviderInModelNamesDescription": "Show names like \"gpt-4o\" instead of \"openai/gpt-4o\".",
2025-09-07 12:22:02 +05:30
"@hideProviderInModelNamesDescription": {"description": "Helper text for provider hiding toggle."},
2025-09-07 11:29:29 +05:30
"transportMode": "Transport mode",
2025-09-07 12:22:02 +05:30
"@transportMode": {"description": "Title for selecting the networking transport used for realtime."},
2025-09-07 11:29:29 +05:30
"transportModeDescription": "Choose how the app connects for realtime updates.",
2025-09-07 12:22:02 +05:30
"@transportModeDescription": {"description": "Helper text explaining the transport setting."},
2025-09-07 11:29:29 +05:30
"mode": "Mode",
2025-09-07 12:22:02 +05:30
"@mode": {"description": "Form field label for transport mode dropdown."},
2025-09-07 11:29:29 +05:30
"transportModeAuto": "Auto (Polling + WebSocket)",
2025-09-07 12:22:02 +05:30
"@transportModeAuto": {"description": "Dropdown option label for automatic transport selection."},
2025-09-07 11:29:29 +05:30
"transportModeWs": "WebSocket only",
2025-09-07 12:22:02 +05:30
"@transportModeWs": {"description": "Dropdown option label for WebSocket-only transport."},
2025-09-07 11:29:29 +05:30
"transportModeAutoInfo": "More robust on restrictive networks. Upgrades to WebSocket when possible.",
2025-09-07 12:22:02 +05:30
"@transportModeAutoInfo": {"description": "Footnote text for the Auto transport mode."},
2025-09-07 11:29:29 +05:30
"transportModeWsInfo": "Lower overhead, but may fail behind strict proxies/firewalls."
2025-09-07 12:22:02 +05:30
,
"@transportModeWsInfo": {"description": "Footnote text for the WebSocket-only transport mode."}
}