Spaces:
Sleeping
Sleeping
import { SubmitKey } from "../store/config"; | |
import type { PartialLocaleType } from "./index"; | |
import { getClientConfig } from "../config/client"; | |
import { SAAS_CHAT_UTM_URL } from "@/app/constant"; | |
const isApp = !!getClientConfig()?.isApp; | |
const no: PartialLocaleType = { | |
WIP: "Arbeid pågår ...", | |
Error: { | |
Unauthorized: isApp | |
? `😆 Samtalen har støtt på noen problemer, ikke bekymre deg: | |
\\ 1️⃣ Hvis du vil starte uten konfigurasjon, [klikk her for å begynne å chatte umiddelbart 🚀](${SAAS_CHAT_UTM_URL}) | |
\\ 2️⃣ Hvis du vil bruke dine egne OpenAI-ressurser, klikk [her](/#/settings) for å endre innstillingene ⚙️` | |
: `😆 Samtalen har støtt på noen problemer, ikke bekymre deg: | |
\ 1️⃣ Hvis du vil starte uten konfigurasjon, [klikk her for å begynne å chatte umiddelbart 🚀](${SAAS_CHAT_UTM_URL}) | |
\ 2️⃣ Hvis du bruker en privat distribusjonsversjon, klikk [her](/#/auth) for å skrive inn tilgangsnøkkelen 🔑 | |
\ 3️⃣ Hvis du vil bruke dine egne OpenAI-ressurser, klikk [her](/#/settings) for å endre innstillingene ⚙️ | |
`, | |
}, | |
Auth: { | |
Title: "Passord påkrevd", | |
Tips: "Administrator har aktivert passordbeskyttelse. Vennligst skriv inn tilgangskoden nedenfor", | |
SubTips: "Eller skriv inn din OpenAI eller Google API-nøkkel", | |
Input: "Skriv tilgangskoden her", | |
Confirm: "Bekreft", | |
Later: "Kom tilbake senere", | |
Return: "Tilbake", | |
SaasTips: | |
"Konfigurasjonen er for komplisert, jeg vil bruke det med en gang", | |
TopTips: | |
"🥳 NextChat AI lanseringstilbud, lås opp OpenAI o1, GPT-4o, Claude-3.5 og de nyeste store modellene nå", | |
}, | |
ChatItem: { | |
ChatItemCount: (count: number) => `${count} samtaler`, | |
}, | |
Chat: { | |
SubTitle: (count: number) => `Totalt ${count} samtaler`, | |
EditMessage: { | |
Title: "Rediger meldingshistorikk", | |
Topic: { | |
Title: "Samtaleemne", | |
SubTitle: "Endre nåværende samtaleemne", | |
}, | |
}, | |
Actions: { | |
ChatList: "Vis meldingsliste", | |
CompressedHistory: "Vis komprimert historikk", | |
Export: "Eksporter samtaler", | |
Copy: "Kopier", | |
Stop: "Stopp", | |
Retry: "Prøv igjen", | |
Pin: "Fest", | |
PinToastContent: | |
"1 samtale er festet til forhåndsdefinerte oppfordringer", | |
PinToastAction: "Se", | |
Delete: "Slett", | |
Edit: "Rediger", | |
RefreshTitle: "Oppdater tittel", | |
RefreshToast: "Forespørsel om titteloppdatering sendt", | |
}, | |
Commands: { | |
new: "Ny samtale", | |
newm: "Start samtale fra maske", | |
next: "Neste samtale", | |
prev: "Forrige samtale", | |
clear: "Rydd kontekst", | |
del: "Slett samtale", | |
}, | |
InputActions: { | |
Stop: "Stopp respons", | |
ToBottom: "Rull til nyeste", | |
Theme: { | |
auto: "Automatisk tema", | |
light: "Lyst tema", | |
dark: "Mørkt tema", | |
}, | |
Prompt: "Hurtigkommando", | |
Masks: "Alle masker", | |
Clear: "Rydd samtale", | |
Settings: "Samtaleinnstillinger", | |
UploadImage: "Last opp bilde", | |
}, | |
Rename: "Gi nytt navn til samtale", | |
Typing: "Skriver…", | |
Input: (submitKey: string) => { | |
var inputHints = `${submitKey} send`; | |
if (submitKey === String(SubmitKey.Enter)) { | |
inputHints += ",Shift + Enter for linjeskift"; | |
} | |
return ( | |
inputHints + ",/ for å utløse autoutfylling, : for å utløse kommando" | |
); | |
}, | |
Send: "Send", | |
Config: { | |
Reset: "Fjern minne", | |
SaveAs: "Lagre som maske", | |
}, | |
IsContext: "Forhåndsdefinerte oppfordringer", | |
}, | |
Export: { | |
Title: "Del samtalehistorikk", | |
Copy: "Kopier alt", | |
Download: "Last ned fil", | |
Share: "Del til ShareGPT", | |
MessageFromYou: "Bruker", | |
MessageFromChatGPT: "ChatGPT", | |
Format: { | |
Title: "Eksporterformat", | |
SubTitle: "Kan eksporteres som Markdown-tekst eller PNG-bilde", | |
}, | |
IncludeContext: { | |
Title: "Inkluder maske kontekst", | |
SubTitle: "Skal maske kontekst vises i meldinger", | |
}, | |
Steps: { | |
Select: "Velg", | |
Preview: "Forhåndsvis", | |
}, | |
Image: { | |
Toast: "Genererer skjermbilde", | |
Modal: "Langtrykk eller høyreklikk for å lagre bilde", | |
}, | |
}, | |
Select: { | |
Search: "Søk meldinger", | |
All: "Velg alle", | |
Latest: "Siste meldinger", | |
Clear: "Fjern valg", | |
}, | |
Memory: { | |
Title: "Historisk sammendrag", | |
EmptyContent: "Samtaleinnholdet er for kort, ingen oppsummering nødvendig", | |
Send: "Automatisk komprimere samtalehistorikk og sende som kontekst", | |
Copy: "Kopier sammendrag", | |
Reset: "[unused]", | |
ResetConfirm: "Er du sikker på at du vil tømme historisk sammendrag?", | |
}, | |
Home: { | |
NewChat: "Ny samtale", | |
DeleteChat: "Er du sikker på at du vil slette den valgte samtalen?", | |
DeleteToast: "Samtale slettet", | |
Revert: "Angre", | |
}, | |
Settings: { | |
Title: "Innstillinger", | |
SubTitle: "Alle innstillingsalternativer", | |
Danger: { | |
Reset: { | |
Title: "Tilbakestill alle innstillinger", | |
SubTitle: | |
"Tilbakestill alle innstillingsalternativer til standardverdier", | |
Action: "Tilbakestill nå", | |
Confirm: "Bekreft tilbakestilling av alle innstillinger?", | |
}, | |
Clear: { | |
Title: "Slett alle data", | |
SubTitle: "Slett alle samtaler og innstillingsdata", | |
Action: "Slett nå", | |
Confirm: "Bekreft sletting av alle samtaler og innstillingsdata?", | |
}, | |
}, | |
Lang: { | |
Name: "Language", // ATTENTION: if you wanna add a new translation, please do not translate this value, leave it as `Language` | |
All: "Alle språk", | |
}, | |
Avatar: "Profilbilde", | |
FontSize: { | |
Title: "Skriftstørrelse", | |
SubTitle: "Skriftstørrelse for samtaleinnhold", | |
}, | |
FontFamily: { | |
Title: "Chat-skrifttype", | |
SubTitle: | |
"Skrifttypen for chatinnhold, la stå tom for å bruke global standardskrifttype", | |
Placeholder: "Skriftnavn", | |
}, | |
InjectSystemPrompts: { | |
Title: "Injiser systemprompter", | |
SubTitle: | |
"Tving inn et systemprompt som simulerer ChatGPT i starten av hver forespørsel", | |
}, | |
InputTemplate: { | |
Title: "Forhåndsbehandling av brukerinput", | |
SubTitle: | |
"Den nyeste meldingen fra brukeren vil bli fylt ut i denne malen", | |
}, | |
Update: { | |
Version: (x: string) => `Nåværende versjon: ${x}`, | |
IsLatest: "Er den nyeste versjonen", | |
CheckUpdate: "Sjekk oppdateringer", | |
IsChecking: "Sjekker oppdateringer...", | |
FoundUpdate: (x: string) => `Ny versjon oppdaget: ${x}`, | |
GoToUpdate: "Gå til oppdatering", | |
}, | |
SendKey: "Send-knapp", | |
Theme: "Tema", | |
TightBorder: "Ingen ramme-modus", | |
SendPreviewBubble: { | |
Title: "Forhåndsvisningsboble", | |
SubTitle: "Forhåndsvis Markdown-innhold i en forhåndsvisningsboble", | |
}, | |
AutoGenerateTitle: { | |
Title: "Automatisk generere tittel", | |
SubTitle: "Generer en passende tittel basert på samtaleinnholdet", | |
}, | |
Sync: { | |
CloudState: "Skydatasynkronisering", | |
NotSyncYet: "Har ikke blitt synkronisert ennå", | |
Success: "Synkronisering vellykket", | |
Fail: "Synkronisering mislyktes", | |
Config: { | |
Modal: { | |
Title: "Konfigurer sky-synkronisering", | |
Check: "Sjekk tilgjengelighet", | |
}, | |
SyncType: { | |
Title: "Synkroniseringstype", | |
SubTitle: "Velg ønsket synkroniseringsserver", | |
}, | |
Proxy: { | |
Title: "Aktiver proxy", | |
SubTitle: | |
"Når du synkroniserer i nettleseren, må proxy være aktivert for å unngå CORS-restriksjoner", | |
}, | |
ProxyUrl: { | |
Title: "Proxy-URL", | |
SubTitle: "Kun for prosjektets innebygde CORS-proxy", | |
}, | |
WebDav: { | |
Endpoint: "WebDAV-adresse", | |
UserName: "Brukernavn", | |
Password: "Passord", | |
}, | |
UpStash: { | |
Endpoint: "UpStash Redis REST-URL", | |
UserName: "Sikkerhetskopinavn", | |
Password: "UpStash Redis REST-token", | |
}, | |
}, | |
LocalState: "Lokal data", | |
Overview: (overview: any) => { | |
return `${overview.chat} samtaler, ${overview.message} meldinger, ${overview.prompt} oppfordringer, ${overview.mask} masker`; | |
}, | |
ImportFailed: "Import mislyktes", | |
}, | |
Mask: { | |
Splash: { | |
Title: "Maskestartside", | |
SubTitle: "Vis maskestartside når du oppretter en ny samtale", | |
}, | |
Builtin: { | |
Title: "Skjul innebygde masker", | |
SubTitle: "Skjul innebygde masker i alle maskelister", | |
}, | |
}, | |
Prompt: { | |
Disable: { | |
Title: "Deaktiver automatisk fullføring av oppfordringer", | |
SubTitle: "Skriv / i tekstboksen for å utløse automatisk fullføring", | |
}, | |
List: "Egendefinerte oppfordringer", | |
ListCount: (builtin: number, custom: number) => | |
`Innebygde ${builtin}, brukerdedefinerte ${custom}`, | |
Edit: "Rediger", | |
Modal: { | |
Title: "Oppfordringsliste", | |
Add: "Ny", | |
Search: "Søk oppfordringer", | |
}, | |
EditModal: { | |
Title: "Rediger oppfordring", | |
}, | |
}, | |
HistoryCount: { | |
Title: "Antall historiske meldinger", | |
SubTitle: "Antall historiske meldinger som sendes med hver forespørsel", | |
}, | |
CompressThreshold: { | |
Title: "Kompressterskel for historiske meldinger", | |
SubTitle: | |
"Når ukomprimerte historiske meldinger overskrider denne verdien, vil de bli komprimert", | |
}, | |
Usage: { | |
Title: "Saldoforespørsel", | |
SubTitle(used: any, total: any) { | |
return `Brukt denne måneden $${used}, total abonnementsbeløp $${total}`; | |
}, | |
IsChecking: "Sjekker...", | |
Check: "Sjekk på nytt", | |
NoAccess: "Skriv inn API-nøkkel eller tilgangspassord for å se saldo", | |
}, | |
Access: { | |
SaasStart: { | |
Title: "Bruk NextChat AI", | |
Label: "(Den mest kostnadseffektive løsningen)", | |
SubTitle: | |
"Offisielt vedlikeholdt av NextChat, klar til bruk uten konfigurasjon, støtter de nyeste store modellene som OpenAI o1, GPT-4o og Claude-3.5", | |
ChatNow: "Chat nå", | |
}, | |
AccessCode: { | |
Title: "Adgangskode", | |
SubTitle: "Administrator har aktivert kryptert tilgang", | |
Placeholder: "Skriv inn tilgangskoden", | |
}, | |
CustomEndpoint: { | |
Title: "Egendefinert API", | |
SubTitle: "Bruk egendefinerte Azure- eller OpenAI-tjenester", | |
}, | |
Provider: { | |
Title: "Modelltilbyder", | |
SubTitle: "Bytt til forskjellige tilbydere", | |
}, | |
OpenAI: { | |
ApiKey: { | |
Title: "API-nøkkel", | |
SubTitle: | |
"Bruk egendefinert OpenAI-nøkkel for å omgå passordtilgangsbegrensninger", | |
Placeholder: "OpenAI API-nøkkel", | |
}, | |
Endpoint: { | |
Title: "API-adresse", | |
SubTitle: "Må inkludere http(s):// utenom standardadresse", | |
}, | |
}, | |
Azure: { | |
ApiKey: { | |
Title: "API-nøkkel", | |
SubTitle: | |
"Bruk egendefinert Azure-nøkkel for å omgå passordtilgangsbegrensninger", | |
Placeholder: "Azure API-nøkkel", | |
}, | |
Endpoint: { | |
Title: "API-adresse", | |
SubTitle: "Eksempel:", | |
}, | |
ApiVerion: { | |
Title: "API-versjon (azure api versjon)", | |
SubTitle: "Velg en spesifikk delversjon", | |
}, | |
}, | |
Anthropic: { | |
ApiKey: { | |
Title: "API-nøkkel", | |
SubTitle: | |
"Bruk egendefinert Anthropic-nøkkel for å omgå passordtilgangsbegrensninger", | |
Placeholder: "Anthropic API-nøkkel", | |
}, | |
Endpoint: { | |
Title: "API-adresse", | |
SubTitle: "Eksempel:", | |
}, | |
ApiVerion: { | |
Title: "API-versjon (claude api versjon)", | |
SubTitle: "Velg en spesifikk API-versjon", | |
}, | |
}, | |
Google: { | |
ApiKey: { | |
Title: "API-nøkkel", | |
SubTitle: "Hent din API-nøkkel fra Google AI", | |
Placeholder: "Skriv inn din Google AI Studio API-nøkkel", | |
}, | |
Endpoint: { | |
Title: "Endepunktadresse", | |
SubTitle: "Eksempel:", | |
}, | |
ApiVersion: { | |
Title: "API-versjon (kun for gemini-pro)", | |
SubTitle: "Velg en spesifikk API-versjon", | |
}, | |
GoogleSafetySettings: { | |
Title: "Google sikkerhetsfiltreringsnivå", | |
SubTitle: "Sett innholdsfiltreringsnivå", | |
}, | |
}, | |
Baidu: { | |
ApiKey: { | |
Title: "API-nøkkel", | |
SubTitle: "Bruk egendefinert Baidu API-nøkkel", | |
Placeholder: "Baidu API-nøkkel", | |
}, | |
SecretKey: { | |
Title: "Hemmelig nøkkel", | |
SubTitle: "Bruk egendefinert Baidu hemmelig nøkkel", | |
Placeholder: "Baidu hemmelig nøkkel", | |
}, | |
Endpoint: { | |
Title: "API-adresse", | |
SubTitle: | |
"Støtter ikke egendefinerte konfigurasjoner. Se .env-konfigurasjon.", | |
}, | |
}, | |
ByteDance: { | |
ApiKey: { | |
Title: "API-nøkkel", | |
SubTitle: "Bruk egendefinert ByteDance API-nøkkel", | |
Placeholder: "ByteDance API-nøkkel", | |
}, | |
Endpoint: { | |
Title: "API-adresse", | |
SubTitle: "Eksempel:", | |
}, | |
}, | |
Alibaba: { | |
ApiKey: { | |
Title: "API-nøkkel", | |
SubTitle: "Bruk egendefinert Alibaba Cloud API-nøkkel", | |
Placeholder: "Alibaba Cloud API-nøkkel", | |
}, | |
Endpoint: { | |
Title: "API-adresse", | |
SubTitle: "Eksempel:", | |
}, | |
}, | |
CustomModel: { | |
Title: "Egendefinert modellnavn", | |
SubTitle: "Legg til egendefinerte modellalternativer, skill med komma", | |
}, | |
}, | |
Model: "Modell", | |
CompressModel: { | |
Title: "Komprimeringsmodell", | |
SubTitle: "Modell brukt for å komprimere historikken", | |
}, | |
Temperature: { | |
Title: "Tilfeldighet (temperature)", | |
SubTitle: "Høyere verdi gir mer tilfeldige svar", | |
}, | |
TopP: { | |
Title: "Kjerneprøvetaking (top_p)", | |
SubTitle: | |
"Ligner på tilfeldighet, men endre ikke sammen med tilfeldighet", | |
}, | |
MaxTokens: { | |
Title: "Maksimalt antall tokens per svar (max_tokens)", | |
SubTitle: "Maksimalt antall tokens brukt i en enkelt interaksjon", | |
}, | |
PresencePenalty: { | |
Title: "Emnens ferskhet (presence_penalty)", | |
SubTitle: | |
"Høyere verdi gir større sannsynlighet for å utvide til nye emner", | |
}, | |
FrequencyPenalty: { | |
Title: "Frekvensstraff (frequency_penalty)", | |
SubTitle: | |
"Høyere verdi gir større sannsynlighet for å redusere gjentakende ord", | |
}, | |
}, | |
Store: { | |
DefaultTopic: "Ny samtale", | |
BotHello: "Hva kan jeg hjelpe deg med?", | |
Error: "Noe gikk galt, prøv igjen senere", | |
Prompt: { | |
History: (content: string) => | |
"Dette er oppsummeringen av historiske samtaler som bakgrunn:" + | |
content, | |
Topic: | |
'Bruk fire til fem ord for å returnere en kort oppsummering av temaet, uten forklaring, uten tegnsetting, uten fyllord, uten ekstra tekst, uten fet skrift. Hvis det ikke er noe tema, returner bare "sladder".', | |
Summarize: | |
"Oppsummer samtalen kort som en kontekstuell prompt for fremtidige referanser, hold det innen 200 tegn", | |
}, | |
}, | |
Copy: { | |
Success: "Kopiert til utklippstavlen", | |
Failed: "Kopiering mislyktes, vennligst gi tillatelse til utklippstavlen", | |
}, | |
Download: { | |
Success: "Innholdet er lastet ned til katalogen din.", | |
Failed: "Nedlasting mislyktes.", | |
}, | |
Context: { | |
Toast: (x: any) => `Inneholder ${x} forhåndsinnstilte oppfordringer`, | |
Edit: "Nåværende samtaleinnstillinger", | |
Add: "Legg til en ny samtale", | |
Clear: "Konteksten er tømt", | |
Revert: "Gjenopprett konteksten", | |
}, | |
Plugin: { | |
Name: "Plugin", | |
}, | |
FineTuned: { | |
Sysmessage: "Du er en assistent", | |
}, | |
SearchChat: { | |
Name: "Søk", | |
Page: { | |
Title: "Søk i chatthistorikk", | |
Search: "Skriv inn søkeord", | |
NoResult: "Ingen resultater funnet", | |
NoData: "Ingen data", | |
Loading: "Laster inn", | |
SubTitle: (count: number) => `Fant ${count} resultater`, | |
}, | |
Item: { | |
View: "Vis", | |
}, | |
}, | |
Mask: { | |
Name: "Maske", | |
Page: { | |
Title: "Forhåndsdefinerte rollemasker", | |
SubTitle: (count: number) => | |
`${count} forhåndsdefinerte rolledefinisjoner`, | |
Search: "Søk etter rollemasker", | |
Create: "Opprett ny", | |
}, | |
Item: { | |
Info: (count: number) => `Inneholder ${count} forhåndsdefinerte samtaler`, | |
Chat: "Samtale", | |
View: "Vis", | |
Edit: "Rediger", | |
Delete: "Slett", | |
DeleteConfirm: "Bekreft sletting?", | |
}, | |
EditModal: { | |
Title: (readonly: boolean) => | |
`Rediger forhåndsdefinert maske ${readonly ? "(kun lesing)" : ""}`, | |
Download: "Last ned forhåndsdefinert", | |
Clone: "Kopier forhåndsdefinert", | |
}, | |
Config: { | |
Avatar: "Rollebilde", | |
Name: "Rolle navn", | |
Sync: { | |
Title: "Bruk globale innstillinger", | |
SubTitle: "Bruker nåværende samtale globale modellinnstillinger", | |
Confirm: | |
"De tilpassede innstillingene for den nåværende samtalen vil bli overskrevet automatisk. Bekreft at du vil bruke globale innstillinger?", | |
}, | |
HideContext: { | |
Title: "Skjul forhåndsdefinerte samtaler", | |
SubTitle: | |
"Når skjult, vil forhåndsdefinerte samtaler ikke vises i chat-grensesnittet", | |
}, | |
Share: { | |
Title: "Del denne masken", | |
SubTitle: "Generer en direkte lenke til denne masken", | |
Action: "Kopier lenke", | |
}, | |
}, | |
}, | |
NewChat: { | |
Return: "Tilbake", | |
Skip: "Start direkte", | |
NotShow: "Vis ikke igjen", | |
ConfirmNoShow: | |
"Bekreft deaktivering? Du kan aktivere det igjen i innstillingene når som helst.", | |
Title: "Velg en maske", | |
SubTitle: "Start nå, og få tanker som kolliderer med sjelen bak masken", | |
More: "Se alle", | |
}, | |
URLCommand: { | |
Code: "Oppdaget at lenken allerede inneholder tilgangskode. Ønsker du å fylle den ut automatisk?", | |
Settings: | |
"Oppdaget at lenken inneholder forhåndsinnstillinger. Ønsker du å fylle dem ut automatisk?", | |
}, | |
UI: { | |
Confirm: "Bekreft", | |
Cancel: "Avbryt", | |
Close: "Lukk", | |
Create: "Opprett", | |
Edit: "Rediger", | |
Export: "Eksporter", | |
Import: "Importer", | |
Sync: "Synkroniser", | |
Config: "Konfigurer", | |
}, | |
Exporter: { | |
Description: { | |
Title: "Bare meldinger etter at konteksten er ryddet vil bli vist", | |
}, | |
Model: "Modell", | |
Messages: "Meldinger", | |
Topic: "Emne", | |
Time: "Tid", | |
}, | |
}; | |
export default no; | |