feat: Add custom headers support
This commit is contained in:
		
							parent
							
								
									86296c96b6
								
							
						
					
					
						commit
						52f9a2953a
					
				| @ -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>." | ||||||
|             } |             } | ||||||
|         } |         } | ||||||
|  | |||||||
| @ -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>." | ||||||
|             } |             } | ||||||
|         } |         } | ||||||
|  | |||||||
| @ -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>." | ||||||
|             } |             } | ||||||
|         } |         } | ||||||
|  | |||||||
| @ -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" | ||||||
|  |     } | ||||||
|  |   } | ||||||
| } | } | ||||||
| @ -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検索フォローアッププロンプト" | ||||||
|  |     } | ||||||
|  |   } | ||||||
| } | } | ||||||
| @ -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": "നിങ്ങളുടെ വെബ് തിരയല് തുടര്പ്രോംപ്റ്റ്" | ||||||
|  |     } | ||||||
|  |   } | ||||||
| } | } | ||||||
| @ -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" | ||||||
|  |     } | ||||||
|  |   } | ||||||
| } | } | ||||||
| @ -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": "Ваша подсказка для последующего веб-поиска" | ||||||
|  |     } | ||||||
|  |   } | ||||||
| } | } | ||||||
| @ -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", |     "notification": { | ||||||
|                 "placeholder": "输入 Ollama URL" |       "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": "请输入标题", | ||||||
|  |         "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": { |       "advanced": { | ||||||
|                 "label": "Ollama URL 高级配置", |         "label": "Ollama URL 高级配置", | ||||||
|                 "urlRewriteEnabled": { |         "urlRewriteEnabled": { | ||||||
|                     "label": "启用或禁用自定义来源 URL" |           "label": "启用或禁用自定义来源 URL" | ||||||
|                 }, |  | ||||||
|                 "rewriteUrl": { |  | ||||||
|                     "label": "自定义来源 URL", |  | ||||||
|                     "placeholder": "输入自定义来源 URL" |  | ||||||
|                 }, |  | ||||||
|                 "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": { |         "rewriteUrl": { | ||||||
|             "label": "配置 RAG 提示词", |           "label": "自定义来源 URL", | ||||||
|             "option1": "普通", |           "placeholder": "输入自定义来源 URL" | ||||||
|             "option2": "搜索", |         }, | ||||||
|             "alert": "在此配置系统提示词已过时。请使用管理提示词部分添加或编辑提示词。此部分将在未来版本中删除", |         "headers": { | ||||||
|             "systemPrompt": "系统提示词", |           "label": "自定义头部", | ||||||
|             "systemPromptPlaceholder": "输入系统提示词", |           "add": "添加头部", | ||||||
|             "webSearchPrompt": "网页搜索提示词", |           "key": { | ||||||
|             "webSearchPromptHelp": "请勿从提示词中删除 `{search_results}`。", |             "label": "头部键", | ||||||
|             "webSearchPromptError": "请输入一个网页搜索提示词", |             "placeholder": "授权" | ||||||
|             "webSearchPromptPlaceholder": "输入网页搜索提示词", |           }, | ||||||
|             "webSearchFollowUpPrompt": "网页搜索追问提示词", |           "value": { | ||||||
|             "webSearchFollowUpPromptHelp": "请勿从提示词中删除 `{chat_history}` 和 `{question}`。", |             "label": "头部值", | ||||||
|             "webSearchFollowUpPromptError": "请输入您的网页搜索追问提示词!", |             "placeholder": "承载令牌" | ||||||
|             "webSearchFollowUpPromptPlaceholder": "您的网页搜索追问提示词" |           } | ||||||
|         } |         }, | ||||||
|  |         "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": "您的网页搜索追问提示词" | ||||||
|  |     } | ||||||
|  |   } | ||||||
| } | } | ||||||
| @ -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> | ||||||
|   ) |   ) | ||||||
| } | } | ||||||
|  | |||||||
| @ -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 /> | ||||||
|  | |||||||
| @ -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, | ||||||
|  | |||||||
| @ -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,10 +202,9 @@ 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 | ||||||
|  | |||||||
| @ -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 | ||||||
|  | } | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user