feat: Add custom headers support

This commit is contained in:
n4ze3m 2024-06-30 00:21:43 +05:30
parent 86296c96b6
commit 52f9a2953a
14 changed files with 2126 additions and 1902 deletions

View File

@ -229,6 +229,18 @@
"label": "Custom Origin URL", "label": "Custom Origin URL",
"placeholder": "Enter Custom Origin URL" "placeholder": "Enter Custom Origin URL"
}, },
"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, <anchor>click here</anchor>." "help": "If you have connection issues with Ollama on Page Assist, you can configure a custom origin URL. To learn more about the configuration, <anchor>click here</anchor>."
} }
} }

View File

@ -229,6 +229,18 @@
"label": "URL Personalizada", "label": "URL Personalizada",
"placeholder": "Ingresar URL Personalizada" "placeholder": "Ingresar URL Personalizada"
}, },
"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, <anchor>click aqui</anchor>." "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, <anchor>click aqui</anchor>."
} }
} }

View File

@ -229,6 +229,18 @@
"label": "URL d'origine personnalisée", "label": "URL d'origine personnalisée",
"placeholder": "Entrez l'URL d'origine personnalisée" "placeholder": "Entrez l'URL d'origine personnalisée"
}, },
"headers": {
"label": "En-têtes Personnalisés",
"add": "Ajouter 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 avez 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, <anchor>cliquez ici</anchor>." "help": "Si vous avez 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, <anchor>cliquez ici</anchor>."
} }
} }

View File

@ -1,292 +1,304 @@
{ {
"generalSettings": { "generalSettings": {
"title": "Impostazioni Generali", "title": "Impostazioni Generali",
"settings": { "settings": {
"heading": "Impostazioni Web UI", "heading": "Impostazioni Web UI",
"speechRecognitionLang": { "speechRecognitionLang": {
"label": "Lingua per il riconoscimento vocale", "label": "Lingua per il riconoscimento vocale",
"placeholder": "Scegli una lingua" "placeholder": "Scegli una lingua"
}, },
"language": { "language": {
"label": "Lingua", "label": "Lingua",
"placeholder": "Scegli una lingua" "placeholder": "Scegli una lingua"
}, },
"darkMode": { "darkMode": {
"label": "Cambia il Tema", "label": "Cambia il Tema",
"options": { "options": {
"light": "Chiaro", "light": "Chiaro",
"dark": "Scuro" "dark": "Scuro"
}
},
"copilotResumeLastChat": {
"label": "Riprendi l'ultima chat quando apri il Pannello Laterale (Copilot)"
},
"hideCurrentChatModelSettings": {
"label": "Nascondi le impostazioni correnti del modello Chat"
}
},
"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"
}
},
"system": {
"heading": "Impostazioni di Sistema",
"deleteChatHistory": {
"label": "Elimina cronologia Chat",
"button": "Elimina",
"confirm": "Sei sicuro che vuoi eliminare la tua cronologia delle chat? Questa azione non può essere annullata."
},
"export": {
"label": "Esporta la cronologia Chat, Base di Conoscenza, e Prompts",
"button": "Esporta Dati",
"success": "Esportato con Successo"
},
"import": {
"label": "Imposta la cronologia Chat, Base di Conoscenza, e Prompts",
"button": "Importa Dati",
"success": "Importato con Successo",
"error": "Errore Importazione"
}
},
"tts": {
"heading": "Impostazioni Text-to-Speech",
"ttsEnabled": {
"label": "Abilita Text-to-Speech"
},
"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)"
}
} }
},
"copilotResumeLastChat": {
"label": "Riprendi l'ultima chat quando apri il Pannello Laterale (Copilot)"
},
"hideCurrentChatModelSettings": {
"label": "Nascondi le impostazioni correnti del modello Chat"
}
}, },
"manageModels": { "webSearch": {
"title": "Gestione Modelli", "heading": "Gestione ricerca Web",
"addBtn": "Aggiungi un nuovo Modello", "searchMode": {
"columns": { "label": "Effettua ricerca web Internet semplice"
"name": "Nome", },
"digest": "Digest", "provider": {
"modifiedAt": "Modificato il", "label": "Motori di ricerca",
"size": "Dimensioni", "placeholder": "Scegli un motore di ricerca"
"actions": "Azioni" },
}, "totalSearchResults": {
"expandedColumns": { "label": "Risultati della ricerca",
"parentModel": "Modello Padre", "placeholder": "Inserisci il totale delle ricerche"
"format": "Formato", },
"family": "Famiglia", "visitSpecificWebsite": {
"parameterSize": "Numero di Parametri", "label": "Visita il sito web menzionato nel messaggio"
"quantizationLevel": "Livello di Quantizzazione" }
},
"tooltip": {
"delete": "Elimina Modello",
"repull": "Ri-Scarica Modello"
},
"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"
}
}, },
"managePrompts": { "system": {
"title": "Gestisci Prompts", "heading": "Impostazioni di Sistema",
"addBtn": "Aggiungi nuovo Prompt", "deleteChatHistory": {
"option1": "Normale", "label": "Elimina cronologia Chat",
"option2": "RAG", "button": "Elimina",
"questionPrompt": "Question Prompt", "confirm": "Sei sicuro che vuoi eliminare la tua cronologia delle chat? Questa azione non può essere annullata."
"columns": { },
"title": "Titolo", "export": {
"prompt": "Prompt", "label": "Esporta la cronologia Chat, Base di Conoscenza, e Prompts",
"type": "Tipo di Prompt", "button": "Esporta Dati",
"actions": "Azioni" "success": "Esportato con Successo"
}, },
"systemPrompt": "Prompt di Sistema", "import": {
"quickPrompt": "Prompt Veloce", "label": "Imposta la cronologia Chat, Base di Conoscenza, e Prompts",
"tooltip": { "button": "Importa Dati",
"delete": "Elimina Prompt", "success": "Importato con Successo",
"edit": "Modifica Prompt" "error": "Errore Importazione"
}, }
"confirm": {
"delete": "Sei sicuro di voler eliminare questo prompt? L'azione non può essere annullata."
},
"modal": {
"addTitle": "Aggiungi Nuovo Prompt",
"editTitle": "Modifica Prompt"
},
"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."
},
"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": { "tts": {
"title": "Gestione Condivisioni", "heading": "Impostazioni Text-to-Speech",
"heading": "Configura l'URL della Pagina di Condivisione", "ttsEnabled": {
"form": { "label": "Abilita Text-to-Speech"
"url": { },
"label": "URL Pagina di Condivisione", "ttsProvider": {
"placeholder": "Inserisci URL Pagina di Condivisione", "label": "Text-to-Speech Provider",
"required": "Inserisci l'url della pagina di condivisione!", "placeholder": "Seleziona un provider"
"help": "Per ragioni di privacy, tu puoi ospitare in self-host la paginacon il seguente URL. <anchor>Leggi altro</anchor>." },
} "ttsVoice": {
}, "label": "Text-to-Speech Voce",
"webshare": { "placeholder": "Seleziona una voce"
"heading": "Condivisioni Web", },
"columns": { "ssmlEnabled": {
"title": "Titolo", "label": "Abilita SSML (Speech Synthesis Markup Language)"
"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"
},
"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"
},
"help": "Se hai problemi di connessione con Ollama su Page Assist, puoi configurare un URL di origine personalizzato. Per saperne di più sulla configurazione, <anchor>clicca qui</anchor>."
}
}
},
"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 RAG",
"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"
}
},
"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"
}
} }
} },
"manageModels": {
"title": "Gestione Modelli",
"addBtn": "Aggiungi un nuovo Modello",
"columns": {
"name": "Nome",
"digest": "Digest",
"modifiedAt": "Modificato il",
"size": "Dimensioni",
"actions": "Azioni"
},
"expandedColumns": {
"parentModel": "Modello Padre",
"format": "Formato",
"family": "Famiglia",
"parameterSize": "Numero di Parametri",
"quantizationLevel": "Livello di Quantizzazione"
},
"tooltip": {
"delete": "Elimina Modello",
"repull": "Ri-Scarica Modello"
},
"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"
}
},
"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"
},
"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."
},
"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. <anchor>Leggi altro</anchor>."
}
},
"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"
},
"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"
},
"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, <anchor>clicca qui</anchor>."
}
}
},
"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 RAG",
"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"
}
},
"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"
}
}
}

View File

@ -1,295 +1,307 @@
{ {
"generalSettings": { "generalSettings": {
"title": "一般設定", "title": "一般設定",
"settings": { "settings": {
"heading": "Web UIの設定", "heading": "Web UIの設定",
"speechRecognitionLang": { "speechRecognitionLang": {
"label": "音声認識の言語", "label": "音声認識の言語",
"placeholder": "言語を選択" "placeholder": "言語を選択"
}, },
"language": { "language": {
"label": "言語", "label": "言語",
"placeholder": "言語を選択" "placeholder": "言語を選択"
}, },
"darkMode": { "darkMode": {
"label": "テーマを変更", "label": "テーマを変更",
"options": { "options": {
"light": "ライト", "light": "ライト",
"dark": "ダーク" "dark": "ダーク"
}
},
"searchMode": {
"label": "簡易インターネット検索を実行"
},
"copilotResumeLastChat": {
"label": "サイドパネルを開いたときに最後のチャットを再開 (Copilot)"
},
"hideCurrentChatModelSettings": {
"label": "現在のチャットモデル設定を非表示"
}
},
"webSearch": {
"heading": "ウェブ検索を管理する",
"searchMode": {
"label": "簡単なインターネット検索を実行する"
},
"provider": {
"label": "検索エンジン",
"placeholder": "検索エンジンを選択する"
},
"totalSearchResults": {
"label": "合計検索結果",
"placeholder": "合計検索結果を入力する"
},
"visitSpecificWebsite": {
"label": "メッセージに記載されたウェブサイトを訪問してください"
}
},
"system": {
"heading": "システム設定",
"deleteChatHistory": {
"label": "チャット履歴を削除する",
"button": "削除",
"confirm": "チャット履歴を削除してもよろしいですか?この操作は元に戻せません。"
},
"export": {
"label": "チャット履歴、知識ベース、プロンプトをエクスポート",
"button": "データをエクスポート",
"success": "エクスポート成功"
},
"import": {
"label": "チャット履歴、知識ベース、プロンプトをインポート",
"button": "データをインポート",
"success": "インポート成功",
"error": "インポートエラー"
}
},
"tts": {
"heading": "テキスト読み上げ設定",
"ttsEnabled": {
"label": "テキスト読み上げを有効にする"
},
"ttsProvider": {
"label": "テキスト読み上げプロバイダー",
"placeholder": "プロバイダーを選択"
},
"ttsVoice": {
"label": "テキスト読み上げの音声",
"placeholder": "音声を選択"
},
"ssmlEnabled": {
"label": "SSML (Speech Synthesis Markup Language) を有効にする"
}
} }
},
"searchMode": {
"label": "簡易インターネット検索を実行"
},
"copilotResumeLastChat": {
"label": "サイドパネルを開いたときに最後のチャットを再開 (Copilot)"
},
"hideCurrentChatModelSettings": {
"label": "現在のチャットモデル設定を非表示"
}
}, },
"manageModels": { "webSearch": {
"title": "モデルを管理", "heading": "ウェブ検索を管理する",
"addBtn": "新しいモデルを追加", "searchMode": {
"columns": { "label": "簡単なインターネット検索を実行する"
"name": "名前", },
"digest": "ダイジェスト", "provider": {
"modifiedAt": "修正日時", "label": "検索エンジン",
"size": "サイズ", "placeholder": "検索エンジンを選択する"
"actions": "アクション" },
}, "totalSearchResults": {
"expandedColumns": { "label": "合計検索結果",
"parentModel": "親モデル", "placeholder": "合計検索結果を入力する"
"format": "フォーマット", },
"family": "ファミリー", "visitSpecificWebsite": {
"parameterSize": "パラメータサイズ", "label": "メッセージに記載されたウェブサイトを訪問してください"
"quantizationLevel": "量子化レベル" }
},
"tooltip": {
"delete": "モデルを削除",
"repull": "モデルを再取得"
},
"confirm": {
"delete": "本当にこのモデルを削除しますか?",
"repull": "本当にこのモデルを再取得しますか?"
},
"modal": {
"title": "新しいモデルを追加",
"placeholder": "モデル名を入力",
"pull": "モデルを取得"
},
"notification": {
"pullModel": "モデルを取得中",
"pullModelDescription": "{{modelName}}モデルを取得中。詳細は拡張機能のアイコンをご確認ください。",
"success": "成功",
"error": "エラー",
"successDescription": "モデルの取得が完了しました",
"successDeleteDescription": "モデルの削除が完了しました",
"someError": "問題が発生しました。後ほど再度お試しください。"
}
}, },
"managePrompts": { "system": {
"title": "プロンプトを管理", "heading": "システム設定",
"addBtn": "新しいプロンプトを追加", "deleteChatHistory": {
"option1": "通常", "label": "チャット履歴を削除する",
"option2": "RAG", "button": "削除",
"questionPrompt": "質問プロンプト", "confirm": "チャット履歴を削除してもよろしいですか?この操作は元に戻せません。"
"columns": { },
"title": "タイトル", "export": {
"prompt": "プロンプト", "label": "チャット履歴、知識ベース、プロンプトをエクスポート",
"type": "プロンプトタイプ", "button": "データをエクスポート",
"actions": "アクション" "success": "エクスポート成功"
}, },
"systemPrompt": "システムプロンプト", "import": {
"quickPrompt": "クイックプロンプト", "label": "チャット履歴、知識ベース、プロンプトをインポート",
"tooltip": { "button": "データをインポート",
"delete": "プロンプトを削除", "success": "インポート成功",
"edit": "プロンプトを編集" "error": "インポートエラー"
}, }
"confirm": {
"delete": "本当にこのプロンプトを削除しますか?この操作は元に戻せません。"
},
"modal": {
"addTitle": "新しいプロンプトを追加",
"editTitle": "プロンプトを編集"
},
"form": {
"title": {
"label": "タイトル",
"placeholder": "素晴らしいプロンプト",
"required": "タイトルを入力してください"
},
"prompt": {
"label": "プロンプト",
"placeholder": "プロンプトを入力",
"required": "プロンプトを入力してください",
"help": "プロンプト内で{key}を変数として使用できます。"
},
"isSystem": {
"label": "システムプロンプト"
},
"btnSave": {
"saving": "プロンプトを追加中...",
"save": "プロンプトを追加"
},
"btnEdit": {
"saving": "プロンプトを更新中...",
"save": "プロンプトを更新"
}
},
"notification": {
"addSuccess": "プロンプトが追加されました",
"addSuccessDesc": "プロンプトが正常に追加されました",
"error": "エラー",
"someError": "問題が発生しました。後ほど再度お試しください。",
"updatedSuccess": "プロンプトが更新されました",
"updatedSuccessDesc": "プロンプトが正常に更新されました",
"deletedSuccess": "プロンプトが削除されました",
"deletedSuccessDesc": "プロンプトが正常に削除されました"
}
}, },
"manageShare": { "tts": {
"title": "共有を管理", "heading": "テキスト読み上げ設定",
"heading": "ページ共有URLを設定", "ttsEnabled": {
"form": { "label": "テキスト読み上げを有効にする"
"url": { },
"label": "ページ共有URL", "ttsProvider": {
"placeholder": "ページ共有URLを入力", "label": "テキスト読み上げプロバイダー",
"required": "ページ共有URLを入力してください", "placeholder": "プロバイダーを選択"
"help": "プライバシー保護のため、ページ共有を自身でホストし、そのURLをここに入力することができます。<anchor>詳細</anchor>" },
} "ttsVoice": {
}, "label": "テキスト読み上げの音声",
"webshare": { "placeholder": "音声を選択"
"heading": "ウェブ共有", },
"columns": { "ssmlEnabled": {
"title": "タイトル", "label": "SSML (Speech Synthesis Markup Language) を有効にする"
"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を入力"
},
"advanced": {
"label": "Ollama URL の高度な設定",
"urlRewriteEnabled": {
"label": "カスタムOriginのURLを有効化または無効化する"
},
"rewriteUrl": {
"label": "カスタムOriginのURL",
"placeholder": "カスタムOriginのURLを入力"
},
"help": "PageAssistでOllamaに接続の問題がある場合は、カスタムOriginのURLを設定できます。設定の詳細については、<anchor>ここをクリック</anchor>してください。"
}
}
},
"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": "RAGの設定",
"ragSettings": {
"label": "RAGの設定",
"model": {
"label": "エンベディングモデル",
"required": "モデルを選択してください",
"help": "`nomic-embed-text`などのエンベディングモデルの使用を強くおすすめします。",
"placeholder": "モデルを選択"
},
"chunkSize": {
"label": "チャンクサイズ",
"placeholder": "チャンクサイズを入力",
"required": "チャンクサイズを入力してください"
},
"chunkOverlap": {
"label": "チャンクオーバーラップ",
"placeholder": "チャンクオーバーラップを入力",
"required": "チャンクオーバーラップを入力してください"
}
},
"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検索フォローアッププロンプト"
}
} }
} },
"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": "プロンプトを編集"
},
"form": {
"title": {
"label": "タイトル",
"placeholder": "素晴らしいプロンプト",
"required": "タイトルを入力してください"
},
"prompt": {
"label": "プロンプト",
"placeholder": "プロンプトを入力",
"required": "プロンプトを入力してください",
"help": "プロンプト内で{key}を変数として使用できます。"
},
"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をここに入力することができます。<anchor>詳細</anchor>"
}
},
"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を入力"
},
"advanced": {
"label": "Ollama URL の高度な設定",
"urlRewriteEnabled": {
"label": "カスタムOriginのURLを有効化または無効化する"
},
"rewriteUrl": {
"label": "カスタムOriginのURL",
"placeholder": "カスタムOriginのURLを入力"
},
"headers": {
"label": "カスタムヘッダー",
"add": "ヘッダーを追加",
"key": {
"label": "ヘッダーキー",
"placeholder": "認証"
},
"value": {
"label": "ヘッダー値",
"placeholder": "ベアラートークン"
}
},
"help": "PageAssistでOllamaに接続の問題がある場合は、カスタムOriginのURLを設定できます。設定の詳細については、<anchor>ここをクリック</anchor>してください。"
}
}
},
"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": "RAGの設定",
"ragSettings": {
"label": "RAGの設定",
"model": {
"label": "エンベディングモデル",
"required": "モデルを選択してください",
"help": "`nomic-embed-text`などのエンベディングモデルの使用を強くおすすめします。",
"placeholder": "モデルを選択"
},
"chunkSize": {
"label": "チャンクサイズ",
"placeholder": "チャンクサイズを入力",
"required": "チャンクサイズを入力してください"
},
"chunkOverlap": {
"label": "チャンクオーバーラップ",
"placeholder": "チャンクオーバーラップを入力",
"required": "チャンクオーバーラップを入力してください"
}
},
"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検索フォローアッププロンプト"
}
}
}

View File

@ -1,295 +1,307 @@
{ {
"generalSettings": { "generalSettings": {
"title": "പൊതുവായ സെറ്റിംഗുകൾ", "title": "പൊതുവായ സെറ്റിംഗുകൾ",
"settings": { "settings": {
"heading": "വെബ് UI സെറ്റിംഗുകൾ", "heading": "വെബ് UI സെറ്റിംഗുകൾ",
"speechRecognitionLang": { "speechRecognitionLang": {
"label": "സംഭാഷണ തിരിച്ചറിയല്‍ ഭാഷ", "label": "സംഭാഷണ തിരിച്ചറിയല്‍ ഭാഷ",
"placeholder": "ഒരു ഭാഷ തിരഞ്ഞെടുക്കുക" "placeholder": "ഒരു ഭാഷ തിരഞ്ഞെടുക്കുക"
}, },
"language": { "language": {
"label": "ഭാഷ", "label": "ഭാഷ",
"placeholder": "ഒരു ഭാഷ തിരഞ്ഞെടുക്കുക" "placeholder": "ഒരു ഭാഷ തിരഞ്ഞെടുക്കുക"
}, },
"darkMode": { "darkMode": {
"label": "തീം മാറ്റുക", "label": "തീം മാറ്റുക",
"options": { "options": {
"light": "ലൈറ്റ്", "light": "ലൈറ്റ്",
"dark": "ഡാര്‍ക്ക്" "dark": "ഡാര്‍ക്ക്"
}
},
"searchMode": {
"label": "സാധാരണ ഇന്റർനെറ്റ് അന്വേഷണം നടത്തുക"
},
"copilotResumeLastChat": {
"label": "സൈഡ്പാനൽ തുറക്കുമ്പോൾ അവസാനത്തെ ചാറ്റ് പുനരാരംഭിക്കുക (Copilot)"
},
"hideCurrentChatModelSettings": {
"label": "നിലവിലുള്ള ചാറ്റ് മോഡൽ ക്രമീകരണങ്ങൾ മറയ്ക്കുക"
}
},
"webSearch": {
"heading": "വെബ്ബ് തിരച്ചിൽ നിയന്ത്രിക്കുക",
"searchMode": {
"label": "സരളമായ ഇന്റർനെറ്റ് തിരച്ചിൽ നടത്തുക"
},
"provider": {
"label": "തിരച്ചിൽ എഞ്ചിൻ",
"placeholder": "തിരച്ചിൽ എഞ്ചിൻ തിരഞ്ഞെടുക്കുക"
},
"totalSearchResults": {
"label": "ആകെ തിരച്ചിൽ ഫലങ്ങൾ",
"placeholder": "ആകെ തിരച്ചിൽ ഫലങ്ങളുടെ എണ്ണം നൽകുക"
},
"visitSpecificWebsite": {
"label": "സന്ദേശത്തിൽ പറയുന്ന വെബ്സൈറ്റ് സന്ദർശിക്കുക."
}
},
"system": {
"heading": "സിസ്റ്റം ക്രമീകരണങ്ങൾ",
"deleteChatHistory": {
"label": "ചാറ്റ് ചരിത്രം ഇല്ലാതാക്കുക",
"button": "ഇല്ലാതാക്കുക",
"confirm": "നിങ്ങളുടെ ചാറ്റ് ചരിത്രം ഇല്ലാതാക്കണമെന്ന് ഉറപ്പാണോ? ഈ പ്രവർത്തനം പിന്നീട് പിന്വലിക്കാനാവില്ല."
},
"export": {
"label": "ചാറ്റ് ചരിത്രം, അറിവ് അടിസ്ഥാനം, പ്രോംപ്റ്റുകൾ എക്സ്പോർട്ട് ചെയ്യുക",
"button": "ഡാറ്റ എക്സ്പോർട്ട് ചെയ്യുക",
"success": "എക്സ്പോർട്ട് വിജയകരമായി"
},
"import": {
"label": "ചാറ്റ് ചരിത്രം, അറിവ് അടിസ്ഥാനം, പ്രോംപ്റ്റുകൾ ഇമ്പോർട്ട് ചെയ്യുക",
"button": "ഡാറ്റ ഇമ്പോർട്ട് ചെയ്യുക",
"success": "ഇമ്പോർട്ട് വിജയകരമായി",
"error": "ഇമ്പോർട്ട് പിശക്"
}
},
"tts": {
"heading": "ടെക്സ്റ്റ്-ടു-സ്പീച്ച് ക്രമീകരണങ്ങൾ",
"ttsEnabled": {
"label": "ടെക്സ്റ്റ്-ടു-സ്പീച്ച് പ്രവർത്തനക്ഷമമാക്കുക"
},
"ttsProvider": {
"label": "ടെക്സ്റ്റ്-ടു-സ്പീച്ച് പ്രോവൈഡർ",
"placeholder": "ഒരു പ്രോവൈഡർ തിരഞ്ഞെടുക്കുക"
},
"ttsVoice": {
"label": "ടെക്സ്റ്റ്-ടു-സ്പീച്ച് വോയ്സ്",
"placeholder": "ഒരു വോയ്സ് തിരഞ്ഞെടുക്കുക"
},
"ssmlEnabled": {
"label": "SSML (സ്പീച്ച് സിന്തസിസ് മാർക്കപ്പ് ലാംഗ്വേജ്) പ്രവർത്തനക്ഷമമാക്കുക"
}
} }
},
"searchMode": {
"label": "സാധാരണ ഇന്റർനെറ്റ് അന്വേഷണം നടത്തുക"
},
"copilotResumeLastChat": {
"label": "സൈഡ്പാനൽ തുറക്കുമ്പോൾ അവസാനത്തെ ചാറ്റ് പുനരാരംഭിക്കുക (Copilot)"
},
"hideCurrentChatModelSettings": {
"label": "നിലവിലുള്ള ചാറ്റ് മോഡൽ ക്രമീകരണങ്ങൾ മറയ്ക്കുക"
}
}, },
"manageModels": { "webSearch": {
"title": "മോഡലുകള്‍ കൈകാര്യം ചെയ്യുക", "heading": "വെബ്ബ് തിരച്ചിൽ നിയന്ത്രിക്കുക",
"addBtn": "പുതിയ മോഡല്‍ ചേര്‍ക്കുക", "searchMode": {
"columns": { "label": "സരളമായ ഇന്റർനെറ്റ് തിരച്ചിൽ നടത്തുക"
"name": "പേര്", },
"digest": "ഡൈജസ്റ്റ്", "provider": {
"modifiedAt": "അവസാനമായി പരിഷ്‌കരിച്ചത്", "label": "തിരച്ചിൽ എഞ്ചിൻ",
"size": "വലുപ്പം", "placeholder": "തിരച്ചിൽ എഞ്ചിൻ തിരഞ്ഞെടുക്കുക"
"actions": "പ്രവർത്തനങ്ങൾ" },
}, "totalSearchResults": {
"expandedColumns": { "label": "ആകെ തിരച്ചിൽ ഫലങ്ങൾ",
"parentModel": "പാരന്റ് മോഡല്‍", "placeholder": "ആകെ തിരച്ചിൽ ഫലങ്ങളുടെ എണ്ണം നൽകുക"
"format": "ഫോര്‍മാറ്റ്", },
"family": "കുടുംബം", "visitSpecificWebsite": {
"parameterSize": "പാരാമീറ്റര്‍ വലുപ്പം", "label": "സന്ദേശത്തിൽ പറയുന്ന വെബ്സൈറ്റ് സന്ദർശിക്കുക."
"quantizationLevel": "ക്വാണ്ടൈസേഷന്‍ ലെവല്‍" }
},
"tooltip": {
"delete": "മോഡല്‍ ഇല്ലാതാക്കുക",
"repull": "മോഡല്‍ വീണ്ടും ലഭ്യമാക്കുക"
},
"confirm": {
"delete": "ഈ മോഡല്‍ ഇല്ലാതാക്കണമെന്ന് തീർച്ചയാണോ?",
"repull": "ഈ മോഡല്‍ വീണ്ടും ലഭ്യമാക്കണമെന്ന് തീർച്ചയാണോ?"
},
"modal": {
"title": "പുതിയ മോഡല്‍ ചേര്‍ക്കുക",
"placeholder": "മോഡല്‍ പേര് നല്‍കുക",
"pull": "മോഡല്‍ ലഭ്യമാക്കുക"
},
"notification": {
"pullModel": "മോഡല്‍ ലഭ്യമാക്കുന്നു",
"pullModelDescription": "{{modelName}} മോഡല്‍ ലഭ്യമാക്കുന്നു. കൂടുതല്‍ വിവരങ്ങള്‍ക്കായി എക്‌സ്റ്റെന്‍ഷന്‍ ഐക്കണ്‍ പരിശോധിക്കുക.",
"success": "വിജയം",
"error": "പിശക്",
"successDescription": "മോഡല്‍ വിജയകരമായി ലഭ്യമാക്കി",
"successDeleteDescription": "മോഡല്‍ വിജയകരമായി ഇല്ലാതാക്കി",
"someError": "എന്തോ തെറ്റായി. ദയവായി പിന്നീട് വീണ്ടും ശ്രമിക്കുക"
}
}, },
"managePrompts": { "system": {
"title": "പ്രോംപ്റ്റുകള്‍ കൈകാര്യം ചെയ്യുക", "heading": "സിസ്റ്റം ക്രമീകരണങ്ങൾ",
"addBtn": "പുതിയ പ്രോംപ്റ്റ് ചേര്‍ക്കുക", "deleteChatHistory": {
"columns": { "label": "ചാറ്റ് ചരിത്രം ഇല്ലാതാക്കുക",
"title": "തലക്കെട്ട്", "button": "ഇല്ലാതാക്കുക",
"prompt": "പ്രോംപ്റ്റ്", "confirm": "നിങ്ങളുടെ ചാറ്റ് ചരിത്രം ഇല്ലാതാക്കണമെന്ന് ഉറപ്പാണോ? ഈ പ്രവർത്തനം പിന്നീട് പിന്വലിക്കാനാവില്ല."
"type": "പ്രോംപ്റ്റ് തരം", },
"actions": "പ്രവർത്തനങ്ങൾ" "export": {
}, "label": "ചാറ്റ് ചരിത്രം, അറിവ് അടിസ്ഥാനം, പ്രോംപ്റ്റുകൾ എക്സ്പോർട്ട് ചെയ്യുക",
"option1": "സാധാരണ", "button": "ഡാറ്റ എക്സ്പോർട്ട് ചെയ്യുക",
"option2": "RAG", "success": "എക്സ്പോർട്ട് വിജയകരമായി"
"questionPrompt": "ചോദ്യ പ്രോംപ്റ്റ്", },
"systemPrompt": "സിസ്റ്റം പ്രോംപ്റ്റ്", "import": {
"quickPrompt": "വേഗത്തിലുള്ള പ്രോംപ്റ്റ്", "label": "ചാറ്റ് ചരിത്രം, അറിവ് അടിസ്ഥാനം, പ്രോംപ്റ്റുകൾ ഇമ്പോർട്ട് ചെയ്യുക",
"tooltip": { "button": "ഡാറ്റ ഇമ്പോർട്ട് ചെയ്യുക",
"delete": "പ്രോംപ്റ്റ് ഇല്ലാതാക്കുക", "success": "ഇമ്പോർട്ട് വിജയകരമായി",
"edit": "പ്രോംപ്റ്റ് എഡിറ്റുചെയ്യുക" "error": "ഇമ്പോർട്ട് പിശക്"
}, }
"confirm": {
"delete": "ഈ പ്രോംപ്റ്റ് ഇല്ലാതാക്കണമെന്ന് തീർച്ചയാണോ? ഈ പ്രവർത്തനം പിന്നീട് പിൻവലിക്കാനാകില്ല."
},
"modal": {
"addTitle": "പുതിയ പ്രോംപ്റ്റ് ചേര്‍ക്കുക",
"editTitle": "പ്രോംപ്റ്റ് എഡിറ്റുചെയ്യുക"
},
"form": {
"title": {
"label": "തലക്കെട്ട്",
"placeholder": "എന്‍റെ അതുല്യമായ പ്രോംപ്റ്റ്",
"required": "ദയവായി ഒരു തലക്കെട്ട് നല്കുക"
},
"prompt": {
"label": "പ്രോംപ്റ്റ്",
"placeholder": "പ്രോംപ്റ്റ് നല്കുക",
"required": "ദയവായി ഒരു പ്രോംപ്റ്റ് നല്കുക",
"help": "നിങ്ങള്‍ക്ക് {key} എന്ന രീതിയില്‍ പ്രോംപ്റ്റില്‍ വേരിയബിളുകള്‍ ഉപയോഗിക്കാവുന്നതാണ്."
},
"isSystem": {
"label": "സിസ്റ്റം പ്രോംപ്റ്റ് ആണോ"
},
"btnSave": {
"saving": "പ്രോംപ്റ്റ് ചേര്‍ക്കുന്നു...",
"save": "പ്രോംപ്റ്റ് ചേര്‍ക്കുക"
},
"btnEdit": {
"saving": "പ്രോംപ്റ്റ് അപ്ഡേറ്റ് ചെയ്യുന്നു...",
"save": "പ്രോംപ്റ്റ് അപ്ഡേറ്റ് ചെയ്യുക"
}
},
"notification": {
"addSuccess": "പ്രോംപ്റ്റ് ചേർത്തു",
"addSuccessDesc": "പ്രോംപ്റ്റ് വിജയകരമായി ചേർത്തു",
"error": "പിശക്",
"someError": "എന്തോ തെറ്റായി. ദയവായി പിന്നീട് വീണ്ടും ശ്രമിക്കുക",
"updatedSuccess": "പ്രോംപ്റ്റ് അപ്ഡേറ്റ് ചെയ്‌തു",
"updatedSuccessDesc": "പ്രോംപ്റ്റ് വിജയകരമായി അപ്ഡേറ്റ് ചെയ്തു",
"deletedSuccess": "പ്രോംപ്റ്റ് ഇല്ലാതാക്കി",
"deletedSuccessDesc": "പ്രോംപ്റ്റ് വിജയകരമായി ഇല്ലാതാക്കി"
}
}, },
"manageShare": { "tts": {
"title": "പങ്കിടുന്നത് കൈകാര്യം ചെയ്യുക", "heading": "ടെക്സ്റ്റ്-ടു-സ്പീച്ച് ക്രമീകരണങ്ങൾ",
"heading": "പേജ് പങ്കിടാനുള്ള URL കോൺഫിഗർ ചെയ്യുക", "ttsEnabled": {
"form": { "label": "ടെക്സ്റ്റ്-ടു-സ്പീച്ച് പ്രവർത്തനക്ഷമമാക്കുക"
"url": { },
"label": "പേജ് പങ്കിടാനുള്ള URL", "ttsProvider": {
"placeholder": "പേജ് പങ്കിടാനുള്ള URL നല്കുക", "label": "ടെക്സ്റ്റ്-ടു-സ്പീച്ച് പ്രോവൈഡർ",
"required": "ദയവായി നിങ്ങളുടെ പേജ് പങ്കിടാനുള്ള URL നല്കുക!", "placeholder": "ഒരു പ്രോവൈഡർ തിരഞ്ഞെടുക്കുക"
"help": "സ്വകാര്യതക്കായി, നിങ്ങള്‍ക്ക് സ്വന്തമായി പേജ് പങ്കിടുന്ന സൗകര്യം ഹോസ്റ്റ് ചെയ്യാനും അവിടെയുള്ള URL ഇവിടെ നല്കാനും കഴിയും. <anchor>കൂടുതല്‍ അറിയുക</anchor>." },
} "ttsVoice": {
}, "label": "ടെക്സ്റ്റ്-ടു-സ്പീച്ച് വോയ്സ്",
"webshare": { "placeholder": "ഒരു വോയ്സ് തിരഞ്ഞെടുക്കുക"
"heading": "വെബ് പങ്കിടല്‍", },
"columns": { "ssmlEnabled": {
"title": "തലക്കെട്ട്", "label": "SSML (സ്പീച്ച് സിന്തസിസ് മാർക്കപ്പ് ലാംഗ്വേജ്) പ്രവർത്തനക്ഷമമാക്കുക"
"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 നല്കുക"
},
"advanced": {
"label": "Advance Ollama URL Configuration",
"urlRewriteEnabled": {
"label": "Enable or Disable Custom Origin URL"
},
"rewriteUrl": {
"label": "Custom Origin URL",
"placeholder": "Enter Custom Origin URL"
},
"help": "ഏജ് അസിസ്റ്റന്റിൽ Ollama-യുമായി ബന്ധപ്പെടുമ്പോൾ ബന്ധതടസ്സം ഉണ്ടെങ്കിൽ, നിങ്ങൾക്ക് ഒരു വ്യക്തിഗത അസ്ഥിരത്വം URL കോൺഫിഗർ ചെയ്യാം. കോൺഫിഗറേഷനെക്കുറിച്ച് കൂടുതലറിയാൻ, <anchor>ഇവിടെ ക്ലിക്കുചെയ്യുക</anchor>."
}
}
},
"manageSearch": {
"heading": "Web തിരയൽ സജ്ജമാക്കുക",
"title": "Web തിരയൽ നിയന്ത്രിക്കുക"
},
"about": {
"title": "വിവരങ്ങൾ",
"heading": "വിവരങ്ങൾ",
"chromeVersion": "പേജ് അസിസ്റ്റ് വേർഷൻ",
"ollamaVersion": "ഓളാമ വേർഷൻ",
"support": "താഴെ പറയുന്ന പ്ലാറ്റ്ഫോമുകളിലൂടെ ദാനം ചെയ്യുകയോ സ്പോൺസർ ചെയ്യുകയോ ചെയ്ത് പേജ് അസിസ്റ്റ് പ്രോജക്റ്റിനെ പിന്തുണയ്ക്കാവുന്നതാണ്:",
"koFi": "കോഫിയിൽ പിന്തുണയ്ക്കുക",
"githubSponsor": "ഗിറ്റ്ഹബ്ബിൽ സ്പോൺസർ ചെയ്യുക",
"githubRepo": "ഗിറ്റ്ഹബ്ബ് റെപ്പോസിറ്ററി"
},
"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": "ദയവായി ചങ്ക് ഓവര്‍ലാപ്പ് നല്കുക"
}
},
"prompt": {
"label": "RAG പ്രോംപ്റ്റ് കോൺഫിഗർ ചെയ്യുക",
"option1": "സാധാരണ",
"option2": "വെബ്",
"alert": "സിസ്റ്റം പ്രോംപ്റ്റ് ഇവിടെ കോൺഫിഗർ ചെയ്യുന്നത് പഴയൗഖികമായി. ദയവായി പ്രോംപ്റ്റുകള്‍ ചേര്‍ക്കാനോ എഡിറ്റുചെയ്യാനോ മാനേജ് പ്രോംപ്റ്റ്‌സ് സെക്ഷന്‍ ഉപയോഗിക്കുക. ഈ സെക്ഷന്‍ ഭാവിയില്‍ നീക്കം ചെയ്യപ്പെടും.",
"systemPrompt": "സിസ്റ്റം പ്രോംപ്റ്റ്",
"systemPromptPlaceholder": "സിസ്റ്റം പ്രോംപ്റ്റ് നല്കുക",
"webSearchPrompt": "വെബ് തിരയല്‍ പ്രോംപ്റ്റ്",
"webSearchPromptHelp": "പ്രോംപ്റ്റില്‍ നിന്ന് `{search_results}` നീക്കം ചെയ്യരുത്.",
"webSearchPromptError": "ദയവായി ഒരു വെബ് തിരയല്‍ പ്രോംപ്റ്റ് നല്കുക",
"webSearchPromptPlaceholder": "വെബ് തിരയല്‍ പ്രോംപ്റ്റ് നല്കുക",
"webSearchFollowUpPrompt": "വെബ് തിരയല്‍ തുടര്‍പ്രോംപ്റ്റ്",
"webSearchFollowUpPromptHelp": "പ്രോംപ്റ്റില്‍ നിന്ന് `{chat_history}` യും `{question}` യും നീക്കം ചെയ്യരുത്.",
"webSearchFollowUpPromptError": "ദയവായി നിങ്ങളുടെ വെബ് തിരയല്‍ തുടര്‍പ്രോംപ്റ്റ് നല്കുക!",
"webSearchFollowUpPromptPlaceholder": "നിങ്ങളുടെ വെബ് തിരയല്‍ തുടര്‍പ്രോംപ്റ്റ്"
}
} }
} },
"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": "പ്രോംപ്റ്റ് എഡിറ്റുചെയ്യുക"
},
"form": {
"title": {
"label": "തലക്കെട്ട്",
"placeholder": "എന്‍റെ അതുല്യമായ പ്രോംപ്റ്റ്",
"required": "ദയവായി ഒരു തലക്കെട്ട് നല്കുക"
},
"prompt": {
"label": "പ്രോംപ്റ്റ്",
"placeholder": "പ്രോംപ്റ്റ് നല്കുക",
"required": "ദയവായി ഒരു പ്രോംപ്റ്റ് നല്കുക",
"help": "നിങ്ങള്‍ക്ക് {key} എന്ന രീതിയില്‍ പ്രോംപ്റ്റില്‍ വേരിയബിളുകള്‍ ഉപയോഗിക്കാവുന്നതാണ്."
},
"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 ഇവിടെ നല്കാനും കഴിയും. <anchor>കൂടുതല്‍ അറിയുക</anchor>."
}
},
"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 നല്കുക"
},
"advanced": {
"label": "Advance Ollama URL Configuration",
"urlRewriteEnabled": {
"label": "Enable or Disable Custom Origin URL"
},
"rewriteUrl": {
"label": "Custom Origin URL",
"placeholder": "Enter Custom Origin URL"
},
"headers": {
"label": "കസ്റ്റം തലക്കെട്ടുകൾ",
"add": "തലക്കെട്ട് ചേർക്കുക",
"key": {
"label": "തലക്കെട്ട് കീ",
"placeholder": "അധികൃതപെടുത്തൽ"
},
"value": {
"label": "തലക്കെട്ട് മൂല്യം",
"placeholder": "ബെയറർ ടോക്കൺ"
}
},
"help": "ഏജ് അസിസ്റ്റന്റിൽ Ollama-യുമായി ബന്ധപ്പെടുമ്പോൾ ബന്ധതടസ്സം ഉണ്ടെങ്കിൽ, നിങ്ങൾക്ക് ഒരു വ്യക്തിഗത അസ്ഥിരത്വം URL കോൺഫിഗർ ചെയ്യാം. കോൺഫിഗറേഷനെക്കുറിച്ച് കൂടുതലറിയാൻ, <anchor>ഇവിടെ ക്ലിക്കുചെയ്യുക</anchor>."
}
}
},
"manageSearch": {
"heading": "Web തിരയൽ സജ്ജമാക്കുക",
"title": "Web തിരയൽ നിയന്ത്രിക്കുക"
},
"about": {
"title": "വിവരങ്ങൾ",
"heading": "വിവരങ്ങൾ",
"chromeVersion": "പേജ് അസിസ്റ്റ് വേർഷൻ",
"ollamaVersion": "ഓളാമ വേർഷൻ",
"support": "താഴെ പറയുന്ന പ്ലാറ്റ്ഫോമുകളിലൂടെ ദാനം ചെയ്യുകയോ സ്പോൺസർ ചെയ്യുകയോ ചെയ്ത് പേജ് അസിസ്റ്റ് പ്രോജക്റ്റിനെ പിന്തുണയ്ക്കാവുന്നതാണ്:",
"koFi": "കോഫിയിൽ പിന്തുണയ്ക്കുക",
"githubSponsor": "ഗിറ്റ്ഹബ്ബിൽ സ്പോൺസർ ചെയ്യുക",
"githubRepo": "ഗിറ്റ്ഹബ്ബ് റെപ്പോസിറ്ററി"
},
"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": "ദയവായി ചങ്ക് ഓവര്‍ലാപ്പ് നല്കുക"
}
},
"prompt": {
"label": "RAG പ്രോംപ്റ്റ് കോൺഫിഗർ ചെയ്യുക",
"option1": "സാധാരണ",
"option2": "വെബ്",
"alert": "സിസ്റ്റം പ്രോംപ്റ്റ് ഇവിടെ കോൺഫിഗർ ചെയ്യുന്നത് പഴയൗഖികമായി. ദയവായി പ്രോംപ്റ്റുകള്‍ ചേര്‍ക്കാനോ എഡിറ്റുചെയ്യാനോ മാനേജ് പ്രോംപ്റ്റ്‌സ് സെക്ഷന്‍ ഉപയോഗിക്കുക. ഈ സെക്ഷന്‍ ഭാവിയില്‍ നീക്കം ചെയ്യപ്പെടും.",
"systemPrompt": "സിസ്റ്റം പ്രോംപ്റ്റ്",
"systemPromptPlaceholder": "സിസ്റ്റം പ്രോംപ്റ്റ് നല്കുക",
"webSearchPrompt": "വെബ് തിരയല്‍ പ്രോംപ്റ്റ്",
"webSearchPromptHelp": "പ്രോംപ്റ്റില്‍ നിന്ന് `{search_results}` നീക്കം ചെയ്യരുത്.",
"webSearchPromptError": "ദയവായി ഒരു വെബ് തിരയല്‍ പ്രോംപ്റ്റ് നല്കുക",
"webSearchPromptPlaceholder": "വെബ് തിരയല്‍ പ്രോംപ്റ്റ് നല്കുക",
"webSearchFollowUpPrompt": "വെബ് തിരയല്‍ തുടര്‍പ്രോംപ്റ്റ്",
"webSearchFollowUpPromptHelp": "പ്രോംപ്റ്റില്‍ നിന്ന് `{chat_history}` യും `{question}` യും നീക്കം ചെയ്യരുത്.",
"webSearchFollowUpPromptError": "ദയവായി നിങ്ങളുടെ വെബ് തിരയല്‍ തുടര്‍പ്രോംപ്റ്റ് നല്കുക!",
"webSearchFollowUpPromptPlaceholder": "നിങ്ങളുടെ വെബ് തിരയല്‍ തുടര്‍പ്രോംപ്റ്റ്"
}
}
}

View File

@ -1,292 +1,304 @@
{ {
"generalSettings": { "generalSettings": {
"title": "Configurações Gerais", "title": "Configurações Gerais",
"settings": { "settings": {
"heading": "Configurações da Interface Web", "heading": "Configurações da Interface Web",
"speechRecognitionLang": { "speechRecognitionLang": {
"label": "Linguagem de Reconhecimento de Fala", "label": "Linguagem de Reconhecimento de Fala",
"placeholder": "Selecione uma linguagem" "placeholder": "Selecione uma linguagem"
}, },
"language": { "language": {
"label": "Linguagem", "label": "Linguagem",
"placeholder": "Selecione uma linguagem" "placeholder": "Selecione uma linguagem"
}, },
"darkMode": { "darkMode": {
"label": "Alterar Tema", "label": "Alterar Tema",
"options": { "options": {
"light": "Claro", "light": "Claro",
"dark": "Escuro" "dark": "Escuro"
}
},
"copilotResumeLastChat": {
"label": "Retomar o último chat ao abrir o Painel Lateral (Copilot)"
},
"hideCurrentChatModelSettings": {
"label": "Ocultar Configurações do Modelo de Chat Atual"
}
},
"webSearch": {
"heading": "Gerenciar Pesquisa na Web",
"searchMode": {
"label": "Realizar Pesquisa Simples na Internet"
},
"provider": {
"label": "Motor de Busca",
"placeholder": "Selecione um motor de busca"
},
"totalSearchResults": {
"label": "Resultados de Pesquisa Totais",
"placeholder": "Insira Resultados de Pesquisa Totais"
},
"visitSpecificWebsite": {
"label": "Visite o site mencionado na mensagem."
}
},
"system": {
"heading": "Configurações do Sistema",
"deleteChatHistory": {
"label": "Excluir Histórico de Chat",
"button": "Excluir",
"confirm": "Você tem certeza de que deseja excluir seu histórico de chat? Esta ação não pode ser desfeita."
},
"export": {
"label": "Exportar Histórico de Chat, Base de Conhecimento e Prompts",
"button": "Exportar Dados",
"success": "Exportação Bem-Sucedida"
},
"import": {
"label": "Importar Histórico de Chat, Base de Conhecimento e Prompts",
"button": "Importar Dados",
"success": "Importação Bem-Sucedida",
"error": "Erro de Importação"
}
},
"tts": {
"heading": "Configurações de Fala",
"ttsEnabled": {
"label": "Habilitar Fala"
},
"ttsProvider": {
"label": "Fornecedor de Fala",
"placeholder": "Selecione um fornecedor"
},
"ttsVoice": {
"label": "Voz de Fala",
"placeholder": "Selecione uma voz"
},
"ssmlEnabled": {
"label": "Habilitar SSML (Linguagem de Marcação de Sintese de Fala)"
}
} }
},
"copilotResumeLastChat": {
"label": "Retomar o último chat ao abrir o Painel Lateral (Copilot)"
},
"hideCurrentChatModelSettings": {
"label": "Ocultar Configurações do Modelo de Chat Atual"
}
}, },
"manageModels": { "webSearch": {
"title": "Gerenciar Modelos", "heading": "Gerenciar Pesquisa na Web",
"addBtn": "Adicionar Novo Modelo", "searchMode": {
"columns": { "label": "Realizar Pesquisa Simples na Internet"
"name": "Nome", },
"digest": "Resumo", "provider": {
"modifiedAt": "Modificado Em", "label": "Motor de Busca",
"size": "Tamanho", "placeholder": "Selecione um motor de busca"
"actions": "Ações" },
}, "totalSearchResults": {
"expandedColumns": { "label": "Resultados de Pesquisa Totais",
"parentModel": "Modelo Pai", "placeholder": "Insira Resultados de Pesquisa Totais"
"format": "Formato", },
"family": "Família", "visitSpecificWebsite": {
"parameterSize": "Tamanho de Parâmetro", "label": "Visite o site mencionado na mensagem."
"quantizationLevel": "Nível de Quantização" }
},
"tooltip": {
"delete": "Excluir Modelo",
"repull": "Re-Puxar Modelo"
},
"confirm": {
"delete": "Você tem certeza de que deseja excluir este modelo?",
"repull": "Você tem certeza de que deseja re-puxar este modelo?"
},
"modal": {
"title": "Adicionar Novo Modelo",
"placeholder": "Insira o nome do modelo",
"pull": "Puxar Modelo"
},
"notification": {
"pullModel": "Puxando Modelo",
"pullModelDescription": "Puxando modelo {{modelName}}. Para mais detalhes, verifique o ícone da extensão.",
"success": "Sucesso",
"error": "Erro",
"successDescription": "Modelo puxado com sucesso",
"successDeleteDescription": "Modelo excluído com sucesso",
"someError": "Algo deu errado. Tente novamente mais tarde"
}
}, },
"managePrompts": { "system": {
"title": "Gerenciar Prompts", "heading": "Configurações do Sistema",
"addBtn": "Adicionar Novo Prompt", "deleteChatHistory": {
"option1": "Normal", "label": "Excluir Histórico de Chat",
"option2": "RAG", "button": "Excluir",
"questionPrompt": "Prompt de Pergunta", "confirm": "Você tem certeza de que deseja excluir seu histórico de chat? Esta ação não pode ser desfeita."
"columns": { },
"title": "Título", "export": {
"prompt": "Prompt", "label": "Exportar Histórico de Chat, Base de Conhecimento e Prompts",
"type": "Tipo de Prompt", "button": "Exportar Dados",
"actions": "Ações" "success": "Exportação Bem-Sucedida"
}, },
"systemPrompt": "Prompt do Sistema", "import": {
"quickPrompt": "Prompt Rápido", "label": "Importar Histórico de Chat, Base de Conhecimento e Prompts",
"tooltip": { "button": "Importar Dados",
"delete": "Excluir Prompt", "success": "Importação Bem-Sucedida",
"edit": "Editar Prompt" "error": "Erro de Importação"
}, }
"confirm": {
"delete": "Você tem certeza de que deseja excluir este prompt? Esta ação não pode ser desfeita."
},
"modal": {
"addTitle": "Adicionar Novo Prompt",
"editTitle": "Editar Prompt"
},
"form": {
"title": {
"label": "Título",
"placeholder": "Meu Prompt Incrível",
"required": "Por favor, insira um título"
},
"prompt": {
"label": "Prompt",
"placeholder": "Insira o prompt",
"required": "Por favor, insira um prompt",
"help": "Você pode usar {key} como variável em seu prompt."
},
"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": "Prompt adicionado com sucesso",
"error": "Erro",
"someError": "Algo deu errado. Tente novamente mais tarde",
"updatedSuccess": "Prompt Atualizado",
"updatedSuccessDesc": "Prompt atualizado com sucesso",
"deletedSuccess": "Prompt Excluído",
"deletedSuccessDesc": "Prompt excluído com sucesso"
}
}, },
"manageShare": { "tts": {
"title": "Gerenciar Compartilhamento", "heading": "Configurações de Fala",
"heading": "Configurar URL de Compartilhamento de Página", "ttsEnabled": {
"form": { "label": "Habilitar Fala"
"url": { },
"label": "URL de Compartilhamento de Página", "ttsProvider": {
"placeholder": "Insira a URL de Compartilhamento de Página", "label": "Fornecedor de Fala",
"required": "Por favor, insira a URL de Compartilhamento de Página!", "placeholder": "Selecione um fornecedor"
"help": "Por motivos de privacidade, você pode hospedar a página de compartilhamento e fornecer a URL aqui. <anchor>Saiba mais</anchor>." },
} "ttsVoice": {
}, "label": "Voz de Fala",
"webshare": { "placeholder": "Selecione uma voz"
"heading": "Compartilhamento na Web", },
"columns": { "ssmlEnabled": {
"title": "Título", "label": "Habilitar SSML (Linguagem de Marcação de Sintese de Fala)"
"url": "URL", }
"actions": "Ações"
},
"tooltip": {
"delete": "Excluir Compartilhamento"
},
"confirm": {
"delete": "Você tem certeza de que deseja excluir este compartilhamento? Esta ação não pode ser desfeita."
},
"label": "Gerenciar Compartilhamento de Página",
"description": "Habilitar ou desabilitar o recurso de compartilhamento de página"
},
"notification": {
"pageShareSuccess": "URL de Compartilhamento de Página atualizada com sucesso",
"someError": "Algo deu errado. Tente novamente mais tarde",
"webShareDeleteSuccess": "Compartilhamento na Web excluído com sucesso"
}
},
"ollamaSettings": {
"title": "Configurações do Ollama",
"heading": "Configurar Ollama",
"settings": {
"ollamaUrl": {
"label": "URL do Ollama",
"placeholder": "Insira a URL do Ollama"
},
"advanced": {
"label": "Configuração Avançada da URL do Ollama",
"urlRewriteEnabled": {
"label": "Habilitar ou Desabilitar URL de Origem Personalizada"
},
"rewriteUrl": {
"label": "URL de Origem Personalizada",
"placeholder": "Insira a URL de Origem Personalizada"
},
"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, <anchor>clique aqui</anchor>."
}
}
},
"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 fazendo doações ou patrocínios através das seguintes plataformas:",
"koFi": "Apoiador no Ko-fi",
"githubSponsor": "Patrocinador no GitHub",
"githubRepo": "Repositório do GitHub"
},
"manageKnowledge": {
"title": "Gerenciar Conhecimento",
"heading": "Configurar Base de Conhecimento"
},
"rag": {
"title": "Configurações do RAG",
"ragSettings": {
"label": "Configurações do RAG",
"model": {
"label": "Modelo de Incorporação",
"required": "Por favor, selecione um modelo",
"help": "É altamente recomendável usar modelos de incorporação como `nomic-embed-text`.",
"placeholder": "Selecione um modelo"
},
"chunkSize": {
"label": "Tamanho do Chunk",
"placeholder": "Insira o tamanho do chunk",
"required": "Por favor, insira o tamanho do chunk"
},
"chunkOverlap": {
"label": "Sobreposição do Chunk",
"placeholder": "Insira a sobreposição do chunk",
"required": "Por favor, insira a sobreposição do chunk"
}
},
"prompt": {
"label": "Configurar Prompt do RAG",
"option1": "Normal",
"option2": "Web",
"alert": "Configurar o prompt do sistema aqui está depreciado. 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": "Insira 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": "Insira o prompt de pesquisa na web",
"webSearchFollowUpPrompt": "Prompt de Seguimento de Pesquisa na Web",
"webSearchFollowUpPromptHelp": "Não remova `{chat_history}` e `{question}` do prompt.",
"webSearchFollowUpPromptError": "Por favor, insira o prompt de seguimento de pesquisa na web",
"webSearchFollowUpPromptPlaceholder": "Seu prompt de seguimento de pesquisa na web"
}
} }
} },
"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 de Parâmetro",
"quantizationLevel": "Nível de Quantização"
},
"tooltip": {
"delete": "Excluir Modelo",
"repull": "Re-Puxar Modelo"
},
"confirm": {
"delete": "Você tem certeza de que deseja excluir este modelo?",
"repull": "Você tem certeza de que deseja re-puxar este modelo?"
},
"modal": {
"title": "Adicionar Novo Modelo",
"placeholder": "Insira o nome do modelo",
"pull": "Puxar Modelo"
},
"notification": {
"pullModel": "Puxando Modelo",
"pullModelDescription": "Puxando modelo {{modelName}}. Para mais detalhes, verifique o ícone da extensão.",
"success": "Sucesso",
"error": "Erro",
"successDescription": "Modelo puxado com sucesso",
"successDeleteDescription": "Modelo excluído com sucesso",
"someError": "Algo deu errado. 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": "Você tem certeza de que deseja excluir este prompt? Esta ação não pode ser desfeita."
},
"modal": {
"addTitle": "Adicionar Novo Prompt",
"editTitle": "Editar Prompt"
},
"form": {
"title": {
"label": "Título",
"placeholder": "Meu Prompt Incrível",
"required": "Por favor, insira um título"
},
"prompt": {
"label": "Prompt",
"placeholder": "Insira o prompt",
"required": "Por favor, insira um prompt",
"help": "Você pode usar {key} como variável em seu prompt."
},
"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": "Prompt adicionado com sucesso",
"error": "Erro",
"someError": "Algo deu errado. Tente novamente mais tarde",
"updatedSuccess": "Prompt Atualizado",
"updatedSuccessDesc": "Prompt atualizado com sucesso",
"deletedSuccess": "Prompt Excluído",
"deletedSuccessDesc": "Prompt 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": "Insira a URL de Compartilhamento de Página",
"required": "Por favor, insira a URL de Compartilhamento de Página!",
"help": "Por motivos de privacidade, você pode hospedar a página de compartilhamento e fornecer a URL aqui. <anchor>Saiba mais</anchor>."
}
},
"webshare": {
"heading": "Compartilhamento na Web",
"columns": {
"title": "Título",
"url": "URL",
"actions": "Ações"
},
"tooltip": {
"delete": "Excluir Compartilhamento"
},
"confirm": {
"delete": "Você tem certeza de que deseja excluir este compartilhamento? Esta ação não pode ser desfeita."
},
"label": "Gerenciar Compartilhamento de Página",
"description": "Habilitar ou desabilitar o recurso de compartilhamento de página"
},
"notification": {
"pageShareSuccess": "URL de Compartilhamento de Página atualizada com sucesso",
"someError": "Algo deu errado. Tente novamente mais tarde",
"webShareDeleteSuccess": "Compartilhamento na Web excluído com sucesso"
}
},
"ollamaSettings": {
"title": "Configurações do Ollama",
"heading": "Configurar Ollama",
"settings": {
"ollamaUrl": {
"label": "URL do Ollama",
"placeholder": "Insira a URL do Ollama"
},
"advanced": {
"label": "Configuração Avançada da URL do Ollama",
"urlRewriteEnabled": {
"label": "Habilitar ou Desabilitar URL de Origem Personalizada"
},
"rewriteUrl": {
"label": "URL de Origem Personalizada",
"placeholder": "Insira a URL de Origem Personalizada"
},
"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, <anchor>clique aqui</anchor>."
}
}
},
"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 fazendo doações ou patrocínios através das seguintes plataformas:",
"koFi": "Apoiador no Ko-fi",
"githubSponsor": "Patrocinador no GitHub",
"githubRepo": "Repositório do GitHub"
},
"manageKnowledge": {
"title": "Gerenciar Conhecimento",
"heading": "Configurar Base de Conhecimento"
},
"rag": {
"title": "Configurações do RAG",
"ragSettings": {
"label": "Configurações do RAG",
"model": {
"label": "Modelo de Incorporação",
"required": "Por favor, selecione um modelo",
"help": "É altamente recomendável usar modelos de incorporação como `nomic-embed-text`.",
"placeholder": "Selecione um modelo"
},
"chunkSize": {
"label": "Tamanho do Chunk",
"placeholder": "Insira o tamanho do chunk",
"required": "Por favor, insira o tamanho do chunk"
},
"chunkOverlap": {
"label": "Sobreposição do Chunk",
"placeholder": "Insira a sobreposição do chunk",
"required": "Por favor, insira a sobreposição do chunk"
}
},
"prompt": {
"label": "Configurar Prompt do RAG",
"option1": "Normal",
"option2": "Web",
"alert": "Configurar o prompt do sistema aqui está depreciado. 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": "Insira 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": "Insira o prompt de pesquisa na web",
"webSearchFollowUpPrompt": "Prompt de Seguimento de Pesquisa na Web",
"webSearchFollowUpPromptHelp": "Não remova `{chat_history}` e `{question}` do prompt.",
"webSearchFollowUpPromptError": "Por favor, insira o prompt de seguimento de pesquisa na web",
"webSearchFollowUpPromptPlaceholder": "Seu prompt de seguimento de pesquisa na web"
}
}
}

View File

@ -1,293 +1,305 @@
{ {
"generalSettings": { "generalSettings": {
"title": "Общие настройки", "title": "Общие настройки",
"settings": { "settings": {
"heading": "Настройки веб-интерфейса", "heading": "Настройки веб-интерфейса",
"speechRecognitionLang": { "speechRecognitionLang": {
"label": "Язык распознавания речи", "label": "Язык распознавания речи",
"placeholder": "Выберите язык" "placeholder": "Выберите язык"
}, },
"language": { "language": {
"label": "Язык", "label": "Язык",
"placeholder": "Выберите язык" "placeholder": "Выберите язык"
}, },
"darkMode": { "darkMode": {
"label": "Сменить тему", "label": "Сменить тему",
"options": { "options": {
"light": "Светлая", "light": "Светлая",
"dark": "Темная" "dark": "Темная"
}
},
"copilotResumeLastChat": {
"label": "Возобновить последний чат при открытии боковой панели (Copilot)"
},
"hideCurrentChatModelSettings": {
"label": "Скрыть текущие настройки модели чата"
}
},
"webSearch": {
"heading": "Управление веб-поиском",
"searchMode": {
"label": "Выполнить простой интернет-поиск"
},
"provider": {
"label": "Поисковый движок",
"placeholder": "Выберите поисковый движок"
},
"totalSearchResults": {
"label": "Общее количество результатов поиска",
"placeholder": "Введите общее количество результатов поиска"
},
"visitSpecificWebsite": {
"label": "Посетите веб-сайт, указанный в сообщении."
}
},
"system": {
"heading": "Настройки системы",
"deleteChatHistory": {
"label": "Удалить историю чата",
"button": "Удалить",
"confirm": "Вы уверены, что хотите удалить историю чата? Это действие нельзя отменить."
},
"export": {
"label": "Экспорт истории чата, базы знаний и подсказок",
"button": "Экспортировать данные",
"success": "Экспорт успешен"
},
"import": {
"label": "Импорт истории чата, базы знаний и подсказок",
"button": "Импортировать данные",
"success": "Импорт успешен",
"error": "Ошибка импорта"
}
},
"tts": {
"heading": "Настройки текст в речь",
"ttsEnabled": {
"label": "Включить текст в речь"
},
"ttsProvider": {
"label": "Поставщик текста в речь",
"placeholder": "Выберите поставщика"
},
"ttsVoice": {
"label": "Голос текста в речь",
"placeholder": "Выберите голос"
},
"ssmlEnabled": {
"label": "Включить SSML (язык разметки синтеза речи)"
}
} }
},
"copilotResumeLastChat": {
"label": "Возобновить последний чат при открытии боковой панели (Copilot)"
},
"hideCurrentChatModelSettings": {
"label": "Скрыть текущие настройки модели чата"
}
}, },
"manageModels": { "webSearch": {
"title": "Управление моделями", "heading": "Управление веб-поиском",
"addBtn": "Добавить новую модель", "searchMode": {
"columns": { "label": "Выполнить простой интернет-поиск"
"name": "Название", },
"digest": "Дайджест", "provider": {
"modifiedAt": "Изменено", "label": "Поисковый движок",
"size": "Размер", "placeholder": "Выберите поисковый движок"
"actions": "Действия" },
}, "totalSearchResults": {
"expandedColumns": { "label": "Общее количество результатов поиска",
"parentModel": "Родительская модель", "placeholder": "Введите общее количество результатов поиска"
"format": "Формат", },
"family": "Семейство", "visitSpecificWebsite": {
"parameterSize": "Размер параметров", "label": "Посетите веб-сайт, указанный в сообщении."
"quantizationLevel": "Уровень квантования" }
},
"tooltip": {
"delete": "Удалить модель",
"repull": "Переполучить модель"
},
"confirm": {
"delete": "Вы уверены, что хотите удалить эту модель?",
"repull": "Вы уверены, что хотите переполучить эту модель?"
},
"modal": {
"title": "Добавить новую модель",
"placeholder": "Введите название модели",
"pull": "Получить модель"
},
"notification": {
"pullModel": "Получение модели",
"pullModelDescription": "Получение модели {{modelName}}. Для получения дополнительной информации проверьте значок расширения.",
"success": "Успех",
"error": "Ошибка",
"successDescription": "Модель успешно получена",
"successDeleteDescription": "Модель успешно удалена",
"someError": "Что-то пошло не так. Пожалуйста, попробуйте позже"
}
}, },
"managePrompts": { "system": {
"title": "Управление подсказками", "heading": "Настройки системы",
"addBtn": "Добавить новую подсказку", "deleteChatHistory": {
"option1": "Обычная", "label": "Удалить историю чата",
"option2": "RAG", "button": "Удалить",
"questionPrompt": "Вопросная подсказка", "confirm": "Вы уверены, что хотите удалить историю чата? Это действие нельзя отменить."
"columns": { },
"title": "Название", "export": {
"prompt": "Подсказка", "label": "Экспорт истории чата, базы знаний и подсказок",
"type": "Тип подсказки", "button": "Экспортировать данные",
"actions": "Действия" "success": "Экспорт успешен"
}, },
"systemPrompt": "Системная подсказка", "import": {
"quickPrompt": "Быстрая подсказка", "label": "Импорт истории чата, базы знаний и подсказок",
"tooltip": { "button": "Импортировать данные",
"delete": "Удалить подсказку", "success": "Импорт успешен",
"edit": "Редактировать подсказку" "error": "Ошибка импорта"
}, }
"confirm": {
"delete": "Вы уверены, что хотите удалить эту подсказку? Это действие нельзя отменить."
},
"modal": {
"addTitle": "Добавить новую подсказку",
"editTitle": "Редактировать подсказку"
},
"form": {
"title": {
"label": "Название",
"placeholder": "Моя замечательная подсказка",
"required": "Пожалуйста, введите название"
},
"prompt": {
"label": "Подсказка",
"placeholder": "Введите подсказку",
"required": "Пожалуйста, введите подсказку",
"help": "Вы можете использовать {key} в качестве переменной в своей подсказке."
},
"isSystem": {
"label": "Это системная подсказка"
},
"btnSave": {
"saving": "Добавление подсказки...",
"save": "Добавить подсказку"
},
"btnEdit": {
"saving": "Обновление подсказки...",
"save": "Обновить подсказку"
}
},
"notification": {
"addSuccess": "Подсказка добавлена",
"addSuccessDesc": "Подсказка успешно добавлена",
"error": "Ошибка",
"someError": "Что-то пошло не так. Пожалуйста, попробуйте позже",
"updatedSuccess": "Подсказка обновлена",
"updatedSuccessDesc": "Подсказка успешно обновлена",
"deletedSuccess": "Подсказка удалена",
"deletedSuccessDesc": "Подсказка успешно удалена"
}
}, },
"manageShare": { "tts": {
"title": "Управление обменом", "heading": "Настройки текст в речь",
"heading": "Настройка URL обмена страницей", "ttsEnabled": {
"form": { "label": "Включить текст в речь"
"url": { },
"label": "URL обмена страницей", "ttsProvider": {
"placeholder": "Введите URL обмена страницей", "label": "Поставщик текста в речь",
"required": "Пожалуйста, введите ваш URL обмена страницей!", "placeholder": "Выберите поставщика"
"help": "По соображениям конфиденциальности вы можете самостоятельно разместить страницу обмена и указать здесь URL. <anchor>Узнать больше</anchor>." },
} "ttsVoice": {
}, "label": "Голос текста в речь",
"webshare": { "placeholder": "Выберите голос"
"heading": "Веб-обмен", },
"columns": { "ssmlEnabled": {
"title": "Название", "label": "Включить SSML (язык разметки синтеза речи)"
"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"
},
"advanced": {
"label": "Расширенная конфигурация URL Ollama",
"urlRewriteEnabled": {
"label": "Включить или отключить пользовательский исходный URL"
},
"rewriteUrl": {
"label": "Пользовательский исходный URL",
"placeholder": "Введите пользовательский исходный URL"
},
"help": "Если у вас возникают проблемы с подключением к Ollama на странице помощника, вы можете настроить пользовательский исходный URL. Чтобы узнать больше о конфигурации, <anchor>нажмите здесь</anchor>."
}
}
},
"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": "Пожалуйста, введите перекрытие фрагментов"
}
},
"prompt": {
"label": "Настройка системной подсказки RAG",
"option1": "Обычная",
"option2": "Веб",
"alert": "Настройка системной подсказки здесь устарела. Используйте раздел Управление подсказками для добавления или редактирования подсказок. Этот раздел будет удален в будущем выпуске",
"systemPrompt": "Системная подсказка",
"systemPromptPlaceholder": "Введите системную подсказку",
"webSearchPrompt": "Подсказка для веб-поиска",
"webSearchPromptHelp": "Не удаляйте `{search_results}` из подсказки.",
"webSearchPromptError": "Пожалуйста, введите подсказку для веб-поиска",
"webSearchPromptPlaceholder": "Введите подсказку для веб-поиска",
"webSearchFollowUpPrompt": "Последующая подсказка для веб-поиска",
"webSearchFollowUpPromptHelp": "Не удаляйте `{chat_history}` и `{question}` из подсказки.",
"webSearchFollowUpPromptError": "Введите подсказку для последующего веб-поиска!",
"webSearchFollowUpPromptPlaceholder": "Ваша подсказка для последующего веб-поиска"
}
} }
} },
"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": "Редактировать подсказку"
},
"form": {
"title": {
"label": "Название",
"placeholder": "Моя замечательная подсказка",
"required": "Пожалуйста, введите название"
},
"prompt": {
"label": "Подсказка",
"placeholder": "Введите подсказку",
"required": "Пожалуйста, введите подсказку",
"help": "Вы можете использовать {key} в качестве переменной в своей подсказке."
},
"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. <anchor>Узнать больше</anchor>."
}
},
"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"
},
"advanced": {
"label": "Расширенная конфигурация URL Ollama",
"urlRewriteEnabled": {
"label": "Включить или отключить пользовательский исходный URL"
},
"rewriteUrl": {
"label": "Пользовательский исходный URL",
"placeholder": "Введите пользовательский исходный URL"
},
"headers": {
"label": "Пользовательские Заголовки",
"add": "Добавить Заголовок",
"key": {
"label": "Ключ Заголовка",
"placeholder": "Авторизация"
},
"value": {
"label": "Значение Заголовка",
"placeholder": "Токен Bearer"
}
},
"help": "Если у вас возникают проблемы с подключением к Ollama на странице помощника, вы можете настроить пользовательский исходный URL. Чтобы узнать больше о конфигурации, <anchor>нажмите здесь</anchor>."
}
}
},
"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": "Пожалуйста, введите перекрытие фрагментов"
}
},
"prompt": {
"label": "Настройка системной подсказки RAG",
"option1": "Обычная",
"option2": "Веб",
"alert": "Настройка системной подсказки здесь устарела. Используйте раздел Управление подсказками для добавления или редактирования подсказок. Этот раздел будет удален в будущем выпуске",
"systemPrompt": "Системная подсказка",
"systemPromptPlaceholder": "Введите системную подсказку",
"webSearchPrompt": "Подсказка для веб-поиска",
"webSearchPromptHelp": "Не удаляйте `{search_results}` из подсказки.",
"webSearchPromptError": "Пожалуйста, введите подсказку для веб-поиска",
"webSearchPromptPlaceholder": "Введите подсказку для веб-поиска",
"webSearchFollowUpPrompt": "Последующая подсказка для веб-поиска",
"webSearchFollowUpPromptHelp": "Не удаляйте `{chat_history}` и `{question}` из подсказки.",
"webSearchFollowUpPromptError": "Введите подсказку для последующего веб-поиска!",
"webSearchFollowUpPromptPlaceholder": "Ваша подсказка для последующего веб-поиска"
}
}
}

View File

@ -1,297 +1,309 @@
{ {
"generalSettings": { "generalSettings": {
"title": "一般设置", "title": "一般设置",
"settings": { "settings": {
"heading": "Web UI 设置", "heading": "Web UI 设置",
"speechRecognitionLang": { "speechRecognitionLang": {
"label": "语音识别语言", "label": "语音识别语言",
"placeholder": "选择一种语言" "placeholder": "选择一种语言"
}, },
"language": { "language": {
"label": "语言", "label": "语言",
"placeholder": "选择一种语言" "placeholder": "选择一种语言"
}, },
"darkMode": { "darkMode": {
"label": "更改主题", "label": "更改主题",
"options": { "options": {
"light": "亮色", "light": "亮色",
"dark": "暗色" "dark": "暗色"
} }
}, },
"searchMode": { "searchMode": {
"label": "使用简化的互联网搜索" "label": "使用简化的互联网搜索"
}, },
"copilotResumeLastChat": { "copilotResumeLastChat": {
"label": "打开侧边栏时恢复上次聊天Copilot" "label": "打开侧边栏时恢复上次聊天Copilot"
}, },
"hideCurrentChatModelSettings": { "hideCurrentChatModelSettings": {
"label": "隐藏当前聊天模型设置" "label": "隐藏当前聊天模型设置"
} }
}, },
"webSearch": { "webSearch": {
"heading": "管理网络搜索", "heading": "管理网络搜索",
"searchMode": { "searchMode": {
"label": "执行简单的网际网路搜索" "label": "执行简单的网际网路搜索"
}, },
"provider": { "provider": {
"label": "搜索引擎", "label": "搜索引擎",
"placeholder": "选择一个搜索引擎" "placeholder": "选择一个搜索引擎"
}, },
"totalSearchResults": { "totalSearchResults": {
"label": "总搜索结果", "label": "总搜索结果",
"placeholder": "输入总搜索结果" "placeholder": "输入总搜索结果"
}, },
"visitSpecificWebsite": { "visitSpecificWebsite": {
"label": "访问消息中提到的网站。" "label": "访问消息中提到的网站。"
}
},
"system": {
"heading": "系统设置",
"deleteChatHistory": {
"label": "删除聊天记录",
"button": "删除",
"confirm": "您确定要删除聊天记录吗?此操作无法撤销。"
},
"export": {
"label": "导出聊天记录、知识库和提示",
"button": "导出数据",
"success": "导出成功"
},
"import": {
"label": "导入聊天记录、知识库和提示",
"button": "导入数据",
"success": "导入成功",
"error": "导入错误"
}
},
"tts": {
"heading": "文本转语音设置",
"ttsEnabled": {
"label": "启用文本转语音"
},
"ttsProvider": {
"label": "文本转语音提供商",
"placeholder": "选择一个提供商"
},
"ttsVoice": {
"label": "文本转语音语音",
"placeholder": "选择一种语音"
},
"ssmlEnabled": {
"label": "启用SSML(语音合成标记语言)"
}
} }
}, },
"system": { "manageModels": {
"heading": "系统设置", "title": "管理模型",
"deleteChatHistory": { "addBtn": "添加新模型",
"label": "删除聊天记录", "columns": {
"button": "删除", "name": "名称",
"confirm": "您确定要删除聊天记录吗?此操作无法撤销。" "digest": "摘要",
}, "modifiedAt": "修改时间",
"export": { "size": "大小",
"label": "导出聊天记录、知识库和提示", "actions": "操作"
"button": "导出数据",
"success": "导出成功"
},
"import": {
"label": "导入聊天记录、知识库和提示",
"button": "导入数据",
"success": "导入成功",
"error": "导入错误"
}
},
"tts": {
"heading": "文本转语音设置",
"ttsEnabled": {
"label": "启用文本转语音"
},
"ttsProvider": {
"label": "文本转语音提供商",
"placeholder": "选择一个提供商"
},
"ttsVoice": {
"label": "文本转语音语音",
"placeholder": "选择一种语音"
},
"ssmlEnabled": {
"label": "启用SSML(语音合成标记语言)"
}
}
}, },
"manageModels": { "expandedColumns": {
"title": "管理模型", "parentModel": "父模型",
"addBtn": "添加新模型", "format": "格式",
"columns": { "family": "家族",
"name": "名称", "parameterSize": "参数大小",
"digest": "摘要", "quantizationLevel": "量化级别"
"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": { "tooltip": {
"title": "管理提示词", "delete": "删除模型",
"addBtn": "添加新提示词", "repull": "重新拉取模型"
"option1": "普通",
"option2": "RAG",
"questionPrompt": "问题提示词",
"columns": {
"title": "标题",
"prompt": "提示词",
"type": "提示词类型",
"actions": "操作"
},
"systemPrompt": "系统提示词",
"quickPrompt": "快速提示词",
"tooltip": {
"delete": "删除提示词",
"edit": "编辑提示词"
},
"confirm": {
"delete": "您确定要删除此提示词吗?这个操作不能撤销。"
},
"modal": {
"addTitle": "添加新提示词",
"editTitle": "编辑提示词"
},
"form": {
"title": {
"label": "标题",
"placeholder": "我厉害的提示词",
"required": "请输入标题",
"help": "您可以在提示词中使用 {key} 作为变量。"
},
"prompt": {
"label": "提示词",
"placeholder": "输入提示词",
"required": "请输入提示词",
"help": "您可以在提示词中使用 {key} 作为变量。"
},
"isSystem": {
"label": "是否为系统提示词"
},
"btnSave": {
"saving": "添加提示词中...",
"save": "添加提示词"
},
"btnEdit": {
"saving": "更新提示词中...",
"save": "更新提示词"
}
},
"notification": {
"addSuccess": "提示词已添加",
"addSuccessDesc": "提示词已成功添加",
"error": "错误",
"someError": "出现了问题。请稍后再试。",
"updatedSuccess": "提示词已更新",
"updatedSuccessDesc": "提示词已成功更新",
"deletedSuccess": "提示词已删除",
"deletedSuccessDesc": "提示词已成功删除"
}
}, },
"manageShare": { "confirm": {
"title": "管理共享", "delete": "您确定要删除此模型吗?",
"heading": "配置对话共享服务 URL", "repull": "您确定要重新拉取此模型吗?"
"form": {
"url": {
"label": "对话共享服务 URL",
"placeholder": "输入对话共享服务 URL",
"required": "请输入您的对话共享服务 URL",
"help": "出于隐私原因,您可以自行托管对话共享服务并在此处提供 URL<anchor>了解更多</anchor>。"
}
},
"webshare": {
"heading": "对话共享",
"columns": {
"title": "标题",
"url": "URL",
"actions": "操作"
},
"tooltip": {
"delete": "删除对话共享"
},
"confirm": {
"delete": "您确定要删除此对话共享吗?这个操作不能撤销。"
},
"label": "管理页面分享",
"description": "启用或禁用页面分享功能 "
},
"notification": {
"pageShareSuccess": "对话共享服务 URL 已成功更新",
"someError": "出现了问题。请稍后再试。",
"webShareDeleteSuccess": "对话共享已成功删除"
}
}, },
"ollamaSettings": { "modal": {
"title": "Ollama 设置", "title": "添加新模型",
"heading": "配置 Ollama", "placeholder": "输入模型名称",
"settings": { "pull": "拉取模型"
"ollamaUrl": {
"label": "Ollama URL",
"placeholder": "输入 Ollama URL"
},
"advanced": {
"label": "Ollama URL 高级配置",
"urlRewriteEnabled": {
"label": "启用或禁用自定义来源 URL"
},
"rewriteUrl": {
"label": "自定义来源 URL",
"placeholder": "输入自定义来源 URL"
},
"help": "如果您在 Page Assist 上与 Ollama 有连接问题,您可以配置自定义来源 URL。要了解更多关于配置的信息,<anchor>点击此处</anchor>。"
}
}
}, },
"manageSearch": { "notification": {
"heading": "配置网络搜索", "pullModel": "正在拉取模型",
"title": "管理网络搜索" "pullModelDescription": "正在拉取 {{modelName}} ,请查看扩展图标。",
}, "success": "成功",
"about": { "error": "错误",
"title": "关于", "successDescription": "成功拉取了模型",
"heading": "关于", "successDeleteDescription": "成功删除了模型",
"chromeVersion": "Page Assist版本", "someError": "出现了问题。请稍后再试。"
"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": "1024-∞",
"required": "请输入块大小"
},
"chunkOverlap": {
"label": "嵌入重叠",
"placeholder": "256-∞",
"required": "请输入嵌入重叠"
}
},
"prompt": {
"label": "配置 RAG 提示词",
"option1": "普通",
"option2": "搜索",
"alert": "在此配置系统提示词已过时。请使用管理提示词部分添加或编辑提示词。此部分将在未来版本中删除",
"systemPrompt": "系统提示词",
"systemPromptPlaceholder": "输入系统提示词",
"webSearchPrompt": "网页搜索提示词",
"webSearchPromptHelp": "请勿从提示词中删除 `{search_results}`。",
"webSearchPromptError": "请输入一个网页搜索提示词",
"webSearchPromptPlaceholder": "输入网页搜索提示词",
"webSearchFollowUpPrompt": "网页搜索追问提示词",
"webSearchFollowUpPromptHelp": "请勿从提示词中删除 `{chat_history}` 和 `{question}`。",
"webSearchFollowUpPromptError": "请输入您的网页搜索追问提示词!",
"webSearchFollowUpPromptPlaceholder": "您的网页搜索追问提示词"
}
} }
} },
"managePrompts": {
"title": "管理提示词",
"addBtn": "添加新提示词",
"option1": "普通",
"option2": "RAG",
"questionPrompt": "问题提示词",
"columns": {
"title": "标题",
"prompt": "提示词",
"type": "提示词类型",
"actions": "操作"
},
"systemPrompt": "系统提示词",
"quickPrompt": "快速提示词",
"tooltip": {
"delete": "删除提示词",
"edit": "编辑提示词"
},
"confirm": {
"delete": "您确定要删除此提示词吗?这个操作不能撤销。"
},
"modal": {
"addTitle": "添加新提示词",
"editTitle": "编辑提示词"
},
"form": {
"title": {
"label": "标题",
"placeholder": "我厉害的提示词",
"required": "请输入标题",
"help": "您可以在提示词中使用 {key} 作为变量。"
},
"prompt": {
"label": "提示词",
"placeholder": "输入提示词",
"required": "请输入提示词",
"help": "您可以在提示词中使用 {key} 作为变量。"
},
"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<anchor>了解更多</anchor>。"
}
},
"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"
},
"advanced": {
"label": "Ollama URL 高级配置",
"urlRewriteEnabled": {
"label": "启用或禁用自定义来源 URL"
},
"rewriteUrl": {
"label": "自定义来源 URL",
"placeholder": "输入自定义来源 URL"
},
"headers": {
"label": "自定义头部",
"add": "添加头部",
"key": {
"label": "头部键",
"placeholder": "授权"
},
"value": {
"label": "头部值",
"placeholder": "承载令牌"
}
},
"help": "如果您在 Page Assist 上与 Ollama 有连接问题,您可以配置自定义来源 URL。要了解更多关于配置的信息,<anchor>点击此处</anchor>。"
}
}
},
"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": "RAG 设置",
"ragSettings": {
"label": "RAG 设置",
"model": {
"label": "文本嵌入模型",
"required": "请选择一个模型",
"help": "建议使用文本嵌入模型,如 `nomic-embed-text`。",
"placeholder": "选择一个模型"
},
"chunkSize": {
"label": "嵌入大小",
"placeholder": "1024-∞",
"required": "请输入块大小"
},
"chunkOverlap": {
"label": "嵌入重叠",
"placeholder": "256-∞",
"required": "请输入嵌入重叠"
}
},
"prompt": {
"label": "配置 RAG 提示词",
"option1": "普通",
"option2": "搜索",
"alert": "在此配置系统提示词已过时。请使用管理提示词部分添加或编辑提示词。此部分将在未来版本中删除",
"systemPrompt": "系统提示词",
"systemPromptPlaceholder": "输入系统提示词",
"webSearchPrompt": "网页搜索提示词",
"webSearchPromptHelp": "请勿从提示词中删除 `{search_results}`。",
"webSearchPromptError": "请输入一个网页搜索提示词",
"webSearchPromptPlaceholder": "输入网页搜索提示词",
"webSearchFollowUpPrompt": "网页搜索追问提示词",
"webSearchFollowUpPromptHelp": "请勿从提示词中删除 `{chat_history}` 和 `{question}`。",
"webSearchFollowUpPromptError": "请输入您的网页搜索追问提示词!",
"webSearchFollowUpPromptPlaceholder": "您的网页搜索追问提示词"
}
}
}

View File

@ -1,49 +1,132 @@
import { useStorage } from "@plasmohq/storage/hook" import { Divider, Input, Switch } from "antd"
import { Input, Switch } from "antd"
import { useTranslation } from "react-i18next" import { useTranslation } from "react-i18next"
import { Form } from "antd"
import React from "react"
import {
customOllamaHeaders,
getRewriteUrl,
isUrlRewriteEnabled,
setCustomOllamaHeaders,
setRewriteUrl,
setUrlRewriteEnabled
} from "@/services/app"
import { Trash2Icon } from "lucide-react"
import { SaveButton } from "../SaveButton"
export const AdvanceOllamaSettings = () => { export const AdvanceOllamaSettings = () => {
const [urlRewriteEnabled, setUrlRewriteEnabled] = useStorage( const [form] = Form.useForm()
"urlRewriteEnabled", const watchUrlRewriteEnabled = Form.useWatch("urlRewriteEnabled", form)
false
) const fetchAdvancedData = async () => {
const [urlRewriteEnabled, rewriteUrl, headers] = await Promise.all([
isUrlRewriteEnabled(),
getRewriteUrl(),
customOllamaHeaders()
])
form.setFieldsValue({ urlRewriteEnabled, rewriteUrl, headers })
}
React.useEffect(() => {
fetchAdvancedData()
}, [])
const [rewriteUrl, setRewriteUrl] = useStorage(
"rewriteUrl",
"http://127.0.0.1:11434"
)
const { t } = useTranslation("settings") const { t } = useTranslation("settings")
return ( return (
<div className="space-y-4"> <Form
<div className="flex sm:flex-row flex-col space-y-4 sm:space-y-0 sm:justify-between"> onFinish={(e) => {
<span className="text-gray-700 dark:text-neutral-50 "> const headers = e?.headers?.filter(
{t("ollamaSettings.settings.advanced.urlRewriteEnabled.label")} (header: { key: string; value: string }) => header.key && header.value
</span> )
<div> setUrlRewriteEnabled(e.urlRewriteEnabled)
<Switch setRewriteUrl(e.rewriteUrl)
className="mt-4 sm:mt-0" setCustomOllamaHeaders(headers)
checked={urlRewriteEnabled} }}
onChange={(checked) => setUrlRewriteEnabled(checked)} form={form}
/> layout="vertical"
</div> className="space-y-4">
</div> <Form.Item
<div className="flex flex-col space-y-4 sm:space-y-0 sm:justify-between"> name="urlRewriteEnabled"
<span className="text-gray-700 dark:text-neutral-50 mb-3"> label={t("ollamaSettings.settings.advanced.urlRewriteEnabled.label")}>
{t("ollamaSettings.settings.advanced.rewriteUrl.label")} <Switch />
</span> </Form.Item>
<div> <Form.Item
<Input required={watchUrlRewriteEnabled}
className="w-full" name="rewriteUrl"
value={rewriteUrl} label={t("ollamaSettings.settings.advanced.rewriteUrl.label")}>
disabled={!urlRewriteEnabled} <Input
placeholder={t( disabled={!watchUrlRewriteEnabled}
"ollamaSettings.settings.advanced.rewriteUrl.placeholder" className="w-full"
)} placeholder={t(
onChange={(e) => setRewriteUrl(e.target.value)} "ollamaSettings.settings.advanced.rewriteUrl.placeholder"
/> )}
</div> />
</div> </Form.Item>
</div>
<Form.List name="headers">
{(fields, { add, remove }) => (
<div className="flex flex-col ">
<div className="flex justify-between items-center">
<h3 className="text-md font-semibold">
{t("ollamaSettings.settings.advanced.headers.label")}
</h3>
<button
type="button"
className="dark:bg-white dark:text-black text-white bg-black p-1.5 text-xs rounded-md"
onClick={() => {
add()
}}>
{t("ollamaSettings.settings.advanced.headers.add")}
</button>
</div>
{fields.map((field, index) => (
<div key={field.key} className="flex items-center w-full">
<div className="flex-grow flex space-x-4">
<Form.Item
label={t(
"ollamaSettings.settings.advanced.headers.key.label"
)}
name={[field.name, "key"]}
className="flex-1 mb-0">
<Input
className="w-full"
placeholder={t(
"ollamaSettings.settings.advanced.headers.key.placeholder"
)}
/>
</Form.Item>
<Form.Item
label={t(
"ollamaSettings.settings.advanced.headers.value.label"
)}
name={[field.name, "value"]}
className="flex-1 mb-0">
<Input
className="w-full"
placeholder={t(
"ollamaSettings.settings.advanced.headers.value.placeholder"
)}
/>
</Form.Item>
</div>
<button
type="button"
onClick={() => {
remove(field.name)
}}
className="shrink-0 ml-2 text-red-500 dark:text-red-400">
<Trash2Icon className="w-5 h-5" />
</button>
</div>
))}
</div>
)}
</Form.List>
<Divider />
<Form.Item className="flex justify-end">
<SaveButton btnType="submit" />
</Form.Item>
</Form>
) )
} }

View File

@ -50,6 +50,14 @@ export const SettingsOllama = () => {
className="w-full p-2 border border-gray-300 rounded-md dark:bg-[#262626] dark:text-gray-100" className="w-full p-2 border border-gray-300 rounded-md dark:bg-[#262626] dark:text-gray-100"
/> />
</div> </div>
<div className="flex justify-end mb-3">
<SaveButton
onClick={() => {
saveOllamaURL(ollamaURL)
}}
className="mt-2"
/>
</div>
<Collapse <Collapse
size="small" size="small"
items={[ items={[
@ -79,15 +87,6 @@ export const SettingsOllama = () => {
} }
]} ]}
/> />
<div className="flex justify-end">
<SaveButton
onClick={() => {
saveOllamaURL(ollamaURL)
}}
className="mt-2"
/>
</div>
</div> </div>
<ModelSettings /> <ModelSettings />

View File

@ -1,6 +1,7 @@
import { Embeddings, EmbeddingsParams } from "@langchain/core/embeddings" import { Embeddings, EmbeddingsParams } from "@langchain/core/embeddings"
import type { StringWithAutocomplete } from "@langchain/core/utils/types" import type { StringWithAutocomplete } from "@langchain/core/utils/types"
import { parseKeepAlive } from "./utils/ollama" import { parseKeepAlive } from "./utils/ollama"
import { getCustomOllamaHeaders } from "@/services/app"
export interface OllamaInput { export interface OllamaInput {
embeddingOnly?: boolean embeddingOnly?: boolean
@ -213,12 +214,14 @@ export class OllamaEmbeddingsPageAssist extends Embeddings {
"http://127.0.0.1:" "http://127.0.0.1:"
) )
} }
const customHeaders = await getCustomOllamaHeaders()
const response = await fetch(`${formattedBaseUrl}/api/embeddings`, { const response = await fetch(`${formattedBaseUrl}/api/embeddings`, {
method: "POST", method: "POST",
headers: { headers: {
"Content-Type": "application/json", "Content-Type": "application/json",
...this.headers ...this.headers,
...customHeaders
}, },
body: JSON.stringify({ body: JSON.stringify({
prompt, prompt,

View File

@ -1,184 +1,189 @@
import { IterableReadableStream } from "@langchain/core/utils/stream"; import { IterableReadableStream } from "@langchain/core/utils/stream"
import type { StringWithAutocomplete } from "@langchain/core/utils/types"; import type { StringWithAutocomplete } from "@langchain/core/utils/types"
import { BaseLanguageModelCallOptions } from "@langchain/core/language_models/base"; import { BaseLanguageModelCallOptions } from "@langchain/core/language_models/base"
import { getCustomOllamaHeaders } from "@/services/app"
export interface OllamaInput { export interface OllamaInput {
embeddingOnly?: boolean; embeddingOnly?: boolean
f16KV?: boolean; f16KV?: boolean
frequencyPenalty?: number; frequencyPenalty?: number
headers?: Record<string, string>; headers?: Record<string, string>
keepAlive?: any; keepAlive?: any
logitsAll?: boolean; logitsAll?: boolean
lowVram?: boolean; lowVram?: boolean
mainGpu?: number; mainGpu?: number
model?: string; model?: string
baseUrl?: string; baseUrl?: string
mirostat?: number; mirostat?: number
mirostatEta?: number; mirostatEta?: number
mirostatTau?: number; mirostatTau?: number
numBatch?: number; numBatch?: number
numCtx?: number; numCtx?: number
numGpu?: number; numGpu?: number
numGqa?: number; numGqa?: number
numKeep?: number; numKeep?: number
numPredict?: number; numPredict?: number
numThread?: number; numThread?: number
penalizeNewline?: boolean; penalizeNewline?: boolean
presencePenalty?: number; presencePenalty?: number
repeatLastN?: number; repeatLastN?: number
repeatPenalty?: number; repeatPenalty?: number
ropeFrequencyBase?: number; ropeFrequencyBase?: number
ropeFrequencyScale?: number; ropeFrequencyScale?: number
temperature?: number; temperature?: number
stop?: string[]; stop?: string[]
tfsZ?: number; tfsZ?: number
topK?: number; topK?: number
topP?: number; topP?: number
typicalP?: number; typicalP?: number
useMLock?: boolean; useMLock?: boolean
useMMap?: boolean; useMMap?: boolean
vocabOnly?: boolean; vocabOnly?: boolean
seed?: number; seed?: number
format?: StringWithAutocomplete<"json">; format?: StringWithAutocomplete<"json">
} }
export interface OllamaRequestParams { export interface OllamaRequestParams {
model: string; model: string
format?: StringWithAutocomplete<"json">; format?: StringWithAutocomplete<"json">
images?: string[]; images?: string[]
options: { options: {
embedding_only?: boolean; embedding_only?: boolean
f16_kv?: boolean; f16_kv?: boolean
frequency_penalty?: number; frequency_penalty?: number
logits_all?: boolean; logits_all?: boolean
low_vram?: boolean; low_vram?: boolean
main_gpu?: number; main_gpu?: number
mirostat?: number; mirostat?: number
mirostat_eta?: number; mirostat_eta?: number
mirostat_tau?: number; mirostat_tau?: number
num_batch?: number; num_batch?: number
num_ctx?: number; num_ctx?: number
num_gpu?: number; num_gpu?: number
num_gqa?: number; num_gqa?: number
num_keep?: number; num_keep?: number
num_thread?: number; num_thread?: number
num_predict?: number; num_predict?: number
penalize_newline?: boolean; penalize_newline?: boolean
presence_penalty?: number; presence_penalty?: number
repeat_last_n?: number; repeat_last_n?: number
repeat_penalty?: number; repeat_penalty?: number
rope_frequency_base?: number; rope_frequency_base?: number
rope_frequency_scale?: number; rope_frequency_scale?: number
temperature?: number; temperature?: number
stop?: string[]; stop?: string[]
tfs_z?: number; tfs_z?: number
top_k?: number; top_k?: number
top_p?: number; top_p?: number
typical_p?: number; typical_p?: number
use_mlock?: boolean; use_mlock?: boolean
use_mmap?: boolean; use_mmap?: boolean
vocab_only?: boolean; vocab_only?: boolean
}; }
} }
export type OllamaMessage = { export type OllamaMessage = {
role: StringWithAutocomplete<"user" | "assistant" | "system">; role: StringWithAutocomplete<"user" | "assistant" | "system">
content: string; content: string
images?: string[]; images?: string[]
}; }
export interface OllamaGenerateRequestParams extends OllamaRequestParams { export interface OllamaGenerateRequestParams extends OllamaRequestParams {
prompt: string; prompt: string
} }
export interface OllamaChatRequestParams extends OllamaRequestParams { export interface OllamaChatRequestParams extends OllamaRequestParams {
messages: OllamaMessage[]; messages: OllamaMessage[]
} }
export type BaseOllamaGenerationChunk = { export type BaseOllamaGenerationChunk = {
model: string; model: string
created_at: string; created_at: string
done: boolean; done: boolean
total_duration?: number; total_duration?: number
load_duration?: number; load_duration?: number
prompt_eval_count?: number; prompt_eval_count?: number
prompt_eval_duration?: number; prompt_eval_duration?: number
eval_count?: number; eval_count?: number
eval_duration?: number; eval_duration?: number
}; }
export type OllamaGenerationChunk = BaseOllamaGenerationChunk & { export type OllamaGenerationChunk = BaseOllamaGenerationChunk & {
response: string; response: string
}; }
export type OllamaChatGenerationChunk = BaseOllamaGenerationChunk & { export type OllamaChatGenerationChunk = BaseOllamaGenerationChunk & {
message: OllamaMessage; message: OllamaMessage
}; }
export type OllamaCallOptions = BaseLanguageModelCallOptions & { export type OllamaCallOptions = BaseLanguageModelCallOptions & {
headers?: Record<string, string>; headers?: Record<string, string>
}; }
async function* createOllamaStream( async function* createOllamaStream(
url: string, url: string,
params: OllamaRequestParams, params: OllamaRequestParams,
options: OllamaCallOptions options: OllamaCallOptions
) { ) {
let formattedUrl = url; let formattedUrl = url
if (formattedUrl.startsWith("http://localhost:")) { if (formattedUrl.startsWith("http://localhost:")) {
// Node 18 has issues with resolving "localhost" // Node 18 has issues with resolving "localhost"
// See https://github.com/node-fetch/node-fetch/issues/1624 // See https://github.com/node-fetch/node-fetch/issues/1624
formattedUrl = formattedUrl.replace( formattedUrl = formattedUrl.replace(
"http://localhost:", "http://localhost:",
"http://127.0.0.1:" "http://127.0.0.1:"
); )
} }
const customHeaders = await getCustomOllamaHeaders()
const response = await fetch(formattedUrl, { const response = await fetch(formattedUrl, {
method: "POST", method: "POST",
body: JSON.stringify(params), body: JSON.stringify(params),
headers: { headers: {
"Content-Type": "application/json", "Content-Type": "application/json",
...options.headers, ...options.headers,
...customHeaders
}, },
signal: options.signal, signal: options.signal
}); })
if (!response.ok) { if (!response.ok) {
let error; let error
const responseText = await response.text(); const responseText = await response.text()
try { try {
const json = JSON.parse(responseText); const json = JSON.parse(responseText)
error = new Error( error = new Error(
`Ollama call failed with status code ${response.status}: ${json.error}` `Ollama call failed with status code ${response.status}: ${json.error}`
); )
// eslint-disable-next-line @typescript-eslint/no-explicit-any // eslint-disable-next-line @typescript-eslint/no-explicit-any
} catch (e: any) { } catch (e: any) {
error = new Error( error = new Error(
`Ollama call failed with status code ${response.status}: ${responseText}` `Ollama call failed with status code ${response.status}: ${responseText}`
); )
} }
// eslint-disable-next-line @typescript-eslint/no-explicit-any // eslint-disable-next-line @typescript-eslint/no-explicit-any
(error as any).response = response; ;(error as any).response = response
throw error; throw error
} }
if (!response.body) { if (!response.body) {
throw new Error( throw new Error(
"Could not begin Ollama stream. Please check the given URL and try again." "Could not begin Ollama stream. Please check the given URL and try again."
); )
} }
const stream = IterableReadableStream.fromReadableStream(response.body); const stream = IterableReadableStream.fromReadableStream(response.body)
const decoder = new TextDecoder(); const decoder = new TextDecoder()
let extra = ""; let extra = ""
for await (const chunk of stream) { for await (const chunk of stream) {
const decoded = extra + decoder.decode(chunk); const decoded = extra + decoder.decode(chunk)
const lines = decoded.split("\n"); const lines = decoded.split("\n")
extra = lines.pop() || ""; extra = lines.pop() || ""
for (const line of lines) { for (const line of lines) {
try { try {
yield JSON.parse(line); yield JSON.parse(line)
} catch (e) { } catch (e) {
console.warn(`Received a non-JSON parseable chunk: ${line}`); console.warn(`Received a non-JSON parseable chunk: ${line}`)
} }
} }
} }
@ -189,7 +194,7 @@ export async function* createOllamaGenerateStream(
params: OllamaGenerateRequestParams, params: OllamaGenerateRequestParams,
options: OllamaCallOptions options: OllamaCallOptions
): AsyncGenerator<OllamaGenerationChunk> { ): AsyncGenerator<OllamaGenerationChunk> {
yield* createOllamaStream(`${baseUrl}/api/generate`, params, options); yield* createOllamaStream(`${baseUrl}/api/generate`, params, options)
} }
export async function* createOllamaChatStream( export async function* createOllamaChatStream(
@ -197,13 +202,12 @@ export async function* createOllamaChatStream(
params: OllamaChatRequestParams, params: OllamaChatRequestParams,
options: OllamaCallOptions options: OllamaCallOptions
): AsyncGenerator<OllamaChatGenerationChunk> { ): AsyncGenerator<OllamaChatGenerationChunk> {
yield* createOllamaStream(`${baseUrl}/api/chat`, params, options); yield* createOllamaStream(`${baseUrl}/api/chat`, params, options)
} }
export const parseKeepAlive = (keepAlive: any) => { export const parseKeepAlive = (keepAlive: any) => {
if (keepAlive === "-1") { if (keepAlive === "-1") {
return -1 return -1
} }
return keepAlive return keepAlive
} }

View File

@ -5,10 +5,10 @@ const DEFAULT_URL_REWRITE_URL = "http://127.0.0.1:11434"
export const isUrlRewriteEnabled = async () => { export const isUrlRewriteEnabled = async () => {
const enabled = await storage.get<boolean | undefined>("urlRewriteEnabled") const enabled = await storage.get<boolean | undefined>("urlRewriteEnabled")
return enabled return enabled ?? false
} }
export const setUrlRewriteEnabled = async (enabled: boolean) => { export const setUrlRewriteEnabled = async (enabled: boolean) => {
await storage.set("urlRewriteEnabled", enabled ? "true" : "false") await storage.set("urlRewriteEnabled", enabled)
} }
export const getRewriteUrl = async () => { export const getRewriteUrl = async () => {
@ -35,12 +35,10 @@ export const getAdvancedOllamaSettings = async () => {
} }
} }
export const copilotResumeLastChat = async () => { export const copilotResumeLastChat = async () => {
return await storage.get<boolean>("copilotResumeLastChat") return await storage.get<boolean>("copilotResumeLastChat")
} }
export const defaultSidebarOpen = async () => { export const defaultSidebarOpen = async () => {
const sidebarOpen = await storage.get("sidebarOpen") const sidebarOpen = await storage.get("sidebarOpen")
if (!sidebarOpen || sidebarOpen === "") { if (!sidebarOpen || sidebarOpen === "") {
@ -49,7 +47,36 @@ export const defaultSidebarOpen = async () => {
return sidebarOpen return sidebarOpen
} }
export const setSidebarOpen = async (sidebarOpen: string) => { export const setSidebarOpen = async (sidebarOpen: string) => {
await storage.set("sidebarOpen", sidebarOpen) await storage.set("sidebarOpen", sidebarOpen)
} }
export const customOllamaHeaders = async (): Promise<
{ key: string; value: string }[]
> => {
const headers = await storage.get<
{ key: string; value: string }[] | undefined
>("customOllamaHeaders")
if (!headers) {
return []
}
return headers
}
export const setCustomOllamaHeaders = async (headers: string[]) => {
await storage.set("customOllamaHeaders", headers)
}
export const getCustomOllamaHeaders = async (): Promise<
Record<string, string>
> => {
const headers = await customOllamaHeaders()
const headerMap: Record<string, string> = {}
for (const header of headers) {
headerMap[header.key] = header.value
}
return headerMap
}