diff --git a/src/assets/locale/it/common.json b/src/assets/locale/it/common.json new file mode 100644 index 00000000..df4f4c31 --- /dev/null +++ b/src/assets/locale/it/common.json @@ -0,0 +1,88 @@ +{ + "pageAssist": "Page Assist", + "selectAModel": "Seleziona un Modello", + "save": "Salva", + "saved": "Salvato", + "cancel": "Annulla", + "retry": "Riprova", + "share": { + "tooltip": { + "share": "Condividi" + }, + "modal": { + "title": "Condividi Collegamento alla Chat" + }, + "form": { + "defaultValue": { + "name": "Anonimo", + "title": "Chat Senza Titolo" + }, + "title": { + "label": "Titolo della Chat", + "placeholder": "Inserisci il Titolo della Chat", + "required": "Titolo della Chat obbligatorio" + }, + "name": { + "label": "Il tuo Nome", + "placeholder": "Inserisci il tuo Nome", + "required": "Nome obbligatorio" + }, + "btn": { + "save": "Genera Link", + "saving": "Sto generando il Link..." + } + }, + "notification": { + "successGenerate": "Link copiato negli appunti", + "failGenerate": "Impossibile generare il link" + } + }, + "copyToClipboard": "Copia negli Appunti", + "webSearch": "Ricerca nel Web", + "regenerate": "Rigenera", + "edit": "Modifica", + "saveAndSubmit": "Salva e Invia", + "editMessage": { + "placeholder": "Scrivi un messaggio..." + }, + "submit": "Invia", + "noData": "Nessun Dato", + "noHistory": "Nessuna Cronologia Chat", + "chatWithCurrentPage": "Chatta con la Pagina Corrente", + "beta": "Beta", + "tts": "Leggi ad Alta Voce", + "currentChatModelSettings": "Impostazioni del Modello Corrente", + "modelSettings": { + "label": "Impostazioni del Modello", + "description": "Imposta le opzioni del modello globalmente per tutte le chat", + "form": { + "keepAlive": { + "label": "Keep Alive", + "help": "Imposta il tempo per cui il modello deve rimanere caricato in memoria (default: 5m)", + "placeholder": "Inserisci la durata del Keep Alive (e.g. 5m, 10m, 1h)" + }, + "temperature": { + "label": "Temperatura", + "placeholder": "Inserisci la Temperatura (e.g. 0.7, 1.0)" + }, + "numCtx": { + "label": "Dimensione del Contesto", + "placeholder": "Inserisci la Dimensione del Contesto (default: 2048)" + }, + "seed": { + "label": "Seed", + "placeholder": "Inserisci il Valore Seed (e.g. 1234)", + "help": "Riproducibilità dell'output del modello" + }, + "topK": { + "label": "Top K", + "placeholder": "Inserisci il Valore Top K (e.g. 40, 100)" + }, + "topP": { + "label": "Top P", + "placeholder": "Inserisci il Valore Top P (e.g. 0.9, 0.95)" + } + }, + "advanced": "Altre Impostazioni del Modello" + } +} diff --git a/src/assets/locale/it/knowledge.json b/src/assets/locale/it/knowledge.json new file mode 100644 index 00000000..867cd84f --- /dev/null +++ b/src/assets/locale/it/knowledge.json @@ -0,0 +1,42 @@ +{ + "addBtn": "Aggiungi nuova Knowledge Base", + "columns": { + "title": "Titolo", + "status": "Stato", + "embeddings": "Modello di Embedding", + "createdAt": "Creato da", + "action": "Azioni" + }, + "expandedColumns": { + "name": "Nome" + }, + "tooltip": { + "delete": "Elimina" + }, + "confirm": { + "delete": "Sei sicuro di voler eliminare questa Knowledge Base?" + }, + "deleteSuccess": "Knowledge Base eliminata correttamente", + "status": { + "pending": "In attesa", + "finished": "Completato", + "processing": "In corso" + }, + "addKnowledge": "Aggiungi Knowledge Base", + "form": { + "title": { + "label": "Titolo Knowledge Base", + "placeholder": "Inserisci il titolo della Knowledge Base", + "required": "Il Titolo è obbligatorio" + }, + "uploadFile": { + "label": "Carica File", + "uploadText": "Trascina un file qui or scegli upload", + "uploadHint": "Tipi di file supportati: .pdf, .csv, .txt, .md, .docx", + "required": "File è obbligatorio" + }, + "submit": "Invia", + "success": "Knowledge Base aggiunta correttamente" + }, + "noEmbeddingModel": "Aggiungi prima un modello dalla pagina di impostazione di Ollama" +} \ No newline at end of file diff --git a/src/assets/locale/it/option.json b/src/assets/locale/it/option.json new file mode 100644 index 00000000..6fcd098f --- /dev/null +++ b/src/assets/locale/it/option.json @@ -0,0 +1,12 @@ +{ + "newChat": "Nuova Chat", + "selectAPrompt": "Scegli un Prompt", + "githubRepository": "GitHub Repository", + "settings": "Impsotazioni", + "sidebarTitle": "Cronologia Chat", + "error": "Errore", + "somethingWentWrong": "Qualcosa è andato storto", + "validationSelectModel": "Scegliere un modello per continuare", + "deleteHistoryConfirmation": "Sei sicuro che vuoi eliminare la cronologia?", + "editHistoryTitle": "Inserisci un nuovo titolo" +} \ No newline at end of file diff --git a/src/assets/locale/it/playground.json b/src/assets/locale/it/playground.json new file mode 100644 index 00000000..44972ebd --- /dev/null +++ b/src/assets/locale/it/playground.json @@ -0,0 +1,29 @@ +{ + "ollamaState": { + "searching": "Sto cercando Ollama 🦙", + "running": "Ollama è attivo 🦙", + "notRunning": "Impossibile connettersi a Ollama 🦙", + "connectionError": "C'è stato un problema di connessione. Controlla la documentazione per investigare." + }, + "formError": { + "noModel": "Seleziona un modello", + "noEmbeddingModel": "Imposta un modello di embedding da Impostazioni > Ollama" + }, + "form": { + "textarea": { + "placeholder": "Scrivi un messaggio..." + }, + "webSearch": { + "on": "Attivo", + "off": "Disattivato" + } + }, + "tooltip": { + "searchInternet": "Cerca su Internet", + "speechToText": "Speech to Text", + "uploadImage": "Carica immagine", + "stopStreaming": "Ferma lo Streaming", + "knowledge": "Conoscenza" + }, + "sendWhenEnter": "Invia subito dopo Enter" +} \ No newline at end of file diff --git a/src/assets/locale/it/settings.json b/src/assets/locale/it/settings.json new file mode 100644 index 00000000..7ab29d8d --- /dev/null +++ b/src/assets/locale/it/settings.json @@ -0,0 +1,286 @@ +{ + "generalSettings": { + "title": "Impostazioni Generali", + "settings": { + "heading": "Impostazioni Web UI", + "speechRecognitionLang": { + "label": "Lingua per il riconoscimento vocale", + "placeholder": "Scegli una lingua" + }, + "language": { + "label": "Lingua", + "placeholder": "Scegli una lingua" + }, + "darkMode": { + "label": "Cambia il Tema", + "options": { + "light": "Chiaro", + "dark": "Scuro" + } + }, + "copilotResumeLastChat": { + "label": "Riprendi l'ultima chat quando apri il Pannello Laterale (Copilot)" + }, + "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" + } + }, + "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)" + } + } + }, + "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. Leggi altro." + } + }, + "webshare": { + "heading": "Condivisioni Web", + "columns": { + "title": "Titolo", + "url": "URL", + "actions": "Azioni" + }, + "tooltip": { + "delete": "Elimina Condivisione" + }, + "confirm": { + "delete": "Sei sicuro che vuoi eliminare questa condivisione? L'azione non può essere annullata." + }, + "label": "Gestione Condivisioni", + "description": "Abilita o Disattiva la funzionalità di condivisione" + }, + "notification": { + "pageShareSuccess": " URL di condivisione aggiornato correttamente", + "someError": "Qualcosa è andato storto. Riprova più tardi", + "webShareDeleteSuccess": "Condivisione eliminata correttamente" + } + }, + "ollamaSettings": { + "title": "Impostazioni Ollama", + "heading": "Configura Ollama", + "settings": { + "ollamaUrl": { + "label": "Ollama URL", + "placeholder": "Inserici l'URL di Ollama" + }, + "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" + }, + "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, clicca qui." + } + } + }, + "manageSearch": { + "title": "Gestisci Ricerca Web", + "heading": "Configura Ricerca Web" + }, + "about": { + "title": "Informazioni", + "heading": "Informazioni", + "chromeVersion": "Versione di Page Assist", + "ollamaVersion": "Versione di Ollama", + "support": "Puoi supportare il progetto Page Assist donando o sponsorizzando attraverso le seguenti piattaforme:", + "koFi": "Supporta su Ko-fi", + "githubSponsor": "Sponsorizza su GitHub", + "githubRepo": "Repository GitHub" + }, + "manageKnowledge": { + "title": "Gestisci Conoscenza", + "heading": "Configura Base di Conoscenza" + } +} diff --git a/src/assets/locale/it/sidepanel.json b/src/assets/locale/it/sidepanel.json new file mode 100644 index 00000000..89c9ac2f --- /dev/null +++ b/src/assets/locale/it/sidepanel.json @@ -0,0 +1,7 @@ +{ + "tooltip": { + "embed": "L'inserimento della pagina potrebbe richiedere alcuni minuti. Attendere prego...", + "clear": "Cancella la cronologia della chat", + "history": "Cronologia della chat" + } +} \ No newline at end of file diff --git a/src/i18n/index.ts b/src/i18n/index.ts index 3a28a6e5..d0b7317e 100644 --- a/src/i18n/index.ts +++ b/src/i18n/index.ts @@ -5,6 +5,7 @@ import { ru } from "./lang/ru"; import { ml } from "./lang/ml"; import { zh } from "./lang/zh"; import { ja } from "./lang/ja"; +import { it } from "./lang/it"; import LanguageDetector from 'i18next-browser-languagedetector'; i18n @@ -13,6 +14,7 @@ i18n .init({ resources: { en: en, + "it": it, ml: ml, "zh-CN": zh, ru: ru, diff --git a/src/i18n/lang/it.ts b/src/i18n/lang/it.ts new file mode 100644 index 00000000..6be87df4 --- /dev/null +++ b/src/i18n/lang/it.ts @@ -0,0 +1,15 @@ +import option from "@/assets/locale/it/option.json"; +import playground from "@/assets/locale/it/playground.json"; +import common from "@/assets/locale/it/common.json"; +import sidepanel from "@/assets/locale/it/sidepanel.json"; +import settings from "@/assets/locale/it/settings.json"; +import knowledge from "@/assets/locale/it/knowledge.json"; + +export const it = { + option, + playground, + common, + sidepanel, + settings, + knowledge +} \ No newline at end of file diff --git a/src/i18n/support-language.ts b/src/i18n/support-language.ts index af7db404..a6e3f878 100644 --- a/src/i18n/support-language.ts +++ b/src/i18n/support-language.ts @@ -4,6 +4,10 @@ export const supportLanguage = [ label: "English", value: "en" }, + { + label: "Italiano", + value: "it" + }, { label: "Russian", value: "ru"