diff --git a/src/assets/locale/da/chrome.json b/src/assets/locale/da/chrome.json new file mode 100644 index 0000000..7c5e6d9 --- /dev/null +++ b/src/assets/locale/da/chrome.json @@ -0,0 +1,13 @@ +{ + "heading": "Konfigurer Chrome AI", + "status": { + "label": "Tænd eller sluk Chrome AI Support på Page Assist" + }, + "error": { + "browser_not_supported": "Denne version af Chrome er ikke understøttet af Gemini Nano modelen. Opdater venligst til version 127 eller nyere", + "ai_not_supported": "Indstillingen chrome://flags/#prompt-api-for-gemini-nano er ikke tændt. Venligst tænd for indstillingen.", + "ai_not_ready": "Gemini Nano er ikke tilgængelig; du er nødt til at double-cheke Chrome indstillingerne.", + "internal_error": "Der opstod en intern fejl. Prøv venligst igen senere." + }, + "errorDescription": "For at bruge Chrome AI skal du bruge en browserversion, der er nyere end 127, hvilket kun er tilgængelig i Dev og Canary channels. Efter at have downloadet den undersøttet version, følg disse steps:\n\n1. Gå til `chrome://flags/#prompt-api-for-gemini-nano` og vælg \"Enable\".\n2. Gå til `chrome://flags/#optimization-guide-on-device-model` og vælg \"EnabledBypassPrefRequirement\".\n3. Gå til `chrome://components`, søg efter \"Optimization Guide On Device Model\", og click \"Søg efter opdatering\". Dette vil downloade modelen. Hvis du ikke kan se indstillingerne, gentag trin 1 og 2 og genstart din browser." +} \ No newline at end of file diff --git a/src/assets/locale/da/common.json b/src/assets/locale/da/common.json new file mode 100644 index 0000000..5a60ec5 --- /dev/null +++ b/src/assets/locale/da/common.json @@ -0,0 +1,105 @@ +{ + "pageAssist": "Page Assist", + "selectAModel": "Vælg en Model", + "save": "Gem", + "saved": "Gemt", + "cancel": "Fortryd", + "retry": "Prøv igen", + "share": { + "tooltip": { + "share": "Del" + }, + "modal": { + "title": "Del link til Chatten" + }, + "form": { + "defaultValue": { + "name": "Anonym", + "title": "Unavngivet chat" + }, + "title": { + "label": "Chattitel", + "placeholder": "Indtast chattitel", + "required": "Chattitel er nødvendig" + }, + "name": { + "label": "Dit navn", + "placeholder": "Indtast dit navn", + "required": "Dit navn er nødvendig" + }, + "btn": { + "save": "Generer et Link", + "saving": "Generering af link..." + } + }, + "notification": { + "successGenerate": "Link kopied til udklipsholder", + "failGenerate": "Kunne ikke generere link" + } + }, + "copyToClipboard": "Kopier til udklipsholder", + "webSearch": "Søger på internettet", + "regenerate": "Regenerer", + "edit": "Ændre", + "saveAndSubmit": "Gem & Indsend", + "editMessage": { + "placeholder": "Skriv en besked..." + }, + "submit": "Indsend", + "noData": "Igen data", + "noHistory": "Igen chat history", + "chatWithCurrentPage": "Chat med nuværende side", + "beta": "Beta", + "tts": "Læs op", + "currentChatModelSettings": "Nuværende chat model indstillinger", + "modelSettings": { + "label": "Model Indstillinger", + "description": "Konfigurer model indstillingerne alle chats", + "form": { + "keepAlive": { + "label": "Hold i live", + "help": "controls how long the model will stay loaded into memory following the request (standard: 5m)", + "placeholder": "Indtast længden af sessionen (fx. 5m, 10m, 1t)" + }, + "temperature": { + "label": "Temperatur", + "placeholder": "Indtast Temperatur værdi (fx. 0.7, 1.0)" + }, + "numCtx": { + "label": "Længden af Kontekst", + "placeholder": "Instast Længden af Kontekst værdien (standard: 2048)" + }, + "seed": { + "label": "Seed", + "placeholder": "Indtast Seed værdi (fx. 1234)", + "help": "Reproducerbarhed af modeloutput" + }, + "topK": { + "label": "Top K", + "placeholder": "Indtast Top K værdi (fx. 40, 100)" + }, + "topP": { + "label": "Top P", + "placeholder": "Indtast Top P value (fx. 0.9, 0.95)" + }, + "numGpu": { + "label": "Antal GPU'er", + "placeholder": "Indtast antallet af lag, som sendes til GPU('er)" + }, + "systemPrompt": { + "label": "Midlertidige System Prompt", + "placeholder": "Indtast System Prompt", + "help": "Dette er en hurtig måde at indstille systemprompten i den aktuelle chat, som vil tilsidesætte den valgte systemprompt, hvis den findes." + } + }, + "advanced": "Flere Model Indstillinger" + }, + "copilot": { + "summary": "Opsummer", + "explain": "Forklar", + "rephrase": "Omskriv", + "translate": "Oversæt", + "custom": "Brugerdefineret" + }, + "citations": "Citater" +} \ No newline at end of file diff --git a/src/assets/locale/da/knowledge.json b/src/assets/locale/da/knowledge.json new file mode 100644 index 0000000..b1ae090 --- /dev/null +++ b/src/assets/locale/da/knowledge.json @@ -0,0 +1,43 @@ +{ + "addBtn": "Tilføj Ny Viden", + "columns": { + "title": "Titel", + "status": "Status", + "embeddings": "Embedding Model", + "createdAt": "Oprettet At", + "action": "Handlinger" + }, + "expandedColumns": { + "name": "Navn" + }, + "tooltip": { + "delete": "Slet" + }, + "confirm": { + "delete": "Er du sikker på du vil slette denne viden?" + }, + "deleteSuccess": "Viden slettet med success", + "status": { + "pending": "Venter", + "finished": "Færdig", + "processing": "Processerer", + "failed": "Fejlet" + }, + "addKnowledge": "Tilføj Viden", + "form": { + "title": { + "label": "Viden Titel", + "placeholder": "Indtast viden titel", + "required": "Viden titel er nødvendig" + }, + "uploadFile": { + "label": "Upload Filer", + "uploadText": "Træk og slip denne fil here og klik upload", + "uploadHint": "Understøttet filtyper: .pdf, .csv, .txt, .md, .docx", + "required": "En fil er nødvendig" + }, + "submit": "Indsend", + "success": "Viden tilføjet med success" + }, + "noEmbeddingModel": "Tilføj venligst en embedding model fra RAG indstillingerne først" +} \ No newline at end of file diff --git a/src/assets/locale/da/option.json b/src/assets/locale/da/option.json new file mode 100644 index 0000000..4548680 --- /dev/null +++ b/src/assets/locale/da/option.json @@ -0,0 +1,12 @@ +{ + "newChat": "Ny Chat", + "selectAPrompt": "Vælg en Prompt", + "githubRepository": "GitHub Repository", + "settings": "Indstillinger", + "sidebarTitle": "Chathistorik", + "error": "Fejl", + "somethingWentWrong": "Noget gik galt", + "validationSelectModel": "Venligst vælg en model for at forsæætte", + "deleteHistoryConfirmation": "Er du sikker på at du vil slette denne historik?", + "editHistoryTitle": "Indtast en ny titel" +} \ No newline at end of file diff --git a/src/assets/locale/da/playground.json b/src/assets/locale/da/playground.json new file mode 100644 index 0000000..f8df2b2 --- /dev/null +++ b/src/assets/locale/da/playground.json @@ -0,0 +1,29 @@ +{ + "ollamaState": { + "searching": "Søger efter din Ollama 🦙", + "running": "Ollama kør 🦙", + "notRunning": "Kan ikke oprette forbindelse til Ollama 🦙", + "connectionError": "Det lader til, at du har en forbindelsesfejl. Se venligst denne dokumentation for fejlfinding." + }, + "formError": { + "noModel": "Vælg venligst en model", + "noEmbeddingModel": "Vælg venligst en embedding model under indstillinger > RAG side" + }, + "form": { + "textarea": { + "placeholder": "Skriv en besked..." + }, + "webSearch": { + "on": "Til", + "off": "Fra" + } + }, + "tooltip": { + "searchInternet": "Søg Internettet", + "speechToText": "Tal til Tekst", + "uploadImage": "Upload Billed", + "stopStreaming": "Stop Streaming", + "knowledge": "Viden" + }, + "sendWhenEnter": "Søg, når Indtast trykkes" +} \ No newline at end of file diff --git a/src/assets/locale/da/settings.json b/src/assets/locale/da/settings.json new file mode 100644 index 0000000..372213f --- /dev/null +++ b/src/assets/locale/da/settings.json @@ -0,0 +1,339 @@ +{ + "generalSettings": { + "title": "Generelle Indstillinger", + "settings": { + "heading": "Web UI Indstillinger", + "speechRecognitionLang": { + "label": "Talegenkendelse Sprog", + "placeholder": "Vælg et sprog" + }, + "language": { + "label": "Sprog", + "placeholder": "Vælg et sprog" + }, + "darkMode": { + "label": "Ændre Tema", + "options": { + "light": "Lyst", + "dark": "Mørkt" + } + }, + "copilotResumeLastChat": { + "label": "Genoptag den sidste chat, når du åbner SidePanel (copilot)" + }, + "hideCurrentChatModelSettings": { + "label": "Skjul nuværende chat model indstillinger" + }, + "restoreLastChatModel": { + "label": "Gendan sidste brugte chatmodel fremtidigt" + }, + "sendNotificationAfterIndexing": { + "label": "Send besked efter færdigbehandling af vidensbasen" + }, + "generateTitle" :{ + "label": "Generer titel med AI" + } + }, + "sidepanelRag": { + "heading": "Copilot Chat med Website Indstillinger", + "ragEnabled": { + "label": "Chat med websitet ved brug af vector embeddings" + }, + "maxWebsiteContext": { + "label": "Normal webstedsindhold størrelse", + "placeholder": "Indholdsstørrelse (standard 4028)" + } + }, + "webSearch": { + "heading": "Administrer Web Søgning", + "searchMode": { + "label": "Søge Tilstand" + }, + "provider": { + "label": "Søgemaskine", + "placeholder": "Vælg en søgemaskine" + }, + "totalSearchResults": { + "label": "Antal søgeresultater", + "placeholder": "Indtast antal Søgeresultater" + }, + "visitSpecificWebsite": { + "label": "Besøg websitet nævnt i samtalen" + } + }, + "system": { + "heading": "Systemindstillinger", + "deleteChatHistory": { + "label": "Slet Chathistorik", + "button": "Slet", + "confirm": "Er du sikker på, at du vil slette din chathistorik? Denne handling kan ikke fortrydes." + + }, + "export": { + "label": "Eksporter chathistorik, vidensbase og prompts", + "button": "Eksporter Data", + "success": "Export lykkedes" + }, + "import": { + "label": "Importer chathistorik, vidensbase og prompts", + "button": "Importer Data", + "success": "Import lykkedes", + "error": "Importfejl" + } + }, + "tts": { + "heading": "Tekst-til-tale Indstillinger", + "ttsEnabled": { + "label": "Tilføj Teskt-til-Tale" + }, + "ttsProvider": { + "label": "Tekst-til-Tale Udbyder", + "placeholder": "Vælg en udbyder" + }, + "ttsVoice": { + "label": "Tekst-til-Tale Stemme", + "placeholder": "Vælg en stemme" + }, + "ssmlEnabled": { + "label": "Aktiver SSML (Speech Synthesis Markup Language)" + } + } + }, + "manageModels": { + "title": "Administer Modeller", + "addBtn": "Tilføj ny Model", + "columns": { + "name": "Navn", + "digest": "Digest", + "modifiedAt": "Ændret den", + "size": "Størrelse", + "actions": "Handlinger" + }, + "expandedColumns": { + "parentModel": "Forælder model", + "format": "Format", + "family": "Familie", + "parameterSize": "Parameterstørrelse", + "quantizationLevel": "kvantificeringsniveau" + }, + "tooltip": { + "delete": "Slet Model", + "repull": "Hent Model Igen" + }, + "confirm": { + "delete": "Er du sikker på, at du vil slette denne model?", + "repull": "Er du sikker på, at du vil hente denne model igen?" + }, + "modal": { + "title": "Tilføj Ny Model", + "placeholder": "Indtast Modelnavn", + "pull": "Hent Model" + }, + "notification": { + "pullModel": "Henter Model", + "pullModelDescription": "Henter {{modelName}} model. For flere detaljer, tjek udvidelsesikonet.", + "success": "Det virkede", + "error": "Fejl", + "successDescription": "Det lykkedes at hente modellen", + "successDeleteDescription": "Det lykkedes at slette modellen", + "someError": "Noget gik galt. Venligst prøv igen senere" + } + }, + "managePrompts": { + "title": "Administrer Prompts", + "addBtn": "Tilføj Ny Prompt", + "option1": "Normal", + "option2": "RAG", + "questionPrompt": "Spørgsmålsprompt", + "segmented": { + "custom": "Brugerdefinerede Prompts", + "copilot": "Copilot Prompts" + }, + "columns": { + "title": "Titel", + "prompt": "Prompt", + "type": "Prompttype", + "actions": "Handlinger" + }, + "systemPrompt": "Systemprompt", + "quickPrompt": "Hurtig Prompt", + "tooltip": { + "delete": "Slet Prompt", + "edit": "Ændre Prompt" + }, + "confirm": { + "delete": "Er du sikker på, at du vil slette denne prompt? Denne handling kan ikke fortrydes." }, + "modal": { + "addTitle": "Tilføj ny Prompt", + "editTitle": "Ændre Prompt" + }, + "form": { + "title": { + "label": "Titel", + "placeholder": "Min Seje Prompt", + "required": "Indtast venligst en titel" + }, + "prompt": { + "label": "Prompt", + "placeholder": "Indtast Prompt", + "required": "Venligst indtast en prompt", + "help": "Du kan bruge {key} som variabel i din prompt.", + "missingTextPlaceholder": "Variablen {text} mangler i prompten. Tilføj venligst dette." + }, + "isSystem": { + "label": "Er Systemprompt" + }, + "btnSave": { + "saving": "Tilføjer Prompt...", + "save": "Tilføj Prompt" + }, + "btnEdit": { + "saving": "Opdaterer Prompt...", + "save": "Opdater Prompt" + } + }, + "notification": { + "addSuccess": "Prompt Tilføjet", + "addSuccessDesc": "Prompt blev tilføjet med succes", + "error": "Fejl", + "someError": "Noget gik galt. Prøv venligst igen senere", + "updatedSuccess": "Prompt Opdateret", + "updatedSuccessDesc": "Prompt blev opdateret med succes", + "deletedSuccess": "Prompt Slettet", + "deletedSuccessDesc": "Prompt blev slettet med succes" + } + }, + "manageShare": { + "title": "Administrer Deling", + "heading": "Konfigurerer Page deling URL", + "form": { + "url": { + "label": "Page Deling URL", + "placeholder": "Indtast websted deling URL", + "required": "Venligst indstast din Page deling URL!", + "help": "Af hensyn til privatliv kan du selv hoste side delingen og angive URL'en her. Lær Mere." } + }, + "webshare": { + "heading": "Web Deling", + "columns": { + "title": "Titel", + "url": "URL", + "actions": "Handlinger" + }, + "tooltip": { + "delete": "Slet Deling" + }, + "confirm": { + "delete": "Er du sikker på du vil slette denne deling? Dette kan ikke fortrydes." + }, + "label": "Administrer Page Deling", + "description": "Tilføj eller disable the page share feature" + }, + "notification": { + "pageShareSuccess": "Page Deling URL Updateret korrekt", + "someError": "Noget gik galt. Prøv venligst igen senere", + "webShareDeleteSuccess": "Webdeling er slettet korrekt" + } + }, + "ollamaSettings": { + "title": "Ollama Indstillinger", + "heading": "Konfigurerer Ollama", + "settings": { + "ollamaUrl": { + "label": "Ollama URL", + "placeholder": "Indtast Ollama URL" + }, + "advanced": { + "label": "Avanceret Ollama URL Konfiguration", + "urlRewriteEnabled": { + "label": "Aktiver eller Deaktiver Tilpasset Oprindelses-URL" + }, + "rewriteUrl": { + "label": "Tilpasset Oprindelses URL", + "placeholder": "Indtast tilpasset oprindelses URL" + }, + "headers": { + "label": "Tilpas Headers", + "Tilføj": "Tilføj Header", + "key": { + "label": "Header Værdi", + "placeholder": "Autorisation" + }, + "value": { + "label": "Header Value", + "placeholder": "Bearer token" + } + }, + "help": "Hvis du har forbindelsesproblemer med Ollama på Page Assist, kan du konfigurere en brugerdefineret oprindelses-URL. For mere information om konfigurationen, klik her." } + } + }, + "manageSearch": { + "title": "Administrer Web Search", + "heading": "Konfigurerer Web Search" + }, + "about": { + "title": "Om", + "heading": "Om", + "chromeVersion": "Page Assist Version", + "ollamaVersion": "Ollama Version", + "support": "Du kan støtte Page Assist-projektet ved at donere eller sponsorere via følgende platforme:", + "koFi": "Støt på Ko-fi", + "githubSponsor": "Sponsor på GitHub", + "githubRepo": "GitHub Repository" + }, + "manageKnowledge": { + "title": "Administrer Viden", + "heading": "konfigurer Videnbase" + }, + "rag": { + "title": "RAG Indstillinger", + "ragSettings": { + "label": "RAG Indstillinger", + "model": { + "label": "Embedding Model", + "required": "Vælg venligst en model", + "help": "Det anbefales stærkt at bruge indlejringsmodeller som `nomic-embed-text`.", + "placeholder": "Vælg a model" + }, + "chunkSize": { + "label": "Chunk Størrelse", + "placeholder": "Indtast Chunk Størrelse", + "required": "Venligst indtast en chunk størrelse" + }, + "chunkOverlap": { + "label": "Chunk Overlap", + "placeholder": "Indtast Chunk Overlap", + "required": "Indtast venligst chunk overlap" + }, + "totalFilePerKB": { + "label": "Videnbase Standard Fil Upload Grænse", + "placeholder": "Indtast standard fil upload grænse (f.eks. 10)", + "required": "Indtast venligst standard fil upload grænsen" + }, + "noOfRetrievedDocs": { + "label": "Antal Hentede Dokumenter", + "placeholder": "Indtast Number of Retrieved Documents", + "required": "Venligst indtast the number of retrieved documents" + } + }, + "prompt": { + "label": "Konfigurer RAG Prompt", + "option1": "Normal", + "option2": "Web", + "alert": "Konfigurering af systemprompt her er forældet. Venligst brug Administrer Prompts sektionen til, at tilføje eller ændre prompts. Denne sektion vil blive fjernet i fremtidige versioner.", + "systemPrompt": "System Prompt", + "systemPromptPlaceholder": "Indtast System Prompt", + "webSearchPrompt": "Websøgningsprompt", + "webSearchPromptHelp": "Fjern ikke `{search_results}` fra prompten.", + "webSearchPromptError": "Venligst indtast a web search prompt", + "webSearchPromptPlaceholder": "Indtast Websøgningsprompt", + "webSearchFollowUpPrompt": "Web Search Follow Up Prompt", + "webSearchFollowUpPromptHelp": "Do not remove `{chat_history}` og `{question}` from the prompt.", + "webSearchFollowUpPromptError": "Indtast venligst din websøgning opfølgende prompt!", + "webSearchFollowUpPromptPlaceholder": "Din Websøgnings opfølgende Prompt" + } + }, + "chromeAiSettings": { + "title": "Chrome AI Indstillinger" + } +} diff --git a/src/assets/locale/da/sidepanel.json b/src/assets/locale/da/sidepanel.json new file mode 100644 index 0000000..d9abf2f --- /dev/null +++ b/src/assets/locale/da/sidepanel.json @@ -0,0 +1,7 @@ +{ + "tooltip": { + "embed": "Det kan tage et par minutter at indlejre siden. Vent venligst...", + "clear": "Slet chat historiken", + "history": "Chat historik" + } +} \ No newline at end of file diff --git a/src/assets/locale/no/chrome.json b/src/assets/locale/no/chrome.json new file mode 100644 index 0000000..a37c08d --- /dev/null +++ b/src/assets/locale/no/chrome.json @@ -0,0 +1,13 @@ +{ + "heading": "Konfigurer Chrome AI", + "status": { + "label": "Slå Chrome AI Support på eller av på Page Assist" + }, + "error": { + "browser_not_supported": "Denne versjonen av Chrome støttes ikke av Gemini Nano-modellen. Vennligst oppdater til versjon 127 eller nyere", + "ai_not_supported": "Innstillingen chrome://flags/#prompt-api-for-gemini-nano er ikke tændt. Slå på innstillingen..", + "ai_not_ready": "Gemini Nano er ikke tilgjengelig; du må dobbeltsjekke Chrome-innstillingene.", + "internal_error": "Det oppsto en intern feil. Vennligst prøv på nytt senere." + }, + "errorDescription": "For å bruke Chrome AI trenger du en nettleserversjon nyere enn 127, som kun er tilgjengelig i Dev - og Canary-kanaler. Etter å ha lastet ned den støttede versjonen, følg disse trinnene:\n\n1. Gå til `chrome://flags/#prompt-api-for-gemini-nano` and select \"Enable\".\n2. Gå til `://flags/#optimization-guide-on-device-model` og velge \"EnabledBypassPrefRequirement\".\n3. Gå til URL-linjen `://components`, søk på \"Optimization Guide On Device Model\", og klikk \"Search for update\". Dette vil laste ned modellen. Hvis du ikke ser innstillingene, gjentar du trinn 1 og 2 og starter nettleseren på nytt." +} \ No newline at end of file diff --git a/src/assets/locale/no/common.json b/src/assets/locale/no/common.json new file mode 100644 index 0000000..99c91ce --- /dev/null +++ b/src/assets/locale/no/common.json @@ -0,0 +1,105 @@ +{ + "pageAssist": "Sideassistent", + "selectAModel": "Velg en modell", + "save": "Lagre", + "saved": "Lagret", + "cancel": "Avbryt", + "retry": "Prøv igjen", + "share": { + "tooltip": { + "share": "Del" + }, + "modal": { + "title": "Del lenke til chatten" + }, + "form": { + "defaultValue": { + "name": "Anonym", + "title": "Navnløs chat" + }, + "title": { + "label": "Chattittel", + "placeholder": "Skriv inn chattittel", + "required": "Chattittel er nødvendig" + }, + "name": { + "label": "Ditt navn", + "placeholder": "Skriv inn ditt navn", + "required": "Ditt navn er nødvendig" + }, + "btn": { + "save": "Generer en lenke", + "saving": "Genererer lenke..." + } + }, + "notification": { + "successGenerate": "Lenke kopiert til utklippstavle", + "failGenerate": "Kunne ikke generere lenke" + } + }, + "copyToClipboard": "Kopier til utklippstavle", + "webSearch": "Søker på internett", + "regenerate": "Regenerer", + "edit": "Endre", + "saveAndSubmit": "Lagre & Send inn", + "editMessage": { + "placeholder": "Skriv en melding..." + }, + "submit": "Send inn", + "noData": "Ingen data", + "noHistory": "Ingen chathistorikk", + "chatWithCurrentPage": "Chat med nåværende side", + "beta": "Beta", + "tts": "Les opp", + "currentChatModelSettings": "Nåværende chatmodellinnstillinger", + "modelSettings": { + "label": "Modellinnstillinger", + "description": "Konfigurer modellinnstillingene for alle chatter", + "form": { + "keepAlive": { + "label": "Hold i live", + "help": "kontrollerer hvor lenge modellen vil forbli lastet i minnet etter forespørselen (standard: 5m)", + "placeholder": "Skriv inn lengden på økten (f.eks. 5m, 10m, 1t)" + }, + "temperature": { + "label": "Temperatur", + "placeholder": "Skriv inn temperaturverdi (f.eks. 0.7, 1.0)" + }, + "numCtx": { + "label": "Kontekstlengde", + "placeholder": "Skriv inn kontekstlengdeverdi (standard: 2048)" + }, + "seed": { + "label": "Seed", + "placeholder": "Skriv inn seedverdi (f.eks. 1234)", + "help": "Reproduserbarhet av modellutdata" + }, + "topK": { + "label": "Topp K", + "placeholder": "Skriv inn Topp K-verdi (f.eks. 40, 100)" + }, + "topP": { + "label": "Topp P", + "placeholder": "Skriv inn Topp P-verdi (f.eks. 0.9, 0.95)" + }, + "numGpu": { + "label": "Antall GPUer", + "placeholder": "Skriv inn antall lag som sendes til GPU(er)" + }, + "systemPrompt": { + "label": "Midlertidig systemprompt", + "placeholder": "Skriv inn systemprompt", + "help": "Dette er en rask måte å sette systemprompt i den nåværende chatten, som vil overstyre den valgte systemprompt hvis den finnes." + } + }, + "advanced": "Flere modellinnstillinger" + }, + "copilot": { + "summary": "Oppsummer", + "explain": "Forklar", + "rephrase": "Omformulér", + "translate": "Oversett", + "custom": "Egendefinert" + }, + "citations": "Sitater" +} \ No newline at end of file diff --git a/src/assets/locale/no/knowledge.json b/src/assets/locale/no/knowledge.json new file mode 100644 index 0000000..c5f7311 --- /dev/null +++ b/src/assets/locale/no/knowledge.json @@ -0,0 +1,43 @@ +{ + "addBtn": "Legg Til Ny Kunnskap", + "columns": { + "title": "Tittel", + "status": "Status", + "embeddings": "Embedding Modell", + "createdAt": "Opprettet På", + "action": "Handlinger" + }, + "expandedColumns": { + "name": "Navn" + }, + "tooltip": { + "delete": "Slett" + }, + "confirm": { + "delete": "Er du sikker på at du vil slette denne kunnskapen?" + }, + "deleteSuccess": "Kunnskap slettet med suksess", + "status": { + "pending": "Venter", + "finished": "Ferdig", + "processing": "Behandler", + "failed": "Mislyktes" + }, + "addKnowledge": "Legg Til Kunnskap", + "form": { + "title": { + "label": "Kunnskapstittel", + "placeholder": "Skriv inn kunnskapstittel", + "required": "Kunnskapstittel er nødvendig" + }, + "uploadFile": { + "label": "Last Opp Filer", + "uploadText": "Dra og slipp filen her og klikk for å laste opp", + "uploadHint": "Støttede filtyper: .pdf, .csv, .txt, .md, .docx", + "required": "En fil er nødvendig" + }, + "submit": "Send Inn", + "success": "Kunnskap lagt til med suksess" + }, + "noEmbeddingModel": "Vennligst legg til en embedding-modell fra RAG-innstillingene først" +} \ No newline at end of file diff --git a/src/assets/locale/no/option.json b/src/assets/locale/no/option.json new file mode 100644 index 0000000..76d335e --- /dev/null +++ b/src/assets/locale/no/option.json @@ -0,0 +1,12 @@ +{ + "newChat": "Ny Chat", + "selectAPrompt": "Velg en Prompt", + "githubRepository": "GitHub Repository", + "settings": "Innstillinger", + "sidebarTitle": "Chathistorikk", + "error": "Feil", + "somethingWentWrong": "Noe gikk galt", + "validationSelectModel": "Vennligst velg en modell for å fortsette", + "deleteHistoryConfirmation": "Er du sikker på at du vil slette denne historikken?", + "editHistoryTitle": "Skriv inn en ny tittel" +} diff --git a/src/assets/locale/no/playground.json b/src/assets/locale/no/playground.json new file mode 100644 index 0000000..b812649 --- /dev/null +++ b/src/assets/locale/no/playground.json @@ -0,0 +1,29 @@ +{ + "ollamaState": { + "searching": "Søker etter din Ollama 🦙", + "running": "Ollama kjører 🦙", + "notRunning": "Kan ikke koble til Ollama 🦙", + "connectionError": "Det ser ut til at du har en tilkoblingsfeil. Vennligst se denne dokumentasjonen for feilsøking." + }, + "formError": { + "noModel": "Vennligst velg en modell", + "noEmbeddingModel": "Vennligst velg en embedding-modell under innstillinger > RAG-siden" + }, + "form": { + "textarea": { + "placeholder": "Skriv en melding..." + }, + "webSearch": { + "on": "På", + "off": "Av" + } + }, + "tooltip": { + "searchInternet": "Søk på Internett", + "speechToText": "Tale til Tekst", + "uploadImage": "Last opp Bilde", + "stopStreaming": "Stopp Streaming", + "knowledge": "Kunnskap" + }, + "sendWhenEnter": "Søk når Enter trykkes" +} diff --git a/src/assets/locale/no/settings.json b/src/assets/locale/no/settings.json new file mode 100644 index 0000000..fb90aa5 --- /dev/null +++ b/src/assets/locale/no/settings.json @@ -0,0 +1,262 @@ +{ + "generalSettings": { + "title": "Generelle Innstillinger", + "settings": { + "heading": "Web UI Innstillinger", + "speechRecognitionLang": { + "label": "Talegjenkjenning Språk", + "placeholder": "Velg et språk" + }, + "language": { + "label": "Språk", + "placeholder": "Velg et språk" + }, + "darkMode": { + "label": "Endre Tema", + "options": { + "light": "Lyst", + "dark": "Mørkt" + } + }, + "copilotResumeLastChat": { + "label": "Gjenoppta siste chat ved åpning av SidePanel (copilot)" + }, + "hideCurrentChatModelSettings": { + "label": "Skjul gjeldende chat modell innstillinger" + }, + "restoreLastChatModel": { + "label": "Gjenopprett sist brukte chatmodell for fremtidig bruk" + }, + "sendNotificationAfterIndexing": { + "label": "Send varsel etter ferdigbehandling av kunnskapsbasen" + }, + "generateTitle" :{ + "label": "Generer tittel med AI" + } + }, + "sidepanelRag": { + "heading": "Copilot Chat med Nettsted Innstillinger", + "ragEnabled": { + "label": "Chat med nettstedet ved bruk av vektorinnleggelser (vector embeddings)" + }, + "maxWebsiteContext": { + "label": "Normal nettstedinnholds størrelse", + "placeholder": "Innholdsstørrelse (standard 4028)" + } + }, + "webSearch": { + "heading": "Administrer Web Søk", + "searchMode": { + "label": "Søkemodus" + }, + "provider": { + "label": "Søkemotor", + "placeholder": "Velg en søkemotor" + }, + "totalSearchResults": { + "label": "Antall søkeresultater", + "placeholder": "Skriv inn antall søkeresultater" + }, + "visitSpecificWebsite": { + "label": "Besøk nettstedet nevnt i samtalen" + } + }, + "system": { + "heading": "Systeminnstillinger", + "deleteChatHistory": { + "label": "Slett Chathistorikk", + "button": "Slett", + "confirm": "Er du sikker på at du vil slette chathistorikken din? Denne handlingen kan ikke angres." + }, + "export": { + "label": "Eksporter chathistorikk, kunnskapsbase og prompts", + "button": "Eksporter Data", + "success": "Eksport vellykket" + }, + "import": { + "label": "Importer chathistorikk, kunnskapsbase og prompts", + "button": "Importer Data", + "success": "Import vellykket", + "error": "Importfeil" + } + }, + "tts": { + "heading": "Tekst-til-tale Innstillinger", + "ttsEnabled": { + "label": "Legg til Tekst-til-Tale" + }, + "ttsProvider": { + "label": "Tekst-til-Tale Tilbyder", + "placeholder": "Velg en tilbyder" + }, + "ttsVoice": { + "label": "Tekst-til-Tale Stemme", + "placeholder": "Velg en stemme" + }, + "ssmlEnabled": { + "label": "Aktiver SSML (Speech Synthesis Markup Language)" + } + } + }, + "manageModels": { + "title": "Administrer Modeller", + "addBtn": "Legg til ny Modell", + "columns": { + "name": "Navn", + "digest": "Digest", + "modifiedAt": "Endret den", + "size": "Størrelse", + "actions": "Handlinger" + }, + "expandedColumns": { + "parentModel": "Overordnet modell", + "format": "Format", + "family": "Familie", + "parameterSize": "Parameterstørrelse", + "quantizationLevel": "Kvantifiseringsnivå" + }, + "tooltip": { + "delete": "Slett Modell", + "repull": "Hent Modell På Nytt" + }, + "confirm": { + "delete": "Er du sikker på at du vil slette denne modellen?", + "repull": "Er du sikker på at du vil hente denne modellen på nytt?" + }, + "modal": { + "title": "Legg til Ny Modell", + "placeholder": "Skriv inn Modellnavn", + "pull": "Hent Modell" + }, + "notification": { + "pullModel": "Henter Modell", + "pullModelDescription": "Henter {{modelName}} modell. For flere detaljer, sjekk utvidelsesikonet.", + "success": "Suksess", + "error": "Feil", + "successDescription": "Modellen ble hentet vellykket", + "successDeleteDescription": "Modellen ble slettet vellykket", + "someError": "Noe gikk galt. Vennligst prøv igjen senere" + } + }, + "managePrompts": { + "title": "Administrer Prompts", + "addBtn": "Legg til Ny Prompt", + "option1": "Normal", + "option2": "RAG", + "questionPrompt": "Spørsmålsprompt", + "segmented": { + "custom": "Tilpassede Prompts", + "copilot": "Copilot Prompts" + }, + "columns": { + "title": "Tittel", + "prompt": "Prompt", + "type": "Prompttype", + "actions": "Handlinger" + }, + "systemPrompt": "Systemprompt", + "quickPrompt": "Hurtigprompt", + "tooltip": { + "delete": "Slett Prompt", + "edit": "Endre Prompt" + }, + "confirm": { + "delete": "Er du sikker på at du vil slette denne prompten? Denne handlingen kan ikke angres." + }, + "modal": { + "addTitle": "Legg til ny Prompt", + "editTitle": "Endre Prompt" + }, + "form": { + "title": { + "label": "Tittel", + "placeholder": "Min Kule Prompt", + "required": "Vennligst skriv inn en tittel" + }, + "prompt": { + "label": "Prompt", + "placeholder": "Skriv inn Prompt", + "required": "Vennligst skriv inn en prompt", + "help": "Du kan bruke {key} som variabel i din prompt.", + "missingTextPlaceholder": "Variabelen {text} mangler i prompten. Vennligst legg til dette." + }, + "isSystem": { + "label": "Er Systemprompt" + }, + "btnSave": { + "saving": "Legger til Prompt...", + "save": "Legg til Prompt" + }, + "btnEdit": { + "saving": "Oppdaterer Prompt...", + "save": "Oppdater Prompt" + } + }, + "notification": { + "addSuccess": "Prompt Lagt Til", + "addSuccessDesc": "Prompt ble lagt til vellykket", + "error": "Feil", + "someError": "Noe gikk galt. Vennligst prøv igjen senere", + "updatedSuccess": "Prompt Oppdatert", + "updatedSuccessDesc": "Prompt ble oppdatert vellykket", + "deletedSuccess": "Prompt Slettet", + "deletedSuccessDesc": "Prompt ble slettet vellykket" + } + }, + "manageShare": { + "title": "Administrer Deling", + "heading": "Konfigurer Side deling URL", + "form": { + "url": { + "label": "Side Deling URL", + "placeholder": "Skriv inn side deling URL", + "required": "Vennligst skriv inn din Side deling URL!", + "help": "For personvern kan du selv hoste side delingen og angi URL-en her. Lær Mer." + } + }, + "webshare": { + "heading": "Web Deling", + "columns": { + "title": "Tittel", + "url": "URL", + "actions": "Handlinger" + }, + "tooltip": { + "delete": "Slett Deling" + }, + "confirm": { + "delete": "Er du sikker på at du vil slette denne delingen? Dette kan ikke angres." + }, + "label": "Administrer Side Deling", + "description": "Legg til eller deaktiver side delingsfunksjonen" + }, + "notification": { + "pageShareSuccess": "Side Deling URL oppdatert vellykket", + "someError": "Noe gikk galt. Vennligst prøv igjen senere", + "webShareDeleteSuccess": "Webdeling ble slettet vellykket" + } + }, + "ollamaSettings": { + "title": "Ollama Innstillinger", + "heading": "Konfigurer Ollama Plugin", + "enabled": { + "label": "Aktiver Ollama Plugin" + }, + "provider": { + "label": "Ollama Tilbyder", + "placeholder": "Velg en Ollama tilbyder" + }, + "apiKey": { + "label": "Ollama API Nøkkel", + "placeholder": "Skriv inn Ollama API Nøkkel", + "required": "API Nøkkel er påkrevd" + }, + "saveBtn": { + "save": "Lagre" + }, + "notification": { + "saveSuccess": "Ollama Plugin lagret vellykket", + "someError": "Noe gikk galt. Vennligst prøv igjen senere" + } + } +} diff --git a/src/assets/locale/no/sidepanel.json b/src/assets/locale/no/sidepanel.json new file mode 100644 index 0000000..6df9d20 --- /dev/null +++ b/src/assets/locale/no/sidepanel.json @@ -0,0 +1,7 @@ +{ + "tooltip": { + "embed": "Det kan ta noen minutter å bygge din siden. Vennligst vent...", + "clear": "Slett chathistorikken", + "history": "Chathistorikk" + } +} diff --git a/src/i18n/index.ts b/src/i18n/index.ts index 2a5029e..4b3826a 100644 --- a/src/i18n/index.ts +++ b/src/i18n/index.ts @@ -11,8 +11,12 @@ import { it } from "./lang/it"; import { es } from "./lang/es"; import { fa } from "./lang/fa"; import { de } from "./lang/de"; +import { da } from "./lang/da"; +import { no } from "./lang/no"; import LanguageDetector from 'i18next-browser-languagedetector'; +const supportedLanguages = ['en', 'zh', 'ja', 'fa', 'de', 'da', 'no', 'es', 'fr', 'it', 'ml', 'pt-BR', 'ru', 'zh-CN', 'ru-RU', 'ja-JP']; + i18n .use(LanguageDetector) .use(initReactI18next) @@ -32,10 +36,17 @@ i18n "ja-JP": ja, fa: fa, "fa-IR": fa, + da: da, + no: no, de: de }, fallbackLng: "en", + detection: { + order: ['localStorage', 'navigator'], + caches: ['localStorage'] + }, + supportedLngs: supportedLanguages, lng: localStorage.getItem("i18nextLng") || "en", - }) + }); -export default i18n; +export default i18n; \ No newline at end of file diff --git a/src/i18n/lang/da.ts b/src/i18n/lang/da.ts new file mode 100644 index 0000000..83caf80 --- /dev/null +++ b/src/i18n/lang/da.ts @@ -0,0 +1,17 @@ +import option from "@/assets/locale/da/option.json"; +import playground from "@/assets/locale/da/playground.json"; +import common from "@/assets/locale/da/common.json"; +import sidepanel from "@/assets/locale/da/sidepanel.json"; +import settings from "@/assets/locale/da/settings.json"; +import knowledge from "@/assets/locale/da/knowledge.json"; +import chrome from "@/assets/locale/da/chrome.json"; + +export const da = { + option, + playground, + common, + sidepanel, + settings, + knowledge, + chrome +} \ No newline at end of file diff --git a/src/i18n/lang/no.ts b/src/i18n/lang/no.ts new file mode 100644 index 0000000..f7541a6 --- /dev/null +++ b/src/i18n/lang/no.ts @@ -0,0 +1,17 @@ +import option from "@/assets/locale/no/option.json"; +import playground from "@/assets/locale/no/playground.json"; +import common from "@/assets/locale/no/common.json"; +import sidepanel from "@/assets/locale/no/sidepanel.json"; +import settings from "@/assets/locale/no/settings.json"; +import knowledge from "@/assets/locale/no/knowledge.json"; +import chrome from "@/assets/locale/no/chrome.json"; + +export const no = { + option, + playground, + common, + sidepanel, + settings, + knowledge, + chrome +} \ No newline at end of file diff --git a/src/i18n/support-language.ts b/src/i18n/support-language.ts index 17658dc..c9bbfa1 100644 --- a/src/i18n/support-language.ts +++ b/src/i18n/support-language.ts @@ -43,5 +43,13 @@ export const supportLanguage = [ { label: "Deutsch", value: "de" + }, + { + label: "Dansk", + value: "da" + }, + { + label: "Norsk", + value: "no" } ] diff --git a/src/public/_locales/da/messages.json b/src/public/_locales/da/messages.json new file mode 100644 index 0000000..b0b239d --- /dev/null +++ b/src/public/_locales/da/messages.json @@ -0,0 +1,29 @@ +{ + "extName": { + "message": "Page Assist - En Web UI for at køre AI modeller lokalt" + }, + "extDescription": { + "message": "Brug dine lokalt kørende AI-modeller til at hjælpe dig med at surfe på nettet." + }, + "openSidePanelToChat": { + "message": "Åben Copilot for at Chatte" + }, + "openOptionToChat": { + "message": "Åben Web UI for at Chatte" + }, + "contextSummarize": { + "message": "Opsummer" + }, + "contextExplain": { + "message": "Forklar" + }, + "contextRephrase": { + "message": "Omskriv" + }, + "contextTranslate" :{ + "message": "Oversæt" + }, + "contextCustom": { + "message": "Tilpasset" + } +} \ No newline at end of file diff --git a/src/public/_locales/no/messages.json b/src/public/_locales/no/messages.json new file mode 100644 index 0000000..1bb0b1f --- /dev/null +++ b/src/public/_locales/no/messages.json @@ -0,0 +1,29 @@ +{ + "extName": { + "message": "Page Assist - Et Web UI for at kjøre AI-modeller lokalt" + }, + "extDescription": { + "message": "Bruk dine lokalt kjørende AI-modeller til at hjælpe dig med at surfe på nettet." + }, + "openSidePanelToChat": { + "message": "Åben Copilot for at Chatte" + }, + "openOptionToChat": { + "message": "Åben Web UI for at Chatte" + }, + "contextSummarize": { + "message": "Oppsummer" + }, + "contextExplain": { + "message": "Forklar" + }, + "contextRephrase": { + "message": "Omskrive" + }, + "contextTranslate" :{ + "message": "Oversett" + }, + "contextCustom": { + "message": "Tilpasset" + } +} \ No newline at end of file