Repository: n4ze3m/page-assist Branch: main Commit: 8011bb28586f Files: 580 Total size: 2.3 MB Directory structure: gitextract_4dq_zncw/ ├── .github/ │ └── FUNDING.yml ├── .gitignore ├── .prettierrc.cjs ├── CONTRIBUTING.md ├── LICENCE ├── PRIVACY.md ├── README.md ├── bun.lockb ├── docs/ │ ├── .vitepress/ │ │ └── config.mts │ ├── browser-support.md │ ├── connection-issue.md │ ├── extensions-causing-issue-other-websites.md │ ├── features/ │ │ ├── internet-search.md │ │ ├── knowledge-base.md │ │ ├── mcp.md │ │ ├── ollama.md │ │ ├── other.md │ │ ├── page-share.md │ │ └── prompts.md │ ├── index.md │ ├── markdown-examples.md │ ├── package.json │ ├── postcss.config.js │ ├── privacy.md │ ├── prompt.md │ ├── providers/ │ │ ├── llamacpp.md │ │ ├── lmstudio.md │ │ ├── ollama.md │ │ └── openai.md │ ├── shortcuts.md │ └── sidebar/ │ ├── chat-with-website.md │ ├── copilot.md │ ├── index.md │ └── vision.md ├── package.json ├── page-share.md ├── postcss.config.js ├── src/ │ ├── assets/ │ │ ├── locale/ │ │ │ ├── ar/ │ │ │ │ ├── chrome.json │ │ │ │ ├── common.json │ │ │ │ ├── knowledge.json │ │ │ │ ├── openai.json │ │ │ │ ├── option.json │ │ │ │ ├── playground.json │ │ │ │ ├── settings.json │ │ │ │ └── sidepanel.json │ │ │ ├── da/ │ │ │ │ ├── chrome.json │ │ │ │ ├── common.json │ │ │ │ ├── knowledge.json │ │ │ │ ├── openai.json │ │ │ │ ├── option.json │ │ │ │ ├── playground.json │ │ │ │ ├── settings.json │ │ │ │ └── sidepanel.json │ │ │ ├── de/ │ │ │ │ ├── chrome.json │ │ │ │ ├── common.json │ │ │ │ ├── knowledge.json │ │ │ │ ├── openai.json │ │ │ │ ├── option.json │ │ │ │ ├── playground.json │ │ │ │ ├── settings.json │ │ │ │ └── sidepanel.json │ │ │ ├── en/ │ │ │ │ ├── chrome.json │ │ │ │ ├── common.json │ │ │ │ ├── knowledge.json │ │ │ │ ├── openai.json │ │ │ │ ├── option.json │ │ │ │ ├── playground.json │ │ │ │ ├── settings.json │ │ │ │ └── sidepanel.json │ │ │ ├── es/ │ │ │ │ ├── chrome.json │ │ │ │ ├── common.json │ │ │ │ ├── knowledge.json │ │ │ │ ├── openai.json │ │ │ │ ├── option.json │ │ │ │ ├── playground.json │ │ │ │ ├── settings.json │ │ │ │ └── sidepanel.json │ │ │ ├── fa/ │ │ │ │ ├── chrome.json │ │ │ │ ├── common.json │ │ │ │ ├── knowledge.json │ │ │ │ ├── openai.json │ │ │ │ ├── option.json │ │ │ │ ├── playground.json │ │ │ │ ├── settings.json │ │ │ │ └── sidepanel.json │ │ │ ├── fr/ │ │ │ │ ├── chrome.json │ │ │ │ ├── common.json │ │ │ │ ├── knowledge.json │ │ │ │ ├── openai.json │ │ │ │ ├── option.json │ │ │ │ ├── playground.json │ │ │ │ ├── settings.json │ │ │ │ └── sidepanel.json │ │ │ ├── it/ │ │ │ │ ├── chrome.json │ │ │ │ ├── common.json │ │ │ │ ├── knowledge.json │ │ │ │ ├── openai.json │ │ │ │ ├── option.json │ │ │ │ ├── playground.json │ │ │ │ ├── settings.json │ │ │ │ └── sidepanel.json │ │ │ ├── ja-JP/ │ │ │ │ ├── chrome.json │ │ │ │ ├── common.json │ │ │ │ ├── knowledge.json │ │ │ │ ├── openai.json │ │ │ │ ├── option.json │ │ │ │ ├── playground.json │ │ │ │ ├── settings.json │ │ │ │ └── sidepanel.json │ │ │ ├── ko/ │ │ │ │ ├── chrome.json │ │ │ │ ├── common.json │ │ │ │ ├── knowledge.json │ │ │ │ ├── openai.json │ │ │ │ ├── option.json │ │ │ │ ├── playground.json │ │ │ │ ├── settings.json │ │ │ │ └── sidepanel.json │ │ │ ├── ml/ │ │ │ │ ├── chrome.json │ │ │ │ ├── common.json │ │ │ │ ├── knowledge.json │ │ │ │ ├── openai.json │ │ │ │ ├── option.json │ │ │ │ ├── playground.json │ │ │ │ ├── settings.json │ │ │ │ └── sidepanel.json │ │ │ ├── no/ │ │ │ │ ├── chrome.json │ │ │ │ ├── common.json │ │ │ │ ├── knowledge.json │ │ │ │ ├── openai.json │ │ │ │ ├── option.json │ │ │ │ ├── playground.json │ │ │ │ ├── settings.json │ │ │ │ └── sidepanel.json │ │ │ ├── pt-BR/ │ │ │ │ ├── chrome.json │ │ │ │ ├── common.json │ │ │ │ ├── knowledge.json │ │ │ │ ├── openai.json │ │ │ │ ├── option.json │ │ │ │ ├── playground.json │ │ │ │ ├── settings.json │ │ │ │ └── sidepanel.json │ │ │ ├── ru/ │ │ │ │ ├── chrome.json │ │ │ │ ├── common.json │ │ │ │ ├── knowledge.json │ │ │ │ ├── openai.json │ │ │ │ ├── option.json │ │ │ │ ├── playground.json │ │ │ │ ├── settings.json │ │ │ │ └── sidepanel.json │ │ │ ├── sv/ │ │ │ │ ├── chrome.json │ │ │ │ ├── common.json │ │ │ │ ├── knowledge.json │ │ │ │ ├── openai.json │ │ │ │ ├── option.json │ │ │ │ ├── playground.json │ │ │ │ ├── settings.json │ │ │ │ └── sidepanel.json │ │ │ ├── uk/ │ │ │ │ ├── chrome.json │ │ │ │ ├── common.json │ │ │ │ ├── knowledge.json │ │ │ │ ├── openai.json │ │ │ │ ├── option.json │ │ │ │ ├── playground.json │ │ │ │ ├── settings.json │ │ │ │ └── sidepanel.json │ │ │ ├── zh/ │ │ │ │ ├── chrome.json │ │ │ │ ├── common.json │ │ │ │ ├── knowledge.json │ │ │ │ ├── openai.json │ │ │ │ ├── option.json │ │ │ │ ├── playground.json │ │ │ │ ├── settings.json │ │ │ │ └── sidepanel.json │ │ │ └── zh-TW/ │ │ │ ├── chrome.json │ │ │ ├── common.json │ │ │ ├── knowledge.json │ │ │ ├── openai.json │ │ │ ├── option.json │ │ │ ├── playground.json │ │ │ ├── settings.json │ │ │ └── sidepanel.json │ │ └── tailwind.css │ ├── chain/ │ │ ├── chat-with-website.ts │ │ └── chat-with-x.ts │ ├── components/ │ │ ├── Common/ │ │ │ ├── Beta.tsx │ │ │ ├── CodeBlock.tsx │ │ │ ├── DocumentCard.tsx │ │ │ ├── ImageExport.tsx │ │ │ ├── Markdown.tsx │ │ │ ├── McpServerToggle.tsx │ │ │ ├── Mermaid.tsx │ │ │ ├── Message/ │ │ │ │ └── ReasoningSection.tsx │ │ │ ├── ModelSelect.tsx │ │ │ ├── PageAssistLoader.tsx │ │ │ ├── PageAssistProvider.tsx │ │ │ ├── Playground/ │ │ │ │ ├── ActionInfo.tsx │ │ │ │ ├── DocumentChip.tsx │ │ │ │ ├── DocumentFile.tsx │ │ │ │ ├── EditMessageForm.tsx │ │ │ │ ├── GenerationInfo.tsx │ │ │ │ ├── HumanMessge.tsx │ │ │ │ ├── McpInvocationBlock.tsx │ │ │ │ ├── Message.tsx │ │ │ │ ├── MessageSource.tsx │ │ │ │ ├── MessageSourcePopup.tsx │ │ │ │ ├── PlaygroundUserMessage.tsx │ │ │ │ └── message-groups.ts │ │ │ ├── PromptSelect.tsx │ │ │ ├── ProviderIcon.tsx │ │ │ ├── QueuedMessagesList.tsx │ │ │ ├── SaveButton.tsx │ │ │ ├── Settings/ │ │ │ │ ├── AdvanceOllamaSettings.tsx │ │ │ │ └── CurrentChatModelSettings.tsx │ │ │ ├── ShareModal.tsx │ │ │ └── TableBlock.tsx │ │ ├── Icons/ │ │ │ ├── AliBaBaCloud.tsx │ │ │ ├── AnthropicIcon.tsx │ │ │ ├── BigModelZhipuIcon.tsx │ │ │ ├── CSVIcon.tsx │ │ │ ├── CanopyWaveIcon.tsx │ │ │ ├── ChatSettings.tsx │ │ │ ├── ChutesIcon.tsx │ │ │ ├── DeepSeek.tsx │ │ │ ├── Fireworks.tsx │ │ │ ├── GeminiIcon.tsx │ │ │ ├── Groq.tsx │ │ │ ├── HuggingFaceIcon.tsx │ │ │ ├── InfinigenceAI.tsx │ │ │ ├── LMStudio.tsx │ │ │ ├── LlamacppLogo.tsx │ │ │ ├── Llamafile.tsx │ │ │ ├── MCPIcon.tsx │ │ │ ├── MiniMaxIcon.tsx │ │ │ ├── Mistral.tsx │ │ │ ├── Moonshot.tsx │ │ │ ├── Novita.tsx │ │ │ ├── Ollama.tsx │ │ │ ├── OpenAI.tsx │ │ │ ├── OpenRouter.tsx │ │ │ ├── PDFIcon.tsx │ │ │ ├── SiliconFlow.tsx │ │ │ ├── TXTIcon.tsx │ │ │ ├── TencentCloud.tsx │ │ │ ├── Togther.tsx │ │ │ ├── VercelIcon.tsx │ │ │ ├── VllmLogo.tsx │ │ │ ├── VolcEngine.tsx │ │ │ └── XAI.tsx │ │ ├── Layouts/ │ │ │ ├── Header.tsx │ │ │ ├── Layout.tsx │ │ │ ├── LinkComponent.tsx │ │ │ ├── MoreOptions.tsx │ │ │ ├── NewChat.tsx │ │ │ ├── SettingsOptionLayout.tsx │ │ │ └── SidePanelSettingsLayout.tsx │ │ ├── Option/ │ │ │ ├── Knowledge/ │ │ │ │ ├── AddKnowledge.tsx │ │ │ │ ├── EditKnowledgeSettings.tsx │ │ │ │ ├── KnowledgeIcon.tsx │ │ │ │ ├── KnowledgeSelect.tsx │ │ │ │ ├── SelectedKnowledge.tsx │ │ │ │ ├── UpdateKnowledge.tsx │ │ │ │ ├── index.tsx │ │ │ │ └── utils/ │ │ │ │ └── unsupported-types.ts │ │ │ ├── Models/ │ │ │ │ ├── AddCustomModelModal.tsx │ │ │ │ ├── AddOllamaModelModal.tsx │ │ │ │ ├── AddUpdateModelSettings.tsx │ │ │ │ ├── AddUpdateOAIModelSettings.tsx │ │ │ │ ├── CancelPullingModel.tsx │ │ │ │ ├── CustomModelsTable.tsx │ │ │ │ ├── ModelNicknameModal.tsx │ │ │ │ ├── OllamaModelsTable.tsx │ │ │ │ └── index.tsx │ │ │ ├── Playground/ │ │ │ │ ├── DocumentChip.tsx │ │ │ │ ├── MentionHighlighter.tsx │ │ │ │ ├── MentionsDropdown.tsx │ │ │ │ ├── Playground.tsx │ │ │ │ ├── PlaygroundChat.tsx │ │ │ │ ├── PlaygroundEmpty.tsx │ │ │ │ ├── PlaygroundFile.tsx │ │ │ │ ├── PlaygroundForm.tsx │ │ │ │ ├── PlaygroundNewChat.tsx │ │ │ │ └── PlaygroundSettings.tsx │ │ │ ├── Prompt/ │ │ │ │ └── index.tsx │ │ │ ├── Settings/ │ │ │ │ ├── about.tsx │ │ │ │ ├── chrome.tsx │ │ │ │ ├── general-settings.tsx │ │ │ │ ├── mcp.tsx │ │ │ │ ├── memory.tsx │ │ │ │ ├── model-settings.tsx │ │ │ │ ├── ollama.tsx │ │ │ │ ├── openai-fetch-model.tsx │ │ │ │ ├── openai.tsx │ │ │ │ ├── prompt.tsx │ │ │ │ ├── rag.tsx │ │ │ │ ├── search-mode.tsx │ │ │ │ ├── sidepanel-rag.tsx │ │ │ │ ├── sst-settings.tsx │ │ │ │ ├── system-settings.tsx │ │ │ │ ├── title.tsx │ │ │ │ └── tts-mode.tsx │ │ │ ├── Share/ │ │ │ │ └── index.tsx │ │ │ └── Sidebar.tsx │ │ ├── Select/ │ │ │ ├── LoadingIndicator.tsx │ │ │ └── index.tsx │ │ ├── ShortcutConfig.tsx │ │ └── Sidepanel/ │ │ ├── Chat/ │ │ │ ├── body.tsx │ │ │ ├── empty.tsx │ │ │ ├── form.tsx │ │ │ └── header.tsx │ │ └── Settings/ │ │ ├── body.tsx │ │ └── header.tsx │ ├── context/ │ │ ├── FontSizeProvider.tsx │ │ └── index.tsx │ ├── data/ │ │ └── ocr-language.ts │ ├── db/ │ │ ├── dexie/ │ │ │ ├── branch.ts │ │ │ ├── chat.ts │ │ │ ├── firefox-sync.ts │ │ │ ├── helpers.ts │ │ │ ├── knowledge.ts │ │ │ ├── mcp.ts │ │ │ ├── memory.ts │ │ │ ├── migration.ts │ │ │ ├── modelState.ts │ │ │ ├── models.ts │ │ │ ├── nickname.ts │ │ │ ├── openai.ts │ │ │ ├── providerState.ts │ │ │ ├── schema.ts │ │ │ ├── types.ts │ │ │ └── vector.ts │ │ ├── document.ts │ │ ├── index.ts │ │ ├── knowledge.ts │ │ ├── models.ts │ │ ├── nickname.ts │ │ ├── openai.ts │ │ └── vector.ts │ ├── entries/ │ │ ├── background.ts │ │ ├── hf-pull.content.ts │ │ ├── ollama-pull.content.ts │ │ ├── options/ │ │ │ ├── App.tsx │ │ │ ├── index.html │ │ │ └── main.tsx │ │ ├── sidepanel/ │ │ │ ├── App.tsx │ │ │ ├── index.html │ │ │ └── main.tsx │ │ └── youtube-summarize.content.ts │ ├── entries-firefox/ │ │ ├── background.ts │ │ ├── hf-pull.content.ts │ │ ├── ollama-pull.content.ts │ │ ├── options/ │ │ │ ├── App.tsx │ │ │ ├── index.html │ │ │ └── main.tsx │ │ ├── sidepanel/ │ │ │ ├── App.tsx │ │ │ ├── index.html │ │ │ └── main.tsx │ │ └── youtube-summarize.content.ts │ ├── hooks/ │ │ ├── chat-helper/ │ │ │ └── index.ts │ │ ├── chat-modes/ │ │ │ ├── continueChatMode.ts │ │ │ ├── documentChatMode.ts │ │ │ ├── normalChatMode.ts │ │ │ ├── ragMode.ts │ │ │ ├── searchChatMode.ts │ │ │ └── tabChatMode.ts │ │ ├── handlers/ │ │ │ └── messageHandlers.ts │ │ ├── keyboard/ │ │ │ ├── index.ts │ │ │ ├── useKeyboardShortcuts.ts │ │ │ └── useShortcutConfig.ts │ │ ├── useBackgroundMessage.tsx │ │ ├── useDarkmode.tsx │ │ ├── useDebounce.tsx │ │ ├── useDynamicTextareaSize.tsx │ │ ├── useI18n.tsx │ │ ├── useLocal.tsx │ │ ├── useMessage.tsx │ │ ├── useMessageOption.tsx │ │ ├── useMessageQueue.ts │ │ ├── useMigration.tsx │ │ ├── useSmartScroll.tsx │ │ ├── useSmartScroll2.tsx │ │ ├── useSpeechRecognition.tsx │ │ ├── useTTS.tsx │ │ ├── useTabMentions.ts │ │ └── utils/ │ │ └── messageHelpers.ts │ ├── i18n/ │ │ ├── index.ts │ │ ├── lang/ │ │ │ ├── ar.ts │ │ │ ├── da.ts │ │ │ ├── de.ts │ │ │ ├── en.ts │ │ │ ├── es.ts │ │ │ ├── fa.ts │ │ │ ├── fr.ts │ │ │ ├── it.ts │ │ │ ├── ja.ts │ │ │ ├── ko.ts │ │ │ ├── ml.ts │ │ │ ├── no.ts │ │ │ ├── pt.ts │ │ │ ├── ru.ts │ │ │ ├── sv.ts │ │ │ ├── uk.ts │ │ │ ├── zh-TW.ts │ │ │ └── zh.ts │ │ └── support-language.ts │ ├── libs/ │ │ ├── PAMemoryVectorStore.ts │ │ ├── PageAssistVectorStore.ts │ │ ├── byte-formater.ts │ │ ├── class-name.tsx │ │ ├── clean-url.ts │ │ ├── export-import.ts │ │ ├── fetcher.ts │ │ ├── get-html.ts │ │ ├── get-screenshot.ts │ │ ├── get-tab-contents.ts │ │ ├── mcp/ │ │ │ ├── client.ts │ │ │ ├── errors.ts │ │ │ ├── http-client.ts │ │ │ ├── normal-chat.ts │ │ │ ├── oauth-flow.ts │ │ │ ├── oauth.ts │ │ │ ├── remote-tools.ts │ │ │ ├── tool-schema.ts │ │ │ ├── types.ts │ │ │ └── utils.ts │ │ ├── model-utils.ts │ │ ├── openai.ts │ │ ├── pdf.ts │ │ ├── pdfjs.ts │ │ ├── process-knowledge.ts │ │ ├── process-source.ts │ │ ├── reasoning.ts │ │ ├── runtime.ts │ │ ├── send-notification.ts │ │ └── to-base64.ts │ ├── loader/ │ │ ├── csv.ts │ │ ├── docx.ts │ │ ├── html.ts │ │ ├── pdf-url.ts │ │ ├── pdf.ts │ │ └── txt.ts │ ├── models/ │ │ ├── ChatChromeAi.ts │ │ ├── ChatGoogleAI.ts │ │ ├── ChatOllama.ts │ │ ├── ChatTypes.ts │ │ ├── CustomAIMessageChunk.ts │ │ ├── CustomChatAnthropic.ts │ │ ├── CustomChatOpenAI.ts │ │ ├── OAIEmbedding.ts │ │ ├── OllamaEmbedding.ts │ │ ├── embedding.ts │ │ ├── index.ts │ │ ├── types.ts │ │ └── utils/ │ │ ├── chrome.ts │ │ ├── ollama.ts │ │ └── openai.ts │ ├── parser/ │ │ ├── amazon.ts │ │ ├── default.ts │ │ ├── google-docs.ts │ │ ├── google-sheets.ts │ │ ├── reader.ts │ │ ├── twitter.ts │ │ └── wiki.ts │ ├── public/ │ │ ├── _locales/ │ │ │ ├── da/ │ │ │ │ └── messages.json │ │ │ ├── de/ │ │ │ │ └── messages.json │ │ │ ├── en/ │ │ │ │ └── messages.json │ │ │ ├── es/ │ │ │ │ └── messages.json │ │ │ ├── fa/ │ │ │ │ └── messages.json │ │ │ ├── fr/ │ │ │ │ └── messages.json │ │ │ ├── it/ │ │ │ │ └── messages.json │ │ │ ├── ja/ │ │ │ │ └── messages.json │ │ │ ├── ml/ │ │ │ │ └── messages.json │ │ │ ├── no/ │ │ │ │ └── messages.json │ │ │ ├── ru/ │ │ │ │ └── messages.json │ │ │ ├── sv/ │ │ │ │ └── messages.json │ │ │ ├── zh_CN/ │ │ │ │ └── messages.json │ │ │ └── zh_TW/ │ │ │ └── messages.json │ │ └── ocr/ │ │ ├── tesseract-core-simd.js │ │ └── tesseract-core-simd.wasm │ ├── queue/ │ │ └── index.ts │ ├── routes/ │ │ ├── chrome-route.tsx │ │ ├── chrome.tsx │ │ ├── firefox-route.tsx │ │ ├── firefox.tsx │ │ ├── option-index.tsx │ │ ├── option-rag.tsx │ │ ├── option-settings-about.tsx │ │ ├── option-settings-chrome.tsx │ │ ├── option-settings-knowledge.tsx │ │ ├── option-settings-mcp.tsx │ │ ├── option-settings-model.tsx │ │ ├── option-settings-openai.tsx │ │ ├── option-settings-prompt.tsx │ │ ├── option-settings-share.tsx │ │ ├── option-settings.tsx │ │ ├── options-settings-ollama.tsx │ │ ├── sidepanel-chat.tsx │ │ ├── sidepanel-settings-model.tsx │ │ ├── sidepanel-settings-openai.tsx │ │ └── sidepanel-settings.tsx │ ├── services/ │ │ ├── action.ts │ │ ├── app.ts │ │ ├── application.ts │ │ ├── chrome.ts │ │ ├── elevenlabs.ts │ │ ├── kb.ts │ │ ├── model-settings.ts │ │ ├── ocr.ts │ │ ├── ollama.ts │ │ ├── openai-tts.ts │ │ ├── search.ts │ │ ├── title.ts │ │ └── tts.ts │ ├── store/ │ │ ├── index.tsx │ │ ├── model.tsx │ │ ├── option.tsx │ │ └── webui.tsx │ ├── types/ │ │ ├── index.ts │ │ └── message.ts │ ├── utils/ │ │ ├── action.ts │ │ ├── chrome-download.ts │ │ ├── chrome.ts │ │ ├── clean-headers.ts │ │ ├── clean.ts │ │ ├── clipboard.ts │ │ ├── color.ts │ │ ├── compress.ts │ │ ├── constant.ts │ │ ├── ff-error.ts │ │ ├── file-processor.ts │ │ ├── format-file-size.ts │ │ ├── generate-history.ts │ │ ├── google-domains.ts │ │ ├── human-message.tsx │ │ ├── humanize-milliseconds.ts │ │ ├── is-private-mode.ts │ │ ├── is-youtube.ts │ │ ├── key-down.tsx │ │ ├── langauge-extension.ts │ │ ├── latex.ts │ │ ├── markdown-to-ssml.ts │ │ ├── markdown-to-text.ts │ │ ├── marked/ │ │ │ └── katex.tsx │ │ ├── math-delimiter.ts │ │ ├── memory-embeddings.ts │ │ ├── model.ts │ │ ├── oai-api-providers.ts │ │ ├── ocr.ts │ │ ├── ollama-pull-inject.ts │ │ ├── pull-ollama.ts │ │ ├── rerank.ts │ │ ├── search-provider.ts │ │ ├── select-variable.ts │ │ ├── supported-languages.ts │ │ ├── system-message.ts │ │ ├── text-splitter.ts │ │ ├── to-source.ts │ │ ├── tts.ts │ │ ├── update-page-title.ts │ │ └── verify-page-share.ts │ └── web/ │ ├── search-engines/ │ │ ├── baidu.ts │ │ ├── bing.ts │ │ ├── brave-api.ts │ │ ├── brave.ts │ │ ├── duckduckgo.ts │ │ ├── exa.ts │ │ ├── firecrawl.ts │ │ ├── google.ts │ │ ├── kagi-api.ts │ │ ├── ollama.ts │ │ ├── perplexity-api.ts │ │ ├── searxng.ts │ │ ├── sogou.ts │ │ ├── startpage.ts │ │ ├── stract.ts │ │ └── tavily-api.ts │ ├── web.ts │ └── website/ │ └── index.ts ├── tailwind.config.js ├── tsconfig.json └── wxt.config.ts ================================================ FILE CONTENTS ================================================ ================================================ FILE: .github/FUNDING.yml ================================================ github: n4ze3m ko_fi: n4ze3m ================================================ FILE: .gitignore ================================================ # See https://help.github.com/articles/ignoring-files/ for more about ignoring files. # settings .vscode # dependencies /node_modules /.pnp .pnp.js # testing /coverage #cache .turbo .next .vercel # misc .DS_Store *.pem # debug npm-debug.log* yarn-debug.log* yarn-error.log* .pnpm-debug.log* # local env files .env* out/ build/ dist/ # plasmo - https://www.plasmo.com .plasmo # bpp - http://bpp.browser.market/ keys.json # typescript .tsbuildinfo # WXT .wxt # WebStorm .idea /docs/.vitepress/cache/ package-lock.json ================================================ FILE: .prettierrc.cjs ================================================ /** * @type {import('prettier').Options} */ module.exports = { printWidth: 80, tabWidth: 2, useTabs: false, semi: false, singleQuote: false, trailingComma: "none", bracketSpacing: true, bracketSameLine: true, plugins: [require.resolve("@plasmohq/prettier-plugin-sort-imports")], importOrder: ["^@plasmohq/(.*)$", "^~(.*)$", "^[./]"], importOrderSeparation: true, importOrderSortSpecifiers: true } ================================================ FILE: CONTRIBUTING.md ================================================ # Contributing to Page Assist Thank you for your interest in contributing to Page Assist! We welcome contributions from anyone, whether it's reporting bugs, suggesting improvements, or submitting code changes. ## Getting Started 1. **Fork the repository** To start contributing, you'll need to fork the [Page Assist repository](https://github.com/n4ze3m/page-assist) by clicking the "Fork" button at the top right of the page. 2. **Clone your forked repository** Once you have your own fork, clone it to your local machine: ``` git clone https://github.com/YOUR-USERNAME/page-assist.git ``` 3. **Install dependencies** Page Assist uses [Bun](https://bun.sh/) for dependency management. Install the required dependencies by running the following command in the project root directory: ``` bun install ``` If you face any issues with Bun, you can use `npm` instead. 4. **Start the development server** To run the extension in development mode, use the following command: ``` bun dev ``` This will open a chrome browser window with the extension loaded. for firefox: ``` bun dev:firefox ``` 5. **Install Ollama locally** Page Assist requires [Ollama](https://ollama.ai) to be installed locally. Follow the installation instructions provided in the Ollama repository. ## Making Changes Once you have the project set up locally, you can start making changes. We recommend creating a new branch for your changes: ``` git checkout -b my-feature-branch ``` Make your desired changes, and don't forget to add or update tests if necessary. ## Submitting a Pull Request 1. **Commit your changes** Once you've made your changes, commit them with a descriptive commit message: ``` git commit -m "Add a brief description of your changes" ``` 2. **Push your changes** Push your changes to your forked repository: ``` git push origin my-feature-branch ``` 3. **Open a Pull Request** Go to the original repository on GitHub and click the "New Pull Request" button. Select your forked repository and the branch you just pushed as the source, and the main repository's `main` branch as the destination. 4. **Describe your changes** Provide a clear and concise description of the changes you've made, including any relevant issue numbers or other context. 5. **Review and merge** The maintainers of the project will review your pull request and provide feedback or merge it if everything looks good. ## Code Style and Guidelines To ensure consistency and maintainability, we follow certain code style guidelines. Please ensure your code adheres to these guidelines before submitting a pull request. - Use proper indentation and code formatting - Write clear and concise comments when necessary - Follow best practices for TypeScript and React development ## Need Help? If you have any questions or need further assistance, feel free to open an issue or reach out to the maintainers. Thank you for your contribution! ================================================ FILE: LICENCE ================================================ MIT License Copyright (c) 2023 Muhammed Nazeem Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ================================================ FILE: PRIVACY.md ================================================ # Privacy Policy ## Data Collection Page Assist is committed to user privacy and does not collect any user data. All operations and data storage occur locally within your browser. ## Browser Permissions The extension requires the following permissions to function: - **Notifications**: To provide system notifications - **Website Content Access**: Required for the chat-with-webpage functionality - **Unlimited Storage**: Used to store chat history locally in your browser - **Active Tab**: To ensure the extension is active on the current tab and get screenshots etc - **Scripting**: For the chat-with-webpage functionality - **Web Requests**: To modify headers of the local server to avoid CORS issues ## Page Share Feature When using the Page Share feature: - Data sharing only occurs when explicitly connecting to external sources - Self-hosting option is available for complete data control - Shared chats can be permanently deleted from the server at any time - No data is retained after deletion ## Data Storage - All chat history and settings are stored locally in your browser - No data is transmitted to external servers unless explicitly initiated by the user - Users maintain full control over their data ## Third-Party Services Page Assist does not integrate with any third-party analytics or tracking services. ## Changes to Privacy Policy We reserve the right to update this privacy policy as needed. Users will be notified of any significant changes. ## Contact For privacy-related questions or concerns, please open an issue on our GitHub repository or mail me at me@n4ze3m.com ================================================ FILE: README.md ================================================

Page Assist

Join dialoqbase #welcome Follow @page_assist on Twitter

Documentation

Page Assist is an open-source browser extension that provides a sidebar and web UI for your local AI model. It allows you to interact with your model from any webpage. ## Installation Page Assist supports Chromium-based browsers like Chrome, Brave, and Edge, as well as Firefox. [![Chrome Web Store](https://pub-35424b4473484be483c0afa08c69e7da.r2.dev/UV4C4ybeBTsZt43U4xis.png)](https://chromewebstore.google.com/detail/page-assist/jfgfiigpkhlkbnfnbobbkinehhfdhndo) [![Firefox Add-on](https://pub-35424b4473484be483c0afa08c69e7da.r2.dev/get-the-addon.png)](https://addons.mozilla.org/en-US/firefox/addon/page-assist/) [![Edge Add-on](https://pub-35424b4473484be483c0afa08c69e7da.r2.dev/edge-addon.png)](https://microsoftedge.microsoft.com/addons/detail/page-assist-a-web-ui-fo/ogkogooadflifpmmidmhjedogicnhooa) Checkout the Demo (v1.0.0):
[![Page Assist Demo](https://img.youtube.com/vi/8VTjlLGXA4s/0.jpg)](https://www.youtube.com/watch?v=8VTjlLGXA4s)
## Features - **Sidebar**: A sidebar that can be opened on any webpage. It allows you to interact with your model and see the results. - **Web UI**: A web UI that allows you to interact with your model like a ChatGPT Website. - **Chat With Webpage**: You can chat with the webpage and ask questions about the content. want more features? Create an issue and let me know. ### Manual Installation #### Pre-requisites - Bun - [Installation Guide](https://bun.sh/) - Ollama (Local AI Provider) - [Installation Guide](https://ollama.com) - Any OpenAI API Compatible Endpoint (like LM Studio, llamafile etc.) 1. Clone the repository ```bash git clone https://github.com/n4ze3m/page-assist.git cd page-assist ``` 2. Install the dependencies ```bash bun install ``` 3. Build the extension (by default it will build for Chrome, Edge and Firefox) ```bash bun run build ``` _Note: If you face any issues with Bun, use `npm` instead of `bun`._ 4. Load the extension (chrome) - Open the Extension Management page by navigating to `chrome://extensions`. - Enable Developer Mode by clicking the toggle switch next to Developer mode. - Click the `Load unpacked` button and select the `build` directory. 5. Load the extension (firefox) - Open the Add-ons page by navigating to `about:addons`. - Click the `Extensions` tab. - Click the `Manage Your Extensions` button. - Click the `Load Temporary Add-on` button and select the `manifest.json` file from the `build` directory. ## Usage ### Sidebar Once the extension is installed, you can open the sidebar via context menu or keyboard shortcut. Default Keyboard Shortcut: `Ctrl+Shift+Y` ### Web UI You can open the Web UI by clicking on the extension icon which will open a new tab with the Web UI. Default Keyboard Shortcut: `Ctrl+Shift+L` Note: You can change the keyboard shortcuts from the extension settings on the Chrome Extension Management page. ## Keyboard Shortcuts Page Assist supports various keyboard shortcuts to enhance your productivity: ### Extension Shortcuts | Action | Shortcut | Description | |--------|----------|-------------| | Open Sidebar | `Ctrl+Shift+Y` | Opens the sidebar on any webpage | | Open Web UI | `Ctrl+Shift+L` | Opens the Web UI in a new tab | **Note**: You can customize extension shortcuts from your browser's extension management page . ### Application Shortcuts | Action | Shortcut | Description | |--------|----------|-------------| | New Chat | `Ctrl+Shift+O` | Starts a new chat conversation | | Toggle Sidebar | `Ctrl+B` | Opens/closes the chat history sidebar | | Focus Textarea | `Shift+Esc` | Focuses the message input field | | Toggle Chat Mode | `Ctrl+E` | Toggles between normal chat and chat with current page | ## Development You can run the extension in development mode to make changes and test them. ```bash bun dev ``` This will start a development server and watch for changes in the source files. You can load the extension in your browser and test the changes. ## Browser Support | Browser | Sidebar | Chat With Webpage | Web UI | | ----------- | ------- | ----------------- | ------ | | Chrome | ✅ | ✅ | ✅ | | Brave | ✅ | ✅ | ✅ | | Firefox | ✅ | ✅ | ✅ | | Vivaldi | ✅ | ✅ | ✅ | | Edge | ✅ | ✅ | ✅ | | LibreWolf | ✅ | ✅ | ✅ | | Zen Browser | ✅ | ✅ | ✅ | | Opera | ❌ | ❌ | ✅ | | Arc | ❌ | ❌ | ✅ | ## Local AI Provider - [Ollama](https://github.com/ollama/ollama) - Chrome AI (Gemini Nano) - OpenAI API Compatible endpoints (like LM Studio, llamafile etc.) ## Roadmap - [x] Firefox Support - [x] More Local AI Providers - [ ] More Customization Options - [ ] Better UI/UX ## Privacy Page Assist does not collect any personal data. The only time the extension communicates with the server is when you are using the share feature, which can be disabled from the settings. All the data is stored locally in the browser storage. You can view the source code and verify it yourself. You learn more about the privacy policy [here](PRIVACY.md). ## Contributing Contributions are welcome. If you have any feature requests, bug reports, or questions, feel free to create an issue. ## Support If you like the project and want to support it, you can buy me a coffee. It will help me to keep working on the project. Buy Me a Coffee at ko-fi.com or you can sponsor me on GitHub. ## Blogs and Videos About Page Assist This are some of the blogs and videos about Page Assist. If you have written a blog or made a video about Page Assist, feel free to create a PR and add it here. - [OllamaをChromeAddonのPage Assistで簡単操作](https://note.com/lucas_san/n/nf00d01a02c3a) by [LucasChatGPT](https://twitter.com/LucasChatGPT) - [This Chrome Extension Surprised Me](https://www.youtube.com/watch?v=IvLTlDy9G8c) by [Matt Williams](https://www.youtube.com/@technovangelist) - [Ollama With 1 Click](https://www.youtube.com/watch?v=61uN5jtj2wo) by [Yaron Been From EcomXFactor](https://www.youtube.com/@ecomxfactor-YaronBeen) - [Page Assist 介绍合集](https://mp.weixin.qq.com/mp/appmsgalbum?__biz=Mzk2NDUxNDQ3Nw==&action=getalbum&album_id=3845692786608553984#wechat_redirect) by 百工智用公众号 - [Eine KI auf dem eigenen Rechner laufen lassen, 10 Minuten Installation](https://www.johannesholstein.de/gsCMS/index.php?id=sonstige-video-tutorials) by [Johannes Holstein](https://www.johannesholstein.de) ## License MIT ## Last but not least Made in [Alappuzha](https://en.wikipedia.org/wiki/Alappuzha) with ❤️ ================================================ FILE: docs/.vitepress/config.mts ================================================ import { defineConfig } from 'vitepress' // https://vitepress.dev/reference/site-config export default defineConfig({ title: "Page Assist", description: "Page Assist is an open-source Chrome Extension that provides a Sidebar and Web UI for your Local AI model. It allows you to interact with your model from any webpage.", lastUpdated: true, themeConfig: { // https://vitepress.dev/reference/default-theme-config search: { provider: "local", }, editLink: { pattern: "https://github.com/n4ze3m/page-assist/edit/main/docs/:path", text: "Edit this page on GitHub" }, nav: [ { text: 'Home', link: '/' }, ], sidebar: [ { text: 'Guide', items: [ { text: 'Welcome to Page Assist', link: '/' }, { text: "Browser Support", link: "/browser-support" }, { text: "Keyboard Shortcuts", link: "/shortcuts" } ], }, { text: "Sidebar", items: [ { text: "Sidebar Settings", link: "/sidebar" }, { text: "Sidebar Copilot", link: "/sidebar/copilot" }, { text: "Chat With Website", link: "/sidebar/chat-with-website" }, { text: "Sidebar Vision (🧪)", link: "/sidebar/vision" } ], }, { text: "Features", items: [ { text: "Internet Search", link: "/features/internet-search" }, { text: "Prompts", link: "/features/prompts" }, { text: "Knowledge Base", link: "/features/knowledge-base" }, { text: "Page Share", link: "/features/page-share" }, { text: "MCP", link: "/features/mcp" }, { text: "Ollama", link: "/features/ollama" }, { text: "Other", link: "/features/other" } ] }, { text: "Providers", collapsed: true, items: [ { text: "Ollama", link: "/providers/ollama" }, { text: "LM Studio", link: "/providers/lmstudio" }, { text: "OpenAI Compatible API", link: "/providers/openai" } ] }, { text: "Troubleshooting", items: [ { text: "Ollama Connection Issue", link: "/connection-issue" }, { text: "Extensions Causing Issue with Other Websites", link: "/extensions-causing-issue-other-websites" } ] }], socialLinks: [ { icon: 'github', link: 'https://github.com/n4ze3m/page-assist' }, { icon: 'x', link: 'https://x.com/page_assist' }, { icon: 'discord', link: 'https://discord.gg/bu54382uBd' }, ], footer: { message: "MIT Licensed Open Source Project", copyright: "Copyright © 2025 Muhammed Nazeem & Page Assist Contributors", }, }, ignoreDeadLinks: true }) ================================================ FILE: docs/browser-support.md ================================================ # Browser Support For the best experience, we recommend using Page Assist with the latest versions of Google Chrome, Microsoft Edge, or Firefox. ## Supported Browsers | Browser | Sidebar | Chat With Webpage | Web UI | | ----------- | ------- | ----------------- | ------ | | Chrome | ✅ | ✅ | ✅ | | Brave | ✅ | ✅ | ✅ | | Firefox | ✅ | ✅ | ✅ | | Vivaldi | ✅ | ✅ | ✅ | | Edge | ✅ | ✅ | ✅ | | LibreWolf | ✅ | ✅ | ✅ | | Zen Browser | ✅ | ✅ | ✅ | | Opera | ❌ | ❌ | ✅ | | Arc | ❌ | ❌ | ✅ | ================================================ FILE: docs/connection-issue.md ================================================ # Ollama Connection Issues Connection issues can be caused by a number of reasons. Here are some common issues and how to resolve them on Page Assist. You will see the following error message if there is a connection issue: ### 1. Direct Connection Error ![Direct connection error](https://image.pageassist.xyz/Screenshot%202024-05-13%20001742.png) ### 2. `403` Error When Sending a Message ![403 error when sending a message](https://image.pageassist.xyz/Screenshot%202024-05-13%20001940.png) This issue because of CORS (Cross-Origin Resource Sharing) issues. Since Page Assist is a browser extension, it needs to communicate with the server through the browser. However, the browser restricts communication between different origins. To resolve this issue, you can try the following solutions: ## 1. Solutions Since Ollama has connection issues when directly accessed from the browser extension, Page Assist rewrites the request headers to make it work. However, automatic rewriting of headers only works on `http://127.0.0.1:*` and `http://localhost:*` URLs. To resolve the connection issue, you can try the following solutions: 1. Go to Page Assist and click on the `Settings` icon. 2. Click on the `Ollama Settings` tab. 3. There you will see the `Advance Ollama URL Configuration` option. You need to expand it. ![Advance Ollama URL Configuration](https://image.pageassist.xyz/Screenshot%202024-05-13%20003123.png) 4. Enable the `Enable or Disable Custom Origin URL` option. ![Enable or Disable Custom Origin URL](https://image.pageassist.xyz/Screenshot%202024-05-13%20003225.png) :::tip If Ollama is running on a different port, then change the URL in the `Custom Origin URL` field; otherwise, leave it as it is. Do not change the URL to the Ollama server URL like ::: 5. Make sure click on the `Save` button to save the changes. _This will resolve the connection issue, and you will be able to use Ollama without any issues on Page Assist_ ## 2. Solution You can set OLLAMA_ORIGINS=* to allow connections from any origin. Here's how to do it on different operating systems: ### Windows 1. Open Start menu and search for "Environment Variables" 2. Click "Edit the system environment variables" 3. Click "Environment Variables" button 4. Under "System Variables" click "New" 5. Set Variable name: `OLLAMA_ORIGINS` and Variable value: `*` 6. Click OK to save 7. Restart Ollama service ### MacOS 1. Open Terminal 2. Run the following command: ```bash launchctl setenv OLLAMA_ORIGINS "*" ``` 3. Restart Ollama service ### Linux 1. Open Terminal 2. Run the following command: ```bash export OLLAMA_ORIGINS="*" ``` 3. Restart Ollama service _This will allow connections from any origin. Hopefully, this will resolve the connection issue._ If you still face any issues, feel free to contact us [here](https://github.com/n4ze3m/page-assist/issues/new), and we will be happy to help you out. ================================================ FILE: docs/extensions-causing-issue-other-websites.md ================================================ # Extensions Causing Issue with Other Websites Since Page Assist rewrites the Origin header to avoid CORS issues on the Ollama API, this feature causes issues for some users or websites. Current known issues: - Breaks Intel® Driver & Support Assistant - Box Tools Website For this reason, we have added a setting to disable the feature. ## How to disable the feature 1. Click on the Page Assist icon in the browser toolbar. 2. Click on the settings icon. 3. Click on the "Ollama Settings" tab. 4. Expand the "Advanced Ollama URL Configuration" 5. Turn off the "Enable or Disable Automatic Ollama CORS Fix" option. 6. Click on the "Save" button. ![image](https://pub-35424b4473484be483c0afa08c69e7da.r2.dev/Screenshot%202025-02-17%20185214.png) This will disable the feature and prevent Page Assist from rewriting the Origin header. However, your Ollama may start throwing 403 errors. To fix that, you need to add the following line to your Ollama config file. ## How to fix 403 error You can set OLLAMA_ORIGIN=* to allow connections from any origin. Here's how to do it on different operating systems: ### Windows 1. Open Start menu and search for "Environment Variables" 2. Click "Edit the system environment variables" 3. Click "Environment Variables" button 4. Under "System Variables" click "New" 5. Set Variable name: `OLLAMA_ORIGIN` and Variable value: `*` 6. Click OK to save 7. Restart Ollama service ### MacOS 1. Open Terminal 2. Run the following command: ```bash launchctl setenv OLLAMA_ORIGIN "*" ``` 3. Restart Ollama service ### Linux 1. Open Terminal 2. Run the following command: ```bash export OLLAMA_ORIGIN="*" ``` 3. Restart Ollama service For Linux systems using systemd, you can also add the environment variable to your service file. Here's an example of a systemd unit file (credit: Axel Schwarzer): ```bash [Unit] Description=Ollama Service After=network-online.target [Service] # - see docker.serice for an example # # EnvironmentFile=/etc/sysconfig/ollama Environment="OLLAMA_HOST=192.168.4.67:11434" Environment="OLLAMA_MAX_LOADED_MODELS=4" # Environment="OLLAMA_ORIGINS=*" ExecStart=/usr/local/bin/ollama serve User=ollama Group=ollama Restart=always RestartSec=3 Environment="PATH=/usr/local/sbin:/sbin:/usr/sbin:/root/bin:/usr/local/bin:/bin:/usr/bin:" [Install] WantedBy=default.target ``` To use this configuration, uncomment the `Environment="OLLAMA_ORIGINS=*"` line. _This will allow connections from any origin. Hopefully, this will resolve the connection issue._ ================================================ FILE: docs/features/internet-search.md ================================================ # Internet Search Page Assist supports internet search which can be used with your LLM. It works similarly to ChatGPT's internet search. ## Supported Search Engines - Google (with region support) - DuckDuckGo - Sogou - Baidu - Brave - Searxng - Brave Search API - Tavily Search API - Bing - Stract - Startpage - Exa - Firecrawl - Ollama Web search - Kagi Search API (Private Beta - requires API access) - Perplexity Search API ## How to use Internet Search Both Sidebar and Web UI support internet search. You can use it by toggling the switch on the right side with the globe icon. ![Internet Search](https://pub-35424b4473484be483c0afa08c69e7da.r2.dev/Screenshot%202025-02-19%20203546.png) ## Update Search Prompt You can update the search prompt by going to Settings > RAG Settings. Scroll down and you will find the option `Configure RAG Prompt`. Select the `Web` tab and update the prompt. ![Update Search Prompt](https://pub-35424b4473484be483c0afa08c69e7da.r2.dev/Screenshot%202025-02-19%20204314.png) - `{search_results}` - This will be replaced with search results. (do not remove this) - `{current_date_time}` - This will be replaced with current date and time. - `{query}` - This will be replaced with the search query. ## Visit websites from messages This feature is enabled by default. If you want to disable it, you can do it from the settings. ### How it works? When you enable internet search and input a webpage URL into the input box and send it, Page Assist will visit the website and extract the text from it. Then it will send the text to the LLM. ## Deep Search Mode By default, `Perform Simple Internet Search` is enabled. If you want to use Deep Search Mode, you need to disable it. Deep Search Mode will visit the website and extract the text from it. Then it will send the text to the LLM. ::: warning The current Deep Search is not similar to ChatGPT's DeepSearch. It is a very basic implementation. ::: ## Enable Internet Search by Default You can enable Internet Search by default by following these steps: 1. Go to Settings 2. Under the `General Settings` section 3. Scroll down to `Manage Web Search` 4. Enable `Internet Search ON by default` 5. Click on `Save Settings` ================================================ FILE: docs/features/knowledge-base.md ================================================ # Knowledge Base Page Assist supports Knowledge Base which is useful for chatting with your own data. You can use it to chat with your own data. ::: warning Use this feature with caution. Due to no server-side storage, the data will be processed and embeddings will be stored in browser storage. This may cause performance issues. ::: ## Supported File Types - PDF - Docx - Txt - CSV - MD ## How to use Knowledge Base In order to use knowledge base, you need to set an embedding model from the RAG Settings. We recommend using `nomic-embed-text` or any embedding model that supports text. Do not use text to text model for this. 1. Go to Settings 2. Go to Manage Knowledge ![Knowledge Base](https://pub-35424b4473484be483c0afa08c69e7da.r2.dev/Screenshot%202025-02-19%20210054.png) 3. You can upload your files by clicking `Add New Knowledge` It will take some time to process the files. Once it is done, when you check the input box, you will see a block icon which is knowledge base. You can click on it and select the knowledge you want to use. ![Knowledge Base](https://pub-35424b4473484be483c0afa08c69e7da.r2.dev/Screenshot%202025-02-19%20210300.png) ================================================ FILE: docs/features/mcp.md ================================================ # MCP (Model Context Protocol) Page Assist supports MCP which allows your LLM to use external tools like search, databases, and more. You can connect to any MCP server that supports Streamable HTTP or SSE transport. ## Supported Transport Types - Streamable HTTP ## Connecting to a Remote MCP Server 1. Go to Settings 2. Go to `MCP Settings` 3. Click `Add MCP Server` 4. Enter a name and the server URL 5. Select Auth Type (None, Bearer Token, or OAuth 2.1) 6. Click `Save` Once added, the server tools will be automatically fetched and cached. ## Using STDIO MCP Servers Page Assist is a browser extension, so it can't run STDIO-based MCP servers directly. You can use [supergateway](https://github.com/supercorp-ai/supergateway) to convert any STDIO MCP server to HTTP. For example, to use Playwright MCP: ```bash npx -y supergateway --stdio "npx @playwright/mcp@latest" --port 8808 --cors --outputTransport streamableHttp ``` Then add `http://localhost:8808/mcp` as the server URL in MCP Settings. ## Authentication Page Assist supports two authentication methods for MCP servers. ### API Key / Bearer Token If your MCP server requires an API key or bearer token: 1. Go to MCP Settings 2. Click `Add Custom Server` 3. Select `Bearer Token` as the auth type 4. Enter your token 5. Click `Save` The token will be sent as `Authorization: Bearer ` with every request. ### OAuth 2.1 Some MCP servers (like Notion) require OAuth 2.1 authorization. Page Assist supports this using your Page Share URL as the OAuth redirect endpoint. #### Setup 1. Make sure you have a Page Share URL configured (go to Settings > Manage Share) 2. Go to MCP Settings 3. Click `Add Custom Server` 4. Enter the server name and URL (e.g. `https://mcp.notion.com/mcp`) 5. Select `OAuth 2.1` as the auth type 6. Click `Save` 7. Click the key icon in the actions column to start the OAuth flow 8. Complete the authorization in the browser tab that opens ::: tip Page Assist does not log or store any OAuth data on the server. The Page Share app only serves as a redirect endpoint. All tokens are stored locally in your browser. ::: #### Self-Hosting Page Share If you prefer not to use the default Page Share server for OAuth redirects, you can self-host it. See the [Page Share](/features/page-share) docs for instructions. Once deployed, update your Page Share URL in Settings > Manage Share. ## Enable/Disable Servers Per Chat You can temporarily enable or disable MCP servers per chat using the MCP icon button in the chat input. This lets you control which tools are available without changing global settings. ## Custom Headers If your MCP server requires custom headers, you can add them when creating or editing a server in MCP Settings. ================================================ FILE: docs/features/ollama.md ================================================ # Ollama Page Assist is designed to work with Ollama. Following are a few things you can do with Page Assist for your Ollama instance. ## Manage Ollama Models You can manage Ollama models from the `Manage Models` section in the settings. 1. Go to `Settings` 2. Go to `Manage Models` 3. You will see all the models you have pulled 4. You can delete models from there ![Manage Models](https://pub-35424b4473484be483c0afa08c69e7da.r2.dev/Screenshot%202025-02-19%20230330.png) ## Pull Ollama Models You can pull models for Ollama without going to terminal using three methods. ### Method 1: From Web UI 1. Go to `Settings` 2. Go to `Manage Models` 3. Click on the `Add New Model` button 4. Add the model name and click on `Pull Model` ![Pull Model](https://pub-35424b4473484be483c0afa08c69e7da.r2.dev/Screenshot%202025-02-19%20225356.png) ### Method 2: From Ollama.com When you are browsing Ollama.com, you can pull models directly from the website. 1. Go to Ollama.com 2. Go to any model page 3. There will be a Pull icon beside the copy icon 4. Once you click on it, it will ask for confirmation 5. Download progress can be seen in the Page Assist icon ![Pull Model](https://pub-35424b4473484be483c0afa08c69e7da.r2.dev/brave_vczba7pnUo.gif) ### Method 3: From huggingface.com You can pull `gguf` models from huggingface.com. 1. Go to huggingface.com 2. Go to any model page 3. On the right side there will be `Use this model` and select `Ollama` ![Pull Model](https://pub-35424b4473484be483c0afa08c69e7da.r2.dev/Screenshot%202025-02-19%20225915.png) 4. In the Huggingface popup there will be a button `Pull from Page Assist`, click on it ![Pull Model](https://pub-35424b4473484be483c0afa08c69e7da.r2.dev/Screenshot%202025-02-19%20230049.png) 5. Rest of the process is same as Method 2 ================================================ FILE: docs/features/other.md ================================================ # Other Features These are small utility features that Page Assist has. ## Wide Mode For larger screens, you can enable wide mode from settings. 1. Go to settings 2. Under the `General Settings` section 3. Enable `Enable wide screen mode` option ![Wide Mode](https://pub-35424b4473484be483c0afa08c69e7da.r2.dev/Screenshot%202025-02-19%20212707.png) Thanks to [@yz778](https://github.com/yz778) for this feature. ## Restore last used model for previous chats As the title says, you can restore the last used model for previous chats. This is useful if you want to use the same model when you switch to an old chat. 1. Go to settings 2. Under the `General Settings` section 3. Enable `Restore last used model for previous chats` option ## Resume the last chat when opening the Web UI You can resume the last chat when opening the Web UI. This is useful if you want to continue the chat from where you left off. 1. Go to settings 2. Under the `General Settings` section 3. Enable `Resume the last chat when opening the Web UI` option ## Resume the last chat when opening the SidePanel (Copilot) You can resume the last chat when opening the SidePanel (Copilot). This is useful if you want to continue the chat from where you left off. 1. Go to settings 2. Under the `General Settings` section 3. Enable `Resume the last chat when opening the SidePanel (Copilot)` option ## Generate Title using AI Title generation is a feature that generates a title for the chat based on the conversation. This is useful if you want to generate a title for the chat. 1. Go to settings 2. Under the `General Settings` section 3. Enable `Generate Title using AI` option ================================================ FILE: docs/features/page-share.md ================================================ # Page Share Page Share is a feature that allows you to share your chat with others like the share feature of ChatGPT. This feature interacts with the internet by default, and you can use the page assist server to share your chat. But for privacy, it's better to self-host the page share server. You can do this by following the steps below. ## Self-Host You can self-host Page Share using two methods: - Railway - Docker ### Railway Click the button below to deploy the code to Railway. [![Deploy on Railway](https://railway.app/button.svg)](https://railway.app/template/VbiS2Q?referralCode=olbszX) ### Docker 1. Clone the repository git clone https://github.com/n4ze3m/page-share-app.git cd page-share-app 2. Run the server docker-compose up 3. Open the app Navigate to [http://localhost:3000](http://localhost:3000) in your browser. Once you have deployed the server, you can change the Page Share by going to the settings and manage share. ![Page Share](https://pub-35424b4473484be483c0afa08c69e7da.r2.dev/Screenshot%202025-02-19%20210635.png) ================================================ FILE: docs/features/prompts.md ================================================ # Prompts Page Assist offers three types of prompts to enhance your AI interaction experience: 1. **Custom Prompts** - For use within the chat interface 2. **Copilot Prompts** - Built-in context menu actions (See [Copilot Prompts](/sidebar/copilot.md)) 3. **Custom Copilot Prompts** - Create your own context menu actions (See [Custom Copilot Prompts](/sidebar/copilot.md#custom-copilot-prompts)) ## Custom Prompts Custom Prompts are prompts that you can create and use within the Page Assist chat interface. These are different from Copilot prompts, which appear in the browser's context menu. You can create custom prompts by going to `Settings` → `Manage Prompts` → `Custom` tab. ![Custom Prompts](https://pub-35424b4473484be483c0afa08c69e7da.r2.dev/Screenshot%202025-02-19%20205135.png) There are two types of custom prompts: 1. System Prompts 2. Quick Prompts ### System Prompts System prompts will be set as the `system` type of prompt in the LLM. This means that the prompt will be sent to the LLM as a system prompt. This is useful for setting the context of the conversation. #### Supported System Prompt Variables You can use the following variables in your system prompts: - `{current_date_time}` - The current date and time in local format - `{current_year}` - The current year - `{current_month}` - The current month (0-11) - `{current_day}` - The current day of the month - `{current_hour}` - The current hour (0-23) - `{current_minute}` - The current minute (0-59) These variables will be automatically replaced with their respective values when the prompt is sent to the LLM. ### Quick Prompts Quick prompts are quick prompts that you can use to quickly send a prompt to the LLM. You can use quick prompts by clicking on the `Quick Prompts` button in the input box. If you put variables in the `{}` brackets, they will be selected automatically. ================================================ FILE: docs/index.md ================================================ # Welcome to Page Assist Welcome to Page Assist, the browser companion for your Local AI model! With Page Assist, your web browsing experience enters a new dimension of intelligence and efficiency. ## What is Page Assist? Page Assist makes AI interaction effortless! Simply: - Chat with your AI from any webpage using our sleek Sidebar - Access the powerful Web UI Control Center - Connect to your favorite local AI models ## Installation Download for your preferred browser: [![Chrome Web Store](https://pub-35424b4473484be483c0afa08c69e7da.r2.dev/UV4C4ybeBTsZt43U4xis.png)](https://chromewebstore.google.com/detail/page-assist/jfgfiigpkhlkbnfnbobbkinehhfdhndo) [![Firefox Add-on](https://pub-35424b4473484be483c0afa08c69e7da.r2.dev/get-the-addon.png)](https://addons.mozilla.org/en-US/firefox/addon/page-assist/) [![Edge Add-on](https://pub-35424b4473484be483c0afa08c69e7da.r2.dev/edge-addon.png)](https://microsoftedge.microsoft.com/addons/detail/page-assist-a-web-ui-fo/ogkogooadflifpmmidmhjedogicnhooa) ## Privacy Cheeck out our [Privacy Policy](/privacy) to understand how we handle your data. ## Sponsors Page Assist is an open-source project. If you enjoy our work, please consider supporting us by becoming a sponsor. Your contribution will help us maintain and enhance Page Assist for everyone. You can sponsor us on GitHub: [https://github.com/sponsors/n4ze3m](https://github.com/sponsors/n4ze3m) Support us on Ko-fi: [https://ko-fi.com/n4ze3m](https://ko-fi.com/n4ze3m) ## Team Page Assist is maintained by [@n4ze3m](https://x.com/n4ze3m) and our wonderful community of contributors. ![Contributors](https://contrib.rocks/image?repo=n4ze3m/page-assist) ================================================ FILE: docs/markdown-examples.md ================================================ # Markdown Extension Examples This page demonstrates some of the built-in markdown extensions provided by VitePress. ## Syntax Highlighting VitePress provides Syntax Highlighting powered by [Shiki](https://github.com/shikijs/shiki), with additional features like line-highlighting: **Input** ````md ```js{4} export default { data () { return { msg: 'Highlighted!' } } } ``` ```` **Output** ```js{4} export default { data () { return { msg: 'Highlighted!' } } } ``` ## Custom Containers **Input** ```md ::: info This is an info box. ::: ::: tip This is a tip. ::: ::: warning This is a warning. ::: ::: danger This is a dangerous warning. ::: ::: details This is a details block. ::: ``` **Output** ::: info This is an info box. ::: ::: tip This is a tip. ::: ::: warning This is a warning. ::: ::: danger This is a dangerous warning. ::: ::: details This is a details block. ::: ## More Check out the documentation for the [full list of markdown extensions](https://vitepress.dev/guide/markdown). ================================================ FILE: docs/package.json ================================================ { "name": "page-assist-docs", "private": true, "scripts": { "build": "vitepress build", "dev": "vitepress dev", "preview": "vitepress preview" }, "devDependencies": { "vitepress": "^1.6.3" } } ================================================ FILE: docs/postcss.config.js ================================================ module.exports = {} ================================================ FILE: docs/privacy.md ================================================ # Privacy Policy ## Data Collection Page Assist is committed to user privacy and does not collect any user data. All operations and data storage occur locally within your browser. ## Browser Permissions The extension requires the following permissions to function: - **Notifications**: To provide system notifications - **Website Content Access**: Required for the chat-with-webpage functionality - **Unlimited Storage**: Used to store chat history locally in your browser - **Active Tab**: To ensure the extension is active on the current tab and get screenshots etc - **Scripting**: For the chat-with-webpage functionality - **Web Requests**: To modify headers of the local server to avoid CORS issues ## Page Share Feature When using the Page Share feature: - Data sharing only occurs when explicitly connecting to external sources - Self-hosting option is available for complete data control - Shared chats can be permanently deleted from the server at any time - No data is retained after deletion ## Data Storage - All chat history and settings are stored locally in your browser - No data is transmitted to external servers unless explicitly initiated by the user - Users maintain full control over their data ## Third-Party Services Page Assist does not integrate with any third-party analytics or tracking services. ## Changes to Privacy Policy We reserve the right to update this privacy policy as needed. Users will be notified of any significant changes. ## Contact For privacy-related questions or concerns, please open an issue on our GitHub repository or mail me at me@n4ze3m.com ================================================ FILE: docs/prompt.md ================================================ # Prompt ================================================ FILE: docs/providers/llamacpp.md ================================================ # LLaMA.cpp Page Assist supports LLaMA.cpp API endpoints. You can use any LLaMA.cpp API endpoint with Page Assist. ## Adding LLaMA.cpp API 1. Click on the Page Assist icon on the browser toolbar. 2. Click on the `Settings` icon. 3. Go to the `OpenAI Compatible API` tab. 4. Click on the `Add Provider` button. 5. Select `LLaMA.cpp` from the dropdown. 6. Enter the `LLaMA.cpp URL`. (by default it is `http://localhost:8080/v1`) 7. Click on the `Save` button. ::: info You don't need to add any models since Page Assist will automatically fetch them from the LLaMA.cpp instance you have configured. The model must be loaded in LLaMA.cpp before Page Assist can fetch it. ::: ================================================ FILE: docs/providers/lmstudio.md ================================================ # LM Studio You can add LMStudio's API to Page Assist. Here's how you can do it: 1. Click on the Page Assist icon on the browser toolbar. 2. Click on the `Settings` icon. 3. Go to the `OpenAI Compatible API` tab. 4. Click on the `Add Provider` button. 5. Select `LMStudio` from the dropdown. 6. Enter the `LMStudio URL`. (by default it is `http://localhost:1234/v1`) 7. Click on the `Save` button. ::: info You don't need to add any models since Page Assist will automatically fetch them from the LMStudio instance you have configured. The model must be loaded in LMStudio before Page Assist can fetch it. ::: ================================================ FILE: docs/providers/ollama.md ================================================ # Ollama Ollama lets you run large language models locally on your machine. Page Assist supports Ollama by default. You don't need to configure anything if you are using Ollama on `localhost:11434`. Page Assist will automatically detect it. If you face any issues with Ollama, please check the [Ollama Connection Issues](/connection-issue.md) guide. ## Multiple Ollama Instances You can configure multiple Ollama instances by following these steps: 1. Click on the Page Assist icon on the browser toolbar. 2. Click on the `Settings` icon. 3. Go to the `OpenAI Compatible API` tab. 4. Click on the `Add Provider` button. 5. Select `Ollama` from the dropdown. 6. Enter the `Ollama URL`. 7. Click on the `Save` button. You don't need to add any models since Page Assist will automatically fetch them from the Ollama instance you have configured. ================================================ FILE: docs/providers/openai.md ================================================ # OpenAI Compatible API Page Assist supports OpenAI Compatible API endpoints. You can use any OpenAI Compatible API endpoint with Page Assist. By default, Page Assist supports the following OpenAI Compatible API endpoints: - LLaMA.cpp - LM Studio - Llamafile - Ollama - OpenAI - DeepSeek - Fireworks - Novita AI - Hugging Face - Groq - Together - OpenRouter - Google AI - Mistral - Infinigence AI - SiliconFlow - VolcEngine - TencentCloud - AlibabaCloud - vLLM - Moonshot - xAI - Vercel AI Gateway - Chutes - Anthropic (Claude) - CanopyWave - BigModel (Zhipu) - MiniMax ## Adding OpenAI Compatible API 1. Click on the Page Assist icon on the browser toolbar. 2. Click on the `Settings` icon. 3. Go to the `OpenAI Compatible API` tab. 4. Click on the `Add Provider` button. 5. Select the API from the dropdown. In case it is not listed in the default list, select `Custom` and enter the API URL and API Key. 6. Add API key if required. 7. Click on the `Save` button. ::: info For Ollama, LM Studio, and Llamafile, you don't need to add any models since Page Assist will automatically fetch them from the API. ::: ================================================ FILE: docs/shortcuts.md ================================================ # Shortcut Keys Page Assist supports the following shortcut keys: | Action | Shortcut | | ------------ | -------------- | | Open Sidebar | `Ctrl+Shift+Y` | | Open Web UI | `Ctrl+Shift+L` | You can change the keyboard shortcuts from the extension settings on the Chrome Extension Management page. ## Application Shortcuts | Action | Shortcut | Description | |--------|----------|-------------| | New Chat | `Ctrl+Shift+O` | Starts a new chat conversation | | Toggle Sidebar | `Ctrl+B` | Opens/closes the chat history sidebar | | Focus Textarea | `Shift+Esc` | Focuses the message input field | | Toggle Chat Mode | `Ctrl+E` | Toggles between normal chat and chat with current page | ## Changing Keyboard Shortcuts (Browser Specific) To change the keyboard shortcuts, follow these steps: ### Chrome 1. Go to the Extension Settings page by navigating to `chrome://extensions/shortcuts`. 2. Find the Page Assist extension. 3. Change the shortcut keys for the desired action. _*Note*: This works with Chromium-based browsers like Edge, Brave, etc._ ### Firefox 1. Go to the Add-ons page by navigating to `about:addons`. 2. Click on the `Settings` icon. 3. Click on the `Manage Extension Shortcuts` button. ![Manage Extension Shortcuts](https://pub-35424b4473484be483c0afa08c69e7da.r2.dev/Screenshot%202025-02-15%20114332.png) 4. Find the Page Assist extension. 5. Change the shortcut keys for the desired action. _*Note*: This works with Firefox-based browsers like Zen, Librewolf, etc._ ================================================ FILE: docs/sidebar/chat-with-website.md ================================================ # Sidebar Chat with Website This is one of the features of Page Assist that allows you to chat with your AI model from any webpage using the sleek Sidebar. ## How to chat with the website 1. Open the Sidebar 2. Enable the `Chat with Website` option 3. Start chatting with the current website ## How to disable RAG for Chat With Website By default, Chat With Website needs to have an embedding model. You can disable the RAG model by following the steps below: 1. Open the Sidebar 2. Click on the `Settings` icon 3. There will be an option `Copilot Chat With Website Settings` 4. By default, `Chat with website using vector embeddings` is enabled. Disable it. 5. You can increase the `Normal mode website content size` to increase the amount of content that will be sent to the AI model. ![Disable RAG](https://pub-35424b4473484be483c0afa08c69e7da.r2.dev/Screenshot%202025-02-19%20104323.png) That's it! Now you can chat with your AI model from any webpage without using RAG. ## Enable Chat with Website by Default You can enable Chat with Website by default by following these steps: 1. Open the Sidebar 2. Click on the `Settings` icon 3. Look for the option `Enable Chat with Website by default (Copilot)` ================================================ FILE: docs/sidebar/copilot.md ================================================ # Copilot Sidebar Copilot is a feature that allows you to select text from any webpage and perform AI-powered actions on it. ## Built-in Copilot Prompts Page Assist comes with 5 built-in copilot prompts: - **Summarize** - Get a concise summary of selected text - **Rephrase** - Rewrite text with alternative vocabulary - **Translate** - Translate text to English - **Explain** - Get a detailed explanation of the text - **Custom** - Use a custom prompt template ::: warning Deprecation Notice The built-in "Custom" prompt will be removed in a future version. Please migrate to **Custom Copilot Prompts** (see below) for better flexibility and multiple custom prompts. ::: ### Disabling Built-in Prompts You can now disable any built-in copilot prompt to reduce context menu clutter: 1. Go to `Settings` → `Manage Prompts` → `Copilot` tab 2. Toggle the switch next to any prompt to enable/disable it 3. Disabled prompts will not appear in the context menu ![Built-in Copilot Prompts with Enable/Disable Toggle](https://pub-35424b4473484be483c0afa08c69e7da.r2.dev/Screenshot%202025-02-15%20120628.png) ## Custom Copilot Prompts ::: tip New Feature You can now create unlimited custom copilot prompts! This is the recommended way to create your own prompts instead of using the built-in "Custom" prompt. ::: Custom Copilot Prompts allow you to create your own AI-powered actions that appear in the context menu when you select text. ### Creating Custom Copilot Prompts 1. Go to `Settings` → `Manage Prompts` → `Custom Copilot` tab 2. Click the `Add` button 3. Fill in the form: - **Title**: The name that will appear in the context menu (e.g., "Simplify Text", "Find Grammar Errors") - **Prompt Template**: Your prompt with `{text}` as a placeholder for selected text 4. Click `Save` ### How to Use Custom Copilot Prompts 1. Select text on any webpage 2. Right-click on the selected text 3. Find your custom prompt in the `Page Assist` context menu 4. Click it to process the selected text ### Writing Good Prompts ::: tip Prompt Writing Best Practices The quality of your results depends heavily on how well you write your prompts. Follow these guidelines: ::: #### 1. **Be Specific and Clear** ``` ❌ Bad: Make this better ✅ Good: Rewrite the following text to be more professional and formal: {text} ``` #### 2. **Provide Context** ``` ❌ Bad: {text} ✅ Good: You are a technical writing expert. Review the following text and suggest improvements for clarity and conciseness: {text} ``` #### 3. **Specify the Output Format** ``` ❌ Bad: Check grammar: {text} ✅ Good: Review the following text for grammar and spelling errors. List each error with: - Original text - Corrected text - Explanation Text: {text} ``` #### 4. **Use the {text} Placeholder** Always include `{text}` in your prompt. This will be replaced with the selected text. ``` Example: Analyze the sentiment of the following text and classify it as Positive, Negative, or Neutral. Provide reasoning for your classification. Text: {text} ``` #### 5. **Set Constraints When Needed** ``` Summarize the following article in exactly 3 bullet points. Each bullet point should be no more than 20 words. Article: {text} ``` ### Example Custom Copilot Prompts Here are some useful custom prompts you can create: #### Grammar and Style ``` Title: Fix Grammar Prompt: Review the following text for grammar, spelling, and punctuation errors. Provide the corrected version. {text} ``` #### Simplification ``` Title: Simplify Text Prompt: Rewrite the following text to be understood by a 10-year-old. Use simple words and short sentences. {text} ``` #### Code Review ``` Title: Review Code Prompt: Review the following code for: - Potential bugs - Performance issues - Best practices - Readability improvements Code: {text} ``` #### Tone Adjustment ``` Title: Make Professional Prompt: Rewrite the following text in a professional, formal tone suitable for business communication. {text} ``` #### Fact Checking ``` Title: Extract Facts Prompt: Extract all factual claims from the following text. List each claim and note if it needs verification. {text} ``` ### Managing Custom Copilot Prompts - **Edit**: Click the edit icon to modify the title or prompt - **Delete**: Click the delete icon to remove a prompt - **Enable/Disable**: Toggle the switch to show/hide a prompt in the context menu Changes are applied immediately without requiring a browser restart! ## How to Update Built-in Prompts You can customize the default built-in prompts: 1. Go to `Settings` → `Manage Prompts` → `Copilot` tab 2. Click the edit icon next to the prompt you want to change 3. Modify the prompt template (must include `{text}` placeholder) 4. Click `Save` ::: warning Editing built-in prompts changes them for all future uses. Consider creating a Custom Copilot Prompt instead if you want to keep the original. ::: ================================================ FILE: docs/sidebar/index.md ================================================ # Page Assist Sidebar Sidebar is a really good feature of the extension. It allows you to chat with your AI model from any webpage. Rather than opening a new tab and navigating to the website, you can simply open the sidebar and chat with your AI model or ask any question about the current page. Some browser not support the sidebar feature. You can check the [Browser Support](/browser-support.md) page to see if your browser is supported. ## How to open the Sidebar There are 3 ways to open the sidebar: ### From the browser toolbar 1. Right-click on the Page Assist icon in the browser toolbar and select `Open Sidebar`. 2. Click on the Page Assist icon in the browser toolbar and select `Open Sidebar`. ![Open Sidebar](https://pub-35424b4473484be483c0afa08c69e7da.r2.dev/Screenshot%202025-02-15%20115612.png) ### From the context menu 1. Right-click on any webpage and select `Open Page Assist Sidebar`. ![Open Sidebar](https://pub-35424b4473484be483c0afa08c69e7da.r2.dev/Screenshot%202025-02-15%20115734.png) ### Using the keyboard shortcut The default keyboard shortcut to open the sidebar is `Ctrl+Shift+Y`. You can change the keyboard shortcuts from the extension settings on the Chrome Extension Management page. Check the [Shortcut Keys](/shortcuts.md) page for more information. ================================================ FILE: docs/sidebar/vision.md ================================================ # Sidebar Vision (🧪) The vision feature of the sidebar allows LLM to see the current webpage. This is similar to [Chat with Website](/sidebar/chat-with-website.md) but it is not like RAG. ## How to use Sidebar Vision with LLM with vision capabilities 1. Open the Sidebar 2. Select a model with vision capabilities 3. Enable the `Vision` option from the input box eye icon 4. Start chatting with the current website ![Vision](https://pub-35424b4473484be483c0afa08c69e7da.r2.dev/Screenshot%202025-02-19%20104826.png) ## How to use Sidebar Vision with LLM without vision capabilities Page Assist converts the current webpage to text using Tesseract OCR. This is a very basic OCR and it is not very accurate, but it is good enough to get the basic idea of the webpage. 1. Open the Sidebar 2. Select a model 3. Enable the `Vision` option from the input box eye icon 4. Expand the `Submit` button dropdown and enable `Extract Text From Image (OCR)` 5. Start chatting with the current website ![Vision](https://pub-35424b4473484be483c0afa08c69e7da.r2.dev/Screenshot%202025-02-19%20105123.png) ================================================ FILE: package.json ================================================ { "name": "pageassist", "displayName": "Page Assist - A Web UI for Local AI Models", "version": "1.0.9", "description": "Use your locally running AI models to assist you in your web browsing.", "author": "n4ze3m", "scripts": { "dev": "cross-env TARGET=chrome wxt", "dev:firefox": "cross-env TARGET=firefox wxt -b firefox", "dev:edge": "cross-env TARGET=chrome wxt -b edge", "build": "bun build:chrome; bun build:firefox; bun build:edge", "build:chrome": "cross-env TARGET=chrome wxt build", "build:firefox": "cross-env TARGET=firefox wxt build -b firefox", "build:edge": "cross-env TARGET=chrome wxt build -b edge", "zip": "cross-env TARGET=chrome wxt zip", "zip:firefox": "cross-env TARGET=firefox wxt zip -b firefox", "compile": "tsc --noEmit", "docs:dev": "vitepress dev docs", "docs:build": "vitepress build docs", "docs:preview": "vitepress preview docs", "postinstall": "wxt prepare" }, "dependencies": { "@cfworker/json-schema": "^4.1.1", "@ant-design/cssinjs": "^1.18.4", "@headlessui/react": "^1.7.18", "@heroicons/react": "^2.1.1", "@langchain/community": "^1.1.22", "@langchain/core": "^1.1.31", "@langchain/openai": "^1.2.12", "@mantine/form": "^7.5.0", "@mantine/hooks": "^7.5.3", "@modelcontextprotocol/sdk": "^1.27.1", "@mozilla/readability": "^0.5.0", "@plasmohq/storage": "^1.9.0", "@tailwindcss/forms": "^0.5.7", "@tailwindcss/typography": "^0.5.10", "@tanstack/react-query": "^5.17.19", "@tanstack/react-virtual": "^3.13.6", "@vitejs/plugin-react": "^4.2.1", "antd": "^5.13.3", "axios": "^1.6.7", "caniuse-lite": "^1.0.30001716", "cheerio": "^1.0.0-rc.12", "d3-dsv": "2", "dayjs": "^1.11.10", "dexie": "^4.0.11", "dexie-react-hooks": "^1.1.7", "html-to-text": "^9.0.5", "html2canvas": "^1.4.1", "i18next": "^23.10.1", "i18next-browser-languagedetector": "^7.2.0", "langchain": "^1.2.30", "lucide-react": "^0.350.0", "mammoth": "^1.7.2", "marked": "^15.0.12", "mermaid": "^11.4.1", "ml-distance": "^4.0.1", "ollama": "^0.5.17", "openai": "^4.95.1", "pa-tesseract.js": "^5.1.1", "pdfjs-dist": "4.0.379", "property-information": "^6.4.1", "pubsub-js": "^1.9.4", "react": "18.2.0", "react-dom": "18.2.0", "react-i18next": "^14.1.0", "react-icons": "^5.2.1", "react-markdown": "8.0.0", "react-router-dom": "6.10.0", "react-syntax-highlighter": "^15.5.0", "react-toastify": "^10.0.4", "rehype-katex": "6.0.3", "rehype-mathjax": "4.0.3", "remark-gfm": "3.0.1", "remark-math": "5.1.1", "turndown": "^7.1.3", "unist-util-visit": "^5.0.0", "yt-transcript": "^0.0.2", "zustand": "^4.5.0" }, "devDependencies": { "@plasmohq/prettier-plugin-sort-imports": "4.0.1", "@types/chrome": "^0.0.280", "@types/d3-dsv": "^3.0.7", "@types/html-to-text": "^9.0.4", "@types/node": "20.11.9", "@types/pubsub-js": "^1.8.6", "@types/react": "18.2.48", "@types/react-dom": "18.2.18", "@types/react-speech-recognition": "^3.9.5", "@types/react-syntax-highlighter": "^15.5.11", "@types/turndown": "^5.0.4", "autoprefixer": "^10.4.17", "cross-env": "^7.0.3", "postcss": "^8.4.33", "prettier": "3.2.4", "tailwindcss": "^3.4.1", "typescript": "5.3.3", "vite-plugin-top-level-await": "^1.4.1", "vitepress": "^1.6.3", "wxt": "^0.19.6" }, "resolutions": { "@langchain/core": "^1.1.31" } } ================================================ FILE: page-share.md ================================================ # Page Share Page Share allows you to share the chat publicly, similar to ChatGPT Share. You can self-host Page Share for privacy and security. The default Page Share is hosted at [https://pageassist.xyz](https://pageassist.xyz). ## Self-Host You can self-host Page Share using two methods: - Railway - Docker ### Railway Click the button below to deploy the code to Railway. [![Deploy on Railway](https://railway.app/button.svg)](https://railway.app/template/VbiS2Q?referralCode=olbszX) ### Docker 1. Clone the repository ```bash git clone https://github.com/n4ze3m/page-share-app.git cd page-share-app ``` 2. Run the server ```bash docker-compose up ``` 3. Open the app Navigate to [http://localhost:3000](http://localhost:3000) in your browser. ================================================ FILE: postcss.config.js ================================================ /** * @type {import('postcss').ProcessOptions} */ module.exports = { plugins: { tailwindcss: {}, autoprefixer: {} } } ================================================ FILE: src/assets/locale/ar/chrome.json ================================================ { "heading": "إعداد Chrome AI", "status": { "label": "تمكين أو تعطيل دعم Chrome AI في مساعد الصفحة" }, "error": { "browser_not_supported": "هذا الإصدار من Chrome غير مدعوم من نموذج Gemini Nano. يرجى التحديث إلى الإصدار 127 أو أحدث", "ai_not_supported": "الإعداد chrome://flags/#prompt-api-for-gemini-nano غير مفعل. يرجى تفعيله.", "ai_not_ready": "Gemini Nano غير جاهز بعد؛ تحتاج إلى التحقق مرة أخرى من إعدادات Chrome.", "internal_error": "حدث خطأ داخلي. يرجى المحاولة مرة أخرى لاحقاً." }, "errorDescription": "لاستخدام Chrome AI، تحتاج إلى إصدار Chrome 138 أو أحدث. اتبع الخطوات التالية:\n\n1. انتقل إلى `chrome://flags/#prompt-api-for-gemini-nano` وقم بتمكين \"Prompt API for Gemini Nano\".\n2. أعد تشغيل Chrome لتطبيق الإعداد.\n3. عد إلى هذه الصفحة وانقر على \"تحميل النموذج\" — سيؤدي ذلك إلى تنزيل نموذج بحجم 4 جيجابايت لأول مرة.\n4. بمجرد اكتمال التنزيل، يمكن تمكين Gemini Nano من خلال مساعد الصفحة.", "downloadModel": "تحميل النموذج", "modelDownloadWarning": "سيتم تنزيل نموذج بحجم تقريبي يتراوح بين 1.5 جيجابايت و2.4 جيجابايت. تأكد من توفر مساحة كافية على القرص." } ================================================ FILE: src/assets/locale/ar/common.json ================================================ { "pageAssist": "مساعد الصفحة", "selectAModel": "اختر نموذجًا", "save": "حفظ", "saved": "تم الحفظ", "cancel": "إلغاء", "retry": "إعادة المحاولة", "share": { "tooltip": { "share": "مشاركة" }, "modal": { "title": "مشاركة رابط المحادثة" }, "form": { "defaultValue": { "name": "مجهول", "title": "محادثة بدون عنوان" }, "title": { "label": "عنوان المحادثة", "placeholder": "أدخل عنوان المحادثة", "required": "عنوان المحادثة مطلوب" }, "name": { "label": "اسمك", "placeholder": "أدخل اسمك", "required": "اسمك مطلوب" }, "btn": { "save": "إنشاء رابط", "saving": "جاري إنشاء الرابط..." } }, "notification": { "successGenerate": "تم نسخ الرابط إلى الحافظة", "failGenerate": "فشل في إنشاء الرابط" } }, "copyToClipboard": "نسخ إلى الحافظة", "webSearch": "البحث في الويب", "regenerate": "إعادة التوليد", "continue": "متابعة الرد", "edit": "تعديل", "delete": "حذف", "saveAndSubmit": "حفظ وإرسال", "editMessage": { "placeholder": "اكتب رسالة..." }, "submit": "إرسال", "noData": "لا توجد بيانات", "noHistory": "لا يوجد سجل محادثات", "chatWithCurrentPage": "الدردشة مع الصفحة الحالية", "beta": "تجريبي", "tts": "قراءة بصوت عالٍ", "currentChatModelSettings": "إعدادات نموذج المحادثة الحالي", "modelSettings": { "label": "إعدادات النموذج", "description": "تعيين خيارات النموذج عالمياً لجميع المحادثات", "form": { "keepAlive": { "label": "الإبقاء نشطاً", "help": "يتحكم في المدة التي سيظل فيها النموذج محملاً في الذاكرة بعد الطلب (الافتراضي: 5 دقائق)", "placeholder": "أدخل مدة البقاء نشطاً (مثال: 5م، 10م، 1س)" }, "temperature": { "label": "درجة الحرارة", "placeholder": "أدخل قيمة درجة الحرارة (مثال: 0.7، 1.0)" }, "numCtx": { "label": "حجم نافذة السياق (num_ctx)", "placeholder": "أدخل قيمة حجم نافذة السياق (الافتراضي: 2048)" }, "numPredict": { "label": "الحد الأقصى للرموز", "placeholder": "أدخل قيمة الحد الأقصى للرموز (مثال: 2048، 4096)" }, "seed": { "label": "البذرة", "placeholder": "أدخل قيمة البذرة (مثال: 1234)", "help": "إمكانية تكرار مخرجات النموذج" }, "topK": { "label": "أعلى K", "placeholder": "أدخل قيمة أعلى K (مثال: 40، 100)" }, "topP": { "label": "أعلى P", "placeholder": "أدخل قيمة أعلى P (مثال: 0.9، 0.95)" }, "useMMap": { "label": "استخدام MMap" }, "numGpu": { "label": "عدد وحدات معالجة الرسومات", "placeholder": "أدخل عدد الطبقات لإرسالها إلى وحدة/وحدات معالجة الرسومات" }, "systemPrompt": { "label": "موجه النظام المؤقت", "placeholder": "أدخل موجه النظام", "help": "هذه طريقة سريعة لتعيين موجه النظام في المحادثة الحالية، والذي سيتجاوز موجه النظام المحدد إذا كان موجوداً." } }, "advanced": "المزيد من إعدادات النموذج" }, "copilot": { "summary": "تلخيص", "explain": "شرح", "rephrase": "إعادة صياغة", "translate": "ترجمة", "custom": "مخصص" }, "citations": "الاقتباسات", "segmented": { "ollama": "نماذج Ollama", "custom": "نماذج مخصصة" }, "downloadCode": "تنزيل الكود", "date": { "pinned": "مثبت", "today": "اليوم", "yesterday": "الأمس", "last7Days": "آخر 7 أيام", "older": "أقدم" }, "range": { "deleteConfirm": { "pinned": "هل أنت متأكد أنك تريد حذف جميع الرسائل المثبتة؟", "today": "هل أنت متأكد أنك تريد حذف جميع رسائل اليوم؟", "yesterday": "هل أنت متأكد أنك تريد حذف جميع رسائل الأمس؟", "last7Days": "هل أنت متأكد أنك تريد حذف جميع رسائل آخر 7 أيام؟", "older": "هل أنت متأكد أنك تريد حذف جميع الرسائل القديمة؟" }, "tooltip": { "pinned": "حذف جميع الرسائل المثبتة", "today": "حذف جميع رسائل اليوم", "yesterday": "حذف جميع رسائل الأمس", "last7Days": "حذف جميع رسائل آخر 7 أيام", "older": "حذف جميع الرسائل القديمة" } }, "pin": "تثبيت", "unpin": "إلغاء التثبيت", "generationInfo": "معلومات التوليد", "sidebarChat": "دردشة الشريط الجانبي", "reasoning": { "thinking": "جاري التفكير....", "thought": "فكر لمدة {{time}}" }, "embeddingGen": "إنشاء تمثيلات، قد يستغرق هذا وقتًا", "semanticSearch": "جاري البحث الدلالي", "downloading": "جاري التنزيل", "cancelPullingModel": { "confirm": "هل أنت متأكد أنك تريد إلغاء التنزيل؟ سيؤدي ذلك إلى إيقاف عملية التنزيل. وفقًا لتوثيق Ollama، يمكنك المتابعة من حيث توقفت." } } ================================================ FILE: src/assets/locale/ar/knowledge.json ================================================ { "addBtn": "إضافة معرفة جديدة", "columns": { "title": "العنوان", "status": "الحالة", "embeddings": "نموذج التضمين", "createdAt": "تاريخ الإنشاء", "action": "الإجراءات" }, "expandedColumns": { "name": "الاسم" }, "confirm": { "delete": "هل أنت متأكد أنك تريد حذف هذه المعرفة؟" }, "deleteSuccess": "تم حذف المعرفة بنجاح", "status": { "pending": "قيد الانتظار", "finished": "مكتمل", "processing": "قيد المعالجة", "failed": "فشل" }, "addKnowledge": "إضافة معرفة", "updateKnowledge": "تحديث المعرفة", "form": { "title": { "label": "عنوان المعرفة", "placeholder": "أدخل عنوان المعرفة", "required": "عنوان المعرفة مطلوب" }, "uploadFile": { "label": "رفع ملف", "uploadText": "اسحب وأفلت ملفًا هنا أو انقر للرفع", "uploadHint": "أنواع الملفات المدعومة: .pdf, .csv, .txt, .md, .docx", "required": "الملف مطلوب" }, "submit": "إرسال", "success": "تمت إضافة المعرفة بنجاح" }, "noEmbeddingModel": "يرجى إضافة نموذج تضمين من صفحة إعدادات RAG أولاً" } ================================================ FILE: src/assets/locale/ar/openai.json ================================================ { "settings": "واجهة برمجة التطبيقات المتوافقة مع OpenAI", "heading": "واجهة برمجة التطبيقات المتوافقة مع OpenAI", "subheading": "إدارة وتكوين مزودي واجهة برمجة التطبيقات المتوافقة مع OpenAI هنا.", "addBtn": "إضافة مزود", "table": { "name": "اسم المزود", "baseUrl": "عنوان URL الأساسي", "actions": "إجراء" }, "modal": { "titleAdd": "إضافة مزود جديد", "name": { "label": "اسم المزود", "required": "اسم المزود مطلوب.", "placeholder": "أدخل اسم المزود" }, "baseUrl": { "label": "عنوان URL الأساسي", "help": "عنوان URL الأساسي لمزود واجهة برمجة التطبيقات OpenAI. مثال (http://localhost:1234/v1)", "required": "عنوان URL الأساسي مطلوب.", "placeholder": "أدخل عنوان URL الأساسي" }, "apiKey": { "label": "مفتاح API", "required": "مفتاح API مطلوب.", "placeholder": "أدخل مفتاح API" }, "submit": "حفظ", "update": "تحديث", "deleteConfirm": "هل أنت متأكد أنك تريد حذف هذا المزود؟", "model": { "title": "قائمة النماذج", "subheading": "يرجى تحديد نماذج المحادثة التي تريد استخدامها مع هذا المزود.", "success": "تمت إضافة نماذج جديدة بنجاح." }, "tipLMStudio": "سيقوم Page Assist تلقائيًا بجلب النماذج التي قمت بتحميلها على LM Studio. لست بحاجة إلى إضافتها يدويًا." }, "addSuccess": "تمت إضافة المزود بنجاح.", "deleteSuccess": "تم حذف المزود بنجاح.", "updateSuccess": "تم تحديث المزود بنجاح.", "delete": "حذف", "edit": "تعديل", "newModel": "إضافة نماذج للمزود", "noNewModel": "بالنسبة لـ LMStudio و Ollama و Llamafile، نقوم بالجلب ديناميكيًا. لا حاجة للإضافة اليدوية.", "searchModel": "بحث عن نموذج", "selectAll": "تحديد الكل", "save": "حفظ", "saving": "جاري الحفظ...", "manageModels": { "columns": { "name": "اسم النموذج", "model_type": "نوع النموذج", "model_id": "معرف النموذج", "provider": "اسم المزود", "actions": "إجراء", "nickname": "الاسم المستعار للنموذج" }, "tooltip": { "delete": "حذف" }, "confirm": { "delete": "هل أنت متأكد أنك تريد حذف هذا النموذج؟" }, "modal": { "title": "إضافة نموذج مخصص", "form": { "name": { "label": "معرف النموذج", "placeholder": "llama3.2", "required": "معرف النموذج مطلوب." }, "provider": { "label": "المزود", "placeholder": "اختر المزود", "required": "المزود مطلوب." }, "type": { "label": "نوع النموذج" } } } }, "noModelFound": "لم يتم العثور على نموذج. تأكد من إضافة المزود الصحيح مع عنوان URL الأساسي ومفتاح API.", "radio": { "chat": "نموذج المحادثة", "embedding": "نموذج التضمين", "chatInfo": "يستخدم لإكمال المحادثة وتوليد المحادثات", "embeddingInfo": "يستخدم لـ RAG ومهام البحث الدلالي الأخرى ذات الصلة." }, "nicknameModal": { "title": "إضافة / تعديل الاسم المستعار للنموذج", "form": { "modelName": { "label": "اسم النموذج", "placeholder": "أدخل اسم النموذج", "required": "اسم النموذج مطلوب." }, "modelAvatar": { "label": "صورة النموذج", "placeholder": "أدخل صورة النموذج", "help": "يرجى إدخال رابط صورة النموذج. سيتم عرض هذه الصورة في نافذة المحادثة." } } } } ================================================ FILE: src/assets/locale/ar/option.json ================================================ { "newChat": "محادثة جديدة", "selectAPrompt": "اختر موجهاً", "githubRepository": "مستودع GitHub", "settings": "الإعدادات", "sidebarTitle": "سجل المحادثات", "error": "خطأ", "somethingWentWrong": "حدث خطأ ما", "validationSelectModel": "الرجاء اختيار نموذج للمتابعة", "deleteHistoryConfirmation": "هل أنت متأكد أنك تريد حذف هذا السجل؟", "editHistoryTitle": "أدخل عنواناً جديداً", "temporaryChat": "محادثة مؤقتة", "more": { "copy": { "group": "نسخ", "asText": "نسخ كنص", "asMarkdown": "نسخ كماركداون", "success": "تم النسخ إلى الحافظة!" }, "download": { "group": "تنزيل", "text": "ملف نصي (.txt)", "markdown": "ماركداون (.md)", "json": "ملف JSON (.json)" }, "share": "مشاركة" } } ================================================ FILE: src/assets/locale/ar/playground.json ================================================ { "ollamaState": { "searching": "جارٍ البحث عن Ollama الخاص بك 🦙", "running": "Ollama يعمل 🦙", "notRunning": "تعذر الاتصال بـ Ollama 🦙", "connectionError": "يبدو أنك تواجه خطأ في الاتصال. يرجى الرجوع إلى هذا الدليل لاستكشاف الأخطاء وإصلاحها." }, "formError": { "noModel": "الرجاء اختيار نموذج", "noEmbeddingModel": "الرجاء تعيين نموذج التضمين في صفحة الإعدادات > RAG" }, "form": { "textarea": { "placeholder": "اكتب رسالة..." }, "webSearch": { "on": "تشغيل", "off": "إيقاف" } }, "tooltip": { "searchInternet": "البحث في الإنترنت", "speechToText": "تحويل الكلام إلى نص", "uploadImage": "تحميل صورة", "stopStreaming": "إيقاف البث", "knowledge": "المعرفة", "vision": "[تجريبي] محادثة الرؤية", "clearContext": "مسح السياق" }, "sendWhenEnter": "إرسال عند الضغط على Enter", "welcome": "مرحباً! كيف يمكنني مساعدتك اليوم؟", "useOCR": "استخراج النص من الصورة (OCR)" } ================================================ FILE: src/assets/locale/ar/settings.json ================================================ { "generalSettings": { "title": "الإعدادات العامة", "settings": { "heading": "إعدادات واجهة المستخدم", "speechRecognitionLang": { "label": "لغة التعرف على الكلام", "placeholder": "اختر لغة" }, "language": { "label": "اللغة", "placeholder": "اختر لغة" }, "darkMode": { "label": "تغيير المظهر", "options": { "light": "فاتح", "dark": "داكن" } }, "copilotResumeLastChat": { "label": "استئناف آخر محادثة عند فتح اللوحة الجانبية (كوبيلوت)" }, "turnOnChatWithWebsite": { "label": "تمكين الدردشة مع الموقع بشكل افتراضي (كوبيلوت)" }, "webUIResumeLastChat": { "label": "استئناف آخر محادثة عند فتح واجهة المستخدم" }, "hideCurrentChatModelSettings": { "label": "إخفاء إعدادات نموذج المحادثة الحالي" }, "restoreLastChatModel": { "label": "استعادة آخر نموذج مستخدم للمحادثات السابقة" }, "sendNotificationAfterIndexing": { "label": "إرسال إشعار بعد الانتهاء من معالجة قاعدة المعرفة" }, "generateTitle": { "label": "توليد العنوان باستخدام الذكاء الاصطناعي" }, "ollamaStatus": { "label": "تمكين أو تعطيل فحص حالة اتصال أولاما" }, "wideMode": { "label": "تمكين وضع الشاشة العريضة" }, "openReasoning": { "label": "فتح التفكير المنطقي بشكل افتراضي" }, "userChatBubble": { "label": "استخدام فقاعة الدردشة لرسائل المستخدم" }, "autoCopyResponseToClipboard": { "label": "نسخ الرد تلقائياً إلى الحافظة" }, "useMarkdownForUserMessage": { "label": "تمكين تنسيق ماركداون لرسائل المستخدم" }, "copyAsFormattedText": { "label": "نسخ كنص منسق" }, "tabMentionsEnabled": { "label": "تمكين إشارات التبويب (@tab)" }, "pasteLargeTextAsFile": { "label": "لصق النص الكبير كملف" }, "sidepanelTemporaryChat": { "label": "تمكين المحادثة المؤقتة في اللوحة الجانبية بشكل افتراضي" } }, "sidepanelRag": { "heading": "إعدادات الاسترجاع", "ragEnabled": { "label": "تمكين التضمين والاسترجاع" }, "maxWebsiteContext": { "label": "الحد الأقصى لحجم المحتوى لوضع السياق الكامل", "placeholder": "حجم المحتوى (الافتراضي 4028)" } }, "webSearch": { "heading": "إدارة البحث على الإنترنت", "searchMode": { "label": "إجراء بحث بسيط على الإنترنت" }, "provider": { "label": "محرك البحث", "placeholder": "اختر محرك بحث" }, "totalSearchResults": { "label": "إجمالي نتائج البحث", "placeholder": "أدخل إجمالي نتائج البحث" }, "visitSpecificWebsite": { "label": "زيارة الموقع المذكور في الرسالة" }, "searxng": { "url": { "label": "رابط SearXNG" } }, "braveApi": { "label": "مفتاح واجهة برنامج Brave", "placeholder": "أدخل مفتاح واجهة برنامج Brave" }, "googleDomain": { "label": "نطاق جوجل" }, "searchOnByDefault": { "label": "تفعيل البحث على الإنترنت بشكل افتراضي" } }, "system": { "heading": "إعدادات النظام", "storageSyncEnabled": { "label": "تمكين مزامنة تخزين المتصفح (مزامنة الإعدادات عبر الأجهزة)" }, "deleteChatHistory": { "label": "إعادة تعيين النظام", "button": "إعادة تعيين الكل", "confirm": "هل أنت متأكد أنك تريد إجراء إعادة تعيين النظام؟ سيؤدي هذا إلى مسح جميع البيانات ولا يمكن التراجع عنه." }, "export": { "label": "تصدير جميع البيانات (سجل الدردشة، قاعدة المعرفة، الطلبات، والإعدادات)", "button": "تصدير البيانات", "success": "تم التصدير بنجاح" }, "import": { "label": "استيراد جميع البيانات (سجل الدردشة، قاعدة المعرفة، الطلبات، والإعدادات)", "button": "استيراد البيانات", "success": "تم الاستيراد بنجاح", "error": "خطأ في الاستيراد" } }, "tts": { "heading": "إعدادات تحويل النص إلى كلام", "ttsEnabled": { "label": "تمكين تحويل النص إلى كلام" }, "ttsAutoPlay": { "label": "تشغيل الرد الصوتي تلقائياً بعد الاكتمال" }, "ttsProvider": { "label": "مزود خدمة تحويل النص إلى كلام", "placeholder": "اختر مزود خدمة" }, "ttsVoice": { "label": "صوت تحويل النص إلى كلام", "placeholder": "اختر صوتاً" }, "ssmlEnabled": { "label": "تمكين SSML (لغة ترميز توليف الكلام)" }, "removeReasoningTagTTS": { "label": "إزالة علامة التفكير من تحويل النص إلى كلام" } }, "stt": { "heading": "إعدادات تحويل الكلام إلى نص", "autoStopTimeout": { "label": "مهلة التوقف التلقائي (مللي ثانية)", "placeholder": "أدخل مهلة التوقف التلقائي بالمللي ثانية" }, "autoSubmitVoiceMessage": { "label": "إرسال الرسالة الصوتية تلقائياً" } } }, "manageModels": { "title": "إدارة النماذج", "addBtn": "إضافة نموذج جديد", "columns": { "name": "الاسم", "digest": "الملخص", "modifiedAt": "تم التعديل في", "size": "الحجم", "actions": "الإجراءات" }, "expandedColumns": { "parentModel": "النموذج الأصلي", "format": "التنسيق", "family": "العائلة", "parameterSize": "حجم المعلمة", "quantizationLevel": "مستوى التكميم" }, "tooltip": { "delete": "حذف النموذج", "repull": "إعادة سحب النموذج" }, "confirm": { "delete": "هل أنت متأكد أنك تريد حذف هذا النموذج؟", "repull": "هل أنت متأكد أنك تريد إعادة سحب هذا النموذج؟" }, "modal": { "title": "إضافة نموذج جديد", "placeholder": "أدخل اسم النموذج", "pull": "سحب النموذج" }, "notification": { "pullModel": "جاري سحب النموذج", "pullModelDescription": "جاري سحب نموذج {{modelName}}. لمزيد من التفاصيل، تحقق من أيقونة الإضافة.", "success": "نجاح", "error": "خطأ", "successDescription": "تم سحب النموذج بنجاح", "successDeleteDescription": "تم حذف النموذج بنجاح", "someError": "حدث خطأ ما. يرجى المحاولة مرة أخرى لاحقاً" } }, "managePrompts": { "title": "إدارة الإرشادات", "addBtn": "إضافة إرشاد جديد", "option1": "عادي", "option2": "RAG", "questionPrompt": "إرشاد السؤال", "segmented": { "custom": "إرشادات مخصصة", "copilot": "إرشادات كوبيلوت" }, "columns": { "title": "العنوان", "prompt": "الإرشاد", "type": "نوع الإرشاد", "actions": "الإجراءات" }, "systemPrompt": "إرشاد النظام", "quickPrompt": "إرشاد سريع", "tooltip": { "delete": "حذف الإرشاد", "edit": "تعديل الإرشاد" }, "confirm": { "delete": "هل أنت متأكد أنك تريد حذف هذا الإرشاد؟ لا يمكن التراجع عن هذا الإجراء." }, "modal": { "addTitle": "إضافة إرشاد جديد", "editTitle": "تعديل الإرشاد" }, "form": { "title": { "label": "العنوان", "placeholder": "إرشادي الرائع", "required": "الرجاء إدخال عنوان" }, "prompt": { "label": "الإرشاد", "placeholder": "أدخل الإرشاد", "required": "الرجاء إدخال إرشاد", "help": "يمكنك استخدام {key} كمتغير في إرشادك.", "missingTextPlaceholder": "المتغير {text} مفقود في الإرشاد. الرجاء إضافته." }, "isSystem": { "label": "إرشاد نظام" }, "btnSave": { "saving": "جاري إضافة الإرشاد...", "save": "إضافة الإرشاد" }, "btnEdit": { "saving": "جاري تحديث الإرشاد...", "save": "تحديث الإرشاد" } }, "notification": { "addSuccess": "تمت إضافة الإرشاد", "addSuccessDesc": "تمت إضافة الإرشاد بنجاح", "error": "خطأ", "someError": "حدث خطأ ما. يرجى المحاولة مرة أخرى لاحقاً", "updatedSuccess": "تم تحديث الإرشاد", "updatedSuccessDesc": "تم تحديث الإرشاد بنجاح", "deletedSuccess": "تم حذف الإرشاد", "deletedSuccessDesc": "تم حذف الإرشاد بنجاح" } }, "manageShare": { "title": "إدارة المشاركة", "heading": "تكوين رابط مشاركة الصفحة", "form": { "url": { "label": "رابط مشاركة الصفحة", "placeholder": "أدخل رابط مشاركة الصفحة", "required": "الرجاء إدخال رابط مشاركة الصفحة!", "help": "لأسباب تتعلق بالخصوصية، يمكنك استضافة مشاركة الصفحة ذاتياً وتوفير الرابط هنا. تعلم المزيد." } }, "webshare": { "heading": "مشاركة الويب", "columns": { "title": "العنوان", "url": "الرابط", "actions": "الإجراءات" }, "tooltip": { "delete": "حذف المشاركة" }, "confirm": { "delete": "هل أنت متأكد أنك تريد حذف هذه المشاركة؟ لا يمكن التراجع عن هذا الإجراء." }, "label": "إدارة مشاركة الصفحة", "description": "تمكين أو تعطيل ميزة مشاركة الصفحة" }, "notification": { "pageShareSuccess": "تم تحديث رابط مشاركة الصفحة بنجاح", "someError": "حدث خطأ ما. يرجى المحاولة مرة أخرى لاحقاً", "webShareDeleteSuccess": "تم حذف مشاركة الويب بنجاح" } }, "ollamaSettings": { "title": "إعدادات Ollama", "heading": "تكوين Ollama", "settings": { "ollamaUrl": { "label": "رابط Ollama", "placeholder": "أدخل رابط Ollama" }, "globalEnable": { "label": "تمكين أو تعطيل تكامل Ollama عالمياً", "warning": "عند تعطيل تكامل Ollama عالمياً، لن يقوم مساعد الصفحة بجلب النماذج من Ollama. لا يزال بإمكانك إضافة نسخة Ollama من قسم واجهة برمجة التطبيقات المتوافقة مع OpenAI والتي ستعمل بشكل جيد." }, "advanced": { "label": "تكوين رابط Ollama المتقدم", "urlRewriteEnabled": { "label": "تمكين أو تعطيل رابط المصدر المخصص" }, "rewriteUrl": { "label": "رابط المصدر المخصص", "placeholder": "أدخل رابط المصدر المخصص" }, "autoCORSFix": { "label": "تمكين أو تعطيل إصلاح CORS التلقائي لـ Ollama" }, "headers": { "label": "الترويسات المخصصة", "add": "إضافة ترويسة", "key": { "label": "مفتاح الترويسة", "placeholder": "التفويض" }, "value": { "label": "قيمة الترويسة", "placeholder": "رمز Bearer" } }, "help": "إذا كنت تواجه مشاكل في الاتصال مع Ollama في مساعد الصفحة، يمكنك تكوين رابط مصدر مخصص. لمعرفة المزيد حول التكوين، انقر هنا." } } }, "manageSearch": { "title": "إدارة البحث في الويب", "heading": "تكوين البحث في الويب" }, "about": { "title": "حول", "heading": "حول", "chromeVersion": "إصدار مساعد الصفحة", "ollamaVersion": "إصدار Ollama", "support": "يمكنك دعم مشروع مساعد الصفحة من خلال التبرع أو الرعاية عبر المنصات التالية:", "koFi": "ادعم على Ko-fi", "githubSponsor": "كن راعياً على GitHub", "githubRepo": "مستودع GitHub" }, "manageKnowledge": { "title": "إدارة المعرفة", "heading": "تكوين قاعدة المعرفة" }, "rag": { "title": "إعدادات Pipeline ", "ragSettings": { "label": "إعدادات RAG", "model": { "label": "نموذج التضمين", "required": "الرجاء اختيار نموذج", "help": "يوصى بشدة باستخدام نماذج التضمين مثل `nomic-embed-text`.", "placeholder": "اختر نموذجاً" }, "chunkSize": { "label": "حجم القطعة", "placeholder": "أدخل حجم القطعة", "required": "الرجاء إدخال حجم القطعة" }, "chunkOverlap": { "label": "تداخل القطع", "placeholder": "أدخل تداخل القطع", "required": "الرجاء إدخال تداخل القطع" }, "totalFilePerKB": { "label": "حد رفع الملفات الافتراضي لقاعدة المعرفة", "placeholder": "أدخل حد رفع الملفات الافتراضي (مثال: 10)", "required": "الرجاء إدخال حد رفع الملفات الافتراضي" }, "noOfRetrievedDocs": { "label": "عدد المستندات المسترجعة", "placeholder": "أدخل عدد المستندات المسترجعة", "required": "الرجاء إدخال عدد المستندات المسترجعة" }, "splittingSeparator": { "label": "الفاصل", "placeholder": "أدخل الفاصل (مثال: \\n\\n)", "required": "الرجاء إدخال الفاصل" }, "splittingStrategy": { "label": "مقسم النص" } }, "prompt": { "label": "تكوين إرشاد RAG", "option1": "عادي", "option2": "ويب", "alert": "تكوين إرشاد النظام هنا مهمل. يرجى استخدام قسم إدارة الإرشادات لإضافة أو تعديل الإرشادات. سيتم إزالة هذا القسم في إصدار مستقبلي", "systemPrompt": "إرشاد النظام", "systemPromptPlaceholder": "أدخل إرشاد النظام", "webSearchPrompt": "إرشاد بحث الويب", "webSearchPromptHelp": "لا تقم بإزالة `{search_results}` من الإرشاد.", "webSearchPromptError": "الرجاء إدخال إرشاد بحث الويب", "webSearchPromptPlaceholder": "أدخل إرشاد بحث الويب", "webSearchFollowUpPrompt": "إرشاد متابعة بحث الويب", "webSearchFollowUpPromptHelp": "لا تقم بإزالة `{chat_history}` و `{question}` من الإرشاد.", "webSearchFollowUpPromptError": "الرجاء إدخال إرشاد متابعة بحث الويب!", "webSearchFollowUpPromptPlaceholder": "إرشاد متابعة بحث الويب الخاص بك" } }, "chromeAiSettings": { "title": "إعدادات Chrome AI" } } ================================================ FILE: src/assets/locale/ar/sidepanel.json ================================================ { "tooltip": { "embed": "قد يستغرق تضمين الصفحة بضع دقائق. يرجى الانتظار...", "clear": "مسح سجل المحادثة", "history": "سجل المحادثة", "openwebui": "فتح واجهة الويب" } } ================================================ FILE: src/assets/locale/da/chrome.json ================================================ { "heading": "Konfigurer Chrome AI", "status": { "label": "Tænd eller sluk Chrome AI Support på Page Assist" }, "error": { "browser_not_supported": "Denne version af Chrome er ikke understøttet af Gemini Nano modelen. Opdater venligst til version 127 eller nyere", "ai_not_supported": "Indstillingen chrome://flags/#prompt-api-for-gemini-nano er ikke tændt. Venligst tænd for indstillingen.", "ai_not_ready": "Gemini Nano er ikke tilgængelig; du er nødt til at double-cheke Chrome indstillingerne.", "internal_error": "Der opstod en intern fejl. Prøv venligst igen senere." }, "errorDescription": "For at bruge Chrome AI skal du bruge en browserversion, der er nyere end 138. Følg disse trin:\n\n1. Gå til `chrome://flags/#prompt-api-for-gemini-nano` og aktiver \"Prompt API for Gemini Nano\".\n2. Genstart Chrome for at anvende flaget.\n3. Gå tilbage til denne side og klik på \"Download Model\" — dette downloader en 4GB model for første gang.\n4. Når den er downloadet, kan Gemini Nano aktiveres gennem Page Assist.", "downloadModel": "Download model", "modelDownloadWarning": "Dette vil downloade en model med en omtrentlig downloadstørrelse på mellem 1,5 GB og 2,4 GB. Sørg for, at du har tilstrækkelig diskplads." } ================================================ FILE: src/assets/locale/da/common.json ================================================ { "pageAssist": "Page Assist", "selectAModel": "Vælg en Model", "save": "Gem", "saved": "Gemt", "cancel": "Fortryd", "retry": "Prøv igen", "share": { "tooltip": { "share": "Del" }, "modal": { "title": "Del link til Chatten" }, "form": { "defaultValue": { "name": "Anonym", "title": "Unavngivet chat" }, "title": { "label": "Chattitel", "placeholder": "Indtast chattitel", "required": "Chattitel er nødvendig" }, "name": { "label": "Dit navn", "placeholder": "Indtast dit navn", "required": "Dit navn er nødvendig" }, "btn": { "save": "Generer et Link", "saving": "Generering af link..." } }, "notification": { "successGenerate": "Link kopied til udklipsholder", "failGenerate": "Kunne ikke generere link" } }, "copyToClipboard": "Kopier til udklipsholder", "webSearch": "Søger på internettet", "regenerate": "Regenerer", "continue": "Fortsæt svar", "edit": "Ændre", "delete": "Slet", "saveAndSubmit": "Gem & Indsend", "editMessage": { "placeholder": "Skriv en besked..." }, "submit": "Indsend", "noData": "Igen data", "noHistory": "Igen chat history", "chatWithCurrentPage": "Chat med nuværende side", "beta": "Beta", "tts": "Læs op", "currentChatModelSettings": "Nuværende chat model indstillinger", "modelSettings": { "label": "Model Indstillinger", "description": "Konfigurer model indstillingerne alle chats", "form": { "keepAlive": { "label": "Hold i live", "help": "controls how long the model will stay loaded into memory following the request (standard: 5m)", "placeholder": "Indtast længden af sessionen (fx. 5m, 10m, 1t)" }, "temperature": { "label": "Temperatur", "placeholder": "Indtast Temperatur værdi (fx. 0.7, 1.0)" }, "numCtx": { "label": "Kontekst Vindue Størrelse (num_ctx)", "placeholder": "Indtast Kontekst Vindue Størrelse værdi (standard: 2048)" }, "numPredict": { "label": "Maks Tokens (num_predict)", "placeholder": "Indtast Maks Tokens værdi (fx. 2048, 4096)" }, "seed": { "label": "Seed", "placeholder": "Indtast Seed værdi (fx. 1234)", "help": "Reproducerbarhed af modeloutput" }, "topK": { "label": "Top K", "placeholder": "Indtast Top K værdi (fx. 40, 100)" }, "topP": { "label": "Top P", "placeholder": "Indtast Top P value (fx. 0.9, 0.95)" }, "numGpu": { "label": "Antal GPU'er", "placeholder": "Indtast antallet af lag, som sendes til GPU('er)" }, "systemPrompt": { "label": "Midlertidige System Prompt", "placeholder": "Indtast System Prompt", "help": "Dette er en hurtig måde at indstille systemprompten i den aktuelle chat, som vil tilsidesætte den valgte systemprompt, hvis den findes." } }, "advanced": "Flere Model Indstillinger" }, "copilot": { "summary": "Opsummer", "explain": "Forklar", "rephrase": "Omskriv", "translate": "Oversæt", "custom": "Brugerdefineret" }, "citations": "Citater", "downloadCode": "Download Kode", "date": { "pinned": "Fastgjort", "today": "I dag", "yesterday": "I går", "last7Days": "Sidste 7 dage", "older": "Ældre" }, "range": { "deleteConfirm": { "pinned": "Er du sikker på, at du vil slette alle fastgjorte beskeder?", "today": "Er du sikker på, at du vil slette alle beskeder fra i dag?", "yesterday": "Er du sikker på, at du vil slette alle beskeder fra i går?", "last7Days": "Er du sikker på, at du vil slette alle beskeder fra de sidste 7 dage?", "older": "Er du sikker på, at du vil slette alle ældre beskeder?" }, "tooltip": { "pinned": "Slet alle fastgjorte beskeder", "today": "Slet alle beskeder fra i dag", "yesterday": "Slet alle beskeder fra i går", "last7Days": "Slet alle beskeder fra de sidste 7 dage", "older": "Slet alle ældre beskeder" } }, "pin": "Fastgør", "unpin": "Frigør", "generationInfo": "Genererings Info", "sidebarChat": "Sidepanel Chat", "reasoning": { "thinking": "Tænker....", "thought": "Tænkte i {{time}}" }, "embeddingGen": "Opretter embeddings, dette kan tage en stund", "semanticSearch": "Udfører semantisk søgning", "downloading": "Downloader", "cancelPullingModel": { "confirm": "Er du sikker på, at du vil annullere downloadet? Dette stopper downloadprocessen. Ifølge Ollama-dokumentationen kan du genoptage, hvor du slap." } } ================================================ FILE: src/assets/locale/da/knowledge.json ================================================ { "addBtn": "Tilføj Ny Viden", "columns": { "title": "Titel", "status": "Status", "embeddings": "Embedding Model", "createdAt": "Oprettet At", "action": "Handlinger" }, "expandedColumns": { "name": "Navn" }, "confirm": { "delete": "Er du sikker på du vil slette denne viden?" }, "deleteSuccess": "Viden slettet med success", "status": { "pending": "Venter", "finished": "Færdig", "processing": "Processerer", "failed": "Fejlet" }, "addKnowledge": "Tilføj Viden", "updateKnowledge": "Tilføj Kilde", "form": { "title": { "label": "Viden Titel", "placeholder": "Indtast viden titel", "required": "Viden titel er nødvendig" }, "uploadFile": { "label": "Upload Filer", "uploadText": "Træk og slip denne fil here og klik upload", "uploadHint": "Understøttet filtyper: .pdf, .csv, .txt, .md, .docx", "required": "En fil er nødvendig" }, "submit": "Indsend", "success": "Viden tilføjet med success" }, "noEmbeddingModel": "Tilføj venligst en embedding model fra RAG indstillingerne først" } ================================================ FILE: src/assets/locale/da/openai.json ================================================ { "settings": "OpenAI Kompatibel API", "heading": "OpenAI kompatibel API", "subheading": "Administrer og konfigurer dine OpenAI API-kompatible udbydere her.", "addBtn": "Tilføj Udbyder", "table": { "name": "Udbyders Navn", "baseUrl": "Basis URL", "actions": "Handling" }, "modal": { "titleAdd": "Tilføj Ny Udbyder", "name": { "label": "Udbyders Navn", "required": "Udbyders navn er påkrævet.", "placeholder": "Indtast udbyders navn" }, "baseUrl": { "label": "Basis URL", "help": "Basis URL'en for OpenAI API-udbyderen. f.eks. (http://localhost:1234/v1)", "required": "Basis URL er påkrævet.", "placeholder": "Indtast basis URL" }, "apiKey": { "label": "API Nøgle", "required": "API Nøgle er påkrævet.", "placeholder": "Indtast API Nøgle" }, "submit": "Gem", "update": "Opdater", "deleteConfirm": "Er du sikker på, at du vil slette denne udbyder?", "model": { "title": "Modelliste", "subheading": "Vælg venligst de chatmodeller, du ønsker at bruge med denne udbyder.", "success": "Nye modeller tilføjet med succes." }, "tipLMStudio": "Page Assist vil automatisk hente de modeller, du har indlæst på LM Studio. Du behøver ikke at tilføje dem manuelt." }, "addSuccess": "Udbyder tilføjet med succes.", "deleteSuccess": "Udbyder slettet med succes.", "updateSuccess": "Udbyder opdateret med succes.", "delete": "Slet", "edit": "Rediger", "newModel": "Tilføj Modeller til Udbyder", "noNewModel": "For LMStudio, Ollama, Llamafile, henter vi dynamisk. Ingen manuel tilføjelse nødvendig.", "searchModel": "Søg Model", "selectAll": "Vælg Alle", "save": "Gem", "saving": "Gemmer...", "manageModels": { "columns": { "name": "Modelnavn", "model_type": "Modeltype", "model_id": "Model-ID", "provider": "Udbyders Navn", "actions": "Handling", "nickname": "Model Kaldenavn" }, "tooltip": { "delete": "Slet" }, "confirm": { "delete": "Er du sikker på, at du vil slette denne model?" }, "modal": { "title": "Tilføj Brugerdefineret Model", "form": { "name": { "label": "Model-ID", "placeholder": "llama3.2", "required": "Model-ID er påkrævet." }, "provider": { "label": "Udbyder", "placeholder": "Vælg udbyder", "required": "Udbyder er påkrævet." }, "type": { "label": "Modeltype" } } } }, "noModelFound": "Ingen model fundet. Sørg for, at du har tilføjet korrekt udbyder med basis URL og API-nøgle.", "radio": { "chat": "Chatmodel", "embedding": "Indlejringsmodel", "chatInfo": "bruges til chatfuldførelse og samtalegeneration", "embeddingInfo": "bruges til RAG og andre semantiske søgerelaterede opgaver." }, "nicknameModal": { "title": "Tilføj / Rediger Model Kaldenavn", "form": { "modelName": { "label": "Modelnavn", "placeholder": "Indtast modelnavn", "required": "Modelnavn er påkrævet." }, "modelAvatar": { "label": "Model Avatar", "placeholder": "Indtast model avatar", "help": "Indtast venligst URL'en til model avataren. Dette billede vil blive vist i chatvinduet." } } } } ================================================ FILE: src/assets/locale/da/option.json ================================================ { "newChat": "Ny Chat", "selectAPrompt": "Vælg en Prompt", "githubRepository": "GitHub Repository", "settings": "Indstillinger", "sidebarTitle": "Chathistorik", "error": "Fejl", "somethingWentWrong": "Noget gik galt", "validationSelectModel": "Venligst vælg en model for at forsæætte", "deleteHistoryConfirmation": "Er du sikker på at du vil slette denne historik?", "editHistoryTitle": "Indtast en ny titel", "temporaryChat": "Midlertidig Chat", "more": { "copy": { "group": "Kopier", "asText": "Kopier som tekst", "asMarkdown": "Kopier som Markdown", "success": "Kopieret til udklipsholder!" }, "download": { "group": "Download", "text": "Tekstfil (.txt)", "markdown": "Markdown (.md)", "json": "JSON-fil (.json)" }, "share": "Del" } } ================================================ FILE: src/assets/locale/da/playground.json ================================================ { "ollamaState": { "searching": "Søger efter din Ollama 🦙", "running": "Ollama kør 🦙", "notRunning": "Kan ikke oprette forbindelse til Ollama 🦙", "connectionError": "Det lader til, at du har en forbindelsesfejl. Se venligst denne dokumentation for fejlfinding." }, "formError": { "noModel": "Vælg venligst en model", "noEmbeddingModel": "Vælg venligst en embedding model under indstillinger > RAG side" }, "form": { "textarea": { "placeholder": "Skriv en besked..." }, "webSearch": { "on": "Til", "off": "Fra" } }, "tooltip": { "searchInternet": "Søg Internettet", "speechToText": "Tal til Tekst", "uploadImage": "Upload Billed", "stopStreaming": "Stop Streaming", "knowledge": "Viden", "clearContext": "Ryd Kontekst" }, "sendWhenEnter": "Søg, når Indtast trykkes", "welcome": "Hej! Hvordan kan jeg hjælpe dig i dag?", "useOCR": "Udtræk tekst fra billede (OCR)" } ================================================ FILE: src/assets/locale/da/settings.json ================================================ { "generalSettings": { "title": "Generelle Indstillinger", "settings": { "heading": "Web UI Indstillinger", "speechRecognitionLang": { "label": "Talegenkendelse Sprog", "placeholder": "Vælg et sprog" }, "language": { "label": "Sprog", "placeholder": "Vælg et sprog" }, "darkMode": { "label": "Ændre Tema", "options": { "light": "Lyst", "dark": "Mørkt" } }, "copilotResumeLastChat": { "label": "Genoptag den sidste chat, når du åbner SidePanel (copilot)" }, "webUIResumeLastChat": { "label": "Genoptag den sidste chat, når du åbner Web UI'en" }, "hideCurrentChatModelSettings": { "label": "Skjul nuværende chat model indstillinger" }, "restoreLastChatModel": { "label": "Gendan sidste brugte chatmodel fremtidigt" }, "sendNotificationAfterIndexing": { "label": "Send besked efter færdigbehandling af vidensbasen" }, "generateTitle": { "label": "Generer titel med AI" }, "ollamaStatus": { "label": "Aktivér eller deaktivér Ollama forbindelsesstatus kontrol" }, "wideMode": { "label": "Aktivér bredskærm tilstand" }, "openReasoning": { "label": "Åbn Ræsonnement Sammenfoldet som standard" }, "userChatBubble": { "label": "Brug chatboble til brugermeddelelser" }, "autoCopyResponseToClipboard": { "label": "Kopiér automatisk svar til udklipsholder" }, "useMarkdownForUserMessage": { "label": "Aktivér Markdown formatering for brugermeddelelser" }, "copyAsFormattedText": { "label": "Kopiér som formateret tekst" }, "tabMentionsEnabled": { "label": "Aktivér Tab Omtaler (@tab)" }, "pasteLargeTextAsFile": { "label": "Indsæt stor tekst som fil" }, "sidepanelTemporaryChat": { "label": "Aktivér midlertidig chat i SidePanel som standard" } }, "sidepanelRag": { "heading": "Vidensbase Indstillinger", "ragEnabled": { "label": "Aktivér Indeksering og Genfinding" }, "maxWebsiteContext": { "label": "Maksimal Indholdsstørrelse for Fuld Kontekst Tilstand", "placeholder": "Indholdsstørrelse (standard 4028)" } }, "webSearch": { "heading": "Administrer Web Søgning", "searchMode": { "label": "Søge Tilstand" }, "provider": { "label": "Søgemaskine", "placeholder": "Vælg en søgemaskine" }, "totalSearchResults": { "label": "Antal søgeresultater", "placeholder": "Indtast antal Søgeresultater" }, "visitSpecificWebsite": { "label": "Besøg websitet nævnt i samtalen" }, "searxng": { "url": { "label": "SearXNG URL" } }, "braveApi": { "label": "Brave API Nøgle", "placeholder": "Indtast din Brave API nøgle" }, "searchOnByDefault": { "label": "Internet Søgning TIL som standard" } }, "system": { "heading": "Systemindstillinger", "storageSyncEnabled": { "label": "Aktivér browser lagringssynkronisering (synkroniser indstillinger på tværs af enheder)" }, "deleteChatHistory": { "label": "System Nulstilling", "button": "Nulstil Alt", "confirm": "Er du sikker på, at du vil udføre en systemnulstilling? Dette vil slette alle data og kan ikke fortrydes." }, "export": { "label": "Eksporter alle data (chat-historik, vidensbase, prompts og indstillinger)", "button": "Eksporter data", "success": "Eksport fuldført" }, "import": { "label": "Importer alle data (chat-historik, vidensbase, prompts og indstillinger)", "button": "Importer data", "success": "Import fuldført", "error": "Importfejl" } }, "tts": { "heading": "Tekst-til-tale Indstillinger", "ttsEnabled": { "label": "Tilføj Teskt-til-Tale" }, "ttsAutoPlay": { "label": "Automatisk afspilning af stemmerespons efter færdiggørelse" }, "ttsProvider": { "label": "Tekst-til-Tale Udbyder", "placeholder": "Vælg en udbyder" }, "ttsVoice": { "label": "Tekst-til-Tale Stemme", "placeholder": "Vælg en stemme" }, "ssmlEnabled": { "label": "Aktiver SSML (Speech Synthesis Markup Language)" }, "removeReasoningTagTTS": { "label": "Fjern Ræsonnement Tag fra TTS" } }, "stt": { "heading": "Tale-til-Tekst Indstillinger", "autoStopTimeout": { "label": "Auto Stop Timeout (ms)", "placeholder": "Indtast auto-stop timeout i millisekunder" }, "autoSubmitVoiceMessage": { "label": "Auto Send Stemmebesked" } } }, "manageModels": { "title": "Administer Modeller", "addBtn": "Tilføj ny Model", "columns": { "name": "Navn", "digest": "Digest", "modifiedAt": "Ændret den", "size": "Størrelse", "actions": "Handlinger" }, "expandedColumns": { "parentModel": "Forælder model", "format": "Format", "family": "Familie", "parameterSize": "Parameterstørrelse", "quantizationLevel": "kvantificeringsniveau" }, "tooltip": { "delete": "Slet Model", "repull": "Hent Model Igen" }, "confirm": { "delete": "Er du sikker på, at du vil slette denne model?", "repull": "Er du sikker på, at du vil hente denne model igen?" }, "modal": { "title": "Tilføj Ny Model", "placeholder": "Indtast Modelnavn", "pull": "Hent Model" }, "notification": { "pullModel": "Henter Model", "pullModelDescription": "Henter {{modelName}} model. For flere detaljer, tjek udvidelsesikonet.", "success": "Det virkede", "error": "Fejl", "successDescription": "Det lykkedes at hente modellen", "successDeleteDescription": "Det lykkedes at slette modellen", "someError": "Noget gik galt. Venligst prøv igen senere" } }, "managePrompts": { "title": "Administrer Prompts", "addBtn": "Tilføj Ny Prompt", "option1": "Normal", "option2": "RAG", "questionPrompt": "Spørgsmålsprompt", "segmented": { "custom": "Brugerdefinerede Prompts", "copilot": "Copilot Prompts" }, "columns": { "title": "Titel", "prompt": "Prompt", "type": "Prompttype", "actions": "Handlinger" }, "systemPrompt": "Systemprompt", "quickPrompt": "Hurtig Prompt", "tooltip": { "delete": "Slet Prompt", "edit": "Ændre Prompt" }, "confirm": { "delete": "Er du sikker på, at du vil slette denne prompt? Denne handling kan ikke fortrydes." }, "modal": { "addTitle": "Tilføj ny Prompt", "editTitle": "Ændre Prompt" }, "form": { "title": { "label": "Titel", "placeholder": "Min Seje Prompt", "required": "Indtast venligst en titel" }, "prompt": { "label": "Prompt", "placeholder": "Indtast Prompt", "required": "Venligst indtast en prompt", "help": "Du kan bruge {key} som variabel i din prompt.", "missingTextPlaceholder": "Variablen {text} mangler i prompten. Tilføj venligst dette." }, "isSystem": { "label": "Er Systemprompt" }, "btnSave": { "saving": "Tilføjer Prompt...", "save": "Tilføj Prompt" }, "btnEdit": { "saving": "Opdaterer Prompt...", "save": "Opdater Prompt" } }, "notification": { "addSuccess": "Prompt Tilføjet", "addSuccessDesc": "Prompt blev tilføjet med succes", "error": "Fejl", "someError": "Noget gik galt. Prøv venligst igen senere", "updatedSuccess": "Prompt Opdateret", "updatedSuccessDesc": "Prompt blev opdateret med succes", "deletedSuccess": "Prompt Slettet", "deletedSuccessDesc": "Prompt blev slettet med succes" } }, "manageShare": { "title": "Administrer Deling", "heading": "Konfigurerer Page deling URL", "form": { "url": { "label": "Page Deling URL", "placeholder": "Indtast websted deling URL", "required": "Venligst indstast din Page deling URL!", "help": "Af hensyn til privatliv kan du selv hoste side delingen og angive URL'en her. Lær Mere." } }, "webshare": { "heading": "Web Deling", "columns": { "title": "Titel", "url": "URL", "actions": "Handlinger" }, "tooltip": { "delete": "Slet Deling" }, "confirm": { "delete": "Er du sikker på du vil slette denne deling? Dette kan ikke fortrydes." }, "label": "Administrer Page Deling", "description": "Tilføj eller disable the page share feature" }, "notification": { "pageShareSuccess": "Page Deling URL Updateret korrekt", "someError": "Noget gik galt. Prøv venligst igen senere", "webShareDeleteSuccess": "Webdeling er slettet korrekt" } }, "ollamaSettings": { "title": "Ollama Indstillinger", "heading": "Konfigurerer Ollama", "settings": { "ollamaUrl": { "label": "Ollama URL", "placeholder": "Indtast Ollama URL" }, "globalEnable": { "label": "Aktiver eller Deaktiver Ollama Integration Globalt", "warning": "Ved at deaktivere Ollama-integration globalt vil Page Assist ikke hente modeller fra Ollama. Du kan stadig tilføje Ollama-instans fra OpenAI-kompatibel API sektionen, som vil fungere fint." }, "advanced": { "label": "Avanceret Ollama URL Konfiguration", "urlRewriteEnabled": { "label": "Aktiver eller Deaktiver Tilpasset Oprindelses-URL" }, "rewriteUrl": { "label": "Tilpasset Oprindelses URL", "placeholder": "Indtast tilpasset oprindelses URL" }, "autoCORSFix": { "label": "Aktiver eller Deaktiver Automatisk Ollama CORS Fix" }, "headers": { "label": "Tilpas Headers", "Tilføj": "Tilføj Header", "key": { "label": "Header Værdi", "placeholder": "Autorisation" }, "value": { "label": "Header Value", "placeholder": "Bearer token" } }, "help": "Hvis du har forbindelsesproblemer med Ollama på Page Assist, kan du konfigurere en brugerdefineret oprindelses-URL. For mere information om konfigurationen, klik her." } } }, "manageSearch": { "title": "Administrer Web Search", "heading": "Konfigurerer Web Search" }, "about": { "title": "Om", "heading": "Om", "chromeVersion": "Page Assist Version", "ollamaVersion": "Ollama Version", "support": "Du kan støtte Page Assist-projektet ved at donere eller sponsorere via følgende platforme:", "koFi": "Støt på Ko-fi", "githubSponsor": "Sponsor på GitHub", "githubRepo": "GitHub Repository" }, "manageKnowledge": { "title": "Administrer Viden", "heading": "konfigurer Videnbase" }, "rag": { "title": "Pipeline Indstillinger", "ragSettings": { "label": "RAG Indstillinger", "model": { "label": "Embedding Model", "required": "Vælg venligst en model", "help": "Det anbefales stærkt at bruge indlejringsmodeller som `nomic-embed-text`.", "placeholder": "Vælg a model" }, "chunkSize": { "label": "Chunk Størrelse", "placeholder": "Indtast Chunk Størrelse", "required": "Venligst indtast en chunk størrelse" }, "chunkOverlap": { "label": "Chunk Overlap", "placeholder": "Indtast Chunk Overlap", "required": "Indtast venligst chunk overlap" }, "totalFilePerKB": { "label": "Videnbase Standard Fil Upload Grænse", "placeholder": "Indtast standard fil upload grænse (f.eks. 10)", "required": "Indtast venligst standard fil upload grænsen" }, "noOfRetrievedDocs": { "label": "Antal Hentede Dokumenter", "placeholder": "Indtast Number of Retrieved Documents", "required": "Venligst indtast the number of retrieved documents" }, "splittingSeparator": { "label": "Separator", "placeholder": "Indtast Separator (f.eks. \\n\\n)", "required": "Indtast venligst en separator" }, "splittingStrategy": { "label": "Tekst Splitter" } }, "prompt": { "label": "Konfigurer RAG Prompt", "option1": "Normal", "option2": "Web", "alert": "Konfigurering af systemprompt her er forældet. Venligst brug Administrer Prompts sektionen til, at tilføje eller ændre prompts. Denne sektion vil blive fjernet i fremtidige versioner.", "systemPrompt": "System Prompt", "systemPromptPlaceholder": "Indtast System Prompt", "webSearchPrompt": "Websøgningsprompt", "webSearchPromptHelp": "Fjern ikke `{search_results}` fra prompten.", "webSearchPromptError": "Venligst indtast a web search prompt", "webSearchPromptPlaceholder": "Indtast Websøgningsprompt", "webSearchFollowUpPrompt": "Web Search Follow Up Prompt", "webSearchFollowUpPromptHelp": "Do not remove `{chat_history}` og `{question}` from the prompt.", "webSearchFollowUpPromptError": "Indtast venligst din websøgning opfølgende prompt!", "webSearchFollowUpPromptPlaceholder": "Din Websøgnings opfølgende Prompt" } }, "chromeAiSettings": { "title": "Chrome AI Indstillinger" } } ================================================ FILE: src/assets/locale/da/sidepanel.json ================================================ { "tooltip": { "embed": "Det kan tage et par minutter at indlejre siden. Vent venligst...", "clear": "Slet chat historiken", "history": "Chat historik", "openwebui": "Åbn WebUI" } } ================================================ FILE: src/assets/locale/de/chrome.json ================================================ { "heading": "Chrome AI konfigurieren", "status": { "label": "Chrome AI-Unterstützung für Page Assist aktivieren oder deaktivieren" }, "error": { "browser_not_supported": "Diese Version von Chrome wird vom Gemini Nano-Modell nicht unterstützt. Bitte aktualisieren Sie auf Version 127 oder höher", "ai_not_supported": "Die Einstellung chrome://flags/#prompt-api-for-gemini-nano ist nicht aktiviert. Bitte aktivieren Sie sie.", "ai_not_ready": "Gemini Nano ist noch nicht bereit; Sie müssen die Chrome-Einstellungen überprüfen.", "internal_error": "Ein interner Fehler ist aufgetreten. Bitte versuchen Sie es später erneut." }, "errorDescription": "Um Chrome AI zu verwenden, benötigen Sie Chrome Version 138 oder höher. Befolgen Sie diese Schritte:\n\n1. Gehen Sie zu `chrome://flags/#prompt-api-for-gemini-nano` und aktivieren Sie \"Prompt API for Gemini Nano\".\n2. Starten Sie Chrome neu, um das Flag zu übernehmen.\n3. Kehren Sie zu dieser Seite zurück und klicken Sie auf \"Modell herunterladen\" — dies lädt beim ersten Mal ein 4-GB-Modell herunter.\n4. Sobald das Modell heruntergeladen wurde, kann Gemini Nano über Page Assist aktiviert werden.", "downloadModel": "Modell herunterladen", "modelDownloadWarning": "Dies wird ein Modell mit einer ungefähren Downloadgröße von 1,5 GB bis 2,4 GB herunterladen. Stellen Sie sicher, dass Sie über ausreichend Speicherplatz verfügen." } ================================================ FILE: src/assets/locale/de/common.json ================================================ { "pageAssist": "Page Assist", "selectAModel": "Modell auswählen", "save": "Speichern", "saved": "Gespeichert", "cancel": "Abbrechen", "retry": "Erneut versuchen", "share": { "tooltip": { "share": "Teilen" }, "modal": { "title": "Link zum Chat teilen" }, "form": { "defaultValue": { "name": "Anonym", "title": "Unbenannter Chat" }, "title": { "label": "Chat-Titel", "placeholder": "Chat-Titel eingeben", "required": "Chat-Titel ist erforderlich" }, "name": { "label": "Ihr Name", "placeholder": "Geben Sie Ihren Namen ein", "required": "Ihr Name ist erforderlich" }, "btn": { "save": "Link generieren", "saving": "Link wird generiert..." } }, "notification": { "successGenerate": "Link in die Zwischenablage kopiert", "failGenerate": "Link konnte nicht generiert werden" } }, "copyToClipboard": "In die Zwischenablage kopieren", "webSearch": "Web durchsuchen", "regenerate": "Neu generieren", "edit": "Bearbeiten", "delete": "Löschen", "continue": "Antwort fortsetzen", "saveAndSubmit": "Speichern & Absenden", "editMessage": { "placeholder": "Nachricht eingeben..." }, "submit": "Absenden", "noData": "Keine Daten", "noHistory": "Kein Chat-Verlauf", "chatWithCurrentPage": "Mit aktueller Seite chatten", "beta": "Beta", "tts": "Vorlesen", "currentChatModelSettings": "Aktuelle Chat-Modell-Einstellungen", "modelSettings": { "label": "Modell-Einstellungen", "description": "Legen Sie die Modelloptionen global für alle Chats fest", "form": { "keepAlive": { "label": "Aktiv halten", "help": "Steuert, wie lange das Modell nach der Anfrage im Speicher geladen bleibt (Standard: 5m)", "placeholder": "Geben Sie die Dauer für Aktiv halten ein (z.B. 5m, 10m, 1h)" }, "temperature": { "label": "Temperatur", "placeholder": "Geben Sie den Temperaturwert ein (z.B. 0.7, 1.0)" }, "numCtx": { "label": "Kontextfenstergröße (num_ctx)", "placeholder": "Geben Sie die Kontextfenstergröße ein (Standard: 2048)" }, "numPredict": { "label": "Max Tokens (num_predict)", "placeholder": "Geben Sie den Max-Tokens-Wert ein (z.B. 2048, 4096)" }, "seed": { "label": "Seed", "placeholder": "Geben Sie den Seed-Wert ein (z.B. 1234)", "help": "Reproduzierbarkeit der Modellausgabe" }, "topK": { "label": "Top K", "placeholder": "Geben Sie den Top-K-Wert ein (z.B. 40, 100)" }, "topP": { "label": "Top P", "placeholder": "Geben Sie den Top-P-Wert ein (z.B. 0.9, 0.95)" }, "numGpu": { "label": "Anzahl GPUs", "placeholder": "Geben Sie die Anzahl der Ebenen ein, die an GPU(s) gesendet werden sollen" }, "systemPrompt": { "label": "Temporärer System-Prompt", "placeholder": "System-Prompt eingeben", "help": "Dies ist eine schnelle Möglichkeit, den System-Prompt im aktuellen Chat festzulegen, der den ausgewählten System-Prompt überschreibt, falls vorhanden." } }, "advanced": "Weitere Modell-Einstellungen" }, "copilot": { "summary": "Zusammenfassen", "explain": "Erklären", "rephrase": "Umformulieren", "translate": "Übersetzen", "custom": "Benutzerdefiniert" }, "citations": "Zitate", "downloadCode": "Code herunterladen", "date": { "pinned": "Angepinnt", "today": "Heute", "yesterday": "Gestern", "last7Days": "Letzte 7 Tage", "older": "Älter" }, "range": { "deleteConfirm": { "pinned": "Sind Sie sicher, dass Sie alle angepinnten Nachrichten löschen möchten?", "today": "Sind Sie sicher, dass Sie alle Nachrichten von heute löschen möchten?", "yesterday": "Sind Sie sicher, dass Sie alle Nachrichten von gestern löschen möchten?", "last7Days": "Sind Sie sicher, dass Sie alle Nachrichten der letzten 7 Tage löschen möchten?", "older": "Sind Sie sicher, dass Sie alle älteren Nachrichten löschen möchten?" }, "tooltip": { "pinned": "Alle angepinnten Nachrichten löschen", "today": "Alle Nachrichten von heute löschen", "yesterday": "Alle Nachrichten von gestern löschen", "last7Days": "Alle Nachrichten der letzten 7 Tage löschen", "older": "Alle älteren Nachrichten löschen" } }, "pin": "Anheften", "unpin": "Losheften", "generationInfo": "Generierungsinformationen", "sidebarChat": "Seitenleisten-Chat", "reasoning": { "thinking": "Denke nach....", "thought": "Gedanke für {{time}}" }, "embeddingGen": "Erstelle Embeddings, dies kann eine Weile dauern", "semanticSearch": "Führe semantische Suche durch", "downloading": "Herunterladen", "cancelPullingModel": { "confirm": "Sind Sie sicher, dass Sie den Download abbrechen möchten? Dadurch wird der Downloadvorgang gestoppt. Laut der Ollama-Dokumentation können Sie dort weitermachen, wo Sie aufgehört haben." } } ================================================ FILE: src/assets/locale/de/knowledge.json ================================================ { "addBtn": "Neues Wissen hinzufügen", "columns": { "title": "Titel", "status": "Status", "embeddings": "Einbettungsmodell", "createdAt": "Erstellt am", "action": "Aktionen" }, "expandedColumns": { "name": "Name" }, "confirm": { "delete": "Sind Sie sicher, dass Sie dieses Wissen löschen möchten?" }, "deleteSuccess": "Wissen erfolgreich gelöscht", "status": { "pending": "Ausstehend", "finished": "Abgeschlossen", "processing": "In Bearbeitung", "failed": "Fehlgeschlagen" }, "addKnowledge": "Wissen hinzufügen", "updateKnowledge": "Quelle hinzufügen", "form": { "title": { "label": "Wissenstitel", "placeholder": "Wissenstitel eingeben", "required": "Wissenstitel ist erforderlich" }, "uploadFile": { "label": "Datei hochladen", "uploadText": "Ziehen Sie eine Datei hierher oder klicken Sie zum Hochladen", "uploadHint": "Unterstützte Dateitypen: .pdf, .csv, .txt, .md, .docx", "required": "Datei ist erforderlich" }, "submit": "Absenden", "success": "Wissen erfolgreich hinzugefügt" }, "noEmbeddingModel": "Bitte fügen Sie zuerst ein Einbettungsmodell von der RAG-Einstellungsseite hinzu" } ================================================ FILE: src/assets/locale/de/openai.json ================================================ { "settings": "OpenAI-kompatible API", "heading": "OpenAI-kompatible API", "subheading": "Verwalten und konfigurieren Sie hier Ihre OpenAI-API-kompatiblen Anbieter.", "addBtn": "Anbieter hinzufügen", "table": { "name": "Anbietername", "baseUrl": "Basis-URL", "actions": "Aktion" }, "modal": { "titleAdd": "Neuen Anbieter hinzufügen", "name": { "label": "Anbietername", "required": "Anbietername ist erforderlich.", "placeholder": "Anbieternamen eingeben" }, "baseUrl": { "label": "Basis-URL", "help": "Die Basis-URL des OpenAI-API-Anbieters. z.B. (http://localhost:1234/v1)", "required": "Basis-URL ist erforderlich.", "placeholder": "Basis-URL eingeben" }, "apiKey": { "label": "API-Schlüssel", "required": "API-Schlüssel ist erforderlich.", "placeholder": "API-Schlüssel eingeben" }, "submit": "Speichern", "update": "Aktualisieren", "deleteConfirm": "Sind Sie sicher, dass Sie diesen Anbieter löschen möchten?", "model": { "title": "Modellliste", "subheading": "Bitte wählen Sie die Chat-Modelle aus, die Sie mit diesem Anbieter verwenden möchten.", "success": "Neue Modelle erfolgreich hinzugefügt." }, "tipLMStudio": "Page Assist wird automatisch die Modelle abrufen, die Sie in LM Studio geladen haben. Sie müssen sie nicht manuell hinzufügen." }, "addSuccess": "Anbieter erfolgreich hinzugefügt.", "deleteSuccess": "Anbieter erfolgreich gelöscht.", "updateSuccess": "Anbieter erfolgreich aktualisiert.", "delete": "Löschen", "edit": "Bearbeiten", "newModel": "Modelle zum Anbieter hinzufügen", "noNewModel": "Für LMStudio, Ollama, Llamafile, holen wir die Daten dynamisch. Keine manuelle Hinzufügung erforderlich.", "searchModel": "Modell suchen", "selectAll": "Alle auswählen", "save": "Speichern", "saving": "Speichern...", "manageModels": { "columns": { "name": "Modellname", "model_type": "Modelltyp", "model_id": "Modell-ID", "provider": "Anbietername", "actions": "Aktion", "nickname": "Modell-Spitzname" }, "tooltip": { "delete": "Löschen" }, "confirm": { "delete": "Sind Sie sicher, dass Sie dieses Modell löschen möchten?" }, "modal": { "title": "Benutzerdefiniertes Modell hinzufügen", "form": { "name": { "label": "Modell-ID", "placeholder": "llama3.2", "required": "Modell-ID ist erforderlich." }, "provider": { "label": "Anbieter", "placeholder": "Anbieter auswählen", "required": "Anbieter ist erforderlich." }, "type": { "label": "Modelltyp" } } } }, "noModelFound": "Kein Modell gefunden. Stellen Sie sicher, dass Sie den korrekten Anbieter mit Basis-URL und API-Schlüssel hinzugefügt haben.", "radio": { "chat": "Chat-Modell", "embedding": "Embedding-Modell", "chatInfo": "wird für Chat-Vervollständigung und Gesprächsgenerierung verwendet", "embeddingInfo": "wird für RAG und andere semantische suchbezogene Aufgaben verwendet." }, "nicknameModal": { "title": "Modell-Spitznamen hinzufügen / bearbeiten", "form": { "modelName": { "label": "Modellname", "placeholder": "Modellname eingeben", "required": "Modellname ist erforderlich." }, "modelAvatar": { "label": "Modell-Avatar", "placeholder": "Modell-Avatar eingeben", "help": "Bitte geben Sie die URL des Modell-Avatars ein. Dieses Bild wird im Chat-Fenster angezeigt." } } } } ================================================ FILE: src/assets/locale/de/option.json ================================================ { "newChat": "Neuer Chat", "selectAPrompt": "Wähle eine Eingabeaufforderung", "githubRepository": "GitHub-Repository", "settings": "Einstellungen", "sidebarTitle": "Chat-Verlauf", "error": "Fehler", "somethingWentWrong": "Etwas ist schiefgelaufen", "validationSelectModel": "Bitte wähle ein Modell aus, um fortzufahren", "deleteHistoryConfirmation": "Bist du sicher, dass du diesen Verlauf löschen möchtest?", "editHistoryTitle": "Gib einen neuen Titel ein", "temporaryChat": "Temporärer Chat", "more": { "copy": { "group": "Kopieren", "asText": "Als Text kopieren", "asMarkdown": "Als Markdown kopieren", "success": "In die Zwischenablage kopiert!" }, "download": { "group": "Herunterladen", "text": "Textdatei (.txt)", "markdown": "Markdown (.md)", "json": "JSON-Datei (.json)" }, "share": "Teilen" } } ================================================ FILE: src/assets/locale/de/playground.json ================================================ { "ollamaState": { "searching": "Suche nach Ihrem Ollama 🦙", "running": "Ollama läuft 🦙", "notRunning": "Verbindung zu Ollama nicht möglich 🦙", "connectionError": "Es scheint, dass Sie ein Verbindungsproblem haben. Bitte beachten Sie diese Dokumentation zur Fehlerbehebung." }, "formError": { "noModel": "Bitte wählen Sie ein Modell aus", "noEmbeddingModel": "Bitte legen Sie ein Embedding-Modell auf der Seite Einstellungen > RAG fest" }, "form": { "textarea": { "placeholder": "Nachricht eingeben..." }, "webSearch": { "on": "An", "off": "Aus" } }, "tooltip": { "searchInternet": "Internet durchsuchen", "speechToText": "Sprache zu Text", "uploadImage": "Bild hochladen", "stopStreaming": "Streaming stoppen", "knowledge": "Wissen", "clearContext": "Kontext löschen" }, "sendWhenEnter": "Senden bei Drücken der Eingabetaste", "welcome": "Hallo! Wie kann ich Ihnen heute helfen?", "useOCR": "Text aus Bild extrahieren (OCR)" } ================================================ FILE: src/assets/locale/de/settings.json ================================================ { "generalSettings": { "title": "Allgemeine Einstellungen", "settings": { "heading": "Web-UI-Einstellungen", "speechRecognitionLang": { "label": "Spracherkennungssprache", "placeholder": "Sprache auswählen" }, "language": { "label": "Sprache", "placeholder": "Sprache auswählen" }, "darkMode": { "label": "Design ändern", "options": { "light": "Hell", "dark": "Dunkel" } }, "defaultCopilotPrompt": { "label": "Standardabfrage für Seitenpanel (Copilot)", "placeholder": "Wählen Sie eine Aufforderung" }, "defaultWebUIPrompt": { "label": "Standardabfrage für Web-UI", "placeholder": "Wählen Sie eine Aufforderung" }, "copilotResumeLastChat": { "label": "Letzten Chat beim Öffnen des Seitenpanels fortsetzen (Copilot)" }, "turnOnChatWithWebsite": { "label": "Chat mit Website standardmäßig aktivieren (Copilot)" }, "webUIResumeLastChat": { "label": "Letzten Chat beim Öffnen der Web-UI fortsetzen" }, "hideCurrentChatModelSettings": { "label": "Aktuelle Chat-Modell-Einstellungen ausblenden" }, "restoreLastChatModel": { "label": "Zuletzt verwendetes Modell für vorherige Chats wiederherstellen" }, "sendNotificationAfterIndexing": { "label": "Benachrichtigung nach Abschluss der Wissensbasis-Verarbeitung senden" }, "generateTitle": { "label": "Titel mit KI generieren" }, "ollamaStatus": { "label": "Ollama-Verbindungsstatus-Überprüfung aktivieren oder deaktivieren" }, "wideMode": { "label": "Breitbildmodus aktivieren" }, "openReasoning": { "label": "Offene Argumentation standardmäßig eingeklappt" }, "userChatBubble": { "label": "Chat-Blase für Benutzernachrichten verwenden" } }, "sidepanelRag": { "heading": "Abruf-Einstellungen", "ragEnabled": { "label": "Einbettung und Abruf aktivieren" }, "maxWebsiteContext": { "label": "Maximale Inhaltsgröße für Vollkontext-Modus", "placeholder": "Inhaltsgröße (Standard 4028)" } }, "webSearch": { "heading": "Websuche verwalten", "searchMode": { "label": "Einfache Internetsuche durchführen" }, "provider": { "label": "Suchmaschine", "placeholder": "Suchmaschine auswählen" }, "totalSearchResults": { "label": "Gesamtanzahl der Suchergebnisse", "placeholder": "Gesamtanzahl der Suchergebnisse eingeben" }, "visitSpecificWebsite": { "label": "Die in der Nachricht erwähnte Website besuchen" }, "searxng": { "url": { "label": "SearXNG-URL" } }, "braveApi": { "label": "Brave API-Schlüssel", "placeholder": "Geben Sie Ihren Brave API-Schlüssel ein" }, "searchOnByDefault": { "label": "Internetsuche standardmäßig aktiviert" } }, "system": { "heading": "Systemeinstellungen", "storageSyncEnabled": { "label": "Browser-Speichersynchronisierung aktivieren (Einstellungen geräteübergreifend synchronisieren)" }, "deleteChatHistory": { "label": "System zurücksetzen", "button": "Alles zurücksetzen", "confirm": "Sind Sie sicher, dass Sie einen Systemreset durchführen möchten? Dies löscht alle Daten und kann nicht rückgängig gemacht werden." }, "export": { "label": "Alle Daten exportieren (Chatverlauf, Wissensdatenbank, Prompts und Einstellungen)", "button": "Daten exportieren", "success": "Export erfolgreich" }, "import": { "label": "Alle Daten importieren (Chatverlauf, Wissensdatenbank, Prompts und Einstellungen)", "button": "Daten importieren", "success": "Import erfolgreich", "error": "Importfehler" } }, "tts": { "heading": "Text-zu-Sprache-Einstellungen", "ttsEnabled": { "label": "Text-zu-Sprache aktivieren" }, "ttsAutoPlay": { "label": "Sprachantwort nach Fertigstellung automatisch abspielen" }, "ttsProvider": { "label": "Text-zu-Sprache-Anbieter", "placeholder": "Anbieter auswählen" }, "ttsVoice": { "label": "Text-zu-Sprache-Stimme", "placeholder": "Stimme auswählen" }, "ssmlEnabled": { "label": "SSML (Speech Synthesis Markup Language) aktivieren" }, "removeReasoningTagTTS": { "label": "Reasoning-Tag aus Text-zu-Sprache entfernen" } }, "stt": { "heading": "Sprache-zu-Text-Einstellungen", "autoStopTimeout": { "label": "Automatische Stopp-Zeitüberschreitung (ms)", "placeholder": "Geben Sie die automatische Stopp-Zeitüberschreitung in Millisekunden ein" }, "autoSubmitVoiceMessage": { "label": "Sprachnachricht automatisch senden" } } }, "manageModels": { "title": "Modelle verwalten", "addBtn": "Neues Modell hinzufügen", "columns": { "name": "Name", "digest": "Digest", "modifiedAt": "Zuletzt geändert", "size": "Größe", "actions": "Aktionen" }, "expandedColumns": { "parentModel": "Übergeordnetes Modell", "format": "Format", "family": "Familie", "parameterSize": "Parametergröße", "quantizationLevel": "Quantisierungsstufe" }, "tooltip": { "delete": "Modell löschen", "repull": "Modell erneut herunterladen" }, "confirm": { "delete": "Sind Sie sicher, dass Sie dieses Modell löschen möchten?", "repull": "Sind Sie sicher, dass Sie dieses Modell erneut herunterladen möchten?" }, "modal": { "title": "Neues Modell hinzufügen", "placeholder": "Modellnamen eingeben", "pull": "Modell herunterladen" }, "notification": { "pullModel": "Modell wird heruntergeladen", "pullModelDescription": "Das Modell {{modelName}} wird heruntergeladen. Weitere Details finden Sie im Erweiterungssymbol.", "success": "Erfolgreich", "error": "Fehler", "successDescription": "Das Modell wurde erfolgreich heruntergeladen", "successDeleteDescription": "Das Modell wurde erfolgreich gelöscht", "someError": "Etwas ist schiefgelaufen. Bitte versuchen Sie es später erneut" } }, "managePrompts": { "title": "Prompts verwalten", "addBtn": "Neuen Prompt hinzufügen", "option1": "Normal", "option2": "RAG", "questionPrompt": "Frage-Prompt", "segmented": { "custom": "Benutzerdefinierte Prompts", "copilot": "Copilot-Prompts" }, "columns": { "title": "Titel", "prompt": "Prompt", "type": "Prompt-Typ", "actions": "Aktionen" }, "systemPrompt": "System-Prompt", "quickPrompt": "Schnell-Prompt", "tooltip": { "delete": "Prompt löschen", "edit": "Prompt bearbeiten" }, "confirm": { "delete": "Sind Sie sicher, dass Sie diesen Prompt löschen möchten? Diese Aktion kann nicht rückgängig gemacht werden." }, "modal": { "addTitle": "Neuen Prompt hinzufügen", "editTitle": "Prompt bearbeiten" }, "form": { "title": { "label": "Titel", "placeholder": "Mein toller Prompt", "required": "Bitte geben Sie einen Titel ein" }, "prompt": { "label": "Prompt", "placeholder": "Prompt eingeben", "required": "Bitte geben Sie einen Prompt ein", "help": "Sie können {key} als Variable in Ihrem Prompt verwenden.", "missingTextPlaceholder": "Die Variable {text} fehlt im Prompt. Bitte fügen Sie sie hinzu." }, "isSystem": { "label": "Ist System-Prompt" }, "btnSave": { "saving": "Prompt wird hinzugefügt...", "save": "Prompt hinzufügen" }, "btnEdit": { "saving": "Prompt wird aktualisiert...", "save": "Prompt aktualisieren" } }, "notification": { "addSuccess": "Prompt hinzugefügt", "addSuccessDesc": "Prompt wurde erfolgreich hinzugefügt", "error": "Fehler", "someError": "Etwas ist schiefgelaufen. Bitte versuchen Sie es später erneut", "updatedSuccess": "Prompt aktualisiert", "updatedSuccessDesc": "Prompt wurde erfolgreich aktualisiert", "deletedSuccess": "Prompt gelöscht", "deletedSuccessDesc": "Prompt wurde erfolgreich gelöscht" } }, "manageShare": { "title": "Freigabe verwalten", "heading": "Seiten-Freigabe-URL konfigurieren", "form": { "url": { "label": "Seiten-Freigabe-URL", "placeholder": "Seiten-Freigabe-URL eingeben", "required": "Bitte geben Sie Ihre Seiten-Freigabe-URL ein!", "help": "Aus Datenschutzgründen können Sie die Seitenfreigabe selbst hosten und die URL hier angeben. Mehr erfahren." } }, "webshare": { "heading": "Web-Freigabe", "columns": { "title": "Titel", "url": "URL", "actions": "Aktionen" }, "tooltip": { "delete": "Freigabe löschen" }, "confirm": { "delete": "Sind Sie sicher, dass Sie diese Freigabe löschen möchten? Diese Aktion kann nicht rückgängig gemacht werden." }, "label": "Seitenfreigabe verwalten", "description": "Seitenfreigabe-Funktion aktivieren oder deaktivieren" }, "notification": { "pageShareSuccess": "Seiten-Freigabe-URL erfolgreich aktualisiert", "someError": "Etwas ist schiefgelaufen. Bitte versuchen Sie es später erneut", "webShareDeleteSuccess": "Web-Freigabe erfolgreich gelöscht" } }, "ollamaSettings": { "title": "Ollama-Einstellungen", "heading": "Ollama konfigurieren", "settings": { "ollamaUrl": { "label": "Ollama-URL", "placeholder": "Ollama-URL eingeben" }, "globalEnable": { "label": "Ollama-Integration global aktivieren oder deaktivieren", "warning": "Wenn Sie die Ollama-Integration global deaktivieren, wird Page Assist keine Modelle von Ollama abrufen. Sie können Ollama-Instanzen weiterhin über den Bereich OpenAI-kompatible API hinzufügen, was einwandfrei funktioniert." }, "advanced": { "label": "Erweiterte Ollama-URL-Konfiguration", "urlRewriteEnabled": { "label": "Benutzerdefinierte Ursprungs-URL aktivieren oder deaktivieren" }, "rewriteUrl": { "label": "Benutzerdefinierte Ursprungs-URL", "placeholder": "Benutzerdefinierte Ursprungs-URL eingeben" }, "autoCORSFix": { "label": "Automatische Ollama-CORS-Korrektur aktivieren oder deaktivieren" }, "headers": { "label": "Benutzerdefinierte Header", "add": "Header hinzufügen", "key": { "label": "Header-Schlüssel", "placeholder": "Autorisierung" }, "value": { "label": "Header-Wert", "placeholder": "Bearer-Token" } }, "help": "Wenn Sie Verbindungsprobleme mit Ollama auf Page Assist haben, können Sie eine benutzerdefinierte Ursprungs-URL konfigurieren. Um mehr über die Konfiguration zu erfahren, klicken Sie hier." } } }, "manageSearch": { "title": "Web-Suche verwalten", "heading": "Web-Suche konfigurieren" }, "about": { "title": "Über", "heading": "Über", "chromeVersion": "Page Assist Version", "ollamaVersion": "Ollama Version", "support": "Sie können das Page Assist-Projekt durch Spenden oder Sponsoring über die folgenden Plattformen unterstützen:", "koFi": "Unterstützen Sie uns auf Ko-fi", "githubSponsor": "Sponsern Sie uns auf GitHub", "githubRepo": "GitHub-Repository" }, "manageKnowledge": { "title": "Wissen verwalten", "heading": "Wissensbasis konfigurieren" }, "rag": { "title": "Pipeline-Einstellungen", "ragSettings": { "label": "RAG-Einstellungen", "model": { "label": "Embedding-Modell", "required": "Bitte wählen Sie ein Modell aus", "help": "Es wird dringend empfohlen, Embedding-Modelle wie `nomic-embed-text` zu verwenden.", "placeholder": "Wählen Sie ein Modell aus" }, "chunkSize": { "label": "Chunk-Größe", "placeholder": "Chunk-Größe eingeben", "required": "Bitte geben Sie eine Chunk-Größe ein" }, "chunkOverlap": { "label": "Chunk-Überlappung", "placeholder": "Chunk-Überlappung eingeben", "required": "Bitte geben Sie eine Chunk-Überlappung ein" }, "totalFilePerKB": { "label": "Standard-Datei-Upload-Limit für die Wissensbasis", "placeholder": "Geben Sie das Standard-Datei-Upload-Limit ein (z.B. 10)", "required": "Bitte geben Sie das Standard-Datei-Upload-Limit ein" }, "noOfRetrievedDocs": { "label": "Anzahl der abgerufenen Dokumente", "placeholder": "Anzahl der abgerufenen Dokumente eingeben", "required": "Bitte geben Sie die Anzahl der abgerufenen Dokumente ein" }, "splittingSeparator": { "label": "Separator", "placeholder": "Separator eingeben (z.B. \\n\\n)", "required": "Bitte geben Sie einen Separator ein" }, "splittingStrategy": { "label": "Text-Splitter" } }, "prompt": { "label": "RAG-Prompt konfigurieren", "option1": "Normal", "option2": "Web", "alert": "Die Konfiguration des System-Prompts hier ist veraltet. Bitte verwenden Sie den Abschnitt 'Prompts verwalten', um Prompts hinzuzufügen oder zu bearbeiten. Dieser Abschnitt wird in einer zukünftigen Version entfernt", "systemPrompt": "System-Prompt", "systemPromptPlaceholder": "System-Prompt eingeben", "webSearchPrompt": "Web-Suche-Prompt", "webSearchPromptHelp": "Entfernen Sie `{search_results}` nicht aus dem Prompt.", "webSearchPromptError": "Bitte geben Sie einen Web-Suche-Prompt ein", "webSearchPromptPlaceholder": "Web-Suche-Prompt eingeben", "webSearchFollowUpPrompt": "Web-Suche-Folgeprompt", "webSearchFollowUpPromptHelp": "Entfernen Sie `{chat_history}` und `{question}` nicht aus dem Prompt.", "webSearchFollowUpPromptError": "Bitte geben Sie Ihren Web-Suche-Folgeprompt ein!", "webSearchFollowUpPromptPlaceholder": "Ihr Web-Suche-Folgeprompt" } }, "chromeAiSettings": { "title": "Chrome AI-Einstellungen" } } ================================================ FILE: src/assets/locale/de/sidepanel.json ================================================ { "tooltip": { "embed": "Es kann einige Minuten dauern, die Seite einzubetten. Bitte warten Sie...", "clear": "Chatverlauf löschen", "history": "Chatverlauf", "openwebui": "WebUI öffnen" } } ================================================ FILE: src/assets/locale/en/chrome.json ================================================ { "heading": "Configure Chrome AI", "status": { "label": "Enable or Disable Chrome AI Support on Page Assist" }, "error": { "browser_not_supported": "This version of Chrome is not supported by the Gemini Nano model. Please update to version 138 or later.", "ai_not_supported": "The setting chrome://flags/#prompt-api-for-gemini-nano is not enabled. Please enable it.", "ai_not_ready": "Gemini Nano is not ready yet; you need to double-check Chrome settings.", "internal_error": "An internal error occurred. Please try again later." }, "errorDescription": "To use Chrome AI, you need Chrome version 138 or later. Follow these steps:\n\n1. Go to `chrome://flags/#prompt-api-for-gemini-nano` and enable \"Prompt API for Gemini Nano\".\n2. Restart Chrome to apply the flag.\n3. Return to this page and click \"Download Model\" — this will download a 4GB model for the first time.\n4. Once downloaded, Gemini Nano can be enabled through Page Assist.", "downloadModel": "Download Model", "modelDownloadWarning": "This will download a model with an approximate download size ranging from 1.5 GB to 2.4 GB. Ensure you have sufficient disk space.", "downloadModal": { "title": "Download Gemini Nano Model", "warning": "Large Download Required", "warningDescription": "This will download approximately 4GB of data. Ensure you have sufficient disk space and a stable internet connection.", "confirm": "Download Now", "cancel": "Cancel", "downloading": "Downloading Model", "downloadingDescription": "Downloading Gemini Nano model. This may take several minutes depending on your internet connection.", "pleaseWait": "Please do not close this window while downloading..." }, "downloadSuccess": "Model downloaded successfully!", "downloadError": "Failed to download model. Please try again." } ================================================ FILE: src/assets/locale/en/common.json ================================================ { "pageAssist": "Page Assist", "selectAModel": "Select a Model", "save": "Save", "saved": "Saved", "cancel": "Cancel", "retry": "Retry", "loadMore": "Load More...", "share": { "tooltip": { "share": "Share" }, "modal": { "title": "Share link to Chat" }, "form": { "defaultValue": { "name": "Anonymous", "title": "Untitled chat" }, "title": { "label": "Chat title", "placeholder": "Enter Chat title", "required": "Chat title is required" }, "name": { "label": "Your name", "placeholder": "Enter your name", "required": "Your name is required" }, "btn": { "save": "Generate Link", "saving": "Generating Link..." } }, "notification": { "successGenerate": "Link copied to clipboard", "failGenerate": "Failed to generate link" } }, "copyToClipboard": "Copy to clipboard", "webSearch": "Searching the web", "regenerate": "Regenerate", "edit": "Edit", "delete": "Delete", "continue": "Continue Response", "saveAndSubmit": "Save & Submit", "editMessage": { "placeholder": "Type a message..." }, "submit": "Submit", "noData": "No data", "noHistory": "No chat history", "chatWithCurrentPage": "Chat with current page", "beta": "Beta", "tts": "Read aloud", "currentChatModelSettings": "Current Chat Model Settings", "modelSettings": { "label": "Model Settings", "description": "Set the model options globally for all chats", "form": { "keepAlive": { "label": "Keep Alive", "help": "controls how long the model will stay loaded into memory following the request (default: 5m)", "placeholder": "e.g. 5m, 10m, 1h" }, "temperature": { "label": "Temperature", "placeholder": "e.g. 0.7, 1.0" }, "numCtx": { "label": "Context Window Size (num_ctx)", "placeholder": "Enter Context Window Size value (default: 2048)" }, "numPredict": { "label": "Max Tokens (num_predict)", "placeholder": "e.g. 2048, 4096" }, "thinking": { "label": "Thinking Mode (Ollama)", "levels": { "off": "Off", "on": "On", "low": "Low reasoning effort", "medium": "Medium reasoning effort", "high": "High reasoning effort" } }, "seed": { "label": "Seed", "placeholder": "e.g. 1234", "help": "Reproducibility of the model output" }, "topK": { "label": "Top K", "placeholder": "e.g. 40, 100" }, "topP": { "label": "Top P", "placeholder": "e.g. 0.9, 0.95" }, "useMMap": { "label": "useMmap" }, "tfsZ": { "label": "TFS-Z", "placeholder": "e.g. 1.0, 1.1" }, "numKeep": { "label": "Num Keep", "placeholder": "e.g. 256, 512" }, "numThread": { "label": "Num Thread", "placeholder": "e.g. 8, 16" }, "useMlock": { "label": "useMlock" }, "reasoningEffort": { "label": "Reasoning Effort", "placeholder": "low, medium, high" }, "minP": { "label": "Min P", "placeholder": "e.g. 0.05" }, "repeatPenalty": { "label": "Repeat Penalty", "placeholder": "e.g. 1.1, 1.2" }, "repeatLastN": { "label": "Repeat Last N", "placeholder": "e.g. 64, 128" }, "numGpu": { "label": "Num GPU", "placeholder": "Enter number of layers to send to GPU(s)" }, "systemPrompt": { "label": "Temporary System Prompt", "placeholder": "Enter System Prompt", "help": "This is a quick way to set the system prompt in the current chat, which will override the selected system prompt if it exists." } }, "advanced": "More Model Settings" }, "copilot": { "summary": "Summarize", "explain": "Explain", "rephrase": "Rephrase", "translate": "Translate", "custom": "Custom" }, "citations": "Citations", "segmented": { "ollama": "Ollama Models", "custom": "Custom Models" }, "downloadCode": "Download Code", "date": { "pinned": "Pinned", "today": "Today", "yesterday": "Yesterday", "last7Days": "Last 7 Days", "older": "Older" }, "range": { "deleteConfirm": { "pinned": "Are you sure you want to delete all pinned messages?", "today": "Are you sure you want to delete all messages from today?", "yesterday": "Are you sure you want to delete all messages from yesterday?", "last7Days": "Are you sure you want to delete all messages from the last 7 days?", "older": "Are you sure you want to delete all older messages?" }, "tooltip": { "pinned": "Delete all pinned messages", "today": "Delete all messages from today", "yesterday": "Delete all messages from yesterday", "last7Days": "Delete all messages from the last 7 days", "older": "Delete all older messages" } }, "historiesDeleted": "{{count}} Histories Deleted", "deleteHistoriesError": "Error deleting histories", "pin": "Pin", "unpin": "Unpin", "generationInfo": "Generation Info", "sidebarChat": "Sidebar Chat", "reasoning": { "thinking": "Thinking....", "thought": "Thought for {{time}}", "title": "Reasoning Process", "expand": "Show reasoning", "collapse": "Hide reasoning" }, "mermaid": "Mermaid", "search": "Search", "searchResults": "Search Results", "embeddingGen": "Creating embeddings, this may take a while", "semanticSearch": "Performing semantic search", "newBranch": "New Branch", "downloading": "Downloading" , "mcp": { "tool": "tool", "server": "server", "toolRequestTitle": "Tools requested", "toolResultTitle": "Tool result", "arguments": "Arguments", "output": "Output", "noOutput": "No output returned.", "status": { "success": "Success", "error": "Error" }, "action": { "connecting": "Connecting to MCP servers", "loading_tools": "Loading MCP tools", "calling_tool": "Calling {{tool}} on {{server}}", "waiting_result": "Waiting for {{tool}} on {{server}}" } }, "cancelPullingModel": { "confirm": "Are you sure you want to cancel the download? This will stop the download process. According to the Ollama documentation, you can restart from where you left off." }, "saveChat": "Save Chat" } ================================================ FILE: src/assets/locale/en/knowledge.json ================================================ { "addBtn": "Add New Knowledge", "columns": { "title": "Title", "status": "Status", "embeddings": "Embedding Model", "createdAt": "Created At", "action": "Actions" }, "expandedColumns": { "name": "Name" }, "confirm": { "delete": "Are you sure you want to delete this knowledge?", "deleteSource": "Are you sure you want to delete this source?" }, "deleteSuccess": "Knowledge deleted successfully", "status": { "pending": "Pending", "finished": "Finished", "processing": "Processing", "failed": "Failed" }, "addKnowledge": "Add Knowledge", "updateKnowledge": "Add Source", "form": { "tabs": { "upload": "Upload File", "text": "Text Input" }, "title": { "label": "Knowledge Title (optional)", "placeholder": "Enter knowledge title", "placeholderOptional": "Optional title (defaults to first 50 characters)", "required": "Knowledge title is required" }, "uploadFile": { "label": "Upload File", "uploadText": "Drag and drop a file here or click to upload", "uploadHint": "Supported file types: .pdf, .csv, .txt, .md, .docx", "required": "File is required", "uploadError": "Unsupported file type" }, "textInput": { "typeLabel": "Type", "type": { "plain": "Plain Text", "markdown": "Markdown", "code": "Code" }, "contentLabel": "Content", "placeholder": "Paste or type your text here...", "required": "Text content is required", "tooLarge": "Content is too large. Please keep it under 500k characters.", "defaultTitle": "Untitled Text" }, "submit": "Submit", "success": "Knowledge added successfully" }, "noEmbeddingModel": "Please add an embedding model from the RAG settings page first", "newSource": "New Source", "editSettings": { "title": "Edit Knowledge Settings", "success": "Knowledge settings updated successfully", "variableInfo": { "title": "Available Variables", "description": "You can use the following variables in your prompts:", "context": "The retrieved context from your knowledge base", "query": "The user's question or query" }, "form": { "title": { "label": "Knowledge Title", "placeholder": "Enter knowledge title", "required": "Knowledge title is required" }, "systemPrompt": { "label": "System Prompt", "help": "Customize how the AI responds using your knowledge base. Use {context} for retrieved information and {question} for the user's question. Note: {question} is required in the prompt, otherwise character won't get question context.", "placeholder": "Enter your custom system prompt...", "prefillButton": "Use Default Prompt" }, "followupPrompt": { "label": "Follow-up Question Prompt", "help": "Customize how follow-up questions are processed. This prompt rephrases follow-up questions into standalone questions.", "placeholder": "Enter your custom follow-up prompt...", "prefillButton": "Use Default Prompt" } }, "tooltip": "Edit knowledge settings" } } ================================================ FILE: src/assets/locale/en/openai.json ================================================ { "settings": "OpenAI Compatible API", "heading": "OpenAI compatible API", "subheading": "Manage and configure your OpenAI API Compatible providers here.", "addBtn": "Add Provider", "table": { "name": "Provider Name", "baseUrl": "Base URL", "actions": "Action" }, "modal": { "titleAdd": "Add New Provider", "titleEdit": "Edit Provider", "name": { "label": "Provider Name", "required": "Provider name is required.", "placeholder": "Enter provider name" }, "baseUrl": { "label": "Base URL", "help": "The base URL of the OpenAI API provider. eg (http://localhost:1234/v1)", "required": "Base URL is required.", "placeholder": "Enter base URL" }, "apiKey": { "label": "API Key", "required": "API Key is required.", "placeholder": "Enter API Key" }, "submit": "Save", "update": "Update", "deleteConfirm": "Are you sure you want to delete this provider?", "model": { "title": "Model List", "subheading": "Please select the chat models you want to use with this provider.", "success": "Successfully added new models." }, "tipLMStudio": "Page Assist will automatically fetch the models you loaded on LM Studio. You don't need to add them manually." }, "addSuccess": "Provider added successfully.", "deleteSuccess": "Provider deleted successfully.", "updateSuccess": "Provider updated successfully.", "delete": "Delete", "edit": "Edit", "newModel": "Add Models to Provider", "noNewModel": "For LMStudio, Ollama, Llamafile, we fetch dynamically. No manual addition needed.", "searchModel": "Search Model", "selectAll": "Select All", "save": "Save", "saving": "Saving...", "manageModels": { "columns": { "name": "Model Name", "model_type": "Model Type", "model_id": "Model ID", "provider": "Provider Name", "actions": "Action", "nickname": "Model Nickname" }, "tooltip": { "delete": "Delete" }, "confirm": { "delete": "Are you sure you want to delete this model?" }, "modal": { "title": "Add Custom Model", "titleEdit": "Edit Custom Model", "form": { "name": { "label": "Model ID", "placeholder": "deepseek-v3.1", "required": "Model ID is required." }, "provider": { "label": "Provider", "placeholder": "Select provider", "required": "Provider is required." }, "type": { "label": "Model Type" } } } }, "noModelFound": "No model found. Make sure you have added correct provider with base URL and API key.", "radio": { "chat": "Chat Model", "embedding": "Embedding Model", "chatInfo": "is used for chat completion and conversation generation", "embeddingInfo": "is used for RAG and other semantic search related tasks." }, "nicknameModal": { "title": "Add / Edit Model Nickname", "form": { "modelName": { "label": "Model Name", "placeholder": "Enter model name", "required": "Model name is required." }, "modelAvatar": { "label": "Model Avatar", "placeholder": "Enter model avatar", "help": "Please enter the URL of the model avatar. This image will be displayed in the chat window." } } } } ================================================ FILE: src/assets/locale/en/option.json ================================================ { "newChat": "New Chat", "selectAPrompt": "Select a Prompt", "githubRepository": "GitHub Repository", "settings": "Settings", "sidebarTitle": "Chat History", "error": "Error", "somethingWentWrong": "Something went wrong", "validationSelectModel": "Please select a model to continue", "deleteHistoryConfirmation": "Are you sure you want to delete this history?", "editHistoryTitle": "Enter a new title", "temporaryChat": "Temporary Chat", "more": { "copy": { "group": "Copy", "asText": "Copy as Text", "asMarkdown": "Copy as Markdown", "success": "Copied to clipboard!" }, "download": { "group": "Download", "text": "Text File (.txt)", "markdown": "Markdown (.md)", "json": "JSON File (.json)", "image": "Image (.png)" }, "share": "Share" }, "chatSaved": "Chat Saved", "temporaryChatSavedSuccessfully": "Your temporary chat has been saved successfully", "failedToSaveTemporaryChat": "Failed to save temporary chat. Please try again." } ================================================ FILE: src/assets/locale/en/playground.json ================================================ { "ollamaState": { "searching": "Searching for Your Ollama 🦙", "running": "Ollama is running 🦙", "notRunning": "Unable to connect to Ollama 🦙", "connectionError": "It seems like you are having a connection error. Please refer to this documentation for troubleshooting." }, "formError": { "noModel": "Please select a model", "noEmbeddingModel": "Please set an embedding model on the Settings > RAG page" }, "form": { "textarea": { "placeholder": "Type a message..." }, "webSearch": { "on": "On", "off": "Off" }, "thinking": { "on": "On", "off": "Off", "level": "Level", "levels": { "low": "Low", "medium": "Medium", "high": "High" } } }, "tooltip": { "searchInternet": "Search Internet", "thinking": "Enable reasoning mode to see the model's thinking process", "speechToText": "Speech to Text", "uploadImage": "Upload Image", "stopStreaming": "Stop Streaming", "knowledge": "Knowledge", "vision": "[Experimental] Vision Chat", "clearContext": "Clear Context", "uploadDocuments": "Upload Documents (beta)", "mcpServers": "MCP Servers", "mcpEmpty": "No MCP servers configured", "mcpEmptyDesc": "Connect MCP servers to use tools in chat.", "mcpAddServer": "Add MCP Server" }, "sendWhenEnter": "Send when Enter pressed", "welcome": "Hello! How can I help you today?", "useOCR": "Extract text from image (OCR)", "fileRetrievalEnabled": "Enable RAG for Documents" } ================================================ FILE: src/assets/locale/en/settings.json ================================================ { "generalSettings": { "title": "General Settings", "settings": { "heading": "Web UI Settings", "speechRecognitionLang": { "label": "Speech Recognition Language", "placeholder": "Select a language" }, "language": { "label": "Language", "placeholder": "Select a language" }, "darkMode": { "label": "Change Theme", "options": { "light": "Light", "dark": "Dark" } }, "defaultCopilotPrompt": { "label": "Default Prompt for SidePanel (Copilot)", "placeholder": "Select a prompt" }, "defaultWebUIPrompt": { "label": "Default Prompt for Web UI", "placeholder": "Select a prompt" }, "copilotResumeLastChat": { "label": "Resume the last chat when opening the SidePanel (Copilot)" }, "turnOnChatWithWebsite": { "label": "Enable Chat with Website by default (Copilot)" }, "webUIResumeLastChat": { "label": "Resume the last chat when opening the Web UI" }, "hideCurrentChatModelSettings": { "label": "Hide the current Chat Model Settings" }, "restoreLastChatModel": { "label": "Restore last used model for previous chats" }, "sendNotificationAfterIndexing": { "label": "Send Notification After Finishing Processing the Knowledge Base" }, "generateTitle": { "label": "Generate Title using AI" }, "ollamaStatus": { "label": "Enable or disable Ollama connection status check" }, "wideMode": { "label": "Enable wide screen mode" }, "openReasoning": { "label": "Open Reasoning Collapse by default" }, "defaultThinkingMode": { "label": "Show Thinking Mode State in Forms" }, "userChatBubble": { "label": "Use Chat Bubble for User Messages" }, "autoCopyResponseToClipboard": { "label": "Automatically Copy Response to Clipboard" }, "useMarkdownForUserMessage": { "label": "Enable Markdown formatting for User messages" }, "copyAsFormattedText": { "label": "Copy as Formatted Text" }, "tabMentionsEnabled": { "label": "Enable Tab Mentions (@tab)" }, "pasteLargeTextAsFile": { "label": "Paste Large Text as File" }, "ocrLanguage": { "label": "Default OCR Language", "placeholder": "Select an OCR language" }, "sidepanelTemporaryChat": { "label": "Enable Temporary Chat in SidePanel by default" }, "webuiTemporaryChat": { "label": "Enable Temporary Chat in Web UI by default" }, "removeReasoningTagFromCopy": { "label": "Remove Reasoning Tag from Copied Text" }, "youtubeAutoSummarize": { "label": "Show the 'Summarize' button on YouTube videos." }, "hideReasoningWidget": { "label": "Hide Reasoning Widget from AI Messages" }, "persistChatInput": { "label": "Persist Chat Input (Save unsent messages)" }, "enableMessageQueue": { "label": "Enable Message Queue While Streaming" }, "optimizeQueueForSmallScreen": { "label": "Optimize Chat UI for Small Screens" }, "tableTextWrap": { "label": "Enable Text Wrapping in Markdown Tables" }, "showMoreForLargeMessage": { "label": "Show 'Show more' for large human messages" }, "sidebarPosition": { "label": "Sidebar Position", "options": { "left": "Left", "right": "Right" } }, "showMcpServersInChat": { "label": "Show MCP Servers Toggle in Chat" } }, "sidepanelRag": { "heading": "Retrieval Settings", "ragEnabled": { "label": "Enable Embedding and Retrieval" }, "maxWebsiteContext": { "label": "Maximum Content Size for Full Context Mode", "placeholder": "Content size (default 4028)" } }, "webSearch": { "heading": "Manage Web Search", "searchMode": { "label": "Perform Simple Internet Search" }, "provider": { "label": "Search Engine", "placeholder": "Select a search engine" }, "totalSearchResults": { "label": "Total Search Results", "placeholder": "Enter Total Search Results" }, "visitSpecificWebsite": { "label": "Visit the website mentioned in the message" }, "searxng": { "url": { "label": "SearXNG URL" } }, "braveApi": { "label": "Brave API Key", "placeholder": "Enter your Brave API key" }, "tavilyApi": { "label": "Tavily API Key ", "placeholder": "Enter your Tavily API key" }, "exa": { "label": "Exa API Key", "placeholder": "Enter your Exa API key" }, "googleDomain": { "label": "Google Domain" }, "searchOnByDefault": { "label": "Internet Search ON by default" }, "firecrawlAPIKey": { "label": "Firecrawl API Key", "placeholder": "Enter your Firecrawl API key" }, "domainFilter": { "label": "Domain Filter List", "description": "Only show results from these domains", "placeholder": "e.g., example.com" }, "blockedDomains": { "label": "Blocked Domains", "description": "Exclude results from these domains", "placeholder": "e.g., spam.com" } }, "system": { "heading": "System Settings", "deleteChatHistory": { "label": "System Reset", "button": "Reset All", "confirm": "Are you sure you want to perform a system reset? This will clear all data and cannot be undone." }, "export": { "label": "Export All Data (Chat History, Knowledge Base, Prompts, and Settings)", "button": "Export Data", "success": "Export Success" }, "import": { "label": "Import All Data (Chat History, Knowledge Base, Prompts, and Settings)", "button": "Import Data", "success": "Import Success", "error": "Import Error" }, "actionIcon": { "label": "Set Default Action for Extension Icon Clicks" }, "contextMenu": { "label": "Set Default action for Context Menu" }, "fontSize": { "label": "Font Size" }, "webuiBtnSidePanel": { "label": "Show Web UI Button in Side Panel" }, "chatBackgroundImage": { "label": "Chat Background Image" }, "storageSyncEnabled": { "label": "Enable Browser Storage Sync (Sync settings across devices)" } }, "tts": { "heading": "Text-to-Speech Settings", "ttsEnabled": { "label": "Enable Text-to-Speech" }, "ttsAutoPlay": { "label": "Auto play voice response after completion" }, "ttsProvider": { "label": "Text-to-Speech Provider", "placeholder": "Select a provider" }, "ttsVoice": { "label": "Text-to-Speech Voice", "placeholder": "Select a voice" }, "ssmlEnabled": { "label": "Enable SSML (Speech Synthesis Markup Language)" }, "responseSplitting": { "label": "Response Splitting" }, "removeReasoningTagTTS": { "label": "Remove Reasoning Tag from TTS" } }, "stt": { "heading": "Speech-to-Text Settings", "autoStopTimeout": { "label": "Auto Stop Timeout (ms)", "placeholder": "Enter auto-stop timeout in milliseconds" }, "autoSubmitVoiceMessage": { "label": "Auto Submit Voice Message" } } }, "manageModels": { "title": "Manage Models", "addBtn": "Add New Model", "columns": { "name": "Name", "digest": "Digest", "nickname": "Nickname", "modifiedAt": "Modified At", "size": "Size", "actions": "Actions" }, "expandedColumns": { "parentModel": "Parent Model", "format": "Format", "family": "Family", "parameterSize": "Parameter Size", "quantizationLevel": "Quantization Level" }, "tooltip": { "delete": "Delete Model", "repull": "Re-Pull Model", "editNickname": "Edit Nickname" }, "confirm": { "delete": "Are you sure you want to delete this model?", "repull": "Are you sure you want to re-pull this model?" }, "modal": { "title": "Add New Model", "placeholder": "Enter Model Name", "pull": "Pull Model" }, "notification": { "pullModel": "Pulling Model", "pullModelDescription": "Pulling {{modelName}} model. For more details, check the extension icon.", "cancellingDownload": "Cancelling Download", "cancellingDownloadDescription": "Model download is being cancelled...", "success": "Success", "error": "Error", "successDescription": "Successfully pulled the model", "successDeleteDescription": "Successfully deleted the model", "someError": "Something went wrong. Please try again later" } }, "managePrompts": { "title": "Manage Prompts", "addBtn": "Add New Prompt", "option1": "Normal", "option2": "RAG", "questionPrompt": "Question Prompt", "segmented": { "custom": "Custom Prompts", "copilot": "Copilot Prompts" }, "columns": { "title": "Title", "prompt": "Prompt", "type": "Prompt Type", "actions": "Actions" }, "systemPrompt": "System Prompt", "quickPrompt": "Quick Prompt", "tooltip": { "delete": "Delete Prompt", "edit": "Edit Prompt" }, "confirm": { "delete": "Are you sure you want to delete this prompt? This action cannot be undone." }, "modal": { "addTitle": "Add New Prompt", "editTitle": "Edit Prompt" }, "form": { "title": { "label": "Title", "placeholder": "My Awesome Prompt", "required": "Please enter a title" }, "prompt": { "label": "Prompt", "placeholder": "Enter Prompt", "required": "Please enter a prompt", "help": "You can use {key} as variable in your prompt.", "missingTextPlaceholder": "The {text} variable is missing in the prompt. Please add it." }, "isSystem": { "label": "Is System Prompt" }, "btnSave": { "saving": "Adding Prompt...", "save": "Add Prompt" }, "btnEdit": { "saving": "Updating Prompt...", "save": "Update Prompt" } }, "notification": { "addSuccess": "Prompt Added", "addSuccessDesc": "Prompt has been added successfully", "error": "Error", "someError": "Something went wrong. Please try again later", "updatedSuccess": "Prompt Updated", "updatedSuccessDesc": "Prompt has been updated successfully", "deletedSuccess": "Prompt Deleted", "deletedSuccessDesc": "Prompt has been deleted successfully" } }, "manageShare": { "title": "Manage Share", "heading": "Configure Page Share URL", "form": { "url": { "label": "Page Share URL", "placeholder": "Enter Page Share URL", "required": "Please input your Page Share URL!", "help": "For privacy reasons, you can self-host the page share and provide the URL here. Learn More." } }, "webshare": { "heading": "Web Share", "columns": { "title": "Title", "url": "URL", "actions": "Actions" }, "tooltip": { "delete": "Delete Share" }, "confirm": { "delete": "Are you sure you want to delete this share? This action cannot be undone." }, "label": "Manage Page Share", "description": "Enable or disable the page share feature" }, "notification": { "pageShareSuccess": "Page Share URL updated successfully", "someError": "Something went wrong. Please try again later", "webShareDeleteSuccess": "Web Share deleted successfully" } }, "ollamaSettings": { "title": "Ollama Settings", "heading": "Configure Ollama", "settings": { "ollamaUrl": { "label": "Ollama URL", "placeholder": "Enter Ollama URL" }, "globalEnable": { "label": "Enable or Disable Ollama Integration Globally", "warning": "By disabling Ollama integration globally, Page Assist won't fetch models from Ollama. You can still add Ollama instance from the OpenAI compatible API section which will work fine." }, "advanced": { "label": "Advance Ollama URL Configuration", "urlRewriteEnabled": { "label": "Enable or Disable Custom Origin URL" }, "rewriteUrl": { "label": "Custom Origin URL", "placeholder": "Enter Custom Origin URL" }, "autoCORSFix": { "label": "Enable or Disable Automatic Ollama CORS Fix" }, "headers": { "label": "Custom Headers", "add": "Add Header", "key": { "label": "Header Key", "placeholder": "Authorization" }, "value": { "label": "Header Value", "placeholder": "Bearer token" } }, "help": "If you have connection issues with Ollama on Page Assist, you can configure a custom origin URL. To learn more about the configuration, click here." } } }, "manageSearch": { "title": "Manage Web Search", "heading": "Configure Web Search" }, "mcpSettings": { "title": "MCP Servers", "heading": "Manage MCP Servers", "subheading": "Add HTTP MCP servers for normal chat, including bearer auth and custom headers.", "addBtn": "Add MCP Server", "table": { "name": "Name", "url": "URL", "tools": "Cached Tools", "status": "Validation", "notValidated": "Not validated yet", "toolsUnavailable": "No cached tools", "auth": "Auth", "enabled": "Enabled", "actions": "Actions" }, "actions": { "refreshTools": "Refresh tools", "enable": "Enable", "disable": "Disable" }, "status": { "ready": "{{count}} tools available", "failed": "Validation failed", "notValidated": "Not validated", "lastChecked": "Last checked: {{value}}" }, "auth": { "none": "No auth", "bearer": "Bearer token" }, "modal": { "titleAdd": "Add MCP Server", "titleEdit": "Edit MCP Server", "deleteConfirm": "Delete {{name}}?", "name": { "label": "Server Name", "placeholder": "My MCP Server", "required": "Please enter a server name" }, "url": { "label": "Server URL", "placeholder": "https://example.com/mcp", "help": "Only Streamable HTTP MCP endpoints over HTTP or HTTPS are supported right now.", "required": "Please enter a server URL", "invalid": "Please enter a valid HTTP or HTTPS URL" }, "transportNotice": { "title": "Transport support", "description": "Page Assist supports Streamable HTTP MCP servers only. Legacy SSE endpoints such as /sse or /messages?sessionId=... are not supported." }, "auth": { "label": "Authentication" }, "bearerToken": { "label": "Bearer Token", "placeholder": "Enter bearer token", "required": "Please enter a bearer token" }, "enabled": { "label": "Global Enable" }, "headers": { "label": "Custom Headers", "add": "Add Header", "key": { "label": "Header Key", "placeholder": "X-Request-ID" }, "value": { "label": "Header Value", "placeholder": "value" } }, "validation": { "title": "Validate Tools", "help": "Connect to the MCP server, fetch available tools, and cache them before saving. Validation expects a Streamable HTTP MCP endpoint.", "button": "Validate and Load Tools", "availableTools": "Available tools", "idle": "Validate this server to confirm the connection and load its available tools.", "stale": "Connection details changed. Validate again to refresh the cached tools.", "failed": "Could not validate this MCP server.", "success": "Validated successfully. {{count}} tools are available.", "syncedAt": "Last synced: {{value}}", "saveHint": "Saving will validate the current configuration if the cached tool list is stale or missing." }, "submit": "Save MCP Server", "update": "Update MCP Server" }, "notification": { "added": "MCP server added", "updated": "MCP server updated", "deleted": "MCP server deleted", "validated": "Loaded {{count}} MCP tools", "toolsRefreshed": "Refreshed tools for {{name}}", "validationFailedTitle": "MCP validation failed", "storageBlockedTitle": "Page Assist can't save data", "storageBlockedDescription": "Firefox Private Mode does not support saving data to IndexedDB. Please manage MCP servers from a normal window." } }, "about": { "title": "About", "heading": "About", "chromeVersion": "Page Assist Version", "ollamaVersion": "Ollama Version", "support": "You can support the Page Assist project by donating or sponsoring through the following platforms:", "koFi": "Support on Ko-fi", "githubSponsor": "Sponsor on GitHub", "githubRepo": "GitHub Repository" }, "manageKnowledge": { "title": "Manage Knowledge", "heading": "Configure Knowledge Base" }, "rag": { "title": "Pipeline Settings", "ragSettings": { "label": "RAG Settings", "model": { "label": "Embedding Model", "required": "Please select a model", "help": "Highly recommended to use embedding models like `nomic-embed-text`.", "placeholder": "Select a model" }, "chunkSize": { "label": "Chunk Size", "placeholder": "Enter Chunk Size", "required": "Please enter a chunk size" }, "chunkOverlap": { "label": "Chunk Overlap", "placeholder": "Enter Chunk Overlap", "required": "Please enter a chunk overlap" }, "totalFilePerKB": { "label": "Knowledge Base Default File Upload Limit", "placeholder": "Enter default file upload limit (e.g., 10)", "required": "Please enter the default file upload limit" }, "noOfRetrievedDocs": { "label": "Number of Retrieved Documents", "placeholder": "Enter Number of Retrieved Documents", "required": "Please enter the number of retrieved documents" }, "splittingSeparator": { "label": "Separator", "placeholder": "Enter Separator (e.g., \\n\\n)", "required": "Please enter a separator" }, "splittingStrategy": { "label": "Text Splitter" } }, "prompt": { "label": "Configure RAG Prompt", "option1": "Normal", "option2": "Web", "alert": "Configuring the system prompt here is deprecated. Please use the Manage Prompts section to add or edit prompts. This section will be removed in a future release", "systemPrompt": "System Prompt", "systemPromptPlaceholder": "Enter System Prompt", "webSearchPrompt": "Web Search Prompt", "webSearchPromptHelp": "Do not remove `{search_results}` from the prompt.", "webSearchPromptError": "Please enter a web search prompt", "webSearchPromptPlaceholder": "Enter Web Search Prompt", "webSearchFollowUpPrompt": "Web Search Follow Up Prompt", "webSearchFollowUpPromptHelp": "Do not remove `{chat_history}` and `{question}` from the prompt.", "webSearchFollowUpPromptError": "Please input your Web Search Follow Up Prompt!", "webSearchFollowUpPromptPlaceholder": "Your Web Search Follow Up Prompt" } }, "chromeAiSettings": { "title": "Chrome AI Settings" }, "mermaid": "Mermaid" } ================================================ FILE: src/assets/locale/en/sidepanel.json ================================================ { "tooltip": { "embed": "It may take a few minutes to embed the page. Please wait...", "clear": "Erase chat history", "history": "Chat history", "openwebui": "Open WebUI" } } ================================================ FILE: src/assets/locale/es/chrome.json ================================================ { "heading": "Configurar Chrome AI", "status": { "label": "Habilitar o deshabilitar el soporte de Chrome AI en Page Assist" }, "error": { "browser_not_supported": "Esta versión de Chrome no es compatible con el modelo Gemini Nano. Por favor, actualice a la versión 127 o posterior.", "ai_not_supported": "La configuración chrome://flags/#prompt-api-for-gemini-nano no está habilitada. Por favor, habilítela.", "ai_not_ready": "Gemini Nano aún no está listo; necesita verificar la configuración de Chrome.", "internal_error": "Ocurrió un error interno. Por favor, inténtelo de nuevo más tarde." }, "errorDescription": "Para usar Chrome AI, necesita la versión 138 o posterior de Chrome. Siga estos pasos:\n\n1. Vaya a `chrome://flags/#prompt-api-for-gemini-nano` y habilite \"Prompt API for Gemini Nano\".\n2. Reinicie Chrome para aplicar el cambio.\n3. Regrese a esta página y haga clic en \"Descargar Modelo\" — esto descargará un modelo de 4GB por primera vez.\n4. Una vez descargado, Gemini Nano se puede habilitar a través de Page Assist.", "downloadModel": "Descargar Modelo", "modelDownloadWarning": "Esto descargará un modelo con un tamaño de descarga aproximado que varía entre 1.5 GB y 2.4 GB. Asegúrese de tener suficiente espacio en disco." } ================================================ FILE: src/assets/locale/es/common.json ================================================ { "pageAssist": "Page Assist", "selectAModel": "Selecione un Modelo", "save": "Guardar", "saved": "Guardado", "cancel": "Cancelar", "retry": "Reintentar", "share": { "tooltip": { "share": "Compartir" }, "modal": { "title": "Compartir enlace para chat" }, "form": { "defaultValue": { "name": "Anónimo", "title": "Chat sin título" }, "title": { "label": "Título del Chat", "placeholder": "Ingresar el título del Chat", "required": "El título del Chat es obligatorio" }, "name": { "label": "Tu nombre", "placeholder": "Ingresar tu nombre", "required": "Tu nombre es obligatorio" }, "btn": { "save": "Generar enlace", "saving": "Generando enlace..." } }, "notification": { "successGenerate": "Enlace copiado al Clipboard", "failGenerate": "Fallo al generar el enlace" } }, "copyToClipboard": "Copiar al clipboard", "webSearch": "Buscando en la web", "regenerate": "Regenerar", "continue": "Continuar Respuesta", "edit": "Editar", "delete": "Borrar", "saveAndSubmit": "Guardar y Enviar", "editMessage": { "placeholder": "Ingresar un mensaje..." }, "submit": "Enviar", "noData": "Sin datos", "noHistory": "Chat sin histórico", "chatWithCurrentPage": "Conversar con la página actual", "beta": "Beta", "tts": "Leer en voz alta", "currentChatModelSettings": "Configuraciones del Modelo de Chat Actual", "modelSettings": { "label": "Configuraciones del Modelo", "description": "Definir las opciones del modelo globalmente para todos los chats", "form": { "keepAlive": { "label": "Mantener vivo", "help": "controlar cuanto tiempo el modelo permanecera cargado en la memoria luego de su utilización (por defecto: 5m)", "placeholder": "Ingresar duración para mantenerlo vivo (ej: 5m, 10m, 1h)" }, "temperature": { "label": "Temperatura", "placeholder": "Ingresar valor de la Temperatura (ej: 0.7, 1.0)" }, "numCtx": { "label": "Tamaño de la Ventana de Contexto (num_ctx)", "placeholder": "Ingrese el valor del tamaño de la ventana de contexto (por defecto: 2048)" }, "numPredict": { "label": "Máximo de Tokens (num_predict)", "placeholder": "Ingrese el valor máximo de Tokens (ej: 2048, 4096)" }, "seed": { "label": "Semilla", "placeholder": "Ingresar el valor de la semilla (ej: 1234)", "help": "Reproductibilidad de la salida del modelo" }, "topK": { "label": "Top K", "placeholder": "Ingresar el valor de Top K (ej: 40, 100)" }, "topP": { "label": "Top P", "placeholder": "Ingresar el valor de Top P (ej: 0.9, 0.95)" }, "numGpu": { "label": "Num GPU", "placeholder": "Ingrese el número de capas para enviar a la(s) GPU(s)" }, "systemPrompt": { "label": "Prompt de Sistema Temporal", "placeholder": "Ingrese el Prompt de Sistema", "help": "Esta es una forma rápida de establecer el prompt de sistema en el chat actual, que anulará el prompt de sistema seleccionado si existe." } }, "advanced": "Más Configuraciones del Modelo" }, "copilot": { "summary": "Resumir", "explain": "Explicar", "rephrase": "Reformular", "translate": "Traducir" }, "citations": "Citas", "downloadCode": "Descargar Código", "date": { "pinned": "Fijado", "today": "Hoy", "yesterday": "Ayer", "last7Days": "Últimos 7 días", "older": "Más antiguo" }, "range": { "deleteConfirm": { "pinned": "¿Está seguro de que desea eliminar todos los mensajes fijados?", "today": "¿Está seguro de que desea eliminar todos los mensajes de hoy?", "yesterday": "¿Está seguro de que desea eliminar todos los mensajes de ayer?", "last7Days": "¿Está seguro de que desea eliminar todos los mensajes de los últimos 7 días?", "older": "¿Está seguro de que desea eliminar todos los mensajes más antiguos?" }, "tooltip": { "pinned": "Eliminar todos los mensajes fijados", "today": "Eliminar todos los mensajes de hoy", "yesterday": "Eliminar todos los mensajes de ayer", "last7Days": "Eliminar todos los mensajes de los últimos 7 días", "older": "Eliminar todos los mensajes más antiguos" } }, "pin": "Fijar", "unpin": "Desfijar", "generationInfo": "Información de Generación", "sidebarChat": "Chat lateral", "reasoning": { "thinking": "Pensando....", "thought": "Pensamiento por {{time}}" }, "embeddingGen": "Creando embeddings, esto puede tardar un poco", "semanticSearch": "Realizando búsqueda semántica", "downloading": "Descargando", "cancelPullingModel": { "confirm": "¿Está seguro de que desea cancelar la descarga? Esto detendrá el proceso de descarga. Según la documentación de Ollama, puede reiniciar desde donde lo dejó." } } ================================================ FILE: src/assets/locale/es/knowledge.json ================================================ { "addBtn": "Agregar Nuevo Conocimiento", "columns": { "title": "Título", "status": "Estado", "embeddings": "Modelo de Embedding", "createdAt": "Creado", "action": "Acciones" }, "expandedColumns": { "name": "Nombre" }, "confirm": { "delete": "¿Esta seguro que desea borrar este conocimiento?" }, "deleteSuccess": "Conocimiento borrado", "status": { "pending": "Pendiente", "finished": "Finalizado", "processing": "Procesando", "failed": "Fallido" }, "addKnowledge": "Agregar Conocimiento", "updateKnowledge": "Actualizar Conocimiento", "form": { "title": { "label": "Título del Conocimiento", "placeholder": "Ingresar un título de conocimiento", "required": "El Título de conocimiento es obligatorio" }, "uploadFile": { "label": "Subir un Archivo", "uploadText": "Arraste y suelte un archivo aquí o haga click para subirlo", "uploadHint": "Tipos de archivo soportados: .pdf, .csv, .txt, .md, .docx", "required": "El archivo es obligatorio" }, "submit": "Enviar", "success": "Conocimiento agregado exitosamente" }, "noEmbeddingModel": "Por favor, agregue un modelo de embedding de la página de configuraciones de RAG primero" } ================================================ FILE: src/assets/locale/es/openai.json ================================================ { "settings": "API compatible con OpenAI", "heading": "API compatible con OpenAI", "subheading": "Gestiona y configura tus proveedores compatibles con la API de OpenAI aquí.", "addBtn": "Añadir Proveedor", "table": { "name": "Nombre del Proveedor", "baseUrl": "URL Base", "actions": "Acción" }, "modal": { "titleAdd": "Añadir Nuevo Proveedor", "name": { "label": "Nombre del Proveedor", "required": "El nombre del proveedor es obligatorio.", "placeholder": "Introduce el nombre del proveedor" }, "baseUrl": { "label": "URL Base", "help": "La URL base del proveedor de la API de OpenAI. ej. (http://localhost:1234/v1)", "required": "La URL base es obligatoria.", "placeholder": "Introduce la URL base" }, "apiKey": { "label": "Clave API", "required": "La clave API es obligatoria.", "placeholder": "Introduce la clave API" }, "submit": "Guardar", "update": "Actualizar", "deleteConfirm": "¿Estás seguro de que quieres eliminar este proveedor?", "model": { "title": "Lista de Modelos", "subheading": "Por favor, selecciona los modelos de chat que quieres usar con este proveedor.", "success": "Nuevos modelos añadidos con éxito." }, "tipLMStudio": "Page Assist obtendrá automáticamente los modelos que hayas cargado en LM Studio. No necesitas añadirlos manualmente." }, "addSuccess": "Proveedor añadido con éxito.", "deleteSuccess": "Proveedor eliminado con éxito.", "updateSuccess": "Proveedor actualizado con éxito.", "delete": "Eliminar", "edit": "Editar", "newModel": "Añadir Modelos al Proveedor", "noNewModel": "Para LMStudio, Ollama, Llamafile, obtenemos dinámicamente. No se necesita adición manual.", "searchModel": "Buscar Modelo", "selectAll": "Seleccionar Todo", "save": "Guardar", "saving": "Guardando...", "manageModels": { "columns": { "name": "Nombre del Modelo", "model_type": "Tipo de Modelo", "model_id": "ID del Modelo", "provider": "Nombre del Proveedor", "actions": "Acción", "nickname": "Apodo del Modelo" }, "tooltip": { "delete": "Eliminar" }, "confirm": { "delete": "¿Estás seguro de que quieres eliminar este modelo?" }, "modal": { "title": "Añadir Modelo Personalizado", "form": { "name": { "label": "ID del Modelo", "placeholder": "llama3.2", "required": "El ID del modelo es obligatorio." }, "provider": { "label": "Proveedor", "placeholder": "Seleccionar proveedor", "required": "El proveedor es obligatorio." }, "type": { "label": "Tipo de Modelo" } } } }, "noModelFound": "No se encontró ningún modelo. Asegúrate de haber añadido el proveedor correcto con la URL base y la clave API.", "radio": { "chat": "Modelo de Chat", "embedding": "Modelo de Incrustación", "chatInfo": "se utiliza para la finalización de chat y la generación de conversaciones", "embeddingInfo": "se utiliza para RAG y otras tareas relacionadas con la búsqueda semántica." }, "nicknameModal": { "title": "Añadir / Editar Apodo del Modelo", "form": { "modelName": { "label": "Nombre del Modelo", "placeholder": "Ingrese el nombre del modelo", "required": "El nombre del modelo es obligatorio." }, "modelAvatar": { "label": "Avatar del Modelo", "placeholder": "Ingrese el avatar del modelo", "help": "Por favor ingrese la URL del avatar del modelo. Esta imagen se mostrará en la ventana de chat." } } }} ================================================ FILE: src/assets/locale/es/option.json ================================================ { "newChat": "Nuevo Chat", "selectAPrompt": "Selecione un Prompt", "githubRepository": "Repositorio de GitHub", "settings": "Configuraciones", "sidebarTitle": "Histórico del Chat", "error": "Error", "somethingWentWrong": "Hubo un error", "validationSelectModel": "Selecione un modelo para continuar", "deleteHistoryConfirmation": "¿Esta seguro que quiere borrar éste histórico?", "editHistoryTitle": "Ingrese un nuevo título", "temporaryChat": "Chat Temporal", "more": { "copy": { "group": "Copiar", "asText": "Copiar como Texto", "asMarkdown": "Copiar como Markdown", "success": "¡Copiado al portapapeles!" }, "download": { "group": "Descargar", "text": "Archivo de Texto (.txt)", "markdown": "Markdown (.md)", "json": "Archivo JSON (.json)" }, "share": "Compartir" } } ================================================ FILE: src/assets/locale/es/playground.json ================================================ { "ollamaState": { "searching": "Buscando tu Ollama 🦙", "running": "Ollama está funcionando 🦙", "notRunning": "No fue posible conectar con Ollama 🦙", "connectionError": "Hubo un error de conexión. Por favor, consulte la documentación para solucionar el problema." }, "formError": { "noModel": "Por favor, selecione un modelo", "noEmbeddingModel": "Por favor, defina un modelo de embedding para la página de configuraciones > RAG" }, "form": { "textarea": { "placeholder": "Ingrese un mensaje..." }, "webSearch": { "on": "On", "off": "Off" } }, "tooltip": { "searchInternet": "Buscar en Internet", "speechToText": "Voz a Texto", "uploadImage": "Subir Imagén", "stopStreaming": "Parar Transmisión", "knowledge": "Conocimiento", "clearContext": "Limpiar Contexto" }, "sendWhenEnter": "Enviar cuando presione Enter", "welcome": "¡Hola! ¿Cómo puedo ayudarte hoy?", "useOCR": "Extraer texto de imagen (OCR)" } ================================================ FILE: src/assets/locale/es/settings.json ================================================ { "generalSettings": { "title": "Configuraciones Generales", "settings": { "heading": "Configuraciones de la Interfaz Web", "speechRecognitionLang": { "label": "Idioma de Reconocimiento de Voz", "placeholder": "Selecione un idioma" }, "language": { "label": "Idioma", "placeholder": "Selecione un idioma" }, "darkMode": { "label": "Cambiar Tema", "options": { "light": "Claro", "dark": "Oscuro" } }, "defaultCopilotPrompt": { "label": "Prompt predeterminado para el Panel Lateral (Copilot)", "placeholder": "Seleccionar un prompt" }, "defaultWebUIPrompt": { "label": "Prompt predeterminado para la Interfaz Web", "placeholder": "Seleccionar un prompt" }, "copilotResumeLastChat": { "label": "Retomar el último chat al abrir el Panel Lateral (Copilot)" }, "turnOnChatWithWebsite": { "label": "Habilitar Chat con Sitio Web por defecto (Copilot)" }, "webUIResumeLastChat": { "label": "Retomar el último chat al abrir la Interfaz Web" }, "hideCurrentChatModelSettings": { "label": "Ocultar Configuraciones del Modelo de Chat Actual" }, "restoreLastChatModel": { "label": "Restaurar el último modelo utilizado para chats anteriores" }, "sendNotificationAfterIndexing": { "label": "Enviar notificación después de terminar el procesamiento de la base de conocimientos" }, "generateTitle": { "label": "Generar título usando IA" }, "ollamaStatus": { "label": "Habilitar o deshabilitar la verificación del estado de conexión de Ollama" }, "wideMode": { "label": "Habilitar modo pantalla ancha" }, "openReasoning": { "label": "Abrir el Razonamiento Colapsado por defecto" }, "defaultThinkingMode": { "label": "Mostrar Estado del Modo de Pensamiento en Formularios" }, "userChatBubble": { "label": "Usar Burbuja de Chat para Mensajes del Usuario" }, "autoCopyResponseToClipboard": { "label": "Copiar automáticamente la respuesta al portapapeles" }, "useMarkdownForUserMessage": { "label": "Habilitar formato Markdown para mensajes del usuario" }, "copyAsFormattedText": { "label": "Copiar como Texto Formateado" }, "tabMentionsEnabled": { "label": "Habilitar Menciones de Pestañas (@tab)" }, "pasteLargeTextAsFile": { "label": "Pegar Texto Largo como Archivo" }, "ocrLanguage": { "label": "Idioma OCR predeterminado", "placeholder": "Seleccionar un idioma OCR" }, "sidepanelTemporaryChat": { "label": "Habilitar Chat Temporal en el Panel Lateral por defecto" }, "webuiTemporaryChat": { "label": "Habilitar Chat Temporal en la Interfaz Web por defecto" }, "removeReasoningTagFromCopy": { "label": "Eliminar Etiqueta de Razonamiento del Texto Copiado" }, "youtubeAutoSummarize": { "label": "Mostrar el botón 'Resumir' en videos de YouTube" }, "hideReasoningWidget": { "label": "Ocultar Widget de Razonamiento de los Mensajes de IA" }, "persistChatInput": { "label": "Persistir Entrada de Chat (Guardar mensajes no enviados)" }, "enableMessageQueue": { "label": "Habilitar Cola de Mensajes durante la Transmisión" }, "optimizeQueueForSmallScreen": { "label": "Optimizar la Interfaz de Chat para Pantallas Pequeñas" }, "tableTextWrap": { "label": "Habilitar Ajuste de Texto en Tablas Markdown" }, "showMoreForLargeMessage": { "label": "Mostrar 'Ver más' para mensajes largos del usuario" }, "sidebarPosition": { "label": "Posición de la Barra Lateral", "options": { "left": "Izquierda", "right": "Derecha" } } }, "sidepanelRag": { "heading": "Configuración de Recuperación", "ragEnabled": { "label": "Habilitar Incrustación y Recuperación" }, "maxWebsiteContext": { "label": "Tamaño Máximo de Contenido para Modo de Contexto Completo", "placeholder": "Tamaño del contenido (predeterminado 4028)" } }, "webSearch": { "heading": "Manejo de la busqueda Web", "searchMode": { "label": "Realizar busquedas Simples en Internet" }, "provider": { "label": "Motor de Busqueda", "placeholder": "Selecione un motor de busqueda" }, "totalSearchResults": { "label": "Resultados totales de la busqueda", "placeholder": "Ingresar el total de Resultados de la busqueda" }, "visitSpecificWebsite": { "label": "Visita el sitio web mencionado en el mensaje" }, "searxng": { "url": { "label": "URL de SearXNG" } }, "braveApi": { "label": "Clave API de Brave", "placeholder": "Ingrese su clave API de Brave" }, "tavilyApi": { "label": "Clave API de Tavily", "placeholder": "Ingrese su clave API de Tavily" }, "exa": { "label": "Clave API de Exa", "placeholder": "Ingrese su clave API de Exa" }, "googleDomain": { "label": "Dominio de Google" }, "searchOnByDefault": { "label": "Búsqueda en Internet activada por defecto" }, "firecrawlAPIKey": { "label": "Clave API de Firecrawl", "placeholder": "Ingrese su clave API de Firecrawl" }, "domainFilter": { "label": "Lista de Filtro de Dominio", "description": "Solo mostrar resultados de estos dominios", "placeholder": "ej., example.com" }, "blockedDomains": { "label": "Dominios Bloqueados", "description": "Excluir resultados de estos dominios", "placeholder": "ej., spam.com" } }, "system": { "heading": "Configuraciones del Sistema", "deleteChatHistory": { "label": "Reinicio del Sistema", "button": "Reiniciar Todo", "confirm": "¿Está seguro de que desea realizar un reinicio del sistema? Esto borrará todos los datos y no se puede deshacer." }, "export": { "label": "Exportar todos los datos (historial de chat, base de conocimiento, prompts y configuraciones)", "button": "Exportar datos", "success": "Exportación exitosa" }, "import": { "label": "Importar todos los datos (historial de chat, base de conocimiento, prompts y configuraciones)", "button": "Importar datos", "success": "Importación exitosa", "error": "Error de importación" }, "actionIcon": { "label": "Establecer Acción Predeterminada para Clics en el Ícono de la Extensión" }, "contextMenu": { "label": "Establecer Acción Predeterminada para el Menú Contextual" }, "fontSize": { "label": "Tamaño de Fuente" }, "webuiBtnSidePanel": { "label": "Mostrar Botón de Interfaz Web en el Panel Lateral" }, "chatBackgroundImage": { "label": "Imagen de Fondo del Chat" }, "storageSyncEnabled": { "label": "Habilitar sincronización de almacenamiento del navegador (sincronizar configuraciones entre dispositivos)" } }, "tts": { "heading": "Configuraciones de Text-to-speech", "ttsEnabled": { "label": "Habilitar Texto-a-Voz" }, "ttsAutoPlay": { "label": "Reproducir automáticamente la respuesta de voz después de completar" }, "ttsProvider": { "label": "Proveedor de Text-to-speech", "placeholder": "Selecione un proveedor" }, "ttsVoice": { "label": "Voz de Text-to-speech", "placeholder": "Selecione una voz" }, "ssmlEnabled": { "label": "Habilitar SSML (Speech Synthesis Markup Language)" }, "responseSplitting": { "label": "División de Respuesta" }, "removeReasoningTagTTS": { "label": "Eliminar Etiqueta de Razonamiento del TTS" } }, "stt": { "heading": "Configuraciones de Voz-a-Texto", "autoStopTimeout": { "label": "Tiempo de Auto-Detención (ms)", "placeholder": "Ingrese el tiempo de auto-detención en milisegundos" }, "autoSubmitVoiceMessage": { "label": "Auto-Enviar Mensaje de Voz" } } }, "manageModels": { "title": "Administar de Modelos", "addBtn": "Agregar Nuevo Modelo", "columns": { "name": "Nombre", "digest": "Resumen", "nickname": "Apodo", "modifiedAt": "Modificado", "size": "Tamaño", "actions": "Acciones" }, "expandedColumns": { "parentModel": "Modelo Padre", "format": "Formato", "family": "Familia", "parameterSize": "Tamaño de Parametros", "quantizationLevel": "Nível de Quantización" }, "tooltip": { "delete": "Borrar Modelo", "repull": "Traer nuevamente el Modelo", "editNickname": "Editar Apodo" }, "confirm": { "delete": "¿Esta seguro que desea borrar este modelos?", "repull": "¿Esta seguro que desea traer nuevamente este modelo?" }, "modal": { "title": "Traer Nuevo Modelo", "placeholder": "Ingresar el nombre del modelo", "pull": "Traer Modelo" }, "notification": { "pullModel": "Trayendo Modelo", "pullModelDescription": "Trayendo modelo {{modelName}}. Para más detalles, verifique el ícono de la extensión.", "cancellingDownload": "Cancelando Descarga", "cancellingDownloadDescription": "La descarga del modelo está siendo cancelada...", "success": "Exito", "error": "Error", "successDescription": "Modelo traido exitosamente", "successDeleteDescription": "Modelo borrado exitosamente", "someError": "Hubo un error. Intente nuevamente más tarde" } }, "managePrompts": { "title": "Administrar de Prompts", "addBtn": "Agregar Nuevo Prompt", "option1": "Normal", "option2": "RAG", "questionPrompt": "Prompt de Pregunta", "columns": { "title": "Título", "prompt": "Prompt", "type": "Tipo de Prompt", "actions": "Acciones" }, "segmented": { "custom": "Invites personnalisées", "copilot": "Invites Copilot" }, "systemPrompt": "Prompt del Sistema", "quickPrompt": "Prompt Rápido", "tooltip": { "delete": "Borrar Prompt", "edit": "Editar Prompt" }, "confirm": { "delete": "¿Esta seguro que desea borrar este prompt? Esta acción no tiene vuelta a atrás." }, "modal": { "addTitle": "Agregar Nuevo Prompt", "editTitle": "Editar Prompt" }, "form": { "title": { "label": "Título", "placeholder": "Mi Prompt genial", "required": "Por favor, ingrese un título" }, "prompt": { "label": "Prompt", "placeholder": "Ingrese un prompt", "required": "Por favor, ingrese un prompt", "help": "Puede usar {key} como variable en su prompt.", "missingTextPlaceholder": "Falta la variable {text} en el mensaje. Por favor, añádela." }, "isSystem": { "label": "Es un Prompt del Sistema" }, "btnSave": { "saving": "Agregando un Prompt...", "save": "Agregar Prompt" }, "btnEdit": { "saving": "Actualizando Prompt...", "save": "Actualizar Prompt" } }, "notification": { "addSuccess": "Prompt Agregado", "addSuccessDesc": "Prompt agregado exitosamente", "error": "Error", "someError": "Hubo un error. Intente nuevamente más tarde", "updatedSuccess": "Prompt Actualizado", "updatedSuccessDesc": "Prompt actualizado exitosamente", "deletedSuccess": "Prompt Borrado", "deletedSuccessDesc": "Prompt borrado exitosamente" } }, "manageShare": { "title": "Administrar los recursos compartidos", "heading": "Configurar URL de Página Compartida", "form": { "url": { "label": "URL de Página compartida", "placeholder": "Ingresar URL de Página compartida", "required": "Por favor, ingrese URL de Página compartida", "help": "Por motivos de privacidad, podes hacer self-host de la página compartida y proveer una URL aqui. Aprende más." } }, "webshare": { "heading": "Compartir una Web", "columns": { "title": "Título", "url": "URL", "actions": "Acciones" }, "tooltip": { "delete": "Borrar lo compartido" }, "confirm": { "delete": "¿Esta seguro de desear borrar esta web compartida? Esta acción no tiene vuelta a atrás." }, "label": "Administrar páginas compartidas", "description": "Habilitar o deshabilitar el recurso de páginas compartidas" }, "notification": { "pageShareSuccess": "URL compartida actualizada exitosamente", "someError": "Hubo un error. Intente nuevamente más tarde", "webShareDeleteSuccess": "Web compartida borrada exitosamente com sucesso" } }, "ollamaSettings": { "title": "Configuraciones de Ollama", "heading": "Configurar Ollama", "settings": { "ollamaUrl": { "label": "URL de Ollama", "placeholder": "Ingrese la URL de Ollama" }, "globalEnable": { "label": "Habilitar o Deshabilitar la Integración de Ollama Globalmente", "warning": "Al deshabilitar la integración de Ollama globalmente, Page Assist no obtendrá modelos de Ollama. Aún puedes agregar una instancia de Ollama desde la sección de API compatible con OpenAI que funcionará correctamente." }, "advanced": { "label": "Configuración avanzada de URL de Ollama", "urlRewriteEnabled": { "label": "Habilitar o Deshabilitar URL Personalizada" }, "rewriteUrl": { "label": "URL Personalizada", "placeholder": "Ingresar URL Personalizada" }, "autoCORSFix": { "label": "Habilitar o Deshabilitar Corrección Automática de CORS de Ollama" }, "headers": { "label": "Encabezados Personalizados", "add": "Agregar Encabezado", "key": { "label": "Clave del Encabezado", "placeholder": "Autorización" }, "value": { "label": "Valor del Encabezado", "placeholder": "Token Bearer" } }, "help": "Si tenes problemas de conexión con Ollama en Page Assist, podes configurar una URL de personalizada. Para saber más sobre la configuración, click aqui." } } }, "manageSearch": { "title": "Administrar Busqueda Web", "heading": "Configurar Busqueda Web" }, "about": { "title": "Sobre", "heading": "Sobre", "chromeVersion": "Versión de Page Assist", "ollamaVersion": "Versión de Ollama", "support": "Podes apoyar el proyecto Page Assist haciendo donaciones o patrocinarnos a través de las seguientes plataformas:", "koFi": "Apoyar en Ko-fi", "githubSponsor": "Patrocinarnos en GitHub", "githubRepo": "Repositorio de GitHub" }, "manageKnowledge": { "title": "Administrar Conocimiento", "heading": "Configurar Bases de Conocimiento" }, "rag": { "title": "Configuraciones de Pipeline", "ragSettings": { "label": "Configuraciones de RAG", "model": { "label": "Modelo de embeddings", "required": "Por favor, selecione un modelo", "help": "Es recomendable usar modelos de embeddings como `nomic-embed-text`.", "placeholder": "Selecione un modelo" }, "chunkSize": { "label": "Tamaño del Chunk", "placeholder": "Ingresar el tamaño del chunk", "required": "Por favor, ingrese el tamaño del chunk" }, "chunkOverlap": { "label": "Solapamiento del Chunk", "placeholder": "Ingrese el solapamiento del chunk", "required": "Por favor, ingresar el solapamiento del chunk" }, "totalFilePerKB": { "label": "Límite predeterminado de carga de archivos para la Base de Conocimientos", "placeholder": "Ingrese el límite predeterminado de carga de archivos (ej., 10)", "required": "Por favor, ingrese el límite predeterminado de carga de archivos" }, "noOfRetrievedDocs": { "label": "Número de Documentos Recuperados", "placeholder": "Ingrese el Número de Documentos Recuperados", "required": "Por favor, ingrese el número de documentos recuperados" }, "splittingSeparator": { "label": "Separador", "placeholder": "Ingrese el separador (ej., \\n\\n)", "required": "Por favor, ingrese un separador" }, "splittingStrategy": { "label": "Divisor de Texto" } }, "prompt": { "label": "Configurar el Prompt del RAG", "option1": "Normal", "option2": "Web", "alert": "Es obsoleto configurar aquí el prompt del sistema. Por favor, use la sección de Administrar Prompts para agregar o editar prompts. Esta sección se quitará en una versión futura", "systemPrompt": "Prompt del Sistema", "systemPromptPlaceholder": "Ingresar el prompt del sistema", "webSearchPrompt": "Prompt de la busqueda Web", "webSearchPromptHelp": "No borre `{search_results}` del prompt.", "webSearchPromptError": "Por favor, ingresar un prompt de busqueda web", "webSearchPromptPlaceholder": "Ingrese un prompt de busqueda web", "webSearchFollowUpPrompt": "Prompt de Seguimiento de busqueda Web", "webSearchFollowUpPromptHelp": "No borre `{chat_history}` y `{question}` del prompt.", "webSearchFollowUpPromptError": "Por favor, ingrese el prompt de seguimiento de la busqueda web", "webSearchFollowUpPromptPlaceholder": "Su prompt de seguimiento de busqueda web" } }, "chromeAiSettings": { "title": "Configuración de IA de Chrome" }, "mermaid": "Mermaid" } ================================================ FILE: src/assets/locale/es/sidepanel.json ================================================ { "tooltip": { "embed": "Puede demorar algunos minutos para incluir la página. Por favor, aguarde...", "clear": "Borrar el histórico de conversación", "history": "Histórico de la conversación", "openwebui": "Abrir WebUI" } } ================================================ FILE: src/assets/locale/fa/chrome.json ================================================ { "heading": "تنظیمات AI کروم", "status": { "label": "فعال یا غیر فعال کردن پشتیبانی از AI کروم" }, "error": { "browser_not_supported": "این نسخه از کروم توسط مدل Gemini Nano پشتیبانی نمی شود. لطفا به نسخه ۱۲۷ یا بالاتر به روزرسانی کنید.", "ai_not_supported": "تنظیم chrome://flags/#prompt-api-for-gemini-nano فعال نشده است. لطفا فعالش کنید..", "ai_not_ready": "Gemini Nano هنوز آماده نیست; تنظیمات کروم را مجددا بررسی کنید.", "internal_error": "یک خطای داخلی رخ داد. لطفا بعدا مجددا تلاش نمایید." }, "errorDescription": "برای استفاده از AI کروم، به نسخه ۱۳۸ یا بالاتر از کروم نیاز دارید. مراحل زیر را دنبال کنید:\n\n۱. به `chrome://flags/#prompt-api-for-gemini-nano` بروید و \"Prompt API for Gemini Nano\" را فعال کنید.\n۲. کروم را برای اعمال تغییرات مجددا راه اندازی کنید.\n۳. به این صفحه بازگردید و روی \"دانلود مدل\" کلیک کنید — این کار برای اولین بار یک مدل ۴ گیگابایتی دانلود خواهد کرد.\n۴. پس از دانلود، Gemini Nano می تواند از طریق Page Assist فعال شود.", "downloadModel": "دانلود مدل", "modelDownloadWarning": "این کار یک مدل با اندازه دانلود تقریبی بین ۱.۵ گیگابایت و ۲.۴ گیگابایت دانلود خواهد کرد. اطمینان حاصل کنید که فضای دیسک کافی دارید." } ================================================ FILE: src/assets/locale/fa/common.json ================================================ { "pageAssist": "دستیار صفحه", "selectAModel": "یک مدل انتخاب کنید", "save": "ذخیره", "saved": "ذخیره شد", "cancel": "لغو", "retry": "تلاش مجدد", "share": { "tooltip": { "share": "اشتراک گذاری" }, "modal": { "title": "اشتراک گذاری لینک به گپ" }, "form": { "defaultValue": { "name": "ناشناس", "title": "گپ بی نام" }, "title": { "label": "عنوان گپ", "placeholder": "عنوان گپ را وارد کنید", "required": "وارد کردن عنوان چت الزامی است" }, "name": { "label": "نام شما", "placeholder": "نام خود را وارد کنید", "required": "وارد کردن نام الزامی است" }, "btn": { "save": "ایجاد لینک", "saving": "در حال ایجاد لینک..." } }, "notification": { "successGenerate": "پیوند در کلیپ بورد کپی شد", "failGenerate": "پیوند ایجاد نشد" } }, "copyToClipboard": "کپی به کلیپ بورد", "webSearch": "جستجوی وب", "regenerate": "ایجاد مجدد", "continue": "ادامه پاسخ", "edit": "ویرایش", "delete": "حذف", "saveAndSubmit": "ذخیره و ارسال", "editMessage": { "placeholder": "یک پیام وارد کنید..." }, "submit": "ارسال", "noData": "اطلاعاتی وجود ندارد", "noHistory": "تاریخچه گپ وجود ندارد", "chatWithCurrentPage": "گپ زدن با این صفحه", "beta": "بتا", "tts": "بلند بخوان", "currentChatModelSettings": "تنظیمات مدل گپ فعلی", "modelSettings": { "label": "تنظیمات مدل", "description": "گزینه های مدل را به صورت کلی برای همه گپ ها تنظیم کنید", "form": { "keepAlive": { "label": "Keep Alive", "help": "کنترل می کند که چه مدت مدل پس از درخواست در حافظه باقی می ماند (پیش فرض: 5 دقیقه)", "placeholder": "مدت زمان Keep Alive را وارد کنید (مثلا 5m, 10m, 1h)" }, "temperature": { "label": "Temperature", "placeholder": "مقدار Temperature را وارد کنید (مثلا 0.7, 1.0)" }, "numCtx": { "label": "اندازه پنجره متن (num_ctx)", "placeholder": "مقدار اندازه پنجره متن را وارد کنید (پیش فرض: 2048)" }, "numPredict": { "label": "حداکثر توکن‌ها (num_predict)", "placeholder": "مقدار حداکثر توکن‌ها را وارد کنید (مثلا 2048، 4096)" }, "seed": { "label": "Seed", "placeholder": "مقدار Seed را وارد کنید (e.g. 1234)", "help": "تکرارپذیری خروجی مدل" }, "topK": { "label": "Top K", "placeholder": "مقدار Top K را وارد کنید (مثلا 40, 100)" }, "topP": { "label": "Top P", "placeholder": "مقدار Top P را وارد کنید (مثلا 0.9, 0.95)" }, "numGpu": { "label": "Num GPU", "placeholder": "تعداد لایه‌هایی که به GPU(ها) ارسال می‌شود را وارد کنید" }, "systemPrompt": { "label": "پرامپت سیستم موقت", "placeholder": "پرامپت سیستم را وارد کنید", "help": "این یک روش سریع برای تنظیم پرامپت سیستم در گفتگوی فعلی است که در صورت وجود، پرامپت سیستم انتخاب شده را لغو خواهد کرد." } }, "advanced": "تنظیمات بیشتر مدل" }, "citations": "منابع", "downloadCode": "دانلود کد", "date": { "pinned": "پین شده", "today": "امروز", "yesterday": "دیروز", "last7Days": "۷ روز گذشته", "older": "قدیمی‌تر" }, "range": { "deleteConfirm": { "pinned": "آیا مطمئن هستید که می‌خواهید تمام پیام‌های پین شده را حذف کنید؟", "today": "آیا مطمئن هستید که می‌خواهید تمام پیام‌های امروز را حذف کنید؟", "yesterday": "آیا مطمئن هستید که می‌خواهید تمام پیام‌های دیروز را حذف کنید؟", "last7Days": "آیا مطمئن هستید که می‌خواهید تمام پیام‌های ۷ روز گذشته را حذف کنید؟", "older": "آیا مطمئن هستید که می‌خواهید تمام پیام‌های قدیمی‌تر را حذف کنید؟" }, "tooltip": { "pinned": "حذف تمام پیام‌های پین شده", "today": "حذف تمام پیام‌های امروز", "yesterday": "حذف تمام پیام‌های دیروز", "last7Days": "حذف تمام پیام‌های ۷ روز گذشته", "older": "حذف تمام پیام‌های قدیمی‌تر" } }, "pin": "پین کردن", "unpin": "حذف پین", "generationInfo": "اطلاعات تولید", "sidebarChat": "چت کناری", "reasoning": { "thinking": "در حال فکر کردن....", "thought": "فکر کردن برای {{time}}" }, "embeddingGen": "در حال ایجاد تمثیلات، این ممکن است چند لحظه طول بکشد", "semanticSearch": "در حال جستجوی معنایی", "downloading": "در حال دانلود", "cancelPullingModel": { "confirm": "آیا مطمئن هستید که می‌خواهید دانلود را لغو کنید؟ این کار فرآیند دانلود را متوقف می‌کند. طبق مستندات Ollama، می‌توانید دانلود را از همان جایی که متوقف شده ادامه دهید." } } ================================================ FILE: src/assets/locale/fa/knowledge.json ================================================ { "addBtn": "افزودن دانش جدید", "columns": { "title": "عنوان", "status": "وضعیت", "embeddings": "مدل جاسازی", "createdAt": "ایجاد شده در", "action": "اقدامات" }, "expandedColumns": { "name": "نام" }, "confirm": { "delete": "آیا مطمئن هستید که می خواهید این دانش را حذف کنید؟" }, "deleteSuccess": "دانش با موفقیت حذف شد", "status": { "pending": "انتظار", "finished": "تمام", "processing": "در حال پردازش", "failed": "ناموفق" }, "addKnowledge": "دانش را اضافه کنید", "updateKnowledge": "به روز رسانی دانش", "form": { "title": { "label": "عنوان دانش", "placeholder": "عنوان دانش را وارد کنید", "required": "وارد کردن عنوان دانش الزامی است" }, "uploadFile": { "label": "آپلود فایل", "uploadText": "یک فایل را در اینجا بکشید و رها کنید یا برای آپلود کلیک کنید", "uploadHint": "انواع فایل های پشتیبانی شده: .pdf, .csv, .txt, .md, .docx", "required": "وارد کردن فایل مورد نیاز است" }, "submit": "ارسال", "success": "دانش با موفقیت اضافه شد" }, "noEmbeddingModel": "لطفا ابتدا یک مدل جاسازی را از صفحه تنظیمات RAG اضافه کنید" } ================================================ FILE: src/assets/locale/fa/openai.json ================================================ { "settings": "API سازگار با OpenAI", "heading": "API سازگار با OpenAI", "subheading": "ارائه‌دهندگان API سازگار با OpenAI خود را در اینجا مدیریت و پیکربندی کنید.", "addBtn": "افزودن ارائه‌دهنده", "table": { "name": "نام ارائه‌دهنده", "baseUrl": "آدرس پایه", "actions": "عملیات" }, "modal": { "titleAdd": "افزودن ارائه‌دهنده جدید", "name": { "label": "نام ارائه‌دهنده", "required": "نام ارائه‌دهنده الزامی است.", "placeholder": "نام ارائه‌دهنده را وارد کنید" }, "baseUrl": { "label": "آدرس پایه", "help": "آدرس پایه ارائه‌دهنده API OpenAI. مثال (http://localhost:1234/v1)", "required": "آدرس پایه الزامی است.", "placeholder": "آدرس پایه را وارد کنید" }, "apiKey": { "label": "کلید API", "required": "کلید API الزامی است.", "placeholder": "کلید API را وارد کنید" }, "submit": "ذخیره", "update": "به‌روزرسانی", "deleteConfirm": "آیا مطمئن هستید که می‌خواهید این ارائه‌دهنده را حذف کنید؟", "model": { "title": "لیست مدل‌ها", "subheading": "لطفاً مدل‌های گفتگویی که می‌خواهید با این ارائه‌دهنده استفاده کنید را انتخاب کنید.", "success": "مدل‌های جدید با موفقیت اضافه شدند." }, "tipLMStudio": "Page Assist به طور خودکار مدل‌هایی را که در LM Studio بارگذاری کرده‌اید، دریافت می‌کند. نیازی به افزودن دستی آنها نیست." }, "addSuccess": "ارائه‌دهنده با موفقیت اضافه شد.", "deleteSuccess": "ارائه‌دهنده با موفقیت حذف شد.", "updateSuccess": "ارائه‌دهنده با موفقیت به‌روزرسانی شد.", "delete": "حذف", "edit": "ویرایش", "newModel": "افزودن مدل‌ها به ارائه‌دهنده", "noNewModel": "برای LMStudio, Ollama, Llamafile, ما به صورت پویا دریافت می‌کنیم. نیازی به افزودن دستی نیست.", "searchModel": "جستجوی مدل", "selectAll": "انتخاب همه", "save": "ذخیره", "saving": "در حال ذخیره...", "manageModels": { "columns": { "name": "نام مدل", "model_type": "نوع مدل", "model_id": "شناسه مدل", "provider": "نام ارائه‌دهنده", "actions": "عملیات", "nickname": "نام مستعار مدل" }, "tooltip": { "delete": "حذف" }, "confirm": { "delete": "آیا مطمئن هستید که می‌خواهید این مدل را حذف کنید؟" }, "modal": { "title": "افزودن مدل سفارشی", "form": { "name": { "label": "شناسه مدل", "placeholder": "llama3.2", "required": "شناسه مدل الزامی است." }, "provider": { "label": "ارائه‌دهنده", "placeholder": "ارائه‌دهنده را انتخاب کنید", "required": "ارائه‌دهنده الزامی است." }, "type": { "label": "نوع مدل" } } } }, "noModelFound": "هیچ مدلی یافت نشد. اطمینان حاصل کنید که ارائه‌دهنده صحیح را با آدرس پایه و کلید API اضافه کرده‌اید.", "radio": { "chat": "مدل گفتگو", "embedding": "مدل تعبیه", "chatInfo": "برای تکمیل گفتگو و تولید مکالمه استفاده می‌شود", "embeddingInfo": "برای RAG و سایر وظایف مرتبط با جستجوی معنایی استفاده می‌شود." }, "nicknameModal": { "title": "افزودن / ویرایش نام مستعار مدل", "form": { "modelName": { "label": "نام مدل", "placeholder": "نام مدل را وارد کنید", "required": "نام مدل الزامی است." }, "modelAvatar": { "label": "آواتار مدل", "placeholder": "آواتار مدل را وارد کنید", "help": "لطفاً آدرس URL آواتار مدل را وارد کنید. این تصویر در پنجره گفتگو نمایش داده خواهد شد." } } } } ================================================ FILE: src/assets/locale/fa/option.json ================================================ { "newChat": "گپ جدید", "selectAPrompt": "یک پرامپت را انتخاب کنید", "githubRepository": "مخزن GitHub", "settings": "تنظیمات", "sidebarTitle": "تاریخچه گپ", "error": "خطا", "somethingWentWrong": "مشکلی پیش آمد", "validationSelectModel": "لطفا یک مدل را برای ادامه انتخاب کنید", "deleteHistoryConfirmation": "آیا مطمئن هستید که می خواهید این تاریخچه را حذف کنید؟", "editHistoryTitle": "یک عنوان جدید وارد کنید", "temporaryChat": "گپ موقت", "more": { "copy": { "group": "کپی", "asText": "کپی به صورت متن", "asMarkdown": "کپی به صورت مارک‌داون", "success": "در کلیپ‌بورد کپی شد!" }, "download": { "group": "دانلود", "text": "فایل متنی (.txt)", "markdown": "مارک‌داون (.md)", "json": "فایل JSON (.json)" }, "share": "اشتراک‌گذاری" } } ================================================ FILE: src/assets/locale/fa/playground.json ================================================ { "ollamaState": { "searching": "در حال جستجوی Ollama شما 🦙", "running": "Ollama در حال اجرا است 🦙", "notRunning": "امکان اتصال به Ollama وجود ندارد 🦙", "connectionError": "به نظر می رسد که خطای اتصال دارید. لطفا برای عیب یابی به این مستندات مراجعه کنید." }, "formError": { "noModel": "لطفا یک مدل را انتخاب کنید", "noEmbeddingModel": "لطفا یک مدل جاسازی در صفحه تنظیمات > RAG تنظیم کنید" }, "form": { "textarea": { "placeholder": "یک پیام تایپ کنید..." }, "webSearch": { "on": "روشن", "off": "خاموش" } }, "tooltip": { "searchInternet": "جستجوی اینترنت", "speechToText": "گفتار به متن", "uploadImage": "آپلود تصویر", "stopStreaming": "توقف Streaming", "knowledge": "دانش", "clearContext": "پاک کردن متن" }, "sendWhenEnter": "با فشار دادن Enter ارسال شود", "welcome": "سلام! امروز چطور می‌توانم به شما کمک کنم؟", "useOCR": "استخراج متن از تصویر (OCR)" } ================================================ FILE: src/assets/locale/fa/settings.json ================================================ { "generalSettings": { "title": "تنظیمات عمومی", "settings": { "heading": "تنظیمات رابط کاربری وب", "speechRecognitionLang": { "label": "زبان تشخیص گفتار", "placeholder": "یک زبان را انتخاب کنید" }, "language": { "label": "زبان", "placeholder": "یک زبان را انتخاب کنید" }, "darkMode": { "label": "تغییر تم", "options": { "light": "روشن", "dark": "تیره" } }, "defaultCopilotPrompt": { "label": "پرامپت پیش‌فرض برای پنل جانبی (کوپایلوت)", "placeholder": "یک پرامپت را انتخاب کنید" }, "defaultWebUIPrompt": { "label": "پرامپت پیش‌فرض برای رابط کاربری وب", "placeholder": "یک پرامپت را انتخاب کنید" }, "copilotResumeLastChat": { "label": "آخرین گفتگو را هنگام باز کردن SidePanel (Copilot) از سر بگیر" }, "turnOnChatWithWebsite": { "label": "فعال کردن گپ با وب سایت به صورت پیش‌فرض (کوپایلوت)" }, "webUIResumeLastChat": { "label": "آخرین گفتگو را هنگام باز کردن رابط کاربری وب از سر بگیر" }, "hideCurrentChatModelSettings": { "label": "مخفی کردن تنظیمات مدل گپ فعلی را" }, "restoreLastChatModel": { "label": "بازیابی آخرین مدل استفاده شده برای گپ‌های قبلی" }, "sendNotificationAfterIndexing": { "label": "ارسال نوتیفیکیشن پس از اتمام پردازش پایگاه دانش" }, "generateTitle": { "label": "تولید عنوان با استفاده از هوش مصنوعی" }, "ollamaStatus": { "label": "فعال یا غیرفعال کردن بررسی وضعیت اتصال Ollama" }, "wideMode": { "label": "فعال کردن حالت صفحه عریض" }, "openReasoning": { "label": "باز کردن استدلال به صورت پیش فرض" }, "defaultThinkingMode": { "label": "نمایش وضعیت حالت تفکر در فرم‌ها" }, "userChatBubble": { "label": "استفاده از حباب گفتگو برای پیام‌های کاربر" }, "autoCopyResponseToClipboard": { "label": "کپی خودکار پاسخ در کلیپ بورد" }, "useMarkdownForUserMessage": { "label": "فعال کردن قالب‌بندی مارک‌داون برای پیام‌های کاربر" }, "copyAsFormattedText": { "label": "کپی به عنوان متن قالب‌بندی شده" }, "tabMentionsEnabled": { "label": "فعال‌سازی منشن تب (@tab)" }, "pasteLargeTextAsFile": { "label": "الصاق متن طولانی به عنوان فایل" }, "ocrLanguage": { "label": "زبان پیش‌فرض OCR", "placeholder": "یک زبان OCR انتخاب کنید" }, "sidepanelTemporaryChat": { "label": "فعال کردن چت موقت در پنل جانبی به صورت پیش‌فرض" }, "webuiTemporaryChat": { "label": "فعال کردن چت موقت در رابط کاربری وب به صورت پیش‌فرض" }, "removeReasoningTagFromCopy": { "label": "حذف برچسب استدلال از متن کپی شده" }, "youtubeAutoSummarize": { "label": "نمایش دکمه 'خلاصه‌سازی' در ویدیوهای یوتیوب" }, "hideReasoningWidget": { "label": "مخفی کردن ابزارک استدلال از پیام‌های هوش مصنوعی" }, "persistChatInput": { "label": "ذخیره ورودی چت (ذخیره پیام‌های ارسال نشده)" }, "enableMessageQueue": { "label": "فعال کردن صف پیام در حین استریم" }, "optimizeQueueForSmallScreen": { "label": "بهینه‌سازی رابط کاربری چت برای صفحات کوچک" }, "tableTextWrap": { "label": "فعال کردن شکستن متن در جداول مارک‌داون" }, "showMoreForLargeMessage": { "label": "نمایش 'بیشتر نشان بده' برای پیام‌های طولانی کاربر" }, "sidebarPosition": { "label": "موقعیت نوار کناری", "options": { "left": "چپ", "right": "راست" } } }, "sidepanelRag": { "heading": "تنظیمات بازیابی", "ragEnabled": { "label": "فعال‌سازی جاسازی و بازیابی" }, "maxWebsiteContext": { "label": "حداکثر اندازه محتوا برای حالت متن کامل", "placeholder": "اندازه محتوا (پیش‌فرض ۴۰۲۸)" } }, "webSearch": { "heading": "مدیریت جستجوی وب", "searchMode": { "label": "انجام جستجوی ساده اینترنتی" }, "provider": { "label": "موتور جستجو", "placeholder": "یک موتور جستجو را انتخاب کنید" }, "totalSearchResults": { "label": "مجموع نتایج جستجو", "placeholder": "کل نتایج جستجو را وارد کنید" }, "visitSpecificWebsite": { "label": "مراجعه به وب سایت ذکر شده در پیام" }, "searxng": { "url": { "label": "آدرس SearXNG" } }, "braveApi": { "label": "کلید API بریو", "placeholder": "کلید API بریو خود را وارد کنید" }, "tavilyApi": { "label": "کلید API تاویلی", "placeholder": "کلید API تاویلی خود را وارد کنید" }, "exa": { "label": "کلید API اکسا", "placeholder": "کلید API اکسا خود را وارد کنید" }, "googleDomain": { "label": "دامنه گوگل" }, "searchOnByDefault": { "label": "جستجوی اینترنتی به صورت پیش‌فرض فعال باشد" }, "firecrawlAPIKey": { "label": "کلید API فایرکرال", "placeholder": "کلید API فایرکرال خود را وارد کنید" }, "domainFilter": { "label": "لیست فیلتر دامنه", "description": "فقط نتایج از این دامنه‌ها نشان داده شوند", "placeholder": "مثال: example.com" }, "blockedDomains": { "label": "دامنه‌های مسدود شده", "description": "نتایج از این دامنه‌ها را حذف کنید", "placeholder": "مثال: spam.com" } }, "system": { "heading": "تنظیمات سیستم", "deleteChatHistory": { "label": "بازنشانی سیستم", "button": "بازنشانی همه", "confirm": "آیا مطمئن هستید که می‌خواهید بازنشانی سیستم را انجام دهید؟ این کار تمام داده‌ها را پاک می‌کند و غیرقابل برگشت است." }, "export": { "label": "صدور تمام داده‌ها (تاریخچه چت، پایگاه دانش، پرامپت‌ها و تنظیمات)", "button": "صدور داده‌ها", "success": "صدور با موفقیت انجام شد" }, "import": { "label": "وارد کردن تمام داده‌ها (تاریخچه چت، پایگاه دانش، پرامپت‌ها و تنظیمات)", "button": "وارد کردن داده‌ها", "success": "واردسازی با موفقیت انجام شد", "error": "خطا در واردسازی" }, "actionIcon": { "label": "تنظیم عملکرد پیش‌فرض برای کلیک روی آیکون افزونه" }, "contextMenu": { "label": "تنظیم عملکرد پیش‌فرض برای منوی زمینه" }, "fontSize": { "label": "اندازه فونت" }, "webuiBtnSidePanel": { "label": "نمایش دکمه رابط کاربری وب در پنل جانبی" }, "chatBackgroundImage": { "label": "تصویر پس‌زمینه چت" }, "storageSyncEnabled": { "label": "فعال کردن همگام‌سازی ذخیره‌سازی مرورگر (همگام‌سازی تنظیمات در بین دستگاه‌ها)" } }, "tts": { "heading": "تنظیمات تبدیل متن به گفتار", "ttsEnabled": { "label": "فعال کردن تبدیل متن به گفتار" }, "ttsAutoPlay": { "label": "پخش خودکار پاسخ صوتی پس از تکمیل" }, "ttsProvider": { "label": "ارائه دهنده تبدیل متن به گفتار", "placeholder": "یک ارائه دهنده را انتخاب کنید" }, "ttsVoice": { "label": "صدای تبدیل متن به گفتار", "placeholder": "صدا را انتخاب کنید" }, "ssmlEnabled": { "label": "فعال کردن SSML (Speech Synthesis Markup Language)" }, "responseSplitting": { "label": "تقسیم پاسخ" }, "removeReasoningTagTTS": { "label": "حذف برچسب استدلال از تبدیل متن به گفتار" } }, "stt": { "heading": "تنظیمات تبدیل گفتار به متن", "autoStopTimeout": { "label": "زمان توقف خودکار (میلی‌ثانیه)", "placeholder": "زمان توقف خودکار را به میلی‌ثانیه وارد کنید" }, "autoSubmitVoiceMessage": { "label": "ارسال خودکار پیام صوتی" } } }, "manageModels": { "title": "مدیریت مدل‌ها", "addBtn": "افزودن مدل جدید", "columns": { "name": "نام", "digest": "هضم", "nickname": "نام مستعار", "modifiedAt": "اصلاح شده در", "size": "اندازه", "actions": "اقدامات" }, "expandedColumns": { "parentModel": "مدل والد", "format": "فرمت", "family": "خانواده", "parameterSize": "اندازه پارامترها", "quantizationLevel": "سطح کوانتیزاسیون" }, "tooltip": { "delete": "حذف مدل", "repull": "دریافت دوباره مدل", "editNickname": "ویرایش نام مستعار" }, "confirm": { "delete": "آیا مطمئن هستید که می خواهید این مدل را حذف کنید؟", "repull": "آیا مطمئن هستید که می خواهید این مدل را دوباره دریافت کنید؟" }, "modal": { "title": "افزودن مدل جدید", "placeholder": "نام مدل را وارد کنید", "pull": "دریافت مدل" }, "notification": { "pullModel": "در حال دریافت مدل", "pullModelDescription": "در حال دریافت مدل {{modelName}}. برای جزئیات بیشتر، آیکون افزونه را بررسی کنید.", "cancellingDownload": "لغو دانلود", "cancellingDownloadDescription": "دانلود مدل در حال لغو شدن است...", "success": "موفقیت", "error": "خطا", "successDescription": "مدل با موفقیت دریافت شد", "successDeleteDescription": "مدل با موفقیت حذف شد", "someError": "مشکلی پیش آمد. لطفا بعدا دوباره امتحان کنید" } }, "managePrompts": { "title": "مدیریت پرامپت‌ها", "addBtn": "اضافه کردن پرامپت جدید", "option1": "عادی", "option2": "RAG", "questionPrompt": "سوال پرامپت", "columns": { "title": "عنولن", "prompt": "پرامپت", "type": "نوع پرامپت", "actions": "اقدامات" }, "segmented": { "custom": "پرامپت‌های سفارشی", "copilot": "پرامپت‌های کوپایلوت" }, "systemPrompt": "پرامپت سیستم ", "quickPrompt": "پرامپت سریع", "tooltip": { "delete": "پاک کردن پرامپت", "edit": "ویرایش پرامپت" }, "confirm": { "delete": "آیا مطمئن هستید که می خواهید این پرامپت را حذف کنید؟ این عمل قابل برگشت نیست." }, "modal": { "addTitle": "اضافه کردن پرامپت جدید", "editTitle": "ویرایش پرامپت" }, "form": { "title": { "label": "عنوان", "placeholder": "پرامپت عالی من", "required": "لطفا یک عنوان وارد کنید" }, "prompt": { "label": "پرامپت", "placeholder": "پرامپت وارد کنید", "required": "لطفا یک پرامپت وارد کنید", "help": "می توانید از {key} به عنوان متغیر در درخواست خود استفاده کنید.", "missingTextPlaceholder": "متغیر {text} در پرامپت وجود ندارد. لطفاً آن را اضافه کنید." }, "isSystem": { "label": "یک پرامپت سیستمی باشد" }, "btnSave": { "saving": "در حال اضافه کردن پرامپت...", "save": "اضافه کردن پرامپت" }, "btnEdit": { "saving": "در حال به روزرسانی پرامپت...", "save": "به روزرسانی پرامپت" } }, "notification": { "addSuccess": "پرامپت اضافه شد", "addSuccessDesc": "پرامپت با موفقیت اضافه شد", "error": "خطا", "someError": "مشکلی پیش آمد. لطفا بعدا دوباره امتحان کنید", "updatedSuccess": "پرامپت به روز شد", "updatedSuccessDesc": "پرامپت با موفقیت به روز شد", "deletedSuccess": "پرامپت حذف شد", "deletedSuccessDesc": "پرامپت با موفقیت حذف شد" } }, "manageShare": { "title": "مدیریت اشتراک گذاری", "heading": "پیکربندی URL اشتراک گذاری صفحه", "form": { "url": { "label": "آدرس اشتراک گذاری صفحه", "placeholder": "URL اشتراک گذاری صفحه را وارد کنید", "required": "لطفا URL اشتراک گذاری صفحه خود را وارد کنید!", "help": "به دلایل حفظ حریم خصوصی، می توانید اشتراک گذاری صفحه را خودتان میزبانی کنید و URL را در اینجا ارائه دهید. بیشتر بدانید." } }, "webshare": { "heading": "اشتراک گذاری وب", "columns": { "title": "عنوان", "url": "URL", "actions": "اقدامات" }, "tooltip": { "delete": "حذف اشتراک گذاری" }, "confirm": { "delete": "آیا مطمئن هستید که می خواهید این اشتراک گذاری را حذف کنید؟ این عمل قابل برگشت نیست." }, "label": "مدیریت اشتراک گذاری صفحه", "description": "ویژگی اشتراک گذاری صفحه را فعال یا غیرفعال کنید" }, "notification": { "pageShareSuccess": "URL اشتراک گذاری صفحه با موفقیت به روز شد", "someError": "مشکلی پیش آمد. لطفا بعدا دوباره امتحان کنید", "webShareDeleteSuccess": "اشتراک گذاری وب با موفقیت حذف شد" } }, "ollamaSettings": { "title": "تنظیمات Ollama", "heading": "پیکربندی Ollama", "settings": { "ollamaUrl": { "label": "آدرس Ollama", "placeholder": "URL Ollama را وارد کنید" }, "globalEnable": { "label": "فعال یا غیرفعال کردن یکپارچه سازی Ollama به صورت سراسری", "warning": "با غیرفعال کردن یکپارچه سازی Ollama به صورت سراسری، Page Assist مدل ها را از Ollama دریافت نخواهد کرد. شما همچنان می توانید نمونه Ollama را از بخش API سازگار با OpenAI اضافه کنید که به درستی کار خواهد کرد." }, "advanced": { "label": "پیکربندی پیشرفته URL Ollama", "urlRewriteEnabled": { "label": "URL مبدا سفارشی را فعال یا غیرفعال کنید" }, "rewriteUrl": { "label": "URL مبدا سفارشی", "placeholder": "URL مبدا سفارشی را وارد کنید" }, "autoCORSFix": { "label": "فعال یا غیرفعال کردن رفع خودکار CORS در Ollama" }, "headers": { "label": "هدرهای سفارشی", "add": "افزودن هدر", "key": { "label": "کلید هدر", "placeholder": "Authorization" }, "value": { "label": "مقدار هدر", "placeholder": "Bearer token" } }, "help": "اگر با Ollama در Page Assist مشکل اتصال دارید، می توانید یک URL اصلی سفارشی پیکربندی کنید. برای کسب اطلاعات بیشتر در مورد پیکربندی، اینجا را کلیک کنید." } } }, "manageSearch": { "title": "مدیریت جستجوی وب", "heading": "پیکربندی جستجوی وب" }, "about": { "title": "درباره", "heading": "درباره", "chromeVersion": "نسخه دستیار صفحه", "ollamaVersion": "نسخه Ollama", "support": "شما می توانید با کمک مالی یا حمایت مالی از طریق پلتفرم های زیر از پروژه Page Assist حمایت کنید:", "koFi": "پشتیبانی در Ko-fi", "githubSponsor": "حمایت مالی در GitHub", "githubRepo": "مخزن GitHub" }, "manageKnowledge": { "title": "مدیریت دانش", "heading": "پیکربندی پایگاه دانش" }, "rag": { "title": "تنظیمات Pipelineel", "ragSettings": { "label": "تنظیمات RAG", "model": { "label": "مدل جاسازی", "required": "لطفا یک مدل را انتخاب کنید", "help": "به شدت توصیه می شود از مدل های جاسازی مانند `nomic-embed-text` استفاده کنید.", "placeholder": "یک مدل را انتخاب کنید" }, "chunkSize": { "label": "اندازه تکه", "placeholder": "اندازه تکه را وارد کنید", "required": "لطفا اندازه تکه را وارد کنید" }, "chunkOverlap": { "label": "همپوشانی تکه", "placeholder": "داخل تکه همپوشانی شوید", "required": "لطفا یک همپوشانی تکه ای وارد کنید" }, "totalFilePerKB": { "label": "محدودیت پیش‌فرض آپلود فایل پایگاه دانش", "placeholder": "محدودیت پیش‌فرض آپلود فایل را وارد کنید (مثلاً 10)", "required": "لطفاً محدودیت پیش‌فرض آپلود فایل را وارد کنید" }, "noOfRetrievedDocs": { "label": "تعداد اسناد بازیابی شده", "placeholder": "تعداد اسناد بازیابی شده را وارد کنید", "required": "لطفاً تعداد اسناد بازیابی شده را وارد کنید" }, "splittingSeparator": { "label": "جداکننده", "placeholder": "جداکننده را وارد کنید (مثلاً \\n\\n)", "required": "لطفاً یک جداکننده وارد کنید" }, "splittingStrategy": { "label": "تقسیم‌کننده متن" } }, "prompt": { "label": "پیکربندی پرامپت RAG", "option1": "عادی", "option2": "وب", "alert": "پیکربندی اعلان سیستم در اینجا منسوخ شده است. لطفا از بخش مدیریت پرامپت‌ها برای افزودن یا ویرایش درخواست‌ها استفاده کنید. این بخش در نسخه بعدی حذف خواهد شد", "systemPrompt": "پرامپت سیستم", "systemPromptPlaceholder": "پرامپت سیستم را وارد کنید", "webSearchPrompt": "پرامپت جستجوی وب", "webSearchPromptHelp": "«{search_results}» را از پرامپت حذف نکنید.", "webSearchPromptError": "لطفا یک پرامپت جستجوی وب وارد کنید", "webSearchPromptPlaceholder": "پرامپت جستجوی وب را وارد کنید", "webSearchFollowUpPrompt": "پرامپت پیگیری جستجوی وب", "webSearchFollowUpPromptHelp": "«{chat_history}» و «{question}» را از پرامپت حذف نکنید.", "webSearchFollowUpPromptError": "لطفا پرامپت پیگیری جستجوی وب خود را وارد کنید!", "webSearchFollowUpPromptPlaceholder": "پرامپت پیگیری جستجوی وب شما" } }, "chromeAiSettings": { "title": "تنظیمات هوش مصنوعی کروم" }, "mermaid": "مرماید" } ================================================ FILE: src/assets/locale/fa/sidepanel.json ================================================ { "tooltip": { "embed": "ممکن است چند دقیقه طول بکشد تا صفحه جاسازی شود. لطفاً منتظر بمانید...", "clear": "پاک کردن تاریخچه گپ", "history": "تاریخچه گپ", "openwebui": "باز کردن رابط کاربری وب" } } ================================================ FILE: src/assets/locale/fr/chrome.json ================================================ { "heading": "Configurer Chrome AI", "status": { "label": "Activer ou désactiver la prise en charge de Chrome AI sur Page Assist" }, "error": { "browser_not_supported": "Cette version de Chrome n'est pas prise en charge par le modèle Gemini Nano. Veuillez mettre à jour vers la version 127 ou ultérieure.", "ai_not_supported": "Le paramètre chrome://flags/#prompt-api-for-gemini-nano n'est pas activé. Veuillez l'activer.", "ai_not_ready": "Gemini Nano n'est pas encore prêt; vous devez vérifier les paramètres de Chrome.", "internal_error": "Une erreur interne est survenue. Veuillez réessayer plus tard." }, "errorDescription": "Pour utiliser Chrome AI, vous avez besoin d'une version du navigateur supérieure à 138. Suivez ces étapes :\n\n1. Allez à `chrome://flags/#prompt-api-for-gemini-nano` et activez \"Prompt API for Gemini Nano\".\n2. Redémarrez Chrome pour appliquer le changement.\n3. Revenez à cette page et cliquez sur \"Télécharger le modèle\" — cela téléchargera un modèle de 4 Go pour la première fois.\n4. Une fois téléchargé, Gemini Nano peut être activé via Page Assist.", "downloadModel": "Télécharger le modèle", "modelDownloadWarning": "Cela téléchargera un modèle d'une taille de téléchargement approximative allant de 1,5 Go à 2,4 Go. Assurez-vous d'avoir suffisamment d'espace disque." } ================================================ FILE: src/assets/locale/fr/common.json ================================================ { "pageAssist": "Page Assist", "selectAModel": "Sélectionner un modèle", "save": "Enregistrer", "saved": "Enregistré", "cancel": "Annuler", "retry": "Réessayer", "share": { "tooltip": { "share": "Partager" }, "modal": { "title": "Partagez le lien vers le chat" }, "form": { "defaultValue": { "name": "Anonyme", "title": "Chat sans titre" }, "title": { "label": "Titre du chat", "placeholder": "Entrer le titre du chat", "required": "Le titre du chat est nécessaire" }, "name": { "label": "Votre nom", "placeholder": "Entrer votre nom", "required": "Votre nom est nécessaire" }, "btn": { "save": "Générer le lien", "saving": "Génération du lien..." } }, "notification": { "successGenerate": "Lien copié dans le presse-papiers", "failGenerate": "Échec de la génération du lien" } }, "copyToClipboard": "Copier dans le presse-papier", "webSearch": "Recherche sur le Web", "regenerate": "Régénérer", "continue": "Continuer la réponse", "edit": "Modifier", "delete": "Supprimer", "saveAndSubmit": "Enregistrer et soumettre", "editMessage": { "placeholder": "Tapez un message..." }, "submit": "Soumettre", "noData": "Aucune donnée", "noHistory": "Pas d'historique de chat", "chatWithCurrentPage": "Discuter avec la page actuelle", "beta": "Bêta", "tts": "Synthèse vocale", "currentChatModelSettings": "Paramètres actuels du modèle de chat", "modelSettings": { "label": "Paramètres du modèle", "description": "Définissez les options globales du modèle pour tous les chats", "form": { "keepAlive": { "label": "Maintenir en mémoire", "help": "contrôle la durée pendant laquelle le modèle reste chargé en mémoire après la demande (par défaut : 5m)", "placeholder": "Par exemple : 5m, 10m, 1h" }, "temperature": { "label": "Température", "placeholder": "Par exemple : 0.7, 1.0" }, "numCtx": { "label": "Taille de la fenêtre de contexte (num_ctx)", "placeholder": "Entrer la taille de la fenêtre de contexte (par défaut : 2048)" }, "numPredict": { "label": "Nombre maximum de jetons (num_predict)", "placeholder": "Par exemple : 2048, 4096" }, "seed": { "label": "Graine", "placeholder": "Par exemple : 1234", "help": "Reproductibilité de la sortie du modèle" }, "topK": { "label": "Top K", "placeholder": "Par exemple : 40, 100" }, "topP": { "label": "Top P", "placeholder": "Par exemple : 0.9, 0.95" }, "useMMap": { "label": "Utiliser MMap" }, "tfsZ": { "label": "TFS-Z", "placeholder": "Par exemple : 1.0, 1.1" }, "numKeep": { "label": "Nombre de conservation", "placeholder": "Par exemple : 256, 512" }, "numThread": { "label": "Nombre de threads", "placeholder": "Par exemple : 8, 16" }, "useMlock": { "label": "Utiliser Mlock" }, "minP": { "label": "Min P", "placeholder": "Par exemple : 0.05" }, "repeatPenalty": { "label": "Pénalité de répétition", "placeholder": "Par exemple : 1.1, 1.2" }, "repeatLastN": { "label": "Répéter les N derniers éléments", "placeholder": "Par exemple : 64, 128" }, "numGpu": { "label": "Nombre de GPU", "placeholder": "Entrer le nombre de couches à envoyer aux GPU" }, "systemPrompt": { "label": "Prompt système temporaire", "placeholder": "Entrer le prompt système", "help": "C'est un moyen rapide de définir le prompt système dans le chat actuel, qui remplacera le prompt système sélectionné si il existe." } }, "advanced": "Plus de paramètres du modèle" }, "copilot": { "summary": "Résumer", "explain": "Expliquer", "rephrase": "Reformuler", "translate": "Traduire", "custom": "Personnalisé" }, "citations": "Citations", "segmented": { "ollama": "Modèles Ollama", "custom": "Modèles personnalisés" }, "downloadCode": "Télécharger le code", "date": { "pinned": "Épinglé", "today": "Aujourd'hui", "yesterday": "Hier", "last7Days": "7 derniers jours", "older": "Plus ancien" }, "range": { "deleteConfirm": { "pinned": "Êtes-vous sûr de vouloir supprimer tous les messages épinglés ?", "today": "Êtes-vous sûr de vouloir supprimer tous les messages d'aujourd'hui ?", "yesterday": "Êtes-vous sûr de vouloir supprimer tous les messages d'hier ?", "last7Days": "Êtes-vous sûr de vouloir supprimer tous les messages des 7 derniers jours ?", "older": "Êtes-vous sûr de vouloir supprimer tous les messages plus anciens ?" }, "tooltip": { "pinned": "Supprimer tous les messages épinglés", "today": "Supprimer tous les messages d'aujourd'hui", "yesterday": "Supprimer tous les messages d'hier", "last7Days": "Supprimer tous les messages des 7 derniers jours", "older": "Supprimer tous les messages plus anciens" } }, "pin": "Épingler", "unpin": "Désépingler", "generationInfo": "Informations de génération", "sidebarChat": "Chat dans le panneau latérale", "reasoning": { "thinking": "Réflexion....", "thought": "Réflexion pendant {{time}}" }, "mermaid": "Mermaid", "embeddingGen": "Création d'embeddings, cela peut prendre un certain temps", "semanticSearch": "Recherche sémantique en cours", "downloading": "Téléchargement en cours", "cancelPullingModel": { "confirm": "Êtes-vous sûr de vouloir annuler le téléchargement ? Cela arrêtera le processus de téléchargement. Selon la documentation Ollama, vous pouvez reprendre là où vous vous êtes arrêté." } } ================================================ FILE: src/assets/locale/fr/knowledge.json ================================================ { "addBtn": "Ajouter de nouvelles connaissances", "columns": { "title": "Titre", "status": "Statut", "embeddings": "Modèle d'embedding", "createdAt": "Créé le", "action": "Actions" }, "expandedColumns": { "name": "Nom" }, "confirm": { "delete": "Êtes-vous sûr de vouloir supprimer cette connaissance ?" }, "deleteSuccess": "Connaissance supprimée avec succès", "status": { "pending": "En attente", "finished": "Terminé", "processing": "En cours", "failed": "Échoué" }, "addKnowledge": "Ajouter une connaissance", "updateKnowledge": "Ajouter une source", "form": { "title": { "label": "Titre de la connaissance", "placeholder": "Entrer le titre de la connaissance", "required": "Le titre de la connaissance est nécessaire" }, "uploadFile": { "label": "Charger un fichier", "uploadText": "Faites glisser et déposez un fichier ici ou cliquez pour charger", "uploadHint": "Types de fichiers pris en charge: .pdf, .csv, .txt, .md, .docx", "required": "Un fichier est nécessaire" }, "submit": "Soumettre", "success": "Connaissance ajoutée avec succès" }, "noEmbeddingModel": "Veuillez d'abord ajouter un modèle d'embedding depuis la page des paramètres RAG" } ================================================ FILE: src/assets/locale/fr/openai.json ================================================ { "settings": "API compatible OpenAI", "heading": "API compatible OpenAI", "subheading": "Gérez et configurez ici vos fournisseurs d'API compatibles OpenAI.", "addBtn": "Ajouter un fournisseur", "table": { "name": "Nom du fournisseur", "baseUrl": "URL de base", "actions": "Actions" }, "modal": { "titleAdd": "Ajouter un nouveau fournisseur", "titleEdit": "Modifier le fournisseur", "name": { "label": "Nom du fournisseur", "required": "Le nom du fournisseur est nécessaire.", "placeholder": "Entrer le nom du fournisseur" }, "baseUrl": { "label": "URL de base", "help": "L'URL de base du fournisseur d'API OpenAI. ex: (http://localhost:1234/v1)", "required": "L'URL de base est nécessaire.", "placeholder": "Entrer l'URL de base" }, "apiKey": { "label": "Clé API", "required": "La clé API est nécessaire.", "placeholder": "Entrer la clé API" }, "submit": "Enregistrer", "update": "Mettre à jour", "deleteConfirm": "Êtes-vous sûr de vouloir supprimer ce fournisseur ?", "model": { "title": "Liste des modèles", "subheading": "Veuillez sélectionner les modèles de chat que vous souhaitez utiliser avec ce fournisseur.", "success": "Nouveaux modèles ajoutés avec succès." }, "tipLMStudio": "Page Assist récupérera automatiquement les modèles que vous avez chargés sur LM Studio. Vous n'avez pas besoin de les ajouter manuellement." }, "addSuccess": "Fournisseur ajouté avec succès.", "deleteSuccess": "Fournisseur supprimé avec succès.", "updateSuccess": "Fournisseur mis à jour avec succès.", "delete": "Supprimer", "edit": "Modifier", "newModel": "Ajouter des modèles au fournisseur", "noNewModel": "Page Assist récupérera automatiquement les modèles que vous avez chargés sur LM Studio. Vous n'avez pas besoin de les ajouter manuellement.", "searchModel": "Rechercher un modèle", "selectAll": "Sélectionner tout", "save": "Enregistrer", "saving": "Enregistrement...", "manageModels": { "columns": { "name": "Nom du modèle", "model_type": "Type de modèle", "model_id": "ID du modèle", "provider": "Nom du fournisseur", "actions": "Action", "nickname": "Alias du modèle" }, "tooltip": { "delete": "Supprimer" }, "confirm": { "delete": "Êtes-vous sûr de vouloir supprimer ce modèle ?" }, "modal": { "title": "Ajouter un modèle personnalisé", "titleEdit": "Modifier un modèle personnalisé", "form": { "name": { "label": "ID du modèle", "placeholder": "llama3.2", "required": "L'ID du modèle est nécessaire." }, "provider": { "label": "Fournisseur", "placeholder": "Sélectionner un fournisseur", "required": "Le fournisseur est nécessaire." }, "type": { "label": "Type de modèle" } } } }, "noModelFound": "Aucun modèle trouvé. Assurez-vous d'avoir ajouté le bon fournisseur avec l'URL de base et la clé API.", "radio": { "chat": "Modèle de chat", "embedding": "Modèle d'embedding", "chatInfo": "est utilisé pour la complétion de chat et la génération de conversation", "embeddingInfo": "est utilisé pour le RAG et d'autres tâches liées à la recherche sémantique." }, "nicknameModal": { "title": "Ajouter / Modifier l'alias du modèle", "form": { "modelName": { "label": "Nom du modèle", "placeholder": "Entrer le nom du modèle", "required": "Le nom du modèle est nécessaire." }, "modelAvatar": { "label": "Avatar du modèle", "placeholder": "Entrer l'avatar du modèle", "help": "Veuillez entrer l'URL de l'avatar du modèle. Cette image sera affichée dans la fenêtre de chat." } } } } ================================================ FILE: src/assets/locale/fr/option.json ================================================ { "newChat": "Nouveau chat", "selectAPrompt": "Sélectionner un prompt", "githubRepository": "Dépôt GitHub", "settings": "Paramètres", "sidebarTitle": "Historique de chat", "error": "Erreur", "somethingWentWrong": "Une erreur s'est produite", "validationSelectModel": "Veuillez sélectionner un modèle pour continuer", "deleteHistoryConfirmation": "Êtes-vous sûr de vouloir supprimer cet historique ?", "editHistoryTitle": "Entrer un nouveau titre", "temporaryChat": "Chat temporaire", "more": { "copy": { "group": "Copier", "asText": "Copier comme texte", "asMarkdown": "Copier comme Markdown", "success": "Copié dans le presse-papiers !" }, "download": { "group": "Télécharger", "text": "Fichier texte (.txt)", "markdown": "Markdown (.md)", "json": "Fichier JSON (.json)", "image": "Image (.png)" }, "share": "Partager" } } ================================================ FILE: src/assets/locale/fr/playground.json ================================================ { "ollamaState": { "searching": "Recherche de votre Ollama 🦙", "running": "Ollama est en cours d'exécution 🦙", "notRunning": "Impossible de se connecter à Ollama 🦙", "connectionError": "Il semble que vous rencontriez une erreur de connexion. Veuillez consulter cette documentation pour résoudre le problème." }, "formError": { "noModel": "Veuillez sélectionner un modèle", "noEmbeddingModel": "Veuillez définir un modèle d'intégration sur la page Paramètres > RAG" }, "form": { "textarea": { "placeholder": "Saisir un message..." }, "webSearch": { "on": "Activé", "off": "Désactivé" } }, "tooltip": { "searchInternet": "Rechercher sur Internet", "speechToText": "Reconnaissance vocale", "uploadImage": "Uploader une image", "stopStreaming": "Arrêter la diffusion", "knowledge": "Connaissances", "vision": "Discussion visuelle [Expérimental]", "clearContext": "Effacer le contexte" }, "sendWhenEnter": "Envoyer en appuyant sur Entrée", "welcome": "Bonjour ! Comment puis-je vous aider aujourd'hui ?", "useOCR": "Extraire le texte de l'image (OCR)" } ================================================ FILE: src/assets/locale/fr/settings.json ================================================ { "generalSettings": { "title": "Paramètres généraux", "settings": { "heading": "Paramètres de l'interface Web", "speechRecognitionLang": { "label": "Langue de la reconnaissance vocale", "placeholder": "Sélectionner une langue" }, "language": { "label": "Langue", "placeholder": "Sélectionner une langue" }, "darkMode": { "label": "Changer de thème", "options": { "light": "Clair", "dark": "Sombre" } }, "copilotResumeLastChat": { "label": "Reprendre la dernière conversation lors de l'ouverture du panneau latéral (Copilot)" }, "turnOnChatWithWebsite": { "label": "Activer le chat avec le site Web par défaut (Copilot)" }, "webUIResumeLastChat": { "label": "Reprendre la dernière conversation lors de l'ouverture de l'interface Web" }, "hideCurrentChatModelSettings": { "label": "Masquer les paramètres actuels du modèle de chat" }, "restoreLastChatModel": { "label": "Restaurer le dernier modèle utilisé pour les conversations précédentes" }, "sendNotificationAfterIndexing": { "label": "Envoyer une notification après avoir terminé le traitement de la base de connaissances" }, "generateTitle": { "label": "Générer le titre en utilisant l'IA" }, "ollamaStatus": { "label": "Activer ou désactiver la vérification de l'état de la connexion Ollama" }, "wideMode": { "label": "Activer le mode écran large" }, "openReasoning": { "label": "Déplier par défaut le raisonnement" }, "userChatBubble": { "label": "Utiliser une bulle de discussion pour les messages de l'utilisateur" }, "autoCopyResponseToClipboard": { "label": "Copier automatiquement la réponse dans le presse-papiers" }, "useMarkdownForUserMessage": { "label": "Activer le formatage Markdown pour les messages de l'utilisateur" }, "copyAsFormattedText": { "label": "Copier en tant que texte formaté" }, "tabMentionsEnabled": { "label": "Activer les mentions d'onglets (@tab)" }, "pasteLargeTextAsFile": { "label": "Coller le texte volumineux en tant que fichier" }, "sidepanelTemporaryChat": { "label": "Activer le chat temporaire dans le panneau latéral par défaut" }, "defaultCopilotPrompt": { "label": "Prompt par défaut pour le panneau latéral (Copilot)", "placeholder": "Sélectionner un prompt" }, "defaultThinkingMode": { "label": "Afficher l'état du mode de réflexion dans les formulaires" }, "defaultWebUIPrompt": { "label": "Prompt par défaut pour l'interface Web", "placeholder": "Sélectionner un prompt" }, "enableMessageQueue": { "label": "Activer la file d'attente des messages pendant le streaming" }, "hideReasoningWidget": { "label": "Masquer le widget de raisonnement des messages IA" }, "ocrLanguage": { "label": "Langue OCR par défaut", "placeholder": "Sélectionner une langue OCR" }, "optimizeQueueForSmallScreen": { "label": "Optimiser l'interface de chat pour les petits écrans" }, "persistChatInput": { "label": "Conserver la saisie du chat (enregistrer les messages non envoyés)" }, "removeReasoningTagFromCopy": { "label": "Supprimer la balise de raisonnement du texte copié" }, "showMoreForLargeMessage": { "label": "Afficher « Voir plus » pour les longs messages utilisateur" }, "sidebarPosition": { "label": "Position de la barre latérale", "options": { "left": "Gauche", "right": "Droite" } }, "tableTextWrap": { "label": "Activer le retour à la ligne dans les tableaux Markdown" }, "webuiTemporaryChat": { "label": "Activer le chat temporaire dans l'interface Web par défaut" }, "youtubeAutoSummarize": { "label": "Afficher le bouton « Résumer » sur les vidéos YouTube." } }, "sidepanelRag": { "heading": "Paramètres de récupération", "ragEnabled": { "label": "Activer l'intégration et la récupération" }, "maxWebsiteContext": { "label": "Taille maximale du contenu pour le mode contexte complet", "placeholder": "Taille du contenu (par défaut 4028)" } }, "webSearch": { "heading": "Gérer la recherche Web", "searchMode": { "label": "Effectuer une simple recherche sur Internet" }, "provider": { "label": "Moteur de recherche", "placeholder": "Sélectionner un moteur de recherche" }, "totalSearchResults": { "label": "Nombre total de résultats de recherche", "placeholder": "Entrer le nombre total de résultats de recherche" }, "visitSpecificWebsite": { "label": "Visiter le site Web mentionné dans le message" }, "searxng": { "url": { "label": "URL SearXNG" } }, "braveApi": { "label": "Clé API Brave", "placeholder": "Entrer votre clé API Brave" }, "googleDomain": { "label": "Domaine Google" }, "searchOnByDefault": { "label": "Recherche Internet activée par défaut" }, "blockedDomains": { "description": "Exclure les résultats provenant de ces domaines", "label": "Domaines bloqués", "placeholder": "ex. spam.com" }, "domainFilter": { "description": "Afficher uniquement les résultats provenant de ces domaines", "label": "Liste de filtres de domaines", "placeholder": "ex. example.com" }, "exa": { "label": "Clé API Exa", "placeholder": "Entrer votre clé API Exa" }, "firecrawlAPIKey": { "label": "Clé API Firecrawl", "placeholder": "Entrer votre clé API Firecrawl" }, "tavilyApi": { "label": "Clé API Tavily", "placeholder": "Entrer votre clé API Tavily" } }, "system": { "heading": "Paramètres système", "storageSyncEnabled": { "label": "Activer la synchronisation du stockage du navigateur (synchroniser les paramètres entre les appareils)" }, "deleteChatHistory": { "label": "Réinitialisation du système", "button": "Tout réinitialiser", "confirm": "Êtes-vous sûr de vouloir effectuer une réinitialisation du système ? Cela effacera toutes les données et ne pourra pas être annulé." }, "export": { "label": "Exporter toutes les données (historique de chat, base de connaissances, prompts et paramètres)", "button": "Exporter les données", "success": "Exportation réussie" }, "import": { "label": "Importer toutes les données (historique de chat, base de connaissances, prompts et paramètres)", "button": "Importer les données", "success": "Importation réussie", "error": "Erreur d’importation" }, "actionIcon": { "label": "Définir l'action par défaut pour les clics sur l'icône de l'extension" }, "chatBackgroundImage": { "label": "Image d'arrière-plan du chat" }, "contextMenu": { "label": "Définir l'action par défaut pour le menu contextuel" }, "fontSize": { "label": "Taille de police" }, "webuiBtnSidePanel": { "label": "Afficher le bouton Web UI dans le panneau latéral" } }, "tts": { "heading": "Paramètres de synthèse vocale", "ttsEnabled": { "label": "Activer la synthèse vocale" }, "ttsAutoPlay": { "label": "Lecture automatique de la réponse vocale après la fin" }, "ttsProvider": { "label": "Fournisseur de synthèse vocale", "placeholder": "Sélectionnez un fournisseur" }, "ttsVoice": { "label": "Voix de synthèse vocale", "placeholder": "Sélectionner une voix" }, "ssmlEnabled": { "label": "Activer SSML (langage de balisage de synthèse vocale)" }, "responseSplitting": { "label": "Fractionnement de la réponse" }, "removeReasoningTagTTS": { "label": "Supprimer la balise de raisonnement de la synthèse vocale" } }, "stt": { "heading": "Paramètres de reconnaissance vocale", "autoStopTimeout": { "label": "Délai d'arrêt automatique (ms)", "placeholder": "Entrez le délai d'arrêt automatique en millisecondes" }, "autoSubmitVoiceMessage": { "label": "Envoi automatique du message vocal" } } }, "manageModels": { "title": "Gérer les modèles", "addBtn": "Ajouter un nouveau modèle", "columns": { "name": "Nom", "digest": "Empreinte", "nickname": "Alias", "modifiedAt": "Modifié", "size": "Taille", "actions": "Actions" }, "expandedColumns": { "parentModel": "Modèle parent", "format": "Format", "family": "Famille", "parameterSize": "Taille des paramètres", "quantizationLevel": "Niveau de quantification" }, "tooltip": { "delete": "Supprimer le modèle", "repull": "Recharger le modèle", "editNickname": "Renommer" }, "confirm": { "delete": "Êtes-vous sûr de vouloir supprimer ce modèle ?", "repull": "Êtes-vous sûr de vouloir recharger ce modèle ?" }, "modal": { "title": "Ajouter un nouveau modèle", "placeholder": "Entrer le nom du modèle", "pull": "Récupérer le Modèle" }, "notification": { "pullModel": "Récupération du modèle", "pullModelDescription": "Récupération du modèle {{modelName}}. Pour plus de détails, vérifiez l'icône de l'extension.", "success": "Succès", "error": "Erreur", "successDescription": "Modèle récupéré avec succès", "successDeleteDescription": "Modèle supprimé avec succès", "someError": "Une erreur s'est produite. Veuillez réessayer plus tard", "cancellingDownload": "Annulation du téléchargement", "cancellingDownloadDescription": "Le téléchargement du modèle est en cours d'annulation..." } }, "managePrompts": { "title": "Gérer les prompts", "addBtn": "Ajouter un nouveau prompt", "option1": "Normale", "option2": "RAG", "questionPrompt": "Prompt de question", "segmented": { "custom": "Prompts personnalisées", "copilot": "Prompts Copilot" }, "columns": { "title": "Titre", "prompt": "Prompt", "type": "Type de prompt", "actions": "Actions" }, "systemPrompt": "Prompt système", "quickPrompt": "Prompt rapide", "tooltip": { "delete": "Supprimer le prompt", "edit": "Modifier le prompt" }, "confirm": { "delete": "Êtes-vous sûr de vouloir supprimer ce prompt ? Cette action ne peut pas être annulée." }, "modal": { "addTitle": "Ajouter un nouveau prompt", "editTitle": "Modifier le prompt" }, "form": { "title": { "label": "Titre", "placeholder": "Mon super prompt", "required": "Veuillez entrer un titre" }, "prompt": { "label": "Prompt", "placeholder": "Entrer le prompt", "required": "Veuillez entrer un prompt", "help": "Vous pouvez utiliser {key} comme variable dans votre prompt.", "missingTextPlaceholder": "La variable {text} est manquante dans le message. Veuillez l'ajouter." }, "isSystem": { "label": "Est un prompt système" }, "btnSave": { "saving": "Ajout du prompt...", "save": "Ajouter un prompt" }, "btnEdit": { "saving": "Mise à jour du prompt...", "save": "Modifier le prompt" } }, "notification": { "addSuccess": "Prompt ajouté", "addSuccessDesc": "Le prompt a été ajouté avec succès", "error": "Erreur", "someError": "Une erreur s'est produite. Veuillez réessayer plus tard", "updatedSuccess": "Prompt mis à jour", "updatedSuccessDesc": "Le prompt a été mis à jour avec succès", "deletedSuccess": "Prompt supprimé", "deletedSuccessDesc": "Le prompt a été supprimé avec succès" } }, "manageShare": { "title": "Gérer le partage", "heading": "Configurer l'URL de partage de la page", "form": { "url": { "label": "URL de partage de page", "placeholder": "Entrer l'URL de partage de la page", "required": "Veuillez saisir URL de partage de votre page!", "help": "Pour des raisons de confidentialité, vous pouvez auto-héberger le partage de la page et fournir l'URL ici.En savoir plus." } }, "webshare": { "heading": "Partage Web", "columns": { "title": "Titre", "url": "URL", "actions": "Actions" }, "tooltip": { "delete": "Supprimer le partage" }, "confirm": { "delete": "Êtes-vous sûr de vouloir supprimer ce partage ? Cette action ne peut pas être annulée." }, "label": "Gérer le partage de pages", "description": "Activer ou désactiver la fonction de partage de page" }, "notification": { "pageShareSuccess": "URL de partage de page mise à jour avec succès", "someError": "Une erreur s'est produite. Veuillez réessayer plus tard", "webShareDeleteSuccess": "Partage Web supprimé avec succès" } }, "ollamaSettings": { "title": "Paramètres d'Ollama", "heading": "Configurer Ollama", "settings": { "ollamaUrl": { "label": "URL d'Ollama", "placeholder": "Entrer l'URL d'Ollama" }, "globalEnable": { "label": "Activer ou désactiver l'intégration Ollama globalement", "warning": "En désactivant l'intégration Ollama globalement, Page Assist ne récupérera pas les modèles d'Ollama. Vous pouvez toujours ajouter une instance Ollama depuis la section API compatible OpenAI qui fonctionnera correctement." }, "advanced": { "label": "Configuration avancée de l'URL d'Ollama", "urlRewriteEnabled": { "label": "Activer ou désactiver l'URL d'origine personnalisée" }, "rewriteUrl": { "label": "URL d'origine personnalisée", "placeholder": "Entrer l'URL d'origine personnalisée" }, "autoCORSFix": { "label": "Activer ou désactiver la correction automatique CORS d'Ollama" }, "headers": { "label": "En-têtes personnalisés", "add": "Ajouter un en-tête", "key": { "label": "Clé de l'en-tête", "placeholder": "Autorisation" }, "value": { "label": "Valeur de l'en-tête", "placeholder": "Jeton Bearer" } }, "help": "Si vous rencontrez des problèmes de connexion avec Ollama sur Page Assist, vous pouvez configurer une URL d'origine personnalisée. Pour en savoir plus sur la configuration, cliquez ici." } } }, "manageSearch": { "title": "Gérer la recherche Web", "heading": "Configurer la recherche Web" }, "about": { "title": "À propos", "heading": "À propos", "chromeVersion": "Version de Page Assist", "ollamaVersion": "Version d'Ollama", "support": "Vous pouvez soutenir le projet Page Assist en faisant un don ou en parrainant via les plateformes suivantes :", "koFi": "Soutenir sur Ko-fi", "githubSponsor": "Parrainer sur GitHub", "githubRepo": "Dépôt GitHub" }, "manageKnowledge": { "title": "Gérer les connaissances", "heading": "Configurer la base de connaissances" }, "rag": { "title": "Paramètres Pipeline", "ragSettings": { "label": "Paramètres RAG", "model": { "label": "Modèle d'embedding", "required": "Veuillez sélectionner un modèle", "help": "Fortement recommandé d'utiliser des modèles d'embedding comme «momic-embed-text».", "placeholder": "Sélectionner un modèle" }, "chunkSize": { "label": "Taille des Segments", "placeholder": "Entrer la taille des segments", "required": "Veuillez entrer une taille de segment" }, "chunkOverlap": { "label": "Chevauchement des segments", "placeholder": "Entrer le chevauchement des segments", "required": "Veuillez entrer un chevauchement de segment" }, "totalFilePerKB": { "label": "Limite de téléchargement de fichiers par défaut de la base de connaissances", "placeholder": "Entrer la limite de téléchargement de fichiers par défaut (par exemple, 10)", "required": "Veuillez entrer la limite de téléchargement de fichiers par défaut" }, "noOfRetrievedDocs": { "label": "Nombre de documents récupérés", "placeholder": "Entrer le nombre de documents récupérés", "required": "Veuillez entrer le nombre de documents récupérés" }, "splittingSeparator": { "label": "Séparateur", "placeholder": "Entrer le séparateur (par exemple, \\n\\n)", "required": "Veuillez entrer un séparateur" }, "splittingStrategy": { "label": "Diviseur de texte" } }, "prompt": { "label": "Configurer le prompt RAG", "option1": "Normal", "option2": "Web", "alert": "La configuration du prompt système ici est obsolète. Veuillez utiliser la section Gérer les prompts pour ajouter ou modifier des prompts. Cette section sera supprimée dans une prochaine version", "systemPrompt": "Prompt système", "systemPromptPlaceholder": "Entrer le prompt système", "webSearchPrompt": "Prompt de recherche Web", "webSearchPromptHelp": "Ne supprimez pas `{search_results}` du prompt.", "webSearchPromptError": "Veuillez entrer un prompt de recherche Web", "webSearchPromptPlaceholder": "Entrer le prompt de recherche Web", "webSearchFollowUpPrompt": "Prompt de suivi de recherche Web", "webSearchFollowUpPromptHelp": "Ne supprimez pas `{chat_history}` et `{question}` du prompt.", "webSearchFollowUpPromptError": "Veuillez saisir votre prompt de suivi de recherche Web !", "webSearchFollowUpPromptPlaceholder": "Votre prompt de suivi de recherche Web" } }, "chromeAiSettings": { "title": "Paramètres Chrome AI" }, "mermaid": "Mermaid" } ================================================ FILE: src/assets/locale/fr/sidepanel.json ================================================ { "tooltip": { "embed": "L'intégration de la page peut prendre quelques minutes. Veuillez patienter...", "clear": "Effacer l'historique du chat", "history": "Historique du chat", "openwebui": "Ouvrir WebUI" } } ================================================ FILE: src/assets/locale/it/chrome.json ================================================ { "heading": "Configura Chrome AI", "status": { "label": "Abilita o disabilita il supporto di Chrome AI su Page Assist" }, "error": { "browser_not_supported": "Questa versione di Chrome non è supportata dal modello Gemini Nano. Si prega di aggiornare alla versione 127 o successiva.", "ai_not_supported": "L'impostazione chrome://flags/#prompt-api-for-gemini-nano non è abilitata. Si prega di abilitarla.", "ai_not_ready": "Gemini Nano non è ancora pronto; è necessario verificare le impostazioni di Chrome.", "internal_error": "Si è verificato un errore interno. Si prega di riprovare più tardi." }, "errorDescription": "Per utilizzare Chrome AI, è necessaria la versione 138 o successiva di Chrome. Segui questi passaggi:\n\n1. Vai a `chrome://flags/#prompt-api-for-gemini-nano` e abilita \"Prompt API for Gemini Nano\".\n2. Riavvia Chrome per applicare la flag.\n3. Torna su questa pagina e clicca su \"Scarica Modello\" — questo scaricherà un modello da 4GB la prima volta.\n4. Una volta scaricato, Gemini Nano può essere abilitato tramite Page Assist.", "downloadModel": "Scarica Modello", "modelDownloadWarning": "Questo scaricherà un modello con una dimensione approssimativa tra 1,5 GB e 2,4 GB. Assicurati di avere spazio sufficiente sul disco." } ================================================ FILE: src/assets/locale/it/common.json ================================================ { "pageAssist": "Page Assist", "selectAModel": "Seleziona un Modello", "save": "Salva", "saved": "Salvato", "cancel": "Annulla", "retry": "Riprova", "share": { "tooltip": { "share": "Condividi" }, "modal": { "title": "Condividi Collegamento alla Chat" }, "form": { "defaultValue": { "name": "Anonimo", "title": "Chat Senza Titolo" }, "title": { "label": "Titolo della Chat", "placeholder": "Inserisci il Titolo della Chat", "required": "Titolo della Chat obbligatorio" }, "name": { "label": "Il tuo Nome", "placeholder": "Inserisci il tuo Nome", "required": "Nome obbligatorio" }, "btn": { "save": "Genera Link", "saving": "Sto generando il Link..." } }, "notification": { "successGenerate": "Link copiato negli appunti", "failGenerate": "Impossibile generare il link" } }, "copyToClipboard": "Copia negli Appunti", "webSearch": "Ricerca nel Web", "regenerate": "Rigenera", "continue": "Continua Risposta", "edit": "Modifica", "delete": "Elimina", "saveAndSubmit": "Salva e Invia", "editMessage": { "placeholder": "Scrivi un messaggio..." }, "submit": "Invia", "noData": "Nessun Dato", "noHistory": "Nessuna Cronologia Chat", "chatWithCurrentPage": "Chatta con la Pagina Corrente", "beta": "Beta", "tts": "Leggi ad Alta Voce", "currentChatModelSettings": "Impostazioni del Modello Corrente", "modelSettings": { "label": "Impostazioni del Modello", "description": "Imposta le opzioni del modello globalmente per tutte le chat", "form": { "keepAlive": { "label": "Keep Alive", "help": "Imposta il tempo per cui il modello deve rimanere caricato in memoria (default: 5m)", "placeholder": "Inserisci la durata del Keep Alive (e.g. 5m, 10m, 1h)" }, "temperature": { "label": "Temperatura", "placeholder": "Inserisci la Temperatura (e.g. 0.7, 1.0)" }, "numCtx": { "label": "Dimensione della Finestra di Contesto (num_ctx)", "placeholder": "Inserisci il valore della Finestra di Contesto (default: 2048)" }, "numPredict": { "label": "Token Massimi (num_predict)", "placeholder": "Inserisci il valore dei Token Massimi (es. 2048, 4096)" }, "seed": { "label": "Seed", "placeholder": "Inserisci il Valore Seed (e.g. 1234)", "help": "Riproducibilità dell'output del modello" }, "topK": { "label": "Top K", "placeholder": "Inserisci il Valore Top K (e.g. 40, 100)" }, "topP": { "label": "Top P", "placeholder": "Inserisci il Valore Top P (e.g. 0.9, 0.95)" }, "numGpu": { "label": "Num GPU", "placeholder": "Inserisci il numero di layer da inviare alla/e GPU" }, "systemPrompt": { "label": "Prompt di Sistema Temporaneo", "placeholder": "Inserisci il Prompt di Sistema", "help": "Questo è un modo rapido per impostare il prompt di sistema nella chat corrente, che sovrascriverà il prompt di sistema selezionato se esiste." } }, "advanced": "Altre Impostazioni del Modello" }, "copilot": { "summary": "Riassumere", "explain": "Spiegare", "rephrase": "Riformulare", "translate": "Tradurre" }, "citations": "Citazioni", "downloadCode": "Scarica Codice", "date": { "pinned": "Fissato", "today": "Oggi", "yesterday": "Ieri", "last7Days": "Ultimi 7 Giorni", "older": "Più Vecchi" }, "range": { "deleteConfirm": { "pinned": "Sei sicuro di voler eliminare tutti i messaggi fissati?", "today": "Sei sicuro di voler eliminare tutti i messaggi di oggi?", "yesterday": "Sei sicuro di voler eliminare tutti i messaggi di ieri?", "last7Days": "Sei sicuro di voler eliminare tutti i messaggi degli ultimi 7 giorni?", "older": "Sei sicuro di voler eliminare tutti i messaggi più vecchi?" }, "tooltip": { "pinned": "Elimina tutti i messaggi fissati", "today": "Elimina tutti i messaggi di oggi", "yesterday": "Elimina tutti i messaggi di ieri", "last7Days": "Elimina tutti i messaggi degli ultimi 7 giorni", "older": "Elimina tutti i messaggi più vecchi" } }, "pin": "Fissa", "unpin": "Rimuovi", "generationInfo": "Informazioni sulla Generazione", "sidebarChat": "Chat Laterale", "reasoning": { "thinking": "Pensando....", "thought": "Pensato per {{time}}" }, "mermaid": "Mermaid", "embeddingGen": "Creazione di embeddings, questo può richiedere un po' di tempo", "semanticSearch": "Ricerca semantica in corso", "downloading": "Download in corso", "cancelPullingModel": { "confirm": "Sei sicuro di voler annullare il download? Questo interromperà il processo di download. Secondo la documentazione di Ollama, puoi riprendere da dove hai interrotto." } } ================================================ FILE: src/assets/locale/it/knowledge.json ================================================ { "addBtn": "Aggiungi nuova Knowledge Base", "columns": { "title": "Titolo", "status": "Stato", "embeddings": "Modello di Embedding", "createdAt": "Creato da", "action": "Azioni" }, "expandedColumns": { "name": "Nome" }, "confirm": { "delete": "Sei sicuro di voler eliminare questa Knowledge Base?" }, "deleteSuccess": "Knowledge Base eliminata correttamente", "status": { "pending": "In attesa", "finished": "Completato", "processing": "In corso", "failed": "Fallito" }, "addKnowledge": "Aggiungi Knowledge Base", "updateKnowledge": "Aggiungi Fonte", "form": { "title": { "label": "Titolo Knowledge Base", "placeholder": "Inserisci il titolo della Knowledge Base", "required": "Il Titolo è obbligatorio" }, "uploadFile": { "label": "Carica File", "uploadText": "Trascina un file qui or scegli upload", "uploadHint": "Tipi di file supportati: .pdf, .csv, .txt, .md, .docx", "required": "File è obbligatorio" }, "submit": "Invia", "success": "Knowledge Base aggiunta correttamente" }, "noEmbeddingModel": "Aggiungi prima un modello dalla pagina di impostazione di RAG" } ================================================ FILE: src/assets/locale/it/openai.json ================================================ { "settings": "API compatibile con OpenAI", "heading": "API compatibile con OpenAI", "subheading": "Gestisci e configura qui i tuoi provider API compatibili con OpenAI.", "addBtn": "Aggiungi Provider", "table": { "name": "Nome Provider", "baseUrl": "URL di Base", "actions": "Azione" }, "modal": { "titleAdd": "Aggiungi Nuovo Provider", "name": { "label": "Nome Provider", "required": "Il nome del provider è obbligatorio.", "placeholder": "Inserisci il nome del provider" }, "baseUrl": { "label": "URL di Base", "help": "L'URL di base del provider API OpenAI. es. (http://localhost:1234/v1)", "required": "L'URL di base è obbligatorio.", "placeholder": "Inserisci l'URL di base" }, "apiKey": { "label": "Chiave API", "required": "La chiave API è obbligatoria.", "placeholder": "Inserisci la chiave API" }, "submit": "Salva", "update": "Aggiorna", "deleteConfirm": "Sei sicuro di voler eliminare questo provider?", "model": { "title": "Lista Modelli", "subheading": "Seleziona i modelli di chat che desideri utilizzare con questo provider.", "success": "Nuovi modelli aggiunti con successo." }, "tipLMStudio": "Page Assist recupererà automaticamente i modelli caricati su LM Studio. Non è necessario aggiungerli manualmente." }, "addSuccess": "Provider aggiunto con successo.", "deleteSuccess": "Provider eliminato con successo.", "updateSuccess": "Provider aggiornato con successo.", "delete": "Elimina", "edit": "Modifica", "newModel": "Aggiungi Modelli al Provider", "noNewModel": "Per LMStudio, Ollama, Llamafile, recuperiamo dinamicamente. Non è necessaria l'aggiunta manuale.", "searchModel": "Cerca Modello", "selectAll": "Seleziona Tutto", "save": "Salva", "saving": "Salvataggio in corso...", "manageModels": { "columns": { "name": "Nome Modello", "model_type": "Tipo di Modello", "model_id": "ID Modello", "provider": "Nome Provider", "actions": "Azione", "nickname": "Soprannome Modello" }, "tooltip": { "delete": "Elimina" }, "confirm": { "delete": "Sei sicuro di voler eliminare questo modello?" }, "modal": { "title": "Aggiungi Modello Personalizzato", "form": { "name": { "label": "ID Modello", "placeholder": "llama3.2", "required": "L'ID del modello è obbligatorio." }, "provider": { "label": "Provider", "placeholder": "Seleziona provider", "required": "Il provider è obbligatorio." }, "type": { "label": "Tipo di Modello" } } } }, "noModelFound": "Nessun modello trovato. Assicurati di aver aggiunto il provider corretto con l'URL di base e la chiave API.", "radio": { "chat": "Modello di Chat", "embedding": "Modello di Embedding", "chatInfo": "è utilizzato per il completamento della chat e la generazione di conversazioni", "embeddingInfo": "è utilizzato per RAG e altri compiti correlati alla ricerca semantica." }, "nicknameModal": { "title": "Aggiungi / Modifica Soprannome Modello", "form": { "modelName": { "label": "Nome Modello", "placeholder": "Inserisci nome modello", "required": "Il nome del modello è obbligatorio." }, "modelAvatar": { "label": "Avatar Modello", "placeholder": "Inserisci avatar modello", "help": "Inserisci l'URL dell'avatar del modello. Questa immagine verrà visualizzata nella finestra di chat." } } } } ================================================ FILE: src/assets/locale/it/option.json ================================================ { "newChat": "Nuova Chat", "selectAPrompt": "Scegli un Prompt", "githubRepository": "GitHub Repository", "settings": "Impsotazioni", "sidebarTitle": "Cronologia Chat", "error": "Errore", "somethingWentWrong": "Qualcosa è andato storto", "validationSelectModel": "Scegliere un modello per continuare", "deleteHistoryConfirmation": "Sei sicuro che vuoi eliminare la cronologia?", "editHistoryTitle": "Inserisci un nuovo titolo", "temporaryChat": "Chat Temporanea", "more": { "copy": { "group": "Copia", "asText": "Copia come Testo", "asMarkdown": "Copia come Markdown", "success": "Copiato negli appunti!" }, "download": { "group": "Scarica", "text": "File di Testo (.txt)", "markdown": "Markdown (.md)", "json": "File JSON (.json)" }, "share": "Condividi" } } ================================================ FILE: src/assets/locale/it/playground.json ================================================ { "ollamaState": { "searching": "Sto cercando Ollama 🦙", "running": "Ollama è attivo 🦙", "notRunning": "Impossibile connettersi a Ollama 🦙", "connectionError": "C'è stato un problema di connessione. Controlla la documentazione per investigare." }, "formError": { "noModel": "Seleziona un modello", "noEmbeddingModel": "Imposta un modello di embedding da Impostazioni > RAG" }, "form": { "textarea": { "placeholder": "Scrivi un messaggio..." }, "webSearch": { "on": "Attivo", "off": "Disattivato" } }, "tooltip": { "searchInternet": "Cerca su Internet", "speechToText": "Speech to Text", "uploadImage": "Carica immagine", "stopStreaming": "Ferma lo Streaming", "knowledge": "Conoscenza", "clearContext": "Cancella Contesto" }, "sendWhenEnter": "Invia subito dopo Enter", "welcome": "Ciao! Come posso aiutarti oggi?", "useOCR": "Estrai testo dall'immagine (OCR)" } ================================================ FILE: src/assets/locale/it/settings.json ================================================ { "generalSettings": { "title": "Impostazioni Generali", "settings": { "heading": "Impostazioni Web UI", "speechRecognitionLang": { "label": "Lingua per il riconoscimento vocale", "placeholder": "Scegli una lingua" }, "language": { "label": "Lingua", "placeholder": "Scegli una lingua" }, "darkMode": { "label": "Cambia il Tema", "options": { "light": "Chiaro", "dark": "Scuro" } }, "copilotResumeLastChat": { "label": "Riprendi l'ultima chat quando apri il Pannello Laterale (Copilot)" }, "turnOnChatWithWebsite": { "label": "Abilita Chat con il Sito Web per impostazione predefinita (Copilot)" }, "webUIResumeLastChat": { "label": "Riprendi l'ultima chat quando apri l'interfaccia Web" }, "hideCurrentChatModelSettings": { "label": "Nascondi le impostazioni correnti del modello Chat" }, "restoreLastChatModel": { "label": "Ripristina l'ultimo modello utilizzato per le chat precedenti" }, "sendNotificationAfterIndexing": { "label": "Inviare notifica dopo aver terminato l'elaborazione della base di conoscenza" }, "generateTitle": { "label": "Genera titolo utilizzando l'IA" }, "ollamaStatus": { "label": "Abilita o disabilita il controllo dello stato della connessione Ollama" }, "wideMode": { "label": "Abilita modalità schermo largo" }, "openReasoning": { "label": "Apri il Ragionamento Compresso per impostazione predefinita" }, "userChatBubble": { "label": "Usa fumetto chat per i messaggi utente" }, "autoCopyResponseToClipboard": { "label": "Copia automaticamente la risposta negli appunti" }, "useMarkdownForUserMessage": { "label": "Abilita la formattazione Markdown per i messaggi dell'utente" }, "copyAsFormattedText": { "label": "Copia come Testo Formattato" }, "tabMentionsEnabled": { "label": "Abilita Menzioni Scheda (@tab)" }, "pasteLargeTextAsFile": { "label": "Incolla Testo Lungo come File" }, "sidepanelTemporaryChat": { "label": "Abilita Chat Temporanea nel Pannello Laterale per impostazione predefinita" }, "defaultCopilotPrompt": { "label": "Prompt predefinito per il Pannello Laterale (Copilot)", "placeholder": "Seleziona un prompt" }, "defaultThinkingMode": { "label": "Mostra lo stato della Modalità Pensiero nei moduli" }, "defaultWebUIPrompt": { "label": "Prompt predefinito per la Web UI", "placeholder": "Seleziona un prompt" }, "enableMessageQueue": { "label": "Abilita la coda dei messaggi durante lo streaming" }, "hideReasoningWidget": { "label": "Nascondi il widget di ragionamento dai messaggi AI" }, "ocrLanguage": { "label": "Lingua OCR predefinita", "placeholder": "Seleziona una lingua OCR" }, "optimizeQueueForSmallScreen": { "label": "Ottimizza l'interfaccia chat per schermi piccoli" }, "persistChatInput": { "label": "Mantieni l'input della chat (salva i messaggi non inviati)" }, "removeReasoningTagFromCopy": { "label": "Rimuovi il tag di ragionamento dal testo copiato" }, "showMoreForLargeMessage": { "label": "Mostra \"Mostra altro\" per i messaggi utente lunghi" }, "sidebarPosition": { "label": "Posizione della barra laterale", "options": { "left": "Sinistra", "right": "Destra" } }, "tableTextWrap": { "label": "Abilita l'andata a capo del testo nelle tabelle Markdown" }, "webuiTemporaryChat": { "label": "Abilita la chat temporanea nella Web UI per impostazione predefinita" }, "youtubeAutoSummarize": { "label": "Mostra il pulsante \"Riassumi\" sui video di YouTube." } }, "sidepanelRag": { "heading": "Impostazioni di Recupero", "ragEnabled": { "label": "Abilita Embedding e Recupero" }, "maxWebsiteContext": { "label": "Dimensione Massima del Contenuto per la Modalità Contesto Completo", "placeholder": "Dimensione contenuto (predefinito 4028)" } }, "webSearch": { "heading": "Gestione ricerca Web", "searchMode": { "label": "Effettua ricerca web Internet semplice" }, "provider": { "label": "Motori di ricerca", "placeholder": "Scegli un motore di ricerca" }, "totalSearchResults": { "label": "Risultati della ricerca", "placeholder": "Inserisci il totale delle ricerche" }, "visitSpecificWebsite": { "label": "Visita il sito web menzionato nel messaggio" }, "searxng": { "url": { "label": "URL SearXNG" } }, "braveApi": { "label": "Chiave API Brave", "placeholder": "Inserisci la tua chiave API Brave" }, "searchOnByDefault": { "label": "Ricerca Internet attiva per impostazione predefinita" }, "blockedDomains": { "description": "Escludi i risultati provenienti da questi domini", "label": "Domini bloccati", "placeholder": "es. spam.com" }, "domainFilter": { "description": "Mostra solo i risultati provenienti da questi domini", "label": "Elenco filtro domini", "placeholder": "es. example.com" }, "exa": { "label": "Chiave API Exa", "placeholder": "Inserisci la tua chiave API Exa" }, "firecrawlAPIKey": { "label": "Chiave API Firecrawl", "placeholder": "Inserisci la tua chiave API Firecrawl" }, "googleDomain": { "label": "Dominio Google" }, "tavilyApi": { "label": "Chiave API Tavily", "placeholder": "Inserisci la tua chiave API Tavily" } }, "system": { "heading": "Impostazioni di Sistema", "storageSyncEnabled": { "label": "Abilita sincronizzazione archiviazione browser (sincronizza impostazioni tra dispositivi)" }, "deleteChatHistory": { "label": "Reset del Sistema", "button": "Reset Totale", "confirm": "Sei sicuro di voler eseguire un reset del sistema? Questa operazione cancellerà tutti i dati e non può essere annullata." }, "export": { "label": "Esporta tutti i dati (cronologia chat, knowledge base, prompt e impostazioni)", "button": "Esporta dati", "success": "Esportazione riuscita" }, "import": { "label": "Importa tutti i dati (cronologia chat, knowledge base, prompt e impostazioni)", "button": "Importa dati", "success": "Importazione riuscita", "error": "Errore di importazione" }, "actionIcon": { "label": "Imposta l'azione predefinita per i clic sull'icona dell'estensione" }, "chatBackgroundImage": { "label": "Immagine di sfondo della chat" }, "contextMenu": { "label": "Imposta l'azione predefinita per il menu contestuale" }, "fontSize": { "label": "Dimensione carattere" }, "webuiBtnSidePanel": { "label": "Mostra il pulsante Web UI nel pannello laterale" } }, "tts": { "heading": "Impostazioni Text-to-Speech", "ttsEnabled": { "label": "Abilita Text-to-Speech" }, "ttsAutoPlay": { "label": "Riproduci automaticamente la risposta vocale dopo il completamento" }, "ttsProvider": { "label": "Text-to-Speech Provider", "placeholder": "Seleziona un provider" }, "ttsVoice": { "label": "Text-to-Speech Voce", "placeholder": "Seleziona una voce" }, "ssmlEnabled": { "label": "Abilita SSML (Speech Synthesis Markup Language)" }, "removeReasoningTagTTS": { "label": "Rimuovi Tag di Ragionamento dal TTS" }, "responseSplitting": { "label": "Suddivisione della risposta" } }, "stt": { "heading": "Impostazioni Speech-to-Text", "autoStopTimeout": { "label": "Timeout Arresto Automatico (ms)", "placeholder": "Inserisci il timeout di arresto automatico in millisecondi" }, "autoSubmitVoiceMessage": { "label": "Invio Automatico Messaggio Vocale" } } }, "manageModels": { "title": "Gestione Modelli", "addBtn": "Aggiungi un nuovo Modello", "columns": { "name": "Nome", "digest": "Digest", "modifiedAt": "Modificato il", "size": "Dimensioni", "actions": "Azioni", "nickname": "Soprannome" }, "expandedColumns": { "parentModel": "Modello Padre", "format": "Formato", "family": "Famiglia", "parameterSize": "Numero di Parametri", "quantizationLevel": "Livello di Quantizzazione" }, "tooltip": { "delete": "Elimina Modello", "repull": "Ri-Scarica Modello", "editNickname": "Modifica soprannome" }, "confirm": { "delete": "Sei sicuro di voler eliminare questo modello?", "repull": "Se sicuro che vuoi ri-scaricare questo modello?" }, "modal": { "title": "Aggiungi Nuovo Modello", "placeholder": "Inserisci il Nome Modello", "pull": "Scarico del Modello" }, "notification": { "pullModel": "Scarico del Modello", "pullModelDescription": "Scaricando il modello {{modelName}}. Per ulteriori dettagli visualizza l'icona dell'estensione.", "success": "Completato", "error": "Errore", "successDescription": "Scarico del modello completato", "successDeleteDescription": "Eliminazione del modello completato", "someError": "Qualcosa è andato storto. Riprova più tardi", "cancellingDownload": "Annullamento del download", "cancellingDownloadDescription": "Il download del modello è in fase di annullamento..." } }, "managePrompts": { "title": "Gestisci Prompts", "addBtn": "Aggiungi nuovo Prompt", "option1": "Normale", "option2": "RAG", "questionPrompt": "Question Prompt", "columns": { "title": "Titolo", "prompt": "Prompt", "type": "Tipo di Prompt", "actions": "Azioni" }, "systemPrompt": "Prompt di Sistema", "quickPrompt": "Prompt Veloce", "tooltip": { "delete": "Elimina Prompt", "edit": "Modifica Prompt" }, "confirm": { "delete": "Sei sicuro di voler eliminare questo prompt? L'azione non può essere annullata." }, "modal": { "addTitle": "Aggiungi Nuovo Prompt", "editTitle": "Modifica Prompt" }, "segmented": { "custom": "Prompt personalizzati", "copilot": "Prompt Copilot" }, "form": { "title": { "label": "Titolo", "placeholder": "I Miei Prompt", "required": "Inserisci il Titolo" }, "prompt": { "label": "Prompt", "placeholder": "Inserisci Prompt", "required": "Scrivi il prompt", "help": "Puoi usare {key} come variabile nel tuo prompt.", "missingTextPlaceholder": "La variabile {text} manca nel prompt. Per favore, aggiungila." }, "isSystem": { "label": "Prompt di Sistema" }, "btnSave": { "saving": "Aggiungendo Prompt...", "save": "Aggiungi Prompt" }, "btnEdit": { "saving": "Aggiornando Prompt...", "save": "Aggiorna Prompt" } }, "notification": { "addSuccess": "Prompt Aggiunto", "addSuccessDesc": "Il Prompt è stato aggiunto correttamente", "error": "Errore", "someError": "Qualcosa è andato storto. Riprova più tardi", "updatedSuccess": "Prompt Aggiornato", "updatedSuccessDesc": "Il Prompt è stato aggiornato correttmante", "deletedSuccess": "Prompt Eliminato", "deletedSuccessDesc": "Il Prompt è stato eliminato correttamente" } }, "manageShare": { "title": "Gestione Condivisioni", "heading": "Configura l'URL della Pagina di Condivisione", "form": { "url": { "label": "URL Pagina di Condivisione", "placeholder": "Inserisci URL Pagina di Condivisione", "required": "Inserisci l'url della pagina di condivisione!", "help": "Per ragioni di privacy, tu puoi ospitare in self-host la paginacon il seguente URL. Leggi altro." } }, "webshare": { "heading": "Condivisioni Web", "columns": { "title": "Titolo", "url": "URL", "actions": "Azioni" }, "tooltip": { "delete": "Elimina Condivisione" }, "confirm": { "delete": "Sei sicuro che vuoi eliminare questa condivisione? L'azione non può essere annullata." }, "label": "Gestione Condivisioni", "description": "Abilita o Disattiva la funzionalità di condivisione" }, "notification": { "pageShareSuccess": " URL di condivisione aggiornato correttamente", "someError": "Qualcosa è andato storto. Riprova più tardi", "webShareDeleteSuccess": "Condivisione eliminata correttamente" } }, "ollamaSettings": { "title": "Impostazioni Ollama", "heading": "Configura Ollama", "settings": { "ollamaUrl": { "label": "Ollama URL", "placeholder": "Inserici l'URL di Ollama" }, "globalEnable": { "label": "Abilita o Disabilita l'Integrazione di Ollama Globalmente", "warning": "Disabilitando l'integrazione globale di Ollama, Page Assist non recupererà i modelli da Ollama. Puoi comunque aggiungere un'istanza di Ollama dalla sezione API compatibile con OpenAI che funzionerà correttamente." }, "advanced": { "label": "Configurazione Avanzata Ollama URL", "urlRewriteEnabled": { "label": "Abilita o Disabilita l'URL di Origine Personalizzato" }, "rewriteUrl": { "label": "URL di Origine Personalizzato", "placeholder": "Inserisci URL di Origine Personalizzato" }, "autoCORSFix": { "label": "Abilita o Disabilita la Correzione Automatica CORS di Ollama" }, "headers": { "label": "Intestazioni Personalizzate", "add": "Aggiungi Intestazione", "key": { "label": "Chiave dell'Intestazione", "placeholder": "Autorizzazione" }, "value": { "label": "Valore dell'Intestazione", "placeholder": "Token Bearer" } }, "help": "Se hai problemi di connessione con Ollama su Page Assist, puoi configurare un URL di origine personalizzato. Per saperne di più sulla configurazione, clicca qui." } } }, "manageSearch": { "title": "Gestisci Ricerca Web", "heading": "Configura Ricerca Web" }, "about": { "title": "Informazioni", "heading": "Informazioni", "chromeVersion": "Versione di Page Assist", "ollamaVersion": "Versione di Ollama", "support": "Puoi supportare il progetto Page Assist donando o sponsorizzando attraverso le seguenti piattaforme:", "koFi": "Supporta su Ko-fi", "githubSponsor": "Sponsorizza su GitHub", "githubRepo": "Repository GitHub" }, "manageKnowledge": { "title": "Gestisci Conoscenza", "heading": "Configura Base di Conoscenza" }, "rag": { "title": "Impostazioni Pipeline", "ragSettings": { "label": "Impostazioni RAG", "model": { "label": "Modello di Embedding", "required": "Scegliere il modello", "help": "E' raccomandato l'uso di modelli come `nomic-embed-text`.", "placeholder": "Seleziona un modello" }, "chunkSize": { "label": "Dimensione del Blocco (Chunk Size)", "placeholder": "Inserisci la Dimensione del Blocco (Chunk Size)", "required": "Inserisci la Dimensione del Blocco (chunk size)" }, "chunkOverlap": { "label": "Sovrapposizione del Blocco (Chunk Overlap)", "placeholder": "Inserisci la Sovrapposizione del Blocco (Chunk Overlap)", "required": "Inserisci la Sovrapposizione del Blocco" }, "totalFilePerKB": { "label": "Limite Predefinito di Caricamento File per la Base di Conoscenza", "placeholder": "Inserisci il limite predefinito di caricamento file (es. 10)", "required": "Inserisci il limite predefinito di caricamento file" }, "noOfRetrievedDocs": { "label": "Numero di Documenti Recuperati", "placeholder": "Inserisci il Numero di Documenti Recuperati", "required": "Inserisci il numero di documenti recuperati" }, "splittingSeparator": { "label": "Separatore", "placeholder": "Inserisci il Separatore (es. \\n\\n)", "required": "Inserisci un separatore" }, "splittingStrategy": { "label": "Divisore di Testo" } }, "prompt": { "label": "Configura il Prompt RAG", "option1": "Normale", "option2": "Web", "alert": "La configurazione del prompt di sistema qui è deprecato. Usa la sezione Gestione Prompt per aggiungere o modificare i prompts.Questa sezione sarà eliminata nelle prossime release", "systemPrompt": "Prompt di Sistema", "systemPromptPlaceholder": "Inserisci il Prompt di Sistema", "webSearchPrompt": "Prompt per la Ricerca Web", "webSearchPromptHelp": "Non rimuovere `{search_results}` dal prompt.", "webSearchPromptError": "Inserisci il prompt per la ricerca web", "webSearchPromptPlaceholder": "Imserosco il Prompt per la Ricerca Web", "webSearchFollowUpPrompt": "Prompt di Follow Up sulla Ricerca Web", "webSearchFollowUpPromptHelp": "Non rimuovere `{chat_history}` e `{question}` dal prompt.", "webSearchFollowUpPromptError": "Inserisci il Prompt di Follow Up della Ricerca Web!", "webSearchFollowUpPromptPlaceholder": "I tuoi Prompt di Follow Up delle Ricerche Web" } }, "chromeAiSettings": { "title": "Impostazioni IA di Chrome" }, "mermaid": "Mermaid" } ================================================ FILE: src/assets/locale/it/sidepanel.json ================================================ { "tooltip": { "embed": "L'inserimento della pagina potrebbe richiedere alcuni minuti. Attendere prego...", "clear": "Cancella la cronologia della chat", "history": "Cronologia della chat", "openwebui": "Apri WebUI" } } ================================================ FILE: src/assets/locale/ja-JP/chrome.json ================================================ { "heading": "Chrome AIの設定", "status": { "label": "Page AssistでChrome AIサポートを有効または無効にする" }, "error": { "browser_not_supported": "このバージョンのChromeはGemini Nanoモデルに対応していません。バージョン127以降に更新してください。", "ai_not_supported": "設定chrome://flags/#prompt-api-for-gemini-nanoが有効になっていません。有効にしてください。", "ai_not_ready": "Gemini Nanoはまだ準備ができていません。Chromeの設定を再確認する必要があります。", "internal_error": "内部エラーが発生しました。後でもう一度お試しください。" }, "errorDescription": "Chrome AIを使用するには、Chromeバージョン138以降が必要です。以下の手順に従ってください:\n\n1. `chrome://flags/#prompt-api-for-gemini-nano`にアクセスし、「Prompt API for Gemini Nano」を有効にします。\n2. フラグを適用するためにChromeを再起動します。\n3. このページに戻り、「モデルをダウンロード」をクリックします — 初回は4GBのモデルがダウンロードされます。\n4. ダウンロードが完了すると、Gemini NanoをPage Assistを通じて有効にできます。", "downloadModel": "モデルをダウンロード", "modelDownloadWarning": "これは、約1.5GBから2.4GBの範囲のダウンロードサイズを持つモデルをダウンロードします。十分なディスクスペースがあることを確認してください。" } ================================================ FILE: src/assets/locale/ja-JP/common.json ================================================ { "pageAssist": "ページアシスト", "selectAModel": "モデルを選択", "save": "保存", "saved": "保存済み", "cancel": "キャンセル", "retry": "再試行", "share": { "tooltip": { "share": "共有" }, "modal": { "title": "チャットリンクを共有" }, "form": { "defaultValue": { "name": "匿名", "title": "無題のチャット" }, "title": { "label": "チャットタイトル", "placeholder": "チャットタイトルを入力", "required": "チャットタイトルは必須です" }, "name": { "label": "あなたの名前", "placeholder": "名前を入力", "required": "名前は必須です" }, "btn": { "save": "リンクを生成", "saving": "リンクを生成中..." } }, "notification": { "successGenerate": "リンクがクリップボードにコピーされました", "failGenerate": "リンクの生成に失敗しました" } }, "copyToClipboard": "クリップボードにコピー", "webSearch": "ウェブを検索中", "regenerate": "再生成", "continue": "続ける", "edit": "編集", "delete": "削除", "saveAndSubmit": "保存して送信", "editMessage": { "placeholder": "メッセージを入力..." }, "submit": "送信", "noData": "データがありません", "noHistory": "チャット履歴がありません", "chatWithCurrentPage": "現在のページでチャット", "beta": "ベータ", "tts": "読み上げ", "currentChatModelSettings": "現在のチャットモデル設定", "modelSettings": { "label": "モデル設定", "description": "すべてのチャットに対してモデルオプションをグローバルに設定します", "form": { "keepAlive": { "label": "キープアライブ", "help": "リクエスト後にモデルがメモリに保持される時間をコントロールします(デフォルト: 5 分)", "placeholder": "キープアライブの期間を入力してください(例:5分、10分、1時間)" }, "temperature": { "label": "温度", "placeholder": "温度値を入力してください(例:0.7、1.0)" }, "numCtx": { "label": "コンテキストウィンドウサイズ (num_ctx)", "placeholder": "コンテキストウィンドウサイズを入力してください(デフォルト:2048)" }, "numPredict": { "label": "最大トークン数 (num_predict)", "placeholder": "最大トークン数を入力してください(例:2048、4096)" }, "seed": { "label": "シード", "placeholder": "シード値を入力してください(例:1234)", "help": "モデル出力の再現性" }, "topK": { "label": "Top K", "placeholder": "Top K値を入力してください(例:40、100)" }, "topP": { "label": "Top P", "placeholder": "Top P値を入力してください(例:0.9、0.95)" }, "numGpu": { "label": "Num GPU", "placeholder": "GPU(s)に送信するレイヤー数を入力してください" }, "systemPrompt": { "label": "一時的なシステムプロンプト", "placeholder": "システムプロンプトを入力", "help": "これは現在のチャットでシステムプロンプトを素早く設定する方法で、選択されたシステムプロンプトが存在する場合はそれを上書きします。" } }, "advanced": "その他のモデル設定" }, "copilot": { "summary": "要約", "explain": "説明", "rephrase": "言い換え", "translate": "翻訳" }, "citations": "引用", "downloadCode": "コードをダウンロード", "date": { "pinned": "固定", "today": "今日", "yesterday": "昨日", "last7Days": "過去7日間", "older": "それ以前" }, "range": { "deleteConfirm": { "pinned": "固定されたメッセージをすべて削除してもよろしいですか?", "today": "今日のメッセージをすべて削除してもよろしいですか?", "yesterday": "昨日のメッセージをすべて削除してもよろしいですか?", "last7Days": "過去7日間のメッセージをすべて削除してもよろしいですか?", "older": "それ以前のメッセージをすべて削除してもよろしいですか?" }, "tooltip": { "pinned": "固定されたメッセージをすべて削除", "today": "今日のメッセージをすべて削除", "yesterday": "昨日のメッセージをすべて削除", "last7Days": "過去7日間のメッセージをすべて削除", "older": "それ以前のメッセージをすべて削除" } }, "pin": "固定", "unpin": "固定解除", "generationInfo": "生成情報", "sidebarChat": "サイドバーチャット", "reasoning": { "thinking": "考え中....", "thought": "{{time}}の思考" }, "embeddingGen": "埋め込みを作成中です。時間がかかる場合があります", "semanticSearch": "意味検索を実行中", "downloading": "ダウンロード中", "cancelPullingModel": { "confirm": "ダウンロードをキャンセルしてもよろしいですか?これによりダウンロードプロセスが停止します。Ollamaのドキュメントによると、中断した場所から再開できます。" } } ================================================ FILE: src/assets/locale/ja-JP/knowledge.json ================================================ { "addBtn": "新しい知識を追加", "columns": { "title": "タイトル", "status": "ステータス", "embeddings": "埋め込みモデル", "createdAt": "作成日", "action": "アクション" }, "expandedColumns": { "name": "名前" }, "confirm": { "delete": "この知識を削除してもよろしいですか?" }, "deleteSuccess": "知識が正常に削除されました", "status": { "pending": "保留中", "finished": "完了", "processing": "処理中", "failed": "失敗" }, "addKnowledge": "知識を追加", "updateKnowledge": "ソースを追加", "form": { "title": { "label": "知識タイトル", "placeholder": "知識のタイトルを入力してください", "required": "知識のタイトルは必須です" }, "uploadFile": { "label": "ファイルをアップロード", "uploadText": "ファイルをここにドラッグアンドドロップするか、クリックしてアップロード", "uploadHint": "サポートされているファイルタイプ: .pdf、.csv、.txt", "required": "ファイルは必須です" }, "submit": "送信", "success": "知識が正常に追加されました" }, "noEmbeddingModel": "最初にRAGの設定ページから埋め込みモデルを追加してください" } ================================================ FILE: src/assets/locale/ja-JP/openai.json ================================================ { "settings": "OpenAI互換API", "heading": "OpenAI互換API", "subheading": "OpenAI API互換プロバイダーの管理と設定はこちらで行います。", "addBtn": "プロバイダーを追加", "table": { "name": "プロバイダー名", "baseUrl": "ベースURL", "actions": "アクション" }, "modal": { "titleAdd": "新規プロバイダーを追加", "name": { "label": "プロバイダー名", "required": "プロバイダー名は必須です。", "placeholder": "プロバイダー名を入力" }, "baseUrl": { "label": "ベースURL", "help": "OpenAI APIプロバイダーのベースURL。例:(http://localhost:1234/v1)", "required": "ベースURLは必須です。", "placeholder": "ベースURLを入力" }, "apiKey": { "label": "APIキー", "required": "APIキーは必須です。", "placeholder": "APIキーを入力" }, "submit": "保存", "update": "更新", "deleteConfirm": "このプロバイダーを削除してもよろしいですか?", "model": { "title": "モデルリスト", "subheading": "このプロバイダーで使用したいチャットモデルを選択してください。", "success": "新しいモデルが正常に追加されました。" }, "tipLMStudio": "Page AssistはLM Studioにロードしたモデルを自動的に取得します。手動で追加する必要はありません。" }, "addSuccess": "プロバイダーが正常に追加されました。", "deleteSuccess": "プロバイダーが正常に削除されました。", "updateSuccess": "プロバイダーが正常に更新されました。", "delete": "削除", "edit": "編集", "newModel": "プロバイダーにモデルを追加", "noNewModel": "LMStudio, Ollama, Llamafile,の場合、動的に取得します。手動での追加は不要です。", "searchModel": "モデルを検索", "selectAll": "すべて選択", "save": "保存", "saving": "保存中...", "manageModels": { "columns": { "name": "モデル名", "model_type": "モデルタイプ", "model_id": "モデルID", "provider": "プロバイダー名", "actions": "アクション", "nickname": "モデルのニックネーム" }, "tooltip": { "delete": "削除" }, "confirm": { "delete": "このモデルを削除してもよろしいですか?" }, "modal": { "title": "カスタムモデルを追加", "form": { "name": { "label": "モデルID", "placeholder": "llama3.2", "required": "モデルIDは必須です。" }, "provider": { "label": "プロバイダー", "placeholder": "プロバイダーを選択", "required": "プロバイダーは必須です。" }, "type": { "label": "モデルタイプ" } } } }, "noModelFound": "モデルが見つかりません。正しいベースURLとAPIキーを持つプロバイダーを追加したことを確認してください。", "radio": { "chat": "チャットモデル", "embedding": "埋め込みモデル", "chatInfo": "はチャット完了と会話生成に使用されます", "embeddingInfo": "はRAGやその他の意味検索関連タスクに使用されます。" }, "nicknameModal": { "title": "モデルのニックネームを追加/編集", "form": { "modelName": { "label": "モデル名", "placeholder": "モデル名を入力", "required": "モデル名は必須です。" }, "modelAvatar": { "label": "モデルのアバター", "placeholder": "モデルのアバターを入力", "help": "モデルのアバターのURLを入力してください。この画像はチャットウィンドウに表示されます。" } } } } ================================================ FILE: src/assets/locale/ja-JP/option.json ================================================ { "newChat": "新しいチャット", "selectAPrompt": "プロンプトを選択", "githubRepository": "GitHubリポジトリ", "settings": "設定", "sidebarTitle": "チャット履歴", "error": "エラー", "somethingWentWrong": "何かが間違っています", "validationSelectModel": "続行するにはモデルを選択してください", "deleteHistoryConfirmation": "この履歴を削除しますか?", "editHistoryTitle": "新しいタイトルを入力", "temporaryChat": "一時的なチャット", "more": { "copy": { "group": "コピー", "asText": "テキストとしてコピー", "asMarkdown": "Markdownとしてコピー", "success": "クリップボードにコピーしました!" }, "download": { "group": "ダウンロード", "text": "テキストファイル (.txt)", "markdown": "Markdownファイル (.md)", "json": "JSONファイル (.json)" }, "share": "共有" } } ================================================ FILE: src/assets/locale/ja-JP/playground.json ================================================ { "ollamaState": { "searching": "Ollamaを検索中 🦙", "running": "Ollamaが実行中 🦙", "notRunning": "Ollamaに接続できません 🦙", "connectionError": "接続エラーが発生しているようです。トラブルシューティングについてはドキュメントをご覧ください。" }, "formError": { "noModel": "モデルを選択してください", "noEmbeddingModel": "設定 > RAGページでembeddingモデルを設定してください" }, "form": { "textarea": { "placeholder": "メッセージを入力..." }, "webSearch": { "on": "オン", "off": "オフ" } }, "tooltip": { "searchInternet": "インターネットを検索", "speechToText": "音声入力", "uploadImage": "画像をアップロード", "stopStreaming": "ストリーミングを停止", "knowledge": "知識", "clearContext": "コンテキストをクリア" }, "sendWhenEnter": "Enterキーを押すと送信", "welcome": "こんにちは!本日はどのようなお手伝いができますか?", "useOCR": "画像からテキストを抽出(OCR)" } ================================================ FILE: src/assets/locale/ja-JP/settings.json ================================================ { "generalSettings": { "title": "一般設定", "settings": { "heading": "Web UIの設定", "speechRecognitionLang": { "label": "音声認識の言語", "placeholder": "言語を選択" }, "language": { "label": "言語", "placeholder": "言語を選択" }, "darkMode": { "label": "テーマを変更", "options": { "light": "ライト", "dark": "ダーク" } }, "searchMode": { "label": "簡易インターネット検索を実行" }, "copilotResumeLastChat": { "label": "サイドパネルを開いたときに最後のチャットを再開 (Copilot)" }, "turnOnChatWithWebsite": { "label": "デフォルトでウェブサイトとのチャットを有効にする (Copilot)" }, "webUIResumeLastChat": { "label": "Web UIを開いたときに最後のチャットを再開" }, "hideCurrentChatModelSettings": { "label": "現在のチャットモデル設定を非表示" }, "restoreLastChatModel": { "label": "以前のチャットで最後に使用したモデルを復元する" }, "sendNotificationAfterIndexing": { "label": "ナレッジベースの処理完了後に通知を送信" }, "generateTitle": { "label": "AIを使用してタイトルを生成" }, "ollamaStatus": { "label": "Ollamaの接続状態チェックを有効または無効にする" }, "wideMode": { "label": "ワイドスクリーンモードを有効にする" }, "openReasoning": { "label": "デフォルトで推論を展開する" }, "userChatBubble": { "label": "ユーザーメッセージにチャットバブルを使用" }, "autoCopyResponseToClipboard": { "label": "応答を自動的にクリップボードにコピー" }, "useMarkdownForUserMessage": { "label": "ユーザーメッセージのMarkdown形式を有効にする" }, "copyAsFormattedText": { "label": "書式付きテキストとしてコピー" }, "tabMentionsEnabled": { "label": "タブメンション (@tab) を有効にする" }, "pasteLargeTextAsFile": { "label": "大きなテキストをファイルとして貼り付け" }, "sidepanelTemporaryChat": { "label": "サイドパネルでの一時チャットをデフォルトで有効にする" }, "defaultCopilotPrompt": { "label": "サイドパネル (Copilot) のデフォルトプロンプト", "placeholder": "プロンプトを選択" }, "defaultThinkingMode": { "label": "フォームに思考モードの状態を表示" }, "defaultWebUIPrompt": { "label": "Web UI のデフォルトプロンプト", "placeholder": "プロンプトを選択" }, "enableMessageQueue": { "label": "ストリーミング中にメッセージキューを有効にする" }, "hideReasoningWidget": { "label": "AIメッセージから推論ウィジェットを非表示にする" }, "ocrLanguage": { "label": "デフォルトOCR言語", "placeholder": "OCR言語を選択" }, "optimizeQueueForSmallScreen": { "label": "小さな画面向けにチャットUIを最適化する" }, "persistChatInput": { "label": "チャット入力を保持する(未送信メッセージを保存)" }, "removeReasoningTagFromCopy": { "label": "コピーしたテキストから推論タグを削除" }, "showMoreForLargeMessage": { "label": "長いユーザーメッセージに「もっと見る」を表示" }, "sidebarPosition": { "label": "サイドバーの位置", "options": { "left": "左", "right": "右" } }, "tableTextWrap": { "label": "Markdown テーブルでテキストの折り返しを有効にする" }, "webuiTemporaryChat": { "label": "Web UIで一時チャットをデフォルトで有効にする" }, "youtubeAutoSummarize": { "label": "YouTube動画に「要約」ボタンを表示する。" } }, "sidepanelRag": { "heading": "検索設定", "ragEnabled": { "label": "埋め込みと検索を有効にする" }, "maxWebsiteContext": { "label": "フルコンテキストモードの最大コンテンツサイズ", "placeholder": "コンテンツサイズ(デフォルト4028)" } }, "webSearch": { "heading": "ウェブ検索を管理する", "searchMode": { "label": "簡単なインターネット検索を実行する" }, "provider": { "label": "検索エンジン", "placeholder": "検索エンジンを選択する" }, "totalSearchResults": { "label": "合計検索結果", "placeholder": "合計検索結果を入力する" }, "visitSpecificWebsite": { "label": "メッセージに記載されたウェブサイトを訪問してください" }, "searxng": { "url": { "label": "SearXNG URL" } }, "braveApi": { "label": "Brave APIキー", "placeholder": "Brave APIキーを入力してください" }, "searchOnByDefault": { "label": "デフォルトでインターネット検索をオンにする" }, "blockedDomains": { "description": "これらのドメインの結果を除外", "label": "ブロックするドメイン", "placeholder": "例: spam.com" }, "domainFilter": { "description": "これらのドメインの結果のみ表示", "label": "ドメインフィルター一覧", "placeholder": "例: example.com" }, "exa": { "label": "Exa APIキー", "placeholder": "Exa APIキーを入力してください" }, "firecrawlAPIKey": { "label": "Firecrawl APIキー", "placeholder": "Firecrawl APIキーを入力してください" }, "googleDomain": { "label": "Google ドメイン" }, "tavilyApi": { "label": "Tavily APIキー", "placeholder": "Tavily APIキーを入力してください" } }, "system": { "heading": "システム設定", "storageSyncEnabled": { "label": "ブラウザストレージ同期を有効にする(デバイス間で設定を同期)" }, "deleteChatHistory": { "label": "システムリセット", "button": "すべてリセット", "confirm": "システムリセットを実行してもよろしいですか?すべてのデータが消去され、元に戻すことはできません。" }, "export": { "label": "すべてのデータをエクスポート (チャット履歴、ナレッジベース、プロンプト、設定)", "button": "データをエクスポート", "success": "エクスポート成功" }, "import": { "label": "すべてのデータをインポート (チャット履歴、ナレッジベース、プロンプト、設定)", "button": "データをインポート", "success": "インポート成功", "error": "インポートエラー" }, "actionIcon": { "label": "拡張機能アイコンクリック時のデフォルト動作を設定" }, "chatBackgroundImage": { "label": "チャット背景画像" }, "contextMenu": { "label": "コンテキストメニューのデフォルト動作を設定" }, "fontSize": { "label": "フォントサイズ" }, "webuiBtnSidePanel": { "label": "サイドパネルに Web UI ボタンを表示" } }, "tts": { "heading": "テキスト読み上げ設定", "ttsEnabled": { "label": "テキスト読み上げを有効にする" }, "ttsAutoPlay": { "label": "応答完了後に音声を自動再生" }, "ttsProvider": { "label": "テキスト読み上げプロバイダー", "placeholder": "プロバイダーを選択" }, "ttsVoice": { "label": "テキスト読み上げの音声", "placeholder": "音声を選択" }, "ssmlEnabled": { "label": "SSML (Speech Synthesis Markup Language) を有効にする" }, "removeReasoningTagTTS": { "label": "テキスト読み上げから推論タグを削除" }, "responseSplitting": { "label": "応答の分割" } }, "stt": { "heading": "音声認識設定", "autoStopTimeout": { "label": "自動停止タイムアウト (ミリ秒)", "placeholder": "自動停止タイムアウトをミリ秒単位で入力" }, "autoSubmitVoiceMessage": { "label": "音声メッセージを自動送信" } } }, "manageModels": { "title": "モデルを管理", "addBtn": "新しいモデルを追加", "columns": { "name": "名前", "digest": "ダイジェスト", "modifiedAt": "修正日時", "size": "サイズ", "actions": "アクション", "nickname": "ニックネーム" }, "expandedColumns": { "parentModel": "親モデル", "format": "フォーマット", "family": "ファミリー", "parameterSize": "パラメータサイズ", "quantizationLevel": "量子化レベル" }, "tooltip": { "delete": "モデルを削除", "repull": "モデルを再取得", "editNickname": "ニックネームを編集" }, "confirm": { "delete": "本当にこのモデルを削除しますか?", "repull": "本当にこのモデルを再取得しますか?" }, "modal": { "title": "新しいモデルを追加", "placeholder": "モデル名を入力", "pull": "モデルを取得" }, "notification": { "pullModel": "モデルを取得中", "pullModelDescription": "{{modelName}}モデルを取得中。詳細は拡張機能のアイコンをご確認ください。", "success": "成功", "error": "エラー", "successDescription": "モデルの取得が完了しました", "successDeleteDescription": "モデルの削除が完了しました", "someError": "問題が発生しました。後ほど再度お試しください。", "cancellingDownload": "ダウンロードをキャンセル中", "cancellingDownloadDescription": "モデルのダウンロードをキャンセルしています..." } }, "managePrompts": { "title": "プロンプトを管理", "addBtn": "新しいプロンプトを追加", "option1": "通常", "option2": "RAG", "questionPrompt": "質問プロンプト", "columns": { "title": "タイトル", "prompt": "プロンプト", "type": "プロンプトタイプ", "actions": "アクション" }, "systemPrompt": "システムプロンプト", "quickPrompt": "クイックプロンプト", "tooltip": { "delete": "プロンプトを削除", "edit": "プロンプトを編集" }, "confirm": { "delete": "本当にこのプロンプトを削除しますか?この操作は元に戻せません。" }, "modal": { "addTitle": "新しいプロンプトを追加", "editTitle": "プロンプトを編集" }, "segmented": { "custom": "カスタムプロンプト", "copilot": "Copilotプロンプト" }, "form": { "title": { "label": "タイトル", "placeholder": "素晴らしいプロンプト", "required": "タイトルを入力してください" }, "prompt": { "label": "プロンプト", "placeholder": "プロンプトを入力", "required": "プロンプトを入力してください", "help": "プロンプト内で{key}を変数として使用できます。", "missingTextPlaceholder": "プロンプトに{text}変数がありません。追加してください。" }, "isSystem": { "label": "システムプロンプト" }, "btnSave": { "saving": "プロンプトを追加中...", "save": "プロンプトを追加" }, "btnEdit": { "saving": "プロンプトを更新中...", "save": "プロンプトを更新" } }, "notification": { "addSuccess": "プロンプトが追加されました", "addSuccessDesc": "プロンプトが正常に追加されました", "error": "エラー", "someError": "問題が発生しました。後ほど再度お試しください。", "updatedSuccess": "プロンプトが更新されました", "updatedSuccessDesc": "プロンプトが正常に更新されました", "deletedSuccess": "プロンプトが削除されました", "deletedSuccessDesc": "プロンプトが正常に削除されました" } }, "manageShare": { "title": "共有を管理", "heading": "ページ共有URLを設定", "form": { "url": { "label": "ページ共有URL", "placeholder": "ページ共有URLを入力", "required": "ページ共有URLを入力してください!", "help": "プライバシー保護のため、ページ共有を自身でホストし、そのURLをここに入力することができます。詳細" } }, "webshare": { "heading": "ウェブ共有", "columns": { "title": "タイトル", "url": "URL", "actions": "アクション" }, "tooltip": { "delete": "共有を削除" }, "confirm": { "delete": "本当にこの共有を削除しますか?この操作は元に戻せません。" }, "label": "ページ共有を管理する", "description": "ページ共有機能を有効または無効にする" }, "notification": { "pageShareSuccess": "ページ共有URLが正常に更新されました", "someError": "問題が発生しました。後ほど再度お試しください。", "webShareDeleteSuccess": "ウェブ共有が正常に削除されました" } }, "ollamaSettings": { "title": "Ollamaの設定", "heading": "Ollamaを設定", "settings": { "ollamaUrl": { "label": "OllamaのURL", "placeholder": "OllamaのURLを入力" }, "globalEnable": { "label": "Ollamaの統合を全体的に有効または無効にする", "warning": "Ollamaの統合を全体的に無効にすると、Page AssistはOllamaからモデルを取得しなくなります。OpenAI互換APIセクションからOllamaインスタンスを追加することは可能で、正常に動作します。" }, "advanced": { "label": "Ollama URL の高度な設定", "urlRewriteEnabled": { "label": "カスタムOriginのURLを有効化または無効化する" }, "rewriteUrl": { "label": "カスタムOriginのURL", "placeholder": "カスタムOriginのURLを入力" }, "autoCORSFix": { "label": "自動Ollama CORSフィックスを有効または無効にする" }, "headers": { "label": "カスタムヘッダー", "add": "ヘッダーを追加", "key": { "label": "ヘッダーキー", "placeholder": "認証" }, "value": { "label": "ヘッダー値", "placeholder": "ベアラートークン" } }, "help": "PageAssistでOllamaに接続の問題がある場合は、カスタムOriginのURLを設定できます。設定の詳細については、ここをクリックしてください。" } } }, "manageSearch": { "title": "Web検索の管理", "heading": "Web検索を設定する" }, "about": { "title": "About", "heading": "About", "chromeVersion": "Page Assistのバージョン", "ollamaVersion": "Ollamaのバージョン", "support": "Page Assistプロジェクトは、以下のプラットフォームで寄付やスポンサーシップをすることで支援できます:", "koFi": "Ko-fiで支援する", "githubSponsor": "GitHubでスポンサーする", "githubRepo": "GitHubリポジトリ" }, "manageKnowledge": { "title": "知識を管理する", "heading": "知識ベースを構成する" }, "rag": { "title": "Pipelineの設定", "ragSettings": { "label": "RAGの設定", "model": { "label": "エンベディングモデル", "required": "モデルを選択してください", "help": "`nomic-embed-text`などのエンベディングモデルの使用を強くおすすめします。", "placeholder": "モデルを選択" }, "chunkSize": { "label": "チャンクサイズ", "placeholder": "チャンクサイズを入力", "required": "チャンクサイズを入力してください" }, "chunkOverlap": { "label": "チャンクオーバーラップ", "placeholder": "チャンクオーバーラップを入力", "required": "チャンクオーバーラップを入力してください" }, "totalFilePerKB": { "label": "知識ベースのデフォルトファイルアップロード制限", "placeholder": "デフォルトのファイルアップロード制限を入力してください(例:10)", "required": "デフォルトのファイルアップロード制限を入力してください" }, "noOfRetrievedDocs": { "label": "取得ドキュメント数", "placeholder": "取得ドキュメント数を入力", "required": "取得ドキュメント数を入力してください" }, "splittingSeparator": { "label": "セパレーター", "placeholder": "セパレーターを入力(例:\\n\\n)", "required": "セパレーターを入力してください" }, "splittingStrategy": { "label": "テキスト分割方式" } }, "prompt": { "label": "RAGプロンプトを設定", "option1": "通常", "option2": "Web", "alert": "ここでシステムプロンプトを設定することは非推奨となりました。プロンプトの追加や編集には「プロンプトを管理」セクションをご利用ください。このセクションは今後のリリースで削除される予定です。", "systemPrompt": "システムプロンプト", "systemPromptPlaceholder": "システムプロンプトを入力", "webSearchPrompt": "Web検索プロンプト", "webSearchPromptHelp": "プロンプトから`{search_results}`を削除しないでください。", "webSearchPromptError": "Web検索プロンプトを入力してください", "webSearchPromptPlaceholder": "Web検索プロンプトを入力", "webSearchFollowUpPrompt": "Web検索フォローアッププロンプト", "webSearchFollowUpPromptHelp": "プロンプトから`{chat_history}`と`{question}`を削除しないでください。", "webSearchFollowUpPromptError": "Web検索フォローアッププロンプトを入力してください!", "webSearchFollowUpPromptPlaceholder": "Web検索フォローアッププロンプト" } }, "chromeAiSettings": { "title": "Chrome AI設定" }, "mermaid": "Mermaid" } ================================================ FILE: src/assets/locale/ja-JP/sidepanel.json ================================================ { "tooltip": { "embed": "ページを埋め込むのに数分かかる場合があります。しばらくお待ちください...", "openwebui": "WebUIを開く" } } ================================================ FILE: src/assets/locale/ko/chrome.json ================================================ { "heading": "Chrome AI 설정", "status": { "label": "Page Assist에서 Chrome AI 지원을 활성화하거나 비활성화하기" }, "error": { "browser_not_supported": "이 Chrome 버전은 Gemini Nano 모델을 지원하지 않습니다. 버전을 127 이상으로 업데이트해 주세요.", "ai_not_supported": "설정 `chrome://flags/#prompt-api-for-gemini-nano`가 활성화되지 않았습니다. 활성화해 주세요.", "ai_not_ready": "Gemini Nano가 아직 준비되지 않았습니다. Chrome 설정을 다시 확인해 주세요.", "internal_error": "내부 오류가 발생했습니다. 나중에 다시 시도해 주세요." }, "errorDescription": "Chrome AI를 사용하려면 Chrome 버전 138 이상이 필요합니다. 다음 단계를 따르세요:\n\n1. `chrome://flags/#prompt-api-for-gemini-nano`로 이동하여 \"Prompt API for Gemini Nano\"를 활성화하세요.\n2. Chrome을 다시 시작하여 플래그를 적용하세요.\n3. 이 페이지로 돌아와 \"모델 다운로드\"를 클릭하세요 — 처음으로 4GB 모델이 다운로드됩니다.\n4. 다운로드가 완료되면 Page Assist를 통해 Gemini Nano를 활성화할 수 있습니다.", "downloadModel": "모델 다운로드", "modelDownloadWarning": "이는 약 1.5GB에서 2.4GB 범위의 다운로드 크기를 가진 모델을 다운로드합니다. 충분한 디스크 공간이 있는지 확인하세요." } ================================================ FILE: src/assets/locale/ko/common.json ================================================ { "pageAssist": "페이지 어시스트", "selectAModel": "모델 선택", "save": "저장", "saved": "저장됨", "cancel": "취소", "retry": "재시도", "share": { "tooltip": { "share": "공유" }, "modal": { "title": "채팅 링크 공유" }, "form": { "defaultValue": { "name": "익명", "title": "제목 없는 채팅" }, "title": { "label": "채팅 제목", "placeholder": "채팅 제목을 입력하세요", "required": "채팅 제목은 필수 항목입니다" }, "name": { "label": "이름", "placeholder": "이름을 입력하세요", "required": "이름은 필수 항목입니다" }, "btn": { "save": "링크 생성", "saving": "링크 생성 중..." } }, "notification": { "successGenerate": "링크가 클립보드에 복사되었습니다", "failGenerate": "링크 생성에 실패했습니다" } }, "copyToClipboard": "클립보드에 복사", "webSearch": "웹 검색 중", "regenerate": "재생성", "continue": "응답 계속하기", "edit": "편집", "delete": "삭제", "saveAndSubmit": "저장하고 제출", "editMessage": { "placeholder": "메시지를 입력하세요..." }, "submit": "제출", "noData": "데이터가 없습니다", "noHistory": "채팅 기록이 없습니다", "chatWithCurrentPage": "현재 페이지에서 채팅", "beta": "베타", "tts": "TTS", "currentChatModelSettings": "현재 채팅 모델 설정", "modelSettings": { "label": "모델 설정", "description": "모든 채팅에 대해 글로벌 모델 옵션을 설정합니다", "form": { "keepAlive": { "label": "Keep Alive", "help": "요청 후 모델이 메모리에 유지되는 시간을 설정합니다 (기본값: 5분)", "placeholder": "Keep Alive 기간을 입력하세요 (예: 5분, 10분, 1시간)" }, "temperature": { "label": "온도", "placeholder": "온도 값을 입력하세요 (예: 0.7, 1.0)" }, "numCtx": { "label": "컨텍스트 윈도우 크기 (num_ctx)", "placeholder": "컨텍스트 윈도우 크기를 입력하세요 (기본값: 2048)" }, "numPredict": { "label": "최대 토큰 수 (num_predict)", "placeholder": "최대 토큰 수를 입력하세요 (예: 2048, 4096)" }, "seed": { "label": "시드", "placeholder": "시드 값을 입력하세요 (예: 1234)", "help": "모델 출력의 재현성" }, "topK": { "label": "Top K", "placeholder": "Top K 값을 입력하세요 (예: 40, 100)" }, "topP": { "label": "Top P", "placeholder": "Top P 값을 입력하세요 (예: 0.9, 0.95)" }, "numGpu": { "label": "GPU 수", "placeholder": "GPU에 할당할 레이어 수를 입력하세요" }, "systemPrompt": { "label": "임시 시스템 프롬프트", "placeholder": "시스템 프롬프트를 입력하세요", "help": "현재 채팅에서 시스템 프롬프트를 빠르게 설정하는 방법이며, 선택된 시스템 프롬프트가 있을 경우 이를 덮어씁니다." } }, "advanced": "기타 모델 설정" }, "copilot": { "summary": "요약", "explain": "설명", "rephrase": "다르게 표현", "translate": "번역" }, "citations": "인용", "downloadCode": "코드 다운로드", "date": { "pinned": "고정됨", "today": "오늘", "yesterday": "어제", "last7Days": "지난 7일", "older": "그 이전" }, "range": { "deleteConfirm": { "pinned": "고정된 모든 메시지를 삭제하시겠습니까?", "today": "오늘의 모든 메시지를 삭제하시겠습니까?", "yesterday": "어제의 모든 메시지를 삭제하시겠습니까?", "last7Days": "지난 7일간의 모든 메시지를 삭제하시겠습니까?", "older": "이전의 모든 메시지를 삭제하시겠습니까?" }, "tooltip": { "pinned": "고정된 모든 메시지 삭제", "today": "오늘의 모든 메시지 삭제", "yesterday": "어제의 모든 메시지 삭제", "last7Days": "지난 7일간의 모든 메시지 삭제", "older": "이전의 모든 메시지 삭제" } }, "pin": "고정", "unpin": "고정 해제", "generationInfo": "생성 정보", "sidebarChat": "사이드바 채팅", "reasoning": { "thinking": "생각 중....", "thought": "{{time}} 동안 생각함" }, "embeddingGen": "임베딩을 생성하는 중입니다. 시간이 걸릴 수 있습니다", "semanticSearch": "의미론적 검색을 수행하는 중", "downloading": "다운로드 중", "cancelPullingModel": { "confirm": "다운로드를 취소하시겠습니까? 이 작업은 다운로드 과정을 중단합니다. Ollama 문서에 따르면, 중단된 위치에서 다시 시작할 수 있습니다." } } ================================================ FILE: src/assets/locale/ko/knowledge.json ================================================ { "addBtn": "새 지식 추가", "columns": { "title": "제목", "status": "상태", "embeddings": "임베딩 모델", "createdAt": "생성일", "action": "작업" }, "expandedColumns": { "name": "이름" }, "confirm": { "delete": "이 지식을 삭제하시겠습니까?" }, "deleteSuccess": "지식이 정상적으로 삭제되었습니다", "status": { "pending": "대기 중", "finished": "완료", "processing": "처리 중", "failed": "실패" }, "addKnowledge": "지식 추가", "updateKnowledge": "소스 추가", "form": { "title": { "label": "지식 제목", "placeholder": "지식 제목을 입력하세요", "required": "지식 제목은 필수 항목입니다" }, "uploadFile": { "label": "파일 업로드", "uploadText": "파일을 여기에 드래그 앤 드롭하거나 클릭하여 업로드하세요", "uploadHint": "지원되는 파일 형식: .pdf, .csv, .txt", "required": "파일은 필수 항목입니다" }, "submit": "제출", "success": "지식이 정상적으로 추가되었습니다" }, "noEmbeddingModel": "먼저 RAG 설정 페이지에서 임베딩 모델을 추가해 주세요" } ================================================ FILE: src/assets/locale/ko/openai.json ================================================ { "settings": "OpenAI 호환 API", "heading": "OpenAI 호환 API", "subheading": "여기에서 OpenAI API 호환 공급자를 관리하고 설정할 수 있습니다.", "addBtn": "공급자 추가", "table": { "name": "공급자 이름", "baseUrl": "기본 URL", "actions": "작업" }, "modal": { "titleAdd": "새 공급자 추가", "name": { "label": "공급자 이름", "required": "공급자 이름은 필수 항목입니다.", "placeholder": "공급자 이름 입력" }, "baseUrl": { "label": "기본 URL", "help": "OpenAI API 공급자의 기본 URL 예시: (http://localhost:1234/v1)", "required": "기본 URL은 필수 항목입니다.", "placeholder": "기본 URL 입력" }, "apiKey": { "label": "API 키", "required": "API 키는 필수 항목입니다.", "placeholder": "API 키 입력" }, "submit": "저장", "update": "업데이트", "deleteConfirm": "이 공급자를 삭제하시겠습니까?", "model": { "title": "모델 목록", "subheading": "이 공급자에서 사용하고자 하는 챗 모델을 선택하세요.", "success": "새로운 모델이 정상적으로 추가되었습니다." }, "tipLMStudio": "Page Assist는 LM Studio에 로드된 모델을 자동으로 가져옵니다. 수동 추가가 필요하지 않습니다." }, "addSuccess": "공급자가 정상적으로 추가되었습니다.", "deleteSuccess": "공급자가 정상적으로 삭제되었습니다.", "updateSuccess": "공급자가 정상적으로 업데이트되었습니다.", "delete": "삭제", "edit": "편집", "newModel": "공급자에 모델 추가", "noNewModel": "LMStudio, Ollama, Llamafile,의 경우 동적으로 가져옵니다. 수동 추가는 필요하지 않습니다.", "searchModel": "모델 검색", "selectAll": "모두 선택", "save": "저장", "saving": "저장 중...", "manageModels": { "columns": { "name": "모델 이름", "model_type": "모델 타입", "model_id": "모델 ID", "provider": "공급자 이름", "actions": "작업", "nickname": "모델 별칭" }, "tooltip": { "delete": "삭제" }, "confirm": { "delete": "이 모델을 삭제하시겠습니까?" }, "modal": { "title": "사용자 정의 모델 추가", "form": { "name": { "label": "모델 ID", "placeholder": "llama3.2", "required": "모델 ID는 필수 항목입니다." }, "provider": { "label": "공급자", "placeholder": "공급자 선택", "required": "공급자는 필수 항목입니다." }, "type": { "label": "모델 타입" } } } }, "noModelFound": "모델을 찾을 수 없습니다. 올바른 기본 URL과 API 키를 가진 공급자가 추가되었는지 확인하세요.", "radio": { "chat": "챗 모델", "embedding": "임베딩 모델", "chatInfo": "는 챗 완료 및 대화 생성에 사용됩니다", "embeddingInfo": "는 RAG 및 기타 의미 검색 관련 작업에 사용됩니다." }, "nicknameModal": { "title": "모델 별칭 추가 / 편집", "form": { "modelName": { "label": "모델 이름", "placeholder": "모델 이름 입력", "required": "모델 이름은 필수 항목입니다." }, "modelAvatar": { "label": "모델 아바타", "placeholder": "모델 아바타 입력", "help": "모델 아바타의 URL을 입력해주세요. 이 이미지는 채팅 창에 표시됩니다." } } } } ================================================ FILE: src/assets/locale/ko/option.json ================================================ { "newChat": "새 채팅", "selectAPrompt": "프롬프트 선택", "githubRepository": "GitHub 리포지토리", "settings": "설정", "sidebarTitle": "채팅 기록", "error": "오류", "somethingWentWrong": "문제가 발생했습니다", "validationSelectModel": "계속하려면 모델을 선택하세요", "deleteHistoryConfirmation": "이 기록을 삭제하시겠습니까?", "editHistoryTitle": "새 제목 입력", "temporaryChat": "임시 채팅", "more": { "copy": { "group": "복사", "asText": "텍스트로 복사", "asMarkdown": "마크다운으로 복사", "success": "클립보드에 복사되었습니다!" }, "download": { "group": "다운로드", "text": "텍스트 파일 (.txt)", "markdown": "마크다운 (.md)", "json": "JSON 파일 (.json)" }, "share": "공유" } } ================================================ FILE: src/assets/locale/ko/playground.json ================================================ { "ollamaState": { "searching": "Ollama 검색 중 🦙", "running": "Ollama 실행 중 🦙", "notRunning": "Ollama에 연결할 수 없습니다 🦙", "connectionError": "연결 오류가 발생한 것 같습니다. 문제 해결에 대한 자세한 내용은 문서를 참조하세요." }, "formError": { "noModel": "모델을 선택하세요", "noEmbeddingModel": "설정 > RAG 페이지에서 임베딩 모델을 설정하세요" }, "form": { "textarea": { "placeholder": "메시지를 입력하세요..." }, "webSearch": { "on": "켜짐", "off": "꺼짐" } }, "tooltip": { "searchInternet": "인터넷 검색", "speechToText": "음성 입력", "uploadImage": "이미지 업로드", "stopStreaming": "스트리밍 중지", "knowledge": "지식", "clearContext": "컨텍스트 지우기" }, "sendWhenEnter": "Enter 키를 누르면 전송", "welcome": "안녕하세요! 오늘 어떻게 도와드릴까요?", "useOCR": "이미지에서 텍스트 추출 (OCR)" } ================================================ FILE: src/assets/locale/ko/settings.json ================================================ { "generalSettings": { "title": "일반 설정", "settings": { "heading": "웹 UI 설정", "speechRecognitionLang": { "label": "음성 인식 언어", "placeholder": "언어 선택" }, "language": { "label": "언어", "placeholder": "언어 선택" }, "darkMode": { "label": "테마 변경", "options": { "light": "라이트", "dark": "다크" } }, "defaultCopilotPrompt": { "label": "사이드 패널 기본 프롬프트 (Copilot)", "placeholder": "프롬프트 선택" }, "defaultWebUIPrompt": { "label": "웹 UI 기본 프롬프트", "placeholder": "프롬프트 선택" }, "searchMode": { "label": "간편 인터넷 검색 실행" }, "copilotResumeLastChat": { "label": "사이드 패널을 열 때 마지막 채팅 재개 (Copilot)" }, "turnOnChatWithWebsite": { "label": "웹사이트와의 채팅 기본 활성화 (Copilot)" }, "webUIResumeLastChat": { "label": "웹 UI를 열 때 마지막 채팅 재개" }, "hideCurrentChatModelSettings": { "label": "현재 채팅 모델 설정 숨기기" }, "restoreLastChatModel": { "label": "이전 채팅에서 마지막 사용한 모델 복원" }, "sendNotificationAfterIndexing": { "label": "지식 베이스 처리 완료 후 알림 전송" }, "generateTitle": { "label": "AI로 제목 생성" }, "ollamaStatus": { "label": "Ollama 연결 상태 확인 활성화 또는 비활성화" }, "wideMode": { "label": "와이드 스크린 모드 활성화" }, "openReasoning": { "label": "추론 섹션을 기본적으로 열기" }, "defaultThinkingMode": { "label": "폼에서 사고 모드 상태 표시" }, "userChatBubble": { "label": "사용자 메시지에 채팅 버블 사용" }, "autoCopyResponseToClipboard": { "label": "응답 자동 클립보드 복사" }, "useMarkdownForUserMessage": { "label": "사용자 메시지에 마크다운 형식 사용" }, "copyAsFormattedText": { "label": "서식이 있는 텍스트로 복사" }, "tabMentionsEnabled": { "label": "탭 멘션 (@tab) 활성화" }, "pasteLargeTextAsFile": { "label": "큰 텍스트를 파일로 붙여넣기" }, "ocrLanguage": { "label": "기본 OCR 언어", "placeholder": "OCR 언어 선택" }, "sidepanelTemporaryChat": { "label": "사이드 패널에서 임시 채팅 기본 활성화" }, "webuiTemporaryChat": { "label": "웹 UI에서 임시 채팅 기본 활성화" }, "removeReasoningTagFromCopy": { "label": "복사된 텍스트에서 추론 태그 제거" }, "youtubeAutoSummarize": { "label": "YouTube 동영상에 '요약' 버튼 표시" }, "hideReasoningWidget": { "label": "AI 메시지에서 추론 위젯 숨기기" }, "persistChatInput": { "label": "채팅 입력 유지 (미전송 메시지 저장)" }, "enableMessageQueue": { "label": "스트리밍 중 메시지 큐 활성화" }, "optimizeQueueForSmallScreen": { "label": "소형 화면을 위한 채팅 UI 최적화" }, "tableTextWrap": { "label": "마크다운 테이블에서 텍스트 줄 바꿈 활성화" }, "showMoreForLargeMessage": { "label": "긴 사용자 메시지에 '더 보기' 표시" }, "sidebarPosition": { "label": "사이드바 위치", "options": { "left": "왼쪽", "right": "오른쪽" } } }, "sidepanelRag": { "heading": "검색 설정", "ragEnabled": { "label": "임베딩 및 검색 활성화" }, "maxWebsiteContext": { "label": "전체 컨텍스트 모드의 최대 콘텐츠 크기", "placeholder": "콘텐츠 크기 (기본값 4028)" } }, "webSearch": { "heading": "웹 검색 관리", "searchMode": { "label": "간편한 인터넷 검색 실행" }, "provider": { "label": "검색 엔진", "placeholder": "검색 엔진 선택" }, "totalSearchResults": { "label": "총 검색 결과", "placeholder": "총 검색 결과 입력" }, "visitSpecificWebsite": { "label": "메시지에 언급된 웹사이트 방문" }, "searxng": { "url": { "label": "SearXNG URL" } }, "braveApi": { "label": "Brave API 키", "placeholder": "Brave API 키를 입력하세요" }, "tavilyApi": { "label": "Tavily API 키", "placeholder": "Tavily API 키를 입력하세요" }, "exa": { "label": "Exa API 키", "placeholder": "Exa API 키를 입력하세요" }, "googleDomain": { "label": "Google 도메인" }, "searchOnByDefault": { "label": "기본적으로 인터넷 검색 켜기" }, "firecrawlAPIKey": { "label": "Firecrawl API 키", "placeholder": "Firecrawl API 키를 입력하세요" }, "domainFilter": { "label": "도메인 필터 목록", "description": "이 도메인의 결과만 표시", "placeholder": "예: example.com" }, "blockedDomains": { "label": "차단된 도메인", "description": "이 도메인의 결과 제외", "placeholder": "예: spam.com" } }, "system": { "heading": "시스템 설정", "deleteChatHistory": { "label": "시스템 초기화", "button": "전체 초기화", "confirm": "시스템을 초기화하시겠습니까? 모든 데이터가 삭제되며 되돌릴 수 없습니다." }, "export": { "label": "모든 데이터 내보내기 (채팅 기록, 지식 베이스, 프롬프트, 설정)", "button": "데이터 내보내기", "success": "내보내기 성공" }, "import": { "label": "모든 데이터 가져오기 (채팅 기록, 지식 베이스, 프롬프트, 설정)", "button": "데이터 가져오기", "success": "가져오기 성공", "error": "가져오기 오류" }, "actionIcon": { "label": "확장 아이콘 클릭 기본 동작 설정" }, "contextMenu": { "label": "컨텍스트 메뉴 기본 동작 설정" }, "fontSize": { "label": "글꼴 크기" }, "webuiBtnSidePanel": { "label": "사이드 패널에 웹 UI 버튼 표시" }, "chatBackgroundImage": { "label": "채팅 배경 이미지" }, "storageSyncEnabled": { "label": "브라우저 저장소 동기화 활성화 (기기 간 설정 동기화)" } }, "tts": { "heading": "텍스트 음성 변환 설정", "ttsEnabled": { "label": "텍스트 음성 변환 활성화" }, "ttsAutoPlay": { "label": "응답 완료 후 자동 음성 재생" }, "ttsProvider": { "label": "텍스트 음성 변환 제공자", "placeholder": "제공자 선택" }, "ttsVoice": { "label": "텍스트 음성 변환 음성", "placeholder": "음성 선택" }, "ssmlEnabled": { "label": "SSML (Speech Synthesis Markup Language) 활성화" }, "responseSplitting": { "label": "응답 분할" }, "removeReasoningTagTTS": { "label": "TTS에서 추론 태그 제거" } }, "stt": { "heading": "음성 인식 설정", "autoStopTimeout": { "label": "자동 중지 시간 (ms)", "placeholder": "자동 중지 시간을 밀리초 단위로 입력하세요" }, "autoSubmitVoiceMessage": { "label": "음성 메시지 자동 전송" } } }, "manageModels": { "title": "모델 관리", "addBtn": "새 모델 추가", "columns": { "name": "이름", "digest": "다이제스트", "nickname": "닉네임", "modifiedAt": "수정 일시", "size": "크기", "actions": "동작" }, "expandedColumns": { "parentModel": "상위 모델", "format": "형식", "family": "패밀리", "parameterSize": "파라미터 크기", "quantizationLevel": "양자화 수준" }, "tooltip": { "delete": "모델 삭제", "repull": "모델 다시 가져오기", "editNickname": "닉네임 수정" }, "confirm": { "delete": "이 모델을 정말 삭제하시겠습니까?", "repull": "이 모델을 정말 다시 가져오시겠습니까?" }, "modal": { "title": "새 모델 추가", "placeholder": "모델 이름 입력", "pull": "모델 가져오기" }, "notification": { "pullModel": "모델 가져오는 중", "pullModelDescription": "{{modelName}} 모델을 가져오는 중입니다. 자세한 내용은 확장 기능 아이콘을 확인하세요.", "cancellingDownload": "다운로드 취소 중", "cancellingDownloadDescription": "모델 다운로드가 취소되고 있습니다...", "success": "성공", "error": "오류", "successDescription": "모델 가져오기가 완료되었습니다", "successDeleteDescription": "모델 삭제가 완료되었습니다", "someError": "문제가 발생했습니다. 나중에 다시 시도해 주세요." } }, "managePrompts": { "title": "프롬프트 관리", "addBtn": "새 프롬프트 추가", "option1": "일반", "option2": "RAG", "questionPrompt": "질문 프롬프트", "columns": { "title": "제목", "prompt": "프롬프트", "type": "프롬프트 유형", "actions": "동작" }, "systemPrompt": "시스템 프롬프트", "quickPrompt": "퀵 프롬프트", "tooltip": { "delete": "프롬프트 삭제", "edit": "프롬프트 수정" }, "confirm": { "delete": "이 프롬프트를 정말 삭제하시겠습니까? 이 작업은 되돌릴 수 없습니다." }, "modal": { "addTitle": "새 프롬프트 추가", "editTitle": "프롬프트 수정" }, "segmented": { "custom": "커스텀 프롬프트", "copilot": "Copilot 프롬프트" }, "form": { "title": { "label": "제목", "placeholder": "훌륭한 프롬프트", "required": "제목을 입력하세요" }, "prompt": { "label": "프롬프트", "placeholder": "프롬프트 입력", "required": "프롬프트를 입력하세요", "help": "프롬프트 내에서 {key}를 변수로 사용할 수 있습니다.", "missingTextPlaceholder": "프롬프트에 {text} 변수가 없습니다. 추가해 주세요." }, "isSystem": { "label": "시스템 프롬프트" }, "btnSave": { "saving": "프롬프트 추가 중...", "save": "프롬프트 추가" }, "btnEdit": { "saving": "프롬프트 업데이트 중...", "save": "프롬프트 업데이트" } }, "notification": { "addSuccess": "프롬프트가 추가되었습니다", "addSuccessDesc": "프롬프트가 정상적으로 추가되었습니다", "error": "오류", "someError": "문제가 발생했습니다. 나중에 다시 시도해 주세요.", "updatedSuccess": "프롬프트가 업데이트되었습니다", "updatedSuccessDesc": "프롬프트가 정상적으로 업데이트되었습니다", "deletedSuccess": "프롬프트가 삭제되었습니다", "deletedSuccessDesc": "프롬프트가 정상적으로 삭제되었습니다" } }, "manageShare": { "title": "공유 관리", "heading": "페이지 공유 URL 설정", "form": { "url": { "label": "페이지 공유 URL", "placeholder": "페이지 공유 URL 입력", "required": "페이지 공유 URL을 입력해 주세요!", "help": "개인정보 보호를 위해 페이지 공유를 자체 호스팅하고, 해당 URL을 여기에 입력할 수 있습니다. 자세히 보기" } }, "webshare": { "heading": "웹 공유", "columns": { "title": "제목", "url": "URL", "actions": "동작" }, "tooltip": { "delete": "공유 삭제" }, "confirm": { "delete": "이 공유를 정말 삭제하시겠습니까? 이 작업은 되돌릴 수 없습니다." }, "label": "페이지 공유 관리", "description": "페이지 공유 기능을 활성화 또는 비활성화" }, "notification": { "pageShareSuccess": "페이지 공유 URL이 정상적으로 업데이트되었습니다", "someError": "문제가 발생했습니다. 나중에 다시 시도해 주세요.", "webShareDeleteSuccess": "웹 공유가 정상적으로 삭제되었습니다" } }, "ollamaSettings": { "title": "Ollama 설정", "heading": "Ollama 설정하기", "settings": { "ollamaUrl": { "label": "Ollama URL", "placeholder": "Ollama URL 입력" }, "globalEnable": { "label": "Ollama 통합 기능 전역 활성화 또는 비활성화", "warning": "Ollama 통합을 전역적으로 비활성화하면 Page Assist가 Ollama에서 모델을 가져오지 않습니다. OpenAI 호환 API 섹션에서 Ollama 인스턴스를 추가할 수 있으며 정상적으로 작동합니다." }, "advanced": { "label": "Ollama URL 고급 설정", "urlRewriteEnabled": { "label": "사용자 지정 Origin URL 활성화 또는 비활성화" }, "rewriteUrl": { "label": "사용자 지정 Origin URL", "placeholder": "사용자 지정 Origin URL 입력" }, "autoCORSFix": { "label": "자동 Ollama CORS 수정 활성화 또는 비활성화" }, "headers": { "label": "사용자 지정 헤더", "add": "헤더 추가", "key": { "label": "헤더 키", "placeholder": "인증" }, "value": { "label": "헤더 값", "placeholder": "베어러 토큰" } }, "help": "Page Assist에서 Ollama 연결에 문제가 있는 경우 사용자 지정 Origin URL을 설정할 수 있습니다. 설정에 대한 자세한 내용은 여기를 클릭하세요." } } }, "manageSearch": { "title": "웹 검색 관리", "heading": "웹 검색 설정하기" }, "about": { "title": "소개", "heading": "소개", "chromeVersion": "Page Assist 버전", "ollamaVersion": "Ollama 버전", "support": "Page Assist 프로젝트는 다음 플랫폼에서 기부나 후원을 통해 지원할 수 있습니다:", "koFi": "Ko-fi로 후원하기", "githubSponsor": "GitHub에서 후원하기", "githubRepo": "GitHub 저장소" }, "manageKnowledge": { "title": "지식 관리", "heading": "지식 베이스 구성하기" }, "rag": { "title": "Pipeline 설정", "ragSettings": { "label": "RAG 설정", "model": { "label": "임베딩 모델", "required": "모델을 선택해주세요", "help": "`nomic-embed-text`와 같은 임베딩 모델 사용을 강력히 권장합니다.", "placeholder": "모델 선택" }, "chunkSize": { "label": "청크 크기", "placeholder": "청크 크기 입력", "required": "청크 크기를 입력해주세요" }, "chunkOverlap": { "label": "청크 오버랩", "placeholder": "청크 오버랩 입력", "required": "청크 오버랩을 입력해주세요" }, "totalFilePerKB": { "label": "지식 베이스 기본 파일 업로드 제한", "placeholder": "기본 파일 업로드 제한 입력 (예: 10)", "required": "기본 파일 업로드 제한을 입력해주세요" }, "noOfRetrievedDocs": { "label": "검색 문서 수", "placeholder": "검색 문서 수 입력", "required": "검색 문서 수를 입력해주세요" }, "splittingSeparator": { "label": "구분자", "placeholder": "구분자 입력 (예: \\n\\n)", "required": "구분자를 입력해주세요" }, "splittingStrategy": { "label": "텍스트 분할기" } }, "prompt": { "label": "RAG 프롬프트 설정", "option1": "일반", "option2": "웹", "alert": "여기서 시스템 프롬프트를 설정하는 것은 더 이상 권장되지 않습니다. 프롬프트 추가 및 편집은 '프롬프트 관리' 섹션을 이용해주세요. 이 섹션은 향후 릴리스에서 제거될 예정입니다.", "systemPrompt": "시스템 프롬프트", "systemPromptPlaceholder": "시스템 프롬프트 입력", "webSearchPrompt": "웹 검색 프롬프트", "webSearchPromptHelp": "프롬프트에서 `{search_results}`를 제거하지 마세요.", "webSearchPromptError": "웹 검색 프롬프트를 입력해주세요", "webSearchPromptPlaceholder": "웹 검색 프롬프트 입력", "webSearchFollowUpPrompt": "웹 검색 후속 프롬프트", "webSearchFollowUpPromptHelp": "프롬프트에서 `{chat_history}`와 `{question}`를 제거하지 마세요.", "webSearchFollowUpPromptError": "웹 검색 후속 프롬프트를 입력해주세요!", "webSearchFollowUpPromptPlaceholder": "웹 검색 후속 프롬프트" } }, "chromeAiSettings": { "title": "Chrome AI 설정" }, "mermaid": "Mermaid" } ================================================ FILE: src/assets/locale/ko/sidepanel.json ================================================ { "tooltip": { "embed": "페이지를 임베드하는 데 몇 분이 걸릴 수 있습니다. 잠시만 기다려 주세요...", "openwebui": "웹 UI 열기" } } ================================================ FILE: src/assets/locale/ml/chrome.json ================================================ { "heading": "ക്രോം എഐ കോൺഫിഗർ ചെയ്യുക", "status": { "label": "പേജ് അസിസ്റ്റിൽ ക്രോം എഐ പിന്തുണ സജ്ജമാക്കുക അല്ലെങ്കിൽ ഡിസബിൾ ചെയ്യുക" }, "error": { "browser_not_supported": "ക്രോത്തിന്റെ ഈ പതിപ്പ് ജെമിനി നാനോ മോഡലിനെ പിന്തുണയ്ക്കുന്നില്ല. പതിപ്പ് 127 അല്ലെങ്കിൽ അതിനുശേഷം അപ്ഡേറ്റ് ചെയ്യുക.", "ai_not_supported": "ക്രമീകരണം chrome://flags/#prompt-api-for-gemini-nano സജ്ജമാക്കപ്പെട്ടിട്ടില്ല. ദയവായി അതിനെ സജ്ജമാക്കുക.", "ai_not_ready": "ജെമിനി നാനോ ഇപ്പോഴും സജ്ജമല്ല; നിങ്ങൾ ക്രോം ക്രമീകരണങ്ങൾ രണ്ടുതവണ പരിശോധിക്കണം.", "internal_error": "ഒരു ആന്തരിക പിശക് സംഭവിച്ചു. ദയവായി കുറച്ചുദിവസം ശേഷം വീണ്ടും ശ്രമിക്കുക." }, "errorDescription": "ക്രോം എഐ ഉപയോഗിക്കാൻ, നിങ്ങൾക്ക് ക്രോം പതിപ്പ് 138 അല്ലെങ്കിൽ അതിനുശേഷം വേണം. ഈ ചുവടുപടികൾ പിന്തുടരുക:\n\n1. `chrome://flags/#prompt-api-for-gemini-nano` എന്നതിലേക്ക് പോകുക, \"Prompt API for Gemini Nano\" സജ്ജമാക്കുക.\n2. ഫ്ലാഗ് പ്രയോഗിക്കാൻ ക്രോം പുനരാരംഭിക്കുക.\n3. ഈ പേജിലേക്ക് മടങ്ങി \"മോഡൽ ഡൗൺലോഡ് ചെയ്യുക\" ക്ലിക്ക് ചെയ്യുക — ഇത് ആദ്യമായി 4GB മോഡൽ ഡൗൺലോഡ് ചെയ്യും.\n4. ഡൗൺലോഡ് ചെയ്ത ശേഷം, ജെമിനി നാനോ പേജ് അസിസ്റ്റ് വഴി സജ്ജമാക്കാം.", "downloadModel": "മോഡൽ ഡൗൺലോഡ് ചെയ്യുക", "modelDownloadWarning": "ഇത് ഏകദേശം 1.5 GB മുതൽ 2.4 GB വരെ ഡൗൺലോഡ് വലുപ്പമുള്ള മോഡൽ ഡൗൺലോഡ് ചെയ്യും. നിങ്ങൾക്ക് മതിയായ ഡിസ്‌ക് സ്പേസ് ഉണ്ടെന്ന് ഉറപ്പാക്കുക." } ================================================ FILE: src/assets/locale/ml/common.json ================================================ { "pageAssist": "പേജ് ആസിസ്റ്റ്", "selectAModel": "ഒരു മോഡല്‍ തിരഞ്ഞെടുക്കുക", "save": "സേവ് ചെയ്യുക", "saved": "സേവ് ചെയ്തു", "cancel": "റദ്ദാക്കുക", "retry": "വീണ്ടും ശ്രമിക്കുക", "share": { "tooltip": { "share": "പങ്കിടുക" }, "modal": { "title": "ചാറ്റ് ലിങ്ക് പങ്കിടുക" }, "form": { "defaultValue": { "name": "അജ്ഞാതന്‍", "title": "പേരില്ലാത്ത ചാറ്റ്" }, "title": { "label": "ചാറ്റ് തലക്കെട്ട്", "placeholder": "ചാറ്റ് തലക്കെട്ട് നല്കുക", "required": "ചാറ്റ് തലക്കെട്ട് ആവശ്യമാണ്" }, "name": { "label": "നിങ്ങളുടെ പേര്", "placeholder": "നിങ്ങളുടെ പേര് നല്കുക", "required": "നിങ്ങളുടെ പേര് ആവശ്യമാണ്" }, "btn": { "save": "ലിങ്ക് ജനറേറ്റ് ചെയ്യുക", "saving": "ലിങ്ക് ജനറേറ്റ് ചെയ്യുന്നു..." } }, "notification": { "successGenerate": "ലിങ്ക് ക്ലിപ്ബോര്‍ഡിലേക്ക് പകര്‍ത്തി", "failGenerate": "ലിങ്ക് ജനറേറ്റ് ചെയ്യുന്നതില്‍ പരാജയപ്പെട്ടു" } }, "copyToClipboard": "ക്ലിപ്ബോര്‍ഡിലേക്ക് പകര്‍ത്തുക", "webSearch": "വെബ് തിരയുന്നു", "regenerate": "വീണ്ടും ജനറേറ്റ് ചെയ്യുക", "continue": "പ്രതികരണം തുടരുക", "edit": "എഡിറ്റ് ചെയ്യുക", "delete": "ഇല്ലാതാക്കുക", "saveAndSubmit": "സേവ് ചെയ്ത് സമര്‍പ്പിക്കുക", "editMessage": { "placeholder": "ഒരു സന്ദേശം ടൈപ്പ് ചെയ്യുക..." }, "submit": "സമർപ്പിക്കുക", "noData": "ഡാറ്റ ലഭ്യമല്ല", "noHistory": "ചാറ്റ് ചരിത്രം ലഭ്യമല്ല", "chatWithCurrentPage": "നിലവിലെ പേജിനുമായി ചാറ്റ് ചെയ്യുക", "beta": "ബീറ്റ", "currentChatModelSettings": "നിലവിലെ ചാറ്റ് മോഡൽ ക്രമീകരണങ്ങൾ", "modelSettings": { "label": "മോഡൽ ക്രമീകരണങ്ങൾ", "description": "എല്ലാ ചാറ്റുകൾക്കും മോഡൽ ഓപ്ഷനുകൾ ഗ്ലോബലായി സജ്ജമാക്കുക", "form": { "keepAlive": { "label": "കീപ്പ് ആലൈവ്", "help": "അഭ്യർത്ഥനയെ തുടർന്ന് മോഡൽ മെമ്മറിയിൽ എത്രനേരം നിലനിൽക്കുമെന്ന് നിയന്ത്രിക്കുന്നു (സ്ഥിരം: 5 മിനിറ്റ്)", "placeholder": "കീപ്പ് ആലൈവ് കാലയളവ് നൽകുക (ഉദാ: 5 മിനിറ്റ്, 10 മിനിറ്റ്, 1 മണിക്കൂർ)" }, "temperature": { "label": "താപനില", "placeholder": "താപനില മൂല്യം നൽകുക (ഉദാ: 0.7, 1.0)" }, "numCtx": { "label": "കോൺടെക്സ്റ്റ് വിൻഡോ വലുപ്പം (num_ctx)", "placeholder": "കോൺടെക്സ്റ്റ് വിൻഡോ വലുപ്പ മൂല്യം നൽകുക (സ്ഥിരം: 2048)" }, "numPredict": { "label": "പരമാവധി ടോക്കണുകൾ (num_predict)", "placeholder": "പരമാവധി ടോക്കൺ മൂല്യം നൽകുക (ഉദാ: 2048, 4096)" }, "seed": { "label": "സീഡ്", "placeholder": "സീഡ് വില്യമ നൽകുക (ഉദാ: 1234)", "help": "മോഡൽ ഔട്ട്പുട്ടിന്റെ പുനഃസൃഷ്ടിയോഗ്യത" }, "topK": { "label": "ടോപ് K", "placeholder": "ടോപ് K മൂല്യം നൽകുക (ഉദാ: 40, 100)" }, "topP": { "label": "ടോപ് P", "placeholder": "ടോപ് P മൂല്യം നൽകുക (ഉദാ: 0.9, 0.95)" }, "numGpu": { "label": "ജിപിയു എണ്ണം", "placeholder": "ജിപിയു(കൾ)ക്ക് അയക്കേണ്ട ലേയറുകളുടെ എണ്ണം നൽകുക" }, "systemPrompt": { "label": "താൽക്കാലിക സിസ്റ്റം പ്രോംപ്റ്റ്", "placeholder": "സിസ്റ്റം പ്രോംപ്റ്റ് നൽകുക", "help": "നിലവിലുള്ള ചാറ്റിൽ സിസ്റ്റം പ്രോംപ്റ്റ് സെറ്റ് ചെയ്യാനുള്ള വേഗത്തിലുള്ള മാർഗമാണിത്, ഇത് തിരഞ്ഞെടുത്ത സിസ്റ്റം പ്രോംപ്റ്റ് നിലവിലുണ്ടെങ്കിൽ അതിനെ മറികടക്കും." } }, "advanced": "കൂടുതൽ മോഡൽ ക്രമീകരണങ്ങൾ" }, "copilot": { "summary": "സംഗ്രഹിക്കുക", "explain": "വിശദീകരിക്കുക", "rephrase": "പുനഃരൂപീകരിക്കുക", "translate": "വിവർത്തനം ചെയ്യുക" }, "citations": "ഉദ്ധരണികൾ", "downloadCode": "കോഡ് ഡൗൺലോഡ് ചെയ്യുക", "date": { "pinned": "പിൻ ചെയ്തത്", "today": "ഇന്ന്", "yesterday": "ഇന്നലെ", "last7Days": "കഴിഞ്ഞ 7 ദിവസം", "older": "പഴയത്" }, "range": { "deleteConfirm": { "pinned": "പിൻ ചെയ്ത എല്ലാ സന്ദേശങ്ങളും ഇല്ലാതാക്കണമെന്ന് തീർച്ചയാണോ?", "today": "ഇന്നത്തെ എല്ലാ സന്ദേശങ്ങളും ഇല്ലാതാക്കണമെന്ന് തീർച്ചയാണോ?", "yesterday": "ഇന്നലത്തെ എല്ലാ സന്ദേശങ്ങളും ഇല്ലാതാക്കണമെന്ന് തീർച്ചയാണോ?", "last7Days": "കഴിഞ്ഞ 7 ദിവസത്തെ എല്ലാ സന്ദേശങ്ങളും ഇല്ലാതാക്കണമെന്ന് തീർച്ചയാണോ?", "older": "പഴയ എല്ലാ സന്ദേശങ്ങളും ഇല്ലാതാക്കണമെന്ന് തീർച്ചയാണോ?" }, "tooltip": { "pinned": "പിൻ ചെയ്ത എല്ലാ സന്ദേശങ്ങളും ഇല്ലാതാക്കുക", "today": "ഇന്നത്തെ എല്ലാ സന്ദേശങ്ങളും ഇല്ലാതാക്കുക", "yesterday": "ഇന്നലത്തെ എല്ലാ സന്ദേശങ്ങളും ഇല്ലാതാക്കുക", "last7Days": "കഴിഞ്ഞ 7 ദിവസത്തെ എല്ലാ സന്ദേശങ്ങളും ഇല്ലാതാക്കുക", "older": "പഴയ എല്ലാ സന്ദേശങ്ങളും ഇല്ലാതാക്കുക" } }, "pin": "പിൻ ചെയ്യുക", "unpin": "അൺപിൻ ചെയ്യുക", "generationInfo": "ജനറേഷൻ വിവരങ്ങൾ", "sidebarChat": "സൈഡ്ബാർ ചാറ്റ്", "reasoning": { "thinking": "ചിന്തിക്കുന്നു....", "thought": "{{time}} നേരത്തെ ചിന്ത" }, "embeddingGen": "എംബെഡിങ്ങുകൾ സൃഷ്ടിക്കുന്നു, ഇതിന് കുറച്ച് സമയമെടുക്കും", "semanticSearch": "സെമാന്റിക് തിരയൽ നടത്തുന്നു", "downloading": "ഡൗൺലോഡ് ചെയ്യുന്നു", "cancelPullingModel": { "confirm": "ഡൗൺലോഡ് റദ്ദാക്കണമെന്നുറപ്പാണോ? ഇത് ഡൗൺലോഡ് പ്രക്രിയ നിർത്തും. ഒല്ലാമ ഡോക്യുമെന്റേഷൻ പ്രകാരം, നിങ്ങൾ തുടർന്നിടത്തുനിന്ന് വീണ്ടും ആരംഭിക്കാം." } } ================================================ FILE: src/assets/locale/ml/knowledge.json ================================================ { "addBtn": "പുതിയ വിജ്ഞാനം ചേര്‍ക്കുക", "columns": { "title": "തലക്കെട്ട്", "status": "സ്ഥിതി", "embeddings": "എംബെഡിംഗ് മോഡല്‍", "createdAt": "സൃഷ്ടിച്ചത്", "action": "പ്രവർത്തനങ്ങൾ" }, "expandedColumns": { "name": "നാമം" }, "confirm": { "delete": "നിങ്ങൾക്ക് ഈ വിജ്ഞാനം ഇല്ലാതാക്കണമെന്ന് ഉറപ്പാണോ?" }, "deleteSuccess": "വിജ്ഞാനം വിജയകരമായി ഇല്ലാതാക്കി", "status": { "pending": "തീരുമാനിക്കാനുണ്ട്", "finished": "പൂർത്തീകരിച്ചു", "processing": "പ്രോസസ്സിംഗ്", "failed": "പരാജയപ്പെട്ടു" }, "addKnowledge": "വിജ്ഞാനം ചേര്‍ക്കുക", "updateKnowledge": "ഉറവിടം ചേർക്കുക", "form": { "title": { "label": "വിജ്ഞാനത്തിന്റെ തലക്കെട്ട്", "placeholder": "വിജ്ഞാനത്തിന്റെ തലക്കെട്ട് നല്‍കുക", "required": "വിജ്ഞാനത്തിന്റെ തലക്കെട്ട് ആവശ്യമാണ്" }, "uploadFile": { "label": "ഫയല്‍ അപ്‌ലോഡ് ചെയ്യുക", "uploadText": "ഇവിടെ ഒരു ഫയല്‍ എടുത്തിടുക അല്ലെങ്കില്‍ അപ്‌ലോഡ് ചെയ്യാന്‍ ക്ലിക്ക് ചെയ്യുക", "uploadHint": "പിന്തുണയുള്ള ഫയല്‍ തരങ്ങള്‍: .pdf, .csv, .txt, .md,.docx", "required": "ഫയല്‍ ആവശ്യമാണ്" }, "submit": "സമര്‍പ്പിക്കുക", "success": "വിജ്ഞാനം വിജയകരമായി ചേര്‍ത്തു" }, "noEmbeddingModel": "ദയവായി ആദ്യം RAG ക്രമീകരണ പേജില്‍ നിന്ന് ഒരു എംബെഡിംഗ് മോഡല്‍ ചേര്‍ക്കുക" } ================================================ FILE: src/assets/locale/ml/openai.json ================================================ { "settings": "OpenAI അനുയോജ്യമായ API", "heading": "OpenAI അനുയോജ്യമായ API", "subheading": "നിങ്ങളുടെ OpenAI API അനുയോജ്യമായ ദാതാക്കളെ ഇവിടെ നിയന്ത്രിക്കുകയും കോൺഫിഗർ ചെയ്യുകയും ചെയ്യുക.", "addBtn": "ദാതാവിനെ ചേർക്കുക", "table": { "name": "ദാതാവിന്റെ പേര്", "baseUrl": "അടിസ്ഥാന URL", "actions": "പ്രവർത്തനം" }, "modal": { "titleAdd": "പുതിയ ദാതാവിനെ ചേർക്കുക", "name": { "label": "ദാതാവിന്റെ പേര്", "required": "ദാതാവിന്റെ പേര് ആവശ്യമാണ്.", "placeholder": "ദാതാവിന്റെ പേര് നൽകുക" }, "baseUrl": { "label": "അടിസ്ഥാന URL", "help": "OpenAI API ദാതാവിന്റെ അടിസ്ഥാന URL. ഉദാ. (http://localhost:1234/v1)", "required": "അടിസ്ഥാന URL ആവശ്യമാണ്.", "placeholder": "അടിസ്ഥാന URL നൽകുക" }, "apiKey": { "label": "API കീ", "required": "API കീ ആവശ്യമാണ്.", "placeholder": "API കീ നൽകുക" }, "submit": "സംരക്ഷിക്കുക", "update": "അപ്ഡേറ്റ് ചെയ്യുക", "deleteConfirm": "ഈ ദാതാവിനെ ഇല്ലാതാക്കണമെന്ന് തീർച്ചയാണോ?", "model": { "title": "മോഡൽ പട്ടിക", "subheading": "ഈ ദാതാവിനോടൊപ്പം ഉപയോഗിക്കാൻ നിങ്ങൾ ആഗ്രഹിക്കുന്ന ചാറ്റ് മോഡലുകൾ തിരഞ്ഞെടുക്കുക.", "success": "പുതിയ മോഡലുകൾ വിജയകരമായി ചേർത്തു." }, "tipLMStudio": "LM Studio-യിൽ നിങ്ങൾ ലോഡ് ചെയ്ത മോഡലുകൾ Page Assist സ്വയമേവ ലഭ്യമാക്കും. അവ മാനുവലായി ചേർക്കേണ്ടതില്ല." }, "addSuccess": "ദാതാവിനെ വിജയകരമായി ചേർത്തു.", "deleteSuccess": "ദാതാവിനെ വിജയകരമായി ഇല്ലാതാക്കി.", "updateSuccess": "ദാതാവിനെ വിജയകരമായി അപ്ഡേറ്റ് ചെയ്തു.", "delete": "ഇല്ലാതാക്കുക", "edit": "തിരുത്തുക", "newModel": "ദാതാവിലേക്ക് മോഡലുകൾ ചേർക്കുക", "noNewModel": "LMStudio, Ollama, Llamafile-യ്ക്കായി, ഞങ്ങൾ ഡൈനാമിക്കായി ലഭ്യമാക്കുന്നു. മാനുവലായി ചേർക്കേണ്ടതില്ല.", "searchModel": "മോഡൽ തിരയുക", "selectAll": "എല്ലാം തിരഞ്ഞെടുക്കുക", "save": "സംരക്ഷിക്കുക", "saving": "സംരക്ഷിക്കുന്നു...", "manageModels": { "columns": { "name": "മോഡൽ പേര്", "model_type": "മോഡൽ തരം", "model_id": "മോഡൽ ID", "provider": "ദാതാവിന്റെ പേര്", "actions": "പ്രവർത്തനം", "nickname": "മോഡൽ വിളിപ്പേര്" }, "tooltip": { "delete": "ഇല്ലാതാക്കുക" }, "confirm": { "delete": "ഈ മോഡൽ ഇല്ലാതാക്കണമെന്ന് തീർച്ചയാണോ?" }, "modal": { "title": "ഇഷ്ടാനുസൃത മോഡൽ ചേർക്കുക", "form": { "name": { "label": "മോഡൽ ID", "placeholder": "llama3.2", "required": "മോഡൽ ID ആവശ്യമാണ്." }, "provider": { "label": "ദാതാവ്", "placeholder": "ദാതാവിനെ തിരഞ്ഞെടുക്കുക", "required": "ദാതാവ് ആവശ്യമാണ്." }, "type": { "label": "മോഡൽ തരം" } } } }, "noModelFound": "മോഡൽ കണ്ടെത്തിയില്ല. അടിസ്ഥാന URL-ഉം API കീയും ഉള്ള ശരിയായ ദാതാവിനെ നിങ്ങൾ ചേർത്തിട്ടുണ്ടെന്ന് ഉറപ്പാക്കുക.", "radio": { "chat": "ചാറ്റ് മോഡൽ", "embedding": "എംബെഡിംഗ് മോഡൽ", "chatInfo": "ചാറ്റ് പൂർത്തീകരണത്തിനും സംഭാഷണ നിർമ്മാണത്തിനും ഉപയോഗിക്കുന്നു", "embeddingInfo": "RAG-നും മറ്റ് സെമാന്റിക് തിരയൽ അനുബന്ധ ടാസ്കുകൾക്കും ഉപയോഗിക്കുന്നു." }, "nicknameModal": { "title": "മോഡൽ വിളിപ്പേര് ചേർക്കുക / എഡിറ്റ് ചെയ്യുക", "form": { "modelName": { "label": "മോഡൽ പേര്", "placeholder": "മോഡൽ പേര് നൽകുക", "required": "മോഡൽ പേര് ആവശ്യമാണ്." }, "modelAvatar": { "label": "മോഡൽ അവതാർ", "placeholder": "മോഡൽ അവതാർ നൽകുക", "help": "മോഡൽ അവതാറിന്റെ URL നൽകുക. ഈ ചിത്രം ചാറ്റ് വിൻഡോയിൽ പ്രദർശിപ്പിക്കപ്പെടും." } } } } ================================================ FILE: src/assets/locale/ml/option.json ================================================ { "newChat": "പുതിയ ചാറ്റ്", "selectAPrompt": "ഒരു പ്രോംപ്റ്റ് തിരഞ്ഞെടുക്കുക", "githubRepository": "ഗിറ്റ്ഹബ് റെപ്പോസിറ്ററി", "settings": "സെറ്റിംഗുകൾ", "sidebarTitle": "ചാറ്റ് ചരിത്രം", "error": "പിശക്", "somethingWentWrong": "എന്തോ തെറ്റായി", "deleteHistoryConfirmation": "നിങ്ങളുടെ ചാറ്റ് ചരിത്രം ഇല്ലാതാക്കണമെന്ന് തീർച്ചയാണോ?", "editHistoryTitle": "ചാറ്റ് title എഡിറ്റുചെയ്യുക", "validationSelectModel": "തുടരുന്നതിന് ഒരു മോഡല്‍ തിരഞ്ഞെടുക്കുക", "temporaryChat": "താൽക്കാലിക ചാറ്റ്", "more": { "copy": { "group": "പകർത്തുക", "asText": "ടെക്സ്റ്റായി പകർത്തുക", "asMarkdown": "മാർക്ക്ഡൗൺ ആയി പകർത്തുക", "success": "ക്ലിപ്പ്ബോർഡിലേക്ക് പകർത്തി!" }, "download": { "group": "ഡൗൺലോഡ്", "text": "ടെക്സ്റ്റ് ഫയൽ (.txt)", "markdown": "മാർക്ക്ഡൗൺ (.md)", "json": "JSON ഫയൽ (.json)" }, "share": "പങ്കുവയ്ക്കുക" } } ================================================ FILE: src/assets/locale/ml/playground.json ================================================ { "ollamaState": { "searching": "നിങ്ങളുടെ ഒല്ലാമയ്ക്കായി തിരയുന്നു 🦙", "running": "ഒല്ലാമ പ്രവര്‍ത്തിക്കുന്നു 🦙", "notRunning": "ഒല്ലാമയുമായി ബന്ധിപ്പിക്കാന്‍ കഴിയുന്നില്ല 🦙", "connectionError": "നിങ്ങൾക്ക് കണക്ഷൻ പ്രശ്നം ഉണ്ടെന്നു കാണുന്നു. ഈ ഡോക്യുമെന്റേഷൻ പരിശോധിക്കാൻ കൂടുതൽ സഹായത്തിനായി." }, "formError": { "noModel": "ദയവായി ഒരു മോഡല്‍ തിരഞ്ഞെടുക്കുക", "noEmbeddingModel": "സെറ്റിംഗുകൾ > RAG പേജിലുള്ള എംബെഡിംഗ് മോഡല്‍ സജ്ജീകരിക്കുക" }, "form": { "textarea": { "placeholder": "ഒരു സന്ദേശം ടൈപ്പ് ചെയ്യുക..." }, "webSearch": { "on": "ഓണ്‍", "off": "ഓഫ്" } }, "tooltip": { "searchInternet": "ഇന്റര്‍നെറ്റ് തിരയുക", "speechToText": "സംഭാഷണം ടെക്സ്റ്റായി", "uploadImage": "ഇമേജ് അപ്‌ലോഡ് ചെയ്യുക", "stopStreaming": "സ്ട്രീമിംഗ് നിർത്തുക", "knowledge": "അറിവ്", "clearContext": "സന്ദർഭം മായ്ക്കുക" }, "sendWhenEnter": "എന്റര്‍ അമര്‍ത്തുമ്പോള്‍ അയയ്ക്കുക", "welcome": "നമസ്കാരം! ഇന്ന് എനിക്ക് നിങ്ങളെ എങ്ങനെ സഹായിക്കാൻ കഴിയും?", "useOCR": "ചിത്രത്തിൽ നിന്ന് ടെക്സ്റ്റ് എടുക്കുക (OCR)" } ================================================ FILE: src/assets/locale/ml/settings.json ================================================ { "generalSettings": { "title": "പൊതുവായ സെറ്റിംഗുകൾ", "settings": { "heading": "വെബ് UI സെറ്റിംഗുകൾ", "speechRecognitionLang": { "label": "സംഭാഷണ തിരിച്ചറിയല്‍ ഭാഷ", "placeholder": "ഒരു ഭാഷ തിരഞ്ഞെടുക്കുക" }, "language": { "label": "ഭാഷ", "placeholder": "ഒരു ഭാഷ തിരഞ്ഞെടുക്കുക" }, "darkMode": { "label": "തീം മാറ്റുക", "options": { "light": "ലൈറ്റ്", "dark": "ഡാര്‍ക്ക്" } }, "searchMode": { "label": "സാധാരണ ഇന്റർനെറ്റ് അന്വേഷണം നടത്തുക" }, "copilotResumeLastChat": { "label": "സൈഡ്പാനൽ തുറക്കുമ്പോൾ അവസാനത്തെ ചാറ്റ് പുനരാരംഭിക്കുക (Copilot)" }, "turnOnChatWithWebsite": { "label": "സ്ഥിരസ്ഥിതിയായി വെബ്സൈറ്റുമായുള്ള ചാറ്റ് പ്രവർത്തനക്ഷമമാക്കുക (കോപൈലറ്റ്)" }, "webUIResumeLastChat": { "label": "വെബ് UI തുറക്കുമ്പോൾ അവസാനത്തെ ചാറ്റ് പുനരാരംഭിക്കുക" }, "hideCurrentChatModelSettings": { "label": "നിലവിലുള്ള ചാറ്റ് മോഡൽ ക്രമീകരണങ്ങൾ മറയ്ക്കുക" }, "restoreLastChatModel": { "label": "മുൻപത്തെ ചാറ്റുകൾക്കായി അവസാനം ഉപയോഗിച്ച മോഡൽ പുനഃസ്ഥാപിക്കുക" }, "sendNotificationAfterIndexing": { "label": "അറിവ് ശേഖരം പ്രോസസ്സ് ചെയ്ത് കഴിഞ്ഞതിന് ശേഷം അറിയിപ്പ് അയയ്ക്കുക" }, "generateTitle": { "label": "എഐ ഉപയോഗിച്ച് ശീർഷകം സൃഷ്ടിക്കുക" }, "ollamaStatus": { "label": "ഒല്ലാമ കണക്ഷൻ സ്റ്റാറ്റസ് പരിശോധന പ്രവർത്തനക്ഷമമാക്കുകയോ പ്രവർത്തനരഹിതമാക്കുകയോ ചെയ്യുക" }, "wideMode": { "label": "വിശാലമായ സ്ക്രീൻ മോഡ് പ്രവർത്തനക്ഷമമാക്കുക" }, "openReasoning": { "label": "സ്ഥിരസ്ഥിതിയായി റീസണിംഗ് കൊളാപ്സ് തുറക്കുക" }, "userChatBubble": { "label": "ഉപയോക്തൃ സന്ദേശങ്ങൾക്കായി ചാറ്റ് ബബിൾ ഉപയോഗിക്കുക" }, "autoCopyResponseToClipboard": { "label": "പ്രതികരണം സ്വയമേവ ക്ലിപ്പ്ബോർഡിലേക്ക് പകർത്തുക" }, "useMarkdownForUserMessage": { "label": "ഉപയോക്തൃ സന്ദേശങ്ങൾക്കായി മാർക്ക്ഡൗൺ ഫോർമാറ്റിംഗ് പ്രവർത്തനക്ഷമമാക്കുക" }, "copyAsFormattedText": { "label": "ഫോർമാറ്റ് ചെയ്ത ടെക്സ്റ്റായി പകർത്തുക" }, "tabMentionsEnabled": { "label": "ടാബ് മെൻഷനുകൾ (@tab) പ്രവർത്തനക്ഷമമാക്കുക" }, "pasteLargeTextAsFile": { "label": "വലിയ ടെക്സ്റ്റ് ഫയലായി പേസ്റ്റ് ചെയ്യുക" }, "sidepanelTemporaryChat": { "label": "സൈഡ്പാനലിൽ താൽക്കാലിക ചാറ്റ് സ്ഥിരസ്ഥിതിയായി പ്രവർത്തനക്ഷമമാക്കുക" } }, "sidepanelRag": { "heading": "വീണ്ടെടുക്കൽ ക്രമീകരണങ്ങൾ", "ragEnabled": { "label": "എംബെഡിംഗും വീണ്ടെടുക്കലും പ്രവർത്തനക്ഷമമാക്കുക" }, "maxWebsiteContext": { "label": "പൂർണ്ണ സന്ദർഭ മോഡിനായുള്ള പരമാവധി ഉള്ളടക്ക വലുപ്പം", "placeholder": "ഉള്ളടക്ക വലുപ്പം (സ്ഥിരസ്ഥിതി 4028)" } }, "webSearch": { "heading": "വെബ്ബ് തിരച്ചിൽ നിയന്ത്രിക്കുക", "searchMode": { "label": "സരളമായ ഇന്റർനെറ്റ് തിരച്ചിൽ നടത്തുക" }, "provider": { "label": "തിരച്ചിൽ എഞ്ചിൻ", "placeholder": "തിരച്ചിൽ എഞ്ചിൻ തിരഞ്ഞെടുക്കുക" }, "totalSearchResults": { "label": "ആകെ തിരച്ചിൽ ഫലങ്ങൾ", "placeholder": "ആകെ തിരച്ചിൽ ഫലങ്ങളുടെ എണ്ണം നൽകുക" }, "visitSpecificWebsite": { "label": "സന്ദേശത്തിൽ പറയുന്ന വെബ്സൈറ്റ് സന്ദർശിക്കുക." }, "searxng": { "url": { "label": "SearXNG URL" } }, "braveApi": { "label": "ബ്രേവ് API കീ", "placeholder": "നിങ്ങളുടെ ബ്രേവ് API കീ നൽകുക" }, "searchOnByDefault": { "label": "സ്ഥിരസ്ഥിതിയായി ഇന്റർനെറ്റ് തിരച്ചിൽ പ്രവർത്തനക്ഷമമാക്കുക" } }, "system": { "heading": "സിസ്റ്റം ക്രമീകരണങ്ങൾ", "storageSyncEnabled": { "label": "ബ്രൗസർ സ്റ്റോറേജ് സമന്വയം പ്രവർത്തനക്ഷമമാക്കുക (ഉപകരണങ്ങളിലുടനീളം ക്രമീകരണങ്ങൾ സമന്വയിപ്പിക്കുക)" }, "deleteChatHistory": { "label": "സിസ്റ്റം റീസെറ്റ്", "button": "എല്ലാം റീസെറ്റ് ചെയ്യുക", "confirm": "നിങ്ങൾക്ക് സിസ്റ്റം റീസെറ്റ് നടത്താൻ തീർച്ചയാണോ? ഇത് എല്ലാ ഡാറ്റയും മായ്ക്കും, പിന്നീട് പുനഃസ്ഥാപിക്കാൻ കഴിയില്ല." }, "export": { "label": "എല്ലാ ഡാറ്റയും എക്സ്പോർട്ട് ചെയ്യുക (ചാറ്റ് ഹിസ്റ്ററി, നോളഡ്ജ് ബേസ്, പ്രോമ്പ്റ്റുകൾ, സജ്ജീകരണങ്ങൾ)", "button": "ഡാറ്റ എക്സ്പോർട്ട് ചെയ്യുക", "success": "എക്സ്പോർട്ട് വിജയകരം" }, "import": { "label": "എല്ലാ ഡാറ്റയും ഇമ്പോർട്ട് ചെയ്യുക (ചാറ്റ് ഹിസ്റ്ററി, നോളഡ്ജ് ബേസ്, പ്രോമ്പ്റ്റുകൾ, സജ്ജീകരണങ്ങൾ)", "button": "ഡാറ്റ ഇമ്പോർട്ട് ചെയ്യുക", "success": "ഇമ്പോർട്ട് വിജയകരം", "error": "ഇമ്പോർട്ട് പിശക്" } }, "tts": { "heading": "ടെക്സ്റ്റ്-ടു-സ്പീച്ച് ക്രമീകരണങ്ങൾ", "ttsEnabled": { "label": "ടെക്സ്റ്റ്-ടു-സ്പീച്ച് പ്രവർത്തനക്ഷമമാക്കുക" }, "ttsAutoPlay": { "label": "പൂർത്തിയാക്കിയ ശേഷം വോയ്സ് പ്രതികരണം സ്വയമേവ പ്ലേ ചെയ്യുക" }, "ttsProvider": { "label": "ടെക്സ്റ്റ്-ടു-സ്പീച്ച് പ്രോവൈഡർ", "placeholder": "ഒരു പ്രോവൈഡർ തിരഞ്ഞെടുക്കുക" }, "ttsVoice": { "label": "ടെക്സ്റ്റ്-ടു-സ്പീച്ച് വോയ്സ്", "placeholder": "ഒരു വോയ്സ് തിരഞ്ഞെടുക്കുക" }, "ssmlEnabled": { "label": "SSML (സ്പീച്ച് സിന്തസിസ് മാർക്കപ്പ് ലാംഗ്വേജ്) പ്രവർത്തനക്ഷമമാക്കുക" }, "removeReasoningTagTTS": { "label": "ടിടിഎസിൽ നിന്ന് റീസണിംഗ് ടാഗ് നീക്കം ചെയ്യുക" } }, "stt": { "heading": "സ്പീച്ച്-ടു-ടെക്സ്റ്റ് ക്രമീകരണങ്ങൾ", "autoStopTimeout": { "label": "സ്വയം നിർത്തൽ സമയപരിധി (മില്ലിസെക്കൻഡ്)", "placeholder": "സ്വയം നിർത്തൽ സമയപരിധി മില്ലിസെക്കൻഡിൽ നൽകുക" }, "autoSubmitVoiceMessage": { "label": "വോയ്സ് സന്ദേശം സ്വയമേവ സമർപ്പിക്കുക" } } }, "manageModels": { "title": "മോഡലുകള്‍ കൈകാര്യം ചെയ്യുക", "addBtn": "പുതിയ മോഡല്‍ ചേര്‍ക്കുക", "columns": { "name": "പേര്", "digest": "ഡൈജസ്റ്റ്", "modifiedAt": "അവസാനമായി പരിഷ്‌കരിച്ചത്", "size": "വലുപ്പം", "actions": "പ്രവർത്തനങ്ങൾ" }, "expandedColumns": { "parentModel": "പാരന്റ് മോഡല്‍", "format": "ഫോര്‍മാറ്റ്", "family": "കുടുംബം", "parameterSize": "പാരാമീറ്റര്‍ വലുപ്പം", "quantizationLevel": "ക്വാണ്ടൈസേഷന്‍ ലെവല്‍" }, "tooltip": { "delete": "മോഡല്‍ ഇല്ലാതാക്കുക", "repull": "മോഡല്‍ വീണ്ടും ലഭ്യമാക്കുക" }, "confirm": { "delete": "ഈ മോഡല്‍ ഇല്ലാതാക്കണമെന്ന് തീർച്ചയാണോ?", "repull": "ഈ മോഡല്‍ വീണ്ടും ലഭ്യമാക്കണമെന്ന് തീർച്ചയാണോ?" }, "modal": { "title": "പുതിയ മോഡല്‍ ചേര്‍ക്കുക", "placeholder": "മോഡല്‍ പേര് നല്‍കുക", "pull": "മോഡല്‍ ലഭ്യമാക്കുക" }, "notification": { "pullModel": "മോഡല്‍ ലഭ്യമാക്കുന്നു", "pullModelDescription": "{{modelName}} മോഡല്‍ ലഭ്യമാക്കുന്നു. കൂടുതല്‍ വിവരങ്ങള്‍ക്കായി എക്‌സ്റ്റെന്‍ഷന്‍ ഐക്കണ്‍ പരിശോധിക്കുക.", "success": "വിജയം", "error": "പിശക്", "successDescription": "മോഡല്‍ വിജയകരമായി ലഭ്യമാക്കി", "successDeleteDescription": "മോഡല്‍ വിജയകരമായി ഇല്ലാതാക്കി", "someError": "എന്തോ തെറ്റായി. ദയവായി പിന്നീട് വീണ്ടും ശ്രമിക്കുക" } }, "managePrompts": { "title": "പ്രോംപ്റ്റുകള്‍ കൈകാര്യം ചെയ്യുക", "addBtn": "പുതിയ പ്രോംപ്റ്റ് ചേര്‍ക്കുക", "columns": { "title": "തലക്കെട്ട്", "prompt": "പ്രോംപ്റ്റ്", "type": "പ്രോംപ്റ്റ് തരം", "actions": "പ്രവർത്തനങ്ങൾ" }, "option1": "സാധാരണ", "option2": "RAG", "questionPrompt": "ചോദ്യ പ്രോംപ്റ്റ്", "systemPrompt": "സിസ്റ്റം പ്രോംപ്റ്റ്", "quickPrompt": "വേഗത്തിലുള്ള പ്രോംപ്റ്റ്", "tooltip": { "delete": "പ്രോംപ്റ്റ് ഇല്ലാതാക്കുക", "edit": "പ്രോംപ്റ്റ് എഡിറ്റുചെയ്യുക" }, "confirm": { "delete": "ഈ പ്രോംപ്റ്റ് ഇല്ലാതാക്കണമെന്ന് തീർച്ചയാണോ? ഈ പ്രവർത്തനം പിന്നീട് പിൻവലിക്കാനാകില്ല." }, "modal": { "addTitle": "പുതിയ പ്രോംപ്റ്റ് ചേര്‍ക്കുക", "editTitle": "പ്രോംപ്റ്റ് എഡിറ്റുചെയ്യുക" }, "segmented": { "custom": "കസ്റ്റം പ്രോംപ്റ്റുകൾ", "copilot": "കോപൈലറ്റ് പ്രോംപ്റ്റുകൾ" }, "form": { "title": { "label": "തലക്കെട്ട്", "placeholder": "എന്‍റെ അതുല്യമായ പ്രോംപ്റ്റ്", "required": "ദയവായി ഒരു തലക്കെട്ട് നല്കുക" }, "prompt": { "label": "പ്രോംപ്റ്റ്", "placeholder": "പ്രോംപ്റ്റ് നല്കുക", "required": "ദയവായി ഒരു പ്രോംപ്റ്റ് നല്കുക", "help": "നിങ്ങള്‍ക്ക് {key} എന്ന രീതിയില്‍ പ്രോംപ്റ്റില്‍ വേരിയബിളുകള്‍ ഉപയോഗിക്കാവുന്നതാണ്.", "missingTextPlaceholder": "പ്രോംപ്റ്റിൽ {text} വേരിയബിൾ കാണുന്നില്ല. ദയവായി അത് ചേർക്കുക." }, "isSystem": { "label": "സിസ്റ്റം പ്രോംപ്റ്റ് ആണോ" }, "btnSave": { "saving": "പ്രോംപ്റ്റ് ചേര്‍ക്കുന്നു...", "save": "പ്രോംപ്റ്റ് ചേര്‍ക്കുക" }, "btnEdit": { "saving": "പ്രോംപ്റ്റ് അപ്ഡേറ്റ് ചെയ്യുന്നു...", "save": "പ്രോംപ്റ്റ് അപ്ഡേറ്റ് ചെയ്യുക" } }, "notification": { "addSuccess": "പ്രോംപ്റ്റ് ചേർത്തു", "addSuccessDesc": "പ്രോംപ്റ്റ് വിജയകരമായി ചേർത്തു", "error": "പിശക്", "someError": "എന്തോ തെറ്റായി. ദയവായി പിന്നീട് വീണ്ടും ശ്രമിക്കുക", "updatedSuccess": "പ്രോംപ്റ്റ് അപ്ഡേറ്റ് ചെയ്‌തു", "updatedSuccessDesc": "പ്രോംപ്റ്റ് വിജയകരമായി അപ്ഡേറ്റ് ചെയ്തു", "deletedSuccess": "പ്രോംപ്റ്റ് ഇല്ലാതാക്കി", "deletedSuccessDesc": "പ്രോംപ്റ്റ് വിജയകരമായി ഇല്ലാതാക്കി" } }, "manageShare": { "title": "പങ്കിടുന്നത് കൈകാര്യം ചെയ്യുക", "heading": "പേജ് പങ്കിടാനുള്ള URL കോൺഫിഗർ ചെയ്യുക", "form": { "url": { "label": "പേജ് പങ്കിടാനുള്ള URL", "placeholder": "പേജ് പങ്കിടാനുള്ള URL നല്കുക", "required": "ദയവായി നിങ്ങളുടെ പേജ് പങ്കിടാനുള്ള URL നല്കുക!", "help": "സ്വകാര്യതക്കായി, നിങ്ങള്‍ക്ക് സ്വന്തമായി പേജ് പങ്കിടുന്ന സൗകര്യം ഹോസ്റ്റ് ചെയ്യാനും അവിടെയുള്ള URL ഇവിടെ നല്കാനും കഴിയും. കൂടുതല്‍ അറിയുക." } }, "webshare": { "heading": "വെബ് പങ്കിടല്‍", "columns": { "title": "തലക്കെട്ട്", "url": "URL", "actions": "പ്രവർത്തനങ്ങൾ" }, "tooltip": { "delete": "പങ്കിടല്‍ ഇല്ലാതാക്കുക" }, "confirm": { "delete": "ഈ പങ്കിടല്‍ ഇല്ലാതാക്കണമെന്ന് തീർച്ചയാണോ? ഈ പ്രവർത്തനം പിന്നീട് പിൻവലിക്കാനാകില്ല." }, "label": "പേജ് ഷെയർ നിയന്ത്രിക്കുക", "description": "പേജ് ഷെയർ സാങ്കേതികത സജ്ജീകരിക്കുക അല്ലെങ്കിൽ നിലവിളിക്കുക ." }, "notification": { "pageShareSuccess": "പേജ് പങ്കിടാനുള്ള URL വിജയകരമായി അപ്ഡേറ്റ് ചെയ്തു", "someError": "എന്തോ തെറ്റായി. ദയവായി പിന്നീട് വീണ്ടും ശ്രമിക്കുക", "webShareDeleteSuccess": "വെബ് പങ്കിടല്‍ വിജയകരമായി ഇല്ലാതാക്കി" } }, "ollamaSettings": { "title": "Ollama സെറ്റിംഗുകൾ", "heading": "Ollama കോൺഫിഗർ ചെയ്യുക", "settings": { "ollamaUrl": { "label": "Ollama URL", "placeholder": "Ollama URL നല്കുക" }, "globalEnable": { "label": "ഓളാമ ഇന്റഗ്രേഷൻ ആഗോളമായി പ്രവർത്തനക്ഷമമാക്കുക അല്ലെങ്കിൽ നിർജ്ജീവമാക്കുക", "warning": "ഓളാമ ഇന്റഗ്രേഷൻ ആഗോളമായി നിർജ്ജീവമാക്കുന്നതിലൂടെ, പേജ് അസിസ്റ്റ് ഓളാമയിൽ നിന്ന് മോഡലുകൾ ലഭ്യമാക്കില്ല. നിങ്ങൾക്ക് OpenAI അനുയോജ്യമായ API വിഭാഗത്തിൽ നിന്ന് ഓളാമ ഇൻസ്റ്റൻസ് ചേർക്കാൻ കഴിയും, അത് നന്നായി പ്രവർത്തിക്കും." }, "advanced": { "label": "Advance Ollama URL Configuration", "urlRewriteEnabled": { "label": "Enable or Disable Custom Origin URL" }, "rewriteUrl": { "label": "Custom Origin URL", "placeholder": "Enter Custom Origin URL" }, "autoCORSFix": { "label": "സ്വയമേവ Ollama CORS പരിഹാരം പ്രവർത്തനക്ഷമമാക്കുക അല്ലെങ്കിൽ നിർജ്ജീവമാക്കുക" }, "headers": { "label": "കസ്റ്റം തലക്കെട്ടുകൾ", "add": "തലക്കെട്ട് ചേർക്കുക", "key": { "label": "തലക്കെട്ട് കീ", "placeholder": "അധികൃതപെടുത്തൽ" }, "value": { "label": "തലക്കെട്ട് മൂല്യം", "placeholder": "ബെയറർ ടോക്കൺ" } }, "help": "ഏജ് അസിസ്റ്റന്റിൽ Ollama-യുമായി ബന്ധപ്പെടുമ്പോൾ ബന്ധതടസ്സം ഉണ്ടെങ്കിൽ, നിങ്ങൾക്ക് ഒരു വ്യക്തിഗത അസ്ഥിരത്വം URL കോൺഫിഗർ ചെയ്യാം. കോൺഫിഗറേഷനെക്കുറിച്ച് കൂടുതലറിയാൻ, ഇവിടെ ക്ലിക്കുചെയ്യുക." } } }, "manageSearch": { "heading": "Web തിരയൽ സജ്ജമാക്കുക", "title": "Web തിരയൽ നിയന്ത്രിക്കുക" }, "about": { "title": "വിവരങ്ങൾ", "heading": "വിവരങ്ങൾ", "chromeVersion": "പേജ് അസിസ്റ്റ് വേർഷൻ", "ollamaVersion": "ഓളാമ വേർഷൻ", "support": "താഴെ പറയുന്ന പ്ലാറ്റ്ഫോമുകളിലൂടെ ദാനം ചെയ്യുകയോ സ്പോൺസർ ചെയ്യുകയോ ചെയ്ത് പേജ് അസിസ്റ്റ് പ്രോജക്റ്റിനെ പിന്തുണയ്ക്കാവുന്നതാണ്:", "koFi": "കോഫിയിൽ പിന്തുണയ്ക്കുക", "githubSponsor": "ഗിറ്റ്ഹബ്ബിൽ സ്പോൺസർ ചെയ്യുക", "githubRepo": "ഗിറ്റ്ഹബ്ബ് റെപ്പോസിറ്ററി" }, "manageKnowledge": { "title": "വിജ്ഞാനം നിര്‍വ്വഹിക്കുക", "heading": "വിജ്ഞാനാധാരം കോണ്‍ഫിഗര്‍ ചെയ്യുക" }, "rag": { "title": "Pipeline സെറ്റിംഗുകൾ", "ragSettings": { "label": "RAG സെറ്റിംഗുകൾ", "model": { "label": "എംബെഡിംഗ് മോഡല്‍", "required": "ദയവായി ഒരു മോഡല്‍ തിരഞ്ഞെടുക്കുക", "help": "`nomic-embed-text` പോലുള്ള എംബെഡിംഗ് മോഡലുകള്‍ ഉപയോഗിക്കുന്നത് വളരെ നന്നായിരിക്കും.", "placeholder": "ഒരു മോഡല്‍ തിരഞ്ഞെടുക്കുക" }, "chunkSize": { "label": "ചങ്ക് വലുപ്പം", "placeholder": "ചങ്ക് വലുപ്പം നല്കുക", "required": "ദയവായി ചങ്ക് വലുപ്പം നല്കുക" }, "chunkOverlap": { "label": "ചങ്ക് ഓവര്‍ലാപ്പ്", "placeholder": "ചങ്ക് ഓവര്‍ലാപ്പ് നല്കുക", "required": "ദയവായി ചങ്ക് ഓവര്‍ലാപ്പ് നല്കുക" }, "totalFilePerKB": { "label": "വിജ്ഞാനാധാരത്തിന്റെ സ്ഥിര ഫയൽ അപ്‌ലോഡ് പരിധി", "placeholder": "സ്ഥിര ഫയൽ അപ്‌ലോഡ് പരിധി നൽകുക (ഉദാ: 10)", "required": "ദയവായി സ്ഥിര ഫയൽ അപ്‌ലോഡ് പരിധി നൽകുക" }, "noOfRetrievedDocs": { "label": "വീണ്ടെടുത്ത രേഖകളുടെ എണ്ണം", "placeholder": "വീണ്ടെടുത്ത രേഖകളുടെ എണ്ണം നൽകുക", "required": "ദയവായി വീണ്ടെടുത്ത രേഖകളുടെ എണ്ണം നൽകുക" }, "splittingSeparator": { "label": "വിഭജന ചിഹ്നം", "placeholder": "വിഭജന ചിഹ്നം നൽകുക (ഉദാ: \\n\\n)", "required": "ദയവായി ഒരു വിഭജന ചിഹ്നം നൽകുക" }, "splittingStrategy": { "label": "ടെക്സ്റ്റ് സ്പ്ലിറ്റർ" } }, "prompt": { "label": "RAG പ്രോംപ്റ്റ് കോൺഫിഗർ ചെയ്യുക", "option1": "സാധാരണ", "option2": "വെബ്", "alert": "സിസ്റ്റം പ്രോംപ്റ്റ് ഇവിടെ കോൺഫിഗർ ചെയ്യുന്നത് പഴയൗഖികമായി. ദയവായി പ്രോംപ്റ്റുകള്‍ ചേര്‍ക്കാനോ എഡിറ്റുചെയ്യാനോ മാനേജ് പ്രോംപ്റ്റ്‌സ് സെക്ഷന്‍ ഉപയോഗിക്കുക. ഈ സെക്ഷന്‍ ഭാവിയില്‍ നീക്കം ചെയ്യപ്പെടും.", "systemPrompt": "സിസ്റ്റം പ്രോംപ്റ്റ്", "systemPromptPlaceholder": "സിസ്റ്റം പ്രോംപ്റ്റ് നല്കുക", "webSearchPrompt": "വെബ് തിരയല്‍ പ്രോംപ്റ്റ്", "webSearchPromptHelp": "പ്രോംപ്റ്റില്‍ നിന്ന് `{search_results}` നീക്കം ചെയ്യരുത്.", "webSearchPromptError": "ദയവായി ഒരു വെബ് തിരയല്‍ പ്രോംപ്റ്റ് നല്കുക", "webSearchPromptPlaceholder": "വെബ് തിരയല്‍ പ്രോംപ്റ്റ് നല്കുക", "webSearchFollowUpPrompt": "വെബ് തിരയല്‍ തുടര്‍പ്രോംപ്റ്റ്", "webSearchFollowUpPromptHelp": "പ്രോംപ്റ്റില്‍ നിന്ന് `{chat_history}` യും `{question}` യും നീക്കം ചെയ്യരുത്.", "webSearchFollowUpPromptError": "ദയവായി നിങ്ങളുടെ വെബ് തിരയല്‍ തുടര്‍പ്രോംപ്റ്റ് നല്കുക!", "webSearchFollowUpPromptPlaceholder": "നിങ്ങളുടെ വെബ് തിരയല്‍ തുടര്‍പ്രോംപ്റ്റ്" } }, "chromeAiSettings": { "title": "ക്രോം AI ക്രമീകരണങ്ങൾ" } } ================================================ FILE: src/assets/locale/ml/sidepanel.json ================================================ { "tooltip": { "embed": "പേജ് പ്രോസസ്സ് ചെയ്യുന്നതിന് കുറച്ച് മിനിറ്റുകൾ എടുത്തേക്കാം. കാത്തിരിക്കൂ..", "openwebui": "വെബ് യുഐ തുറക്കുക" } } ================================================ FILE: src/assets/locale/no/chrome.json ================================================ { "heading": "Konfigurer Chrome AI", "status": { "label": "Slå Chrome AI Support på eller av på Page Assist" }, "error": { "browser_not_supported": "Denne versjonen av Chrome støttes ikke av Gemini Nano-modellen. Vennligst oppdater til versjon 127 eller nyere", "ai_not_supported": "Innstillingen chrome://flags/#prompt-api-for-gemini-nano er ikke tændt. Slå på innstillingen..", "ai_not_ready": "Gemini Nano er ikke tilgjengelig; du må dobbeltsjekke Chrome-innstillingene.", "internal_error": "Det oppsto en intern feil. Vennligst prøv på nytt senere." }, "errorDescription": "For å bruke Chrome AI, trenger du Chrome versjon 138 eller nyere. Følg disse trinnene:\n\n1. Gå til `chrome://flags/#prompt-api-for-gemini-nano` og aktiver \"Prompt API for Gemini Nano\".\n2. Start Chrome på nytt for å bruke innstillingen.\n3. Gå tilbake til denne siden og klikk \"Last ned modell\" — dette vil laste ned en modell på 4 GB for første gang.\n4. Når nedlastingen er fullført, kan Gemini Nano aktiveres gjennom Page Assist.", "downloadModel": "Last ned modell", "modelDownloadWarning": "Dette vil laste ned en modell med en estimert nedlastingsstørrelse på mellom 1,5 GB og 2,4 GB. Sørg for at du har tilstrekkelig diskplass." } ================================================ FILE: src/assets/locale/no/common.json ================================================ { "pageAssist": "Sideassistent", "selectAModel": "Velg en modell", "save": "Lagre", "saved": "Lagret", "cancel": "Avbryt", "retry": "Prøv igjen", "share": { "tooltip": { "share": "Del" }, "modal": { "title": "Del lenke til chatten" }, "form": { "defaultValue": { "name": "Anonym", "title": "Navnløs chat" }, "title": { "label": "Chattittel", "placeholder": "Skriv inn chattittel", "required": "Chattittel er nødvendig" }, "name": { "label": "Ditt navn", "placeholder": "Skriv inn ditt navn", "required": "Ditt navn er nødvendig" }, "btn": { "save": "Generer en lenke", "saving": "Genererer lenke..." } }, "notification": { "successGenerate": "Lenke kopiert til utklippstavle", "failGenerate": "Kunne ikke generere lenke" } }, "copyToClipboard": "Kopier til utklippstavle", "webSearch": "Søker på internett", "regenerate": "Regenerer", "continue": "Continue Response", "edit": "Endre", "delete": "Slett", "saveAndSubmit": "Lagre & Send inn", "editMessage": { "placeholder": "Skriv en melding..." }, "submit": "Send inn", "noData": "Ingen data", "noHistory": "Ingen chathistorikk", "chatWithCurrentPage": "Chat med nåværende side", "beta": "Beta", "tts": "Les opp", "currentChatModelSettings": "Nåværende chatmodellinnstillinger", "modelSettings": { "label": "Modellinnstillinger", "description": "Konfigurer modellinnstillingene for alle chatter", "form": { "keepAlive": { "label": "Hold i live", "help": "kontrollerer hvor lenge modellen vil forbli lastet i minnet etter forespørselen (standard: 5m)", "placeholder": "Skriv inn lengden på økten (f.eks. 5m, 10m, 1t)" }, "temperature": { "label": "Temperatur", "placeholder": "Skriv inn temperaturverdi (f.eks. 0.7, 1.0)" }, "numCtx": { "label": "Kontekstvindustørrelse (num_ctx)", "placeholder": "Skriv inn kontekstvindustørrelse-verdi (standard: 2048)" }, "numPredict": { "label": "Maks Tokens (num_predict)", "placeholder": "Skriv inn Maks Tokens-verdi (f.eks. 2048, 4096)" }, "seed": { "label": "Seed", "placeholder": "Skriv inn seedverdi (f.eks. 1234)", "help": "Reproduserbarhet av modellutdata" }, "topK": { "label": "Topp K", "placeholder": "Skriv inn Topp K-verdi (f.eks. 40, 100)" }, "topP": { "label": "Topp P", "placeholder": "Skriv inn Topp P-verdi (f.eks. 0.9, 0.95)" }, "numGpu": { "label": "Antall GPUer", "placeholder": "Skriv inn antall lag som sendes til GPU(er)" }, "systemPrompt": { "label": "Midlertidig systemprompt", "placeholder": "Skriv inn systemprompt", "help": "Dette er en rask måte å sette systemprompt i den nåværende chatten, som vil overstyre den valgte systemprompt hvis den finnes." } }, "advanced": "Flere modellinnstillinger" }, "copilot": { "summary": "Oppsummer", "explain": "Forklar", "rephrase": "Omformulér", "translate": "Oversett", "custom": "Egendefinert" }, "citations": "Sitater", "downloadCode": "Last ned kode", "date": { "pinned": "Festet", "today": "I dag", "yesterday": "I går", "last7Days": "Siste 7 dager", "older": "Eldre" }, "range": { "deleteConfirm": { "pinned": "Er du sikker på at du vil slette alle festede meldinger?", "today": "Er du sikker på at du vil slette alle meldinger fra i dag?", "yesterday": "Er du sikker på at du vil slette alle meldinger fra i går?", "last7Days": "Er du sikker på at du vil slette alle meldinger fra de siste 7 dagene?", "older": "Er du sikker på at du vil slette alle eldre meldinger?" }, "tooltip": { "pinned": "Slett alle festede meldinger", "today": "Slett alle meldinger fra i dag", "yesterday": "Slett alle meldinger fra i går", "last7Days": "Slett alle meldinger fra de siste 7 dagene", "older": "Slett alle eldre meldinger" } }, "pin": "Fest", "unpin": "Løsne", "generationInfo": "Generasjonsinformasjon", "sidebarChat": "Sidepanel-chat", "reasoning": { "thinking": "Tenker....", "thought": "Tenkte i {{time}}" }, "embeddingGen": "Oppretter embeddings, dette kan ta litt tid", "semanticSearch": "Utfører semantisk søk", "downloading": "Laster ned", "cancelPullingModel": { "confirm": "Er du sikker på at du vil avbryte nedlastingen? Dette vil stoppe nedlastingsprosessen. Ifølge Ollama-dokumentasjonen kan du starte på nytt fra der du slapp." } } ================================================ FILE: src/assets/locale/no/knowledge.json ================================================ { "addBtn": "Legg Til Ny Kunnskap", "columns": { "title": "Tittel", "status": "Status", "embeddings": "Embedding Modell", "createdAt": "Opprettet På", "action": "Handlinger" }, "expandedColumns": { "name": "Navn" }, "confirm": { "delete": "Er du sikker på at du vil slette denne kunnskapen?" }, "deleteSuccess": "Kunnskap slettet med suksess", "status": { "pending": "Venter", "finished": "Ferdig", "processing": "Behandler", "failed": "Mislyktes" }, "addKnowledge": "Legg Til Kunnskap", "updateKnowledge": "Legg Til Kilde", "form": { "title": { "label": "Kunnskapstittel", "placeholder": "Skriv inn kunnskapstittel", "required": "Kunnskapstittel er nødvendig" }, "uploadFile": { "label": "Last Opp Filer", "uploadText": "Dra og slipp filen her og klikk for å laste opp", "uploadHint": "Støttede filtyper: .pdf, .csv, .txt, .md, .docx", "required": "En fil er nødvendig" }, "submit": "Send Inn", "success": "Kunnskap lagt til med suksess" }, "noEmbeddingModel": "Vennligst legg til en embedding-modell fra RAG-innstillingene først" } ================================================ FILE: src/assets/locale/no/openai.json ================================================ { "settings": "OpenAI-kompatibel API", "heading": "OpenAI-kompatibel API", "subheading": "Administrer og konfigurer dine OpenAI API-kompatible leverandører her.", "addBtn": "Legg til leverandør", "table": { "name": "Leverandørnavn", "baseUrl": "Base-URL", "actions": "Handling" }, "modal": { "titleAdd": "Legg til ny leverandør", "name": { "label": "Leverandørnavn", "required": "Leverandørnavn er påkrevd.", "placeholder": "Skriv inn leverandørnavn" }, "baseUrl": { "label": "Base-URL", "help": "Base-URL-en til OpenAI API-leverandøren. f.eks. (http://localhost:1234/v1)", "required": "Base-URL er påkrevd.", "placeholder": "Skriv inn base-URL" }, "apiKey": { "label": "API-nøkkel", "required": "API-nøkkel er påkrevd.", "placeholder": "Skriv inn API-nøkkel" }, "submit": "Lagre", "update": "Oppdater", "deleteConfirm": "Er du sikker på at du vil slette denne leverandøren?", "model": { "title": "Modelliste", "subheading": "Vennligst velg chatmodellene du ønsker å bruke med denne leverandøren.", "success": "Nye modeller ble lagt til." }, "tipLMStudio": "Page Assist vil automatisk hente modellene du lastet inn i LM Studio. Du trenger ikke å legge dem til manuelt." }, "addSuccess": "Leverandør ble lagt til.", "deleteSuccess": "Leverandør ble slettet.", "updateSuccess": "Leverandør ble oppdatert.", "delete": "Slett", "edit": "Rediger", "newModel": "Legg til modeller for leverandør", "noNewModel": "For LMStudio, Ollama, Llamafile, henter vi dynamisk. Ingen manuell tillegging nødvendig.", "searchModel": "Søk etter modell", "selectAll": "Velg alle", "save": "Lagre", "saving": "Lagrer...", "manageModels": { "columns": { "name": "Modellnavn", "model_type": "Modelltype", "model_id": "Modell-ID", "provider": "Leverandørnavn", "actions": "Handling", "nickname": "Modellkallenavn" }, "tooltip": { "delete": "Slett" }, "confirm": { "delete": "Er du sikker på at du vil slette denne modellen?" }, "modal": { "title": "Legg til tilpasset modell", "form": { "name": { "label": "Modell-ID", "placeholder": "llama3.2", "required": "Modell-ID er påkrevd." }, "provider": { "label": "Leverandør", "placeholder": "Velg leverandør", "required": "Leverandør er påkrevd." }, "type": { "label": "Modelltype" } } } }, "noModelFound": "Ingen modell funnet. Sørg for at du har lagt til riktig leverandør med base-URL og API-nøkkel.", "radio": { "chat": "Chatmodell", "embedding": "Innbyggingsmodell", "chatInfo": "brukes for chatfullføring og samtalegenering", "embeddingInfo": "brukes for RAG og andre semantiske søkerelaterte oppgaver." }, "nicknameModal": { "title": "Legg til / Rediger modellkallenavn", "form": { "modelName": { "label": "Modellnavn", "placeholder": "Skriv inn modellnavn", "required": "Modellnavn er påkrevd." }, "modelAvatar": { "label": "Modellavatar", "placeholder": "Skriv inn modellavatar", "help": "Vennligst skriv inn URL-en til modellavataren. Dette bildet vil vises i chatvinduet." } } } } ================================================ FILE: src/assets/locale/no/option.json ================================================ { "newChat": "Ny Chat", "selectAPrompt": "Velg en Prompt", "githubRepository": "GitHub Repository", "settings": "Innstillinger", "sidebarTitle": "Chathistorikk", "error": "Feil", "somethingWentWrong": "Noe gikk galt", "validationSelectModel": "Vennligst velg en modell for å fortsette", "deleteHistoryConfirmation": "Er du sikker på at du vil slette denne historikken?", "editHistoryTitle": "Skriv inn en ny tittel", "temporaryChat": "Midlertidig Chat", "more": { "copy": { "group": "Kopier", "asText": "Kopier som tekst", "asMarkdown": "Kopier som Markdown", "success": "Kopiert til utklippstavlen!" }, "download": { "group": "Last ned", "text": "Tekstfil (.txt)", "markdown": "Markdown (.md)", "json": "JSON-fil (.json)" }, "share": "Del" } } ================================================ FILE: src/assets/locale/no/playground.json ================================================ { "ollamaState": { "searching": "Søker etter din Ollama 🦙", "running": "Ollama kjører 🦙", "notRunning": "Kan ikke koble til Ollama 🦙", "connectionError": "Det ser ut til at du har en tilkoblingsfeil. Vennligst se denne dokumentasjonen for feilsøking." }, "formError": { "noModel": "Vennligst velg en modell", "noEmbeddingModel": "Vennligst velg en embedding-modell under innstillinger > RAG-siden" }, "form": { "textarea": { "placeholder": "Skriv en melding..." }, "webSearch": { "on": "På", "off": "Av" } }, "tooltip": { "searchInternet": "Søk på Internett", "speechToText": "Tale til Tekst", "uploadImage": "Last opp Bilde", "stopStreaming": "Stopp Streaming", "knowledge": "Kunnskap", "clearContext": "Tøm Kontekst" }, "sendWhenEnter": "Søk når Enter trykkes", "welcome": "Hei! Hvordan kan jeg hjelpe deg i dag?", "useOCR": "Trekk ut tekst fra bilde (OCR)" } ================================================ FILE: src/assets/locale/no/settings.json ================================================ { "generalSettings": { "title": "Generelle Innstillinger", "settings": { "heading": "Web UI Innstillinger", "speechRecognitionLang": { "label": "Talegjenkjenning Språk", "placeholder": "Velg et språk" }, "language": { "label": "Språk", "placeholder": "Velg et språk" }, "darkMode": { "label": "Endre Tema", "options": { "light": "Lyst", "dark": "Mørkt" } }, "copilotResumeLastChat": { "label": "Gjenoppta siste chat ved åpning av SidePanel (copilot)" }, "turnOnChatWithWebsite": { "label": "Aktiver Chat med Nettsted som standard (Copilot)" }, "webUIResumeLastChat": { "label": "Gjenoppta siste chat når Web UI åpnes" }, "hideCurrentChatModelSettings": { "label": "Skjul gjeldende chat modell innstillinger" }, "restoreLastChatModel": { "label": "Gjenopprett sist brukte chatmodell for fremtidig bruk" }, "sendNotificationAfterIndexing": { "label": "Send varsel etter ferdigbehandling av kunnskapsbasen" }, "generateTitle": { "label": "Generer tittel med AI" }, "ollamaStatus": { "label": "Aktiver eller deaktiver Ollama tilkoblingsstatussjekk" }, "wideMode": { "label": "Aktiver bredskjerm-modus" }, "openReasoning": { "label": "Åpne Resonnement Sammenfoldet som standard" }, "userChatBubble": { "label": "Bruk chatboble for bruker meldinger" }, "autoCopyResponseToClipboard": { "label": "Automatisk kopier svar til utklippstavle" }, "useMarkdownForUserMessage": { "label": "Aktiver Markdown-formatering for brukermeldinger" }, "copyAsFormattedText": { "label": "Kopier som formatert tekst" }, "tabMentionsEnabled": { "label": "Aktiver Fane Henvisninger (@tab)" }, "pasteLargeTextAsFile": { "label": "Lim inn stor tekst som fil" }, "sidepanelTemporaryChat": { "label": "Aktiver midlertidig chat i sidepanelet som standard" } }, "sidepanelRag": { "heading": "Gjenfinningsinnstillinger", "ragEnabled": { "label": "Aktiver Innbygging og Gjenfinning" }, "maxWebsiteContext": { "label": "Maksimal Innholdsstørrelse for Full Kontekst Modus", "placeholder": "Innholdsstørrelse (standard 4028)" } }, "webSearch": { "heading": "Administrer Web Søk", "searchMode": { "label": "Søkemodus" }, "provider": { "label": "Søkemotor", "placeholder": "Velg en søkemotor" }, "totalSearchResults": { "label": "Antall søkeresultater", "placeholder": "Skriv inn antall søkeresultater" }, "visitSpecificWebsite": { "label": "Besøk nettstedet nevnt i samtalen" }, "searxng": { "url": { "label": "SearXNG URL" } }, "braveApi": { "label": "Brave API Nøkkel", "placeholder": "Skriv inn din Brave API nøkkel" }, "searchOnByDefault": { "label": "Internett-søk PÅ som standard" } }, "system": { "heading": "Systeminnstillinger", "storageSyncEnabled": { "label": "Aktiver nettleser lagringssynkronisering (synkroniser innstillinger på tvers av enheter)" }, "deleteChatHistory": { "label": "System Tilbakestilling", "button": "Tilbakestill Alt", "confirm": "Er du sikker på at du vil utføre en system tilbakestilling? Dette vil slette alle data og kan ikke angres." }, "export": { "label": "Eksporter all data (chathistorikk, kunnskapsbase, forespørsler og innstillinger)", "button": "Eksporter data", "success": "Eksport fullført" }, "import": { "label": "Importer all data (chathistorikk, kunnskapsbase, forespørsler og innstillinger)", "button": "Importer data", "success": "Import fullført", "error": "Importfeil" } }, "tts": { "heading": "Tekst-til-tale Innstillinger", "ttsEnabled": { "label": "Legg til Tekst-til-Tale" }, "ttsAutoPlay": { "label": "Automatisk avspilling av stemmerespons etter fullføring" }, "ttsProvider": { "label": "Tekst-til-Tale Tilbyder", "placeholder": "Velg en tilbyder" }, "ttsVoice": { "label": "Tekst-til-Tale Stemme", "placeholder": "Velg en stemme" }, "ssmlEnabled": { "label": "Aktiver SSML (Speech Synthesis Markup Language)" }, "removeReasoningTagTTS": { "label": "Fjern Resonneringsmerke fra TTS" } }, "stt": { "heading": "Tale-til-tekst Innstillinger", "autoStopTimeout": { "label": "Auto-stopp Tidsavbrudd (ms)", "placeholder": "Skriv inn auto-stopp tidsavbrudd i millisekunder" }, "autoSubmitVoiceMessage": { "label": "Auto-send Talemelding" } } }, "manageModels": { "title": "Administrer Modeller", "addBtn": "Legg til ny Modell", "columns": { "name": "Navn", "digest": "Digest", "modifiedAt": "Endret den", "size": "Størrelse", "actions": "Handlinger" }, "expandedColumns": { "parentModel": "Overordnet modell", "format": "Format", "family": "Familie", "parameterSize": "Parameterstørrelse", "quantizationLevel": "Kvantifiseringsnivå" }, "tooltip": { "delete": "Slett Modell", "repull": "Hent Modell På Nytt" }, "confirm": { "delete": "Er du sikker på at du vil slette denne modellen?", "repull": "Er du sikker på at du vil hente denne modellen på nytt?" }, "modal": { "title": "Legg til Ny Modell", "placeholder": "Skriv inn Modellnavn", "pull": "Hent Modell" }, "notification": { "pullModel": "Henter Modell", "pullModelDescription": "Henter {{modelName}} modell. For flere detaljer, sjekk utvidelsesikonet.", "success": "Suksess", "error": "Feil", "successDescription": "Modellen ble hentet vellykket", "successDeleteDescription": "Modellen ble slettet vellykket", "someError": "Noe gikk galt. Vennligst prøv igjen senere" } }, "managePrompts": { "title": "Administrer Prompts", "addBtn": "Legg til Ny Prompt", "option1": "Normal", "option2": "RAG", "questionPrompt": "Spørsmålsprompt", "segmented": { "custom": "Tilpassede Prompts", "copilot": "Copilot Prompts" }, "columns": { "title": "Tittel", "prompt": "Prompt", "type": "Prompttype", "actions": "Handlinger" }, "systemPrompt": "Systemprompt", "quickPrompt": "Hurtigprompt", "tooltip": { "delete": "Slett Prompt", "edit": "Endre Prompt" }, "confirm": { "delete": "Er du sikker på at du vil slette denne prompten? Denne handlingen kan ikke angres." }, "modal": { "addTitle": "Legg til ny Prompt", "editTitle": "Endre Prompt" }, "form": { "title": { "label": "Tittel", "placeholder": "Min Kule Prompt", "required": "Vennligst skriv inn en tittel" }, "prompt": { "label": "Prompt", "placeholder": "Skriv inn Prompt", "required": "Vennligst skriv inn en prompt", "help": "Du kan bruke {key} som variabel i din prompt.", "missingTextPlaceholder": "Variabelen {text} mangler i prompten. Vennligst legg til dette." }, "isSystem": { "label": "Er Systemprompt" }, "btnSave": { "saving": "Legger til Prompt...", "save": "Legg til Prompt" }, "btnEdit": { "saving": "Oppdaterer Prompt...", "save": "Oppdater Prompt" } }, "notification": { "addSuccess": "Prompt Lagt Til", "addSuccessDesc": "Prompt ble lagt til vellykket", "error": "Feil", "someError": "Noe gikk galt. Vennligst prøv igjen senere", "updatedSuccess": "Prompt Oppdatert", "updatedSuccessDesc": "Prompt ble oppdatert vellykket", "deletedSuccess": "Prompt Slettet", "deletedSuccessDesc": "Prompt ble slettet vellykket" } }, "manageShare": { "title": "Administrer Deling", "heading": "Konfigurer Side deling URL", "form": { "url": { "label": "Side Deling URL", "placeholder": "Skriv inn side deling URL", "required": "Vennligst skriv inn din Side deling URL!", "help": "For personvern kan du selv hoste side delingen og angi URL-en her. Lær Mer." } }, "webshare": { "heading": "Web Deling", "columns": { "title": "Tittel", "url": "URL", "actions": "Handlinger" }, "tooltip": { "delete": "Slett Deling" }, "confirm": { "delete": "Er du sikker på at du vil slette denne delingen? Dette kan ikke angres." }, "label": "Administrer Side Deling", "description": "Legg til eller deaktiver side delingsfunksjonen" }, "notification": { "pageShareSuccess": "Side Deling URL oppdatert vellykket", "someError": "Noe gikk galt. Vennligst prøv igjen senere", "webShareDeleteSuccess": "Webdeling ble slettet vellykket" } }, "ollamaSettings": { "title": "Ollama Innstillinger", "heading": "Konfigurer Ollama", "settings": { "ollamaUrl": { "label": "Ollama URL", "placeholder": "Skriv inn Ollama URL" }, "globalEnable": { "label": "Aktiver eller Deaktiver Ollama-integrasjon Globalt", "warning": "Ved å deaktivere Ollama-integrasjon globalt, vil ikke Page Assist hente modeller fra Ollama. Du kan fortsatt legge til Ollama-instans fra OpenAI-kompatibel API-seksjonen som vil fungere fint." }, "advanced": { "label": "Avansert Ollama URL-konfigurasjon", "urlRewriteEnabled": { "label": "Aktiver eller deaktiver tilpasset opprinnelses-URL" }, "rewriteUrl": { "label": "Tilpasset opprinnelses-URL", "placeholder": "Skriv inn tilpasset opprinnelses-URL" }, "autoCORSFix": { "label": "Aktiver eller deaktiver automatisk Ollama CORS-fiks" }, "headers": { "label": "Tilpass Headers", "LeggTil": "Legg til Header", "key": { "label": "Header Nøkkel", "placeholder": "Autorisasjon" }, "value": { "label": "Header Verdi", "placeholder": "Bearer token" } }, "help": "Hvis du har forbindelsesproblemer med Ollama på Page Assist, kan du konfigurere en brukerdefinert opprinnelses-URL. For mer informasjon om konfigurasjonen, klikk her." } } }, "manageSearch": { "title": "Administrer Web Søk", "heading": "Konfigurer Web Søk" }, "about": { "title": "Om", "heading": "Om", "chromeVersion": "Page Assist Versjon", "ollamaVersion": "Ollama Versjon", "support": "Du kan støtte Page Assist-prosjektet ved å donere eller sponse via følgende plattformer:", "koFi": "Støtt på Ko-fi", "githubSponsor": "Spons på GitHub", "githubRepo": "GitHub Repository" }, "manageKnowledge": { "title": "Administrer Kunnskap", "heading": "Konfigurer Kunnskapsbase" }, "rag": { "title": "Pipeline Innstillinger", "ragSettings": { "label": "RAG Innstillinger", "model": { "label": "Embedding Modell", "required": "Vennligst velg en modell", "help": "Det anbefales sterkt å bruke embeddingsmodeller som `nomic-embed-text`.", "placeholder": "Velg en modell" }, "chunkSize": { "label": "Delstørrelse", "placeholder": "Skriv inn delstørrelse", "required": "Vennligst skriv inn en delstørrelse" }, "chunkOverlap": { "label": "Deloverlapp", "placeholder": "Skriv inn deloverlapp", "required": "Vennligst skriv inn deloverlapp" }, "totalFilePerKB": { "label": "Kunnskapsbase standard filopplastingsgrense", "placeholder": "Skriv inn standard filopplastingsgrense (f.eks. 10)", "required": "Vennligst skriv inn standard filopplastingsgrense" }, "noOfRetrievedDocs": { "label": "Antall hentede dokumenter", "placeholder": "Skriv inn antall hentede dokumenter", "required": "Vennligst skriv inn antall hentede dokumenter" }, "splittingSeparator": { "label": "Separator", "placeholder": "Skriv inn separator (f.eks. \\n\\n)", "required": "Vennligst skriv inn en separator" }, "splittingStrategy": { "label": "Tekstdeler" } }, "prompt": { "label": "Konfigurer RAG Prompt", "option1": "Normal", "option2": "Web", "alert": "Konfigurering av systemprompt her er foreldet. Vennligst bruk Administrer Prompts-seksjonen for å legge til eller endre prompts. Denne seksjonen vil bli fjernet i fremtidige versjoner.", "systemPrompt": "Systemprompt", "systemPromptPlaceholder": "Skriv inn systemprompt", "webSearchPrompt": "Websøke-prompt", "webSearchPromptHelp": "Ikke fjern `{search_results}` fra prompten.", "webSearchPromptError": "Vennligst skriv inn en websøke-prompt", "webSearchPromptPlaceholder": "Skriv inn websøke-prompt", "webSearchFollowUpPrompt": "Oppfølgingsprompt for websøking", "webSearchFollowUpPromptHelp": "Ikke fjern `{chat_history}` og `{question}` fra prompten.", "webSearchFollowUpPromptError": "Vennligst skriv inn din oppfølgingsprompt for websøking!", "webSearchFollowUpPromptPlaceholder": "Din oppfølgingsprompt for websøking" } }, "chromeAiSettings": { "title": "Chrome AI Innstillinger" } } ================================================ FILE: src/assets/locale/no/sidepanel.json ================================================ { "tooltip": { "embed": "Det kan ta noen minutter å bygge din siden. Vennligst vent...", "clear": "Slett chathistorikken", "history": "Chathistorikk", "openwebui": "Åpne WebUI" } } ================================================ FILE: src/assets/locale/pt-BR/chrome.json ================================================ { "heading": "Configurar Chrome AI", "status": { "label": "Ativar ou Desativar o Suporte do Chrome AI no Page Assist" }, "error": { "browser_not_supported": "Esta versão do Chrome não é compatível com o modelo Gemini Nano. Atualize para a versão 127 ou posterior.", "ai_not_supported": "A configuração chrome://flags/#prompt-api-for-gemini-nano não está habilitada. Por favor, ative-a.", "ai_not_ready": "O Gemini Nano ainda não está pronto; verifique as configurações do Chrome.", "internal_error": "Ocorreu um erro interno. Tente novamente mais tarde." }, "errorDescription": "Para usar o Chrome AI, você precisa da versão 138 ou posterior do Chrome. Siga estas etapas:\n\n1. Acesse `chrome://flags/#prompt-api-for-gemini-nano` e ative \"Prompt API for Gemini Nano\".\n2. Reinicie o Chrome para aplicar a flag.\n3. Retorne a esta página e clique em \"Baixar Modelo\" — isso fará o download de um modelo de 4GB pela primeira vez.\n4. Após o download, o Gemini Nano pode ser ativado através do Page Assist.", "downloadModel": "Baixar Modelo", "modelDownloadWarning": "Isso fará o download de um modelo com um tamanho aproximado de 1,5 GB a 2,4 GB. Certifique-se de ter espaço suficiente em disco." } ================================================ FILE: src/assets/locale/pt-BR/common.json ================================================ { "pageAssist": "Page Assist", "selectAModel": "Selecionar um Modelo", "save": "Salvar", "saved": "Salvo", "cancel": "Cancelar", "retry": "Tentar Novamente", "share": { "tooltip": { "share": "Compartilhar" }, "modal": { "title": "Compartilhar Link para o Chat" }, "form": { "defaultValue": { "name": "Anônimo", "title": "Chat sem título" }, "title": { "label": "Título do Chat", "placeholder": "Digite o Título do Chat", "required": "O Título do Chat é obrigatório" }, "name": { "label": "Seu Nome", "placeholder": "Digite seu Nome", "required": "Seu Nome é obrigatório" }, "btn": { "save": "Gerar Link", "saving": "Gerando Link..." } }, "notification": { "successGenerate": "Link copiado para a área de transferência", "failGenerate": "Falha ao gerar link" } }, "copyToClipboard": "Copiar para a área de transferência", "webSearch": "Pesquisando na web", "regenerate": "Gerar Novamente", "continue": "Continuar Resposta", "edit": "Editar", "delete": "Excluir", "saveAndSubmit": "Salvar & Enviar", "editMessage": { "placeholder": "Digite uma mensagem..." }, "submit": "Enviar", "noData": "Sem dados", "noHistory": "Sem histórico de chat", "chatWithCurrentPage": "Conversar com a página atual", "beta": "Beta", "tts": "Ler em voz alta", "currentChatModelSettings": "Configurações Atuais do Modelo de Chat", "modelSettings": { "label": "Configurações do Modelo", "description": "Defina as opções do modelo globalmente para todos os chats", "form": { "keepAlive": { "label": "Manter Ativo", "help": "controla por quanto tempo o modelo permanecerá carregado na memória após a solicitação (padrão: 5m)", "placeholder": "Digite a duração do Manter Ativo (ex: 5m, 10m, 1h)" }, "temperature": { "label": "Temperatura", "placeholder": "Digite o valor da Temperatura (ex: 0.7, 1.0)" }, "numCtx": { "label": "Tamanho da Janela de Contexto (num_ctx)", "placeholder": "Digite o valor do Tamanho da Janela de Contexto (padrão: 2048)" }, "numPredict": { "label": "Máximo de Tokens (num_predict)", "placeholder": "Digite o valor do Máximo de Tokens (ex: 2048, 4096)" }, "seed": { "label": "Semente", "placeholder": "Digite o valor da Semente (ex: 1234)", "help": "Reprodutibilidade da saída do modelo" }, "topK": { "label": "Top K", "placeholder": "Digite o valor do Top K (ex: 40, 100)" }, "topP": { "label": "Top P", "placeholder": "Digite o valor do Top P (ex: 0.9, 0.95)" }, "numGpu": { "label": "Num GPUs", "placeholder": "Digite o número de camadas para enviar para a(s) GPU(s)" }, "systemPrompt": { "label": "Prompt do Sistema Temporário", "placeholder": "Digite o Prompt do Sistema", "help": "Esta é uma maneira rápida de definir o prompt do sistema no chat atual, que substituirá o prompt do sistema selecionado, se existir." } }, "advanced": "Mais Configurações do Modelo" }, "copilot": { "summary": "Resumir", "explain": "Explicar", "rephrase": "Reformular", "translate": "Traduzir" }, "citations": "Citações", "downloadCode": "Baixar Código", "date": { "pinned": "Fixado", "today": "Hoje", "yesterday": "Ontem", "last7Days": "Últimos 7 Dias", "older": "Mais Antigos" }, "range": { "deleteConfirm": { "pinned": "Tem certeza que deseja excluir todas as mensagens fixadas?", "today": "Tem certeza que deseja excluir todas as mensagens de hoje?", "yesterday": "Tem certeza que deseja excluir todas as mensagens de ontem?", "last7Days": "Tem certeza que deseja excluir todas as mensagens dos últimos 7 dias?", "older": "Tem certeza que deseja excluir todas as mensagens mais antigas?" }, "tooltip": { "pinned": "Excluir todas as mensagens fixadas", "today": "Excluir todas as mensagens de hoje", "yesterday": "Excluir todas as mensagens de ontem", "last7Days": "Excluir todas as mensagens dos últimos 7 dias", "older": "Excluir todas as mensagens mais antigas" } }, "pin": "Fixar", "unpin": "Desafixar", "generationInfo": "Informações de Geração", "sidebarChat": "Chat Lateral", "reasoning": { "thinking": "Pensando....", "thought": "Pensou por {{time}}" }, "embeddingGen": "Criando embeddings, isso pode levar algum tempo", "semanticSearch": "Realizando busca semântica", "downloading": "Baixando", "cancelPullingModel": { "confirm": "Tem certeza de que deseja cancelar o download? Isso interromperá o processo de download. De acordo com a documentação do Ollama, você pode reiniciar de onde parou." } } ================================================ FILE: src/assets/locale/pt-BR/knowledge.json ================================================ { "addBtn": "Adicionar Novo Conhecimento", "columns": { "title": "Título", "status": "Status", "embeddings": "Modelo de Incorporação", "createdAt": "Criado Em", "action": "Ações" }, "expandedColumns": { "name": "Nome" }, "confirm": { "delete": "Tem certeza de que deseja excluir este conhecimento?" }, "deleteSuccess": "Conhecimento excluído com sucesso", "status": { "pending": "Pendente", "finished": "Concluído", "processing": "Processando", "failed": "Falhou" }, "addKnowledge": "Adicionar Conhecimento", "updateKnowledge": "Adicionar Fonte", "form": { "title": { "label": "Título do Conhecimento", "placeholder": "Digite o título do conhecimento", "required": "O título do conhecimento é obrigatório" }, "uploadFile": { "label": "Carregar Arquivo", "uploadText": "Arraste e solte um arquivo aqui ou clique para carregar", "uploadHint": "Tipos de arquivo suportados: .pdf, .csv, .txt, .md, .docx", "required": "O arquivo é obrigatório" }, "submit": "Enviar", "success": "Conhecimento adicionado com sucesso" }, "noEmbeddingModel": "Por favor, adicione um modelo de incorporação na página de configurações RAG primeiro" } ================================================ FILE: src/assets/locale/pt-BR/openai.json ================================================ { "settings": "API Compatível com OpenAI", "heading": "API compatível com OpenAI", "subheading": "Gerencie e configure seus provedores compatíveis com a API OpenAI aqui.", "addBtn": "Adicionar Provedor", "table": { "name": "Nome do Provedor", "baseUrl": "URL Base", "actions": "Ação" }, "modal": { "titleAdd": "Adicionar Novo Provedor", "name": { "label": "Nome do Provedor", "required": "O nome do provedor é obrigatório.", "placeholder": "Digite o nome do provedor" }, "baseUrl": { "label": "URL Base", "help": "A URL base do provedor da API OpenAI. ex. (http://localhost:1234/v1)", "required": "A URL base é obrigatória.", "placeholder": "Digite a URL base" }, "apiKey": { "label": "Chave da API", "required": "A chave da API é obrigatória.", "placeholder": "Digite a chave da API" }, "submit": "Salvar", "update": "Atualizar", "deleteConfirm": "Tem certeza de que deseja excluir este provedor?", "model": { "title": "Lista de Modelos", "subheading": "Por favor, selecione os modelos de chat que você deseja usar com este provedor.", "success": "Novos modelos adicionados com sucesso." }, "tipLMStudio": "O Page Assist buscará automaticamente os modelos que você carregou no LM Studio. Você não precisa adicioná-los manualmente." }, "addSuccess": "Provedor adicionado com sucesso.", "deleteSuccess": "Provedor excluído com sucesso.", "updateSuccess": "Provedor atualizado com sucesso.", "delete": "Excluir", "edit": "Editar", "newModel": "Adicionar Modelos ao Provedor", "noNewModel": "Para o LMStudio, buscamos dinamicamente. Não é necessária adição manual.", "searchModel": "Pesquisar Modelo", "selectAll": "Selecionar Tudo", "save": "Salvar", "saving": "Salvando...", "manageModels": { "columns": { "name": "Nome do Modelo", "model_type": "Tipo de Modelo", "model_id": "ID do Modelo", "provider": "Nome do Provedor", "actions": "Ação", "nickname": "Apelido do Modelo" }, "tooltip": { "delete": "Excluir" }, "confirm": { "delete": "Tem certeza de que deseja excluir este modelo?" }, "modal": { "title": "Adicionar Modelo Personalizado", "form": { "name": { "label": "ID do Modelo", "placeholder": "llama3.2", "required": "O ID do modelo é obrigatório." }, "provider": { "label": "Provedor", "placeholder": "Selecione o provedor", "required": "O provedor é obrigatório." }, "type": { "label": "Tipo de Modelo" } } } }, "noModelFound": "Nenhum modelo encontrado. Certifique-se de ter adicionado o provedor correto com URL base e chave da API.", "radio": { "chat": "Modelo de Chat", "embedding": "Modelo de Incorporação", "chatInfo": "é usado para conclusão de chat e geração de conversas", "embeddingInfo": "é usado para RAG e outras tarefas relacionadas à busca semântica." }, "nicknameModal": { "title": "Adicionar / Editar Apelido do Modelo", "form": { "modelName": { "label": "Nome do Modelo", "placeholder": "Digite o nome do modelo", "required": "O nome do modelo é obrigatório." }, "modelAvatar": { "label": "Avatar do Modelo", "placeholder": "Digite o avatar do modelo", "help": "Por favor, insira a URL do avatar do modelo. Esta imagem será exibida na janela de chat." } } } } ================================================ FILE: src/assets/locale/pt-BR/option.json ================================================ { "newChat": "Novo Chat", "selectAPrompt": "Selecionar um Prompt", "githubRepository": "Repositório GitHub", "settings": "Configurações", "sidebarTitle": "Histórico de Chat", "error": "Erro", "somethingWentWrong": "Algo deu errado", "validationSelectModel": "Por favor, selecione um modelo para continuar", "deleteHistoryConfirmation": "Tem certeza de que deseja excluir este histórico?", "editHistoryTitle": "Digite um novo título", "temporaryChat": "Chat Temporário", "more": { "copy": { "group": "Copiar", "asText": "Copiar como Texto", "asMarkdown": "Copiar como Markdown", "success": "Copiado para área de transferência!" }, "download": { "group": "Baixar", "text": "Arquivo de Texto (.txt)", "markdown": "Markdown (.md)", "json": "Arquivo JSON (.json)" }, "share": "Compartilhar" } } ================================================ FILE: src/assets/locale/pt-BR/playground.json ================================================ { "ollamaState": { "searching": "Procurando por seu Ollama 🦙", "running": "Ollama está em execução 🦙", "notRunning": "Não foi possível conectar ao Ollama 🦙", "connectionError": "Parece que você está tendo um erro de conexão. Consulte esta documentação para solucionar o problema." }, "formError": { "noModel": "Por favor, selecione um modelo", "noEmbeddingModel": "Por favor, configure um modelo de incorporação na página Configurações > RAG" }, "form": { "textarea": { "placeholder": "Digite uma mensagem..." }, "webSearch": { "on": "Ligado", "off": "Desligado" } }, "tooltip": { "searchInternet": "Pesquisar na Internet", "speechToText": "Fala para Texto", "uploadImage": "Carregar Imagem", "stopStreaming": "Parar Streaming", "knowledge": "Conhecimento", "clearContext": "Limpar Contexto" }, "sendWhenEnter": "Enviar ao pressionar Enter", "welcome": "Olá! Como posso ajudar você hoje?", "useOCR": "Extrair texto da imagem (OCR)" } ================================================ FILE: src/assets/locale/pt-BR/settings.json ================================================ { "generalSettings": { "title": "Configurações Gerais", "settings": { "heading": "Configurações da Interface Web", "speechRecognitionLang": { "label": "Idioma de Reconhecimento de Fala", "placeholder": "Selecione um idioma" }, "language": { "label": "Idioma", "placeholder": "Selecione um idioma" }, "darkMode": { "label": "Alterar Tema", "options": { "light": "Claro", "dark": "Escuro" } }, "copilotResumeLastChat": { "label": "Retomar o último chat ao abrir o Painel Lateral (Copilot)" }, "turnOnChatWithWebsite": { "label": "Ativar Chat com o Site por padrão (Copilot)" }, "webUIResumeLastChat": { "label": "Retomar o último chat ao abrir a Interface Web" }, "hideCurrentChatModelSettings": { "label": "Ocultar as Configurações Atuais do Modelo de Chat" }, "restoreLastChatModel": { "label": "Restaurar o último modelo usado para conversas anteriores" }, "sendNotificationAfterIndexing": { "label": "Enviar notificação após concluir o processamento da base de conhecimento" }, "generateTitle": { "label": "Gerar título usando IA" }, "ollamaStatus": { "label": "Ativar ou desativar verificação de status da conexão Ollama" }, "wideMode": { "label": "Ativar modo tela larga" }, "openReasoning": { "label": "Abrir Raciocínio Recolhido por padrão" }, "userChatBubble": { "label": "Usar Balão de Chat para Mensagens do Usuário" }, "autoCopyResponseToClipboard": { "label": "Copiar Resposta Automaticamente para a Área de Transferência" }, "useMarkdownForUserMessage": { "label": "Ativar formatação Markdown para mensagens do Usuário" }, "copyAsFormattedText": { "label": "Copiar como Texto Formatado" }, "tabMentionsEnabled": { "label": "Ativar Menções de Abas (@tab)" }, "pasteLargeTextAsFile": { "label": "Colar Texto Grande como Arquivo" }, "sidepanelTemporaryChat": { "label": "Ativar Chat Temporário no Painel Lateral por padrão" } }, "sidepanelRag": { "heading": "Configurações de Recuperação", "ragEnabled": { "label": "Ativar Incorporação e Recuperação" }, "maxWebsiteContext": { "label": "Tamanho Máximo de Conteúdo para Modo de Contexto Completo", "placeholder": "Tamanho do conteúdo (padrão 4028)" } }, "webSearch": { "heading": "Gerenciar Pesquisa na Web", "searchMode": { "label": "Realizar Pesquisa Simples na Internet" }, "provider": { "label": "Mecanismo de Pesquisa", "placeholder": "Selecione um mecanismo de pesquisa" }, "totalSearchResults": { "label": "Total de Resultados da Pesquisa", "placeholder": "Digite o Total de Resultados da Pesquisa" }, "visitSpecificWebsite": { "label": "Visitar o site mencionado na mensagem" }, "searxng": { "url": { "label": "URL do SearXNG" } }, "braveApi": { "label": "Chave da API do Brave", "placeholder": "Digite sua chave da API do Brave" }, "tavilyApi": { "label": "Chave da API do Tavily", "placeholder": "Digite sua chave da API do Tavily" }, "searchOnByDefault": { "label": "Pesquisa na Internet ativada por padrão" } }, "system": { "heading": "Configurações do Sistema", "storageSyncEnabled": { "label": "Ativar sincronização de armazenamento do navegador (sincronizar configurações entre dispositivos)" }, "deleteChatHistory": { "label": "Reiniciar Sistema", "button": "Reiniciar Tudo", "confirm": "Tem certeza que deseja realizar um reinício do sistema? Isso irá apagar todos os dados e não poderá ser desfeito." }, "export": { "label": "Exportar todos os dados (histórico de chat, base de conhecimento, prompts e configurações)", "button": "Exportar dados", "success": "Exportação bem-sucedida" }, "import": { "label": "Importar todos os dados (histórico de chat, base de conhecimento, prompts e configurações)", "button": "Importar dados", "success": "Importação bem-sucedida", "error": "Erro na importação" } }, "tts": { "heading": "Configurações de Texto para Fala", "ttsEnabled": { "label": "Ativar Texto para Fala" }, "ttsAutoPlay": { "label": "Reproduzir resposta de voz automaticamente após conclusão" }, "ttsProvider": { "label": "Provedor de Texto para Fala", "placeholder": "Selecione um provedor" }, "ttsVoice": { "label": "Voz de Texto para Fala", "placeholder": "Selecione uma voz" }, "ssmlEnabled": { "label": "Ativar SSML (Linguagem de Marcação de Síntese de Fala)" }, "removeReasoningTagTTS": { "label": "Remover Tag de Raciocínio do TTS" } }, "stt": { "heading": "Configurações de Fala para Texto", "autoStopTimeout": { "label": "Tempo Limite de Parada Automática (ms)", "placeholder": "Digite o tempo limite de parada automática em milissegundos" }, "autoSubmitVoiceMessage": { "label": "Envio Automático de Mensagem de Voz" } } }, "manageModels": { "title": "Gerenciar Modelos", "addBtn": "Adicionar Novo Modelo", "columns": { "name": "Nome", "digest": "Resumo", "modifiedAt": "Modificado em", "size": "Tamanho", "actions": "Ações" }, "expandedColumns": { "parentModel": "Modelo Pai", "format": "Formato", "family": "Família", "parameterSize": "Tamanho do Parâmetro", "quantizationLevel": "Nível de Quantização" }, "tooltip": { "delete": "Excluir Modelo", "repull": "Baixar Novamente o Modelo" }, "confirm": { "delete": "Tem certeza de que deseja excluir este modelo?", "repull": "Tem certeza de que deseja baixar este modelo novamente?" }, "modal": { "title": "Adicionar Novo Modelo", "placeholder": "Digite o Nome do Modelo", "pull": "Baixar Modelo" }, "notification": { "pullModel": "Baixando Modelo", "pullModelDescription": "Baixando o modelo {{modelName}}. Para mais detalhes, verifique o ícone da extensão.", "success": "Sucesso", "error": "Erro", "successDescription": "Modelo baixado com sucesso", "successDeleteDescription": "Modelo excluído com sucesso", "someError": "Algo deu errado. Por favor, tente novamente mais tarde" } }, "managePrompts": { "title": "Gerenciar Prompts", "addBtn": "Adicionar Novo Prompt", "option1": "Normal", "option2": "RAG", "questionPrompt": "Prompt de Pergunta", "columns": { "title": "Título", "prompt": "Prompt", "type": "Tipo de Prompt", "actions": "Ações" }, "systemPrompt": "Prompt do Sistema", "quickPrompt": "Prompt Rápido", "tooltip": { "delete": "Excluir Prompt", "edit": "Editar Prompt" }, "confirm": { "delete": "Tem certeza que deseja excluir este prompt? Esta ação não pode ser desfeita." }, "modal": { "addTitle": "Adicionar Novo Prompt", "editTitle": "Editar Prompt" }, "segmented": { "custom": "Prompts personalizados", "copilot": "Prompts do Copilot" }, "form": { "title": { "label": "Título", "placeholder": "Meu Prompt Incrível", "required": "Por favor, insira um título" }, "prompt": { "label": "Prompt", "placeholder": "Digite o Prompt", "required": "Por favor, insira um prompt", "help": "Você pode usar {key} como variável em seu prompt.", "missingTextPlaceholder": "A variável {text} está faltando no prompt. Por favor, adicione-a." }, "isSystem": { "label": "É um Prompt do Sistema" }, "btnSave": { "saving": "Adicionando Prompt...", "save": "Adicionar Prompt" }, "btnEdit": { "saving": "Atualizando Prompt...", "save": "Atualizar Prompt" } }, "notification": { "addSuccess": "Prompt Adicionado", "addSuccessDesc": "O prompt foi adicionado com sucesso", "error": "Erro", "someError": "Algo deu errado. Por favor, tente novamente mais tarde", "updatedSuccess": "Prompt Atualizado", "updatedSuccessDesc": "O prompt foi atualizado com sucesso", "deletedSuccess": "Prompt Excluído", "deletedSuccessDesc": "O prompt foi excluído com sucesso" } }, "manageShare": { "title": "Gerenciar Compartilhamento", "heading": "Configurar URL de Compartilhamento de Página", "form": { "url": { "label": "URL de Compartilhamento de Página", "placeholder": "Digite a URL de Compartilhamento de Página", "required": "Por favor, insira sua URL de Compartilhamento de Página!", "help": "Por motivos de privacidade, você pode hospedar por conta própria o compartilhamento de página e fornecer a URL aqui. Saiba Mais." } }, "webshare": { "heading": "Compartilhamento Web", "columns": { "title": "Título", "url": "URL", "actions": "Ações" }, "tooltip": { "delete": "Excluir Compartilhamento" }, "confirm": { "delete": "Tem certeza de que deseja excluir este compartilhamento? Esta ação não pode ser desfeita." }, "label": "Gerenciar Compartilhamento de Página", "description": "Ativar ou desativar o recurso de compartilhamento de página" }, "notification": { "pageShareSuccess": "URL de Compartilhamento de Página atualizada com sucesso", "someError": "Algo deu errado. Por favor, tente novamente mais tarde", "webShareDeleteSuccess": "Compartilhamento Web excluído com sucesso" } }, "ollamaSettings": { "title": "Configurações do Ollama", "heading": "Configurar Ollama", "settings": { "ollamaUrl": { "label": "URL do Ollama", "placeholder": "Digite a URL do Ollama" }, "globalEnable": { "label": "Ativar ou Desativar Integração com Ollama Globalmente", "warning": "Ao desativar a integração com Ollama globalmente, o Page Assist não buscará modelos do Ollama. Você ainda pode adicionar uma instância do Ollama pela seção de API compatível com OpenAI que funcionará normalmente." }, "advanced": { "label": "Configuração Avançada da URL do Ollama", "urlRewriteEnabled": { "label": "Ativar ou Desativar URL de Origem Personalizada" }, "rewriteUrl": { "label": "URL de Origem Personalizada", "placeholder": "Digite a URL de Origem Personalizada" }, "autoCORSFix": { "label": "Ativar ou Desativar Correção Automática de CORS do Ollama" }, "headers": { "label": "Cabeçalhos Personalizados", "add": "Adicionar Cabeçalho", "key": { "label": "Chave do Cabeçalho", "placeholder": "Autorização" }, "value": { "label": "Valor do Cabeçalho", "placeholder": "Token Bearer" } }, "help": "Se você tiver problemas de conexão com o Ollama no Page Assist, você pode configurar uma URL de origem personalizada. Para saber mais sobre a configuração, clique aqui." } } }, "manageSearch": { "title": "Gerenciar Pesquisa na Web", "heading": "Configurar Pesquisa na Web" }, "about": { "title": "Sobre", "heading": "Sobre", "chromeVersion": "Versão do Page Assist", "ollamaVersion": "Versão do Ollama", "support": "Você pode apoiar o projeto Page Assist doando ou patrocinando através das seguintes plataformas:", "koFi": "Apoiar no Ko-fi", "githubSponsor": "Patrocinar no GitHub", "githubRepo": "Repositório GitHub" }, "manageKnowledge": { "title": "Gerenciar Conhecimento", "heading": "Configurar Base de Conhecimento" }, "rag": { "title": "Configurações Pipeline", "ragSettings": { "label": "Configurações RAG", "model": { "label": "Modelo de Incorporação", "required": "Por favor, selecione um modelo", "help": "Altamente recomendado o uso de modelos de incorporação como `nomic-embed-text`.", "placeholder": "Selecione um modelo" }, "chunkSize": { "label": "Tamanho do Pedaço", "placeholder": "Digite o Tamanho do Pedaço", "required": "Por favor, insira um tamanho de pedaço" }, "chunkOverlap": { "label": "Sobreposição do Pedaço", "placeholder": "Digite a Sobreposição do Pedaço", "required": "Por favor, insira uma sobreposição de pedaço" }, "totalFilePerKB": { "label": "Limite Padrão de Upload de Arquivos da Base de Conhecimento", "placeholder": "Digite o limite padrão de upload de arquivos (ex: 10)", "required": "Por favor, insira o limite padrão de upload de arquivos" }, "noOfRetrievedDocs": { "label": "Número de Documentos Recuperados", "placeholder": "Digite o Número de Documentos Recuperados", "required": "Por favor, insira o número de documentos recuperados" }, "splittingSeparator": { "label": "Separador", "placeholder": "Digite o Separador (ex: \\n\\n)", "required": "Por favor, insira um separador" }, "splittingStrategy": { "label": "Divisor de Texto" } }, "prompt": { "label": "Configurar Prompt RAG", "option1": "Normal", "option2": "Web", "alert": "A configuração do prompt do sistema aqui está obsoleta. Por favor, use a seção Gerenciar Prompts para adicionar ou editar prompts. Esta seção será removida em uma versão futura", "systemPrompt": "Prompt do Sistema", "systemPromptPlaceholder": "Digite o Prompt do Sistema", "webSearchPrompt": "Prompt de Pesquisa na Web", "webSearchPromptHelp": "Não remova `{search_results}` do prompt.", "webSearchPromptError": "Por favor, insira um prompt de pesquisa na web", "webSearchPromptPlaceholder": "Digite o Prompt de Pesquisa na Web", "webSearchFollowUpPrompt": "Prompt de Acompanhamento da Pesquisa na Web", "webSearchFollowUpPromptHelp": "Não remova `{chat_history}` e `{question}` do prompt.", "webSearchFollowUpPromptError": "Por favor, insira seu Prompt de Acompanhamento da Pesquisa na Web!", "webSearchFollowUpPromptPlaceholder": "Seu Prompt de Acompanhamento da Pesquisa na Web" } }, "chromeAiSettings": { "title": "Configurações do Chrome AI" } } ================================================ FILE: src/assets/locale/pt-BR/sidepanel.json ================================================ { "tooltip": { "embed": "A incorporação da página pode levar alguns minutos. Por favor, aguarde...", "clear": "Apagar histórico de chat", "history": "Histórico de chat", "openwebui": "Abrir WebUI" } } ================================================ FILE: src/assets/locale/ru/chrome.json ================================================ { "heading": "Настройка Chrome AI", "status": { "label": "Включить или отключить поддержку Chrome AI в помощнике страницы" }, "error": { "browser_not_supported": "Эта версия Chrome не поддерживается моделью Gemini Nano. Пожалуйста, обновите до версии 127 или выше", "ai_not_supported": "Настройка chrome://flags/#prompt-api-for-gemini-nano не включена. Пожалуйста, включите её.", "ai_not_ready": "Gemini Nano ещё не готов; вам нужно перепроверить настройки Chrome.", "internal_error": "Произошла внутренняя ошибка. Пожалуйста, повторите попытку позже." }, "errorDescription": "Чтобы использовать Chrome AI, вам нужна версия Chrome 138 или выше. Выполните следующие шаги:\n\n1. Перейдите на `chrome://flags/#prompt-api-for-gemini-nano` и включите \"Prompt API for Gemini Nano\".\n2. Перезапустите Chrome, чтобы применить флаг.\n3. Вернитесь на эту страницу и нажмите \"Скачать модель\" — это загрузит модель размером 4 ГБ в первый раз.\n4. После загрузки Gemini Nano можно будет включить через Page Assist.", "downloadModel": "Скачать модель", "modelDownloadWarning": "Это загрузит модель размером от 1.5 ГБ до 2.4 ГБ. Убедитесь, что у вас достаточно места на диске." } ================================================ FILE: src/assets/locale/ru/common.json ================================================ { "pageAssist": "Помощник страницы", "selectAModel": "Выберите модель", "save": "Сохранить", "saved": "Сохранено", "cancel": "Отмена", "retry": "Повторить", "share": { "tooltip": { "share": "Поделиться" }, "modal": { "title": "Поделиться ссылкой на чат" }, "form": { "defaultValue": { "name": "Аноним", "title": "Безымянный чат" }, "title": { "label": "Название чата", "placeholder": "Введите название чата", "required": "Название чата обязательно" }, "name": { "label": "Ваше имя", "placeholder": "Введите ваше имя", "required": "Ваше имя обязательно" }, "btn": { "save": "Создать ссылку", "saving": "Создание ссылки..." } }, "notification": { "successGenerate": "Ссылка скопирована в буфер обмена", "failGenerate": "Не удалось создать ссылку" } }, "copyToClipboard": "Копировать в буфер обмена", "webSearch": "Поиск в интернете", "regenerate": "Пересоздать", "continue": "Продолжить ответ", "edit": "Редактировать", "delete": "Удалить", "saveAndSubmit": "Сохранить и отправить", "editMessage": { "placeholder": "Введите сообщение..." }, "submit": "Отправить", "noData": "Нет данных", "noHistory": "Нет истории чата", "chatWithCurrentPage": "Чат с текущей страницей", "beta": "Бета", "tts": "Прочитать вслух", "currentChatModelSettings": "Текущие настройки модели чата", "modelSettings": { "label": "Настройки модели", "description": "Устанавливайте параметры модели глобально для всех чатов", "form": { "keepAlive": { "label": "Время жизни", "help": "Контролирует, как долго модель будет оставаться в памяти после запроса (по умолчанию: 5 минут)", "placeholder": "Введите продолжительность времени жизни (например, 5м, 10м, 1ч)" }, "temperature": { "label": "Температура", "placeholder": "Введите значение температуры (например, 0.7, 1.0)" }, "numCtx": { "label": "Размер окна контекста (num_ctx)", "placeholder": "Введите значение размера окна контекста (по умолчанию: 2048)" }, "numPredict": { "label": "Максимальное количество токенов (num_predict)", "placeholder": "Введите значение максимального количества токенов (например, 2048, 4096)" }, "seed": { "label": "Сид", "placeholder": "Введите значение сида (например, 1234)", "help": "Воспроизводимость вывода модели" }, "topK": { "label": "Top K", "placeholder": "Введите значение Top K (например, 40, 100)" }, "topP": { "label": "Top P", "placeholder": "Введите значение Top P (например, 0.9, 0.95)" }, "numGpu": { "label": "Num GPU", "placeholder": "Введите количество слоев для отправки на GPU" }, "systemPrompt": { "label": "Временный системный запрос", "placeholder": "Введите системный запрос", "help": "Это быстрый способ установить системный запрос в текущем чате, который переопределит выбранный системный запрос, если он существует." } }, "advanced": "Больше настроек модели" }, "copilot": { "summary": "Обобщить", "explain": "Объяснить", "rephrase": "Перефразировать", "translate": "Перевести" }, "citations": "Цитаты", "downloadCode": "Скачать код", "date": { "pinned": "Закреплено", "today": "Сегодня", "yesterday": "Вчера", "last7Days": "Последние 7 дней", "older": "Ранее" }, "range": { "deleteConfirm": { "pinned": "Вы уверены, что хотите удалить все закрепленные сообщения?", "today": "Вы уверены, что хотите удалить все сообщения за сегодня?", "yesterday": "Вы уверены, что хотите удалить все сообщения за вчера?", "last7Days": "Вы уверены, что хотите удалить все сообщения за последние 7 дней?", "older": "Вы уверены, что хотите удалить все старые сообщения?" }, "tooltip": { "pinned": "Удалить все закрепленные сообщения", "today": "Удалить все сообщения за сегодня", "yesterday": "Удалить все сообщения за вчера", "last7Days": "Удалить все сообщения за последние 7 дней", "older": "Удалить все старые сообщения" } }, "pin": "Закрепить", "unpin": "Открепить", "generationInfo": "Информация о генерации", "sidebarChat": "Боковой чат", "reasoning": { "thinking": "Размышляю...", "thought": "Размышлял {{time}}" }, "embeddingGen": "Создание вложений, это может занять некоторое время", "semanticSearch": "Выполнение семантического поиска", "downloading": "Загрузка", "cancelPullingModel": { "confirm": "Вы уверены, что хотите отменить загрузку? Это остановит процесс загрузки. Согласно документации Ollama, вы можете возобновить загрузку с того места, на котором остановились." } } ================================================ FILE: src/assets/locale/ru/knowledge.json ================================================ { "addBtn": "Добавить новое знание", "columns": { "title": "Название", "status": "Статус", "embeddings": "Модель вложения", "createdAt": "Создано", "action": "Действия" }, "expandedColumns": { "name": "Имя" }, "confirm": { "delete": "Вы уверены, что хотите удалить это знание?" }, "deleteSuccess": "Знание успешно удалено", "status": { "pending": "Ожидание", "finished": "Завершено", "processing": "Обработка", "failed": "Не удалось" }, "addKnowledge": "Добавить знание", "updateKnowledge": "Добавить источник", "form": { "title": { "label": "Название знания", "placeholder": "Введите название знания", "required": "Название знания обязательно" }, "uploadFile": { "label": "Загрузить файл", "uploadText": "Перетащите файл сюда или нажмите, чтобы загрузить", "uploadHint": "Поддерживаемые типы файлов: .pdf, .csv, .txt, .md,.docx", "required": "Файл обязателен" }, "submit": "Отправить", "success": "Знание успешно добавлено" }, "noEmbeddingModel": "Пожалуйста, сначала добавьте модель вложения на странице настроек RAG" } ================================================ FILE: src/assets/locale/ru/openai.json ================================================ { "settings": "API, совместимый с OpenAI", "heading": "API, совместимый с OpenAI", "subheading": "Управляйте и настраивайте ваши провайдеры, совместимые с API OpenAI, здесь.", "addBtn": "Добавить провайдера", "table": { "name": "Имя провайдера", "baseUrl": "Базовый URL", "actions": "Действие" }, "modal": { "titleAdd": "Добавить нового провайдера", "name": { "label": "Имя провайдера", "required": "Имя провайдера обязательно.", "placeholder": "Введите имя провайдера" }, "baseUrl": { "label": "Базовый URL", "help": "Базовый URL провайдера API OpenAI. например (http://localhost:1234/v1)", "required": "Базовый URL обязателен.", "placeholder": "Введите базовый URL" }, "apiKey": { "label": "Ключ API", "required": "Ключ API обязателен.", "placeholder": "Введите ключ API" }, "submit": "Сохранить", "update": "Обновить", "deleteConfirm": "Вы уверены, что хотите удалить этого провайдера?", "model": { "title": "Список моделей", "subheading": "Пожалуйста, выберите модели чата, которые вы хотите использовать с этим провайдером.", "success": "Новые модели успешно добавлены." }, "tipLMStudio": "Page Assist автоматически загрузит модели, которые вы загрузили в LM Studio. Вам не нужно добавлять их вручную." }, "addSuccess": "Провайдер успешно добавлен.", "deleteSuccess": "Провайдер успешно удален.", "updateSuccess": "Провайдер успешно обновлен.", "delete": "Удалить", "edit": "Редактировать", "newModel": "Добавить модели к провайдеру", "noNewModel": "Для LMStudio, Ollama, Llamafile, мы загружаем динамически. Ручное добавление не требуется.", "searchModel": "Поиск модели", "selectAll": "Выбрать все", "save": "Сохранить", "saving": "Сохранение...", "manageModels": { "columns": { "name": "Название модели", "model_type": "Тип модели", "model_id": "ID модели", "provider": "Имя провайдера", "actions": "Действие", "nickname": "Псевдоним модели" }, "tooltip": { "delete": "Удалить" }, "confirm": { "delete": "Вы уверены, что хотите удалить эту модель?" }, "modal": { "title": "Добавить пользовательскую модель", "form": { "name": { "label": "ID модели", "placeholder": "llama3.2", "required": "ID модели обязателен." }, "provider": { "label": "Провайдер", "placeholder": "Выберите провайдера", "required": "Провайдер обязателен." }, "type": { "label": "Тип модели" } } } }, "noModelFound": "Модели не найдены. Убедитесь, что вы добавили правильного провайдера с базовым URL и ключом API.", "radio": { "chat": "Модель чата", "embedding": "Модель встраивания", "chatInfo": "используется для завершения чата и генерации разговоров", "embeddingInfo": "используется для RAG и других задач, связанных с семантическим поиском." }, "nicknameModal": { "title": "Добавить / Редактировать псевдоним модели", "form": { "modelName": { "label": "Название модели", "placeholder": "Введите название модели", "required": "Название модели обязательно." }, "modelAvatar": { "label": "Аватар модели", "placeholder": "Введите аватар модели", "help": "Пожалуйста, введите URL аватара модели. Это изображение будет отображаться в окне чата." } } } } ================================================ FILE: src/assets/locale/ru/option.json ================================================ { "newChat": "Новый чат", "selectAPrompt": "Выберите подсказку", "githubRepository": "Репозиторий GitHub", "settings": "Настройки", "sidebarTitle": "История чата", "error": "Ошибка", "somethingWentWrong": "Что-то пошло не так", "validationSelectModel": "Пожалуйста, выберите модель, чтобы продолжить", "deleteHistoryConfirmation": "Вы уверены, что хотите удалить эту историю?", "editHistoryTitle": "Введите новое название", "temporaryChat": "Временный чат", "more": { "copy": { "group": "Копировать", "asText": "Копировать как текст", "asMarkdown": "Копировать как Markdown", "success": "Скопировано в буфер обмена!" }, "download": { "group": "Скачать", "text": "Текстовый файл (.txt)", "markdown": "Markdown (.md)", "json": "JSON файл (.json)" }, "share": "Поделиться" }} ================================================ FILE: src/assets/locale/ru/playground.json ================================================ { "ollamaState": { "searching": "Поиск вашего Ollama 🦙", "running": "Ollama работает 🦙", "notRunning": "Не удалось подключиться к Ollama 🦙", "connectionError": "Похоже, у вас возникла ошибка соединения. Пожалуйста, обратитесь к этой документации для устранения неисправностей." }, "formError": { "noModel": "Пожалуйста, выберите модель", "noEmbeddingModel": "Пожалуйста, установите модель вложения на странице Настройки > RAG" }, "form": { "textarea": { "placeholder": "Введите сообщение..." }, "webSearch": { "on": "Вкл", "off": "Выкл" } }, "tooltip": { "searchInternet": "Поиск в Интернете", "speechToText": "Речь в текст", "uploadImage": "Загрузить изображение", "stopStreaming": "Остановить поток", "knowledge": "Знание", "clearContext": "Очистить контекст" }, "sendWhenEnter": "Отправить при нажатии клавиши Enter", "welcome": "Здравствуйте! Как я могу помочь вам сегодня?", "useOCR": "Извлечь текст из изображения (OCR)" } ================================================ FILE: src/assets/locale/ru/settings.json ================================================ { "generalSettings": { "title": "Общие настройки", "settings": { "heading": "Настройки веб-интерфейса", "speechRecognitionLang": { "label": "Язык распознавания речи", "placeholder": "Выберите язык" }, "language": { "label": "Язык", "placeholder": "Выберите язык" }, "darkMode": { "label": "Сменить тему", "options": { "light": "Светлая", "dark": "Темная" } }, "copilotResumeLastChat": { "label": "Возобновить последний чат при открытии боковой панели (Copilot)" }, "turnOnChatWithWebsite": { "label": "Включить чат с веб-сайтом по умолчанию (Copilot)" }, "webUIResumeLastChat": { "label": "Возобновить последний чат при открытии веб-интерфейса" }, "hideCurrentChatModelSettings": { "label": "Скрыть текущие настройки модели чата" }, "restoreLastChatModel": { "label": "Восстановить последнюю использованную модель для предыдущих чатов" }, "sendNotificationAfterIndexing": { "label": "Отправить уведомление после завершения обработки базы знаний" }, "generateTitle": { "label": "Сгенерировать заголовок с помощью ИИ" }, "ollamaStatus": { "label": "Включить или отключить проверку состояния подключения Ollama" }, "wideMode": { "label": "Включить широкоэкранный режим" }, "openReasoning": { "label": "Открыть рассуждения свернутыми по умолчанию" }, "userChatBubble": { "label": "Использовать пузырь чата для сообщений пользователя" }, "autoCopyResponseToClipboard": { "label": "Автоматически копировать ответ в буфер обмена" }, "useMarkdownForUserMessage": { "label": "Включить форматирование Markdown для сообщений пользователя" }, "copyAsFormattedText": { "label": "Копировать как форматированный текст" }, "tabMentionsEnabled": { "label": "Включить упоминания вкладок (@tab)" }, "pasteLargeTextAsFile": { "label": "Вставить большой текст как файл" }, "sidepanelTemporaryChat": { "label": "Включить временный чат в боковой панели по умолчанию" } }, "sidepanelRag": { "heading": "Настройки поиска", "ragEnabled": { "label": "Включить встраивание и поиск" }, "maxWebsiteContext": { "label": "Максимальный размер контента для режима полного контекста", "placeholder": "Размер контента (по умолчанию 4028)" } }, "webSearch": { "heading": "Управление веб-поиском", "searchMode": { "label": "Выполнить простой интернет-поиск" }, "provider": { "label": "Поисковый движок", "placeholder": "Выберите поисковый движок" }, "totalSearchResults": { "label": "Общее количество результатов поиска", "placeholder": "Введите общее количество результатов поиска" }, "visitSpecificWebsite": { "label": "Посетите веб-сайт, указанный в сообщении." }, "searxng": { "url": { "label": "URL-адрес SearXNG" } }, "braveApi": { "label": "API-ключ Brave", "placeholder": "Введите ваш API-ключ Brave" }, "searchOnByDefault": { "label": "Поиск в интернете включен по умолчанию" } }, "system": { "heading": "Настройки системы", "storageSyncEnabled": { "label": "Включить синхронизацию хранилища браузера (синхронизировать настройки между устройствами)" }, "deleteChatHistory": { "label": "Сброс системы", "button": "Сбросить все", "confirm": "Вы уверены, что хотите выполнить сброс системы? Это удалит все данные без возможности восстановления." }, "export": { "label": "Экспорт всех данных (история чата, база знаний, подсказки и настройки)", "button": "Экспорт данных", "success": "Экспорт выполнен успешно" }, "import": { "label": "Импорт всех данных (история чата, база знаний, подсказки и настройки)", "button": "Импорт данных", "success": "Импорт выполнен успешно", "error": "Ошибка импорта" } }, "tts": { "heading": "Настройки текст в речь", "ttsEnabled": { "label": "Включить текст в речь" }, "ttsAutoPlay": { "label": "Автоматическое воспроизведение голосового ответа после завершения" }, "ttsProvider": { "label": "Поставщик текста в речь", "placeholder": "Выберите поставщика" }, "ttsVoice": { "label": "Голос текста в речь", "placeholder": "Выберите голос" }, "ssmlEnabled": { "label": "Включить SSML (язык разметки синтеза речи)" }, "removeReasoningTagTTS": { "label": "Удалить тег рассуждения из TTS" } }, "stt": { "heading": "Настройки речь в текст", "autoStopTimeout": { "label": "Тайм-аут автоостановки (мс)", "placeholder": "Введите тайм-аут автоостановки в миллисекундах" }, "autoSubmitVoiceMessage": { "label": "Автоматическая отправка голосового сообщения" } } }, "manageModels": { "title": "Управление моделями", "addBtn": "Добавить новую модель", "columns": { "name": "Название", "digest": "Дайджест", "modifiedAt": "Изменено", "size": "Размер", "actions": "Действия" }, "expandedColumns": { "parentModel": "Родительская модель", "format": "Формат", "family": "Семейство", "parameterSize": "Размер параметров", "quantizationLevel": "Уровень квантования" }, "tooltip": { "delete": "Удалить модель", "repull": "Переполучить модель" }, "confirm": { "delete": "Вы уверены, что хотите удалить эту модель?", "repull": "Вы уверены, что хотите переполучить эту модель?" }, "modal": { "title": "Добавить новую модель", "placeholder": "Введите название модели", "pull": "Получить модель" }, "notification": { "pullModel": "Получение модели", "pullModelDescription": "Получение модели {{modelName}}. Для получения дополнительной информации проверьте значок расширения.", "success": "Успех", "error": "Ошибка", "successDescription": "Модель успешно получена", "successDeleteDescription": "Модель успешно удалена", "someError": "Что-то пошло не так. Пожалуйста, попробуйте позже" } }, "managePrompts": { "title": "Управление подсказками", "addBtn": "Добавить новую подсказку", "option1": "Обычная", "option2": "RAG", "questionPrompt": "Вопросная подсказка", "columns": { "title": "Название", "prompt": "Подсказка", "type": "Тип подсказки", "actions": "Действия" }, "systemPrompt": "Системная подсказка", "quickPrompt": "Быстрая подсказка", "tooltip": { "delete": "Удалить подсказку", "edit": "Редактировать подсказку" }, "confirm": { "delete": "Вы уверены, что хотите удалить эту подсказку? Это действие нельзя отменить." }, "modal": { "addTitle": "Добавить новую подсказку", "editTitle": "Редактировать подсказку" }, "segmented": { "custom": "Пользовательские подсказки", "copilot": "Подсказки Copilot" }, "form": { "title": { "label": "Название", "placeholder": "Моя замечательная подсказка", "required": "Пожалуйста, введите название" }, "prompt": { "label": "Подсказка", "placeholder": "Введите подсказку", "required": "Пожалуйста, введите подсказку", "help": "Вы можете использовать {key} в качестве переменной в своей подсказке.", "missingTextPlaceholder": "Переменная {text} отсутствует в подсказке. Пожалуйста, добавьте ее." }, "isSystem": { "label": "Это системная подсказка" }, "btnSave": { "saving": "Добавление подсказки...", "save": "Добавить подсказку" }, "btnEdit": { "saving": "Обновление подсказки...", "save": "Обновить подсказку" } }, "notification": { "addSuccess": "Подсказка добавлена", "addSuccessDesc": "Подсказка успешно добавлена", "error": "Ошибка", "someError": "Что-то пошло не так. Пожалуйста, попробуйте позже", "updatedSuccess": "Подсказка обновлена", "updatedSuccessDesc": "Подсказка успешно обновлена", "deletedSuccess": "Подсказка удалена", "deletedSuccessDesc": "Подсказка успешно удалена" } }, "manageShare": { "title": "Управление обменом", "heading": "Настройка URL обмена страницей", "form": { "url": { "label": "URL обмена страницей", "placeholder": "Введите URL обмена страницей", "required": "Пожалуйста, введите ваш URL обмена страницей!", "help": "По соображениям конфиденциальности вы можете самостоятельно разместить страницу обмена и указать здесь URL. Узнать больше." } }, "webshare": { "heading": "Веб-обмен", "columns": { "title": "Название", "url": "URL", "actions": "Действия" }, "tooltip": { "delete": "Удалить обмен" }, "confirm": { "delete": "Вы уверены, что хотите удалить этот обмен? Это действие нельзя отменить." }, "label": "Управление общим доступом к странице", "description": "Включить или отключить функцию обмена страницей" }, "notification": { "pageShareSuccess": "URL обмена страницей успешно обновлен", "someError": "Что-то пошло не так. Пожалуйста, попробуйте позже", "webShareDeleteSuccess": "Веб-обмен успешно удален" } }, "ollamaSettings": { "title": "Настройки Ollama", "heading": "Настройка Ollama", "settings": { "ollamaUrl": { "label": "URL Ollama", "placeholder": "Введите URL Ollama" }, "globalEnable": { "label": "Включить или отключить интеграцию Ollama глобально", "warning": "При отключении глобальной интеграции Ollama, Page Assist не будет получать модели из Ollama. Вы все еще можете добавить экземпляр Ollama из раздела API, совместимого с OpenAI, который будет работать нормально." }, "advanced": { "label": "Расширенная конфигурация URL Ollama", "urlRewriteEnabled": { "label": "Включить или отключить пользовательский исходный URL" }, "rewriteUrl": { "label": "Пользовательский исходный URL", "placeholder": "Введите пользовательский исходный URL" }, "autoCORSFix": { "label": "Включить или отключить автоматическое исправление CORS для Ollama" }, "headers": { "label": "Пользовательские Заголовки", "add": "Добавить Заголовок", "key": { "label": "Ключ Заголовка", "placeholder": "Авторизация" }, "value": { "label": "Значение Заголовка", "placeholder": "Токен Bearer" } }, "help": "Если у вас возникают проблемы с подключением к Ollama на странице помощника, вы можете настроить пользовательский исходный URL. Чтобы узнать больше о конфигурации, нажмите здесь." } } }, "manageSearch": { "title": "Управление веб-поиском", "heading": "Настройка веб-поиска" }, "about": { "title": "О программе", "heading": "О программе", "chromeVersion": "Версия Page Assist", "ollamaVersion": "Версия Ollama", "support": "Вы можете поддержать проект Page Assist, сделав пожертвование или спонсорирование через следующие платформы:", "koFi": "Поддержать на Ko-fi", "githubSponsor": "Стать спонсором на GitHub", "githubRepo": "Репозиторий GitHub" }, "manageKnowledge": { "title": "Управление знаниями", "heading": "Настройка базы знаний" }, "rag": { "title": "Настройки RAG", "ragSettings": { "label": "Настройки RAG", "model": { "label": "Модель вложения", "required": "Пожалуйста, выберите модель", "help": "Настоятельно рекомендуется использовать модели вложения, например, `nomic-embed-text`.", "placeholder": "Выберите модель" }, "chunkSize": { "label": "Размер фрагмента", "placeholder": "Введите размер фрагмента", "required": "Пожалуйста, введите размер фрагмента" }, "chunkOverlap": { "label": "Перекрытие фрагментов", "placeholder": "Введите перекрытие фрагментов", "required": "Пожалуйста, введите перекрытие фрагментов" }, "totalFilePerKB": { "label": "Лимит загрузки файлов по умолчанию для базы знаний", "placeholder": "Введите лимит загрузки файлов по умолчанию (например, 10)", "required": "Пожалуйста, введите лимит загрузки файлов по умолчанию" }, "noOfRetrievedDocs": { "label": "Количество извлеченных документов", "placeholder": "Введите количество извлеченных документов", "required": "Пожалуйста, введите количество извлеченных документов" }, "splittingSeparator": { "label": "Разделитель", "placeholder": "Введите разделитель (например, \\n\\n)", "required": "Пожалуйста, введите разделитель" }, "splittingStrategy": { "label": "Разделитель текста" } }, "prompt": { "label": "Настройка системной подсказки RAG", "option1": "Обычная", "option2": "Веб", "alert": "Настройка системной подсказки здесь устарела. Используйте раздел Управление подсказками для добавления или редактирования подсказок. Этот раздел будет удален в будущем выпуске", "systemPrompt": "Системная подсказка", "systemPromptPlaceholder": "Введите системную подсказку", "webSearchPrompt": "Подсказка для веб-поиска", "webSearchPromptHelp": "Не удаляйте `{search_results}` из подсказки.", "webSearchPromptError": "Пожалуйста, введите подсказку для веб-поиска", "webSearchPromptPlaceholder": "Введите подсказку для веб-поиска", "webSearchFollowUpPrompt": "Последующая подсказка для веб-поиска", "webSearchFollowUpPromptHelp": "Не удаляйте `{chat_history}` и `{question}` из подсказки.", "webSearchFollowUpPromptError": "Введите подсказку для последующего веб-поиска!", "webSearchFollowUpPromptPlaceholder": "Ваша подсказка для последующего веб-поиска" } }, "chromeAiSettings": { "title": "Настройки ИИ Chrome" } } ================================================ FILE: src/assets/locale/ru/sidepanel.json ================================================ { "tooltip": { "embed": "Внедрение страницы может занять несколько минут. Пожалуйста, подождите...", "clear": "Очистить историю чата", "history": "История чата", "openwebui": "Открыть веб-интерфейс" } } ================================================ FILE: src/assets/locale/sv/chrome.json ================================================ { "heading": "Konfigurera Chrome AI", "status": { "label": "Aktivera eller inaktivera Chrome AI-stöd på Page Assist" }, "error": { "browser_not_supported": "Denna version av Chrome stöds inte av Gemini Nano-modellen. Uppdatera till version 127 eller senare", "ai_not_supported": "Inställningen chrome://flags/#prompt-api-for-gemini-nano är inte aktiverad. Var vänlig och aktivera den.", "ai_not_ready": "Gemini Nano är inte redo än; du måste dubbelkolla Chrome-inställningarna.", "internal_error": "Ett internt fel uppstod. Försök igen senare." }, "errorDescription": "För att använda Chrome AI behöver du Chrome version 138 eller senare. Följ dessa steg:\n\n1. Gå till `chrome://flags/#prompt-api-for-gemini-nano` och aktivera \"Prompt API for Gemini Nano\".\n2. Starta om Chrome för att tillämpa flaggan.\n3. Återvänd till denna sida och klicka på \"Ladda ner modell\" — detta kommer att ladda ner en modell på 4 GB för första gången.\n4. När nedladdningen är klar kan Gemini Nano aktiveras via Page Assist.", "downloadModel": "Ladda ner modell", "modelDownloadWarning": "Detta kommer att ladda ner en modell med en ungefärlig nedladdningsstorlek på mellan 1,5 GB och 2,4 GB. Se till att du har tillräckligt med diskutrymme." } ================================================ FILE: src/assets/locale/sv/common.json ================================================ { "pageAssist": "Page Assist", "selectAModel": "Välj en modell", "save": "Spara", "saved": "Sparad", "cancel": "Avbryt", "retry": "Försök igen", "share": { "tooltip": { "share": "Dela" }, "modal": { "title": "Dela länk till chatt" }, "form": { "defaultValue": { "name": "Anonym", "title": "Chatt utan titel" }, "title": { "label": "Chattitel", "placeholder": "Ange chattitel", "required": "Chattitel krävs" }, "name": { "label": "Ditt namn", "placeholder": "Ange ditt namn", "required": "Ditt namn krävs" }, "btn": { "save": "Generera länk", "saving": "Genererar länk..." } }, "notification": { "successGenerate": "Länk kopierad till urklipp", "failGenerate": "Misslyckades med att generera länk" } }, "copyToClipboard": "Kopiera till urklipp", "webSearch": "Söker på webben", "regenerate": "Återskapa", "continue": "Fortsätt svar", "edit": "Redigera", "delete": "Radera", "saveAndSubmit": "Spara & Skicka", "editMessage": { "placeholder": "Skriv ett meddelande..." }, "submit": "Skicka", "noData": "Inga data", "noHistory": "Ingen chattlogg", "chatWithCurrentPage": "Chatta med nuvarande sidan", "beta": "Beta", "tts": "Läs högt", "currentChatModelSettings": "Nuvarande chattmodellinställningar", "modelSettings": { "label": "Modellinställningar", "description": "Ställ in modellalternativen globalt för alla chatter", "form": { "keepAlive": { "label": "Keep Alive", "help": "kontrollerar hur länge modellen kommer att vara laddad i minnet efter förfrågan (standard: 5 min)", "placeholder": "Ange Keep Alive varaktighet (t.ex. 5m, 10m, 1h)" }, "temperature": { "label": "Temperatur", "placeholder": "Ange temperaturvärde (t.ex. 0.7, 1.0)" }, "numCtx": { "label": "Kontextfönsterstorlek (num_ctx)", "placeholder": "Ange kontextfönsterstorlek (standard: 2048)" }, "numPredict": { "label": "Max antal tokens (num_predict)", "placeholder": "Ange Max antal tokens värde (t.ex. 2048, 4096)" }, "seed": { "label": "Frö", "placeholder": "Ange frövärde (t.ex. 1234)", "help": "Reproducerbarhet av modellens utskrift" }, "topK": { "label": "Topp K", "placeholder": "Ange Topp K värde (t.ex. 40, 100)" }, "topP": { "label": "Topp P", "placeholder": "Ange Topp P värde (t.ex. 0.9, 0.95)" }, "numGpu": { "label": "Antal GPU", "placeholder": "Ange antal lager att skicka till GPU(s)" }, "systemPrompt": { "label": "Tillfällig systempromt", "placeholder": "Ange systemprompt", "help": "Detta är ett snabbt sätt att ställa in systemprompten i den nuvarande chatten, vilket kommer att åsidosätta den valda systemprompten om den finns." } }, "advanced": "Fler modellinställningar" }, "copilot": { "summary": "Sammanfatta", "explain": "Förklara", "rephrase": "Formulera om", "translate": "Översätt", "custom": "Custom" }, "citations": "Citat", "segmented": { "ollama": "Ollama-modeller", "custom": "Custom modeller" }, "downloadCode": "Ladda ner kod", "date": { "pinned": "Fäst", "today": "Idag", "yesterday": "Igår", "last7Days": "Senaste 7 dagarna", "older": "Äldre" }, "range": { "deleteConfirm": { "pinned": "Är du säker på att du vill ta bort alla fästa meddelanden?", "today": "Är du säker på att du vill ta bort alla meddelanden från idag?", "yesterday": "Är du säker på att du vill ta bort alla meddelanden från igår?", "last7Days": "Är du säker på att du vill ta bort alla meddelanden från de senaste 7 dagarna?", "older": "Är du säker på att du vill ta bort alla äldre meddelanden?" }, "tooltip": { "pinned": "Ta bort alla fästa meddelanden", "today": "Ta bort alla meddelanden från idag", "yesterday": "Ta bort alla meddelanden från igår", "last7Days": "Ta bort alla meddelanden från de senaste 7 dagarna", "older": "Ta bort alla äldre meddelanden" } }, "pin": "Fäst", "unpin": "Ta bort fäst", "generationInfo": "Generationsinformation", "sidebarChat": "Sidofältschatt", "reasoning": { "thinking": "Tänker....", "thought": "Tänkte i {{time}}" }, "embeddingGen": "Skapar embeddings, detta kan ta lite tid", "semanticSearch": "Utför semantisk sökning", "downloading": "Laddar ner", "cancelPullingModel": { "confirm": "Är du säker på att du vill avbryta nedladdningen? Detta kommer att stoppa nedladdningsprocessen. Enligt Ollama-dokumentationen kan du återuppta från där du slutade." } } ================================================ FILE: src/assets/locale/sv/knowledge.json ================================================ { "addBtn": "Lägg till ny kunskap", "columns": { "title": "Titel", "status": "Status", "embeddings": "Inbäddningsmodell", "createdAt": "Skapad den", "action": "Åtgärder" }, "expandedColumns": { "name": "Namn" }, "confirm": { "delete": "Är du säker på att du vill ta bort denna kunskap?" }, "deleteSuccess": "Kunskap raderades framgångsrikt", "status": { "pending": "Väntar", "finished": "Klar", "processing": "Bearbetar", "failed": "Misslyckades" }, "addKnowledge": "Lägg till kunskap", "updateKnowledge": "Lägg till källa", "form": { "title": { "label": "Kunskapstitel", "placeholder": "Ange kunskapstitel", "required": "Kunskapstitel är obligatorisk" }, "uploadFile": { "label": "Ladda upp fil", "uploadText": "Dra och släpp en fil här eller klicka för att ladda upp", "uploadHint": "Stödda filtyper: .pdf, .csv, .txt, .md, .docx", "required": "Fil är obligatorisk" }, "submit": "Skicka in", "success": "Kunskap tillagd framgångsrikt" }, "noEmbeddingModel": "Vänligen lägg till en inbäddningsmodell från sidan för RAG-inställningar först" } ================================================ FILE: src/assets/locale/sv/openai.json ================================================ { "settings": "OpenAI-kompatibel API", "heading": "OpenAI-kompatibel API", "subheading": "Hantera och konfigurera dina OpenAI API-kompatibla leverantörer här.", "addBtn": "Lägg till leverantör", "table": { "name": "Leverantörsnamn", "baseUrl": "Bas-URL", "actions": "Åtgärd" }, "modal": { "titleAdd": "Lägg till ny leverantör", "name": { "label": "Leverantörsnamn", "required": "Leverantörsnamn krävs.", "placeholder": "Ange leverantörsnamn" }, "baseUrl": { "label": "Bas-URL", "help": "Bas-URL för OpenAI API-leverantören. t.ex. (http://localhost:1234/v1)", "required": "Bas-URL krävs.", "placeholder": "Ange bas-URL" }, "apiKey": { "label": "API-nyckel", "required": "API-nyckel krävs.", "placeholder": "Ange API-nyckel" }, "submit": "Spara", "update": "Uppdatera", "deleteConfirm": "Är du säker på att du vill radera denna leverantör?", "model": { "title": "Modellista", "subheading": "Vänligen välj chattmodellerna du vill använda med denna leverantör.", "success": "Nya modeller har lagts till framgångsrikt." }, "tipLMStudio": "Page Assist hämtar automatiskt modellerna du laddat i LM Studio. Ingen manuell tilläggning behövs." }, "addSuccess": "Leverantör tillagd framgångsrikt.", "deleteSuccess": "Leverantör raderad framgångsrikt.", "updateSuccess": "Leverantör uppdaterad framgångsrikt.", "delete": "Radera", "edit": "Redigera", "newModel": "Lägg till modeller till leverantör", "noNewModel": "För LMStudio hämtar vi dynamiskt. Ingen manuell tilläggning behövs.", "searchModel": "Sök modell", "selectAll": "Välj alla", "save": "Spara", "saving": "Sparar...", "manageModels": { "columns": { "name": "Modellnamn", "model_type": "Modelltyp", "model_id": "Modell-ID", "provider": "Leverantörsnamn", "actions": "Åtgärd", "nickname": "Modellnamn" }, "tooltip": { "delete": "Radera" }, "confirm": { "delete": "Är du säker på att du vill radera denna modell?" }, "modal": { "title": "Lägg till Custom-modell", "form": { "name": { "label": "Modell-ID", "placeholder": "llama3.2", "required": "Modell-ID krävs." }, "provider": { "label": "Leverantör", "placeholder": "Välj leverantör", "required": "Leverantör krävs." }, "type": { "label": "Modelltyp" } } } }, "noModelFound": "Ingen modell hittades. Se till att du har lagt till korrekt leverantör med bas-URL och API-nyckel.", "radio": { "chat": "Chattmodell", "embedding": "Inbäddningsmodell", "chatInfo": "används för chattkompletion och konversationsgenerering", "embeddingInfo": "används för RAG och andra semantiska sökrelaterade uppgifter." }, "nicknameModal": { "title": "Lägg till / Redigera modellnamn", "form": { "modelName": { "label": "Modellnamn", "placeholder": "Ange modellnamn", "required": "Modellnamn krävs." }, "modelAvatar": { "label": "Modellavatar", "placeholder": "Ange modellavatar", "help": "Ange URL:en för modellavataren. Denna bild kommer att visas i chattfönstret." } } } } ================================================ FILE: src/assets/locale/sv/option.json ================================================ { "newChat": "Ny chatt", "selectAPrompt": "Välj en fråga", "githubRepository": "GitHu repository", "settings": "Inställningar", "sidebarTitle": "Chatthistorik", "error": "Fel", "somethingWentWrong": "Något gick fel", "validationSelectModel": "Vänligen välj en modell för att fortsätta", "deleteHistoryConfirmation": "Är du säker på att du vill radera denna historik?", "editHistoryTitle": "Ange en ny titel", "temporaryChat": "Tillfällig chatt", "more": { "copy": { "group": "Kopiera", "asText": "Kopiera som text", "asMarkdown": "Kopiera som Markdown", "success": "Kopierat till urklipp!" }, "download": { "group": "Ladda ner", "text": "Textfil (.txt)", "markdown": "Markdown (.md)", "json": "JSON-fil (.json)" }, "share": "Dela" } } ================================================ FILE: src/assets/locale/sv/playground.json ================================================ { "ollamaState": { "searching": "Söker efter din Ollama 🦙", "running": "Ollama körs 🦙", "notRunning": "Kan inte ansluta till Ollama 🦙", "connectionError": "Det verkar som att du har ett anslutningsfel. Vänligen se denna dokumentation för felsökning." }, "formError": { "noModel": "Vänligen välj en modell", "noEmbeddingModel": "Vänligen ställ in en inbäddningsmodell på sidan Inställningar > RAG" }, "form": { "textarea": { "placeholder": "Skriv ett meddelande..." }, "webSearch": { "on": "På", "off": "Av" } }, "tooltip": { "searchInternet": "Sök på Internet", "speechToText": "Tal till text", "uploadImage": "Ladda upp bild", "stopStreaming": "Stoppa strömning", "knowledge": "Kunskap", "clearContext": "Rensa kontext" }, "sendWhenEnter": "Skicka när Enter trycks", "welcome": "Hej! Hur kan jag hjälpa dig idag?", "useOCR": "Extrahera text från bild (OCR)" } ================================================ FILE: src/assets/locale/sv/settings.json ================================================ { "generalSettings": { "title": "Allmänna Inställningar", "settings": { "heading": "Webbgränssnitt Inställningar", "speechRecognitionLang": { "label": "Taligenkänningsspråk", "placeholder": "Välj ett språk" }, "language": { "label": "Språk", "placeholder": "Välj ett språk" }, "darkMode": { "label": "Byt Tema", "options": { "light": "Ljust", "dark": "Mörkt" } }, "copilotResumeLastChat": { "label": "Återuppta den senaste chatten när du öppnar sidopanelen (Copilot)" }, "turnOnChatWithWebsite": { "label": "Aktivera Chatta med Webbplats som standard (Copilot)" }, "webUIResumeLastChat": { "label": "Återuppta den senaste chatten när du öppnar webbgränssnittet" }, "hideCurrentChatModelSettings": { "label": "Göm de nuvarande chattmodellinställningarna" }, "restoreLastChatModel": { "label": "Återställ den senast använda modellen för tidigare chatter" }, "sendNotificationAfterIndexing": { "label": "Skicka meddelande efter att ha avslutat bearbetning av kunskapsbasen" }, "generateTitle": { "label": "Generera titel med AI" }, "ollamaStatus": { "label": "Aktivera eller inaktivera Ollama anslutningsstatuskontroll" }, "wideMode": { "label": "Aktivera bredskärmsläge" }, "openReasoning": { "label": "Öppna resonemang kollapsat som standard" }, "userChatBubble": { "label": "Använd chattbubbla för användarmeddelanden" }, "autoCopyResponseToClipboard": { "label": "Kopiera svar automatiskt till urklipp" }, "useMarkdownForUserMessage": { "label": "Aktivera Markdown-formatering för användarmeddelanden" }, "copyAsFormattedText": { "label": "Kopiera som formaterad text" }, "tabMentionsEnabled": { "label": "Aktivera Flikbenämningar (@tab)" }, "pasteLargeTextAsFile": { "label": "Klistra in stor text som fil" }, "sidepanelTemporaryChat": { "label": "Aktivera Temporär Chatt i Sidopanelen som standard" } }, "sidepanelRag": { "heading": "Hämtningsinställningar", "ragEnabled": { "label": "Aktivera Inbäddning och Hämtning" }, "maxWebsiteContext": { "label": "Maximal Innehållsstorlek för Fullständigt Kontextläge", "placeholder": "Innehållsstorlek (standard 4028)" } }, "webSearch": { "heading": "Hantera Webb Sök", "searchMode": { "label": "Utför Enkel InternetSökning" }, "provider": { "label": "Sökmotor", "placeholder": "Välj en sökmotor" }, "totalSearchResults": { "label": "Totalt Sökresultat", "placeholder": "Ange Totalt Sökresultat" }, "visitSpecificWebsite": { "label": "Besök webbplatsen som nämns i meddelandet" }, "searxng": { "url": { "label": "SearXNG URL" } }, "braveApi": { "label": "Brave API-nyckel", "placeholder": "Ange din Brave API-nyckel" }, "searchOnByDefault": { "label": "Internetsökning PÅ som standard" } }, "system": { "heading": "Systeminställningar", "storageSyncEnabled": { "label": "Aktivera synkronisering av webbläsarlagring (synkronisera inställningar mellan enheter)" }, "deleteChatHistory": { "label": "Systemåterställning", "button": "Återställ Allt", "confirm": "Är du säker på att du vill utföra en systemåterställning? Detta kommer att radera all data och kan inte ångras." }, "export": { "label": "Exportera all data (chatthistorik, kunskapsbas, prompts och inställningar)", "button": "Exportera data", "success": "Export lyckades" }, "import": { "label": "Importera all data (chatthistorik, kunskapsbas, prompts och inställningar)", "button": "Importera data", "success": "Import lyckades", "error": "Importfel" } }, "tts": { "heading": "Text till Tal Inställningar", "ttsEnabled": { "label": "Aktivera Text till Tal" }, "ttsAutoPlay": { "label": "Spela upp röstsvaret automatiskt efter slutförande" }, "ttsProvider": { "label": "Text till Tal Leverantör", "placeholder": "Välj en leverantör" }, "ttsVoice": { "label": "Text till Tal Röst", "placeholder": "Välj en röst" }, "ssmlEnabled": { "label": "Aktivera SSML (Speech Synthesis Markup Language)" }, "removeReasoningTagTTS": { "label": "Ta bort resonemangstagg från Text till Tal" } }, "stt": { "heading": "Tal till Text Inställningar", "autoStopTimeout": { "label": "Automatiskt Stopptidsgräns (ms)", "placeholder": "Ange automatisk stopptidsgräns i millisekunder" }, "autoSubmitVoiceMessage": { "label": "Skicka Röstmeddelande Automatiskt" } } }, "manageModels": { "title": "Hantera Modeller", "addBtn": "Lägg till Ny Modell", "columns": { "name": "Namn", "digest": "Sammanfattning", "modifiedAt": "Modifierad Den", "size": "Storlek", "actions": "Åtgärder" }, "expandedColumns": { "parentModel": "Föräldramodell", "format": "Format", "family": "Familj", "parameterSize": "Parameterstorlek", "quantizationLevel": "Kvantifieringsnivå" }, "tooltip": { "delete": "Radera Modell", "repull": "Hämta Modell Igen" }, "confirm": { "delete": "Är du säker på att du vill radera denna modell?", "repull": "Är du säker på att du vill hämta modellen igen?" }, "modal": { "title": "Lägg till Ny Modell", "placeholder": "Ange Modellnamn", "pull": "Hämta Modell" }, "notification": { "pullModel": "Hämtar Modell", "pullModelDescription": "Hämtar {{modelName}} modell. För mer information, kontrollera ikonen för tillägget.", "success": "Lyckades", "error": "Fel", "successDescription": "Modellen hämtades framgångsrikt", "successDeleteDescription": "Modellen raderades framgångsrikt", "someError": "Något gick fel. Försök igen senare" } }, "managePrompts": { "title": "Hantera instruktioner", "addBtn": "Lägg till ny instruktion", "option1": "Normal", "option2": "RAG", "questionPrompt": "Frågeinstruktion", "segmented": { "custom": "Custom instruktion", "copilot": "Copilot instruktion" }, "columns": { "title": "Titel", "prompt": "instruktion", "type": "Instruktionstyp", "actions": "Åtgärder" }, "systemPrompt": "Systeminstruktion", "quickPrompt": "Snabb instruktion", "tooltip": { "delete": "Radera instruktion", "edit": "Redigera instruktion" }, "confirm": { "delete": "Är du säker på att du vill radera denna instruktion? Denna åtgärd kan inte ångras." }, "modal": { "addTitle": "Lägg till ny instruktion", "editTitle": "Redigera instruktion" }, "form": { "title": { "label": "Titel", "placeholder": "Min fantastiska instruktion", "required": "Vänligen ange en titel" }, "prompt": { "label": "Instruktion", "placeholder": "Ange instruktion", "required": "Vänligen ange en instruktion", "help": "Du kan använda {key} som variabel i din instruktion.", "missingTextPlaceholder": "Variabeln {text} saknas i instruktionen. Lägg till den." }, "isSystem": { "label": "Är Systeminstruktion" }, "btnSave": { "saving": "Lägger till instruktion...", "save": "Lägg till instruktion" }, "btnEdit": { "saving": "Uppdaterar instruktion...", "save": "Uppdatera instruktion" } }, "notification": { "addSuccess": "Instruktion Tillagd", "addSuccessDesc": "Instruktionen har lagts till framgångsrikt", "error": "Fel", "someError": "Något gick fel. Försök igen senare", "updatedSuccess": "Instruktion Uppdaterad", "updatedSuccessDesc": "Instruktionen har uppdaterats framgångsrikt", "deletedSuccess": "Instruktion Raderad", "deletedSuccessDesc": "Instruktionen har raderats framgångsrikt" } }, "manageShare": { "title": "Hantera Delningar", "heading": "Konfigurera Sidans Delnings-URL", "form": { "url": { "label": "Sidans Delnings-URL", "placeholder": "Ange Sidans Delnings-URL", "required": "Vänligen ange din Sidans Delnings-URL!", "help": "För integritetsskäl, kan du använda egen värd för sidans delning och ange URL här. Läs Mer." } }, "webshare": { "heading": "Webbdelning", "columns": { "title": "Titel", "url": "URL", "actions": "Åtgärder" }, "tooltip": { "delete": "Radera Delning" }, "confirm": { "delete": "Är du säker på att du vill radera denna delning? Denna åtgärd kan inte ångras." }, "label": "Hantera Sidans Delning", "description": "Aktivera eller inaktivera funktionen för sidans delning" }, "notification": { "pageShareSuccess": "Sidans Delnings-URL uppdaterad framgångsrikt", "someError": "Något gick fel. Försök igen senare", "webShareDeleteSuccess": "Webbdelning raderades framgångsrikt" } }, "ollamaSettings": { "title": "Ollamainställningar", "heading": "Konfigurera Ollama", "settings": { "ollamaUrl": { "label": "Ollama URL", "placeholder": "Ange Ollama URL" }, "globalEnable": { "label": "Aktivera eller inaktivera Ollama-integration globalt", "warning": "Genom att inaktivera Ollama-integration globalt kommer Page Assist inte att hämta modeller från Ollama. Du kan fortfarande lägga till Ollama-instans från OpenAI-kompatibel API-sektionen som kommer att fungera bra." }, "advanced": { "label": "Avancerad Ollama URL-konfiguration", "urlRewriteEnabled": { "label": "Aktivera eller inaktivera custom ursprungs-URL" }, "rewriteUrl": { "label": "Custom ursprungs-URL", "placeholder": "Ange Custom ursprungs-URL" }, "autoCORSFix": { "label": "Aktivera eller inaktivera automatisk Ollama CORS-korrigering" }, "headers": { "label": "Custom Headers", "add": "Lägg till Header", "key": { "label": "Headernyckel", "placeholder": "Auktorisering" }, "value": { "label": "Headervärde", "placeholder": "Bärare token" } }, "help": "Om du har anslutningsproblem med Ollama på Page Assist, kan du konfigurera en custom ursprungs-URL. För att veta mer om konfigurationen, klicka här." } } }, "manageSearch": { "title": "Hantera Webbsök", "heading": "Konfigurera Webbsök" }, "about": { "title": "Om", "heading": "Om", "chromeVersion": "Page Assist Version", "ollamaVersion": "Ollamaversion", "support": "Du kan stödja Page Assist-projektet genom att donera eller sponsra genom följande plattformar:", "koFi": "Stöd på Ko-fi", "githubSponsor": "Sponsra på GitHub", "githubRepo": "GitHub repository" }, "manageKnowledge": { "title": "Hantera kunskap", "heading": "Konfigurera kunskapsbas" }, "rag": { "title": "Pipeline-inställningar", "ragSettings": { "label": "RAG-inställningar", "model": { "label": "Inbäddningsmodell", "required": "Vänligen välj en modell", "help": "Det rekommenderas starkt att använda inbäddningsmodeller som 'nomic-embed-text'.", "placeholder": "Välj en modell" }, "chunkSize": { "label": "Chunkstorlek", "placeholder": "Ange chunkstorlek", "required": "Vänligen ange en chunkstorlek" }, "chunkOverlap": { "label": "Chunköverlapp", "placeholder": "Ange chunköverlapp", "required": "Vänligen ange en chunköverlapp" }, "totalFilePerKB": { "label": "Standardgräns för kunskapsbas filuppladdning", "placeholder": "Ange standardgräns för filuppladdning (t.ex. 10)", "required": "Vänligen ange standardgräns för filuppladdning" }, "noOfRetrievedDocs": { "label": "Antal hämtade dokument", "placeholder": "Ange antal hämtade dokument", "required": "Vänligen ange antal hämtade dokument" }, "splittingSeparator": { "label": "Separator", "placeholder": "Ange separator (t.ex. \\n\\n)", "required": "Vänligen ange en separator" }, "splittingStrategy": { "label": "Textdelare" } }, "prompt": { "label": "Konfigurera RAG-instruktion", "option1": "Normal", "option2": "Webb", "alert": "Att konfigurera systeminstruktionen här är föråldrat. Använd Hantera instruktioner-sektionen för att lägga till eller redigera instruktionar. Denna sektion kommer att tas bort i en framtida version", "systemPrompt": "Systeminstruktion", "systemPromptPlaceholder": "Ange systeminstruktion", "webSearchPrompt": "Webbsökinstruktion", "webSearchPromptHelp": "Ta inte bort '{search_results}' från instruktionen.", "webSearchPromptError": "Vänligen ange en instruktion för webbsökning", "webSearchPromptPlaceholder": "Ange instruktion för webbsök", "webSearchFollowUpPrompt": "Uppföljningsinstruktion för webbsök", "webSearchFollowUpPromptHelp": "Ta inte bort '{chat_history}' och '{question}' från instruktionen.", "webSearchFollowUpPromptError": "Vänligen ange din uppföljningsinstruktion för webbsök!", "webSearchFollowUpPromptPlaceholder": "Din uppföljningsinstruktion för webbsök" } }, "chromeAiSettings": { "title": "Chrome AI-inställningar" } } ================================================ FILE: src/assets/locale/sv/sidepanel.json ================================================ { "tooltip": { "embed": "Det kan ta några minuter att bädda in sidan. Vänta...", "clear": "Radera chatthistorik", "history": "Chatthistorik", "openwebui": "Öppna WebUI" } } ================================================ FILE: src/assets/locale/uk/chrome.json ================================================ { "heading": "Налаштування Chrome AI", "status": { "label": "Ввімкнути або вимкнути підтримку Chrome AI на Page Assist" }, "error": { "browser_not_supported": "Ця версія Chrome не підтримується моделлю Gemini Nano. Будь ласка, оновіть до версії 127 або новішої", "ai_not_supported": "Налаштування chrome://flags/#prompt-api-for-gemini-nano не увімкнено. Будь ласка, увімкніть його.", "ai_not_ready": "Модель Gemini Nano ще не готова; вам потрібно перевірити налаштування Chrome знову", "internal_error": "Стався внутрішній збій. Будь ласка, спробуйте пізніше." }, "errorDescription": "Щоб використовувати Chrome AI, вам потрібна версія Chrome 138 або новіша. Виконайте ці кроки:\n\n1. Перейдіть до `chrome://flags/#prompt-api-for-gemini-nano` та увімкніть \"Prompt API for Gemini Nano\".\n2. Перезапустіть Chrome, щоб застосувати прапорець.\n3. Поверніться на цю сторінку та натисніть \"Завантажити модель\" — це завантажить модель обсягом 4 ГБ вперше.\n4. Після завантаження Gemini Nano можна буде увімкнути за допомогою Page Assist.", "downloadModel": "Завантажити модель", "modelDownloadWarning": "Це призведе до завантаження моделі з приблизним розміром файлу від 1,5 ГБ до 2,4 ГБ. Переконайтеся, що у вас достатньо місця на диску." } ================================================ FILE: src/assets/locale/uk/common.json ================================================ { "pageAssist": "Допомога на сторінці", "selectAModel": "Виберіть модель", "save": "Зберегти", "saved": "Збережено", "cancel": "Скасувати", "retry": "Спробувати знову", "share": { "tooltip": { "share": "Поділитися" }, "modal": { "title": "Поділитися посиланням на чат" }, "form": { "defaultValue": { "name": "Анонімний", "title": "Неназваний чат" }, "title": { "label": "Назва чату", "placeholder": "Введіть назву чату", "required": "Назва чату обовʼязкова" }, "name": { "label": "Ваше імʼя", "placeholder": "Введіть ваше імʼя", "required": "Ваше імʼя обов'язкове" }, "btn": { "save": "Створити посилання", "saving": "Створення посилання..." } }, "notification": { "successGenerate": "Посилання скопійовано до буфера обміну", "failGenerate": "Не вдалося створити посилання" } }, "copyToClipboard": "Копіювати в буфер обміну", "webSearch": "Пошук у мережі", "regenerate": "Перегенерувати", "continue": "Продовжити відповідь", "edit": "Редагувати", "delete": "Видалити", "saveAndSubmit": "Зберегти та надіслати", "editMessage": { "placeholder": "Введіть повідомлення..." }, "submit": "Надіслати", "noData": "Немає даних", "noHistory": "Немає історії чату", "chatWithCurrentPage": "Чат з поточної сторінки", "beta": "Бета", "tts": "Читання вголос", "currentChatModelSettings": "Налаштування поточної моделі чату", "modelSettings": { "label": "Налаштування моделі", "description": "Встановіть глобальні параметри моделі для всіх чатів", "form": { "keepAlive": { "label": "Тривалість збереження в памʼяті", "help": "вказує, як довго модель залишатиметься завантаженою у памʼять після запиту (за замовчуванням: 5 хв)", "placeholder": "Введіть тривалість збереження у памʼяті (наприклад, 5m, 10m, 1h)" }, "temperature": { "label": "Температура", "placeholder": "Введіть значення температури (наприклад, 0.7, 1.0)" }, "numCtx": { "label": "Розмір контекстного вікна (num_ctx)", "placeholder": "Введіть значення розміру контекстного вікна (за замовчуванням: 2048)" }, "numPredict": { "label": "Максимальна кількість токенів", "placeholder": "Введіть максимальну кількість токенів (наприклад, 2048, 4096)" }, "seed": { "label": "Зерно", "placeholder": "Введіть значення зерна (наприклад, 1234)", "help": "Повторюваність виводу моделі" }, "topK": { "label": "Top K", "placeholder": "Введіть значення для Верхніх K (наприклад, 40, 100)" }, "topP": { "label": "Top P", "placeholder": "Введіть значення для Верхнього P (наприклад, 0.9, 0.95)" }, "numGpu": { "label": "Кількість GPU", "placeholder": "Введіть кількість шарів для відправки на GPU" }, "systemPrompt": { "label": "Тимчасовий системний запит", "placeholder": "Введіть системний запит", "help": "Швидкий спосіб встановити системний запит для поточного чату, який замінить вибраний системний запит, якщо він існує." } }, "advanced": "Додаткові налаштування моделі" }, "copilot": { "summary": "Підсумувати", "explain": "Пояснити", "rephrase": "Перефразувати", "translate": "Перекласти", "custom": "Власне" }, "citations": "Цитати", "segmented": { "ollama": "Моделі Ollama", "custom": "Власні моделі" }, "downloadCode": "Завантажити код", "date": { "pinned": "Прикріплено", "today": "Сьогодні", "yesterday": "Вчора", "last7Days": "Останні 7 днів", "older": "Старіше" }, "range": { "deleteConfirm": { "pinned": "Ви впевнені, що хочете видалити всі прикріплені повідомлення?", "today": "Ви впевнені, що хочете видалити всі повідомлення за сьогодні?", "yesterday": "Ви впевнені, що хочете видалити всі повідомлення за вчора?", "last7Days": "Ви впевнені, що хочете видалити всі повідомлення за останні 7 днів?", "older": "Ви впевнені, що хочете видалити всі старіші повідомлення?" }, "tooltip": { "pinned": "Видалити всі прикріплені повідомлення", "today": "Видалити всі повідомлення за сьогодні", "yesterday": "Видалити всі повідомлення за вчора", "last7Days": "Видалити всі повідомлення за останні 7 днів", "older": "Видалити всі старіші повідомлення" } }, "pin": "Прикріпити", "unpin": "Відкріпити", "generationInfo": "Інформація про генерацію", "sidebarChat": "Бічний чат", "reasoning": { "thinking": "Думаю....", "thought": "Думав протягом {{time}}" }, "embeddingGen": "Створюю вставки, це може зайняти деякий час", "semanticSearch": "Виконую семантичний пошук", "downloading": "Завантаження", "cancelPullingModel": { "confirm": "Ви впевнені, що хочете скасувати завантаження? Це зупинить процес завантаження. Згідно з документацією Ollama, ви можете відновити завантаження з того місця, де зупинилися." } } ================================================ FILE: src/assets/locale/uk/knowledge.json ================================================ { "addBtn": "Додати нове знання", "columns": { "title": "Назва", "status": "Статус", "embeddings": "Модель вкладень", "createdAt": "Створено в", "action": "Дії" }, "expandedColumns": { "name": "Імʼя" }, "confirm": { "delete": "Ви впевнені, що хочете видалити це знання?" }, "deleteSuccess": "Знання успішно видалено", "status": { "pending": "Очікування", "finished": "Завершено", "processing": "Обробка", "failed": "Не вдалося" }, "addKnowledge": "Додати знання", "updateKnowledge": "Оновити знання", "form": { "title": { "label": "Назва знань", "placeholder": "Введіть назву знань", "required": "Назва знань обовʼязкова" }, "uploadFile": { "label": "Завантажити файл", "uploadText": "Перетягніть файл сюди або натисніть для завантаження", "uploadHint": "Підтримуються типи файлів: .pdf, .csv, .txt, .md, .docx", "required": "Файл обовʼязковий" }, "submit": "Надіслати", "success": "Знання успішно додано" }, "noEmbeddingModel": "Будь ласка, додайте модель вкладень з сторінки налаштувань RAG спочатку" } ================================================ FILE: src/assets/locale/uk/openai.json ================================================ { "settings": "Сумісний з OpenAI API", "heading": "Сумісний з OpenAI API", "subheading": "Тут керування та налаштування ваших постачальників OpenAI API.", "addBtn": "Додати постачальника", "table": { "name": "Назва постачальника", "baseUrl": "Базовий URL", "actions": "Дії" }, "modal": { "titleAdd": "Додати нового постачальника", "name": { "label": "Назва постачальника", "required": "Назва постачальника обовʼязкова.", "placeholder": "Введіть назву постачальника" }, "baseUrl": { "label": "Базовий URL", "help": "Базовий URL постачальника OpenAI API. Наприклад, (http://localhost:1234/v1)", "required": "Базовий URL обовʼязковий.", "placeholder": "Введіть базовий URL" }, "apiKey": { "label": "Ключ API", "required": "Ключ API обовʼязковий.", "placeholder": "Введіть ключ API" }, "submit": "Зберегти", "update": "Оновити", "deleteConfirm": "Ви впевнені, що хочете видалити цього постачальника?", "model": { "title": "Список моделей", "subheading": "Виберіть чат-моделі, які ви хочете використовувати з цим постачальником.", "success": "Моделі успішно додано." }, "tipLMStudio": "Page Assist автоматично отримає моделі, завантажені в LM Studio. Вам не потрібно додавати їх вручну." }, "addSuccess": "Постачальника додано успішно.", "deleteSuccess": "Постачальника видалено успішно.", "updateSuccess": "Постачальника оновлено успішно.", "delete": "Видалити", "edit": "Редагувати", "newModel": "Додати моделі до постачальника", "noNewModel": "Для LMStudio, Ollama, Llamafile ми отримуємо моделі динамічно. Ручного додавання не потрібно.", "searchModel": "Пошук моделі", "selectAll": "Вибрати все", "save": "Зберегти", "saving": "Збереження...", "manageModels": { "columns": { "name": "Назва моделі", "model_type": "Тип моделі", "model_id": "Ідентифікатор моделі", "provider": "Назва постачальника", "actions": "Дії", "nickname": "Псевдонім моделі" }, "tooltip": { "delete": "Видалити" }, "confirm": { "delete": "Ви впевнені, що хочете видалити цю модель?" }, "modal": { "title": "Додати власну модель", "form": { "name": { "label": "Ідентифікатор моделі", "placeholder": "llama3.2", "required": "Ідентифікатор моделі обовʼязковий." }, "provider": { "label": "Постачальник", "placeholder": "Виберіть постачальника", "required": "Постачальник обовʼязковий." }, "type": { "label": "Тип моделі" } } } }, "noModelFound": "Не знайдено моделей. Переконайтеся, що ви додали правильного постачальника з базовим URL та ключем API.", "radio": { "chat": "Модель чату", "embedding": "Модель вкладень", "chatInfo": "використовується для завершення чату та генерації розмови", "embeddingInfo": "використовується для RAG та інших повʼязаних завдань семантичного пошуку." }, "nicknameModal": { "title": "Додати / Редагувати псевдонім моделі", "form": { "modelName": { "label": "Назва моделі", "placeholder": "Введіть назву моделі", "required": "Назва моделі обов'язкова." }, "modelAvatar": { "label": "Аватар моделі", "placeholder": "Введіть аватар моделі", "help": "Будь ласка, введіть URL аватара моделі. Це зображення буде відображатися у вікні чату." } } } } ================================================ FILE: src/assets/locale/uk/option.json ================================================ { "newChat": "Новий чат", "selectAPrompt": "Виберіть запит", "githubRepository": "Репозиторій GitHub", "settings": "Налаштування", "sidebarTitle": "Історія чату", "error": "Збій", "somethingWentWrong": "Щось пішло не так", "validationSelectModel": "Будь ласка, виберіть модель для продовження", "deleteHistoryConfirmation": "Ви впевнені, що хочете видалити цю історію?", "editHistoryTitle": "Введіть нову назву", "temporaryChat": "Тимчасовий чат", "more": { "copy": { "group": "Копіювати", "asText": "Копіювати як текст", "asMarkdown": "Копіювати як Markdown", "success": "Скопійовано в буфер обміну!" }, "download": { "group": "Завантажити", "text": "Текстовий файл (.txt)", "markdown": "Markdown (.md)", "json": "JSON файл (.json)" }, "share": "Поділитися" } } ================================================ FILE: src/assets/locale/uk/playground.json ================================================ { "ollamaState": { "searching": "Пошук вашого Ollama 🦙", "running": "Ollama працює 🦙", "notRunning": "Неможливо підключитися до Ollama 🦙", "connectionError": "Здається, у вас виникла проблема з підключенням. Будь ласка, зверніться до цієї документації для усунення несправностей." }, "formError": { "noModel": "Виберіть модель", "noEmbeddingModel": "Налаштуйте модель вкладень на сторінці Налаштування > RAG" }, "form": { "textarea": { "placeholder": "Введіть повідомлення..." }, "webSearch": { "on": "Увімкнено", "off": "Вимкнено" } }, "tooltip": { "searchInternet": "Пошук в Інтернеті", "speechToText": "Голос у текст", "uploadImage": "Завантажити зображення", "stopStreaming": "Зупинити трансляцію", "knowledge": "Знання", "clearContext": "Очистити контекст" }, "sendWhenEnter": "Надсилати при натисканні Enter", "welcome": "Вітаю! Як я можу допомогти вам сьогодні?", "useOCR": "Витягти текст із зображення (OCR)" } ================================================ FILE: src/assets/locale/uk/settings.json ================================================ { "generalSettings": { "title": "Загальні налаштування", "settings": { "heading": "Налаштування веб-інтерфейсу", "speechRecognitionLang": { "label": "Мова для розпізнавання голосу", "placeholder": "Виберіть мову" }, "language": { "label": "Мова інтерфейсу", "placeholder": "Виберіть мову" }, "darkMode": { "label": "Змінити тему", "options": { "light": "Світла", "dark": "Темна" } }, "copilotResumeLastChat": { "label": "Поновити останню розмову при відкритті бічної панелі (Copilot)" }, "turnOnChatWithWebsite": { "label": "Увімкнути чат з веб-сайтом за замовчуванням (Copilot)" }, "webUIResumeLastChat": { "label": "Поновити останню розмову при відкритті веб-інтерфейсу" }, "hideCurrentChatModelSettings": { "label": "Приховати налаштування поточної моделі чату" }, "restoreLastChatModel": { "label": "Відновити останню використану модель для попередніх чатів" }, "sendNotificationAfterIndexing": { "label": "Надсилати сповіщення після завершення обробки бази знань" }, "generateTitle": { "label": "Створювати заголовок за допомогою AI" }, "ollamaStatus": { "label": "Увімкнути або вимкнути перевірку стану з'єднання Ollama" }, "wideMode": { "label": "Увімкнути широкоекранний режим" }, "openReasoning": { "label": "Розгорнути міркування за замовчуванням" }, "userChatBubble": { "label": "Використовувати бульбашку чату для повідомлень користувача" }, "autoCopyResponseToClipboard": { "label": "Автоматично копіювати відповідь до буфера обміну" }, "useMarkdownForUserMessage": { "label": "Увімкнути форматування Markdown для повідомлень користувача" }, "copyAsFormattedText": { "label": "Копіювати як форматований текст" }, "tabMentionsEnabled": { "label": "Увімкнути згадування вкладок (@tab)" }, "pasteLargeTextAsFile": { "label": "Вставити великий текст як файл" }, "sidepanelTemporaryChat": { "label": "Увімкнути тимчасовий чат у бічній панелі за замовчуванням" } }, "sidepanelRag": { "heading": "Налаштування пошуку", "ragEnabled": { "label": "Увімкнути вбудовування та пошук" }, "maxWebsiteContext": { "label": "Максимальний розмір вмісту для режиму повного контексту", "placeholder": "Розмір вмісту (за замовчуванням 4028)" } }, "webSearch": { "heading": "Управління веб-пошуком", "searchMode": { "label": "Виконувати простий пошук в Інтернеті" }, "provider": { "label": "Пошукова система", "placeholder": "Виберіть пошукову систему" }, "totalSearchResults": { "label": "Загальна кількість результатів пошуку", "placeholder": "Введіть загальну кількість результатів пошуку" }, "visitSpecificWebsite": { "label": "Відвідати веб-сайт, згаданий у повідомленні" }, "searxng": { "url": { "label": "SearXNG URL-адреса" } }, "braveApi": { "label": "Ключ API Brave", "placeholder": "Введіть ваш ключ API Brave" }, "searchOnByDefault": { "label": "Пошук в Інтернеті увімкнено за замовчуванням" } }, "system": { "heading": "Системні налаштування", "storageSyncEnabled": { "label": "Увімкнути синхронізацію сховища браузера (синхронізувати налаштування між пристроями)" }, "deleteChatHistory": { "label": "Скидання системи", "button": "Скинути все", "confirm": "Ви впевнені, що хочете виконати скидання системи? Це призведе до видалення всіх даних, і цю дію неможливо буде скасувати." }, "export": { "label": "Експортувати всі дані (історію чату, базу знань, підказки та налаштування)", "button": "Експортувати дані", "success": "Експорт успішний" }, "import": { "label": "Імпортувати всі дані (історію чату, базу знань, підказки та налаштування)", "button": "Імпортувати дані", "success": "Імпорт успішний", "error": "Помилка імпорту" } }, "tts": { "heading": "Налаштування Текст-у-Голос", "ttsEnabled": { "label": "Увімкнути Текст-у-Голос" }, "ttsAutoPlay": { "label": "Автоматично відтворювати голосову відповідь після завершення" }, "ttsProvider": { "label": "Поставник Текст-у-Голос", "placeholder": "Виберіть постачальника" }, "ttsVoice": { "label": "Голос Текст-у-Голос", "placeholder": "Виберіть голос" }, "ssmlEnabled": { "label": "Ввімкнути SSML (Мова Розмітки для Синтезу Голосу)" }, "removeReasoningTagTTS": { "label": "Видалити тег міркування з TTS" } }, "stt": { "heading": "Налаштування Голос-у-Текст", "autoStopTimeout": { "label": "Час автоматичної зупинки (мс)", "placeholder": "Введіть час автоматичної зупинки в мілісекундах" }, "autoSubmitVoiceMessage": { "label": "Автоматичне надсилання голосового повідомлення" } } }, "manageModels": { "title": "Управління моделями", "addBtn": "Додати нову модель", "columns": { "name": "Назва", "digest": "Хеш", "modifiedAt": "Оновлено", "size": "Розмір", "actions": "Дії" }, "expandedColumns": { "parentModel": "Батьківська модель", "format": "Формат", "family": "Сімʼя", "parameterSize": "Розмір параметрів", "quantizationLevel": "Рівень квантування" }, "tooltip": { "delete": "Видалити модель", "repull": "Повторно завантажити модель" }, "confirm": { "delete": "Ви впевнені, що хочете видалити цю модель?", "repull": "Ви впевнені, що хочете повторно завантажити цю модель?" }, "modal": { "title": "Додати нову модель", "placeholder": "Введіть назву моделі", "pull": "Завантажити модель" }, "notification": { "pullModel": "Завантаження моделі", "pullModelDescription": "Завантажується модель {{modelName}}. Для отримання додаткової інформації перевірте іконку розширення.", "success": "Успіх", "error": "Помилка", "successDescription": "Модель успішно завантажена", "successDeleteDescription": "Модель успішно видалена", "someError": "Щось пішло не так. Будь ласка, спробуйте пізніше." } }, "managePrompts": { "title": "Управління запитами", "addBtn": "Додати новий запит", "option1": "Нормальний", "option2": "RAG", "questionPrompt": "Питання-запит", "segmented": { "custom": "Власні запити", "copilot": "Запити Copilot" }, "columns": { "title": "Назва", "prompt": "Запит", "type": "Тип запиту", "actions": "Дії" }, "systemPrompt": "Системний запит", "quickPrompt": "Швидкий запит", "tooltip": { "delete": "Видалити запит", "edit": "Редагувати запит" }, "confirm": { "delete": "Ви впевнені, що хочете видалити цей запит? Його не вдасться відновити." }, "modal": { "addTitle": "Додати новий запит", "editTitle": "Редагувати запит" }, "form": { "title": { "label": "Назва", "placeholder": "Мій чудовий запит", "required": "Будь ласка, введіть назву" }, "prompt": { "label": "Запит", "placeholder": "Введіть запит", "required": "Будь ласка, введіть запит", "help": "Ви можете використовувати {key} як змінну у вашому запиті.", "missingTextPlaceholder": "Змінна {text} відсутня в запиті. Додайте її, будь ласка." }, "isSystem": { "label": "Це системний запит" }, "btnSave": { "saving": "Додавання запиту...", "save": "Додати запит" }, "btnEdit": { "saving": "Оновлення запиту...", "save": "Оновити запит" } }, "notification": { "addSuccess": "Запит додано", "addSuccessDesc": "Запит успішно додано", "error": "Збій", "someError": "Щось пішло не так. Спробуйте знову пізніше", "updatedSuccess": "Запит оновлено", "updatedSuccessDesc": "Запит успішно оновлено", "deletedSuccess": "Запит видалено", "deletedSuccessDesc": "Запит успішно видалено" } }, "manageShare": { "title": "Управління спільним доступом", "heading": "Налаштування URL спільного доступу до сторінки", "form": { "url": { "label": "URL спільного доступу до сторінки", "placeholder": "Введіть URL спільного доступу до сторінки", "required": "Будь ласка, введіть ваш URL спільного доступу!", "help": "З міркувань конфіденційності, ви можете самостійно обробляти спільний доступ до сторінки через цей URL. Дізнатися більше." } }, "webshare": { "heading": "Спільний доступ через веб", "columns": { "title": "Назва", "url": "URL", "actions": "Дії" }, "tooltip": { "delete": "Видалити спільний доступ" }, "confirm": { "delete": "Ви впевнені, що хочете видалити цей спільний доступ? Його не вдасться відновити." }, "label": "Управління спільним доступом до сторінки", "description": "Включіть або вимкніть функцію спільного доступу до сторінки" }, "notification": { "pageShareSuccess": "URL спільного доступу до сторінки оновлено успішно", "someError": "Щось пішло не так. Будь ласка, спробуйте пізніше", "webShareDeleteSuccess": "Спільний доступ видалено успішно" } }, "ollamaSettings": { "title": "Налаштування Ollama", "heading": "Налаштуйте Ollama", "settings": { "ollamaUrl": { "label": "URL до Ollama", "placeholder": "Введіть URL до Ollama" }, "globalEnable": { "label": "Увімкнути або вимкнути інтеграцію Ollama глобально", "warning": "При вимкненні глобальної інтеграції Ollama, Page Assist не буде отримувати моделі з Ollama. Ви все ще можете додати екземпляр Ollama з розділу API, сумісного з OpenAI, який працюватиме нормально." }, "advanced": { "label": "Розширене налаштування URL Ollama", "urlRewriteEnabled": { "label": "Увімкнути або вимкнути налаштування власного URL походження запиту" }, "rewriteUrl": { "label": "Власний URL походження запиту", "placeholder": "Введіть власний URL походження" }, "autoCORSFix": { "label": "Увімкнути або вимкнути автоматичне виправлення CORS для Ollama" }, "headers": { "label": "Власні заголовки", "add": "Додати заголовок", "key": { "label": "Ключ заголовка", "placeholder": "Authorization" }, "value": { "label": "Значення заголовка", "placeholder": "Bearer token" } }, "help": "Якщо у вас виникають проблеми з підключенням до Ollama на Page Assist, ви можете налаштувати власний URL походження запиту. Щоб дізнатися більше про це налаштування, натисніть тут." } } }, "manageSearch": { "title": "Управління пошуком в Інтернеті", "heading": "Налаштуйте пошук в Інтернеті" }, "about": { "title": "Про додаток", "heading": "Інформація про цей додаток", "chromeVersion": "Версія Page Assist", "ollamaVersion": "Версія Ollama", "support": "Ви можете підтримати проект Page Assist, зробивши пожертву або ставши спонсором через наступні платформи:", "koFi": "Підтримка на Ko-fi", "githubSponsor": "Стати спонсором на GitHub", "githubRepo": "Репозиторій GitHub" }, "manageKnowledge": { "title": "Управління знаннями", "heading": "Налаштування бази знань" }, "rag": { "title": "Налаштування Pipeline", "ragSettings": { "label": "Налаштування RAG", "model": { "label": "Модель вбудованих даних", "required": "Будь ласка, виберіть модель", "help": "Рекомендується використовувати моделі вбудованих даних, такі як `nomic-embed-text`.", "placeholder": "Вибрати модель" }, "chunkSize": { "label": "Розмір шматка", "placeholder": "Ввести розмір шматка", "required": "Будь ласка, введіть розмір шматка" }, "chunkOverlap": { "label": "Перекриття шматків", "placeholder": "Ввести перекриття шматків", "required": "Будь ласка, введіть перекриття шматків" }, "totalFilePerKB": { "label": "Типовий ліміт кількості завантажень файлів до бази знань", "placeholder": "Введіть типовий ліміт (напр. 10)", "required": "Будь ласка, введіть типовий ліміт кількості файлів для завантаження" }, "noOfRetrievedDocs": { "label": "Кількість отриманих документів", "placeholder": "Ввести кількість отриманих документів", "required": "Будь ласка, введіть кількість документів" }, "splittingSeparator": { "label": "Роздільник", "placeholder": "Введіть роздільник (напр., \\n\\n)", "required": "Будь ласка, введіть роздільник" }, "splittingStrategy": { "label": "Розділювач тексту" } }, "prompt": { "label": "Налаштування запиту з RAG", "option1": "Нормальний", "option2": "З Веб-пошуком", "alert": "Налаштування системного запиту тут застаріло. Використовуйте розділ «Управління запитами», щоб додавати або редагувати запити. Цей розділ буде видалено в майбутньому оновленні", "systemPrompt": "Системний запит", "systemPromptPlaceholder": "Ввести системний запит", "webSearchPrompt": "Запит веб-пошуку", "webSearchPromptHelp": "Не видаляйте `{search_results}` із запиту.", "webSearchPromptError": "Будь ласка, введіть запит для веб-пошуку", "webSearchPromptPlaceholder": "Ввести запит для веб-пошуку", "webSearchFollowUpPrompt": "Запит для подальшого пошуку в мережі", "webSearchFollowUpPromptHelp": "Не видаляйте `{chat_history}` і `{question}` із запиту.", "webSearchFollowUpPromptError": "Будь ласка, введіть запит для подальшого пошуку в мережі!", "webSearchFollowUpPromptPlaceholder": "Ваш запит для подальшого пошуку в мережі" } }, "chromeAiSettings": { "title": "Налаштування Chrome AI" } } ================================================ FILE: src/assets/locale/uk/sidepanel.json ================================================ { "tooltip": { "embed": "Може знадобитися кілька хвилин для вкладення сторінки у базу. Будь ласка, зачекайте...", "clear": "Стерти історію чату", "history": "Історія чату", "openwebui": "Відкрити веб-інтерфейс" } } ================================================ FILE: src/assets/locale/zh/chrome.json ================================================ { "heading": "配置Chrome人工智能", "status": { "label": "在页面辅助功能中启用或禁用Chrome人工智能支持" }, "error": { "browser_not_supported": "此版本的Chrome不受Gemini Nano模型支持。请更新到127版本或更高版本", "ai_not_supported": "设置chrome://flags/#prompt-api-for-gemini-nano未启用。请启用它。", "ai_not_ready": "Gemini Nano尚未准备就绪;您需要再次检查Chrome设置。", "internal_error": "发生内部错误。请稍后重试。" }, "errorDescription": "要使用Chrome人工智能,您需要Chrome138或更高版本。请按照以下步骤操作:\n\n1. 前往`chrome://flags/#prompt-api-for-gemini-nano`并启用\"Gemini Nano的提示API\"。\n2. 重启Chrome以应用该标志。\n3. 返回此页面并单击\"下载模型\" - 这将首次下载4GB的模型。\n4. 下载完成后,可以通过页面辅助功能启用Gemini Nano。", "downloadModel": "下载模型", "modelDownloadWarning": "这将下载一个模型,下载大小约为1.5 GB到2.4 GB。请确保您有足够的磁盘空间。" } ================================================ FILE: src/assets/locale/zh/common.json ================================================ { "pageAssist": "Page Assist", "selectAModel": "选择一个模型", "save": "保存", "saved": "已保存", "cancel": "取消", "retry": "重试", "share": { "tooltip": { "share": "分享" }, "modal": { "title": "为聊天创建分享链接" }, "form": { "defaultValue": { "name": "匿名", "title": "未命名聊天" }, "title": { "label": "聊天标题", "placeholder": "输入聊天标题", "required": "聊天标题是必填的" }, "name": { "label": "您的名字", "placeholder": "输入您的名字", "required": "您的名字是必填的" }, "btn": { "save": "生成链接", "saving": "正在生成链接..." } }, "notification": { "successGenerate": "链接已复制到剪贴板", "failGenerate": "生成链接失败" } }, "copyToClipboard": "复制到剪贴板", "webSearch": "搜索网络", "regenerate": "重新生成", "continue": "继续回答", "edit": "编辑", "delete": "删除", "saveAndSubmit": "保存 & 提交", "editMessage": { "placeholder": "输入一条消息..." }, "submit": "提交", "noData": "无数据", "noHistory": "无聊天记录", "chatWithCurrentPage": "与当前页面聊天", "beta": "Beta", "tts": "朗读", "currentChatModelSettings": "当前聊天模型设置", "modelSettings": { "label": "模型设置", "description": "全局设置所有聊天的模型选项", "form": { "keepAlive": { "label": "保留时间", "help": "控制请求后模型在内存中保持的时间(默认:5分钟)", "placeholder": "输入保留时间(例如:5分、10分、1小时)" }, "temperature": { "label": "温度", "placeholder": "输入温度值(例如:0.7、1.0)" }, "numCtx": { "label": "上下文窗口大小 (num_ctx)", "placeholder": "输入上下文窗口大小(默认:2048)" }, "numPredict": { "label": "最大令牌数 (num_predict)", "placeholder": "输入最大令牌数(例如:2048、4096)" }, "seed": { "label": "随机种子", "placeholder": "输入随机种子值(例如:1234)", "help": "模型输出的可重复性" }, "topK": { "label": "Top K", "placeholder": "输入Top K值(例如:40、100)" }, "topP": { "label": "Top P", "placeholder": "输入Top P值(例如:0.9、0.95)" }, "useMMap": { "label": "使用 mmap" }, "tfsZ": { "label": "TFS-Z", "placeholder": "例如:1.0, 1.1" }, "numKeep": { "label": "Num Keep", "placeholder": "例如:256, 512" }, "numThread": { "label": "Num Thread", "placeholder": "例如:8, 16" }, "useMlock": { "label": "使用 mlock" }, "minP": { "label": "Min P", "placeholder": "例如:0.05" }, "repeatPenalty": { "label": "Repeat Penalty", "placeholder": "例如:1.1, 1.2" }, "repeatLastN": { "label": "Repeat Last N", "placeholder": "例如:64, 128" }, "numGpu": { "label": "Num GPU", "placeholder": "输入要发送到 GPU 的层数" }, "systemPrompt": { "label": "临时系统提示", "placeholder": "输入系统提示", "help": "这是一种在当前聊天中快速设置系统提示的方法,如果存在已选择的系统提示,它将覆盖该提示。" } }, "advanced": "更多模型设置" }, "copilot": { "summary": "总结", "explain": "解释", "rephrase": "重述", "translate": "翻译", "custom": "自定义" }, "citations": "引用", "segmented": { "ollama": "Ollama 模型", "custom": "自定义模型" }, "downloadCode": "下载代码", "date": { "pinned": "已置顶", "today": "今天", "yesterday": "昨天", "last7Days": "最近7天", "older": "更早" }, "range": { "deleteConfirm": { "pinned": "确定要删除所有置顶的消息吗?", "today": "确定要删除今天的所有消息吗?", "yesterday": "确定要删除昨天的所有消息吗?", "last7Days": "确定要删除最近7天的所有消息吗?", "older": "确定要删除所有更早的消息吗?" }, "tooltip": { "pinned": "删除所有置顶消息", "today": "删除今天的所有消息", "yesterday": "删除昨天的所有消息", "last7Days": "删除最近7天的所有消息", "older": "删除所有更早的消息" } }, "pin": "置顶", "unpin": "取消置顶", "generationInfo": "生成信息", "sidebarChat": "侧边栏聊天", "reasoning": { "thinking": "思考中....", "thought": "思考了 {{time}}" }, "mermaid": "Mermaid", "embeddingGen": "正在创建嵌入向量,这可能需要一些时间", "semanticSearch": "正在执行语义搜索", "downloading": "正在下载", "cancelPullingModel": { "confirm": "确定要取消下载吗?这将停止下载过程。根据 Ollama 文档,您可以从中断处重新开始下载。" } } ================================================ FILE: src/assets/locale/zh/knowledge.json ================================================ { "addBtn": "添加新知识", "columns": { "title": "标题", "status": "状态", "embeddings": "嵌入模型", "createdAt": "创建于", "action": "操作" }, "expandedColumns": { "name": "名称" }, "confirm": { "delete": "您确定要删除此知识吗?" }, "deleteSuccess": "知识删除成功", "status": { "pending": "待定", "finished": "已完成", "processing": "处理中", "failed": "失败" }, "addKnowledge": "添加知识", "updateKnowledge": "更新知识", "form": { "title": { "label": "知识标题", "placeholder": "输入知识标题", "required": "知识标题是必需的" }, "uploadFile": { "label": "上传文件", "uploadText": "将文件拖放到此处或点击上传", "uploadHint": "支持的文件类型: .pdf, .csv, .txt, .md", "required": "文件是必需的" }, "submit": "提交", "success": "知识添加成功" }, "noEmbeddingModel": "请先从RAG设置页面添加一个嵌入模型" } ================================================ FILE: src/assets/locale/zh/openai.json ================================================ { "settings": "OpenAI 兼容 API", "heading": "OpenAI 兼容 API", "subheading": "在此管理和配置您的 OpenAI API 兼容提供商。", "addBtn": "添加提供商", "table": { "name": "提供商名称", "baseUrl": "基础 URL", "actions": "操作" }, "modal": { "titleAdd": "添加新提供商", "titleEdit": "编辑提供商", "name": { "label": "提供商名称", "required": "提供商名称为必填项。", "placeholder": "输入提供商名称" }, "baseUrl": { "label": "基础 URL", "help": "OpenAI API 提供商的基础 URL。例如 (http://localhost:1234/v1)", "required": "基础 URL 为必填项。", "placeholder": "输入基础 URL" }, "apiKey": { "label": "API 密钥", "required": "API 密钥为必填项。", "placeholder": "输入 API 密钥" }, "submit": "保存", "update": "更新", "deleteConfirm": "您确定要删除此提供商吗?", "model": { "title": "模型列表", "subheading": "请选择您想要与此提供商一起使用的聊天模型。", "success": "成功添加新模型。" }, "tipLMStudio": "Page Assist 将自动获取您在 LM Studio 中加载的模型。您无需手动添加它们。" }, "addSuccess": "提供商添加成功。", "deleteSuccess": "提供商删除成功。", "updateSuccess": "提供商更新成功。", "delete": "删除", "edit": "编辑", "newModel": "向提供商添加模型", "noNewModel": "对于 LMStudio, Ollama, Llamafile,我们动态获取。无需手动添加。", "searchModel": "搜索模型", "selectAll": "全选", "save": "保存", "saving": "保存中...", "manageModels": { "columns": { "name": "模型名称", "model_type": "模型类型", "model_id": "模型 ID", "provider": "提供商名称", "actions": "操作", "nickname": "模型昵称" }, "tooltip": { "delete": "删除" }, "confirm": { "delete": "您确定要删除此模型吗?" }, "modal": { "title": "添加自定义模型", "titleEdit": "编辑自定义模型", "form": { "name": { "label": "模型 ID", "placeholder": "llama3.2", "required": "模型 ID 为必填项。" }, "provider": { "label": "提供商", "placeholder": "选择提供商", "required": "提供商为必填项。" }, "type": { "label": "模型类型" } } } }, "noModelFound": "未找到模型。请确保您已添加正确的提供商,包括基础 URL 和 API 密钥。", "radio": { "chat": "聊天模型", "embedding": "嵌入模型", "chatInfo": "用于聊天补全和对话生成", "embeddingInfo": "用于 RAG 和其他语义搜索相关任务。" }, "nicknameModal": { "title": "添加/编辑模型昵称", "form": { "modelName": { "label": "模型名称", "placeholder": "请输入模型名称", "required": "模型名称为必填项。" }, "modelAvatar": { "label": "模型头像", "placeholder": "请输入模型头像", "help": "请输入模型头像的URL地址。此图像将显示在聊天窗口中。" } } } } ================================================ FILE: src/assets/locale/zh/option.json ================================================ { "newChat": "新聊天", "selectAPrompt": "选择一个提示词", "githubRepository": "GitHub 仓库", "settings": "设置", "sidebarTitle": "聊天历史", "error": "错误", "somethingWentWrong": "出现了错误", "validationSelectModel": "请选择一个模型以继续", "deleteHistoryConfirmation": "你确定要删除这个历史记录吗?", "editHistoryTitle": "输入一个新的标题", "temporaryChat": "临时聊天", "more": { "copy": { "group": "复制", "asText": "复制为文本", "asMarkdown": "复制为 Markdown", "success": "已复制到剪贴板!" }, "download": { "group": "下载", "text": "文本文件 (.txt)", "markdown": "Markdown 文件 (.md)", "json": "JSON 文件 (.json)", "image": "图片 (.png)" }, "share": "分享" } } ================================================ FILE: src/assets/locale/zh/playground.json ================================================ { "ollamaState": { "searching": "正在搜索您的Ollama 🦙", "running": "Ollama正在运行 🦙", "notRunning": "无法连接到Ollama 🦙", "connectionError": "看起来您遇到了连接错误。请参阅这文档进行故障排除。" }, "formError": { "noModel": "请选择一个模型", "noEmbeddingModel": "请在设置>RAG页面设置一个文本嵌入模型" }, "form": { "textarea": { "placeholder": "输入一条消息..." }, "webSearch": { "on": "开", "off": "关" } }, "tooltip": { "searchInternet": "搜索互联网", "speechToText": "语音到文本", "uploadImage": "上传图片", "stopStreaming": "停止流式传输", "knowledge": "知识", "vision": "[实验性] 视觉聊天", "clearContext": "清除上下文" }, "sendWhenEnter": "按Enter发送", "welcome": "你好!今天我能帮你什么?", "useOCR": "从图片中提取文字(OCR)" } ================================================ FILE: src/assets/locale/zh/settings.json ================================================ { "generalSettings": { "title": "一般设置", "settings": { "heading": "Web UI 设置", "speechRecognitionLang": { "label": "语音识别语言", "placeholder": "选择一种语言" }, "language": { "label": "语言", "placeholder": "选择一种语言" }, "darkMode": { "label": "更改主题", "options": { "light": "亮色", "dark": "暗色" } }, "searchMode": { "label": "使用简化的互联网搜索" }, "copilotResumeLastChat": { "label": "打开侧边栏时恢复上次聊天(Copilot)" }, "turnOnChatWithWebsite": { "label": "默认启用与网站对话(Copilot)" }, "webUIResumeLastChat": { "label": "打开Web UI时恢复上次聊天" }, "hideCurrentChatModelSettings": { "label": "隐藏当前聊天模型设置" }, "restoreLastChatModel": { "label": "恢复上次用于之前聊天的模型" }, "sendNotificationAfterIndexing": { "label": "完成知识库处理后发送通知" }, "generateTitle": { "label": "使用人工智能生成标题" }, "ollamaStatus": { "label": "启用或禁用Ollama连接状态检查" }, "wideMode": { "label": "启用宽屏模式" }, "openReasoning": { "label": "默认展开推理过程" }, "userChatBubble": { "label": "使用聊天气泡显示用户消息" }, "autoCopyResponseToClipboard": { "label": "自动复制回复到剪贴板" }, "useMarkdownForUserMessage": { "label": "为用户消息启用Markdown格式" }, "copyAsFormattedText": { "label": "复制为格式化文本" }, "tabMentionsEnabled": { "label": "启用标签提及功能 (@tab)" }, "pasteLargeTextAsFile": { "label": "将大文本粘贴为文件" }, "sidepanelTemporaryChat": { "label": "默认启用侧边栏临时聊天" } }, "sidepanelRag": { "heading": "检索设置", "ragEnabled": { "label": "启用嵌入和检索" }, "maxWebsiteContext": { "label": "完整上下文模式的最大内容大小", "placeholder": "内容大小(默认4028)" } }, "webSearch": { "heading": "管理网络搜索", "searchMode": { "label": "执行简单的网际网路搜索" }, "provider": { "label": "搜索引擎", "placeholder": "选择一个搜索引擎" }, "totalSearchResults": { "label": "总搜索结果", "placeholder": "输入总搜索结果" }, "visitSpecificWebsite": { "label": "访问消息中提到的网站。" }, "searxng": { "url": { "label": "SearXNG 网址" } }, "braveApi": { "label": "Brave API 密钥", "placeholder": "输入您的 Brave API 密钥" }, "searchOnByDefault": { "label": "默认开启网络搜索" } }, "system": { "heading": "系统设置", "storageSyncEnabled": { "label": "启用浏览器存储同步(跨设备同步设置)" }, "deleteChatHistory": { "label": "系统重置", "button": "全部重置", "confirm": "您确定要执行系统重置吗?这将清除所有数据且无法撤消。" }, "export": { "label": "导出所有数据(聊天记录、知识库、提示和设置)", "button": "导出数据", "success": "导出成功" }, "import": { "label": "导入所有数据(聊天记录、知识库、提示和设置)", "button": "导入数据", "success": "导入成功", "error": "导入错误" } }, "tts": { "heading": "文本转语音设置", "ttsEnabled": { "label": "启用文本转语音" }, "ttsAutoPlay": { "label": "完成后自动播放语音回复" }, "ttsProvider": { "label": "文本转语音提供商", "placeholder": "选择一个提供商" }, "ttsVoice": { "label": "文本转语音语音", "placeholder": "选择一种语音" }, "ssmlEnabled": { "label": "启用SSML(语音合成标记语言)" }, "removeReasoningTagTTS": { "label": "从语音合成中移除推理标签" } }, "stt": { "heading": "语音转文本设置", "autoStopTimeout": { "label": "自动停止超时(毫秒)", "placeholder": "输入自动停止超时时间(毫秒)" }, "autoSubmitVoiceMessage": { "label": "自动提交语音消息" } } }, "manageModels": { "title": "管理模型", "addBtn": "添加新模型", "columns": { "name": "名称", "digest": "摘要", "modifiedAt": "修改时间", "size": "大小", "actions": "操作" }, "expandedColumns": { "parentModel": "父模型", "format": "格式", "family": "家族", "parameterSize": "参数大小", "quantizationLevel": "量化级别" }, "tooltip": { "delete": "删除模型", "repull": "重新拉取模型" }, "confirm": { "delete": "您确定要删除此模型吗?", "repull": "您确定要重新拉取此模型吗?" }, "modal": { "title": "添加新模型", "placeholder": "输入模型名称", "pull": "拉取模型" }, "notification": { "pullModel": "正在拉取模型", "pullModelDescription": "正在拉取 {{modelName}} ,请查看扩展图标。", "success": "成功", "error": "错误", "successDescription": "成功拉取了模型", "successDeleteDescription": "成功删除了模型", "someError": "出现了问题。请稍后再试。" } }, "managePrompts": { "title": "管理提示词", "addBtn": "添加新提示词", "option1": "普通", "option2": "RAG", "questionPrompt": "问题提示词", "columns": { "title": "标题", "prompt": "提示词", "type": "提示词类型", "actions": "操作" }, "systemPrompt": "系统提示词", "quickPrompt": "快速提示词", "tooltip": { "delete": "删除提示词", "edit": "编辑提示词" }, "confirm": { "delete": "您确定要删除此提示词吗?这个操作不能撤销。" }, "modal": { "addTitle": "添加新提示词", "editTitle": "编辑提示词" }, "segmented": { "custom": "自定义提示", "copilot": "Copilot 提示" }, "form": { "title": { "label": "标题", "placeholder": "我厉害的提示词", "required": "请输入标题", "help": "您可以在提示词中使用 {key} 作为变量。" }, "prompt": { "label": "提示词", "placeholder": "输入提示词", "required": "请输入提示词", "help": "您可以在提示词中使用 {key} 作为变量。", "missingTextPlaceholder": "提示中缺少{text}变量。请添加它。" }, "isSystem": { "label": "是否为系统提示词" }, "btnSave": { "saving": "添加提示词中...", "save": "添加提示词" }, "btnEdit": { "saving": "更新提示词中...", "save": "更新提示词" } }, "notification": { "addSuccess": "提示词已添加", "addSuccessDesc": "提示词已成功添加", "error": "错误", "someError": "出现了问题。请稍后再试。", "updatedSuccess": "提示词已更新", "updatedSuccessDesc": "提示词已成功更新", "deletedSuccess": "提示词已删除", "deletedSuccessDesc": "提示词已成功删除" } }, "manageShare": { "title": "管理共享", "heading": "配置对话共享服务 URL", "form": { "url": { "label": "对话共享服务 URL", "placeholder": "输入对话共享服务 URL", "required": "请输入您的对话共享服务 URL!", "help": "出于隐私原因,您可以自行托管对话共享服务并在此处提供 URL,了解更多。" } }, "webshare": { "heading": "对话共享", "columns": { "title": "标题", "url": "URL", "actions": "操作" }, "tooltip": { "delete": "删除对话共享" }, "confirm": { "delete": "您确定要删除此对话共享吗?这个操作不能撤销。" }, "label": "管理页面分享", "description": "启用或禁用页面分享功能 " }, "notification": { "pageShareSuccess": "对话共享服务 URL 已成功更新", "someError": "出现了问题。请稍后再试。", "webShareDeleteSuccess": "对话共享已成功删除" } }, "ollamaSettings": { "title": "Ollama 设置", "heading": "配置 Ollama", "settings": { "ollamaUrl": { "label": "Ollama URL", "placeholder": "输入 Ollama URL" }, "globalEnable": { "label": "启用或禁用全局 Ollama 集成", "warning": "通过全局禁用 Ollama 集成,Page Assist 将不会从 Ollama 获取模型。您仍然可以从OpenAI 兼容 API部分添加 Ollama 实例,这将正常工作。" }, "advanced": { "label": "Ollama URL 高级配置", "urlRewriteEnabled": { "label": "启用或禁用自定义来源 URL" }, "rewriteUrl": { "label": "自定义来源 URL", "placeholder": "输入自定义来源 URL" }, "autoCORSFix": { "label": "启用或禁用自动 Ollama CORS 修复" }, "headers": { "label": "自定义头部", "add": "添加头部", "key": { "label": "头部键", "placeholder": "授权" }, "value": { "label": "头部值", "placeholder": "承载令牌" } }, "help": "如果您在 Page Assist 上与 Ollama 有连接问题,您可以配置自定义来源 URL。要了解更多关于配置的信息,点击此处。" } } }, "manageSearch": { "heading": "配置网络搜索", "title": "管理网络搜索" }, "about": { "title": "关于", "heading": "关于", "chromeVersion": "Page Assist版本", "ollamaVersion": "Ollama版本", "support": "您可以通过以下平台捐赠或赞助Page Assist项目:", "koFi": "在Ko-fi上支持", "githubSponsor": "在GitHub上赞助", "githubRepo": "GitHub仓库" }, "manageKnowledge": { "title": "管理知识", "heading": "配置知识库" }, "rag": { "title": "Pipeline 设置", "ragSettings": { "label": "RAG 设置", "model": { "label": "文本嵌入模型", "required": "请选择一个模型", "help": "建议使用文本嵌入模型,如 `nomic-embed-text`。", "placeholder": "选择一个模型" }, "chunkSize": { "label": "嵌入大小", "placeholder": "1024-∞", "required": "请输入块大小" }, "chunkOverlap": { "label": "嵌入重叠", "placeholder": "256-∞", "required": "请输入嵌入重叠" }, "totalFilePerKB": { "label": "知识库默认文件上传限制", "placeholder": "输入默认文件上传限制(例如:10)", "required": "请输入默认文件上传限制" }, "noOfRetrievedDocs": { "label": "检索文档数量", "placeholder": "输入检索文档数量", "required": "请输入检索文档数量" }, "splittingSeparator": { "label": "分隔符", "placeholder": "输入分隔符(例如:\\n\\n)", "required": "请输入分隔符" }, "splittingStrategy": { "label": "文本分割器" } }, "prompt": { "label": "配置 RAG 提示词", "option1": "普通", "option2": "搜索", "alert": "在此配置系统提示词已过时。请使用管理提示词部分添加或编辑提示词。此部分将在未来版本中删除", "systemPrompt": "系统提示词", "systemPromptPlaceholder": "输入系统提示词", "webSearchPrompt": "网页搜索提示词", "webSearchPromptHelp": "请勿从提示词中删除 `{search_results}`。", "webSearchPromptError": "请输入一个网页搜索提示词", "webSearchPromptPlaceholder": "输入网页搜索提示词", "webSearchFollowUpPrompt": "网页搜索追问提示词", "webSearchFollowUpPromptHelp": "请勿从提示词中删除 `{chat_history}` 和 `{question}`。", "webSearchFollowUpPromptError": "请输入您的网页搜索追问提示词!", "webSearchFollowUpPromptPlaceholder": "您的网页搜索追问提示词" } }, "chromeAiSettings": { "title": "Chrome AI 设置" } } ================================================ FILE: src/assets/locale/zh/sidepanel.json ================================================ { "tooltip": { "embed": "可能需要几分钟才能嵌入搜索结果。请稍候...", "clear": "清除对话历史", "history": "对话历史", "openwebui": "打开网页界面" } } ================================================ FILE: src/assets/locale/zh-TW/chrome.json ================================================ { "heading": "設定 Chrome AI", "status": { "label": "在頁面輔助功能中啟用或停用 Chrome AI 支援" }, "error": { "browser_not_supported": "此版本的 Chrome 不支援 Gemini Nano 模型,請更新至版本138或更高", "ai_not_supported": "設定 chrome://flags/#prompt-api-for-gemini-nano 未啟用,請先啟用它。", "ai_not_ready": "Gemini Nano 尚未準備好,您需要再次檢查 Chrome 設定。", "internal_error": "發生內部錯誤,請稍後重試。" }, "errorDescription": "要使用 Chrome AI,您需要 Chrome 版本 138 或更高版本。請按照以下步驟操作:\n\n1. 前往 `chrome://flags/#prompt-api-for-gemini-nano` 並啟用「Prompt API for Gemini Nano」。\n2. 重新啟動 Chrome 以應用該設定。\n3. 返回此頁面並點擊「下載模型」,首次將下載一個 4GB 的模型。\n4. 下載完成後,可通過頁面輔助功能啟用 Gemini Nano。", "downloadModel": "下載模型", "modelDownloadWarning": "這將下載一個大約 1.5 GB 到 2.4 GB 的模型,請確保您有足夠的硬碟空間。", "downloadModal": { "title": "下載 Gemini Nano 模型", "warning": "需要下載大量資料", "warningDescription": "這將下載約 4GB 的資料,請確保您有足夠的硬碟空間和穩定的網路連線。", "confirm": "立即下載", "cancel": "取消", "downloading": "正在下載模型", "downloadingDescription": "正在下載 Gemini Nano 模型,根據您的網路連線,這可能需要數分鐘。", "pleaseWait": "下載過程中請勿關閉此視窗..." }, "downloadSuccess": "模型下載成功!", "downloadError": "模型下載失敗,請再試一次。" } ================================================ FILE: src/assets/locale/zh-TW/common.json ================================================ { "pageAssist": "Page Assist", "selectAModel": "選擇一個模型", "save": "儲存", "saved": "已儲存", "cancel": "取消", "retry": "重試", "loadMore": "載入更多...", "share": { "tooltip": { "share": "分享" }, "modal": { "title": "為聊天建立分享連結" }, "form": { "defaultValue": { "name": "匿名", "title": "未命名聊天" }, "title": { "label": "聊天標題", "placeholder": "輸入聊天標題", "required": "聊天標題是必填的" }, "name": { "label": "您的名字", "placeholder": "輸入您的名字", "required": "您的名字是必填的" }, "btn": { "save": "生成連結", "saving": "正在產生連結..." } }, "notification": { "successGenerate": "連結已複製到剪貼簿", "failGenerate": "產生連結失敗" } }, "copyToClipboard": "複製到剪貼簿", "webSearch": "搜尋網絡", "regenerate": "重新生成", "continue": "繼續回應", "edit": "編輯", "delete": "刪除", "saveAndSubmit": "儲存並送出", "editMessage": { "placeholder": "輸入一則訊息..." }, "submit": "送出", "noData": "沒有資料", "noHistory": "無聊天記錄", "chatWithCurrentPage": "與目前頁面聊天", "beta": "Beta", "tts": "朗讀", "currentChatModelSettings": "目前聊天模型設定", "modelSettings": { "label": "模型設定", "description": "全域設定所有聊天的模型選項", "form": { "keepAlive": { "label": "保留時間", "help": "控制請求後模型在記憶體中保持的時間(預設:5分鐘)", "placeholder": "例如:5m、10m、1h" }, "temperature": { "label": "溫度", "placeholder": "例如:0.7、1.0" }, "numCtx": { "label": "上下文窗口大小 (num_ctx)", "placeholder": "預設:2048" }, "numPredict": { "label": "最大 Token 數 (num_predict)", "placeholder": "例如:2048、4096" }, "thinking": { "label": "思考模式 (Ollama)", "levels": { "off": "關閉", "on": "開啟", "low": "低推理強度", "medium": "中推理強度", "high": "高推理強度" } }, "seed": { "label": "隨機種子", "placeholder": "例如:1234", "help": "模型輸出的可重複性" }, "topK": { "label": "Top K", "placeholder": "例如:40、100" }, "topP": { "label": "Top P", "placeholder": "例如:0.9、0.95" }, "useMMap": { "label": "useMmap" }, "tfsZ": { "label": "TFS-Z", "placeholder": "例如:1.0、1.1" }, "numKeep": { "label": "Num Keep", "placeholder": "例如:256、512" }, "numThread": { "label": "Num Thread", "placeholder": "例如:8、16" }, "useMlock": { "label": "useMlock" }, "reasoningEffort": { "label": "Reasoning Effort", "placeholder": "low, medium, high" }, "minP": { "label": "Min P", "placeholder": "例如:0.05" }, "repeatPenalty": { "label": "Repeat Penalty", "placeholder": "例如:1.1、1.2" }, "repeatLastN": { "label": "Repeat Last N", "placeholder": "例如:64、128" }, "numGpu": { "label": "Num GPU", "placeholder": "輸入要傳送到 GPU 的層數" }, "systemPrompt": { "label": "臨時系統提示詞", "placeholder": "輸入系統提示詞", "help": "這是一種在當前聊天中設置系統提示詞的快捷方法,如果已存在選定的系統提示詞將會覆蓋它。" } }, "advanced": "更多模型設定" }, "copilot": { "summary": "總結", "explain": "解釋", "rephrase": "重述", "translate": "翻譯", "custom": "自訂" }, "citations": "引用", "segmented": { "ollama": "Ollama 模型", "custom": "自訂模型" }, "downloadCode": "下載程式碼", "date": { "pinned": "已置頂", "today": "今天", "yesterday": "昨天", "last7Days": "最近7天", "older": "更早以前" }, "range": { "deleteConfirm": { "pinned": "確定要刪除所有置頂的紀錄嗎?", "today": "確定要刪除今天的所有紀錄嗎?", "yesterday": "確定要刪除昨天的所有紀錄嗎?", "last7Days": "確定要刪除最近7天的所有紀錄嗎?", "older": "確定要刪除所有較舊的紀錄嗎?" }, "tooltip": { "pinned": "刪除所有置頂的紀錄", "today": "刪除今天的所有紀錄", "yesterday": "刪除昨天的所有紀錄", "last7Days": "刪除最近7天的所有紀錄", "older": "刪除所有較舊的紀錄" } }, "historiesDeleted": "{{count}} 條紀錄已刪除", "deleteHistoriesError": "紀錄刪除錯誤", "pin": "置頂", "unpin": "取消置頂", "generationInfo": "生成資訊", "sidebarChat": "側邊面板聊天", "reasoning": { "thinking": "思考中....", "thought": "思考了 {{time}}", "title": "推理過程", "expand": "顯示推理", "collapse": "隱藏推理" }, "embeddingGen": "正在建立嵌入向量,這可能需要一些時間", "semanticSearch": "正在執行語意搜尋", "newBranch": "新分支", "downloading": "正在下載", "cancelPullingModel": { "confirm": "確定要取消下載嗎?這將會停止下載過程。根據 Ollama 說明文件,您可以從中斷處重新開始下載。" }, "saveChat": "儲存聊天", "projects": "專案", "projectName": "專案名稱", "newProject": "新增專案", "rename": "重新命名", "yourChats": "您的聊天", "search": "搜尋", "searchResults": "搜尋結果", "loading": "載入中", "deleteProjectConfirmation": "確定要刪除此專案資料夾嗎?聊天紀錄將移回「您的聊天」。", "generateTitle": "使用 AI 生成標題", "generateTitleError": "無法生成標題" } ================================================ FILE: src/assets/locale/zh-TW/knowledge.json ================================================ { "addBtn": "新增知識", "columns": { "title": "標題", "status": "狀態", "embeddings": "嵌入模型", "createdAt": "創建於", "action": "操作" }, "expandedColumns": { "name": "名稱" }, "confirm": { "delete": "您確定要刪除此知識嗎?", "deleteSource": "您確定要刪除此來源嗎?" }, "deleteSuccess": "知識刪除成功", "status": { "pending": "待處理", "finished": "已完成", "processing": "處理中", "failed": "失敗" }, "addKnowledge": "新增知識", "updateKnowledge": "新增來源", "form": { "tabs": { "upload": "上傳檔案", "text": "文字輸入" }, "title": { "label": "知識標題(選填)", "placeholder": "輸入知識標題", "placeholderOptional": "選填標題(預設使用前 50 個字元)", "required": "知識標題是必需的" }, "uploadFile": { "label": "上傳文件", "uploadText": "將文件拖放到此處或點擊上傳", "uploadHint": "支援的檔案類型: .pdf, .csv, .txt, .md, .docx", "required": "文件是必需的", "uploadError": "不支援的檔案類型" }, "textInput": { "typeLabel": "類型", "type": { "plain": "純文字", "markdown": "Markdown", "code": "程式碼" }, "contentLabel": "內容", "placeholder": "請在此處貼上或輸入您的文字...", "required": "文字內容是必需的", "tooLarge": "內容過多,請保持在50萬個字元以內。", "defaultTitle": "未命名文字" }, "submit": "新增", "success": "知識新增成功" }, "noEmbeddingModel": "請先從 RAG 設定頁面新增一個嵌入模型", "newSource": "新增來源", "editSettings": { "title": "編輯知識設定", "success": "知識設定已成功更新", "variableInfo": { "title": "支援的變數", "description": "您可以在提示詞中使用以下變數:", "context": "從您的知識庫中檢索的上下文", "query": "用戶的問題或查詢" }, "form": { "title": { "label": "知識標題", "placeholder": "輸入知識標題", "required": "知識標題是必需的" }, "systemPrompt": { "label": "系統提示詞", "help": "使用您的知識庫自訂 AI 的回應方式。使用 {context} 來檢索資訊,並在提示詞中包含 {question} 作為用戶問題的上下文。注意:如果提示詞中沒有包含 {question},角色將無法獲取問題的上下文。", "placeholder": "輸入您的自訂系統提示詞...", "prefillButton": "使用預設提示詞" }, "followupPrompt": { "label": "後續問題提示詞", "help": "自訂後續問題的處理方式,此提示詞將後續問題視為獨立的問題。", "placeholder": "輸入您的自訂後續提示詞...", "prefillButton": "使用預設提示詞" } }, "tooltip": "編輯知識設定" } } ================================================ FILE: src/assets/locale/zh-TW/openai.json ================================================ { "settings": "OpenAI 相容 API", "heading": "OpenAI 相容 API", "subheading": "在此管理和設定您與 OpenAI 相容的 API 提供商。", "addBtn": "新增提供商", "table": { "name": "提供商名稱", "baseUrl": "Base URL", "actions": "操作" }, "modal": { "titleAdd": "新增提供商", "titleEdit": "編輯提供商", "name": { "label": "提供商名稱", "required": "提供商名稱為必填項。", "placeholder": "輸入提供商名稱" }, "baseUrl": { "label": "Base URL", "help": "OpenAI API 提供商的 Base URL。例如:http://localhost:1234/v1", "required": "Base URL 為必填項。", "placeholder": "輸入 Base URL" }, "apiKey": { "label": "API 金鑰", "required": "API 金鑰為必填項。", "placeholder": "輸入 API 金鑰" }, "submit": "新增", "update": "更新", "deleteConfirm": "您確定要刪除此提供商嗎?", "model": { "title": "模型列表", "subheading": "請選擇您想要從此提供商使用的聊天模型。", "success": "成功新增模型。" }, "tipLMStudio": "Page Assist 將自動取得您在 LM Studio 中載入的模型,您無需手動新增它們。" }, "addSuccess": "提供商新增成功。", "deleteSuccess": "提供商刪除成功。", "updateSuccess": "提供商更新成功。", "delete": "刪除", "edit": "編輯", "newModel": "從提供商新增模型", "noNewModel": "對於 LMStudio、Ollama、Llamafile,模型採動態取得,無需手動新增。", "searchModel": "搜尋模型", "selectAll": "全選", "save": "儲存", "saving": "儲存中...", "manageModels": { "columns": { "name": "模型名稱", "model_type": "模型類型", "model_id": "模型 ID", "provider": "提供商名稱", "actions": "操作", "nickname": "模型暱稱" }, "tooltip": { "delete": "刪除" }, "confirm": { "delete": "您確定要刪除此模型嗎?" }, "modal": { "title": "新增自訂模型", "titleEdit": "編輯自訂模型", "form": { "name": { "label": "模型 ID", "placeholder": "llama3.2", "required": "模型 ID 為必填項。" }, "provider": { "label": "提供商", "placeholder": "選擇提供商", "required": "提供商為必填項。" }, "type": { "label": "模型類型" } } } }, "noModelFound": "未找到模型,請確保您已新增正確的供應商資料,包括 Base URL 和 API 金鑰。", "radio": { "chat": "聊天模型", "embedding": "嵌入模型", "chatInfo": "用於聊天補全和對話生成", "embeddingInfo": "用於 RAG 和其他語義搜尋相關任務。" }, "nicknameModal": { "title": "新增 / 編輯模型暱稱", "form": { "modelName": { "label": "模型名稱", "placeholder": "請輸入模型名稱", "required": "模型名稱為必填項。" }, "modelAvatar": { "label": "模型頭像", "placeholder": "請輸入模型頭像", "help": "請輸入模型頭像的網址。此圖像將顯示在聊天視窗中。" } } } } ================================================ FILE: src/assets/locale/zh-TW/option.json ================================================ { "newChat": "新聊天", "selectAPrompt": "選擇一個提示詞", "githubRepository": "GitHub Repo", "settings": "設定", "sidebarTitle": "聊天紀錄", "error": "錯誤", "somethingWentWrong": "出現了錯誤", "validationSelectModel": "請選擇模型以繼續", "deleteHistoryConfirmation": "您確定要刪除這條紀錄嗎?", "editHistoryTitle": "輸入一個新的標題", "temporaryChat": "臨時聊天", "more": { "copy": { "group": "複製", "asText": "複製為文字", "asMarkdown": "複製為Markdown", "success": "已複製到剪貼簿!" }, "download": { "group": "下載", "text": "文字檔 (.txt)", "markdown": "Markdown 文件 (.md)", "json": "JSON 文件 (.json)", "image": "圖片 (.png)" }, "share": "分享" }, "chatSaved": "聊天已儲存", "temporaryChatSavedSuccessfully": "您的臨時聊天已成功儲存", "failedToSaveTemporaryChat": "無法儲存臨時聊天,請再試一次。" } ================================================ FILE: src/assets/locale/zh-TW/playground.json ================================================ { "ollamaState": { "searching": "正在搜尋您的 Ollama 🦙", "running": "Ollama 正在運行 🦙", "notRunning": "無法連接到 Ollama 🦙", "connectionError": "看起來您遇到了連線錯誤,請參閱此文件進行故障排除。" }, "formError": { "noModel": "請選擇一個模型", "noEmbeddingModel": "請在設定 > RAG 頁面設定一個嵌入模型" }, "form": { "textarea": { "placeholder": "輸入一則訊息..." }, "webSearch": { "on": "開", "off": "關" }, "thinking": { "on": "開啟", "off": "關閉", "level": "等級", "levels": { "low": "低", "medium": "中", "high": "高" } } }, "tooltip": { "searchInternet": "搜尋網路", "thinking": "啟用推理模式以查看模型的思考過程", "speechToText": "語音轉文字", "uploadImage": "上傳圖片", "stopStreaming": "停止串流", "knowledge": "知識", "vision": "[實驗]視覺聊天", "clearContext": "清除對話上下文", "uploadDocuments": "上傳文件 (beta)" }, "sendWhenEnter": "按 Enter 送出", "welcome": "你好!今天我能幫你什麼?", "useOCR": "從圖片中擷取文字(OCR)" } ================================================ FILE: src/assets/locale/zh-TW/settings.json ================================================ { "generalSettings": { "title": "一般設定", "settings": { "heading": "Web UI 設定", "speechRecognitionLang": { "label": "語音辨識語言", "placeholder": "選擇語言" }, "language": { "label": "語言", "placeholder": "選擇語言" }, "darkMode": { "label": "更改主題", "options": { "light": "亮色", "dark": "暗色" } }, "defaultCopilotPrompt": { "label": "側邊面板的預設提示詞 (Copilot)", "placeholder": "選擇提示詞" }, "defaultWebUIPrompt": { "label": "網頁介面預設提示詞", "placeholder": "選擇提示詞" }, "copilotResumeLastChat": { "label": "打開側邊面板 (Copilot) 時恢復上次聊天" }, "turnOnChatWithWebsite": { "label": "預設啟用與網站聊天 (Copilot)" }, "webUIResumeLastChat": { "label": "開啟 Web UI 時恢復上次聊天" }, "hideCurrentChatModelSettings": { "label": "隱藏目前聊天模型設定" }, "restoreLastChatModel": { "label": "恢復之前聊天中最後使用的模型" }, "sendNotificationAfterIndexing": { "label": "完成知識庫處理後發送通知" }, "generateTitle": { "label": "使用 AI 生成標題" }, "ollamaStatus": { "label": "啟用或停用 Ollama 連線狀態檢查" }, "wideMode": { "label": "啟用寬螢幕模式" }, "openReasoning": { "label": "預設展開推理過程" }, "defaultThinkingMode": { "label": "在表單中顯示思考模式狀態" }, "userChatBubble": { "label": "使用對話泡泡顯示使用者訊息" }, "autoCopyResponseToClipboard": { "label": "自動複製回應至剪貼簿" }, "useMarkdownForUserMessage": { "label": "啟用使用者訊息的 Markdown 格式" }, "copyAsFormattedText": { "label": "複製為格式化文字" }, "tabMentionsEnabled": { "label": "啟用分頁提及 (@tab)" }, "pasteLargeTextAsFile": { "label": "將大量文字貼上為檔案" }, "ocrLanguage": { "label": "預設 OCR 語言", "placeholder": "選擇 OCR 語言" }, "sidepanelTemporaryChat": { "label": "預設為側邊面板啟用臨時聊天" }, "webuiTemporaryChat": { "label": "預設為網頁介面啟用臨時聊天" }, "removeReasoningTagFromCopy": { "label": "從複製的文字中刪除推理標籤" }, "youtubeAutoSummarize": { "label": "在 YouTube 影片顯示「總結」按鈕。" }, "hideReasoningWidget": { "label": "從 AI 訊息中隱藏推理元件" }, "persistChatInput": { "label": "保留聊天輸入(儲存未送出的訊息)" }, "enableMessageQueue": { "label": "在串流時啟用訊息佇列" }, "optimizeQueueForSmallScreen": { "label": "為小螢幕優化聊天介面" }, "tableTextWrap": { "label": "在 Markdown 表格中啟用文字換行" }, "showMoreForLargeMessage": { "label": "對於較長的使用者訊息顯示「顯示更多」" }, "sidebarPosition": { "label": "側邊欄位置", "options": { "left": "左側", "right": "右側" } } }, "sidepanelRag": { "heading": "檢索設定", "ragEnabled": { "label": "啟用嵌入和檢索" }, "maxWebsiteContext": { "label": "完整上下文模式的最大內容大小", "placeholder": "內容大小 (預設 4028)" } }, "webSearch": { "heading": "網頁搜尋設定", "searchMode": { "label": "執行簡單的網路搜尋" }, "provider": { "label": "搜尋引擎", "placeholder": "選擇搜尋引擎" }, "totalSearchResults": { "label": "總搜尋結果數", "placeholder": "輸入總搜尋結果數" }, "visitSpecificWebsite": { "label": "訪問訊息中提到的網站" }, "searxng": { "url": { "label": "SearXNG URL" } }, "braveApi": { "label": "Brave API 金鑰", "placeholder": "輸入您的 Brave API 金鑰" }, "tavilyApi": { "label": "Tavily API 金鑰", "placeholder": "輸入您的 Tavily API 金鑰" }, "exa": { "label": "Exa API 金鑰", "placeholder": "輸入您的 Exa API 金鑰" }, "googleDomain": { "label": "Google 網域" }, "searchOnByDefault": { "label": "預設開啟網路搜尋" }, "firecrawlAPIKey": { "label": "Firecrawl API 金鑰", "placeholder": "輸入您的 Firecrawl API 金鑰" }, "domainFilter": { "label": "網域過濾清單", "description": "僅顯示來自這些網域的結果", "placeholder": "例如:example.com" }, "blockedDomains": { "label": "封鎖網域", "description": "排除來自這些網域的結果", "placeholder": "例如:spam.com" } }, "system": { "heading": "系統設定", "storageSyncEnabled": { "label": "啟用瀏覽器儲存同步(跨裝置同步設定)" }, "deleteChatHistory": { "label": "系統重置", "button": "全部重置", "confirm": "您確定要執行系統重置嗎?這將清除所有資料並且無法撤銷。" }, "export": { "label": "匯出所有資料(聊天記錄、知識庫、提示與設定)", "button": "匯出資料", "success": "匯出成功" }, "import": { "label": "匯入所有資料(聊天記錄、知識庫、提示與設定)", "button": "匯入資料", "success": "匯入成功", "error": "匯入錯誤" }, "actionIcon": { "label": "設定擴充功能圖示點擊的預設動作" }, "contextMenu": { "label": "設定右鍵選單點擊的預設動作" }, "fontSize": { "label": "字型大小" }, "webuiBtnSidePanel": { "label": "在側邊面板顯示網頁介面按鈕" }, "chatBackgroundImage": { "label": "聊天背景圖片" } }, "tts": { "heading": "文字轉語音設定", "ttsEnabled": { "label": "啟用文字轉語音" }, "ttsAutoPlay": { "label": "完成後自動播放語音回應" }, "ttsProvider": { "label": "文字轉語音提供商", "placeholder": "選擇提供商" }, "ttsVoice": { "label": "文字轉語音的聲音", "placeholder": "選擇聲音" }, "ssmlEnabled": { "label": "啟用 SSML(Speech Synthesis Markup Language)" }, "responseSplitting": { "label": "回應拆分" }, "removeReasoningTagTTS": { "label": "從 TTS 中刪除推理標籤" } }, "stt": { "heading": "語音轉文字設定", "autoStopTimeout": { "label": "自動停止逾時(毫秒)", "placeholder": "輸入自動停止逾時的毫秒數" }, "autoSubmitVoiceMessage": { "label": "自動送出語音訊息" } } }, "manageModels": { "title": "模型管理", "addBtn": "新增模型", "columns": { "name": "名稱", "digest": "雜湊值", "modifiedAt": "修改時間", "size": "大小", "actions": "操作" }, "expandedColumns": { "parentModel": "父模型", "format": "格式", "family": "家族", "parameterSize": "參數大小", "quantizationLevel": "量化級別" }, "tooltip": { "delete": "刪除模型", "repull": "重新下載模型" }, "confirm": { "delete": "您確定要刪除該模型嗎?", "repull": "您確定要重新下載該模型嗎?" }, "modal": { "title": "新增模型", "placeholder": "輸入模型名稱", "pull": "下載模型" }, "notification": { "pullModel": "正在下載模型", "pullModelDescription": "模型 {{modelName}} 下載中,欲了解更多詳細資訊,請查看擴充圖標。", "cancellingDownload": "取消下載", "cancellingDownloadDescription": "正在取消模型下載...", "success": "成功", "error": "錯誤", "successDescription": "成功下載模型", "successDeleteDescription": "成功刪除模型", "someError": "出了點問題,請稍後重試" } }, "managePrompts": { "title": "提示詞管理", "addBtn": "新增提示詞", "option1": "一般", "option2": "RAG", "questionPrompt": "問題提示詞", "segmented": { "custom": "自訂提示詞", "copilot": "Copilot 提示詞" }, "columns": { "title": "標題", "prompt": "提示詞", "type": "提示詞類型", "actions": "操作" }, "systemPrompt": "系統提示詞", "quickPrompt": "快速提示詞", "tooltip": { "delete": "刪除提示詞", "edit": "編輯提示詞" }, "confirm": { "delete": "您確實要刪除這個提示詞嗎?此操作無法撤銷。" }, "modal": { "addTitle": "新增提示詞", "editTitle": "編輯提示詞" }, "form": { "title": { "label": "標題", "placeholder": "My Awesome Prompt", "required": "請輸入標題" }, "prompt": { "label": "提示詞", "placeholder": "輸入提示詞", "required": "請輸入提示詞", "help": "您可以在提示詞中使用 {key} 作為變數。", "missingTextPlaceholder": "提示詞中缺少 {text} 變數,請新增。" }, "isSystem": { "label": "是系統提示詞" }, "btnSave": { "saving": "正在新增提示詞...", "save": "新增提示詞" }, "btnEdit": { "saving": "正在更新提示詞...", "save": "更新提示詞" } }, "notification": { "addSuccess": "提示詞已新增", "addSuccessDesc": "提示詞已新增成功", "error": "錯誤", "someError": "出了點問題,請稍後重試", "updatedSuccess": "提示詞已更新", "updatedSuccessDesc": "提示詞已更新成功", "deletedSuccess": "提示詞已刪除", "deletedSuccessDesc": "提示詞已刪除成功" } }, "manageShare": { "title": "分享管理", "heading": "設定頁面分享 URL", "form": { "url": { "label": "頁面分享 URL", "placeholder": "輸入頁面分享 URL", "required": "請輸入頁面分享 URL!", "help": "出於隱私的考量,您可以自行託管頁面分享服務並在此處提供 URL。了解更多。" } }, "webshare": { "heading": "網頁分享", "columns": { "title": "標題", "url": "URL", "actions": "操作" }, "tooltip": { "delete": "刪除分享" }, "confirm": { "delete": "您確實要刪除分享嗎?此操作無法撤銷。" }, "label": "頁面分享管理", "description": "啟用或停用頁面分享功能" }, "notification": { "pageShareSuccess": "頁面分享網址更新成功", "someError": "出現錯誤,請稍後重試", "webShareDeleteSuccess": "網頁分享已成功刪除" } }, "ollamaSettings": { "title": "Ollama 設定", "heading": "Ollama 設定", "settings": { "ollamaUrl": { "label": "Ollama URL", "placeholder": "輸入 Ollama URL" }, "globalEnable": { "label": "全域啟用或停用 Ollama 整合功能", "warning": "透過全域停用 Ollama 整合功能後,Page Assist 將不會從 Ollama 取得模型,您仍然可以從 OpenAI 相容 API 的部分新增 Ollama 實例,一樣可以正常運作。" }, "advanced": { "label": "進階 Ollama URL 設定", "urlRewriteEnabled": { "label": "啟用或停用自訂來源 URL" }, "rewriteUrl": { "label": "自訂來源 URL", "placeholder": "輸入自訂來源 URL" }, "autoCORSFix": { "label": "啟用或停用自動 Ollama CORS 修復" }, "headers": { "label": "自訂標頭", "add": "新增標頭", "key": { "label": "Header Key", "placeholder": "Authorization" }, "value": { "label": "Header Value", "placeholder": "Bearer token" } }, "help": "如果您在 Page Assist 上遇到與 Ollama 的連線問題,您可以設定自訂來源 URL,要了解有關設定的更多資訊,請點擊此處。" } } }, "manageSearch": { "title": "網路搜尋管理", "heading": "網路搜尋設定" }, "about": { "title": "關於", "heading": "關於", "chromeVersion": "Page Assist 版本", "ollamaVersion": "Ollama 版本", "support": "您可以透過以下平台捐款或贊助來支持 Page Assist 計畫:", "koFi": "在 Ko-fi 上支持", "githubSponsor": "在 GitHub 上支持", "githubRepo": "GitHub Repository" }, "manageKnowledge": { "title": "知識管理", "heading": "知識庫設定" }, "rag": { "title": "Pipeline 設定", "ragSettings": { "label": "RAG 設定", "model": { "label": "嵌入模型", "required": "請選擇模型", "help": "強烈建議使用像`nomic-embed-text`這樣的嵌入模型。", "placeholder": "選擇模型" }, "chunkSize": { "label": "區塊大小", "placeholder": "輸入區塊大小", "required": "請輸入區塊大小" }, "chunkOverlap": { "label": "區塊重疊", "placeholder": "輸入區塊重疊", "required": "請輸入區塊重疊" }, "totalFilePerKB": { "label": "知識庫預設的檔案上傳限制", "placeholder": "輸入預設的檔案上傳限制(例如:10)", "required": "請輸入預設檔案上傳限制" }, "noOfRetrievedDocs": { "label": "檢索到的文件數", "placeholder": "輸入檢索到的文件數", "required": "請輸入檢索到的文件數" }, "splittingSeparator": { "label": "分隔符", "placeholder": "輸入分隔符號(例如:\\n\\n)", "required": "請輸入分隔符" }, "splittingStrategy": { "label": "文字分割器" } }, "prompt": { "label": "設定 RAG 提示詞", "option1": "正常", "option2": "網頁", "alert": "在此設定系統提示詞已被棄用,請使用「提示詞管理」的部分來新增或編輯提示詞,此部分將在未來的版本中移除。", "systemPrompt": "系統提示詞", "systemPromptPlaceholder": "輸入系統提示詞", "webSearchPrompt": "網路搜尋提示詞", "webSearchPromptHelp": "請勿從提示詞中刪除 `{search_results}`。", "webSearchPromptError": "請輸入網路搜尋提示詞", "webSearchPromptPlaceholder": "請輸入網路搜尋提示詞", "webSearchFollowUpPrompt": "網路搜尋後續提示詞", "webSearchFollowUpPromptHelp": "請勿從提示詞中移除`{chat_history}`和{question}`。", "webSearchFollowUpPromptError": "請輸入網路搜尋後續提示詞", "webSearchFollowUpPromptPlaceholder": "請輸入網路搜尋後續提示詞" } }, "chromeAiSettings": { "title": "Chrome AI 設定" } } ================================================ FILE: src/assets/locale/zh-TW/sidepanel.json ================================================ { "tooltip": { "embed": "嵌入頁面可能需要幾分鐘,請稍候...", "clear": "刪除聊天紀錄", "history": "聊天紀錄", "openwebui": "開啟網頁介面" } } ================================================ FILE: src/assets/tailwind.css ================================================ @font-face { font-family: "Arimo"; src: url("fonts/Arimo.ttf"); font-display: swap; } .arimo { font-family: "Arimo", sans-serif; font-weight: 500; font-style: normal; } @tailwind base; @tailwind components; @tailwind utilities; @layer utilities { .mask-bottom-fade { mask-image: linear-gradient(0deg, transparent 0, #000 160px); -webkit-mask-image: linear-gradient(0deg, transparent 0, #000 160px); } } .ant-select-selection-search-input { border: none !important; box-shadow: none !important; } /* Hide scrollbar for Chrome, Safari and Opera */ .no-scrollbar::-webkit-scrollbar { display: none; } /* Hide scrollbar for IE, Edge and Firefox */ .no-scrollbar { -ms-overflow-style: none; /* IE and Edge */ scrollbar-width: none; /* Firefox */ } @keyframes gradient-border { 0% { border-image-source: linear-gradient( 45deg, #f79533, #f37055, #ef4e7b, #a166ab ); } 50% { border-image-source: linear-gradient(45deg, #ef4e7b, #a166ab); } 74% { border-image-source: linear-gradient(60deg, #5073b8, #1098ad); } 100% { border-image-source: linear-gradient( 45deg, #f79533, #f37055, #ef4e7b, #a166ab ); } } .animated-gradient-border { border: 3px solid; border-image-slice: 1; animation: gradient-border 3s infinite; border-radius: 10px; } /* Hide scrollbar by default */ .custom-scrollbar { scrollbar-width: none; -ms-overflow-style: none; } .custom-scrollbar::-webkit-scrollbar { display: none; } /* Show scrollbar on hover */ .custom-scrollbar:hover { scrollbar-width: thin; -ms-overflow-style: auto; } .custom-scrollbar:hover::-webkit-scrollbar { display: block; width: 15px; } /* Custom scrollbar styles for light theme */ .custom-scrollbar:hover::-webkit-scrollbar-track { @apply bg-gray-50; border-radius: 6px; } .custom-scrollbar:hover::-webkit-scrollbar-thumb { @apply bg-gray-300; border-radius: 6px; transition: background 0.2s ease; } .custom-scrollbar:hover::-webkit-scrollbar-thumb:hover { @apply bg-gray-400; } /* Custom scrollbar styles for dark theme */ .dark .custom-scrollbar:hover::-webkit-scrollbar-track { background-color: #262626; } .dark .custom-scrollbar:hover::-webkit-scrollbar-thumb { background-color: #404040; } .dark .custom-scrollbar:hover::-webkit-scrollbar-thumb:hover { background-color: #525252; } /* For Firefox */ .custom-scrollbar { scrollbar-color: theme("colors.gray.300") theme("colors.gray.50"); scrollbar-width: thin; } .dark .custom-scrollbar { scrollbar-color: #404040 #262626; } @keyframes shimmer-text { 0% { background-position: 200% 0; } 100% { background-position: -200% 0; } } .shimmer-text { background: linear-gradient(90deg, #b8b9bc 25%, #3a3a3a 50%, #b8b9bc 75%); background-size: 200% 100%; background-clip: text; -webkit-background-clip: text; -webkit-text-fill-color: transparent; animation: shimmer-text 4s linear infinite; color: #9ea0a4; } :global(.dark) .shimmer-text { background: linear-gradient(90deg, #a0a2a6 25%, #f5f5f5 50%, #a0a2a6 75%); background-size: 200% 100%; background-clip: text; -webkit-background-clip: text; -webkit-text-fill-color: transparent; animation: shimmer-text 4s linear infinite; color: #bbbdc1; } /* ===================================== Design tokens — change once, theme everywhere ===================================== */ .table-wrapper { --tbl-font-size: 0.875rem; --tbl-header-weight: 500; --tbl-border-radius: 0.5rem; --tbl-row-padding-y: 1rem; --tbl-row-padding-x: 1.5rem; --tbl-bg-light: #ffffff; --tbl-bg-dark: #0d0d0d; --tbl-header-bg-light: #f9fafb; --tbl-header-bg-dark: #1f1f1f; --tbl-header-text-light: #374151; --tbl-header-text-dark: #e5e7eb; --tbl-cell-text-light: #374151; --tbl-cell-text-dark: #d1d5db; --tbl-row-border-light: #f3f4f6; --tbl-row-border-dark: #2a2a2a; --tbl-row-hover-light: #f8fafc; --tbl-row-hover-dark: #1a1a1a; --tbl-stripe-bg-light: #fbfcfd; --tbl-stripe-bg-dark: #121212; } /* ===================================== Wrapper ===================================== */ .table-wrapper { width: 100%; overflow-x: auto; background-color: var(--tbl-bg-light); border-radius: var(--tbl-border-radius); box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.05); scrollbar-width: thin; /* Firefox */ } .dark .table-wrapper { background-color: var(--tbl-bg-dark); box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.2); } /* WebKit scrollbar */ .table-wrapper::-webkit-scrollbar { height: 8px; } .table-wrapper::-webkit-scrollbar-track { background: transparent; } .table-wrapper::-webkit-scrollbar-thumb { background: rgb(0 0 0 / 0.2); border-radius: 4px; } .dark .table-wrapper::-webkit-scrollbar-thumb { background: rgb(255 255 255 / 0.15); } /* ===================================== Table basics ===================================== */ .table-wrapper table { width: 100%; table-layout: fixed; border-collapse: collapse; font-size: var(--tbl-font-size); min-width: 100%; } /* ===================================== Header ===================================== */ .table-wrapper th { position: sticky; top: 0; z-index: 1; background-color: var(--tbl-header-bg-light); color: var(--tbl-header-text-light); font-weight: var(--tbl-header-weight); text-align: left; padding: var(--tbl-row-padding-y) var(--tbl-row-padding-x); border-bottom: 1px solid var(--tbl-row-border-light); min-width: 150px; backdrop-filter: blur(4px); } .dark .table-wrapper th { background-color: var(--tbl-header-bg-dark); color: var(--tbl-header-text-dark); border-bottom-color: var(--tbl-row-border-dark); } /* ===================================== Data cells ===================================== */ .table-wrapper td { padding: var(--tbl-row-padding-y) var(--tbl-row-padding-x); border-bottom: 1px solid var(--tbl-row-border-light); color: var(--tbl-cell-text-light); vertical-align: top; word-wrap: break-word; min-width: 150px; } .dark .table-wrapper td { border-bottom-color: var(--tbl-row-border-dark); color: var(--tbl-cell-text-dark); } /* ===================================== Row interactions ===================================== */ .table-wrapper tbody tr:nth-child(even) td { background-color: var(--tbl-stripe-bg-light); } .dark .table-wrapper tbody tr:nth-child(even) td { background-color: var(--tbl-stripe-bg-dark); } .table-wrapper tr:hover td { background-color: var(--tbl-row-hover-light); } .dark .table-wrapper tr:hover td { background-color: var(--tbl-row-hover-dark); } /* Remove border from last row */ .table-wrapper tr:last-child td { border-bottom: none; } /* ===================================== Helpers for code / pre blocks inside cells ===================================== */ .table-wrapper pre, .table-wrapper code { font-family: 'SFMono-Regular', Consolas, Monaco, monospace; font-size: 0.8em; line-height: 1.4; background-color: rgb(0 0 0 / 0.05); padding: 0.25rem 0.5rem; border-radius: 0.25rem; white-space: pre-wrap; word-break: break-word; } .dark .table-wrapper pre, .dark .table-wrapper code { background-color: rgb(255 255 255 / 0.08); } /* ===================================== Responsiveness ===================================== */ @media (max-width: 768px) { .table-wrapper th, .table-wrapper td { padding: 0.75rem 1rem; font-size: 0.8125rem; min-width: 150px; } } @media (max-width: 640px) { /* Option A — keep horizontal scroll (no markup changes needed) */ .table-wrapper th, .table-wrapper td { padding: 0.5rem 0.75rem; font-size: 0.75rem; min-width: 180px; } /* -------- Uncomment for Option B ----------- Stacked mini-card view. Requires each to carry data-label="Header". -------------------------------------------- .table-wrapper table, .table-wrapper thead, .table-wrapper tbody, .table-wrapper th, .table-wrapper td, .table-wrapper tr { display: block; } .table-wrapper thead { display: none; } .table-wrapper tr { margin-bottom: 0.75rem; border: 1px solid var(--tbl-row-border-light); border-radius: 0.375rem; overflow: hidden; } .dark .table-wrapper tr { border-color: var(--tbl-row-border-dark); } .table-wrapper td { border: none; position: relative; padding-left: 50%; } .table-wrapper td::before { content: attr(data-label); position: absolute; left: 1rem; top: 50%; transform: translateY(-50%); font-weight: 500; color: var(--tbl-header-text-light); } .dark .table-wrapper td::before { color: var(--tbl-header-text-dark); } ------------------------------------------ */ } ================================================ FILE: src/chain/chat-with-website.ts ================================================ //@ts-nocheck import { BaseLanguageModel } from "@langchain/core/language_models/base"; import { Document } from "@langchain/core/documents"; import { ChatPromptTemplate, MessagesPlaceholder, PromptTemplate, } from "@langchain/core/prompts"; import { AIMessage, BaseMessage, HumanMessage } from "@langchain/core/messages"; import { StringOutputParser } from "@langchain/core/output_parsers"; import { Runnable, RunnableBranch, RunnableLambda, RunnableMap, RunnableSequence, } from "@langchain/core/runnables"; import type { ChatHistory } from "~/store"; type RetrievalChainInput = { chat_history: string; question: string; }; export function groupMessagesByConversation(messages: ChatHistory) { if (messages.length % 2 !== 0) { messages.pop(); } const groupedMessages = []; for (let i = 0; i < messages.length; i += 2) { groupedMessages.push({ human: messages[i]?.content, ai: messages[i + 1]?.content, }); } return groupedMessages; } const formatChatHistoryAsString = (history: BaseMessage[]) => { return history .map((message) => `${message._getType()}: ${message?.content}`) .join("\n"); }; const formatDocs = (docs: Document[]) => { return docs .map((doc, i) => `${doc.pageContent}`) .join("\n"); }; const serializeHistory = (input: any) => { const chatHistory = input.chat_history || []; const convertedChatHistory = []; for (const message of chatHistory) { if (message.human !== undefined) { convertedChatHistory.push(new HumanMessage({ content: message.human })); } if (message["ai"] !== undefined) { convertedChatHistory.push(new AIMessage({ content: message.ai })); } } return convertedChatHistory; }; const createRetrieverChain = ( llm: BaseLanguageModel, retriever: Runnable, question_template: string ) => { const CONDENSE_QUESTION_PROMPT = PromptTemplate.fromTemplate(question_template); const condenseQuestionChain = RunnableSequence.from([ CONDENSE_QUESTION_PROMPT, llm, new StringOutputParser(), ]).withConfig({ runName: "CondenseQuestion", }); const hasHistoryCheckFn = RunnableLambda.from( (input: RetrievalChainInput) => input.chat_history.length > 0 ).withConfig({ runName: "HasChatHistoryCheck" }); const conversationChain = condenseQuestionChain.pipe(retriever).withConfig({ runName: "RetrievalChainWithHistory", }); const basicRetrievalChain = RunnableLambda.from( (input: RetrievalChainInput) => input.question ) .withConfig({ runName: "Itemgetter:question", }) .pipe(retriever) .withConfig({ runName: "RetrievalChainWithNoHistory" }); return RunnableBranch.from([ [hasHistoryCheckFn, conversationChain], basicRetrievalChain, ]).withConfig({ runName: "FindDocs", }); }; export const createChatWithWebsiteChain = ({ llm, question_template, question_llm, retriever, response_template, }: { llm: BaseLanguageModel; question_llm: BaseLanguageModel; retriever: Runnable; question_template: string; response_template: string; }) => { const retrieverChain = createRetrieverChain( question_llm, retriever, question_template ); const context = RunnableMap.from({ context: RunnableSequence.from([ ({ question, chat_history }) => { return { question: question, chat_history: formatChatHistoryAsString(chat_history), }; }, retrieverChain, RunnableLambda.from(formatDocs).withConfig({ runName: "FormatDocumentChunks", }), ]), question: RunnableLambda.from( (input: RetrievalChainInput) => input.question ).withConfig({ runName: "Itemgetter:question", }), chat_history: RunnableLambda.from( (input: RetrievalChainInput) => input.chat_history ).withConfig({ runName: "Itemgetter:chat_history", }), }).withConfig({ tags: ["RetrieveDocs"] }); const prompt = ChatPromptTemplate.fromMessages([ ["system", response_template], new MessagesPlaceholder("chat_history"), ["human", "{question}"], ]); const responseSynthesizerChain = RunnableSequence.from([ prompt, llm, new StringOutputParser(), ]).withConfig({ tags: ["GenerateResponse"], }); return RunnableSequence.from([ { question: RunnableLambda.from( (input: RetrievalChainInput) => input.question ).withConfig({ runName: "Itemgetter:question", }), chat_history: RunnableLambda.from(serializeHistory).withConfig({ runName: "SerializeHistory", }), }, context, responseSynthesizerChain, ]); }; ================================================ FILE: src/chain/chat-with-x.ts ================================================ //@ts-nocheck import { BaseLanguageModel } from "@langchain/core/language_models/base" import { Document } from "@langchain/core/documents" import { ChatPromptTemplate, MessagesPlaceholder, PromptTemplate } from "@langchain/core/prompts" import { AIMessage, BaseMessage, HumanMessage } from "@langchain/core/messages" import { StringOutputParser } from "@langchain/core/output_parsers" import { Runnable, RunnableBranch, RunnableLambda, RunnableMap, RunnableSequence } from "@langchain/core/runnables" type RetrievalChainInput = { chat_history: string question: string } const formatChatHistoryAsString = (history: BaseMessage[]) => { return history .map((message) => `${message._getType()}: ${message.content}`) .join("\n") } export const formatDocs = (docs: Document[]) => { return docs .filter( (doc, i, self) => self.findIndex((d) => d.pageContent === doc.pageContent) === i ) .map((doc, i) => `${doc.pageContent}`) .join("\n") } const serializeHistory = (input: any) => { const chatHistory = input.chat_history || [] const convertedChatHistory = [] for (const message of chatHistory) { if (message.human !== undefined) { convertedChatHistory.push(new HumanMessage({ content: message.human })) } if (message["ai"] !== undefined) { convertedChatHistory.push(new AIMessage({ content: message.ai })) } } return convertedChatHistory } const createRetrieverChain = ( llm: BaseLanguageModel, retriever: Runnable, question_template: string ) => { const CONDENSE_QUESTION_PROMPT = PromptTemplate.fromTemplate(question_template) const condenseQuestionChain = RunnableSequence.from([ CONDENSE_QUESTION_PROMPT, llm, new StringOutputParser() ]).withConfig({ runName: "CondenseQuestion" }) const hasHistoryCheckFn = RunnableLambda.from( (input: RetrievalChainInput) => input.chat_history.length > 0 ).withConfig({ runName: "HasChatHistoryCheck" }) const conversationChain = condenseQuestionChain.pipe(retriever).withConfig({ runName: "RetrievalChainWithHistory" }) const basicRetrievalChain = RunnableLambda.from( (input: RetrievalChainInput) => input.question ) .withConfig({ runName: "Itemgetter:question" }) .pipe(retriever) .withConfig({ runName: "RetrievalChainWithNoHistory" }) return RunnableBranch.from([ [hasHistoryCheckFn, conversationChain], basicRetrievalChain ]).withConfig({ runName: "FindDocs" }) } export const createChatWithXChain = ({ llm, question_template, question_llm, retriever, response_template }: { llm: BaseLanguageModel question_llm: BaseLanguageModel retriever: Runnable question_template: string response_template: string }) => { const retrieverChain = createRetrieverChain( question_llm, retriever, question_template ) const context = RunnableMap.from({ context: RunnableSequence.from([ ({ question, chat_history }) => { return { question: question, chat_history: formatChatHistoryAsString(chat_history) } }, retrieverChain, RunnableLambda.from(formatDocs).withConfig({ runName: "FormatDocumentChunks" }) ]), question: RunnableLambda.from( (input: RetrievalChainInput) => input.question ).withConfig({ runName: "Itemgetter:question" }), chat_history: RunnableLambda.from( (input: RetrievalChainInput) => input.chat_history ).withConfig({ runName: "Itemgetter:chat_history" }) }).withConfig({ tags: ["RetrieveDocs"] }) const prompt = ChatPromptTemplate.fromMessages([ ["system", response_template], new MessagesPlaceholder("chat_history"), ["human", "{question}"] ]) const responseSynthesizerChain = RunnableSequence.from([ prompt, llm, new StringOutputParser() ]).withConfig({ tags: ["GenerateResponse"] }) return RunnableSequence.from([ { question: RunnableLambda.from( (input: RetrievalChainInput) => input.question ).withConfig({ runName: "Itemgetter:question" }), chat_history: RunnableLambda.from(serializeHistory).withConfig({ runName: "SerializeHistory" }) }, context, responseSynthesizerChain ]) } ================================================ FILE: src/components/Common/Beta.tsx ================================================ import { Tag } from "antd" import { useTranslation } from "react-i18next" export const BetaTag = ({className} : {className?: string}) => { const { t } = useTranslation("common") return {t("beta")} } ================================================ FILE: src/components/Common/CodeBlock.tsx ================================================ import { programmingLanguages } from "@/utils/langauge-extension" import { Tooltip } from "antd" import { CopyCheckIcon, CopyIcon, DownloadIcon, EyeIcon, CodeIcon } from "lucide-react" import { FC, useState, useRef, useEffect, useCallback } from "react" import { useTranslation } from "react-i18next" import { Prism as SyntaxHighlighter } from "react-syntax-highlighter" import { coldarkDark } from "react-syntax-highlighter/dist/cjs/styles/prism" // import Mermaid from "./Mermaid" interface Props { language: string value: string } export const CodeBlock: FC = ({ language, value }) => { const [isBtnPressed, setIsBtnPressed] = useState(false) const [previewValue, setPreviewValue] = useState(value) const debounceTimeoutRef = useRef(null) const computeKey = () => { const base = `${language}::${value?.slice(0, 200)}` let hash = 0 for (let i = 0; i < base.length; i++) { hash = (hash * 31 + base.charCodeAt(i)) >>> 0 } return hash.toString(36) } const keyRef = useRef(computeKey()) const mapRef = useRef | null>(null) if (!mapRef.current) { if (typeof window !== "undefined") { // @ts-ignore if (!window.__codeBlockPreviewState) { // @ts-ignore window.__codeBlockPreviewState = new Map() } // @ts-ignore mapRef.current = window.__codeBlockPreviewState as Map } else { mapRef.current = new Map() } } const globalStateMap = mapRef.current! const [showPreview, setShowPreview] = useState( () => globalStateMap.get(keyRef.current) || false ) const { t } = useTranslation("common") const handleCopy = () => { navigator.clipboard.writeText(value) setIsBtnPressed(true) setTimeout(() => { setIsBtnPressed(false) }, 4000) } const isPreviewable = ["html", "svg", "xml", "mathml"].includes( (language || "").toLowerCase() ) const buildPreviewDoc = useCallback(() => { const code = previewValue || "" if ((language || "").toLowerCase() === "svg") { const hasSvgTag = /]/i.test(code) let svgMarkup = hasSvgTag ? code : `${code}` const hasWidthHeight = /\s(width|height)\s*=/.test(svgMarkup) if (!hasWidthHeight && hasSvgTag) { svgMarkup = svgMarkup.replace( /]*?)>/i, '' ) } return `${svgMarkup}` } if ((language || "").toLowerCase() === "mathml") { const hasMathTag = /]/i.test(code) let mathMarkup = hasMathTag ? code : `${code}` return `${mathMarkup}` } return `${code}` }, [previewValue, language]) const handleDownload = () => { const blob = new Blob([value], { type: "text/plain" }) const url = window.URL.createObjectURL(blob) const a = document.createElement("a") a.href = url a.download = `code_${new Date().toISOString().replace(/[:.]/g, "-")}.${programmingLanguages[language] || language}` document.body.appendChild(a) a.click() document.body.removeChild(a) window.URL.revokeObjectURL(url) } useEffect(() => { globalStateMap.set(keyRef.current, showPreview) }, [showPreview]) useEffect(() => { if (debounceTimeoutRef.current) { clearTimeout(debounceTimeoutRef.current) } debounceTimeoutRef.current = setTimeout(() => { setPreviewValue(value) }, 300) return () => { if (debounceTimeoutRef.current) { clearTimeout(debounceTimeoutRef.current) } } }, [value]) useEffect(() => { const newKey = computeKey() if (newKey !== keyRef.current) { keyRef.current = newKey if (globalStateMap.has(newKey)) { const prev = globalStateMap.get(newKey)! if (prev !== showPreview) setShowPreview(prev) } } }, [language, value]) useEffect(() => { if (!isPreviewable && showPreview) setShowPreview(false) }, [isPreviewable]) return ( <>
{isPreviewable && (
)} {language || "text"}
{!showPreview && ( {value} )} {showPreview && isPreviewable && (