@djangocfg/widget-chat 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +124 -0
- package/package.json +95 -0
- package/src/composer/composer.tsx +100 -0
- package/src/composer/context.ts +33 -0
- package/src/composer/controls/button.tsx +104 -0
- package/src/composer/controls/language-menu.tsx +123 -0
- package/src/composer/controls/send.tsx +83 -0
- package/src/composer/controls/think.tsx +50 -0
- package/src/composer/controls/tools.tsx +130 -0
- package/src/composer/controls/tooltip.tsx +10 -0
- package/src/composer/controls/voice.tsx +266 -0
- package/src/composer/field/field.tsx +140 -0
- package/src/composer/field/input.tsx +214 -0
- package/src/composer/field/keys.ts +44 -0
- package/src/composer/field/use-autosize.ts +134 -0
- package/src/composer/focus-field.ts +27 -0
- package/src/composer/index.ts +86 -0
- package/src/composer/stories/field.tsx +112 -0
- package/src/composer/stories/harness.tsx +127 -0
- package/src/composer/tools/menu.tsx +129 -0
- package/src/composer/tools/rows.tsx +180 -0
- package/src/composer/tools/use-menu-nav.ts +66 -0
- package/src/composer/tools/use-recent-tools.ts +30 -0
- package/src/composer/tray/banner.tsx +157 -0
- package/src/composer/tray/command-progress.tsx +116 -0
- package/src/composer/tray/picked-tools.tsx +104 -0
- package/src/composer/tray/queue.tsx +202 -0
- package/src/composer/tray/use-replace-text.ts +58 -0
- package/src/composer/use-draft-persistence.ts +79 -0
- package/src/content/index.ts +16 -0
- package/src/content/media-content.tsx +38 -0
- package/src/content/response.tsx +221 -0
- package/src/core/adapter.ts +29 -0
- package/src/core/capabilities.ts +286 -0
- package/src/core/chunks.ts +66 -0
- package/src/core/content/incomplete-math.ts +118 -0
- package/src/core/content/index.ts +9 -0
- package/src/core/draft-storage.ts +62 -0
- package/src/core/events.ts +88 -0
- package/src/core/focus/index.ts +10 -0
- package/src/core/focus/roving.ts +56 -0
- package/src/core/group-parts.ts +80 -0
- package/src/core/index.ts +34 -0
- package/src/core/links/index.ts +33 -0
- package/src/core/links/prose.ts +191 -0
- package/src/core/links/scheme.ts +98 -0
- package/src/core/links/tool-id.ts +26 -0
- package/src/core/media/allowed-src.ts +138 -0
- package/src/core/media/block.ts +254 -0
- package/src/core/media/index.ts +22 -0
- package/src/core/media/kinds.ts +85 -0
- package/src/core/outbound.ts +86 -0
- package/src/core/parts.ts +169 -0
- package/src/core/queue/index.ts +15 -0
- package/src/core/queue/queue.ts +100 -0
- package/src/core/recall/boundary.ts +77 -0
- package/src/core/recall/from-transcript.ts +47 -0
- package/src/core/recall/index.ts +23 -0
- package/src/core/recall/ladder.ts +171 -0
- package/src/core/reload-decision.ts +36 -0
- package/src/core/scroll/index.ts +17 -0
- package/src/core/scroll/missed.ts +106 -0
- package/src/core/scroll/sent.ts +54 -0
- package/src/core/text-replace.ts +20 -0
- package/src/core/tool-name.ts +31 -0
- package/src/core/tool-picks-set.ts +48 -0
- package/src/core/tool-picks.ts +142 -0
- package/src/core/tool-prompt.ts +47 -0
- package/src/core/tools/capability.ts +34 -0
- package/src/core/tools/catalogue.ts +109 -0
- package/src/core/tools/index.ts +17 -0
- package/src/core/tools/layout.ts +44 -0
- package/src/core/tools/nav.ts +32 -0
- package/src/core/tools/rank.ts +60 -0
- package/src/core/tools/recent.ts +39 -0
- package/src/core/transcript.ts +301 -0
- package/src/core/voice/earcons.ts +58 -0
- package/src/core/voice/index.ts +26 -0
- package/src/core/voice/language-search.ts +62 -0
- package/src/core/voice/languages.ts +267 -0
- package/src/core/voice/resolve-language.ts +93 -0
- package/src/core/voice/session.ts +196 -0
- package/src/core/voice/web-speech.ts +170 -0
- package/src/i18n/index.ts +87 -0
- package/src/i18n/locales/ar.ts +97 -0
- package/src/i18n/locales/da.ts +90 -0
- package/src/i18n/locales/de.ts +90 -0
- package/src/i18n/locales/en.ts +90 -0
- package/src/i18n/locales/es.ts +90 -0
- package/src/i18n/locales/fr.ts +90 -0
- package/src/i18n/locales/it.ts +90 -0
- package/src/i18n/locales/ja.ts +83 -0
- package/src/i18n/locales/ko.ts +83 -0
- package/src/i18n/locales/nl.ts +90 -0
- package/src/i18n/locales/no.ts +90 -0
- package/src/i18n/locales/pl.ts +96 -0
- package/src/i18n/locales/ptBR.ts +90 -0
- package/src/i18n/locales/ru.ts +96 -0
- package/src/i18n/locales/sv.ts +90 -0
- package/src/i18n/locales/tr.ts +89 -0
- package/src/i18n/locales/zh.ts +83 -0
- package/src/i18n/plural.ts +62 -0
- package/src/i18n/types.ts +257 -0
- package/src/index.ts +18 -0
- package/src/primitives/index.ts +43 -0
- package/src/primitives/message.tsx +85 -0
- package/src/primitives/part-registry.tsx +44 -0
- package/src/primitives/stories-harness.tsx +118 -0
- package/src/primitives/suggestions.tsx +112 -0
- package/src/primitives/tool-call.tsx +145 -0
- package/src/primitives/tooltip.tsx +48 -0
- package/src/primitives/transcript.tsx +285 -0
- package/src/primitives/use-dismiss.ts +100 -0
- package/src/primitives/use-missed-count.ts +30 -0
- package/src/primitives/use-overflows.ts +69 -0
- package/src/primitives/use-return-on-send.ts +29 -0
- package/src/primitives/use-roving-focus.ts +69 -0
- package/src/primitives/use-select-all-transcript.ts +111 -0
- package/src/primitives/use-stick-to-bottom.ts +83 -0
- package/src/primitives/use-turn-activity.ts +25 -0
- package/src/store/context.ts +28 -0
- package/src/store/hooks.ts +215 -0
- package/src/store/index.ts +31 -0
- package/src/store/provider.tsx +97 -0
- package/src/store/store.ts +394 -0
- package/src/store/subscribers.ts +55 -0
- package/src/store/surfaces.ts +174 -0
- package/src/store/use-draft.ts +168 -0
- package/src/store/use-queue.ts +61 -0
- package/src/store/use-recall.ts +264 -0
- package/src/store/use-reload-on-revision.ts +67 -0
- package/src/store/use-speech-language.ts +84 -0
- package/src/store/use-voice.ts +116 -0
- package/src/styles/block.css +128 -0
- package/src/styles/composer.css +449 -0
- package/src/styles/index.css +47 -0
- package/src/styles/markdown.css +368 -0
- package/src/styles/surface.css +102 -0
- package/src/styles/tool.css +128 -0
- package/src/styles/turn-mark.css +97 -0
- package/src/testing/index.ts +15 -0
- package/src/testing/mock-adapter.ts +69 -0
- package/src/testing/mock-tools.ts +101 -0
- package/src/testing/mock-voice.ts +81 -0
- package/src/ui/chat-composer.tsx +286 -0
- package/src/ui/chat-reply-chip.tsx +42 -0
- package/src/ui/chat-suggestions.tsx +87 -0
- package/src/ui/chat-transcript.tsx +157 -0
- package/src/ui/chat.tsx +197 -0
- package/src/ui/collapsible-body.tsx +180 -0
- package/src/ui/collapsible-row.tsx +81 -0
- package/src/ui/day-divider.tsx +49 -0
- package/src/ui/index.ts +54 -0
- package/src/ui/jump-to-latest.tsx +60 -0
- package/src/ui/link-chip.tsx +73 -0
- package/src/ui/message-actions.tsx +163 -0
- package/src/ui/message-quote.tsx +47 -0
- package/src/ui/message.tsx +295 -0
- package/src/ui/pending.tsx +85 -0
- package/src/ui/renderers/data.tsx +63 -0
- package/src/ui/renderers/reasoning.tsx +73 -0
- package/src/ui/renderers/tool.tsx +176 -0
- package/src/ui/turn-mark.tsx +31 -0
- package/src/utils/day-heading.ts +46 -0
- package/src/utils/error-message.ts +10 -0
- package/src/utils/index.ts +12 -0
- package/src/utils/markdown-text.ts +175 -0
- package/src/widgets/index.ts +14 -0
- package/src/widgets/media.tsx +239 -0
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
import type { ChatCopy } from "../types";
|
|
2
|
+
|
|
3
|
+
export const nl: ChatCopy = {
|
|
4
|
+
transcript: {
|
|
5
|
+
empty: "Nog geen berichten.",
|
|
6
|
+
suggestionsLabel: "Voorgestelde prompts",
|
|
7
|
+
log: "Gesprek",
|
|
8
|
+
announceStreaming: "Assistent antwoordt",
|
|
9
|
+
announceComplete: "Antwoord voltooid",
|
|
10
|
+
jumpToLatest: "Naar de nieuwste",
|
|
11
|
+
thinking: "Denkt na",
|
|
12
|
+
thinkingElapsed: "{{seconds}} s",
|
|
13
|
+
today: "Vandaag",
|
|
14
|
+
yesterday: "Gisteren",
|
|
15
|
+
},
|
|
16
|
+
message: {
|
|
17
|
+
copy: "Kopiëren",
|
|
18
|
+
reply: "Beantwoorden",
|
|
19
|
+
copyLink: "Link kopiëren",
|
|
20
|
+
copiedLink: "Link gekopieerd",
|
|
21
|
+
jumpToQuoted: "Naar het geciteerde bericht",
|
|
22
|
+
copied: "Gekopieerd",
|
|
23
|
+
reasoning: "Redenering",
|
|
24
|
+
reasoningLive: "Redeneert…",
|
|
25
|
+
reasoningTokens: {
|
|
26
|
+
one: "Dacht {{count}} token na",
|
|
27
|
+
other: "Dacht {{count}} tokens na",
|
|
28
|
+
},
|
|
29
|
+
showMore: "Meer tonen",
|
|
30
|
+
showLess: "Minder tonen",
|
|
31
|
+
},
|
|
32
|
+
tool: {
|
|
33
|
+
inputStreaming: "Voorbereiden",
|
|
34
|
+
inputAvailable: "Bezig",
|
|
35
|
+
outputAvailable: "Klaar",
|
|
36
|
+
outputError: "Mislukt",
|
|
37
|
+
collapse: "Toolaanroep inklappen",
|
|
38
|
+
expand: "Toolaanroep uitklappen",
|
|
39
|
+
},
|
|
40
|
+
composer: {
|
|
41
|
+
replyClear: "Antwoord annuleren",
|
|
42
|
+
input: "Bericht",
|
|
43
|
+
placeholder: "Vraag wat je wilt",
|
|
44
|
+
send: "Verzenden",
|
|
45
|
+
sendShortcut: "Enter om te verzenden",
|
|
46
|
+
stop: "Stoppen",
|
|
47
|
+
toolsMenu: "Hulpmiddelen",
|
|
48
|
+
toolsSearch: "Hulpmiddel zoeken…",
|
|
49
|
+
toolsEmpty: "Onbekend hulpmiddel",
|
|
50
|
+
toolsRecent: "Recent",
|
|
51
|
+
toolsForget: "Uit recent verwijderen",
|
|
52
|
+
toolRemove: "Hulpmiddel verwijderen",
|
|
53
|
+
needsFile: "Voeg het bestand toe",
|
|
54
|
+
needsSkill: "Noem de skill",
|
|
55
|
+
toolsPicked: "Gekozen hulpmiddelen",
|
|
56
|
+
thinkOn: "Langer nadenken (trager, duurder)",
|
|
57
|
+
thinkOff: "Stop met langer nadenken",
|
|
58
|
+
},
|
|
59
|
+
queue: {
|
|
60
|
+
prompts: {
|
|
61
|
+
one: "{{count}} bericht in de wachtrij",
|
|
62
|
+
other: "{{count}} berichten in de wachtrij",
|
|
63
|
+
},
|
|
64
|
+
more: {
|
|
65
|
+
one: "nog {{count}}",
|
|
66
|
+
other: "nog {{count}}",
|
|
67
|
+
},
|
|
68
|
+
showLess: "Minder tonen",
|
|
69
|
+
remove: "Uit de wachtrij verwijderen",
|
|
70
|
+
show: "Wachtrij tonen",
|
|
71
|
+
edit: "Verzoek bewerken",
|
|
72
|
+
send: "Nu verzenden",
|
|
73
|
+
sendNow: "Nu verzenden en het lopende antwoord stoppen",
|
|
74
|
+
sendNowConfirmTitle: "Dit bericht nu verzenden?",
|
|
75
|
+
sendNowConfirmMessage:
|
|
76
|
+
"Het lopende antwoord stopt en het onafgemaakte werk gaat verloren. De overige berichten behouden hun volgorde in de wachtrij.",
|
|
77
|
+
replaceDraftTitle: "Getypte tekst vervangen?",
|
|
78
|
+
replaceDraftMessage:
|
|
79
|
+
"Je concept en dit bericht verschillen. Kies wat blijft.",
|
|
80
|
+
},
|
|
81
|
+
voice: {
|
|
82
|
+
start: "Dicteren",
|
|
83
|
+
stop: "Dicteren stoppen",
|
|
84
|
+
language: "Dicteertaal",
|
|
85
|
+
languageMenu: "Dicteertaal",
|
|
86
|
+
languageSearch: "Talen zoeken",
|
|
87
|
+
languageEmpty: "Geen taal gevonden",
|
|
88
|
+
languageBack: "Terug",
|
|
89
|
+
},
|
|
90
|
+
};
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
import type { ChatCopy } from "../types";
|
|
2
|
+
|
|
3
|
+
export const no: ChatCopy = {
|
|
4
|
+
transcript: {
|
|
5
|
+
empty: "Ingen meldinger ennå.",
|
|
6
|
+
suggestionsLabel: "Forslag til spørsmål",
|
|
7
|
+
log: "Samtale",
|
|
8
|
+
announceStreaming: "Assistenten svarer",
|
|
9
|
+
announceComplete: "Svaret er ferdig",
|
|
10
|
+
jumpToLatest: "Gå til nyeste",
|
|
11
|
+
thinking: "Tenker",
|
|
12
|
+
thinkingElapsed: "{{seconds}} s",
|
|
13
|
+
today: "I dag",
|
|
14
|
+
yesterday: "I går",
|
|
15
|
+
},
|
|
16
|
+
message: {
|
|
17
|
+
copy: "Kopier",
|
|
18
|
+
reply: "Svar",
|
|
19
|
+
copyLink: "Kopier lenke",
|
|
20
|
+
copiedLink: "Lenke kopiert",
|
|
21
|
+
jumpToQuoted: "Gå til sitert melding",
|
|
22
|
+
copied: "Kopiert",
|
|
23
|
+
reasoning: "Resonnement",
|
|
24
|
+
reasoningLive: "Resonnerer…",
|
|
25
|
+
reasoningTokens: {
|
|
26
|
+
one: "Tenkte i {{count}} token",
|
|
27
|
+
other: "Tenkte i {{count}} tokens",
|
|
28
|
+
},
|
|
29
|
+
showMore: "Vis mer",
|
|
30
|
+
showLess: "Vis mindre",
|
|
31
|
+
},
|
|
32
|
+
tool: {
|
|
33
|
+
inputStreaming: "Forbereder",
|
|
34
|
+
inputAvailable: "Kjører",
|
|
35
|
+
outputAvailable: "Ferdig",
|
|
36
|
+
outputError: "Mislyktes",
|
|
37
|
+
collapse: "Skjul verktøykallet",
|
|
38
|
+
expand: "Vis verktøykallet",
|
|
39
|
+
},
|
|
40
|
+
composer: {
|
|
41
|
+
replyClear: "Avbryt svar",
|
|
42
|
+
input: "Melding",
|
|
43
|
+
placeholder: "Spør om hva som helst",
|
|
44
|
+
send: "Send",
|
|
45
|
+
sendShortcut: "Enter for å sende",
|
|
46
|
+
stop: "Stopp",
|
|
47
|
+
toolsMenu: "Verktøy",
|
|
48
|
+
toolsSearch: "Finn et verktøy…",
|
|
49
|
+
toolsEmpty: "Ingen slikt verktøy",
|
|
50
|
+
toolsRecent: "Nylige",
|
|
51
|
+
toolsForget: "Fjern fra nylige",
|
|
52
|
+
toolRemove: "Fjern verktøy",
|
|
53
|
+
needsFile: "Legg ved filen",
|
|
54
|
+
needsSkill: "Nevn ferdigheten",
|
|
55
|
+
toolsPicked: "Valgte verktøy",
|
|
56
|
+
thinkOn: "Tenk lenger (tregere, koster mer)",
|
|
57
|
+
thinkOff: "Slutt å tenke lenger",
|
|
58
|
+
},
|
|
59
|
+
queue: {
|
|
60
|
+
prompts: {
|
|
61
|
+
one: "{{count}} melding i kø",
|
|
62
|
+
other: "{{count}} meldinger i kø",
|
|
63
|
+
},
|
|
64
|
+
more: {
|
|
65
|
+
one: "{{count}} til",
|
|
66
|
+
other: "{{count}} til",
|
|
67
|
+
},
|
|
68
|
+
showLess: "Vis mindre",
|
|
69
|
+
remove: "Fjern fra køen",
|
|
70
|
+
show: "Vis køen",
|
|
71
|
+
edit: "Rediger forespørselen",
|
|
72
|
+
send: "Send nå",
|
|
73
|
+
sendNow: "Send nå og avbryt det pågående svaret",
|
|
74
|
+
sendNowConfirmTitle: "Sende denne meldingen nå?",
|
|
75
|
+
sendNowConfirmMessage:
|
|
76
|
+
"Det pågående svaret avbrytes, og det uferdige arbeidet går tapt. De øvrige meldingene beholder rekkefølgen sin i køen.",
|
|
77
|
+
replaceDraftTitle: "Erstatte det du har skrevet?",
|
|
78
|
+
replaceDraftMessage:
|
|
79
|
+
"Utkastet ditt og denne meldingen er forskjellige. Velg hva som beholdes.",
|
|
80
|
+
},
|
|
81
|
+
voice: {
|
|
82
|
+
start: "Dikter",
|
|
83
|
+
stop: "Stopp diktering",
|
|
84
|
+
language: "Dikteringsspråk",
|
|
85
|
+
languageMenu: "Dikteringsspråk",
|
|
86
|
+
languageSearch: "Søk språk",
|
|
87
|
+
languageEmpty: "Fant ingen språk",
|
|
88
|
+
languageBack: "Tilbake",
|
|
89
|
+
},
|
|
90
|
+
};
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
import type { ChatCopy } from "../types";
|
|
2
|
+
|
|
3
|
+
export const pl: ChatCopy = {
|
|
4
|
+
transcript: {
|
|
5
|
+
empty: "Brak wiadomości.",
|
|
6
|
+
suggestionsLabel: "Proponowane zapytania",
|
|
7
|
+
log: "Rozmowa",
|
|
8
|
+
announceStreaming: "Asystent odpowiada",
|
|
9
|
+
announceComplete: "Odpowiedź gotowa",
|
|
10
|
+
jumpToLatest: "Przejdź do najnowszych",
|
|
11
|
+
thinking: "Myślę",
|
|
12
|
+
thinkingElapsed: "{{seconds}} s",
|
|
13
|
+
today: "Dzisiaj",
|
|
14
|
+
yesterday: "Wczoraj",
|
|
15
|
+
},
|
|
16
|
+
message: {
|
|
17
|
+
copy: "Kopiuj",
|
|
18
|
+
reply: "Odpowiedz",
|
|
19
|
+
copyLink: "Kopiuj link",
|
|
20
|
+
copiedLink: "Link skopiowany",
|
|
21
|
+
jumpToQuoted: "Przejdź do cytowanej wiadomości",
|
|
22
|
+
copied: "Skopiowano",
|
|
23
|
+
reasoning: "Rozumowanie",
|
|
24
|
+
reasoningLive: "Rozumuje…",
|
|
25
|
+
reasoningTokens: {
|
|
26
|
+
one: "Myślał przez {{count}} token",
|
|
27
|
+
few: "Myślał przez {{count}} tokeny",
|
|
28
|
+
many: "Myślał przez {{count}} tokenów",
|
|
29
|
+
other: "Myślał przez {{count}} tokenów",
|
|
30
|
+
},
|
|
31
|
+
showMore: "Pokaż więcej",
|
|
32
|
+
showLess: "Pokaż mniej",
|
|
33
|
+
},
|
|
34
|
+
tool: {
|
|
35
|
+
inputStreaming: "Przygotowywanie",
|
|
36
|
+
inputAvailable: "W trakcie",
|
|
37
|
+
outputAvailable: "Gotowe",
|
|
38
|
+
outputError: "Niepowodzenie",
|
|
39
|
+
collapse: "Zwiń wywołanie narzędzia",
|
|
40
|
+
expand: "Rozwiń wywołanie narzędzia",
|
|
41
|
+
},
|
|
42
|
+
composer: {
|
|
43
|
+
replyClear: "Anuluj odpowiedź",
|
|
44
|
+
input: "Wiadomość",
|
|
45
|
+
placeholder: "Zapytaj o cokolwiek",
|
|
46
|
+
send: "Wyślij",
|
|
47
|
+
sendShortcut: "Enter, aby wysłać",
|
|
48
|
+
stop: "Zatrzymaj",
|
|
49
|
+
toolsMenu: "Narzędzia",
|
|
50
|
+
toolsSearch: "Znajdź narzędzie…",
|
|
51
|
+
toolsEmpty: "Nie ma takiego narzędzia",
|
|
52
|
+
toolsRecent: "Ostatnie",
|
|
53
|
+
toolsForget: "Usuń z ostatnich",
|
|
54
|
+
toolRemove: "Usuń narzędzie",
|
|
55
|
+
needsFile: "Dołącz plik",
|
|
56
|
+
needsSkill: "Podaj umiejętność",
|
|
57
|
+
toolsPicked: "Wybrane narzędzia",
|
|
58
|
+
thinkOn: "Myśl dłużej (wolniej, wyższy koszt)",
|
|
59
|
+
thinkOff: "Przestań myśleć dłużej",
|
|
60
|
+
},
|
|
61
|
+
queue: {
|
|
62
|
+
prompts: {
|
|
63
|
+
one: "{{count}} wiadomość w kolejce",
|
|
64
|
+
few: "{{count}} wiadomości w kolejce",
|
|
65
|
+
many: "{{count}} wiadomości w kolejce",
|
|
66
|
+
other: "{{count}} wiadomości w kolejce",
|
|
67
|
+
},
|
|
68
|
+
more: {
|
|
69
|
+
one: "jeszcze {{count}}",
|
|
70
|
+
few: "jeszcze {{count}}",
|
|
71
|
+
many: "jeszcze {{count}}",
|
|
72
|
+
other: "jeszcze {{count}}",
|
|
73
|
+
},
|
|
74
|
+
showLess: "Zwiń",
|
|
75
|
+
remove: "Usuń z kolejki",
|
|
76
|
+
show: "Pokaż kolejkę",
|
|
77
|
+
edit: "Edytuj polecenie",
|
|
78
|
+
send: "Wyślij teraz",
|
|
79
|
+
sendNow: "Wyślij teraz, przerywając bieżącą odpowiedź",
|
|
80
|
+
sendNowConfirmTitle: "Wysłać tę wiadomość teraz?",
|
|
81
|
+
sendNowConfirmMessage:
|
|
82
|
+
"Bieżąca odpowiedź zostanie przerwana, a jej niedokończona praca przepadnie. Pozostałe wiadomości zachowają swoją kolejność w kolejce.",
|
|
83
|
+
replaceDraftTitle: "Zastąpić wpisany tekst?",
|
|
84
|
+
replaceDraftMessage:
|
|
85
|
+
"Twoja wersja robocza i ta wiadomość różnią się. Wybierz, co zostaje.",
|
|
86
|
+
},
|
|
87
|
+
voice: {
|
|
88
|
+
start: "Dyktuj",
|
|
89
|
+
stop: "Zatrzymaj dyktowanie",
|
|
90
|
+
language: "Język dyktowania",
|
|
91
|
+
languageMenu: "Język dyktowania",
|
|
92
|
+
languageSearch: "Szukaj języków",
|
|
93
|
+
languageEmpty: "Nie znaleziono języka",
|
|
94
|
+
languageBack: "Wstecz",
|
|
95
|
+
},
|
|
96
|
+
};
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
import type { ChatCopy } from "../types";
|
|
2
|
+
|
|
3
|
+
export const ptBR: ChatCopy = {
|
|
4
|
+
transcript: {
|
|
5
|
+
empty: "Ainda não há mensagens.",
|
|
6
|
+
suggestionsLabel: "Sugestões de perguntas",
|
|
7
|
+
log: "Conversa",
|
|
8
|
+
announceStreaming: "O assistente está respondendo",
|
|
9
|
+
announceComplete: "Resposta concluída",
|
|
10
|
+
jumpToLatest: "Ir para as últimas",
|
|
11
|
+
thinking: "Pensando",
|
|
12
|
+
thinkingElapsed: "{{seconds}} s",
|
|
13
|
+
today: "Hoje",
|
|
14
|
+
yesterday: "Ontem",
|
|
15
|
+
},
|
|
16
|
+
message: {
|
|
17
|
+
copy: "Copiar",
|
|
18
|
+
reply: "Responder",
|
|
19
|
+
copyLink: "Copiar link",
|
|
20
|
+
copiedLink: "Link copiado",
|
|
21
|
+
jumpToQuoted: "Ir para a mensagem citada",
|
|
22
|
+
copied: "Copiado",
|
|
23
|
+
reasoning: "Raciocínio",
|
|
24
|
+
reasoningLive: "Raciocinando…",
|
|
25
|
+
reasoningTokens: {
|
|
26
|
+
one: "Pensou por {{count}} token",
|
|
27
|
+
other: "Pensou por {{count}} tokens",
|
|
28
|
+
},
|
|
29
|
+
showMore: "Mostrar mais",
|
|
30
|
+
showLess: "Mostrar menos",
|
|
31
|
+
},
|
|
32
|
+
tool: {
|
|
33
|
+
inputStreaming: "Preparando",
|
|
34
|
+
inputAvailable: "Em execução",
|
|
35
|
+
outputAvailable: "Concluído",
|
|
36
|
+
outputError: "Falhou",
|
|
37
|
+
collapse: "Recolher a chamada de ferramenta",
|
|
38
|
+
expand: "Expandir a chamada de ferramenta",
|
|
39
|
+
},
|
|
40
|
+
composer: {
|
|
41
|
+
replyClear: "Cancelar resposta",
|
|
42
|
+
input: "Mensagem",
|
|
43
|
+
placeholder: "Pergunte qualquer coisa",
|
|
44
|
+
send: "Enviar",
|
|
45
|
+
sendShortcut: "Enter para enviar",
|
|
46
|
+
stop: "Parar",
|
|
47
|
+
toolsMenu: "Ferramentas",
|
|
48
|
+
toolsSearch: "Buscar uma ferramenta…",
|
|
49
|
+
toolsEmpty: "Ferramenta inexistente",
|
|
50
|
+
toolsRecent: "Recentes",
|
|
51
|
+
toolsForget: "Remover dos recentes",
|
|
52
|
+
toolRemove: "Remover ferramenta",
|
|
53
|
+
needsFile: "Anexe o arquivo",
|
|
54
|
+
needsSkill: "Diga qual habilidade",
|
|
55
|
+
toolsPicked: "Ferramentas escolhidas",
|
|
56
|
+
thinkOn: "Pensar mais (mais lento, custa mais)",
|
|
57
|
+
thinkOff: "Parar de pensar mais",
|
|
58
|
+
},
|
|
59
|
+
queue: {
|
|
60
|
+
prompts: {
|
|
61
|
+
one: "{{count}} mensagem na fila",
|
|
62
|
+
other: "{{count}} mensagens na fila",
|
|
63
|
+
},
|
|
64
|
+
more: {
|
|
65
|
+
one: "mais {{count}}",
|
|
66
|
+
other: "mais {{count}}",
|
|
67
|
+
},
|
|
68
|
+
showLess: "Mostrar menos",
|
|
69
|
+
remove: "Remover da fila",
|
|
70
|
+
show: "Mostrar a fila",
|
|
71
|
+
edit: "Editar a solicitação",
|
|
72
|
+
send: "Enviar agora",
|
|
73
|
+
sendNow: "Enviar agora, parando a resposta atual",
|
|
74
|
+
sendNowConfirmTitle: "Enviar esta mensagem agora?",
|
|
75
|
+
sendNowConfirmMessage:
|
|
76
|
+
"A resposta atual para e o trabalho inacabado é perdido. As demais mensagens mantêm sua ordem na fila.",
|
|
77
|
+
replaceDraftTitle: "Substituir o texto digitado?",
|
|
78
|
+
replaceDraftMessage:
|
|
79
|
+
"Seu rascunho e esta mensagem são diferentes. Escolha o que fica.",
|
|
80
|
+
},
|
|
81
|
+
voice: {
|
|
82
|
+
start: "Ditar",
|
|
83
|
+
stop: "Parar ditado",
|
|
84
|
+
language: "Idioma do ditado",
|
|
85
|
+
languageMenu: "Idioma do ditado",
|
|
86
|
+
languageSearch: "Pesquisar idiomas",
|
|
87
|
+
languageEmpty: "Nenhum idioma encontrado",
|
|
88
|
+
languageBack: "Voltar",
|
|
89
|
+
},
|
|
90
|
+
};
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
import type { ChatCopy } from "../types";
|
|
2
|
+
|
|
3
|
+
export const ru: ChatCopy = {
|
|
4
|
+
transcript: {
|
|
5
|
+
empty: "Сообщений пока нет.",
|
|
6
|
+
suggestionsLabel: "Варианты запросов",
|
|
7
|
+
log: "Диалог",
|
|
8
|
+
announceStreaming: "Ассистент отвечает",
|
|
9
|
+
announceComplete: "Ответ готов",
|
|
10
|
+
jumpToLatest: "К последним",
|
|
11
|
+
thinking: "Думаю",
|
|
12
|
+
thinkingElapsed: "{{seconds}} с",
|
|
13
|
+
today: "Сегодня",
|
|
14
|
+
yesterday: "Вчера",
|
|
15
|
+
},
|
|
16
|
+
message: {
|
|
17
|
+
copy: "Копировать",
|
|
18
|
+
reply: "Ответить",
|
|
19
|
+
copyLink: "Скопировать ссылку",
|
|
20
|
+
copiedLink: "Ссылка скопирована",
|
|
21
|
+
jumpToQuoted: "Перейти к цитируемому сообщению",
|
|
22
|
+
copied: "Скопировано",
|
|
23
|
+
reasoning: "Рассуждение",
|
|
24
|
+
reasoningLive: "Рассуждает…",
|
|
25
|
+
reasoningTokens: {
|
|
26
|
+
one: "Думал {{count}} токен",
|
|
27
|
+
few: "Думал {{count}} токена",
|
|
28
|
+
many: "Думал {{count}} токенов",
|
|
29
|
+
other: "Думал {{count}} токенов",
|
|
30
|
+
},
|
|
31
|
+
showMore: "Показать больше",
|
|
32
|
+
showLess: "Свернуть",
|
|
33
|
+
},
|
|
34
|
+
tool: {
|
|
35
|
+
inputStreaming: "Подготовка",
|
|
36
|
+
inputAvailable: "Выполняется",
|
|
37
|
+
outputAvailable: "Готово",
|
|
38
|
+
outputError: "Ошибка",
|
|
39
|
+
collapse: "Свернуть вызов инструмента",
|
|
40
|
+
expand: "Развернуть вызов инструмента",
|
|
41
|
+
},
|
|
42
|
+
composer: {
|
|
43
|
+
replyClear: "Отменить ответ",
|
|
44
|
+
input: "Сообщение",
|
|
45
|
+
placeholder: "Спросите что угодно",
|
|
46
|
+
send: "Отправить",
|
|
47
|
+
sendShortcut: "Enter — отправить",
|
|
48
|
+
stop: "Остановить",
|
|
49
|
+
toolsMenu: "Инструменты",
|
|
50
|
+
toolsSearch: "Найти инструмент…",
|
|
51
|
+
toolsEmpty: "Такого инструмента нет",
|
|
52
|
+
toolsRecent: "Недавние",
|
|
53
|
+
toolsForget: "Убрать из недавних",
|
|
54
|
+
toolRemove: "Убрать инструмент",
|
|
55
|
+
needsFile: "Прикрепите файл",
|
|
56
|
+
needsSkill: "Назовите навык",
|
|
57
|
+
toolsPicked: "Выбранные инструменты",
|
|
58
|
+
thinkOn: "Думать дольше (медленнее и дороже)",
|
|
59
|
+
thinkOff: "Не думать дольше",
|
|
60
|
+
},
|
|
61
|
+
queue: {
|
|
62
|
+
prompts: {
|
|
63
|
+
one: "{{count}} сообщение в очереди",
|
|
64
|
+
few: "{{count}} сообщения в очереди",
|
|
65
|
+
many: "{{count}} сообщений в очереди",
|
|
66
|
+
other: "{{count}} сообщений в очереди",
|
|
67
|
+
},
|
|
68
|
+
more: {
|
|
69
|
+
one: "ещё {{count}}",
|
|
70
|
+
few: "ещё {{count}}",
|
|
71
|
+
many: "ещё {{count}}",
|
|
72
|
+
other: "ещё {{count}}",
|
|
73
|
+
},
|
|
74
|
+
showLess: "Свернуть",
|
|
75
|
+
remove: "Убрать из очереди",
|
|
76
|
+
show: "Показать очередь",
|
|
77
|
+
edit: "Редактировать запрос",
|
|
78
|
+
send: "Отправить сейчас",
|
|
79
|
+
sendNow: "Отправить сейчас, прервав текущий ответ",
|
|
80
|
+
sendNowConfirmTitle: "Отправить это сообщение сейчас?",
|
|
81
|
+
sendNowConfirmMessage:
|
|
82
|
+
"Текущий ответ прервётся, и незавершённая работа будет потеряна. Остальные сообщения останутся в очереди в том же порядке.",
|
|
83
|
+
replaceDraftTitle: "Заменить набранный текст?",
|
|
84
|
+
replaceDraftMessage:
|
|
85
|
+
"Черновик и это сообщение различаются. Выберите, что оставить.",
|
|
86
|
+
},
|
|
87
|
+
voice: {
|
|
88
|
+
start: "Диктовать",
|
|
89
|
+
stop: "Остановить диктовку",
|
|
90
|
+
language: "Язык диктовки",
|
|
91
|
+
languageMenu: "Язык диктовки",
|
|
92
|
+
languageSearch: "Поиск языка",
|
|
93
|
+
languageEmpty: "Язык не найден",
|
|
94
|
+
languageBack: "Назад",
|
|
95
|
+
},
|
|
96
|
+
};
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
import type { ChatCopy } from "../types";
|
|
2
|
+
|
|
3
|
+
export const sv: ChatCopy = {
|
|
4
|
+
transcript: {
|
|
5
|
+
empty: "Inga meddelanden än.",
|
|
6
|
+
suggestionsLabel: "Föreslagna frågor",
|
|
7
|
+
log: "Konversation",
|
|
8
|
+
announceStreaming: "Assistenten svarar",
|
|
9
|
+
announceComplete: "Svaret är klart",
|
|
10
|
+
jumpToLatest: "Gå till senaste",
|
|
11
|
+
thinking: "Tänker",
|
|
12
|
+
thinkingElapsed: "{{seconds}} s",
|
|
13
|
+
today: "I dag",
|
|
14
|
+
yesterday: "I går",
|
|
15
|
+
},
|
|
16
|
+
message: {
|
|
17
|
+
copy: "Kopiera",
|
|
18
|
+
reply: "Svara",
|
|
19
|
+
copyLink: "Kopiera länk",
|
|
20
|
+
copiedLink: "Länk kopierad",
|
|
21
|
+
jumpToQuoted: "Gå till citerat meddelande",
|
|
22
|
+
copied: "Kopierad",
|
|
23
|
+
reasoning: "Resonemang",
|
|
24
|
+
reasoningLive: "Resonerar…",
|
|
25
|
+
reasoningTokens: {
|
|
26
|
+
one: "Tänkte i {{count}} token",
|
|
27
|
+
other: "Tänkte i {{count}} token",
|
|
28
|
+
},
|
|
29
|
+
showMore: "Visa mer",
|
|
30
|
+
showLess: "Visa mindre",
|
|
31
|
+
},
|
|
32
|
+
tool: {
|
|
33
|
+
inputStreaming: "Förbereder",
|
|
34
|
+
inputAvailable: "Körs",
|
|
35
|
+
outputAvailable: "Klar",
|
|
36
|
+
outputError: "Misslyckades",
|
|
37
|
+
collapse: "Dölj verktygsanropet",
|
|
38
|
+
expand: "Visa verktygsanropet",
|
|
39
|
+
},
|
|
40
|
+
composer: {
|
|
41
|
+
replyClear: "Avbryt svar",
|
|
42
|
+
input: "Meddelande",
|
|
43
|
+
placeholder: "Fråga vad som helst",
|
|
44
|
+
send: "Skicka",
|
|
45
|
+
sendShortcut: "Enter för att skicka",
|
|
46
|
+
stop: "Stoppa",
|
|
47
|
+
toolsMenu: "Verktyg",
|
|
48
|
+
toolsSearch: "Sök ett verktyg…",
|
|
49
|
+
toolsEmpty: "Inget sådant verktyg",
|
|
50
|
+
toolsRecent: "Senaste",
|
|
51
|
+
toolsForget: "Ta bort från senaste",
|
|
52
|
+
toolRemove: "Ta bort verktyg",
|
|
53
|
+
needsFile: "Bifoga filen",
|
|
54
|
+
needsSkill: "Ange färdigheten",
|
|
55
|
+
toolsPicked: "Valda verktyg",
|
|
56
|
+
thinkOn: "Tänk längre (långsammare, kostar mer)",
|
|
57
|
+
thinkOff: "Sluta tänka längre",
|
|
58
|
+
},
|
|
59
|
+
queue: {
|
|
60
|
+
prompts: {
|
|
61
|
+
one: "{{count}} meddelande i kön",
|
|
62
|
+
other: "{{count}} meddelanden i kön",
|
|
63
|
+
},
|
|
64
|
+
more: {
|
|
65
|
+
one: "{{count}} till",
|
|
66
|
+
other: "{{count}} till",
|
|
67
|
+
},
|
|
68
|
+
showLess: "Visa mindre",
|
|
69
|
+
remove: "Ta bort från kön",
|
|
70
|
+
show: "Visa kön",
|
|
71
|
+
edit: "Redigera förfrågan",
|
|
72
|
+
send: "Skicka nu",
|
|
73
|
+
sendNow: "Skicka nu och avbryt det pågående svaret",
|
|
74
|
+
sendNowConfirmTitle: "Skicka det här meddelandet nu?",
|
|
75
|
+
sendNowConfirmMessage:
|
|
76
|
+
"Det pågående svaret avbryts och dess ofärdiga arbete går förlorat. Övriga meddelanden behåller sin ordning i kön.",
|
|
77
|
+
replaceDraftTitle: "Ersätta det du skrivit?",
|
|
78
|
+
replaceDraftMessage:
|
|
79
|
+
"Ditt utkast och detta meddelande skiljer sig. Välj vad som behålls.",
|
|
80
|
+
},
|
|
81
|
+
voice: {
|
|
82
|
+
start: "Diktera",
|
|
83
|
+
stop: "Stoppa diktering",
|
|
84
|
+
language: "Dikteringsspråk",
|
|
85
|
+
languageMenu: "Dikteringsspråk",
|
|
86
|
+
languageSearch: "Sök språk",
|
|
87
|
+
languageEmpty: "Inget språk hittades",
|
|
88
|
+
languageBack: "Tillbaka",
|
|
89
|
+
},
|
|
90
|
+
};
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import type { ChatCopy } from "../types";
|
|
2
|
+
|
|
3
|
+
export const tr: ChatCopy = {
|
|
4
|
+
transcript: {
|
|
5
|
+
empty: "Henüz mesaj yok.",
|
|
6
|
+
suggestionsLabel: "Önerilen istekler",
|
|
7
|
+
log: "Sohbet",
|
|
8
|
+
announceStreaming: "Asistan yanıtlıyor",
|
|
9
|
+
announceComplete: "Yanıt tamamlandı",
|
|
10
|
+
jumpToLatest: "En sona git",
|
|
11
|
+
thinking: "Düşünüyor",
|
|
12
|
+
thinkingElapsed: "{{seconds}} sn",
|
|
13
|
+
today: "Bugün",
|
|
14
|
+
yesterday: "Dün",
|
|
15
|
+
},
|
|
16
|
+
message: {
|
|
17
|
+
copy: "Kopyala",
|
|
18
|
+
reply: "Yanıtla",
|
|
19
|
+
copyLink: "Bağlantıyı kopyala",
|
|
20
|
+
copiedLink: "Bağlantı kopyalandı",
|
|
21
|
+
jumpToQuoted: "Alıntılanan mesaja git",
|
|
22
|
+
copied: "Kopyalandı",
|
|
23
|
+
reasoning: "Akıl yürütme",
|
|
24
|
+
reasoningLive: "Akıl yürütüyor…",
|
|
25
|
+
reasoningTokens: {
|
|
26
|
+
other: "{{count}} jeton düşündü",
|
|
27
|
+
},
|
|
28
|
+
showMore: "Daha fazla göster",
|
|
29
|
+
showLess: "Daha az göster",
|
|
30
|
+
},
|
|
31
|
+
tool: {
|
|
32
|
+
inputStreaming: "Hazırlanıyor",
|
|
33
|
+
inputAvailable: "Çalışıyor",
|
|
34
|
+
outputAvailable: "Tamam",
|
|
35
|
+
outputError: "Başarısız",
|
|
36
|
+
collapse: "Araç çağrısını daralt",
|
|
37
|
+
expand: "Araç çağrısını genişlet",
|
|
38
|
+
},
|
|
39
|
+
composer: {
|
|
40
|
+
replyClear: "Yanıtı iptal et",
|
|
41
|
+
input: "Mesaj",
|
|
42
|
+
placeholder: "Ne isterseniz sorun",
|
|
43
|
+
send: "Gönder",
|
|
44
|
+
sendShortcut: "Göndermek için Enter",
|
|
45
|
+
stop: "Durdur",
|
|
46
|
+
toolsMenu: "Araçlar",
|
|
47
|
+
toolsSearch: "Araç ara…",
|
|
48
|
+
toolsEmpty: "Böyle bir araç yok",
|
|
49
|
+
toolsRecent: "Son kullanılanlar",
|
|
50
|
+
toolsForget: "Son kullanılanlardan kaldır",
|
|
51
|
+
toolRemove: "Aracı kaldır",
|
|
52
|
+
needsFile: "Dosyayı ekleyin",
|
|
53
|
+
needsSkill: "Beceriyi belirtin",
|
|
54
|
+
toolsPicked: "Seçilen araçlar",
|
|
55
|
+
thinkOn: "Daha uzun düşün (daha yavaş, daha pahalı)",
|
|
56
|
+
thinkOff: "Daha uzun düşünmeyi bırak",
|
|
57
|
+
},
|
|
58
|
+
queue: {
|
|
59
|
+
prompts: {
|
|
60
|
+
one: "Sırada {{count}} mesaj",
|
|
61
|
+
other: "Sırada {{count}} mesaj",
|
|
62
|
+
},
|
|
63
|
+
more: {
|
|
64
|
+
one: "{{count}} tane daha",
|
|
65
|
+
other: "{{count}} tane daha",
|
|
66
|
+
},
|
|
67
|
+
showLess: "Daha az göster",
|
|
68
|
+
remove: "Sıradan kaldır",
|
|
69
|
+
show: "Sırayı göster",
|
|
70
|
+
edit: "İsteği düzenle",
|
|
71
|
+
send: "Şimdi gönder",
|
|
72
|
+
sendNow: "Şimdi gönder, mevcut yanıtı durdurarak",
|
|
73
|
+
sendNowConfirmTitle: "Bu mesaj şimdi gönderilsin mi?",
|
|
74
|
+
sendNowConfirmMessage:
|
|
75
|
+
"Mevcut yanıt durur ve tamamlanmamış işi kaybolur. Sıradaki diğer mesajlar aynı sırayı korur.",
|
|
76
|
+
replaceDraftTitle: "Yazdığınız metin değiştirilsin mi?",
|
|
77
|
+
replaceDraftMessage:
|
|
78
|
+
"Taslağınız ile bu mesaj farklı. Hangisinin kalacağını seçin.",
|
|
79
|
+
},
|
|
80
|
+
voice: {
|
|
81
|
+
start: "Dikte et",
|
|
82
|
+
stop: "Diktesi durdur",
|
|
83
|
+
language: "Dikte dili",
|
|
84
|
+
languageMenu: "Dikte dili",
|
|
85
|
+
languageSearch: "Dil ara",
|
|
86
|
+
languageEmpty: "Dil bulunamadı",
|
|
87
|
+
languageBack: "Geri",
|
|
88
|
+
},
|
|
89
|
+
};
|