Files
capture-ai/language/en.json
T
2026-05-20 21:22:47 +03:00

326 lines
23 KiB
JSON

{
"o_Toggle_Sidebar": "Show/Hide",
"o_Context_RAG": "RAG",
"o_Context_Direct": "Direct",
"o_Context_Mode": "RAG: uses summary, recent messages, code context, and relevant past chunks.\nDirect: sends only the current message and selected references.",
"o_Add_Model": "Add Model",
"o_AI_Models_Empty": "The model list in config is empty. At least one model must be defined.",
"o_Delete_Model": "Delete Model",
"o_Delete_Model_Confirm": "Do you want to delete this model?\n\n{model_id}",
"o_Min_Model_Title": "Model can't be deleted",
"o_Min_Model_Error": "At least one model must remain. You cannot delete the last model.",
"o_New_Chat": "New Chat",
"o_Options": "Options",
"o_Toggle_Dark_Mode": "Toggle Dark Mode",
"o_Settings": "Settings",
"o_Suggestions_Title": "Try asking something",
"o_Suggestion_1": "Tell me a joke",
"o_Suggestion_2": "Summarize this text",
"o_Suggestion_3": "Give me an idea for a project",
"o_Suggestion_4": "Explain a topic simply",
"o_Suggestion_5": "Help me write an email",
"o_Select_File": "Select File",
"o_Attachments": "Take photo, Attach file",
"o_Prompt_Chooser": "Prompt Chooser",
"o_PC_Copyable": "Copyable Content",
"o_PC_Apply": "Apply Changes to Files",
"o_PC_FileCreate": "Create New Files (DOCX / XLSX)",
"o_PC_WebSearch": "Web search",
"o_PC_Structured": "Structured Output",
"o_PC_Code": "Code Generation / Editing",
"o_PC_PDFText": "PDF Text",
"o_PC_PDFImage": "PDF Image",
"o_PC_PDFTextImage": "PDF Text + Image",
"o_PDF_Mode_Required": "You must select a PDF mode from the Prompt Chooser:\n- PDF Text\n- PDF Image\n- PDF Text + Image",
"o_PDF_Text_Edited": "PDF text was edited and the file was created.",
"o_PDF_Image_Edited": "PDF image was edited and converted to PDF.",
"o_PDF_Image_Block_Edited": "PDF image block was edited and the PDF was created.",
"o_PDF_Mixed_Edited": "Mixed PDF was edited and the file was created.",
"o_PDF_Convert_Failed": "PDF could not be converted to images. Check the PDF conversion setup.",
"o_PDF_Has_Text_Select_Text_Model": "This PDF contains extractable text. Please select PDF Text mode instead of PDF Image mode.",
"o_PDF_No_Images_Found": "No images were found in this PDF.",
"o_PDF_Text_Extract_Failed": "PDF text could not be extracted.\nDo not ask for the file path.\nUse OCR or PDF Image mode.",
"o_Microphone": "Dictate",
"o_Stop_Recording": "Stop Recording",
"o_Send_Button": "Send",
"o_Stop_Button": "Stop",
"o_Scroll_Left": "Scroll left",
"o_Scroll_Right": "Scroll right",
"o_Clear_Selection": "Clear selection",
"o_Image": "Image",
"o_Image_Could_Not_Be_Loaded": "Image could not be loaded:\n{path}",
"o_Zoom_Attachments": "Zoom in",
"o_Close_Attachments": "Close",
"o_Scroll_Down": "Scroll down",
"o_AI_Models": "AI Models",
"o_Chats": "Chats",
"o_Delete_Chat": "Delete chat",
"o_Delete_Chat_Confirm": "Do you want to delete this chat?\nThis action cannot be undone.",
"o_Rename": "Rename",
"o_New_Name": "New Name:",
"o_Rename_Hint": "(This will be used as the file name)",
"o_Pin": "Pin",
"o_Unpin": "Unpin",
"o_OpenRouter-Tavily_API_Key": "🔑 OpenRouter/Tavily Key",
"o_OpenRouter_API_Key": "🔑 OpenRouter API Key",
"o_Tavily_API_Key": "🔑 Tavily Key",
"o_Response_Style": "🧠 Response style",
"o_Personalization": "🎨 Personalization",
"o_Language": "🇬🇧 Language",
"o_RAG_Settings": "🧩 RAG Settings",
"o_AI_Settings": "🤖 Local AI Settings",
"o_STT_Settings": "🎙️ STT Settings",
"o_Input_Tokens": "Input tokens",
"o_Output_Tokens": "Output tokens",
"o_Total_Tokens": "Total",
"o_Copy": "Copy",
"o_Download": "Download",
"o_Image_Created": "Image created.",
"o_File_Saved": "File saved.",
"o_File_Not_Found": "File not found.",
"o_Thinking": "Thinking",
"o_AI_Process_Failed": "AI process failed.",
"o_Take_Photo": "Take Photo",
"o_Attach_File": "Attach File",
"o_Reference_Message": "message selected as reference",
"o_Apply": "Apply",
"o_Apply_Mode_replace": "Replacing",
"o_Apply_Mode_before": "Inserting before",
"o_Apply_Mode_after": "Inserting after",
"o_Reject": "Reject",
"o_Save": "Save",
"o_Cancel": "Cancel",
"o_Search": "Search",
"o_Search_Query": "Query",
"o_Empty_Search_Query": "Empty search query.",
"o_Web_Search_Request": "Web search request",
"o_Web_Searching": "Searching...",
"o_Web_Search_Searched": "Searched",
"o_Web_Search_Cancelled": "Web search cancelled",
"o_Web_Search_Request_With_Query": "AI wants to search the web:\n{query}",
"o_Web_Search_API_Key_Invalid": "Web search API key is invalid.",
"o_Web_Search_API_Error": "Web search API error ({status_code}).",
"o_Web_Search_Failed": "Search failed",
"o_Web_Search_Error_With_Detail": "Search failed: {error}",
"o_OK": "OK",
"o_Add": "Add",
"o_Delete": "Delete",
"o_File_Created": "File created.",
"o_File_Changed": "File modified",
"o_Cancelled": "Operation cancelled",
"o_Generation_Failed": "Failed to generate response",
"o_OpenRouter_Placeholder": "Enter OpenRouter API Key...",
"o_Tavily_Placeholder": "Enter Tavily API Key...",
"o_Response_Style_Placeholder": "Example: Speak in a friendly and humorous tone",
"o_Window_BG": "Window background",
"o_Input_BG": "Input background",
"o_User_BG": "User bubble background",
"o_User_Text": "User text color",
"o_Bot_BG": "Bot bubble background",
"o_Bot_Text": "Bot text color",
"o_Sidebar_Text": "Sidebar text color",
"o_Local_Model_Color": "Local model highlight color",
"o_Token_Usage": "Token Usage",
"o_Use_Token_Value": "Show Token Value",
"o_Token_Value": "Token Value",
"o_Token_Value_Hint": "Price per 1M tokens",
"o_Total_Token_Price": "Total Token Price",
"o_Color_Edit_Hint": "You are editing {mode_name} colors.\nUse hex format: e.g. #303643",
"o_Background_Hint": "Chat Background Image",
"o_Background_Path_Placeholder": "/file-path/photo.png",
"o_Clear": "Clear",
"o_Select_Image": "Select Image",
"o_Reset_Default": "Reset to default",
"o_RAG_Context_System_Message": "The following information is provided for conversation continuity. Do not respond to it directly; use it only to understand the latest user message.",
"o_RAG_Recent_Messages_System_Message": "The following messages are the most recent part of the conversation. Do not respond to them individually; use them only to understand the latest user message.",
"o_RAG_Recent_Count": "Recent message count",
"o_RAG_Recent_Count_Hint": "Number of recent conversation messages sent to the model in RAG mode.",
"o_RAG_Retrieved_Count": "Relevant old message count",
"o_RAG_Retrieved_Count_Hint": "Number of relevant old chunks retrieved from previous conversation.",
"o_RAG_Summary_Every": "Summary update interval",
"o_RAG_Summary_Every_Hint": "How often the conversation summary is updated.",
"o_RAG_Memory_Chunk_Max": "Memory chunk max length",
"o_RAG_Memory_Chunk_Max_Hint": "Maximum character length of a single saved memory chunk.",
"o_RAG_Summary_Max": "Summary max length",
"o_RAG_Summary_Max_Hint": "Maximum character length of the conversation summary.",
"o_RAG_Code_Context_Max": "Code context max length",
"o_RAG_Code_Context_Max_Hint": "Maximum character length of code context sent to the model.",
"o_RAG_Use_Summary": "Use summary",
"o_RAG_Use_Summary_Hint": "Adds the conversation summary to the context when enabled.",
"o_RAG_Use_Recent": "Use recent messages",
"o_RAG_Use_Recent_Hint": "Adds recent messages to the context when enabled.",
"o_RAG_Use_Retrieval": "Use relevant old messages",
"o_RAG_Use_Retrieval_Hint": "Retrieves relevant old chunks from previous conversation when enabled.",
"o_RAG_Use_Code_Context": "Use code context",
"o_RAG_Use_Code_Context_Hint": "Adds summaries of attached code files to the context when enabled.",
"o_RAG_Recent_Attachments": "Send attachments in recent messages",
"o_RAG_Recent_Attachments_Hint": "When disabled, only text from recent messages is sent; old files/images are not resent.",
"o_Force_Language_Text": "Use UI Language for Responses",
"o_Force_Language_Hint": "AI should always respond in the selected language.",
"o_Ask_Web_Search": "Ask before web search",
"o_Ask_Web_Search_Hint": "The AI must ask for your permission before it performs a web search.",
"o_AI_Providers": "AI Providers",
"o_Selected_Provider": "Selected Provider",
"o_Add_Provider": "Add Provider",
"o_Stop_Provider": "Stop Provider",
"o_Provider_Cant_Be_Deleted": "Provider can't be deleted",
"o_Provider_Min_One_Required": "At least one provider must remain.",
"o_Delete_Provider": "Delete Provider",
"o_Delete_Provider_Confirm": "Do you want to delete this provider?\n\n{provider}",
"o_Provider_Name": "Provider Name",
"o_Enable_Provider": "Enable Provider",
"o_Enable_Provider_Hint": "Enable this AI provider for local models.",
"o_Run_Startup": "Run Startup",
"o_Run_Startup_Placeholder": "Enter a command or a script path to start the provider.",
"o_Stop_Command": "Stop Command",
"o_Stop_Command_Placeholder": "Exp: pkill -f 'ollama serve'",
"o_Custom_Error": "Custom Error Message",
"o_Custom_Error_Placeholder": "Write a custom error message that will be displayed if the provider cannot respond.",
"o_System_Prompt": "System Prompt",
"o_Online_STT_Text": "Online STT",
"o_Online_STT_Hint": "If enabled, speech-to-text is processed via OpenRouter.",
"o_Use_Desktop_Audio_Text": "Use Desktop Audio",
"o_Use_Desktop_Audio_Hint": "If enabled, system audio will be recorded instead of the microphone.",
"o_Online_STT_Model": "Online STT Model",
"o_Binary_Path": "Binary Path",
"o_Model_Path": "Model Path",
"o_Active_Chat": "Active Chat",
"o_Active_Model": "Active Model",
"o_Context_Mode_Text": "Context Mode",
"o_Current": "Current",
"o_Pending_Attachments": "Pending attachments",
"o_Reference_Messages": "Reference messages",
"o_image": "image",
"o_file": "file",
"o_File_Changes": "File Changes",
"o_Files": "Files",
"o_Apply_Applied": "Applied",
"o_Apply_Failed": "Failed",
"o_Pin_Current_Chat": "Pin Current Chat",
"o_Unpin_Current_Chat": "Unpin Current Chat",
"o_Send_Message": "Send Message",
"o_sub_Send_Message": "Type your message. Press Enter on an empty line to finish.",
"o_Empty_Message": "Empty message was not sent.",
"o_AI_Response": "Sent. Waiting for AI response...",
"o_Drag_Drop": "Enter a file path or drag and drop the file",
"o_to_Menu": "Press Enter to return to the menu...",
"o_Empty_Input": "You cannot enter an empty value.",
"o_Type_ESC": "To cancel, type “esc” on the first line and press Enter.",
"o_Press_ESC": "You can cancel the selection by pressing ESC.",
"o_Change_Chat": "Change Chat",
"o_Rename_Chat": "Chat to be renamed",
"o_New_Value": "Please enter a new value:",
"o_Chat_Rename_Fail": "The new name must be different from the current name.",
"o_Chat_Not_Found": "Chat not found.",
"o_Delete_Error": "Delete error: {error}",
"o_Invalid_Name": "Invalid name.",
"o_Chat_Name_Exists": "A chat with this name already exists.",
"o_Rename_Error": "Rename error: {error}",
"o_No_Chats": "No chats found.",
"o_AI_Model": "AI Model",
"o_Change_AI_Model": "Change AI Model",
"o_Available_Languages": "Available languages",
"o_Language_Select_Hint": "You can choose one of the language codes below.",
"o_Invalid_Language_Code": "Invalid language code. This language was not found in the config.",
"o_Saved": "Saved",
"o_Go_Back": "Go Back",
"o_Exit": "Exit",
"o_Selection": "Selection",
"o_Error": "Error",
"o_Failed": "Failed",
"o_Error_With_Detail": "❌ Error:\n{error}",
"o_Config_Not_Found": "Config file not found.",
"o_Config_Read_Error": "Config could not be read: {error}",
"o_Chat_Read_Error": "Chat could not be read: {error}",
"o_OpenRouter_Key_Missing": "OpenRouter API Key not found.",
"o_Tavily_API_Key_Missing": "Tavily API key is not found.",
"o_Local_Model": "Local Model",
"o_Local": "Local",
"o_Online": "Online",
"o_Invalid_Value": "Invalid value",
"o_Invalid_Local_Model_Format": "Invalid local model format: {model}. Expected: provider/model",
"o_Local_Provider_Not_Found": "Local provider not found: {provider}",
"o_Local_Provider_Disabled": "Local provider is disabled: {provider}",
"o_On": "ON",
"o_Off": "OFF",
"o_Edit_Mode": "Enable file editing?",
"o_Yes": "yes",
"o_No": "no",
"o_History": "History",
"o_Commands": "Commands",
"o_Status": "Status",
"o_Open": "Open",
"o_Use_Timeout": "Use timeout",
"o_Timeout": "Timeout",
"o_Use_Silence_Auto_Stop": "Use silence auto-stop",
"o_Silence_Duration": "Silence duration",
"o_No_Links": "No links.",
"o_Open_Link_Number_Or_Enter": "Open link number or Enter",
"o_No_Text_To_Copy": "No text to copy.",
"o_No_User_Message_For_Regen": "No user message found for regen.",
"o_No_Downloadable_Items": "No downloadable files, images, or voices.",
"o_No_Openable_Items": "No file/image/voice to open.",
"o_No_Openable_Folder": "No file/image/voice folder to open.",
"o_Photo_Capture_Cancelled_Or_Failed": "Photo capture was cancelled or failed.",
"o_Assistant": "Assistant",
"o_Generated_Images": "Generated images",
"o_Image_Added": "Added (image): {name}",
"o_File_Added": "Added (file): {name}",
"o_Photo_Added": "Photo added: {name}",
"o_Local_STT_Failed": "Local STT failed.",
"o_Local_STT_Error": "Local STT error: {error}",
"o_STT_Recording_Silence": "Recording stopped by silence.",
"o_Unsupported_Local_Provider": "Unsupported local provider: {provider}",
"o_OpenRouter_API_Error": "OpenRouter API error ({status_code}): {details}",
"o_OpenRouter_Empty_Stream": "OpenRouter returned an empty stream.",
"o_Request_Timeout": "The request timed out.",
"o_Internet_Connection_Error": "Connection error. Check your internet connection.",
"o_Local_Connection_Error": "{provider} connection error.\nThe local AI server could not be reached.\nExpected address: {base_url}\nThe {provider} server may not be running.",
"o_Ollama_API_Error": "Ollama API error ({status_code}): {details}",
"o_Ollama_JSON_Parse_Error": "Ollama JSON parse error: {error}",
"o_Ollama_Empty_Response": "Ollama returned an empty response.",
"o_Script_Not_Found": "Script not found: {path}",
"o_Photo_Capture_Error": "Photo capture error: {error}",
"o_Voice": "voice",
"o_STT_Recording": "🎙️ Recording...",
"o_STT_Press_Enter_Stop": "Press ENTER to stop.",
"o_STT_Recording_Timeout": "Recording stopped by timeout.",
"o_STT_Error": "STT error: {error}",
"o_No_Speech_Detected": "No speech detected.",
"o_OpenRouter_STT_Key_Missing": "open_router_key is missing",
"o_Whisper_Bin_Not_Found": "whisper_cpp_bin not found: {path}",
"o_Whisper_Model_Not_Found": "whisper_cpp_model not found: {path}",
"o_Whisper_Failed": "whisper.cpp failed",
"o_Desktop_Audio_Monitor_Not_Found": "Monitor source for desktop audio was not found.",
"o_Microphone_Source_Not_Found": "Microphone source was not found.",
"o_Desktop_Audio_Requires_PWRecord": "pw-record is required for desktop audio capture.",
"o_Microphone_Device_Not_Found": "Microphone device was not found.",
"o_Audio_Recorder_Not_Found": "pw-record or arecord was not found.",
"o_Audio_Record_Start_Failed": "Audio recording could not be started: {error}",
"o_Unknown_Error": "unknown error",
"o_Apply_Changes_Request": "File changes need approval",
"o_Apply_Failed_Input": "❌ APPLY FAILED: {error}",
"o_Apply_No_Ops": "no ops to apply",
"o_Apply_File_Not_Found": "file not found: {path}",
"o_Apply_Find_Failed": "find failed: anchor not found in {name}",
"o_Apply_Unknown_Mode": "unknown mode: {mode}",
"o_Apply_No_Changes": "no changes produced (maybe identical content?)",
"o_Apply_Exception": "exception: {error}",
"o_Provider_Command_No_Command": "{provider}\n\nNo command is set.",
"o_Provider_Command_Timeout": "{provider}\n\nCommand timed out:\n{command}",
"o_Provider_Command_Error": "{provider}\n\n{error}",
"o_Provider_Command_Success": "{provider}\n\nCommand executed successfully.\n\n{command}",
"o_Provider_Command_Failed": "{provider}\n\nCommand failed.\n\n{command}\n\nExit code: {code}",
"o_Start_Local_Server_From_App": "Start the local server from the {provider} app.",
"o_STT_Transcription_Prompt": "Speech-to-text only. Return only verbatim transcription. No replies, no explanations, no apologies, no labels. If speech is unclear or missing, return exactly EMPTY_AUDIO.",
"o_Base_System_Prompt": "This message is a set of instructions.\nDo not respond to this message.\nOnly respond to user messages.\nOnly respond to the most recent user message.",
"o_Prompt_Copyable": "In this conversation, you may be asked to generate emails, code, commands, configuration files, or text that needs to be copied exactly.\n\nFORMAT RULE:\nIf the user's request requires generating directly copyable content (such as code, scripts, terminal commands, configuration files, etc.), use the following format:\n\ntitle\n<short and descriptive title>\ntitle\ncopy\n<code or copyable content>\ncopy\n\nRules:\n- The words 'title' and 'copy' must be on their own lines.\n- The 'title' block must appear before the code block.\n- Do not use this format if there is no code.\n- Do not use this format in normal conversational responses.\n- Only use this format when the content is genuinely meant to be copied.",
"o_Prompt_Apply": "[FILE] BLOCKS:\n- If the user has attached a file, its content is already provided in this message in the format [FILE] ... [CONTENT] ... [/CONTENT].\n- Do not ask the user to paste code or re-upload the file.\n- If changes are required, read and operate on the [CONTENT].\n- Do not request the file content again.\n- Use the path value exactly as provided in the [FILE] block.\n\nFILE MODIFICATION RULE:\n- If 'editable: true', you may suggest modifications.\n- If 'editable: false', NEVER suggest changes.\n- Do not generate an apply block for editable:false files.\n- If no changes are needed, do not generate an apply block.\n\nAPPLY (AUTOMATIC PATCH) PROTOCOL:\nIf and only if the user requests changes to an editable:true file,\nappend the following block at the END of your response:\n\napply\n[\n {\n \"path\": \"/absolute/path/to/file\",\n \"find\": \"EXACT ANCHOR TEXT FOUND IN FILE\",\n \"mode\": \"before|after|replace\",\n \"text\": \"TEXT TO INSERT OR REPLACE\"\n }\n]\napply\n\nRules:\n- The apply block must contain ONLY JSON.\n- mode must be one of: before, after, replace.\n- path MUST be an absolute path.\n- find must be a short/medium anchor that exists exactly in the file.\n\nAPPLY SUMMARY LINE RULE:\n- If you generate an apply block, NEVER use definitive/finished statements.\n- Write exactly ONE summary line before the apply block.",
"o_Prompt_File_Create": "[FILE] BLOCKS:\n- If previous assistant messages contain a [GENERATED_FILES] block, and the user refers to 'the last file', 'the file you created', etc., use those path values.\n- Do not ask the user to upload the file again.\n- If file content is already provided in a [FILE] block, do not request it again.\n\nFILE_CREATE PROTOCOL:\nIf the user wants to edit an editable:true DOCX, XLSX, or text-based file and receive it as a new file, append the following block at the END of your response:\n\nfile_create\n[\n {\n \"source_path\": \"/absolute/path/to/source.docx\",\n \"format\": \"docx\",\n \"output_name\": \"edited-file.docx\",\n \"content\": \"New file content\"\n }\n]\nfile_create\n\nRules:\n- Do not include explanations outside JSON.\n- format must be one of: docx, xlsx, txt, md.\n- For DOCX, content must be plain text.\n- For XLSX, content must be a JSON table or supported operation object.\n- The content must be a 2D JSON array whenever possible.\n- Each inner array represents one row in Excel.\n- Avoid rewriting large XLSX files row by row.\n- Do not wrap the entire table inside one row.\n- Each row must be separate.",
"o_Prompt_Web_Search": "If current or unknown information is needed, do not answer normally. Instead, return only this JSON format:\n{\"tool\":\"web_search\",\"query\":\"search query\"}\n\nRules:\n- Use this only when current information is really needed.\n- Use it for match scores, current prices, latest news, new versions, today's information, etc.\n- If web results are provided to you, answer normally using only those results.\n- When web search results are provided, include a short 'Sources' section at the end of your answer. Use the source titles and URLs exactly as provided. Do not invent sources.\n- When web search results are used, write source URLs as full https:// links.",
"o_Prompt_Structured": "When needed, provide responses in a clean, structured, and parseable format. If JSON is requested, return only valid JSON.",
"o_Prompt_Code": "When writing code, produce clean, directly usable code without unnecessary explanation. If modifying existing code, preserve the original structure as much as possible.",
"o_Prompt_PDF_Text_Only_To_DOCX_Rule": "PDF TEXT REWRITE RULE:\nThe PDF text is already provided inside [CONTENT].\nDo not request file paths.\nDo not ask the user to upload the file again.\n\nRules:\n- Do not generate images.\n- Do not use HTML, markdown, or image placeholders.\n- Output plain text only.\n- Rewrite according to the request while preserving meaning.\n- Do not invent new content.\n\nReturn ONLY in file_create DOCX format:\nfile_create\n[\n {\n \"source_path\": \"/absolute/path/to/source.pdf\",\n \"format\": \"docx\",\n \"output_name\": \"edited-document.docx\",\n \"content\": \"Final rewritten text\"\n }\n]\nfile_create",
"o_Prompt_PDF_Mixed_Text_Only_Rule": "PDF MIXED TEXT-ONLY RULE:\nThe PDF contains both text and images, but only text should be modified.\nDo not modify images.\n\nRules:\n- Rewrite text only.\n- Do not invent new content.\n- Do not modify images.\n\nReturn ONLY JSON:\n{\n \"type\": \"pdf_mixed_rewrite\",\n \"content\": \"File created.\",\n \"text_replacements\": {\n \"TEXT_BLOCK_ID\": \"new text\"\n },\n \"image_replacements\": {}\n}"
}