@adminiumjs/i18n 0.2.2-rc.0 → 0.2.3

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.
Files changed (229) hide show
  1. package/dist/a11y-keys.d.ts +1 -1
  2. package/dist/a11y-keys.d.ts.map +1 -1
  3. package/dist/a11y-keys.js +481 -172
  4. package/dist/a11y-keys.js.map +1 -1
  5. package/dist/create-i18n.d.ts +16 -6
  6. package/dist/create-i18n.d.ts.map +1 -1
  7. package/dist/create-i18n.js +23 -9
  8. package/dist/create-i18n.js.map +1 -1
  9. package/dist/editing.d.ts +1 -1
  10. package/dist/editing.js +1 -1
  11. package/dist/index.d.ts +2 -2
  12. package/dist/index.d.ts.map +1 -1
  13. package/dist/index.js +19 -8
  14. package/dist/index.js.map +1 -1
  15. package/dist/keys.d.ts +6 -4
  16. package/dist/keys.d.ts.map +1 -1
  17. package/dist/keys.js +6 -4
  18. package/dist/keys.js.map +1 -1
  19. package/dist/overrides.d.ts +1 -1
  20. package/dist/overrides.d.ts.map +1 -1
  21. package/dist/resources/ar-eg/common.d.ts +96 -970
  22. package/dist/resources/ar-eg/common.d.ts.map +1 -1
  23. package/dist/resources/ar-eg/common.js +99 -973
  24. package/dist/resources/ar-eg/common.js.map +1 -1
  25. package/dist/resources/ar-eg/errors.d.ts +3 -2
  26. package/dist/resources/ar-eg/errors.d.ts.map +1 -1
  27. package/dist/resources/ar-eg/errors.js +3 -2
  28. package/dist/resources/ar-eg/errors.js.map +1 -1
  29. package/dist/resources/ar-eg/generated.d.ts +3 -2
  30. package/dist/resources/ar-eg/generated.d.ts.map +1 -1
  31. package/dist/resources/ar-eg/generated.js +3 -2
  32. package/dist/resources/ar-eg/generated.js.map +1 -1
  33. package/dist/resources/ar-eg/studio.d.ts +1282 -2
  34. package/dist/resources/ar-eg/studio.d.ts.map +1 -1
  35. package/dist/resources/ar-eg/studio.js +1282 -2
  36. package/dist/resources/ar-eg/studio.js.map +1 -1
  37. package/dist/resources/ar-eg/ui.d.ts +60 -2
  38. package/dist/resources/ar-eg/ui.d.ts.map +1 -1
  39. package/dist/resources/ar-eg/ui.js +72 -14
  40. package/dist/resources/ar-eg/ui.js.map +1 -1
  41. package/dist/resources/cs-cz/common.d.ts +96 -970
  42. package/dist/resources/cs-cz/common.d.ts.map +1 -1
  43. package/dist/resources/cs-cz/common.js +99 -973
  44. package/dist/resources/cs-cz/common.js.map +1 -1
  45. package/dist/resources/cs-cz/errors.d.ts +3 -2
  46. package/dist/resources/cs-cz/errors.d.ts.map +1 -1
  47. package/dist/resources/cs-cz/errors.js +3 -2
  48. package/dist/resources/cs-cz/errors.js.map +1 -1
  49. package/dist/resources/cs-cz/generated.d.ts +3 -2
  50. package/dist/resources/cs-cz/generated.d.ts.map +1 -1
  51. package/dist/resources/cs-cz/generated.js +3 -2
  52. package/dist/resources/cs-cz/generated.js.map +1 -1
  53. package/dist/resources/cs-cz/studio.d.ts +1282 -2
  54. package/dist/resources/cs-cz/studio.d.ts.map +1 -1
  55. package/dist/resources/cs-cz/studio.js +1282 -2
  56. package/dist/resources/cs-cz/studio.js.map +1 -1
  57. package/dist/resources/cs-cz/ui.d.ts +60 -2
  58. package/dist/resources/cs-cz/ui.d.ts.map +1 -1
  59. package/dist/resources/cs-cz/ui.js +72 -14
  60. package/dist/resources/cs-cz/ui.js.map +1 -1
  61. package/dist/resources/da-dk/common.d.ts +96 -970
  62. package/dist/resources/da-dk/common.d.ts.map +1 -1
  63. package/dist/resources/da-dk/common.js +99 -973
  64. package/dist/resources/da-dk/common.js.map +1 -1
  65. package/dist/resources/da-dk/errors.d.ts +3 -2
  66. package/dist/resources/da-dk/errors.d.ts.map +1 -1
  67. package/dist/resources/da-dk/errors.js +3 -2
  68. package/dist/resources/da-dk/errors.js.map +1 -1
  69. package/dist/resources/da-dk/generated.d.ts +3 -2
  70. package/dist/resources/da-dk/generated.d.ts.map +1 -1
  71. package/dist/resources/da-dk/generated.js +3 -2
  72. package/dist/resources/da-dk/generated.js.map +1 -1
  73. package/dist/resources/da-dk/studio.d.ts +1282 -2
  74. package/dist/resources/da-dk/studio.d.ts.map +1 -1
  75. package/dist/resources/da-dk/studio.js +1282 -2
  76. package/dist/resources/da-dk/studio.js.map +1 -1
  77. package/dist/resources/da-dk/ui.d.ts +60 -2
  78. package/dist/resources/da-dk/ui.d.ts.map +1 -1
  79. package/dist/resources/da-dk/ui.js +72 -14
  80. package/dist/resources/da-dk/ui.js.map +1 -1
  81. package/dist/resources/de-de/common.d.ts +96 -970
  82. package/dist/resources/de-de/common.d.ts.map +1 -1
  83. package/dist/resources/de-de/common.js +99 -973
  84. package/dist/resources/de-de/common.js.map +1 -1
  85. package/dist/resources/de-de/errors.d.ts +3 -2
  86. package/dist/resources/de-de/errors.d.ts.map +1 -1
  87. package/dist/resources/de-de/errors.js +3 -2
  88. package/dist/resources/de-de/errors.js.map +1 -1
  89. package/dist/resources/de-de/generated.d.ts +3 -2
  90. package/dist/resources/de-de/generated.d.ts.map +1 -1
  91. package/dist/resources/de-de/generated.js +3 -2
  92. package/dist/resources/de-de/generated.js.map +1 -1
  93. package/dist/resources/de-de/studio.d.ts +1282 -2
  94. package/dist/resources/de-de/studio.d.ts.map +1 -1
  95. package/dist/resources/de-de/studio.js +1282 -2
  96. package/dist/resources/de-de/studio.js.map +1 -1
  97. package/dist/resources/de-de/ui.d.ts +60 -2
  98. package/dist/resources/de-de/ui.d.ts.map +1 -1
  99. package/dist/resources/de-de/ui.js +72 -14
  100. package/dist/resources/de-de/ui.js.map +1 -1
  101. package/dist/resources/eager.d.ts +3 -0
  102. package/dist/resources/eager.d.ts.map +1 -0
  103. package/dist/resources/eager.js +25 -0
  104. package/dist/resources/eager.js.map +1 -0
  105. package/dist/resources/en-us/common.d.ts +96 -970
  106. package/dist/resources/en-us/common.d.ts.map +1 -1
  107. package/dist/resources/en-us/common.js +99 -973
  108. package/dist/resources/en-us/common.js.map +1 -1
  109. package/dist/resources/en-us/errors.d.ts +3 -2
  110. package/dist/resources/en-us/errors.d.ts.map +1 -1
  111. package/dist/resources/en-us/errors.js +3 -2
  112. package/dist/resources/en-us/errors.js.map +1 -1
  113. package/dist/resources/en-us/generated.d.ts +3 -2
  114. package/dist/resources/en-us/generated.d.ts.map +1 -1
  115. package/dist/resources/en-us/generated.js +3 -2
  116. package/dist/resources/en-us/generated.js.map +1 -1
  117. package/dist/resources/en-us/studio.d.ts +1282 -2
  118. package/dist/resources/en-us/studio.d.ts.map +1 -1
  119. package/dist/resources/en-us/studio.js +1282 -2
  120. package/dist/resources/en-us/studio.js.map +1 -1
  121. package/dist/resources/en-us/ui.d.ts +60 -2
  122. package/dist/resources/en-us/ui.d.ts.map +1 -1
  123. package/dist/resources/en-us/ui.js +72 -14
  124. package/dist/resources/en-us/ui.js.map +1 -1
  125. package/dist/resources/fr-fr/common.d.ts +96 -970
  126. package/dist/resources/fr-fr/common.d.ts.map +1 -1
  127. package/dist/resources/fr-fr/common.js +99 -973
  128. package/dist/resources/fr-fr/common.js.map +1 -1
  129. package/dist/resources/fr-fr/errors.d.ts +3 -2
  130. package/dist/resources/fr-fr/errors.d.ts.map +1 -1
  131. package/dist/resources/fr-fr/errors.js +3 -2
  132. package/dist/resources/fr-fr/errors.js.map +1 -1
  133. package/dist/resources/fr-fr/generated.d.ts +3 -2
  134. package/dist/resources/fr-fr/generated.d.ts.map +1 -1
  135. package/dist/resources/fr-fr/generated.js +3 -2
  136. package/dist/resources/fr-fr/generated.js.map +1 -1
  137. package/dist/resources/fr-fr/studio.d.ts +1282 -2
  138. package/dist/resources/fr-fr/studio.d.ts.map +1 -1
  139. package/dist/resources/fr-fr/studio.js +1282 -2
  140. package/dist/resources/fr-fr/studio.js.map +1 -1
  141. package/dist/resources/fr-fr/ui.d.ts +60 -2
  142. package/dist/resources/fr-fr/ui.d.ts.map +1 -1
  143. package/dist/resources/fr-fr/ui.js +72 -14
  144. package/dist/resources/fr-fr/ui.js.map +1 -1
  145. package/dist/resources/index.d.ts +3 -6
  146. package/dist/resources/index.d.ts.map +1 -1
  147. package/dist/resources/index.js +15 -14
  148. package/dist/resources/index.js.map +1 -1
  149. package/dist/resources/lazy.d.ts +19 -9
  150. package/dist/resources/lazy.d.ts.map +1 -1
  151. package/dist/resources/lazy.js +4 -2
  152. package/dist/resources/lazy.js.map +1 -1
  153. package/dist/resources/namespaces.d.ts +43 -0
  154. package/dist/resources/namespaces.d.ts.map +1 -0
  155. package/dist/resources/namespaces.js +37 -0
  156. package/dist/resources/namespaces.js.map +1 -0
  157. package/dist/resources/zh-cn/common.d.ts +96 -970
  158. package/dist/resources/zh-cn/common.d.ts.map +1 -1
  159. package/dist/resources/zh-cn/common.js +99 -973
  160. package/dist/resources/zh-cn/common.js.map +1 -1
  161. package/dist/resources/zh-cn/errors.d.ts +3 -2
  162. package/dist/resources/zh-cn/errors.d.ts.map +1 -1
  163. package/dist/resources/zh-cn/errors.js +3 -2
  164. package/dist/resources/zh-cn/errors.js.map +1 -1
  165. package/dist/resources/zh-cn/generated.d.ts +3 -2
  166. package/dist/resources/zh-cn/generated.d.ts.map +1 -1
  167. package/dist/resources/zh-cn/generated.js +3 -2
  168. package/dist/resources/zh-cn/generated.js.map +1 -1
  169. package/dist/resources/zh-cn/studio.d.ts +1282 -2
  170. package/dist/resources/zh-cn/studio.d.ts.map +1 -1
  171. package/dist/resources/zh-cn/studio.js +1282 -2
  172. package/dist/resources/zh-cn/studio.js.map +1 -1
  173. package/dist/resources/zh-cn/ui.d.ts +60 -2
  174. package/dist/resources/zh-cn/ui.d.ts.map +1 -1
  175. package/dist/resources/zh-cn/ui.js +72 -14
  176. package/dist/resources/zh-cn/ui.js.map +1 -1
  177. package/dist/resources/zh-tw/common.d.ts +96 -970
  178. package/dist/resources/zh-tw/common.d.ts.map +1 -1
  179. package/dist/resources/zh-tw/common.js +99 -973
  180. package/dist/resources/zh-tw/common.js.map +1 -1
  181. package/dist/resources/zh-tw/errors.d.ts +3 -2
  182. package/dist/resources/zh-tw/errors.d.ts.map +1 -1
  183. package/dist/resources/zh-tw/errors.js +3 -2
  184. package/dist/resources/zh-tw/errors.js.map +1 -1
  185. package/dist/resources/zh-tw/generated.d.ts +3 -2
  186. package/dist/resources/zh-tw/generated.d.ts.map +1 -1
  187. package/dist/resources/zh-tw/generated.js +3 -2
  188. package/dist/resources/zh-tw/generated.js.map +1 -1
  189. package/dist/resources/zh-tw/studio.d.ts +1282 -2
  190. package/dist/resources/zh-tw/studio.d.ts.map +1 -1
  191. package/dist/resources/zh-tw/studio.js +1282 -2
  192. package/dist/resources/zh-tw/studio.js.map +1 -1
  193. package/dist/resources/zh-tw/ui.d.ts +60 -2
  194. package/dist/resources/zh-tw/ui.d.ts.map +1 -1
  195. package/dist/resources/zh-tw/ui.js +72 -14
  196. package/dist/resources/zh-tw/ui.js.map +1 -1
  197. package/dist/review-status.js +7 -7
  198. package/locales/ar-EG/.meta.json +3783 -2339
  199. package/locales/ar-EG/common.json +96 -971
  200. package/locales/ar-EG/studio.json +1279 -0
  201. package/locales/ar-EG/ui.json +69 -12
  202. package/locales/cs-CZ/.meta.json +3849 -2405
  203. package/locales/cs-CZ/common.json +96 -971
  204. package/locales/cs-CZ/studio.json +1279 -0
  205. package/locales/cs-CZ/ui.json +69 -12
  206. package/locales/da-DK/.meta.json +3935 -2491
  207. package/locales/da-DK/common.json +96 -971
  208. package/locales/da-DK/studio.json +1279 -0
  209. package/locales/da-DK/ui.json +69 -12
  210. package/locales/de-DE/.meta.json +3895 -2451
  211. package/locales/de-DE/common.json +96 -971
  212. package/locales/de-DE/studio.json +1279 -0
  213. package/locales/de-DE/ui.json +69 -12
  214. package/locales/en-US/common.json +96 -971
  215. package/locales/en-US/studio.json +1279 -0
  216. package/locales/en-US/ui.json +69 -12
  217. package/locales/fr-FR/.meta.json +3964 -2520
  218. package/locales/fr-FR/common.json +96 -971
  219. package/locales/fr-FR/studio.json +1279 -0
  220. package/locales/fr-FR/ui.json +69 -12
  221. package/locales/zh-CN/.meta.json +3781 -2337
  222. package/locales/zh-CN/common.json +96 -971
  223. package/locales/zh-CN/studio.json +1279 -0
  224. package/locales/zh-CN/ui.json +69 -12
  225. package/locales/zh-TW/.meta.json +3785 -2341
  226. package/locales/zh-TW/common.json +96 -971
  227. package/locales/zh-TW/studio.json +1279 -0
  228. package/locales/zh-TW/ui.json +69 -12
  229. package/package.json +1 -1
@@ -1,8 +1,9 @@
1
1
  /**
2
2
  * GENERATED MIRROR of ../../../locales/de-DE/common.json — do not edit by hand.
3
3
  * The JSON file is the canonical hand-authored bundle (10-i18n-theming.md §3.1);
4
- * this TS mirror exists so the runtime bundles en-US resources (and chunk-splits
5
- * the other locales) without JSON import attributes (browser + NodeNext safe).
4
+ * this TS mirror exists so the runtime can bundle a namespace (en-US's eager
5
+ * ones) or chunk-split it (every other locale, and en-US's deferred `studio`)
6
+ * without JSON import attributes (browser + NodeNext safe).
6
7
  * Parity is enforced by src/resources/parity.test.ts. Regenerate with
7
8
  * scripts/gen-resources.mjs.
8
9
  */
@@ -22,6 +23,7 @@ declare const _default: {
22
23
  };
23
24
  readonly auth: {
24
25
  readonly headline: "Machen Sie aus jeder Datenbank ein Dashboard.";
26
+ readonly description: "Verbinden Sie PostgreSQL, und Adminium erzeugt eine gestaltbare, rechtebewusste Admin-App — ganz ohne Code.";
25
27
  readonly trust: "AGPL-Kern · Selbst gehostet · Ihre Daten bleiben Ihre";
26
28
  readonly signIn: {
27
29
  readonly title: "Willkommen zurück";
@@ -112,6 +114,11 @@ declare const _default: {
112
114
  readonly audit: "Audit-Log";
113
115
  readonly security: "Passwort & Sitzungen";
114
116
  };
117
+ readonly apps: {
118
+ readonly frame: {
119
+ readonly noFrames: "Diese App benötigt einen Browser, der Frames unterstützt.";
120
+ };
121
+ };
115
122
  readonly topbar: {
116
123
  readonly search: "Suchen…";
117
124
  readonly notifications: "Benachrichtigungen";
@@ -123,6 +130,8 @@ declare const _default: {
123
130
  readonly profile: "Profil";
124
131
  readonly preferences: "Einstellungen";
125
132
  readonly studio: "Studio";
133
+ readonly dataConnections: "Datenverbindungen";
134
+ readonly workspaceSettings: "Workspace-Einstellungen";
126
135
  readonly signOut: "Abmelden";
127
136
  };
128
137
  readonly palette: {
@@ -240,9 +249,15 @@ declare const _default: {
240
249
  readonly primary: "Inhaber kontaktieren";
241
250
  readonly secondary: "Zurück";
242
251
  };
252
+ readonly connectionPaused: {
253
+ readonly title: "Diese Verbindung ist pausiert";
254
+ readonly body: "Ein Administrator hat die Datenbank hinter dieser Seite pausiert, deshalb werden gerade keine Daten geladen. Es wurde nichts gelöscht – alles ist wieder da, sobald die Verbindung unter Studio → Datenverbindungen fortgesetzt wird.";
255
+ readonly secondary: "Zurück";
256
+ };
243
257
  };
244
258
  readonly notFound: {
245
259
  readonly title: "Diese Seite ist verschwunden";
260
+ readonly body: "Die gesuchte Seite existiert nicht oder wurde verschoben. Prüfen Sie die URL oder kehren Sie zu Ihrem Dashboard zurück.";
246
261
  readonly errorLine: "Fehler 404";
247
262
  readonly searchPlaceholder: "Nach einer Seite suchen…";
248
263
  readonly matches: "Passende Seiten";
@@ -261,9 +276,11 @@ declare const _default: {
261
276
  };
262
277
  readonly tooNew: {
263
278
  readonly title: "Diese Seite benötigt ein neueres Adminium";
279
+ readonly body: "Diese Seite wurde mit Konfigurationsversion {version} gespeichert, dieser Build versteht aber höchstens Version {latest}. Aktualisieren Sie Adminium, um sie zu öffnen.";
264
280
  };
265
281
  readonly unknownTemplate: {
266
282
  readonly title: "Unbekannte Seitenvorlage";
283
+ readonly body: "Diese Seite verwendet eine Vorlage, die dieser Build nicht kennt. Sie stammt womöglich aus einem neueren Adminium oder aus einer nicht installierten Erweiterung.";
267
284
  };
268
285
  };
269
286
  readonly mutation: {
@@ -315,6 +332,20 @@ declare const _default: {
315
332
  readonly twoFactor: "Zwei-Faktor";
316
333
  readonly on: "Aktiviert";
317
334
  readonly off: "Aus";
335
+ readonly nameRequired: "Geben Sie Ihren Namen ein.";
336
+ readonly emailHelper: "Dient zur Anmeldung. Für eine Änderung ist Ihr Passwort erforderlich.";
337
+ readonly confirmPassword: "Aktuelles Passwort";
338
+ readonly confirmPasswordHelper: "Bestätigen Sie, dass Sie es sind, bevor sich Ihre Anmeldeadresse ändert.";
339
+ readonly save: "Änderungen speichern";
340
+ readonly saveFailed: "Ihr Profil konnte nicht gespeichert werden";
341
+ readonly saved: "Profil aktualisiert";
342
+ readonly savedBody: "Ihre neuen Angaben gelten ab sofort im gesamten Workspace. Wenn Sie Ihre E-Mail-Adresse geändert haben, melden Sie sich künftig mit der neuen Adresse an.";
343
+ readonly accessTitle: "Zugriff";
344
+ readonly accessSubtitle: "Was dieses Konto darf und wie es seine Identität nachweist.";
345
+ readonly rolesHelper: "Rollen werden von einer Administratorin oder einem Administrator vergeben und lassen sich nicht im eigenen Konto ändern.";
346
+ readonly manageTwoFactor: "Verwalten";
347
+ readonly setUpTwoFactor: "Einrichten";
348
+ readonly securityLink: "Passwort & Sitzungen";
318
349
  readonly preferences: {
319
350
  readonly title: "Einstellungen";
320
351
  readonly subtitle: "Wie Adminium für Sie aussieht und sich liest — auf diesem und jedem anderen Gerät, an dem Sie sich anmelden.";
@@ -353,815 +384,69 @@ declare const _default: {
353
384
  readonly emptyBody: "Benachrichtigungsereignisse erscheinen hier, sobald ihre Produzenten ausgeliefert werden.";
354
385
  readonly saveFailed: "Diese Änderung konnte nicht gespeichert werden.";
355
386
  };
356
- };
357
- readonly studio: {
358
- readonly source: {
359
- readonly engine: {
360
- readonly label: "Datenbank-Engine";
361
- readonly postgres: "PostgreSQL";
362
- readonly mysql: "MySQL / MariaDB";
363
- readonly sqlite: "SQLite";
364
- };
365
- readonly format: {
366
- readonly label: "Schemaformat";
367
- readonly helper: "Bei automatischer Erkennung belassen, sofern sie nicht danebenliegt.";
368
- readonly auto: "Automatisch erkennen";
369
- readonly sql: "SQL-DDL / pg_dump";
370
- readonly prisma: "Prisma-Schema";
371
- readonly drizzle: "Drizzle ORM";
372
- readonly typeorm: "TypeORM-Entitäten";
373
- readonly sequelize: "Sequelize-Modelle";
374
- readonly rails: "Rails schema.rb";
375
- readonly django: "Django models.py";
376
- readonly json: "Adminium-JSON";
377
- };
378
- readonly sqlite: {
379
- readonly file: "Pfad zur Datenbankdatei";
380
- readonly helper: "SQLite ist eine Datei, kein Server — geben Sie den absoluten Pfad auf der Maschine an, auf der Adminium läuft.";
381
- };
382
- readonly file: {
383
- readonly detectedAs: "Erkannt: {format}";
384
- readonly moreWarnings: "+{count} weitere Warnungen — die vollständige Liste erscheint im Analyse-Schritt.";
385
- readonly dropTitle: "Schemadatei hier ablegen oder durchsuchen";
386
- readonly dropHint: "SQL DDL / pg_dump, Prisma, Drizzle, TypeORM, Sequelize, Rails schema.rb, Django-Modelle, Adminium JSON";
387
- readonly pitch: "Keine Datenbankverbindung nötig — wir parsen Ihre Schemadatei und bauen dieselben Dashboards.";
388
- readonly parsing: "Hochgeladene Schemadatei wird gelesen…";
389
- readonly tables: "Tabellen";
390
- readonly columns: "Spalten";
391
- readonly warnings: "Warnungen";
392
- readonly errorTitle: "Datei konnte nicht geparst werden";
393
- readonly parseFailed: "Diese Datei konnte nicht geparst werden. Falls die automatische Erkennung falsch lag, wählen Sie das Format explizit und versuchen Sie es erneut.";
394
- readonly unsupported: "Dieses Format wird nicht erkannt — unterstützt werden SQL DDL, Prisma, Drizzle, TypeORM, Sequelize, Rails schema.rb, Django-Modelle und Adminium JSON. Wählen Sie eines explizit und versuchen Sie es erneut.";
395
- readonly requestFailed: "Upload fehlgeschlagen — prüfen Sie Ihre Verbindung und versuchen Sie es erneut.";
396
- };
397
- readonly title: "Verbinden Sie Ihre Datenbank";
398
- readonly subtitle: "Richten Sie Adminium auf eine Datenbank — wir generieren aus ihrem Schema ein Admin-Dashboard.";
399
- readonly name: "Verbindungsname";
400
- readonly namePlaceholder: "Produktions-Postgres";
401
- readonly modeLabel: "Eingabemodus der Quelle";
402
- readonly mode: {
403
- readonly dsn: "Verbindungszeichenfolge";
404
- readonly fields: "Einzelne Felder";
405
- readonly file: "Schemadatei";
406
- };
407
- readonly dsn: {
408
- readonly label: "Verbindungszeichenfolge";
409
- readonly helper: "postgres://benutzer:passwort@host:5432/datenbank — mysql:// und sqlite: funktionieren ebenfalls.";
410
- readonly incomplete: "Host und Datenbank ergänzen, z. B. postgres://user@host:5432/db";
411
- readonly invalidScheme: "Unbekanntes Schema — erwartet werden postgres://, mysql://, mariadb:// oder sqlite:";
412
- readonly quickFill: "Schnellausfüllen:";
413
- };
414
- readonly fields: {
415
- readonly host: "Host";
416
- readonly port: "Port";
417
- readonly database: "Datenbank";
418
- readonly user: "Benutzer";
419
- readonly password: "Passwort";
420
- readonly ssl: "SSL-Modus";
421
- readonly preview: "Vorschau der Verbindungszeichenfolge:";
422
- };
423
- readonly readOnlyRole: {
424
- readonly title: "Verwenden Sie eine schreibgeschützte Rolle";
425
- readonly body: "Adminium schreibt nie in Ihre Datenbank — die Einrichtung nutzt nur Schema-Metadaten. Wir empfehlen einen dedizierten Benutzer mit reinen SELECT-Rechten; wo Adminium seine eigenen Tabellen ablegt, entscheiden Sie im Meta-Speicher-Schritt.";
426
- };
427
- };
428
- readonly capability: {
429
- readonly mysqlApproxRows: "MySQL-Zeilenzahlen sind Schätzungen der Storage-Engine (Abweichungen bis ±40 % möglich) — sie werden mit ≈ angezeigt.";
430
- readonly mysqlFkEnum: "MySQL liefert schwächere FK-/Enum-Metadaten: MyISAM-Tabellen deklarieren keine Fremdschlüssel, Enums sind spaltengebundene enum(…)-Typen, und CHECK-Constraints erfordern MySQL 8.0.16+ / MariaDB 10.2+.";
431
- readonly sqliteCheckEnums: "SQLite hat keinen nativen Enum-Typ — Enums werden aus CHECK-(col IN (…))-Constraints abgeleitet.";
432
- readonly sqliteNoComments: "SQLite kennt keine Spaltenkommentare — verwenden Sie den Schema-Remap-Editor, um Beschriftungen zu vergeben.";
433
- readonly importNoRowCounts: "Schemadateien enthalten keine Zeilenzahlen — die Tabellenliste zeigt — statt erfundener Werte.";
434
- readonly importNoLiveHealth: "Keine Live-Datenbankverbindung — Health-Checks und Schema-Drift-Erkennung sind für diese Quelle nicht verfügbar.";
435
- readonly rowsUnavailable: "Schemadateien haben keine Live-Datenbank — Zeilenzahlen sind unbekannt, bis Sie eine verbinden.";
436
- readonly rowsRunAnalyze: "Noch keine Schätzung — führen Sie ANALYZE auf der Datenbank aus, um Zeilenzahlen zu erhalten.";
437
- readonly rowsNoEstimate: "Die Engine hat für diese Tabelle keine Schätzung gemeldet.";
438
- readonly rowsApproximate: "Schätzung der Storage-Engine — kann bei InnoDB um bis zu ±40 % abweichen.";
439
- };
440
- readonly test: {
441
- readonly log: {
442
- readonly moreWarnings: "+{count} weitere Parser-Warnungen";
443
- readonly connecting: "Sichere Verbindung wird aufgebaut…";
444
- readonly connected: "Verbunden ({latency} ms) · schreibgeschützte Introspektion";
445
- readonly connectFailed: "Verbindung fehlgeschlagen.";
446
- readonly readingSchema: "Schema wird gelesen: public";
447
- readonly readingFile: "Hochgeladene Schemadatei wird gelesen…";
448
- readonly parsingFile: "{file} wird geparst…";
449
- readonly detected: "{tables} Tabellen · {columns} Spalten erkannt";
450
- readonly found: "{tables} Tabellen · {columns} Spalten gefunden";
451
- readonly mapping: "Spaltentypen → Eingabe-Widgets werden zugeordnet";
452
- readonly relations: "Beziehungen werden erkannt…";
453
- readonly piiScan: "Suche nach PII-Spalten…";
454
- readonly piiDone: "PII-Scan abgeschlossen — {count} Spalten standardmäßig maskiert";
455
- readonly piiDoneUnknown: "PII-Scan abgeschlossen";
456
- readonly jobFailed: "Introspektion fehlgeschlagen.";
457
- readonly networkFailed: "Anfrage fehlgeschlagen — prüfen Sie Ihre Verbindung und versuchen Sie es erneut.";
458
- readonly ready: "Bereit";
459
- };
460
- readonly title: "Ihr Schema wird analysiert";
461
- readonly subtitle: "Tabellen, Spalten und Beziehungen werden introspiziert. Das dauert ein paar Sekunden.";
462
- readonly trust: "Wir lesen nur Ihr Schema und Ihre Daten. Nichts wird verändert.";
463
- readonly errorTitle: "Verbindung fehlgeschlagen";
464
- readonly retry: "Erneut versuchen";
465
- readonly logLabel: "Introspektionsprotokoll";
466
- readonly hint: {
467
- readonly auth: "Authentifizierung fehlgeschlagen — prüfen Sie Benutzername und Passwort in Ihrer DSN.";
468
- readonly hostUnreachable: "Host nicht erreichbar — prüfen Sie Hostname und Port und dass die Datenbank Verbindungen von dieser Maschine akzeptiert (unsere IPs freigeben).";
469
- readonly metaPlacement: "Diese Quelle kann Adminiums Meta-Tabellen nicht aufnehmen — fahren Sie mit einer separaten Meta-Datenbank fort.";
470
- readonly permission: "Die Rolle hat sich verbunden, darf das Schema aber nicht lesen — erteilen Sie Ihrer Introspektionsrolle USAGE auf dem Schema.";
471
- readonly timeout: "Die Datenbank hat nicht rechtzeitig geantwortet — prüfen Sie Netzwerkpfad und Auslastung und versuchen Sie es erneut.";
472
- readonly tls: "TLS-Aushandlung fehlgeschlagen — versuchen Sie sslmode=require oder laden Sie das CA-Zertifikat hoch, das Ihr Server erwartet.";
473
- readonly unknown: "Verbindung fehlgeschlagen — prüfen Sie die DSN und versuchen Sie es erneut.";
474
- };
475
- };
476
- readonly tables: {
477
- readonly importNoCounts: "Schemadateien enthalten keine Zeilenzahlen — die Spalte zeigt —, bis eine Live-Datenbank verbunden ist.";
478
- readonly title: "Wählen Sie Ihre Tabellen";
479
- readonly subtitle: "Wählen Sie, welche enthalten sein sollen. Sie können das jederzeit ändern.";
480
- readonly search: "Tabellen filtern…";
481
- readonly listLabel: "Einbeziehbare Tabellen";
482
- readonly emptyFilter: "Keine Tabellen entsprechen Ihrem Filter.";
483
- readonly pii: "PII";
484
- readonly highVolume: "hohes Volumen";
485
- readonly highVolumeNote: "Tabellen mit über 100.000 Zeilen sind anfangs abgewählt — Ops-Tabellen gehören selten in ein Dashboard.";
486
- readonly joinHidden: "{count} Join-/Systemtabellen sind vorab ausgeblendet — sie treiben weiterhin m:n-Beziehungen an.";
487
- };
488
- readonly hub: {
489
- readonly title: "Datenverbindungen";
490
- readonly subtitle: "{healthy, number} von {total, plural, one {# Verbindung} other {# Verbindungen}} fehlerfrei";
491
- readonly connectNew: "Neue Verbindung";
492
- readonly stats: {
493
- readonly connections: "Verbindungen";
494
- readonly healthy: "Fehlerfrei";
495
- readonly tables: "Einbezogene Tabellen";
496
- readonly pages: "Generierte Seiten";
497
- };
498
- readonly status: {
499
- readonly connected: "Verbunden";
500
- readonly error: "Fehler";
501
- readonly unconfigured: "Entwurf";
502
- readonly testing: "Wird getestet…";
503
- };
504
- readonly card: {
505
- readonly readOnly: "Schreibgeschützt";
506
- readonly tables: "Tabellen";
507
- readonly pages: "Seiten";
508
- readonly latency: "Latenz";
509
- readonly latencyMs: "{latency, number} ms";
510
- readonly lastIntrospected: "Zuletzt introspiziert";
511
- readonly never: "Nie";
512
- };
513
- readonly action: {
514
- readonly test: "Testen";
515
- readonly reintrospect: "Neu introspizieren";
516
- readonly reintrospectFile: "Schemadatei-Quellen haben keine Live-Datenbank — laden Sie stattdessen die Datei erneut hoch.";
517
- readonly remap: "Schema neu zuordnen";
518
- readonly delete: "Löschen";
519
- };
520
- readonly test: {
521
- readonly ok: "Verbindung fehlerfrei · {latency, number} ms";
522
- readonly failed: "Verbindungstest fehlgeschlagen";
523
- };
524
- readonly introspect: {
525
- readonly noChanges: "Schema unverändert — kein neuer Snapshot.";
526
- readonly updated: "Schema neu introspiziert";
527
- readonly masksProposed: "{count, plural, one {# Spalte} other {# Spalten}} zur Maskierung vorgeschlagen — im Remap-Editor prüfen.";
528
- readonly failed: "Introspektion fehlgeschlagen. Versuchen Sie es erneut.";
529
- };
530
- readonly delete: {
531
- readonly title: "Verbindung löschen";
532
- readonly body: "Dies löscht „{name}“ und die daraus generierten Seiten. Ihre Datenbank selbst bleibt unangetastet.";
533
- readonly prompt: "Geben Sie {name} zur Bestätigung ein";
534
- readonly confirm: "Verbindung löschen";
535
- readonly cancel: "Abbrechen";
536
- readonly close: "Schließen";
537
- readonly success: "Verbindung „{name}“ gelöscht";
538
- readonly failed: "Die Verbindung konnte nicht gelöscht werden. Versuchen Sie es erneut.";
539
- };
540
- readonly empty: {
541
- readonly title: "Noch keine Datenquellen";
542
- readonly body: "Verbinden Sie eine Datenbank — Adminium generiert Ihr Admin-Panel aus deren Schema.";
543
- readonly cta: "Datenbank verbinden";
544
- };
545
- };
546
- readonly settingsHub: {
547
- readonly title: "Workspace-Einstellungen";
548
- readonly subtitle: "Identität, Sicherheit und destruktive Aktionen für diesen Workspace.";
549
- readonly save: "Änderungen speichern";
550
- readonly saved: "Workspace-Einstellungen aktualisiert";
551
- readonly saveFailed: "Die Workspace-Einstellungen konnten nicht gespeichert werden. Versuchen Sie es erneut.";
552
- readonly superAdminOnlyTitle: "Super-Admin erforderlich";
553
- readonly superAdminOnly: "Nur ein Super-Admin kann Identität und Sicherheitseinstellungen des Workspace ändern.";
554
- readonly identity: {
555
- readonly heading: "Workspace-Identität";
556
- readonly appName: {
557
- readonly label: "Anwendungsname";
558
- readonly helper: "Erscheint in der Seitenleiste, im Browser-Titel und in E-Mails.";
559
- readonly error: "Geben Sie einen Namen mit höchstens 60 Zeichen ein.";
560
- };
561
- readonly logo: {
562
- readonly label: "Logo";
563
- readonly drop: "Bild hierher ziehen";
564
- readonly helper: "PNG, JPEG, WebP, GIF oder SVG bis 1 MB. Ersetzt die eingebaute Marke überall.";
565
- readonly upload: "Logo hochladen";
566
- readonly replace: "Logo ersetzen";
567
- readonly remove: "Entfernen";
568
- readonly uploaded: "Logo aktualisiert";
569
- readonly removed: "Logo entfernt";
570
- readonly tooLarge: "Dieses Bild ist größer als 1 MB.";
571
- readonly badType: "Wählen Sie ein PNG-, JPEG-, WebP-, GIF- oder SVG-Bild.";
572
- readonly undo: "Rückgängig";
573
- };
574
- readonly showVersion: {
575
- readonly label: "Version in der Seitenleiste";
576
- readonly helper: "Die Build-Nummer neben dem Logo. Aus verbirgt, welche Version Sie einsetzen.";
577
- };
578
- };
579
- readonly security: {
580
- readonly heading: "Sicherheit";
581
- readonly require2fa: {
582
- readonly label: "Zwei-Faktor-Authentifizierung verlangen";
583
- readonly desc: "Jedes Mitglied muss 2FA aktivieren, um sich anzumelden.";
584
- };
585
- readonly allowSignup: {
586
- readonly label: "Selbstregistrierung erlauben";
587
- readonly desc: "Jeder kann ein Konto erstellen — deaktiviert bleibt der Workspace nur per Einladung zugänglich.";
588
- };
589
- readonly sessionTtl: {
590
- readonly label: "Sitzungsdauer (Stunden)";
591
- readonly error: "Zwischen {min, number} und {max, number} Stunden.";
592
- };
593
- readonly passwordMin: {
594
- readonly label: "Minimale Passwortlänge";
595
- readonly error: "Zwischen {min, number} und {max, number} Zeichen.";
596
- };
597
- };
598
- readonly review: {
599
- readonly title: "Workspace-Einstellungen speichern";
600
- readonly subtitle: "Prüfen Sie Ihre Änderungen vor dem Speichern.";
601
- readonly confirm: "Änderungen speichern";
602
- readonly cancel: "Abbrechen";
603
- readonly close: "Schließen";
604
- readonly on: "An";
605
- readonly off: "Aus";
606
- readonly shown: "Sichtbar";
607
- readonly hidden: "Verborgen";
608
- readonly change: "{before} → {after}";
609
- };
610
- readonly defaultsCard: {
611
- readonly heading: "Standards für Darstellung & Sprache";
612
- readonly body: "Workspace-weite Einstellungen für Theme, Akzentfarbe, Dichte und Sprache finden Sie unter „Globale Standards“.";
613
- readonly cta: "Globale Standards öffnen";
614
- };
615
- readonly danger: {
616
- readonly heading: "Gefahrenzone";
617
- readonly subtitle: "Unumkehrbare Aktionen.";
618
- readonly empty: "Nichts zu löschen — noch keine Verbindungen.";
619
- readonly deleteDesc: "Löscht die Verbindung und die daraus generierten Seiten. Ihre Datenbank bleibt unangetastet. Kann nicht rückgängig gemacht werden.";
620
- readonly deleteCta: "Verbindung löschen";
621
- };
622
- readonly aiCard: {
623
- readonly heading: "KI-Anreicherung";
624
- readonly body: "Konfigurieren Sie einen KI-Anbieter (oder den Kopieren-Einfügen-Umlauf), um Bezeichnungen, Gruppen und Beziehungen anzureichern.";
625
- readonly cta: "KI-Einstellungen öffnen";
626
- };
627
- readonly pagesCard: {
628
- readonly heading: "Seiten";
629
- readonly body: "Seiten hinzufügen, bearbeiten und löschen, ihre Inhalte ändern und die Seitenleiste neu ordnen.";
630
- readonly cta: "Seiten verwalten";
631
- };
632
- };
633
- readonly settingsAi: {
634
- readonly title: "KI-Anreicherung";
635
- readonly subtitle: "Verbinden Sie ein Modell, damit Adminium Bezeichnungen, Gruppen, Beziehungen und mehr vorschlägt — immer als Diff geprüft, bevor etwas übernommen wird.";
636
- readonly saved: "KI-Anbieter gespeichert";
637
- readonly saveFailed: "Der KI-Anbieter konnte nicht gespeichert werden. Erneut versuchen.";
638
- readonly save: "Anbieter speichern";
639
- readonly test: "Verbindung testen";
640
- readonly testHintDirty: "Speichern Sie Ihre Änderungen vor dem Test.";
641
- readonly testing: "Anbieter wird angepingt…";
642
- readonly testError: "Test fehlgeschlagen";
643
- readonly testErrorBody: "Der Anbieter war nicht erreichbar. Prüfen Sie Schlüssel und Basis-URL.";
644
- readonly testOk: "Verbunden mit {model} in {latency} ms";
645
- readonly testUnknownModel: "dem Anbieter";
646
- readonly provider: {
647
- readonly heading: "KI-Anbieter";
648
- readonly subtitle: "Wählen Sie, wie Adminium ein Modell zur Anreicherung Ihres Schemas erreicht. Schlüssel werden verschlüsselt gespeichert und nie wieder angezeigt.";
649
- readonly active: "Aktiv";
650
- readonly anthropic: {
651
- readonly label: "Anthropic";
652
- readonly desc: "Claude-Modelle über die Anthropic-API.";
653
- };
654
- readonly openai: {
655
- readonly label: "OpenAI";
656
- readonly desc: "GPT-Modelle über die OpenAI-API.";
657
- };
658
- readonly openaiCompatible: {
659
- readonly label: "OpenAI-kompatibel";
660
- readonly desc: "Jeder Endpunkt, der das OpenAI-Format spricht — Groq, Together, vLLM, LM Studio.";
661
- };
662
- readonly ollama: {
663
- readonly label: "Ollama (lokal)";
664
- readonly desc: "Modelle laufen lokal über Ollama — kein Schlüssel, keine Cloud.";
665
- };
666
- readonly requiresNetwork: "Erfordert Internet und einen API-Schlüssel";
667
- readonly networkDisabledTitle: "Direkte KI-Anbieter sind in dieser Installation deaktiviert";
668
- readonly networkDisabledBody: "Dieses Adminium ist ohne ausgehenden Internetzugang konfiguriert und kann keine Anbieter-API erreichen. Nutzen Sie unten den Kopieren-und-Einfügen-Weg — er braucht weder Schlüssel noch Netzwerk.";
669
- };
670
- readonly configure: {
671
- readonly heading: "{provider} konfigurieren";
672
- };
673
- readonly field: {
674
- readonly baseUrl: "Basis-URL";
675
- readonly baseUrlOptional: "Unverändert lassen, außer Ollama läuft auf einem anderen Host.";
676
- readonly baseUrlHelper: "Die Endpunkt-Wurzel, die /chat/completions bereitstellt.";
677
- readonly model: "Modell";
678
- readonly modelFreeText: "Geben Sie die genaue Modell-ID ein, die Ihr Endpunkt bereitstellt.";
679
- readonly modelLive: "Live vom Anbieter geladen.";
680
- readonly modelStatic: "Eine bewährte Liste; geben Sie nach dem Speichern eine eigene ID ein, um sie zu aktualisieren.";
681
- readonly modelLoading: "Wird geladen…";
682
- readonly modelPlaceholder: "Modell auswählen…";
683
- readonly key: "API-Schlüssel";
684
- readonly keyStored: "Verschlüsselt gespeichert. Ersetzen Sie ihn, um einen anderen Schlüssel zu verwenden.";
685
- readonly keyMask: "sk-…{last4}";
686
- readonly keyReplace: "Schlüssel ersetzen";
687
- readonly keyOptional: "Optional — manche Endpunkte brauchen keinen Schlüssel.";
688
- readonly keyWriteOnly: "Nur schreibend: einmal gespeichert, wird er nie wieder angezeigt.";
689
- readonly noKeyTitle: "Kein API-Schlüssel nötig";
690
- readonly noKeyBody: "Ollama läuft lokal, es verlässt also nichts diesen Rechner.";
691
- };
692
- readonly runStatus: {
693
- readonly draft: "Entwurf";
694
- readonly running: "Läuft";
695
- readonly awaitingResponse: "Wartet auf Antwort";
696
- readonly validated: "Validiert";
697
- readonly applied: "Übernommen";
698
- readonly partiallyApplied: "Teilweise übernommen";
699
- readonly failed: "Fehlgeschlagen";
700
- readonly discarded: "Verworfen";
701
- };
702
- readonly byo: {
703
- readonly heading: "Kein Schlüssel? Nutzen Sie Ihr eigenes KI-Tool";
704
- readonly subtitle: "Der Kopieren-Einfügen-Umlauf — nichts verlässt diesen Rechner.";
705
- readonly body: "Studio kann aus Ihrem Schema einen eigenständigen Prompt erzeugen. Führen Sie ihn in Claude Code, ChatGPT oder einem beliebigen Tool aus und fügen Sie das zurückgegebene JSON wieder in den Verbindungsassistenten ein. Gleiche Validierung, gleiche Prüfung, gleiches Ergebnis wie der direkte Weg.";
706
- readonly guaranteeTitle: "Telemetriefreie Garantie";
707
- readonly guarantee1: "Der Prompt enthält nur Ihr Schema und aggregierte Statistiken — standardmäßig nie Zeilendaten.";
708
- readonly guarantee2: "Keine Anmeldedaten, keine Instanz-URL, keine Kennungen sind eingebettet.";
709
- readonly guarantee3: "BYO-Läufe machen keinerlei Netzwerkaufrufe.";
710
- readonly promptVersion: "Prompt {version}";
711
- readonly schemaVersion: "Schema {version}";
712
- readonly headingRecommended: "Eigenes KI-Tool verwenden — kein Schlüssel nötig";
713
- readonly recommended: "Empfohlen";
714
- };
715
- readonly history: {
716
- readonly heading: "Laufverlauf";
717
- readonly subtitle: "Frühere Anreicherungsläufe. Öffnen Sie einen, um seine Vorschläge zu prüfen.";
718
- readonly tableLabel: "Anreicherungsläufe";
719
- readonly colDate: "Datum";
720
- readonly colSource: "Quelle";
721
- readonly colStatus: "Status";
722
- readonly colChunks: "Blöcke";
723
- readonly openReview: "Prüfung für den Lauf vom {date} öffnen";
724
- readonly connection: "Verbindung";
725
- readonly empty: "Noch keine Anreicherungsläufe. Reichern Sie ein Schema im Verbindungsassistenten an, um hier Verlauf zu sehen.";
726
- readonly errorTitle: "Läufe konnten nicht geladen werden";
727
- readonly errorBody: "Laden Sie die Seite neu, um es erneut zu versuchen.";
728
- readonly noConnections: "Verbinden Sie zuerst eine Datenbank — Anreicherungsläufe werden pro Verbindung erfasst.";
729
- readonly byo: "BYO";
730
- readonly directPath: "Direkt";
731
- };
732
- };
733
- readonly enrich: {
734
- readonly title: "Mit KI anreichern";
735
- readonly subtitle: "Verfeinern Sie die generierten Bezeichnungen, Gruppen, Enums und Dashboards optional mit einem LLM. Die heuristische Grundlage funktioniert auch ohne — dies fügt nur Vorschläge hinzu, die Sie prüfen, bevor etwas angewendet wird.";
736
- readonly intentLabel: "Wie möchten Sie anreichern?";
737
- readonly sectionsLegend: "Worüber soll die KI entscheiden?";
738
- readonly localesLegend: "Bezeichnungen übersetzen in";
739
- readonly localeLocked: "(erforderlich)";
740
- readonly samplingTitle: "Beispielwerte einbeziehen";
741
- readonly samplingHint: "Nimmt bis zu 20 echte Werte pro Nicht-PII-Spalte in den Prompt auf.";
742
- readonly samplingPreviewTitle: "Was diesen Rechner verlässt";
743
- readonly samplingPreviewBody: "Bis zu 20 häufigste Werte pro Nicht-PII-Spalte, plus Min/Max für numerische und Datumsspalten. Als PII markierte Spalten werden nie beprobt. Alles Übrige bleibt rein aggregiert. Prüfen Sie den genauen Prompt vor dem Kopieren (BYO) — ohne Ihr Zutun wird nichts gesendet.";
744
- readonly noSections: "Wählen Sie mindestens eine Entscheidungsgruppe zum Anreichern.";
745
- readonly generatePrompt: "Prompt erzeugen";
746
- readonly startProvider: "Anreicherung starten";
747
- readonly startOver: "Von vorn beginnen";
748
- readonly copied: "Kopiert";
749
- readonly createFailed: "Der Anreicherungs-Prompt konnte nicht erstellt werden — erneut versuchen.";
750
- readonly createFailedTitle: "Konnte nicht starten";
751
- readonly providerFallback: "Ihr KI-Anbieter";
752
- readonly fileTitle: "KI-Anreicherung benötigt eine aktive Datenbank";
753
- readonly fileBody: "Schema-Datei-Quellen haben noch keinen Snapshot zum Anreichern. Verbinden Sie eine aktive Datenbank für die KI-Anreicherung, oder fahren Sie fort — die heuristische Grundlage erzeugt weiterhin eine vollständige App.";
754
- readonly section: {
755
- readonly labels: "Bezeichnungen & Beschreibungen";
756
- readonly groups: "Navigationsgruppen";
757
- readonly enums: "Enum-Semantik";
758
- readonly relations: "Beziehungen";
759
- readonly keys: "Schlüsselspalten";
760
- readonly templates: "Seitenvorlagen";
761
- readonly widgets: "Dashboard-Widgets";
762
- readonly pii: "PII & Maskierung";
763
- readonly icons: "Symbole";
764
- readonly microcopy: "Mikrotexte";
765
- };
766
- readonly provider: {
767
- readonly title: "Meinen KI-Anbieter verwenden";
768
- readonly description: "Führen Sie die Anreicherung jetzt mit Ihrem konfigurierten Anbieter aus. Sie prüfen jeden Vorschlag als Diff.";
769
- readonly unconfigured: "Es ist noch kein KI-Anbieter konfiguriert — kopieren Sie unten einen Prompt in Ihr eigenes Tool, oder konfigurieren Sie zuerst einen Anbieter.";
770
- readonly settingsHint: "Möchten Sie es direkt ausführen?";
771
- readonly settingsLink: "Anbieter in Einstellungen → KI konfigurieren";
772
- readonly networkDisabled: "Dieses Adminium hat keinen ausgehenden Internetzugang und kann keine Anbieter-API erreichen. Nutzen Sie stattdessen den Kopieren-und-Einfügen-Weg — gleicher Prompt, gleiche Prüfung.";
773
- };
774
- readonly byo: {
775
- readonly cardTitle: "Einen Prompt in mein eigenes KI-Tool kopieren";
776
- readonly cardDescription: "Kopieren Sie einen eigenständigen Prompt in Claude Code, ChatGPT oder ein beliebiges Tool — und fügen Sie das JSON zurück ein. Kein Schlüssel nötig, nichts verlässt diesen Rechner automatisch.";
777
- readonly guidance: "Führen Sie dies in einem beliebigen KI-Tool aus — Claude Code, ChatGPT, egal. Fügen Sie das zurückgegebene JSON unten ein.";
778
- readonly promptLabel: "Anreicherungs-Prompt";
779
- readonly promptLabelN: "Anreicherungs-Prompt {index} von {total}";
780
- readonly tokenChip: "≈ {tokens} Tokens";
781
- readonly copyPrompt: "Prompt kopieren";
782
- readonly copyPromptDone: "Prompt kopiert";
783
- readonly download: ".md herunterladen";
784
- readonly chunkTabs: "Prompt-Abschnitte";
785
- readonly chunkTab: "Prompt {index}";
786
- readonly chunkValid: "Abschnitt {index} validiert";
787
- readonly pasteLabel: "JSON-Antwort einfügen";
788
- readonly pastePlaceholder: "JSON-Antwort hier einfügen…";
789
- readonly validate: "Validieren";
790
- readonly valid: "Antwort validiert";
791
- readonly mergedTitle: "Alle {count} Abschnitte validiert und zusammengeführt";
792
- readonly mergedTitleSingle: "Antwort validiert";
793
- readonly mergedBody: "Die Vorschläge können nun gegen die heuristische Grundlage geprüft werden.";
794
- readonly errorsTitle: "Die Validierung fand {count} Probleme";
795
- readonly copyErrors: "Fehler für Ihr KI-Tool kopieren";
796
- readonly copyErrorsDone: "Fehler kopiert";
797
- readonly copyErrorsHint: "Fügen Sie dies in Ihr KI-Tool zurück ein, um eine korrigierte Antwort zu erhalten.";
798
- readonly droppedItems: "{count} Vorschläge wurden bei der Validierung verworfen — die Prüfung zeigt die übrigen.";
799
- readonly pendingTitle: "Validieren Sie jeden Prompt, um fortzufahren";
800
- readonly pendingBody: "Fügen Sie die JSON-Antwort oben ein und validieren Sie sie, um zur Prüfung fortzufahren.";
801
- readonly pendingBodyChunked: "Jeder Abschnitt muss validiert werden, bevor die Vorschläge zusammengeführt werden. Fügen Sie jeden Prompt oben ein und validieren Sie ihn.";
802
- readonly requestFailed: "Der Server war für die Validierung nicht erreichbar — erneut versuchen.";
803
- readonly continueReview: "Weiter zur Prüfung";
804
- readonly wholeDocument: "gesamtes Dokument";
805
- readonly cardTitleRecommended: "Prompt in mein eigenes KI-Tool kopieren — empfohlen";
806
- };
807
- readonly direct: {
808
- readonly title: "Anreicherung mit KI";
809
- readonly subtitle: "Ihr Schema wird gesendet an";
810
- readonly building: "Prompt wird erstellt…";
811
- readonly logLabel: "Anreicherungsprotokoll";
812
- readonly cancel: "Abbrechen";
813
- readonly back: "Zurück zu den Optionen";
814
- readonly retry: "Erneut versuchen";
815
- readonly done: "Anreicherung abgeschlossen — prüfen Sie die Vorschläge.";
816
- readonly continueReview: "Weiter zur Prüfung";
817
- readonly failed: "Der Anbieterlauf ist fehlgeschlagen. Prüfen Sie Ihre KI-Einstellungen und versuchen Sie es erneut.";
818
- readonly jobFailed: "Der Anreicherungslauf wurde nicht abgeschlossen.";
819
- readonly startFailed: "Der Lauf konnte nicht gestartet werden — erneut versuchen.";
820
- readonly errorTitle: "Anreicherung fehlgeschlagen";
821
- };
822
- readonly skip: {
823
- readonly title: "Überspringen — nur Heuristik verwenden";
824
- readonly description: "Aus der heuristischen Grundlage generieren. Sie können später über Einstellungen → KI anreichern — Überspringen wird nie bestraft.";
825
- readonly confirmTitle: "Weiter mit Heuristik";
826
- readonly confirmBody: "Die generierte App verwendet die heuristischen Bezeichnungen, Gruppen und Dashboards. Fahren Sie mit dem Generieren fort — Sie können die KI-Anreicherung jederzeit über Einstellungen → KI ausführen.";
827
- };
828
- };
829
- readonly review: {
830
- readonly unavailableTitle: "Prüfungsansicht nicht verfügbar";
831
- readonly unavailableBody: "Dieser Build enthält die Anreicherungs-Prüfungsansicht noch nicht (06-T14). Sie kommt mit dem Diff-und-Übernehmen-Ablauf.";
832
- };
833
- readonly llmRuns: {
834
- readonly review: {
835
- readonly header: {
836
- readonly title: "KI-Vorschläge prüfen";
837
- readonly model: "Modell";
838
- readonly snapshot: "Schnappschuss";
839
- readonly byo: "BYO";
840
- readonly pathDirect: "Direkte API";
841
- readonly pathByo: "Kopieren & Einfügen";
842
- readonly agree: "{n} übereinstimmend";
843
- readonly conflict: "{n} Konflikt";
844
- readonly new: "{n} neu";
845
- readonly rejects: "{n} Ablehnungen";
846
- readonly countsAria: "Anzahl der Vorschläge";
847
- };
848
- readonly bulk: {
849
- readonly thresholdLabel: "Konfidenzschwelle";
850
- readonly thresholdAria: "Konfidenzschwelle für „Alle übernehmen“";
851
- readonly acceptAll: "Alle ≥ {pct}% übernehmen";
852
- readonly clear: "Auswahl aufheben";
853
- };
854
- readonly section: {
855
- readonly selectAllAria: "Alle in {group} auswählen";
856
- readonly acceptedCount: "{n} übernommen";
857
- };
858
- readonly group: {
859
- readonly labels: "Bezeichnungen & Übersetzungen";
860
- readonly navigation: "Navigation & Domänen";
861
- readonly enums: "Enum-Semantik";
862
- readonly relations: "Beziehungen";
863
- readonly keys: "Schlüsselspalten";
864
- readonly templates: "Seitenvorlagen";
865
- readonly dashboards: "Dashboards & Widgets";
866
- readonly pii: "PII & Maskierung";
867
- readonly icons: "Symbole";
868
- readonly microcopy: "Mikrotexte";
869
- };
870
- readonly status: {
871
- readonly agree: "Stimmt überein";
872
- readonly conflict: "Konflikt";
873
- readonly new: "Neu";
874
- readonly heuristicOnly: "Nur Heuristik";
875
- readonly rejects: "Lehnt Heuristik ab";
876
- readonly locked: "Gesperrt";
877
- };
878
- readonly row: {
879
- readonly acceptAria: "{noun}-Vorschlag für {target} übernehmen";
880
- readonly keptEdited: "beibehalten – von Ihnen bearbeitet";
881
- readonly rejectsCallout: "Die KI lehnt eine heuristische Entscheidung ab – vor dem Übernehmen bestätigen.";
882
- readonly showTranslations: "Übersetzungen anzeigen";
883
- readonly hideTranslations: "Übersetzungen ausblenden";
884
- readonly confidenceAria: "Konfidenz {pct}%";
885
- readonly noAi: "Kein KI-Vorschlag";
886
- };
887
- readonly value: {
888
- readonly none: "Kein Wert";
889
- readonly absent: "Keiner";
890
- readonly dash: "—";
891
- readonly display: "Anzeige";
892
- readonly key: "Schlüssel";
893
- readonly rank: "Rang {n}";
894
- readonly span: "Breite {n}";
895
- readonly tableCount: "{n} Tabellen";
896
- readonly widgetCount: "{n} Widgets";
897
- readonly enumWorkflow: "Workflow";
898
- readonly enumCategory: "Kategorie";
899
- readonly notPii: "Keine PII";
900
- readonly label: "Bezeichnung";
901
- readonly description: "Beschreibung";
902
- readonly subtitle: "Seitenuntertitel";
903
- readonly headline: "Überschrift für leeren Zustand";
904
- readonly guidance: "Hinweis für leeren Zustand";
905
- };
906
- readonly apply: {
907
- readonly title: "{n} Vorschläge übernehmen";
908
- readonly subtitle: "Diese Änderungen werden in einer Transaktion geschrieben und können rückgängig gemacht werden.";
909
- readonly empty: "Nichts zum Übernehmen ausgewählt.";
910
- readonly confirm: "Änderungen übernehmen";
911
- };
912
- readonly footer: {
913
- readonly count: "{n} Vorschläge ausgewählt";
914
- readonly apply: "{n} übernommene Vorschläge anwenden";
915
- readonly failed: "Anwenden fehlgeschlagen";
916
- };
917
- readonly toast: {
918
- readonly applied: "{n} Vorschläge übernommen";
919
- readonly appliedPartial: "{n} Vorschläge übernommen (einige übersprungen)";
920
- readonly applyFailed: "Vorschläge konnten nicht übernommen werden";
921
- readonly undoFailed: "Diese Änderung konnte nicht rückgängig gemacht werden";
922
- };
923
- readonly error: {
924
- readonly title: "Dieser Lauf konnte nicht geladen werden";
925
- };
926
- readonly notReady: {
927
- readonly title: "Dieser Lauf hat noch keine Vorschläge zur Prüfung";
928
- readonly body: "Ein Lauf muss validiert sein, bevor seine Vorschläge geprüft werden können. Erzeugen oder fügen Sie zuerst eine Antwort ein.";
929
- };
930
- readonly applied: {
931
- readonly title: "Dieser Lauf wurde angewendet";
932
- readonly body: "Die übernommenen Vorschläge unten sind schreibgeschützt.";
933
- };
934
- readonly empty: {
935
- readonly title: "Keine Vorschläge";
936
- readonly body: "Dieser Lauf hat keine Vorschläge zur Prüfung erzeugt.";
937
- };
938
- readonly cat: {
939
- readonly label: "Bezeichnung";
940
- readonly key: "Schlüsselspalten";
941
- readonly enum: "Enum";
942
- readonly relation: "Beziehung";
943
- readonly pii: "PII";
944
- readonly template: "Seitenvorlage";
945
- readonly group: "Navigationsgruppe";
946
- readonly dashboard: "Dashboard";
947
- readonly widget: "Widget";
948
- readonly copy: "Mikrotext";
949
- };
950
- };
951
- };
952
- readonly wizard: {
953
- readonly title: "Neue Verbindung";
954
- readonly back: "Zurück";
955
- readonly continue: "Weiter";
956
- readonly progress: "Einrichtungsfortschritt";
957
- readonly persistFailed: "Ihre Tabellenauswahl konnte nicht gespeichert werden — versuchen Sie es erneut.";
958
- readonly persistFailedTitle: "Speichern fehlgeschlagen";
959
- readonly bridgeAppliedTitle: "Verbindungszeichenfolge empfangen";
960
- readonly bridgeAppliedBody: "Von adminium.dev durch Ihren Browser übergeben — sie ging direkt an diesen Rechner und wurde nie hochgeladen. Prüfen Sie sie unten und fahren Sie fort.";
961
- readonly bridgeFailedTitle: "Diese Übergabe konnte nicht verwendet werden";
962
- readonly bridgeFailedBody: "Sie wurde bereits verwendet oder ist abgelaufen. Fügen Sie Ihre Verbindungszeichenfolge stattdessen unten ein.";
963
- readonly step: {
964
- readonly source: "Quelle";
965
- readonly test: "Analysieren";
966
- readonly tables: "Tabellen";
967
- readonly meta: "Meta-Speicher";
968
- readonly intent: "Zweck";
969
- readonly enrich: "Anreichern";
970
- readonly generate: "Generieren";
971
- };
972
- };
973
- readonly meta: {
974
- readonly title: "Wo soll Adminium seine eigenen Tabellen ablegen?";
975
- readonly subtitle: "Seiten, Rollen, Audit-Log und Einstellungen liegen in Tabellen mit adminium_-Präfix — nie mit Ihren Daten vermischt.";
976
- readonly sameDb: {
977
- readonly title: "Gleiche Datenbank";
978
- readonly description: "adminium_*-Tabellen werden neben Ihren Quelltabellen angelegt. Einfachste Einrichtung — benötigt eine Rolle mit Schreib- und CREATE-TABLE-Rechten.";
979
- readonly disabledReadOnly: "Ihre Rolle ist schreibgeschützt — Adminium schreibt nie in diese Datenbank. Wählen Sie für Adminiums eigene Tabellen eine separate Datenbank.";
980
- readonly disabledNoDdl: "Diese Rolle darf kein DDL ausführen — Adminium-Migrationen benötigen CREATE TABLE. Wählen Sie für Adminiums eigene Tabellen eine separate Datenbank.";
981
- readonly disabledFile: "Eine Schemadatei hat keine Live-Datenbank — wählen Sie für Adminiums eigene Tabellen eine separate Datenbank.";
982
- };
983
- readonly separate: {
984
- readonly title: "Separate Datenbank";
985
- readonly description: "Adminium hält seine Tabellen in einer anderen Datenbank. Ihre Quelle bleibt unangetastet — erforderlich für schreibgeschützte Quellen.";
986
- readonly dsn: "Verbindungszeichenfolge der Meta-Datenbank";
987
- readonly helper: "Benötigt Schreib- und DDL-Rechte — Adminium führt dort seine eigenen Migrationen aus.";
988
- readonly test: "Verbindung testen";
989
- readonly ok: "Kompatibel — Schreiben ✓ · DDL ✓";
990
- readonly insufficient: "Diese Rolle kann den Meta-Store nicht aufnehmen — Adminium benötigt dort Schreib- und CREATE-TABLE-Rechte.";
991
- readonly errorTitle: "Meta-Store nicht kompatibel";
992
- };
993
- readonly testFailed: "Verbindung fehlgeschlagen.";
994
- readonly v1Note: {
995
- readonly title: "Über diese Installation";
996
- readonly body: "Dieser Server hält seine eigenen Tabellen bereits in einer konfigurierten Datenbank, und dieser Schritt verschiebt sie nicht. Er prüft, ob Ihre Wahl mit dieser Verbindung kompatibel ist — der Server erzwingt dieselbe Regel unabhängig (409 META_PLACEMENT_INVALID).";
997
- };
998
- readonly move: {
999
- readonly title: "Adminiums Tabellen werden verschoben";
1000
- readonly copying: "Adminiums Tabellen werden verschoben …";
1001
- readonly restarting: "Neustart …";
1002
- readonly copyingBody: "Jede adminium_-Tabelle wird in die neue Datenbank kopiert. Ihre Quelldaten bleiben unberührt, und es wird erst umgeschaltet, wenn die Kopie geprüft ist.";
1003
- readonly restartingBody: "Die Kopie ist fertig. Adminium startet auf der neuen Datenbank neu — diese Seite fährt in wenigen Sekunden von selbst fort.";
1004
- readonly failed: "Adminiums Tabellen konnten nicht verschoben werden — erneut versuchen.";
1005
- readonly timeout: "Adminium hat seine Tabellen verschoben, ist aber noch nicht zurück. Ihre Daten liegen sicher in der neuen Datenbank — laden Sie diese Seite gleich neu.";
1006
- };
1007
- readonly willMove: {
1008
- readonly title: "Dies verschiebt Adminiums Tabellen";
1009
- readonly body: "Adminium nutzt derzeit seinen integrierten SQLite-Speicher. „Weiter“ kopiert diesen Speicher in die gewählte Datenbank und startet darauf neu — Konten, Seiten und Einstellungen kommen mit, Sie bleiben angemeldet.";
1010
- };
1011
- };
1012
- readonly intent: {
1013
- readonly title: "Was brauchen Sie?";
1014
- readonly subtitle: "Der Zweck bestimmt, welche Seiten generiert werden. Sie können ihn später ändern — eine Änderung schlägt eine Neugenerierung vor, nie ein stilles Überschreiben.";
1015
- readonly trust: "Wir lesen nur Ihr Schema — während der Einrichtung nie Ihre Zeilendaten.";
1016
- readonly fullAdmin: {
1017
- readonly title: "Vollständiges Admin-Panel";
1018
- readonly description: "Dashboards, CRUD-Seiten, Suche, Importe und Exporte — alles, was Ihr Schema unterstützt.";
1019
- };
1020
- readonly analytics: {
1021
- readonly title: "Schreibgeschützte Analysen";
1022
- readonly description: "Dashboards, Diagramme und schreibgeschützte Tabellen. Keine Formulare, keine Schreibvorgänge — jede Rolle auf Betrachter begrenzt.";
1023
- };
1024
- readonly crud: {
1025
- readonly title: "CRUD-Tabellen";
1026
- readonly description: "Eine Bearbeitungsseite pro Tabelle plus Suche und Import/Export — ein minimales Zuhause, keine Dashboards.";
1027
- };
1028
- readonly support: {
1029
- readonly title: "Support-Konsole";
1030
- readonly description: "Zuerst Warteschlangen, Ticket- und Kundendetailseiten. Löschen standardmäßig aus. (Queue-Vorlagen kommen mit M7 — der v1-Seitensatz entspricht dem vollständigen Admin.)";
1031
- };
1032
- };
1033
- readonly generate: {
1034
- readonly title: "Generieren Sie Ihre App";
1035
- readonly subtitle: "Eine Seite pro einbezogener Tabelle plus Dashboards je Domäne — Zweck:";
1036
- readonly run: "Dashboard generieren";
1037
- readonly openApp: "App öffnen";
1038
- readonly logLabel: "Generierungsprotokoll";
1039
- readonly log: {
1040
- readonly classifying: "Schema wird klassifiziert…";
1041
- readonly composing: "Vorlagen werden zusammengestellt…";
1042
- readonly writing: "Seiten werden geschrieben…";
1043
- readonly done: "{pages} Seiten in {groups} Navigationsgruppen generiert";
1044
- };
1045
- readonly successTitle: "Ihr Dashboard ist bereit";
1046
- readonly successBody: "{pages} Seiten in {groups} Navigationsgruppen — aus Ihrem Schema generiert, im Studio bearbeitbar.";
1047
- readonly errorTitle: "Generierung fehlgeschlagen";
1048
- readonly failed: "Generierung fehlgeschlagen — versuchen Sie es erneut oder führen Sie zuerst die Introspektion erneut aus.";
1049
- readonly fileTitle: "Schemadatei geparst — die Generierung benötigt eine Live-Datenbank";
1050
- readonly fileBody: "Ihr Schema wurde sauber geparst und die Vorschau oben ist echt. Eine laufende App direkt aus einer Schemadatei (mit Platzhalterzeilen) zu generieren ist noch nicht verfügbar — verbinden Sie eine Live-Datenbank, um heute zu generieren.";
1051
- };
1052
- readonly remap: {
1053
- readonly column: {
1054
- readonly nullable: "NULL erlaubt";
1055
- readonly labelOverride: "Anzeigebezeichnung";
1056
- readonly labelHelper: "Abgeleitet: {name}";
1057
- readonly logicalType: "Logischer Typ";
1058
- readonly logicalTypeHelper: "Abgeleitet: {type} (aus {dbType}) — vom Adapter zugeordnet; in v1 nicht überschreibbar.";
1059
- readonly semantic: "Semantischer Typ";
1060
- readonly unclassified: "Noch nicht klassifiziert.";
1061
- readonly semanticHelper: "Klassifizierer: {tag} · {confidence}% Konfidenz · Quelle: {source}";
1062
- readonly semanticInferred: "abgeleitet: {tag}";
1063
- readonly currency: "Währung";
1064
- readonly currencyHelper: "ISO-4217-Code für die Formatierung von Geldbeträgen.";
1065
- readonly pii: "Standardmäßig maskieren";
1066
- readonly piiHelper: "Maskierte Werte werden geschwärzt dargestellt; das Aufheben der Maskierung erfordert die Berechtigung data.unmask_pii und wird im Audit-Log protokolliert.";
1067
- readonly enum: "Enum-Semantik";
1068
- readonly enumKind: "Enum-Art";
1069
- readonly enumWorkflow: "Workflow";
1070
- readonly enumCategory: "Kategorie";
1071
- readonly enumLabelFor: "Bezeichnung für {value}";
1072
- readonly enumToneFor: "Farbton für {value}";
1073
- readonly enumToneAuto: "automatisch";
1074
- readonly enumHelper: "Workflow-Enums steuern Status-Pills und Board-Spalten; Farbtöne ordnen Werte der semantischen Farbtonskala zu.";
1075
- };
1076
- readonly diff: {
1077
- readonly one: "1 Änderung";
1078
- readonly count: "{count} Änderungen";
1079
- readonly saved: "Überschreibungen gespeichert.";
1080
- readonly revertOne: "{change} verwerfen";
1081
- readonly regenerate: "Seiten neu generieren";
1082
- readonly revertAll: "Alle verwerfen";
1083
- readonly save: "Überschreibungen speichern";
1084
- };
1085
- readonly table: {
1086
- readonly iconPicker: "Tabellensymbol";
1087
- readonly system: "System";
1088
- readonly labelOverride: "Anzeigebezeichnung";
1089
- readonly labelHelper: "Abgeleitet: {name}";
1090
- readonly icon: "Symbol";
1091
- readonly navGroup: "Navigationsgruppe";
1092
- readonly navGroupHelper: "Die Platzierung in der Navigation entscheidet der Generator — eine table.navGroup-Überschreibung ist nicht Teil des v1-Vokabulars.";
1093
- readonly include: "In die generierte App einbeziehen";
1094
- readonly includeHelper: "Ausgeschlossene Tabellen erhalten keine Seiten und verschwinden aus der Navigation.";
1095
- readonly shape: "Tabellenform (klassifiziert)";
1096
- readonly role: "Rolle";
1097
- readonly unclassified: "Nicht klassifiziert";
1098
- readonly kind: "Art";
1099
- readonly hierarchy: "Hierarchie";
1100
- readonly selfFk: "Selbstreferenz über {column}";
1101
- readonly polymorphic: "Polymorphe Paare";
1102
- readonly rows: "Geschätzte Zeilenzahl";
1103
- readonly shapeHelper: "Die Klassifikation wird bei jeder Introspektion neu berechnet; Überschreibungen liegen darüber und überstehen die Neugenerierung.";
1104
- };
1105
- readonly relations: {
1106
- readonly declared: "Deklarierte Fremdschlüssel";
1107
- readonly noneDeclared: "Keine deklarierten Fremdschlüssel berühren diese Tabelle.";
1108
- readonly inferred: "Abgeleitete Beziehungen";
1109
- readonly noneInferred: "Für diese Tabelle wurde nichts abgeleitet.";
1110
- readonly confidence: "abgeleitet · {pct}%";
1111
- readonly accepted: "Übernommen";
1112
- readonly suppressed: "Unterdrückt";
1113
- readonly accept: "Übernehmen";
1114
- readonly suppress: "Unterdrücken";
1115
- readonly overrides: "Beziehungs-Überschreibungen (angewendet)";
1116
- readonly overrideBadge: "Überschreibung";
1117
- readonly add: "Virtuelle Beziehung hinzufügen";
1118
- readonly fromColumn: "Quellspalte";
1119
- readonly noColumns: "Keine passende Spalte";
1120
- readonly fromPlaceholder: "customer_id";
1121
- readonly toTable: "Zieltabelle";
1122
- readonly noTables: "Keine passende Tabelle";
1123
- readonly toColumn: "Zielspalte";
1124
- readonly cardinality: "Kardinalität";
1125
- readonly addButton: "Beziehung hinzufügen";
1126
- };
1127
- readonly toast: {
1128
- readonly saved: "Schema-Überschreibungen gespeichert";
1129
- readonly savedDetail: "Das angewendete Schema unten spiegelt Ihre Änderungen wider.";
1130
- readonly regenerated: "{created} erstellt · {updated} aktualisiert · {unchanged} unverändert";
1131
- readonly regeneratedDetail: "Von Hand bearbeitete Seiten bleiben erhalten — nur Seiten mit unangetastetem generated_hash wurden an Ort und Stelle neu generiert.";
1132
- readonly regenerateFailed: "Neugenerierung fehlgeschlagen";
1133
- };
1134
- readonly title: "Schema neu zuordnen";
1135
- readonly subtitle: "{tables} Tabellen · {applied} Überschreibungen angewendet";
1136
- readonly saveFailed: "Speichern fehlgeschlagen: {message}";
1137
- readonly loadFailed: "Das Schema für diese Verbindung konnte nicht geladen werden.";
1138
- readonly inspector: "Inspektor";
1139
- readonly empty: {
1140
- readonly title: "Wählen Sie eine Tabelle oder Spalte";
1141
- readonly description: "Wählen Sie etwas im Schemabaum aus, um Bezeichnung, Typ, Beziehungen oder Maskierung neu zuzuordnen.";
1142
- };
1143
- readonly tabs: {
1144
- readonly details: "Details";
1145
- readonly relations: "Beziehungen";
1146
- };
1147
- readonly tree: {
1148
- readonly label: "Schema";
1149
- readonly search: "Tabellen und Spalten durchsuchen";
1150
- readonly searchPlaceholder: "Tabellen durchsuchen…";
1151
- readonly noMatches: "Keine Tabellen entsprechen Ihrer Suche.";
1152
- readonly collapse: "Tabelle einklappen";
1153
- readonly expand: "Tabelle ausklappen";
1154
- readonly unsaved: "Ungespeicherte Änderung";
1155
- readonly excluded: "Ausgeschlossen";
1156
- };
387
+ readonly translations: {
388
+ readonly title: "Sprachen & Übersetzungen";
389
+ readonly subtitle: "Ändern Sie jede Formulierung in Adminium, legen Sie fest, welche Sprachen zur Auswahl stehen, und fügen Sie eigene hinzu.";
390
+ readonly warning: "Fehlermeldungen und Anmeldetexte lassen sich ebenfalls bearbeiten. Genau die liest man, wenn etwas schiefgeht — ändern Sie sie also mit Bedacht.";
391
+ readonly editor: {
392
+ readonly heading: "Übersetzungen bearbeiten";
393
+ };
394
+ readonly localeLabel: "Sprache";
395
+ readonly groupLabel: "Bereich";
396
+ readonly allAreas: "Alle Bereiche";
397
+ readonly stateLabel: "Anzeigen";
398
+ readonly state: {
399
+ readonly all: "Alles";
400
+ readonly overridden: "Nur angepasste";
401
+ readonly untranslated: "Nur unübersetzte";
402
+ readonly stale: "Englisch seitdem geändert";
403
+ };
404
+ readonly searchLabel: "Suchen";
405
+ readonly searchPlaceholder: "Schlüssel oder englischer Text";
406
+ readonly loading: "Texte werden geladen…";
407
+ readonly noMatches: "Keine Texte entsprechen diesen Filtern.";
408
+ readonly count: "{total, plural, one {# Text} other {# Texte}}";
1157
409
  readonly badge: {
1158
- readonly pk: "PK";
1159
- readonly fk: "FK";
1160
- readonly unique: "UNIQUE";
1161
- readonly pii: "PII";
1162
- readonly masked: "Maskiert";
410
+ readonly custom: "Angepasst";
411
+ readonly stale: "Englisch geändert";
412
+ readonly a11y: "Barrierefreier Name";
413
+ };
414
+ readonly sourceLabel: "Englisches Original";
415
+ readonly valueLabel: "Übersetzung";
416
+ readonly save: "Speichern";
417
+ readonly saved: "Übersetzung gespeichert";
418
+ readonly resetAction: "Auf eingebauten Text zurücksetzen";
419
+ readonly reset: "Auf den eingebauten Text zurückgesetzt";
420
+ readonly locales: {
421
+ readonly heading: "Verfügbare Sprachen";
422
+ readonly help: "Schalten Sie eine Sprache aus, um sie aus allen Sprachauswahlen zu entfernen. Wer sie bereits nutzt, behält sie, bis er eine andere wählt.";
423
+ };
424
+ readonly locale: {
425
+ readonly builtin: "Eingebaut";
426
+ readonly custom: "Eigene";
427
+ readonly overrides: "{count, plural, =0 {kein eigener Text} one {# eigener Text} other {# eigene Texte}}";
428
+ readonly enable: "Einschalten";
429
+ readonly disable: "Ausschalten";
430
+ readonly delete: "Löschen";
431
+ readonly deleted: "Sprache entfernt";
432
+ readonly deletedDetail: "{users, plural, one {# Person wurde} other {# Personen wurden}} auf den Workspace-Standard zurückgesetzt; {strings, plural, one {# Übersetzung} other {# Übersetzungen}} gelöscht.";
433
+ readonly deleteFailed: "Diese Sprache konnte nicht entfernt werden";
434
+ readonly add: "Sprache hinzufügen";
435
+ readonly added: "Sprache hinzugefügt";
436
+ readonly create: "Sprache anlegen";
437
+ readonly id: "Sprachcode";
438
+ readonly intlTag: "Formatierungsregeln von";
439
+ readonly native: "Name in der Sprache selbst";
440
+ readonly english: "Name auf Englisch";
441
+ readonly dir: "Textrichtung";
442
+ readonly ltr: "Links nach rechts";
443
+ readonly rtl: "Rechts nach links";
444
+ readonly font: "Schrift";
445
+ readonly latin: "Lateinisch";
446
+ readonly arabic: "Arabisch";
447
+ readonly cjk: "Chinesisch / Japanisch / Koreanisch";
448
+ readonly intlHelp: "Die Formatierungsregeln bestimmen, wie Zahlen, Datumsangaben und Pluralformen behandelt werden. Wählen Sie die nächstliegende Sprache, die sie bereits hat — sie muss nicht zu Ihrem Sprachcode passen.";
1163
449
  };
1164
- readonly unavailableTitle: "Editor zum Neuzuordnen des Schemas nicht verfügbar";
1165
450
  };
1166
451
  };
1167
452
  readonly onboarding: {
@@ -2261,166 +1546,6 @@ declare const _default: {
2261
1546
  readonly toLight: "Heller Modus";
2262
1547
  readonly toDark: "Dunkler Modus";
2263
1548
  };
2264
- readonly studioPages: {
2265
- readonly title: "Seiten";
2266
- readonly subtitle: "Seiten Ihrer App hinzufügen, bearbeiten und ordnen – samt ihrer Reihenfolge in der Seitenleiste.";
2267
- readonly createButton: "Neue Seite";
2268
- readonly loadFailed: {
2269
- readonly title: "Seiten konnten nicht geladen werden";
2270
- readonly body: "Für die Seitenverwaltung wird die Berechtigung „Seiten verwalten“ benötigt. Bitten Sie eine Administratorin oder einen Administrator, sie einer Ihrer Rollen zuzuweisen.";
2271
- };
2272
- readonly tab: {
2273
- readonly pages: "Alle Seiten";
2274
- readonly sidebar: "Reihenfolge der Seitenleiste";
2275
- };
2276
- readonly list: {
2277
- readonly title: "Seiten";
2278
- readonly count: "{count, plural, one {# Seite} other {# Seiten}}";
2279
- };
2280
- readonly empty: {
2281
- readonly title: "Noch keine Seiten";
2282
- readonly body: "Verbinden Sie eine Datenbank, um Seiten automatisch zu erzeugen, oder legen Sie eine von Hand an.";
2283
- };
2284
- readonly status: {
2285
- readonly live: "Aktiv";
2286
- readonly hidden: "Ausgeblendet";
2287
- };
2288
- readonly origin: {
2289
- readonly generated: "Erzeugt";
2290
- readonly manifest: "Add-on";
2291
- readonly llm: "Assistent";
2292
- readonly system: "System";
2293
- readonly user: "Eigene";
2294
- };
2295
- readonly row: {
2296
- readonly menu: "Aktionen für {title}";
2297
- };
2298
- readonly action: {
2299
- readonly edit: "Seite bearbeiten";
2300
- readonly duplicate: "Duplizieren";
2301
- readonly hide: "In der Seitenleiste ausblenden";
2302
- readonly show: "In der Seitenleiste anzeigen";
2303
- readonly delete: "Seite löschen";
2304
- };
2305
- readonly create: {
2306
- readonly title: "Neue Seite";
2307
- readonly failed: "Die Seite konnte nicht erstellt werden";
2308
- readonly submit: "Seite erstellen";
2309
- readonly subtitle: "Legen Sie fest, was diese Seite zeigt und wie sie aussieht. Die Vorschau folgt Ihrer Auswahl.";
2310
- };
2311
- readonly duplicate: {
2312
- readonly title: "Seite duplizieren";
2313
- readonly failed: "Die Seite konnte nicht dupliziert werden";
2314
- readonly submit: "Duplizieren";
2315
- };
2316
- readonly delete: {
2317
- readonly title: "Diese Seite löschen?";
2318
- readonly body: "Das lässt sich nicht rückgängig machen. Gespeicherte Ansichten und persönliche Layouts dieser Seite werden für alle gelöscht.";
2319
- readonly bodyGenerated: "Diese Seite stammt aus der Schema-Generierung und kehrt beim nächsten Generierungslauf zurück. Gespeicherte Ansichten und persönliche Layouts werden für alle gelöscht.";
2320
- readonly prompt: "Geben Sie zur Bestätigung {slug} ein";
2321
- readonly confirm: "Seite löschen";
2322
- };
2323
- readonly field: {
2324
- readonly title: "Titel";
2325
- readonly titleHint: "Wird in der Seitenleiste und in der Kopfzeile der Seite angezeigt.";
2326
- readonly slug: "Seitenadresse";
2327
- readonly slugHint: "Kleinbuchstaben, Ziffern und Bindestriche. Nur der letzte Teil – den Rest der Adresse ergänzen wir.";
2328
- readonly slugTaken: "Diese Adresse wird bereits von einer anderen Seite verwendet.";
2329
- readonly slugWarning: "Eine geänderte Adresse macht bestehende Links und Lesezeichen zu dieser Seite ungültig.";
2330
- readonly template: "Vorlage";
2331
- readonly templateHint: "Bestimmt, was die Seite enthalten kann. Später änderbar.";
2332
- readonly group: "Gruppe der Seitenleiste";
2333
- readonly groupHint: "In welchem Abschnitt der Seitenleiste sie erscheint.";
2334
- readonly icon: "Symbol";
2335
- readonly iconHint: "Wird neben dem Seitennamen in der Seitenleiste angezeigt.";
2336
- readonly visible: "In der Seitenleiste anzeigen";
2337
- readonly visibleHint: "Eine ausgeblendete Seite bleibt über ihre URL erreichbar, wenn man den Link kennt.";
2338
- readonly table: "Tabelle";
2339
- readonly tableCreateHint: "Die Tabelle, aus der diese Seite liest. Wählen Sie jetzt eine, dann ist die Seite sofort nutzbar; ohne Auswahl können Sie sie später verknüpfen.";
2340
- readonly tableNone: "Nicht verknüpft";
2341
- readonly tableNeedsConnection: "Wählen Sie zuerst eine Datenquelle.";
2342
- readonly connection: "Datenquelle";
2343
- readonly connectionNone: "Keine";
2344
- readonly iconPick: "Seitensymbol auswählen";
2345
- readonly padding: "Seitenabstand";
2346
- };
2347
- readonly editor: {
2348
- readonly title: "Seite bearbeiten";
2349
- readonly save: "Änderungen speichern";
2350
- readonly saveFailed: "Änderungen konnten nicht gespeichert werden";
2351
- readonly openPage: "Seite öffnen";
2352
- readonly generated: {
2353
- readonly title: "Diese Seite wurde aus Ihrem Schema erzeugt";
2354
- readonly body: "Ihre Änderungen bleiben bei einer erneuten Generierung erhalten – die Seite wird als bearbeitet markiert und unangetastet gelassen. Ein Löschen hält allerdings nur, bis der nächste Generierungslauf sie neu anlegt.";
2355
- };
2356
- readonly contentUnavailable: "Seiteninhalt konnte nicht geladen werden";
2357
- readonly contentUnavailableBody: "Die Angaben oben lassen sich trotzdem speichern.";
2358
- readonly contentInvalid: "Die Konfiguration dieser Seite ist nicht lesbar";
2359
- readonly contentInvalidBody: "Sie stammt aus einer neueren Version oder ist fehlerhaft. Erzeugen Sie die Seite neu oder löschen Sie sie.";
2360
- readonly data: "Daten";
2361
- readonly schemaFailed: "Tabellen konnten nicht aufgelistet werden";
2362
- readonly schemaFailedBody: "Diese Verbindung wurde möglicherweise noch nicht analysiert. Starten Sie die Introspektion unter Studio → Datenverbindungen.";
2363
- readonly notBindable: "Diese Vorlage ist nicht an eine einzelne Tabelle gebunden";
2364
- readonly notBindableBody: "Ihr Inhalt wird stattdessen Widget für Widget aufgebaut. Öffnen Sie die Seite und fügen Sie sie über „Bearbeiten“ hinzu.";
2365
- readonly recompose: "Diese Seite wird neu aufgebaut";
2366
- readonly recomposeBody: "Beim Speichern wird der Inhalt durch ein frisches Layout für Vorlage und Tabelle oben ersetzt. Spaltenanpassungen und Widget-Änderungen dieser Seite gehen verloren.";
2367
- readonly missing: "Diese Seite existiert nicht mehr";
2368
- readonly missingBody: "Sie wurde möglicherweise gelöscht oder von einem Generierungslauf entfernt.";
2369
- readonly details: "Details";
2370
- readonly itemsPending: "Speichern Sie zuerst die Änderung oben – der Seiteninhalt wird aus der neuen Vorlage und Tabelle neu aufgebaut.";
2371
- readonly columns: "Spalten";
2372
- readonly appearance: "Darstellung";
2373
- };
2374
- readonly sidebar: {
2375
- readonly help: "Seiten innerhalb einer Gruppe umsortieren oder in eine andere Gruppe verschieben. Die Änderungen gelten für alle Benutzerinnen und Benutzer.";
2376
- readonly discard: "Verwerfen";
2377
- readonly save: "Reihenfolge speichern";
2378
- readonly saveFailed: "Die neue Reihenfolge konnte nicht gespeichert werden";
2379
- readonly emptyGroup: "Keine Seiten in dieser Gruppe.";
2380
- readonly moveUp: "{title} nach oben verschieben";
2381
- readonly moveDown: "{title} nach unten verschieben";
2382
- readonly moveTo: "{title} in eine Gruppe verschieben";
2383
- readonly ungrouped: {
2384
- readonly title: "Einige Seiten gehören zu keiner Gruppe der Seitenleiste";
2385
- readonly body: "Diese Seiten funktionieren unter ihrer URL, erscheinen aber nirgends in der Seitenleiste. Öffnen Sie jede einzeln und wählen Sie eine Gruppe.";
2386
- };
2387
- };
2388
- readonly columns: {
2389
- readonly help: "Spalten umsortieren, ihre Überschriften umbenennen und auswählen, welche in der Tabelle erscheinen.";
2390
- readonly discard: "Verwerfen";
2391
- readonly save: "Spalten speichern";
2392
- readonly saveFailed: "Spalten konnten nicht gespeichert werden";
2393
- readonly pk: "Schlüssel";
2394
- readonly pii: "PII";
2395
- readonly header: "Überschrift für {name}";
2396
- readonly shown: "Sichtbar";
2397
- readonly toggle: "{name} in der Tabelle anzeigen";
2398
- readonly moveUp: "{name} nach oben verschieben";
2399
- readonly moveDown: "{name} nach unten verschieben";
2400
- readonly remove: "{name} entfernen";
2401
- readonly none: {
2402
- readonly title: "Diese Seite hat noch keine Spalten";
2403
- readonly body: "Spalten werden bei der Generierung aus der Tabelle gelesen. Binden Sie diese Seite an eine Tabelle und generieren Sie neu, um sie zu füllen.";
2404
- };
2405
- };
2406
- readonly icon: {
2407
- readonly none: "Symbol auswählen";
2408
- readonly search: "Symbole suchen";
2409
- readonly noMatches: "Keine Symbole passen zu dieser Suche.";
2410
- };
2411
- readonly preview: {
2412
- readonly untitled: "Unbenannte Seite";
2413
- readonly note: "Eine Darstellung des Layouts, nicht Ihrer Daten. Die echte Seite füllt sich nach dem Speichern.";
2414
- };
2415
- readonly padding: {
2416
- readonly default: "Standard dieser Vorlage";
2417
- readonly none: "Kein Abstand";
2418
- readonly standard: "Standard (28 × 24)";
2419
- readonly custom: "Benutzerdefiniert …";
2420
- readonly x: "Seiten (px)";
2421
- readonly y: "Oben und unten (px)";
2422
- };
2423
- };
2424
1549
  readonly audit: {
2425
1550
  readonly action: {
2426
1551
  readonly view: "Anzeigen";
@@ -2552,6 +1677,7 @@ declare const _default: {
2552
1677
  readonly exportsManage: "Exporte aller Benutzer verwalten";
2553
1678
  readonly importsManage: "Importe aller Benutzer verwalten";
2554
1679
  readonly jobsManage: "Hintergrundjobs starten und abbrechen";
1680
+ readonly manifestsManage: "Add-ons installieren und verbinden";
2555
1681
  readonly jobsRead: "Alle Hintergrundjobs sehen";
2556
1682
  readonly llmRun: "KI-Assistenz ausführen";
2557
1683
  readonly pagesManage: "Seiten erstellen und ordnen";
@@ -2573,7 +1699,7 @@ declare const _default: {
2573
1699
  };
2574
1700
  readonly security: {
2575
1701
  readonly password: {
2576
- readonly changedBody: "Verwenden Sie das neue Passwort bei Ihrer nächsten Anmeldung. Sitzungen auf anderen Geräten sind nicht betroffen widerrufen Sie sie unten, wenn diese abgemeldet werden sollen.";
1702
+ readonly changedBody: "Verwenden Sie das neue Passwort bei Ihrer nächsten Anmeldung. Andere Geräte bleiben angemeldetbeenden Sie diese Sitzungen, wenn Sie das nicht möchten.";
2577
1703
  readonly changed: "Passwort geändert";
2578
1704
  readonly confirm: "Neues Passwort bestätigen";
2579
1705
  readonly current: "Aktuelles Passwort";