@anchrd/intel-ui 0.12.0 → 0.13.0
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/package.json +3 -2
- package/src/agent/agent-calendar/agent-calendar.tsx +32 -14
- package/src/agent/agent-chat/agent-chat.tsx +3 -1
- package/src/agent/agent-cron/agent-cron.ts +49 -113
- package/src/agent/agent-definition/agent-definition.ts +18 -9
- package/src/agent/agent-entry-title/agent-entry-title.ts +3 -1
- package/src/agent/agent-log/agent-log.tsx +6 -3
- package/src/agent/agent-profile/agent-profile.tsx +46 -12
- package/src/agent/agent.tsx +17 -9
- package/src/app/app-sidebar/app-sidebar.tsx +2 -2
- package/src/app/app-tree/app-tree.tsx +5 -3
- package/src/app/app.tsx +2 -2
- package/src/app/header-search/header-search.tsx +3 -1
- package/src/app/settings-dialog/settings-dialog.tsx +133 -0
- package/src/app/tree-move/tree-move.tsx +3 -1
- package/src/app/user-footer/user-footer.tsx +25 -2
- package/src/app/view-toggle/view-toggle.tsx +2 -2
- package/src/archive/archive.tsx +3 -1
- package/src/entry-picker/entry-picker.tsx +3 -1
- package/src/flow-runs/flow-runs.tsx +6 -3
- package/src/flows/flows.tsx +13 -9
- package/src/flows/node-palette/node-palette.tsx +2 -2
- package/src/folder-contents/folder-contents.tsx +3 -1
- package/src/graph-pane/graph-pane.tsx +2 -2
- package/src/i18n/de.json +402 -0
- package/src/i18n/en.json +16 -5
- package/src/i18n/es.json +402 -0
- package/src/i18n/i18n-context.tsx +65 -0
- package/src/i18n/i18n-languages/i18n-languages.ts +83 -0
- package/src/i18n/i18n.ts +15 -11
- package/src/i18n/i18n.types.ts +43 -0
- package/src/main.tsx +33 -12
- package/src/modal/modal.tsx +2 -2
- package/src/node-table/node-table.tsx +3 -1
- package/src/nodes/nodes.tsx +7 -3
- package/src/resource-menu/resource-menu.tsx +8 -4
- package/src/router/router.types.ts +3 -2
- package/src/save-button/save-button.tsx +3 -3
- package/src/sign-in-refused/sign-in-refused.tsx +3 -2
- package/src/theme/theme-context.tsx +89 -0
- package/src/theme/theme.ts +51 -21
- package/src/timezone/timezone-context.tsx +45 -0
- package/src/timezone/timezone.ts +60 -0
- package/src/tools/tools.tsx +3 -1
package/src/i18n/de.json
ADDED
|
@@ -0,0 +1,402 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$locale": "de-DE",
|
|
3
|
+
"app.name": "Intel",
|
|
4
|
+
"nav.primary": "Hauptnavigation",
|
|
5
|
+
"nav.nodes": "Wissen",
|
|
6
|
+
"nav.flows": "Flows",
|
|
7
|
+
"nav.tools": "Werkzeuge",
|
|
8
|
+
"shell.toggleSidebar": "Seitenleiste ein- oder ausklappen",
|
|
9
|
+
"shell.resizeSidebar": "Breite der Seitenleiste",
|
|
10
|
+
"shell.signedInUser": "Angemeldete Person",
|
|
11
|
+
"shell.userUnavailable": "Konto nicht verfügbar",
|
|
12
|
+
"shell.userMenu": "Konto und Werkzeuge für {name}",
|
|
13
|
+
"search.open": "Suchen",
|
|
14
|
+
"search.title": "Intel durchsuchen",
|
|
15
|
+
"search.description": "Finde Dokumente, Flows und Werkzeuge, die du sehen darfst.",
|
|
16
|
+
"search.placeholder": "Dokumente, Flows und Werkzeuge durchsuchen",
|
|
17
|
+
"search.filter": "Nach Art filtern",
|
|
18
|
+
"search.all": "Alles",
|
|
19
|
+
"search.kind.node": "Wissen",
|
|
20
|
+
"search.kind.flow": "Flows",
|
|
21
|
+
"search.kind.tool": "Werkzeuge",
|
|
22
|
+
"search.hint": "Tippen, um zu suchen.",
|
|
23
|
+
"search.searching": "Wird gesucht …",
|
|
24
|
+
"search.empty": "Nichts gefunden für „{query}“.",
|
|
25
|
+
"search.failed": "Die Suche konnte nicht abgeschlossen werden.",
|
|
26
|
+
"tree.label": "Wissen und Flows",
|
|
27
|
+
"tree.contents": "In {title}",
|
|
28
|
+
"tree.calls": "Flows, die {title} aufruft",
|
|
29
|
+
"tree.empty": "Hier ist noch nichts.",
|
|
30
|
+
"tree.failed": "Dieser Teil des Baums konnte nicht geladen werden.",
|
|
31
|
+
"tree.expand": "Zeigen, was in {title} liegt",
|
|
32
|
+
"tree.collapse": "Verbergen, was in {title} liegt",
|
|
33
|
+
"tree.expandCalls": "Die Flows zeigen, die {title} aufruft",
|
|
34
|
+
"tree.collapseCalls": "Die Flows verbergen, die {title} aufruft",
|
|
35
|
+
"tree.add": "Zu {title} hinzufügen",
|
|
36
|
+
"tree.addRoot": "Auf oberster Ebene anlegen",
|
|
37
|
+
"tree.new.folder": "Neuer Ordner",
|
|
38
|
+
"tree.new.document": "Neues Dokument",
|
|
39
|
+
"tree.new.table": "Neue Tabelle",
|
|
40
|
+
"tree.new.upload": "Datei hochladen",
|
|
41
|
+
"tree.new.flow": "Neuer Flow",
|
|
42
|
+
"tree.new.agent": "Neuer Agent",
|
|
43
|
+
"tree.upload": "Datei zum Hochladen",
|
|
44
|
+
"tree.table.columns": "Spalten",
|
|
45
|
+
"tree.table.columnsHint": "Trenne die Spaltennamen mit Kommas. Sie sind die Kopfzeile, und jede später angehängte Zeile muss dazu passen.",
|
|
46
|
+
"tree.createFailed": "Es konnte nicht angelegt werden. Prüfe deinen Zugriff und versuche es erneut.",
|
|
47
|
+
"tree.uploadFailed": "Die Datei konnte nicht hochgeladen werden. Prüfe die Grenze von 15 MB und versuche es erneut.",
|
|
48
|
+
"tree.kind.folder": "Ordner",
|
|
49
|
+
"tree.kind.document": "Dokument",
|
|
50
|
+
"tree.kind.attachment": "Datei",
|
|
51
|
+
"tree.kind.table": "Tabelle",
|
|
52
|
+
"tree.kind.agent": "Agent",
|
|
53
|
+
"tree.kind.flow": "Flow",
|
|
54
|
+
"tree.move.action": "Verschieben nach …",
|
|
55
|
+
"tree.move.title": "{title} verschieben",
|
|
56
|
+
"tree.move.root": "Oberste Ebene",
|
|
57
|
+
"tree.move.dropRoot": "Hier ablegen, um auf die oberste Ebene zu verschieben",
|
|
58
|
+
"tree.move.pick": "Wähle den Ordner, in den es soll.",
|
|
59
|
+
"tree.move.up": "Zurück in den Ordner darüber",
|
|
60
|
+
"tree.move.open": "{title} öffnen",
|
|
61
|
+
"tree.move.noFolders": "Hier gibt es keinen Ordner, in den es passt.",
|
|
62
|
+
"tree.move.here": "Nach {title} verschieben",
|
|
63
|
+
"tree.move.alreadyThere": "Es liegt bereits hier.",
|
|
64
|
+
"tree.move.destination": "Neuer Ort: {title}",
|
|
65
|
+
"tree.move.sharingWarning": "Die Freigabe folgt dem Ordner. Nach dem Verschieben erreicht jede Person, die {title} erreicht, auch diesen Eintrag — und wer ihn nur über den alten Ordner erreichte, verliert ihn. Niemand wird benachrichtigt.",
|
|
66
|
+
"tree.move.elsewhere": "Anderen Ordner wählen",
|
|
67
|
+
"tree.move.confirm": "Verschieben",
|
|
68
|
+
"tree.move.failed.forbidden": "Nicht verschoben: Du darfst in diesen Ordner nicht schreiben. Bitte dort um Schreibzugriff.",
|
|
69
|
+
"tree.move.failed.notFolder": "Nicht verschoben: Nur ein Ordner kann andere Einträge aufnehmen.",
|
|
70
|
+
"tree.move.failed.cycle": "Nicht verschoben: Ein Ordner kann weder in sich selbst noch in etwas, das er enthält.",
|
|
71
|
+
"tree.move.failed.conflict": "Nicht verschoben: Jemand anderes hat diesen Eintrag zuerst geändert. Der Baum wurde neu geladen — sieh noch einmal nach und verschiebe dann.",
|
|
72
|
+
"tree.move.failed.gone": "Nicht verschoben: Diesen Ordner gibt es nicht mehr.",
|
|
73
|
+
"tree.move.failed.other": "Es konnte nicht verschoben werden. Prüfe deinen Zugriff und versuche es erneut.",
|
|
74
|
+
"resource.menu": "Weitere Aktionen für {title}",
|
|
75
|
+
"resource.rename": "Umbenennen",
|
|
76
|
+
"resource.renameTitle": "{title} umbenennen",
|
|
77
|
+
"resource.archive": "Archivieren",
|
|
78
|
+
"resource.export": "Als ZIP herunterladen",
|
|
79
|
+
"tree.new.importZip": "ZIP-Bündel importieren",
|
|
80
|
+
"tree.new.importFolder": "Ordner importieren",
|
|
81
|
+
"tree.importFailed": "Der Import wurde nicht übernommen. Es wurde nichts angelegt — prüfe das Bündel und versuche es erneut.",
|
|
82
|
+
"resource.exportFailed": "Der Export konnte nicht heruntergeladen werden. Prüfe deinen Zugriff und versuche es erneut.",
|
|
83
|
+
"archive.title": "Archiv",
|
|
84
|
+
"archive.description": "Alles, was du archiviert hast, das Neueste zuerst. Beim Wiederherstellen kommt ein Eintrag dorthin zurück, wo er lag.",
|
|
85
|
+
"archive.restore": "{title} wiederherstellen",
|
|
86
|
+
"archive.restoreAction": "Wiederherstellen",
|
|
87
|
+
"archive.empty": "Es ist nichts archiviert.",
|
|
88
|
+
"archive.failed": "Das Archiv konnte nicht gelesen werden. Prüfe deinen Zugriff und versuche es erneut.",
|
|
89
|
+
"archive.restoreFailed": "Es wurde nicht wiederhergestellt. Vielleicht hat jemand anderes es geändert — lade neu und versuche es erneut.",
|
|
90
|
+
"archive.archivedAt": "Archiviert {when}",
|
|
91
|
+
"resource.conflict": "Nicht geändert: Jemand anderes hat diesen Eintrag zuerst geändert. Lade ihn neu und versuche es erneut.",
|
|
92
|
+
"resource.forbidden": "Nicht geändert: Du darfst diesen Eintrag nicht ändern.",
|
|
93
|
+
"resource.failed": "Die Änderung wurde nicht gespeichert. Lade die neueste Fassung und versuche es erneut.",
|
|
94
|
+
"node.empty": "Es wurde noch nichts hinzugefügt.",
|
|
95
|
+
"node.download": "Datei herunterladen",
|
|
96
|
+
"node.attachmentHelp": "Die kanonische Datei liegt privat in Intel. Ihre KI-lesbare Projektion wird getrennt indexiert.",
|
|
97
|
+
"node.table.summary": "{rows} Zeilen, {columns} Spalten",
|
|
98
|
+
"node.table.download": "CSV herunterladen",
|
|
99
|
+
"node.table.empty": "Noch keine Zeilen. Zeilen werden von Flows und Agenten angehängt.",
|
|
100
|
+
"node.table.undefined": "Diese Tabelle hat noch keine Spalten.",
|
|
101
|
+
"node.select": "Wähle ein Dokument oder einen Ordner, um damit zu arbeiten.",
|
|
102
|
+
"node.folderEmpty": "In diesem Ordner ist noch nichts. Lege etwas über das Plus in der Seitenleiste an.",
|
|
103
|
+
"node.folderFailed": "Dieser Ordner konnte nicht gelesen werden.",
|
|
104
|
+
"node.changed": "Geändert",
|
|
105
|
+
"node.rowActions": "Aktionen",
|
|
106
|
+
"node.kind.folder": "Ordner",
|
|
107
|
+
"node.kind.document": "Dokument",
|
|
108
|
+
"node.kind.attachment": "Upload",
|
|
109
|
+
"node.kind.table": "Tabelle",
|
|
110
|
+
"node.kind.agent": "Agent",
|
|
111
|
+
"node.kind.flow": "Flow",
|
|
112
|
+
"node.share": "Freigeben",
|
|
113
|
+
"node.shareAction": "Zugriff geben",
|
|
114
|
+
"node.email": "E-Mail-Adresse",
|
|
115
|
+
"node.verbs": "Was diese Freigabe erlaubt",
|
|
116
|
+
"node.verb.read": "Lesen",
|
|
117
|
+
"node.verb.write": "Schreiben",
|
|
118
|
+
"node.verb.execute": "Ausführen",
|
|
119
|
+
"node.verb.share": "Freigeben",
|
|
120
|
+
"node.verbHint.read": "Alles hier drin sehen",
|
|
121
|
+
"node.verbHint.write": "Dinge ändern und hinzufügen",
|
|
122
|
+
"node.verbHint.execute": "Die Flows hier drin starten",
|
|
123
|
+
"node.verbHint.execute.agent": "Diesen Agenten nutzen — seinen Chat, seine Zeitpläne und seine MCP-Adresse",
|
|
124
|
+
"node.verbHint.share": "Anderen Zugriff geben",
|
|
125
|
+
"node.organization": "Alle in der Organisation",
|
|
126
|
+
"node.revokeShare": "Zugriff entziehen",
|
|
127
|
+
"node.noGrants": "Außer der Besitzerin oder dem Besitzer hat noch niemand Zugriff.",
|
|
128
|
+
"node.shareFailed": "Der Zugriff wurde nicht geändert. Prüfe deine Berechtigung und versuche es erneut.",
|
|
129
|
+
"node.shareUnreadable": "Flows in diesem Ordner lesen Dokumente, die diese Freigabe nicht abdeckt: {titles}.",
|
|
130
|
+
"node.shareUnreadableMore": "{count} weitere liegen ebenfalls außer Reichweite, und du kannst sie nicht sehen.",
|
|
131
|
+
"node.shareUnreadableHidden": "{count} Dokumente, die Flows in diesem Ordner lesen, liegen mit dieser Freigabe außer Reichweite. Du kannst sie nicht sehen.",
|
|
132
|
+
"node.shareUnreadableHint": "Nichts ist blockiert. Ein Lauf dieser Flows hält für sie schlicht an dieser Stelle an.",
|
|
133
|
+
"node.versions": "Versionsverlauf",
|
|
134
|
+
"node.version": "Version {sequence}",
|
|
135
|
+
"view.showGraph": "Diese Ebene als Graph zeigen",
|
|
136
|
+
"view.showEditor": "Zurück zum Editor",
|
|
137
|
+
"view.showRuns": "Die Läufe dieses Flows zeigen",
|
|
138
|
+
"view.graph": "Beziehungsgraph",
|
|
139
|
+
"view.graphTruncated": "{omitted} weitere ausgelassen — diese Ansicht zeichnet höchstens {limit}.",
|
|
140
|
+
"view.graphEmpty": "Hier ist nichts, was du sehen darfst.",
|
|
141
|
+
"view.graphFailed": "Der Graph konnte nicht geladen werden.",
|
|
142
|
+
"node.graphZoomIn": "Vergrößern",
|
|
143
|
+
"node.graphZoomOut": "Verkleinern",
|
|
144
|
+
"node.graphReset": "Graph einpassen",
|
|
145
|
+
"node.operationFailed": "Die Änderung wurde nicht gespeichert. Lade die neueste Fassung und versuche es erneut.",
|
|
146
|
+
"node.loadFailed": "Dieser Eintrag konnte nicht geladen werden. Prüfe deinen Zugriff und versuche es erneut.",
|
|
147
|
+
"node.downloadFailed": "Der Anhang konnte nicht heruntergeladen werden. Prüfe deinen Zugriff und versuche es erneut.",
|
|
148
|
+
"node.links": "Verweise und Rückverweise",
|
|
149
|
+
"node.noLinks": "Noch keine ausdrücklichen Beziehungen.",
|
|
150
|
+
"node.linksHelp": "Beziehungen werden im Text geschrieben. Verlinke ein Dokument aus dem Editor mit dem /-Befehl; diese Liste zeigt das Ergebnis und wer hierher zeigt.",
|
|
151
|
+
"node.linkOutgoing": "Dieses Dokument verweist darauf",
|
|
152
|
+
"node.linkIncoming": "Es verweist auf dieses Dokument",
|
|
153
|
+
"node.link.insert": "Dokument verlinken",
|
|
154
|
+
"node.link.group": "Dokumente",
|
|
155
|
+
"node.link.search": "Dokumente durchsuchen, die du sehen kannst",
|
|
156
|
+
"node.link.noMatches": "Keines deiner Dokumente passt.",
|
|
157
|
+
"node.link.unresolved": "Nicht verfügbares Dokument",
|
|
158
|
+
"node.saveConflict": "Dieses Dokument wurde anderswo geändert. Lade es neu, bevor du wieder speicherst.",
|
|
159
|
+
"node.saveError": "Dieses Dokument konnte nicht gespeichert werden. Lade neu und versuche es erneut.",
|
|
160
|
+
"tools.signingIn": "Du wirst am Firmenportal angemeldet …",
|
|
161
|
+
"tools.noAccess": "Kein Zugriff auf das Firmenportal",
|
|
162
|
+
"tools.noAccessHelp": "Dein Intel-Konto erreicht das MCP-Portal der Firma nicht, deshalb gibt es hier nichts zu zeigen. Wer welchen Server nutzen darf, entscheidet eine Administration im Portal; bitte darum, aufgenommen zu werden.",
|
|
163
|
+
"tools.empty": "Keine Werkzeuge für dich verfügbar",
|
|
164
|
+
"tools.emptyHelp": "Das Portal hat geantwortet, und es bietet deinem Konto keine Werkzeuge an. Welche Server es gibt und wer sie erreicht, entscheidet eine Administration im Portal.",
|
|
165
|
+
"tools.unreachable": "Portal nicht erreichbar",
|
|
166
|
+
"tools.unreachableHelp": "Das MCP-Portal der Firma hat nicht geantwortet, deshalb kann Intel nicht sagen, welche Werkzeuge du hast. Hier wird nichts gespeichert; versuche es erneut, sobald das Portal antwortet.",
|
|
167
|
+
"tools.connectExpired": "Die Anmeldung am Portal hat zu lange gedauert",
|
|
168
|
+
"tools.connectExpiredHelp": "Die Verbindung zum MCP-Portal der Firma muss innerhalb weniger Minuten abgeschlossen sein, und diese lief ab, während die Freigabe-Seite offen stand. Es ist nichts schiefgegangen und nichts wurde verweigert — starte erneut und bestätige die Server, wenn die Seite erscheint.",
|
|
169
|
+
"tools.connectRetry": "Erneut starten",
|
|
170
|
+
"tools.connectFailed": "Anmeldung am Portal fehlgeschlagen",
|
|
171
|
+
"tools.connectFailedHelp": "Die Anmeldung am MCP-Portal der Firma brach ab, bevor sie beantwortet werden konnte. Das ist ein technischer Fehler, keine Entscheidung über deinen Zugriff — lade neu für einen weiteren Versuch, und sag der Administration Bescheid, wenn es bleibt.",
|
|
172
|
+
"tools.origin": "Herkunft",
|
|
173
|
+
"tools.originUnlisted": "Nicht von einem gelisteten Server",
|
|
174
|
+
"tools.originUnlistedHelp": "Die Serverliste des Portals nennt für diese keinen Server. Seine eigenen Verwaltungswerkzeuge liegen hier — das Portal listet sich nicht selbst — und ebenso alles von einem Server, den die Liste nicht erwähnt hat.",
|
|
175
|
+
"tools.ungrouped": "Nicht nach Server sortiert",
|
|
176
|
+
"tools.ungroupedHelp": "Das MCP-Portal der Firma hat nicht beantwortet, von welchen Servern diese Werkzeuge kommen, deshalb kann Intel nicht sagen, welches Werkzeug wohin gehört. Alles, was du erreichst, steht unten; nur die Gruppierung fehlt.",
|
|
177
|
+
"tools.inputSchema": "Eingabeschema",
|
|
178
|
+
"tools.outputSchema": "Ergebnisschema",
|
|
179
|
+
"tools.destructiveShort": "Verändernd",
|
|
180
|
+
"tools.destructiveCount": "{count} verändernd",
|
|
181
|
+
"tools.toolCount": "{count} Werkzeuge",
|
|
182
|
+
"tools.toolCountOne": "1 Werkzeug",
|
|
183
|
+
"tools.liveNote": "Diese Liste ist eine Live-Abfrage mit deinem eigenen Portal-Zugriff. Intel speichert weder die Werkzeuge noch, wer sie nutzen darf; beides entscheidet das Portal.",
|
|
184
|
+
"tools.arguments": "Argumente",
|
|
185
|
+
"tools.invalidJson": "Die Argumente müssen ein JSON-Objekt in geschweiften Klammern sein; eine Liste oder ein einzelner Wert funktioniert nicht.",
|
|
186
|
+
"flows.select": "Wähle einen Flow oder lege einen an, um den visuellen Editor zu öffnen.",
|
|
187
|
+
"flows.inspect": "Wähle einen Schritt, um seine Konfiguration zu bearbeiten.",
|
|
188
|
+
"flows.publish": "Veröffentlichen",
|
|
189
|
+
"flows.publishNothing": "Nichts Neues zu veröffentlichen",
|
|
190
|
+
"flows.publishNeeded": "Veröffentlichen — vorher kann kein Lauf starten",
|
|
191
|
+
"flows.validate": "Prüfen, ob er laufen würde",
|
|
192
|
+
"flows.validateReady": "Dieser Flow würde jetzt starten.",
|
|
193
|
+
"flows.validateWhen": "Geprüft {when}. Der Werkzeug-Zugriff wird jedes Mal mit deinem eigenen Token erfragt, diese Antwort ist also eine Momentaufnahme.",
|
|
194
|
+
"flows.problem.flow_execute_forbidden": "Du darfst diesen Flow nicht ausführen",
|
|
195
|
+
"flows.problem.flow_not_published": "Der Flow ist nicht veröffentlicht",
|
|
196
|
+
"flows.problem.flow_graph_invalid": "Der Graph kann nicht laufen",
|
|
197
|
+
"flows.problem.flow_tools_unavailable": "Ein Werkzeug ist außer Reichweite",
|
|
198
|
+
"flows.problem.flow_node_forbidden": "Material, das ein Schritt liest, ist außer Reichweite",
|
|
199
|
+
"flows.problem.flow_subflow_unavailable": "Ein aufgerufener Flow ist nicht verfügbar",
|
|
200
|
+
"flows.problem.flow_subflow_not_published": "Ein aufgerufener Flow ist nicht veröffentlicht",
|
|
201
|
+
"flows.addNode": "Schritt hinzufügen",
|
|
202
|
+
"flows.closePalette": "Schrittleiste schließen",
|
|
203
|
+
"flows.nodePalette": "Schritt-Arten",
|
|
204
|
+
"flows.node.trigger": "Start",
|
|
205
|
+
"flows.startExists": "Ein Flow hat genau einen Start, und dieser hat ihn schon.",
|
|
206
|
+
"flows.node.instruction": "Anweisung",
|
|
207
|
+
"flows.node.folder": "Ordner",
|
|
208
|
+
"flows.node.document": "Dokument",
|
|
209
|
+
"flows.node.upload": "Upload",
|
|
210
|
+
"flows.node.table": "Tabelle",
|
|
211
|
+
"flows.node.tool": "Werkzeug",
|
|
212
|
+
"flows.node.condition": "Bedingung",
|
|
213
|
+
"flows.node.subflow": "Flow",
|
|
214
|
+
"flows.node.output": "Ende",
|
|
215
|
+
"flows.instruction": "Anweisung für die KI oder die Person",
|
|
216
|
+
"flows.instructionHint": "Bedingungen, Prüfungen und Verzweigungen lassen sich hier in Worten beschreiben. Für jede kleine Entscheidung braucht es keinen eigenen Schritt.",
|
|
217
|
+
"flows.linkEmpty": "Noch nichts gewählt",
|
|
218
|
+
"picker.search": "Nach Namen suchen",
|
|
219
|
+
"picker.top": "Alle Ordner",
|
|
220
|
+
"picker.open": "{title} öffnen",
|
|
221
|
+
"picker.nothing": "Hier ist nichts",
|
|
222
|
+
"flows.layer.marker": "Markierungen",
|
|
223
|
+
"flows.layer.step": "Schritte",
|
|
224
|
+
"flows.layer.link": "Verbindungen",
|
|
225
|
+
"flows.subflowTarget": "Aufzurufender Flow",
|
|
226
|
+
"flows.selectSubflow": "Wähle einen Flow zum Aufrufen",
|
|
227
|
+
"flows.subflowRule": "Ein Flow darf einen Flow im eigenen Ordner oder darunter aufrufen, oder einen in einem Ordner, den alle ausführen dürfen. Das Veröffentlichen nennt den Grund, wenn er es nicht darf.",
|
|
228
|
+
"flows.subflowVersion": "Aufzurufende Version",
|
|
229
|
+
"flows.subflowVersion.latest": "Neueste — beim Veröffentlichen dieses Flows eingefroren",
|
|
230
|
+
"flows.subflowVersion.follows": "Immer die neueste — dieser Aufruf läuft mit",
|
|
231
|
+
"flows.subflowVersion.pinned": "Eingefrorene Version",
|
|
232
|
+
"flows.subflowVersionHint.latest": "Das Veröffentlichen ersetzt dies durch die Version, die der aufgerufene Flow dann veröffentlicht hat — eine spätere Änderung dort lässt diesen Flow in Ruhe.",
|
|
233
|
+
"flows.subflowVersionHint.follows": "Dieser Aufruf nimmt, was der aufgerufene Flow im Moment des Laufs veröffentlicht hat. Eine Änderung dort ändert auch diesen Flow.",
|
|
234
|
+
"flows.subflowVersionHint.pinned": "Dieser Aufruf läuft weiter auf der Version, auf die er eingefroren wurde. Stelle ihn auf „neueste“ zurück, um die nächste Veröffentlichung des aufgerufenen Flows mitzunehmen.",
|
|
235
|
+
"flows.subflowBadge.follows": "läuft mit",
|
|
236
|
+
"flows.subflowBadge.pinned": "eingefroren",
|
|
237
|
+
"flows.publishPreview": "Vor dem Veröffentlichen",
|
|
238
|
+
"flows.publishPreviewIntro": "Das Veröffentlichen friert jeden unten markierten Aufruf auf die genannte Version ein. Ein Aufruf auf „immer die neueste“ bleibt, wie er ist.",
|
|
239
|
+
"flows.publishPreviewEmpty": "Dieser Flow ruft keinen anderen Flow auf, das Veröffentlichen friert also nichts ein.",
|
|
240
|
+
"flows.publishPreviewFreeze": "wird auf Version {sequence} eingefroren",
|
|
241
|
+
"flows.publishPreviewPinned": "bereits auf Version {sequence} eingefroren",
|
|
242
|
+
"flows.publishPreviewFollows": "läuft mit dem aufgerufenen Flow mit",
|
|
243
|
+
"flows.publishPreviewUnavailable": "Der aufgerufene Flow hat noch nichts veröffentlicht, das lässt sich nicht einfrieren.",
|
|
244
|
+
"flows.publishConfirm": "Veröffentlichen",
|
|
245
|
+
"flows.publishFailed": "Das Veröffentlichen ist fehlgeschlagen. Lade die neueste Fassung und versuche es erneut.",
|
|
246
|
+
"flows.tool": "MCP-Werkzeug",
|
|
247
|
+
"flows.selectTool": "Wähle ein gefundenes Werkzeug",
|
|
248
|
+
"flows.operationFailed": "Der Flow-Vorgang ist fehlgeschlagen. Lade die neueste Fassung und versuche es erneut.",
|
|
249
|
+
"flows.needs": "Was dieser Flow braucht",
|
|
250
|
+
"flows.needsHint": "Aus dem Graphen gelesen. Ob eine bestimmte Person davon etwas erreicht, entscheidet sich, wenn sie ihn ausführt.",
|
|
251
|
+
"flows.needsNodes": "Dokumente",
|
|
252
|
+
"flows.needsTools": "Werkzeuge",
|
|
253
|
+
"flows.needsHidden": "{count} weitere, die du nicht sehen kannst",
|
|
254
|
+
"flows.needsEmpty": "Dieser Flow liest keine Dokumente und ruft keine Werkzeuge auf.",
|
|
255
|
+
"flows.needsFailed": "Was dieser Flow braucht, konnte nicht geladen werden.",
|
|
256
|
+
"runs.title": "Läufe",
|
|
257
|
+
"runs.onlyFailed": "Nur fehlgeschlagene Läufe",
|
|
258
|
+
"runs.empty": "Dieser Flow ist noch nicht gelaufen.",
|
|
259
|
+
"runs.emptyFailed": "Kein Lauf dieses Flows ist fehlgeschlagen.",
|
|
260
|
+
"runs.more": "Ältere Läufe zeigen",
|
|
261
|
+
"runs.stillRunning": "läuft noch",
|
|
262
|
+
"runs.failedAt": "Fehlgeschlagen bei {step}:",
|
|
263
|
+
"runs.failedToLoad": "Die Läufe dieses Flows konnten nicht geladen werden.",
|
|
264
|
+
"runs.stepsFailedToLoad": "Die Schritte dieses Laufs konnten nicht geladen werden.",
|
|
265
|
+
"runs.stepsEmpty": "Dieser Lauf hat noch keinen Schritt abgeschlossen.",
|
|
266
|
+
"runs.stepsTitle": "Schritte",
|
|
267
|
+
"runs.durationMs": "{value} ms",
|
|
268
|
+
"runs.durationSeconds": "{value} s",
|
|
269
|
+
"runs.durationMinutes": "{value} min",
|
|
270
|
+
"runs.status.queued": "In der Warteschlange",
|
|
271
|
+
"runs.status.running": "Läuft",
|
|
272
|
+
"runs.status.waiting": "Wartet",
|
|
273
|
+
"runs.status.completed": "Abgeschlossen",
|
|
274
|
+
"runs.status.failed": "Fehlgeschlagen",
|
|
275
|
+
"runs.status.cancelled": "Abgebrochen",
|
|
276
|
+
"runs.trigger.manual": "von Hand gestartet",
|
|
277
|
+
"runs.trigger.subflow": "von einem anderen Flow aufgerufen",
|
|
278
|
+
"runs.outcome.completed": "fertig",
|
|
279
|
+
"runs.outcome.failed": "fehlgeschlagen",
|
|
280
|
+
"agent.tabs": "Agenten-Ansichten",
|
|
281
|
+
"agent.tab.profile": "Profil",
|
|
282
|
+
"agent.tab.chat": "Chat",
|
|
283
|
+
"agent.tab.calendar": "Kalender",
|
|
284
|
+
"agent.tab.log": "Protokoll",
|
|
285
|
+
"agent.statusRunning": "Läuft",
|
|
286
|
+
"agent.statusIdle": "Bereit",
|
|
287
|
+
"agent.statusPaused": "Pausiert",
|
|
288
|
+
"agent.statusUnknown": "Laufzeit nicht erreichbar",
|
|
289
|
+
"agent.nextRun": "nächster Lauf {when} ({zone})",
|
|
290
|
+
"agent.noNextRun": "kein geplanter Lauf",
|
|
291
|
+
"agent.pausedNoRuns": "kein Zeitplan feuert, keine Aufgabe und keine Mail wird angenommen; der Chat antwortet weiter",
|
|
292
|
+
"agent.pause": "Pausieren",
|
|
293
|
+
"agent.resume": "Fortsetzen",
|
|
294
|
+
"agent.runNow": "Jetzt ausführen",
|
|
295
|
+
"agent.runNowNoTarget": "Dieser Agent hat keinen Zeitplan, es gibt also nichts auszuführen.",
|
|
296
|
+
"agent.runNowPaused": "Setze den Agenten fort, bevor du ihn ausführst.",
|
|
297
|
+
"agent.actionFailed": "Das hat nicht funktioniert. Versuche es erneut.",
|
|
298
|
+
"agent.keyMissing": "Dieser Agent hat keinen Application-Key, deshalb kann kein Lauf starten. Ersetze seinen Key unter „Identität“ im Profil.",
|
|
299
|
+
"agent.notPermitted": "Du darfst diesen Agenten lesen, aber nicht steuern. Dafür braucht es die Berechtigung „Agenten ausführen“.",
|
|
300
|
+
"agent.noRuntime": "Diese Installation betreibt keine Agenten-Laufzeit, deshalb kann dieser Agent hier weder chatten noch laufen. Seine Definition bleibt erhalten und funktioniert wieder auf einer Installation, die eine hat.",
|
|
301
|
+
"agent.loadFailed": "Dieser Agent konnte nicht geladen werden. Prüfe deinen Zugriff und versuche es erneut.",
|
|
302
|
+
"agent.saveFailed": "Die Änderung wurde nicht gespeichert. Vielleicht hat jemand anderes diesen Agenten zuerst geändert — lade neu und versuche es erneut.",
|
|
303
|
+
"agent.noDefinition": "Dieser Agent hat noch keine Definition, hier gibt es also nichts zu ändern.",
|
|
304
|
+
"agent.identity": "Identität",
|
|
305
|
+
"agent.identityHint": "Die Gate-Application, als die dieser Agent handelt. Ihre Rechte im Baum entscheiden, was ein Lauf lesen und schreiben darf, und ihr Key liegt verschlüsselt in der Agenten-Laufzeit — nie hier und nie in der Definition.",
|
|
306
|
+
"agent.principal": "Gate-Application",
|
|
307
|
+
"agent.principalNone": "Keine",
|
|
308
|
+
"agent.principalNoneHint": "Dieser Agent hat keine Gate-Application, es gibt also keinen Key zu ersetzen. Agenten, die vor dieser Funktion angelegt, importiert oder aus einem Bündel wiederhergestellt wurden, bekommen eine in Gate.",
|
|
309
|
+
"agent.rotateKey": "Key ersetzen",
|
|
310
|
+
"agent.rotateKeyConfirm": "Ein neuer Key wird ausgestellt und an die Agenten-Laufzeit übergeben. Der bisherige Key hört sofort auf zu funktionieren, und kein Key wird hier je angezeigt.",
|
|
311
|
+
"agent.rotateKeyDone": "Der Key wurde ersetzt. Ab dem nächsten Lauf arbeitet der Agent mit dem neuen.",
|
|
312
|
+
"agent.rotateKeyFailed": "Der Key wurde nicht ersetzt. Versuche es erneut — und bleib dran, bis es klappt: Wenn Gate den neuen Key bereits ausgestellt hat, kann dieser Agent erst wieder laufen, wenn die Agenten-Laufzeit ihn hat.",
|
|
313
|
+
"agent.contact": "Erreichbarkeit",
|
|
314
|
+
"agent.contactHint": "Wie dieser Agent erreicht wird. Der eingebaute Chat gehört zur Laufzeit und ist immer da.",
|
|
315
|
+
"agent.contactChat": "Eingebauter Chat",
|
|
316
|
+
"agent.contactChatBuiltIn": "Eingebaut, immer da",
|
|
317
|
+
"agent.contactMcp": "MCP-Adresse",
|
|
318
|
+
"agent.copy": "Kopieren",
|
|
319
|
+
"agent.copied": "Kopiert",
|
|
320
|
+
"agent.contactAdd": "Erreichbarkeit hinzufügen",
|
|
321
|
+
"agent.contactAddReason": "Eine Mail-Adresse gehört der Installation, nicht der Definition des Agenten — sie wird dort konfiguriert, wo die Laufzeit betrieben wird.",
|
|
322
|
+
"agent.knows": "Was er weiß",
|
|
323
|
+
"agent.knowsHint": "Die Ordner, die dieser Agent liest, und wofür jeder davon zählt. Eine Systemnachricht weist ihn an, semantischer Kontext wird durchsucht, in das Gedächtnis wird zurückgeschrieben.",
|
|
324
|
+
"agent.addReference": "Ordner hinzufügen",
|
|
325
|
+
"agent.removeReferenceOf": "{title} nicht mehr lesen",
|
|
326
|
+
"agent.pickFolder": "Zu lesender Ordner",
|
|
327
|
+
"agent.roleFor": "Wofür {title} zählt",
|
|
328
|
+
"agent.role.system-message": "Systemnachricht",
|
|
329
|
+
"agent.role.semantic-context": "Semantischer Kontext",
|
|
330
|
+
"agent.role.memory": "Gedächtnis",
|
|
331
|
+
"agent.unknownEntry": "Für dich nicht verfügbar",
|
|
332
|
+
"agent.tools": "Werkzeuge",
|
|
333
|
+
"agent.toolsHint": "Die MCP-Server, die du diesem Agenten gibst, aus denen, die du selbst erreichst. Intel speichert die Auswahl, nie die Berechtigung — die Werkzeuge hinter einem Server werden bei jedem Lauf live mit deinem Portal-Zugriff gelesen.",
|
|
334
|
+
"agent.addTool": "Werkzeug hinzufügen",
|
|
335
|
+
"agent.removeToolServerOf": "{name} diesem Agenten wegnehmen",
|
|
336
|
+
"agent.toolServerUnavailable": "Du erreichst diesen Server nicht mehr",
|
|
337
|
+
"agent.toolsDelegationNotice": "Wer diesen Agenten ausführen darf, handelt auf deiner Verbindung.",
|
|
338
|
+
"agent.toolsNotConnected": "Du bist noch nicht am Firmenportal angemeldet, es gibt also nichts abzugeben. Öffne „Werkzeuge“, um dich zu verbinden.",
|
|
339
|
+
"agent.toolsNoneLeft": "Jeder Server, den du erreichst, ist diesem Agenten bereits gegeben.",
|
|
340
|
+
"agent.schedule": "Zeitplan",
|
|
341
|
+
"agent.scheduleHint": "Wann dieser Agent von sich aus handelt und was er ausführt. Jeder Zeitplan behält die Zeitzone, die er bekommen hat — er meint damit für alle Lesenden dieselbe Stunde.",
|
|
342
|
+
"agent.scheduleEmpty": "Dieser Agent läuft nur, wenn er gefragt wird.",
|
|
343
|
+
"agent.addSchedule": "Zeitplan hinzufügen",
|
|
344
|
+
"agent.removeSchedule": "Diesen Zeitplan entfernen",
|
|
345
|
+
"agent.scheduleTarget": "Was ausgeführt wird",
|
|
346
|
+
"agent.cron": "Wann",
|
|
347
|
+
"agent.scheduleTimezone": "Zeitzone",
|
|
348
|
+
"agent.scheduleTimezoneHint": "Worin der Ausdruck darüber gelesen wird. Vorgeschlagen aus deiner eigenen Einstellung und beim Zeitplan gespeichert — wenn du deine Einstellung später änderst, bleibt dieser hier unberührt.",
|
|
349
|
+
"agent.cronHint": "Fünf Felder: Minute, Stunde, Tag des Monats, Monat, Wochentag. „0 8 * * *“ ist täglich um 08:00 in der Zeitzone darunter.",
|
|
350
|
+
"agent.model": "Modell",
|
|
351
|
+
"agent.modelHint": "Welches Modell denkt. Eine Änderung übernimmt die Laufzeit innerhalb einer Minute.",
|
|
352
|
+
"agent.modelFigures": "{context} Kontext · {input} $ rein / {output} $ raus je 1 Mio. Token",
|
|
353
|
+
"agent.calendar": "Kommende Läufe",
|
|
354
|
+
"agent.calendarZones": "Jede Zeit steht in der Zeitzone ihres eigenen Zeitplans, denn dann läuft der Agent.",
|
|
355
|
+
"agent.calendarUnreadable": "Keiner der Zeitpläne dieses Agenten lässt sich als Cron-Ausdruck lesen, es ist also nichts geplant.",
|
|
356
|
+
"agent.log": "Läufe",
|
|
357
|
+
"agent.logEmpty": "Dieser Agent ist noch nicht gelaufen.",
|
|
358
|
+
"agent.logFailed": "Die Läufe konnten nicht gelesen werden. Vielleicht ist die Agenten-Laufzeit von hier aus nicht erreichbar.",
|
|
359
|
+
"agent.runFailed": "Dieser Lauf konnte nicht gelesen werden.",
|
|
360
|
+
"agent.runLog": "Was dieser Lauf getan hat",
|
|
361
|
+
"agent.runLogEmpty": "Dieser Lauf hat nichts aufgezeichnet.",
|
|
362
|
+
"agent.steps": "{count} Schritte",
|
|
363
|
+
"agent.trigger.chat": "aus dem Chat",
|
|
364
|
+
"agent.trigger.schedule": "nach Zeitplan",
|
|
365
|
+
"agent.trigger.mail": "aus einer E-Mail",
|
|
366
|
+
"agent.trigger.task": "über MCP gefragt",
|
|
367
|
+
"agent.trigger.manual": "von Hand gestartet",
|
|
368
|
+
"agent.chatEmpty": "Schreib diesem Agenten. Er antwortet mit dem, was er weiß, und den Werkzeugen, die er erreichen darf.",
|
|
369
|
+
"agent.chatInput": "Nachricht an diesen Agenten",
|
|
370
|
+
"agent.chatPlaceholder": "Frag etwas …",
|
|
371
|
+
"agent.chatSend": "Senden",
|
|
372
|
+
"agent.chatScrollDown": "Zur neuesten Nachricht springen",
|
|
373
|
+
"settings.title": "Einstellungen",
|
|
374
|
+
"settings.description": "Sprache, Erscheinungsbild und Zeitzone. Alle drei gelten sofort und werden auf diesem Gerät gemerkt.",
|
|
375
|
+
"settings.language": "Sprache",
|
|
376
|
+
"settings.appearance": "Erscheinungsbild",
|
|
377
|
+
"settings.appearance.system": "Dem System folgen",
|
|
378
|
+
"settings.appearance.light": "Hell",
|
|
379
|
+
"settings.appearance.dark": "Dunkel",
|
|
380
|
+
"settings.timezone": "Zeitzone",
|
|
381
|
+
"settings.timezoneHint": "Zum Lesen von Zeiten, und als Vorschlag, wenn du einem Agenten einen Zeitplan gibst. Ein Zeitplan behält die Zeitzone, die er bekommen hat — eine Reise verschiebt also keine Läufe, die du bereits gesetzt hast.",
|
|
382
|
+
"auth.signOut": "Abmelden",
|
|
383
|
+
"auth.signOutFailed": "Das Abmelden ist fehlgeschlagen. Prüfe deine Verbindung und versuche es erneut.",
|
|
384
|
+
"signIn.refusedTitle": "Angemeldet, aber nicht angenommen",
|
|
385
|
+
"signIn.refusedBody": "Gate hat dich angemeldet, und diese Installation hat den Ausweis nicht angenommen. Du wurdest nicht zurück zum Login geschickt, denn dort beginnt die Schleife.",
|
|
386
|
+
"signIn.refusedLikely": "Meistens ist die Sitzung zwischen den beiden Schritten abgelaufen, oder der Ausweis wurde für eine andere Installation ausgestellt. Ein Neuladen ist einen Versuch wert; danach muss sich anschauen, wer diese Installation betreibt.",
|
|
387
|
+
"signIn.refusedRetry": "Erneut versuchen",
|
|
388
|
+
"common.title": "Titel",
|
|
389
|
+
"common.create": "Anlegen",
|
|
390
|
+
"common.save": "Speichern",
|
|
391
|
+
"common.saving": "Wird gespeichert …",
|
|
392
|
+
"common.saved": "Gespeichert",
|
|
393
|
+
"common.saveDirty": "Ungespeicherte Änderungen speichern",
|
|
394
|
+
"common.unsavedTitle": "Ungespeicherte Änderungen",
|
|
395
|
+
"common.unsavedBody": "Hier gibt es Änderungen, die nicht gespeichert wurden. Wer jetzt geht, verwirft sie.",
|
|
396
|
+
"common.unsavedStay": "Bleiben und speichern",
|
|
397
|
+
"common.unsavedLeave": "Ohne Speichern verlassen",
|
|
398
|
+
"common.loading": "Wird geladen …",
|
|
399
|
+
"common.retry": "Erneut versuchen",
|
|
400
|
+
"common.close": "Schließen",
|
|
401
|
+
"common.unavailable": "Intel ist derzeit nicht verfügbar."
|
|
402
|
+
}
|
package/src/i18n/en.json
CHANGED
|
@@ -78,7 +78,7 @@
|
|
|
78
78
|
"resource.export": "Download as zip",
|
|
79
79
|
"tree.new.importZip": "Import zip bundle",
|
|
80
80
|
"tree.new.importFolder": "Import folder",
|
|
81
|
-
"tree.importFailed": "The import was not applied. Nothing was created
|
|
81
|
+
"tree.importFailed": "The import was not applied. Nothing was created — check the bundle and try again.",
|
|
82
82
|
"resource.exportFailed": "The export could not be downloaded. Check your access and try again.",
|
|
83
83
|
"archive.title": "Archive",
|
|
84
84
|
"archive.description": "Everything you archived, newest first. Restoring puts an entry back where it was filed.",
|
|
@@ -286,7 +286,7 @@
|
|
|
286
286
|
"agent.statusIdle": "Idle",
|
|
287
287
|
"agent.statusPaused": "Paused",
|
|
288
288
|
"agent.statusUnknown": "Runtime not reachable",
|
|
289
|
-
"agent.nextRun": "next run {when}
|
|
289
|
+
"agent.nextRun": "next run {when} ({zone})",
|
|
290
290
|
"agent.noNextRun": "no scheduled run",
|
|
291
291
|
"agent.pausedNoRuns": "no schedule fires, no task and no mail is taken; the chat still answers",
|
|
292
292
|
"agent.pause": "Pause",
|
|
@@ -338,18 +338,20 @@
|
|
|
338
338
|
"agent.toolsNotConnected": "You are not signed in to the company portal yet, so there is nothing to give away. Open Tools to connect.",
|
|
339
339
|
"agent.toolsNoneLeft": "Every server you reach is already given to this agent.",
|
|
340
340
|
"agent.schedule": "Schedule",
|
|
341
|
-
"agent.scheduleHint": "When this agent acts on its own, and what it runs.
|
|
341
|
+
"agent.scheduleHint": "When this agent acts on its own, and what it runs. Each schedule keeps the timezone it was given, so it means the same hour to everybody reading it.",
|
|
342
342
|
"agent.scheduleEmpty": "This agent runs only when it is asked.",
|
|
343
343
|
"agent.addSchedule": "Add schedule",
|
|
344
344
|
"agent.removeSchedule": "Remove this schedule",
|
|
345
345
|
"agent.scheduleTarget": "What to run",
|
|
346
346
|
"agent.cron": "When",
|
|
347
|
-
"agent.
|
|
347
|
+
"agent.scheduleTimezone": "Timezone",
|
|
348
|
+
"agent.scheduleTimezoneHint": "What the expression above is read in. Suggested from your own preference and stored with the schedule — changing your preference later leaves this one alone.",
|
|
349
|
+
"agent.cronHint": "Five fields: minute, hour, day of month, month, day of week. “0 8 * * *” is every day at 08:00 in the timezone below.",
|
|
348
350
|
"agent.model": "Model",
|
|
349
351
|
"agent.modelHint": "Which model does the thinking. A change is picked up by the runtime within a minute.",
|
|
350
352
|
"agent.modelFigures": "{context} context · ${input} in / ${output} out per 1M tokens",
|
|
351
353
|
"agent.calendar": "Upcoming runs",
|
|
352
|
-
"agent.
|
|
354
|
+
"agent.calendarZones": "Each time is shown in the timezone of its own schedule, because that is when the agent runs.",
|
|
353
355
|
"agent.calendarUnreadable": "None of this agent's schedules can be read as a cron expression, so nothing is planned.",
|
|
354
356
|
"agent.log": "Runs",
|
|
355
357
|
"agent.logEmpty": "This agent has not run yet.",
|
|
@@ -368,6 +370,15 @@
|
|
|
368
370
|
"agent.chatPlaceholder": "Ask something…",
|
|
369
371
|
"agent.chatSend": "Send",
|
|
370
372
|
"agent.chatScrollDown": "Jump to the latest message",
|
|
373
|
+
"settings.title": "Preferences",
|
|
374
|
+
"settings.description": "Language, appearance and timezone. All three take effect immediately and are remembered on this device.",
|
|
375
|
+
"settings.language": "Language",
|
|
376
|
+
"settings.appearance": "Appearance",
|
|
377
|
+
"settings.appearance.system": "Follow the system",
|
|
378
|
+
"settings.appearance.light": "Light",
|
|
379
|
+
"settings.appearance.dark": "Dark",
|
|
380
|
+
"settings.timezone": "Timezone",
|
|
381
|
+
"settings.timezoneHint": "Used to read times, and suggested when you give an agent a schedule. A schedule keeps the timezone it was given, so travelling does not move the runs you already set.",
|
|
371
382
|
"auth.signOut": "Sign out",
|
|
372
383
|
"auth.signOutFailed": "Signing out failed. Check your connection and try again.",
|
|
373
384
|
"signIn.refusedTitle": "Signed in, but not accepted",
|