no.ts
18.5 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
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;