@adminiumjs/i18n 0.2.2 → 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 (227) 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 +319 -224
  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/index.d.ts +2 -2
  10. package/dist/index.d.ts.map +1 -1
  11. package/dist/index.js +19 -8
  12. package/dist/index.js.map +1 -1
  13. package/dist/keys.d.ts +6 -4
  14. package/dist/keys.d.ts.map +1 -1
  15. package/dist/keys.js +6 -4
  16. package/dist/keys.js.map +1 -1
  17. package/dist/overrides.d.ts +1 -1
  18. package/dist/overrides.d.ts.map +1 -1
  19. package/dist/resources/ar-eg/common.d.ts +31 -1071
  20. package/dist/resources/ar-eg/common.d.ts.map +1 -1
  21. package/dist/resources/ar-eg/common.js +31 -1071
  22. package/dist/resources/ar-eg/common.js.map +1 -1
  23. package/dist/resources/ar-eg/errors.d.ts +3 -2
  24. package/dist/resources/ar-eg/errors.d.ts.map +1 -1
  25. package/dist/resources/ar-eg/errors.js +3 -2
  26. package/dist/resources/ar-eg/errors.js.map +1 -1
  27. package/dist/resources/ar-eg/generated.d.ts +3 -2
  28. package/dist/resources/ar-eg/generated.d.ts.map +1 -1
  29. package/dist/resources/ar-eg/generated.js +3 -2
  30. package/dist/resources/ar-eg/generated.js.map +1 -1
  31. package/dist/resources/ar-eg/studio.d.ts +1282 -2
  32. package/dist/resources/ar-eg/studio.d.ts.map +1 -1
  33. package/dist/resources/ar-eg/studio.js +1282 -2
  34. package/dist/resources/ar-eg/studio.js.map +1 -1
  35. package/dist/resources/ar-eg/ui.d.ts +51 -2
  36. package/dist/resources/ar-eg/ui.d.ts.map +1 -1
  37. package/dist/resources/ar-eg/ui.js +55 -6
  38. package/dist/resources/ar-eg/ui.js.map +1 -1
  39. package/dist/resources/cs-cz/common.d.ts +31 -1071
  40. package/dist/resources/cs-cz/common.d.ts.map +1 -1
  41. package/dist/resources/cs-cz/common.js +31 -1071
  42. package/dist/resources/cs-cz/common.js.map +1 -1
  43. package/dist/resources/cs-cz/errors.d.ts +3 -2
  44. package/dist/resources/cs-cz/errors.d.ts.map +1 -1
  45. package/dist/resources/cs-cz/errors.js +3 -2
  46. package/dist/resources/cs-cz/errors.js.map +1 -1
  47. package/dist/resources/cs-cz/generated.d.ts +3 -2
  48. package/dist/resources/cs-cz/generated.d.ts.map +1 -1
  49. package/dist/resources/cs-cz/generated.js +3 -2
  50. package/dist/resources/cs-cz/generated.js.map +1 -1
  51. package/dist/resources/cs-cz/studio.d.ts +1282 -2
  52. package/dist/resources/cs-cz/studio.d.ts.map +1 -1
  53. package/dist/resources/cs-cz/studio.js +1282 -2
  54. package/dist/resources/cs-cz/studio.js.map +1 -1
  55. package/dist/resources/cs-cz/ui.d.ts +51 -2
  56. package/dist/resources/cs-cz/ui.d.ts.map +1 -1
  57. package/dist/resources/cs-cz/ui.js +55 -6
  58. package/dist/resources/cs-cz/ui.js.map +1 -1
  59. package/dist/resources/da-dk/common.d.ts +31 -1071
  60. package/dist/resources/da-dk/common.d.ts.map +1 -1
  61. package/dist/resources/da-dk/common.js +31 -1071
  62. package/dist/resources/da-dk/common.js.map +1 -1
  63. package/dist/resources/da-dk/errors.d.ts +3 -2
  64. package/dist/resources/da-dk/errors.d.ts.map +1 -1
  65. package/dist/resources/da-dk/errors.js +3 -2
  66. package/dist/resources/da-dk/errors.js.map +1 -1
  67. package/dist/resources/da-dk/generated.d.ts +3 -2
  68. package/dist/resources/da-dk/generated.d.ts.map +1 -1
  69. package/dist/resources/da-dk/generated.js +3 -2
  70. package/dist/resources/da-dk/generated.js.map +1 -1
  71. package/dist/resources/da-dk/studio.d.ts +1282 -2
  72. package/dist/resources/da-dk/studio.d.ts.map +1 -1
  73. package/dist/resources/da-dk/studio.js +1282 -2
  74. package/dist/resources/da-dk/studio.js.map +1 -1
  75. package/dist/resources/da-dk/ui.d.ts +51 -2
  76. package/dist/resources/da-dk/ui.d.ts.map +1 -1
  77. package/dist/resources/da-dk/ui.js +55 -6
  78. package/dist/resources/da-dk/ui.js.map +1 -1
  79. package/dist/resources/de-de/common.d.ts +31 -1071
  80. package/dist/resources/de-de/common.d.ts.map +1 -1
  81. package/dist/resources/de-de/common.js +31 -1071
  82. package/dist/resources/de-de/common.js.map +1 -1
  83. package/dist/resources/de-de/errors.d.ts +3 -2
  84. package/dist/resources/de-de/errors.d.ts.map +1 -1
  85. package/dist/resources/de-de/errors.js +3 -2
  86. package/dist/resources/de-de/errors.js.map +1 -1
  87. package/dist/resources/de-de/generated.d.ts +3 -2
  88. package/dist/resources/de-de/generated.d.ts.map +1 -1
  89. package/dist/resources/de-de/generated.js +3 -2
  90. package/dist/resources/de-de/generated.js.map +1 -1
  91. package/dist/resources/de-de/studio.d.ts +1282 -2
  92. package/dist/resources/de-de/studio.d.ts.map +1 -1
  93. package/dist/resources/de-de/studio.js +1282 -2
  94. package/dist/resources/de-de/studio.js.map +1 -1
  95. package/dist/resources/de-de/ui.d.ts +51 -2
  96. package/dist/resources/de-de/ui.d.ts.map +1 -1
  97. package/dist/resources/de-de/ui.js +55 -6
  98. package/dist/resources/de-de/ui.js.map +1 -1
  99. package/dist/resources/eager.d.ts +3 -0
  100. package/dist/resources/eager.d.ts.map +1 -0
  101. package/dist/resources/eager.js +25 -0
  102. package/dist/resources/eager.js.map +1 -0
  103. package/dist/resources/en-us/common.d.ts +31 -1071
  104. package/dist/resources/en-us/common.d.ts.map +1 -1
  105. package/dist/resources/en-us/common.js +31 -1071
  106. package/dist/resources/en-us/common.js.map +1 -1
  107. package/dist/resources/en-us/errors.d.ts +3 -2
  108. package/dist/resources/en-us/errors.d.ts.map +1 -1
  109. package/dist/resources/en-us/errors.js +3 -2
  110. package/dist/resources/en-us/errors.js.map +1 -1
  111. package/dist/resources/en-us/generated.d.ts +3 -2
  112. package/dist/resources/en-us/generated.d.ts.map +1 -1
  113. package/dist/resources/en-us/generated.js +3 -2
  114. package/dist/resources/en-us/generated.js.map +1 -1
  115. package/dist/resources/en-us/studio.d.ts +1282 -2
  116. package/dist/resources/en-us/studio.d.ts.map +1 -1
  117. package/dist/resources/en-us/studio.js +1282 -2
  118. package/dist/resources/en-us/studio.js.map +1 -1
  119. package/dist/resources/en-us/ui.d.ts +51 -2
  120. package/dist/resources/en-us/ui.d.ts.map +1 -1
  121. package/dist/resources/en-us/ui.js +55 -6
  122. package/dist/resources/en-us/ui.js.map +1 -1
  123. package/dist/resources/fr-fr/common.d.ts +31 -1071
  124. package/dist/resources/fr-fr/common.d.ts.map +1 -1
  125. package/dist/resources/fr-fr/common.js +31 -1071
  126. package/dist/resources/fr-fr/common.js.map +1 -1
  127. package/dist/resources/fr-fr/errors.d.ts +3 -2
  128. package/dist/resources/fr-fr/errors.d.ts.map +1 -1
  129. package/dist/resources/fr-fr/errors.js +3 -2
  130. package/dist/resources/fr-fr/errors.js.map +1 -1
  131. package/dist/resources/fr-fr/generated.d.ts +3 -2
  132. package/dist/resources/fr-fr/generated.d.ts.map +1 -1
  133. package/dist/resources/fr-fr/generated.js +3 -2
  134. package/dist/resources/fr-fr/generated.js.map +1 -1
  135. package/dist/resources/fr-fr/studio.d.ts +1282 -2
  136. package/dist/resources/fr-fr/studio.d.ts.map +1 -1
  137. package/dist/resources/fr-fr/studio.js +1282 -2
  138. package/dist/resources/fr-fr/studio.js.map +1 -1
  139. package/dist/resources/fr-fr/ui.d.ts +51 -2
  140. package/dist/resources/fr-fr/ui.d.ts.map +1 -1
  141. package/dist/resources/fr-fr/ui.js +55 -6
  142. package/dist/resources/fr-fr/ui.js.map +1 -1
  143. package/dist/resources/index.d.ts +3 -6
  144. package/dist/resources/index.d.ts.map +1 -1
  145. package/dist/resources/index.js +15 -14
  146. package/dist/resources/index.js.map +1 -1
  147. package/dist/resources/lazy.d.ts +19 -9
  148. package/dist/resources/lazy.d.ts.map +1 -1
  149. package/dist/resources/lazy.js +4 -2
  150. package/dist/resources/lazy.js.map +1 -1
  151. package/dist/resources/namespaces.d.ts +43 -0
  152. package/dist/resources/namespaces.d.ts.map +1 -0
  153. package/dist/resources/namespaces.js +37 -0
  154. package/dist/resources/namespaces.js.map +1 -0
  155. package/dist/resources/zh-cn/common.d.ts +31 -1071
  156. package/dist/resources/zh-cn/common.d.ts.map +1 -1
  157. package/dist/resources/zh-cn/common.js +31 -1071
  158. package/dist/resources/zh-cn/common.js.map +1 -1
  159. package/dist/resources/zh-cn/errors.d.ts +3 -2
  160. package/dist/resources/zh-cn/errors.d.ts.map +1 -1
  161. package/dist/resources/zh-cn/errors.js +3 -2
  162. package/dist/resources/zh-cn/errors.js.map +1 -1
  163. package/dist/resources/zh-cn/generated.d.ts +3 -2
  164. package/dist/resources/zh-cn/generated.d.ts.map +1 -1
  165. package/dist/resources/zh-cn/generated.js +3 -2
  166. package/dist/resources/zh-cn/generated.js.map +1 -1
  167. package/dist/resources/zh-cn/studio.d.ts +1282 -2
  168. package/dist/resources/zh-cn/studio.d.ts.map +1 -1
  169. package/dist/resources/zh-cn/studio.js +1282 -2
  170. package/dist/resources/zh-cn/studio.js.map +1 -1
  171. package/dist/resources/zh-cn/ui.d.ts +51 -2
  172. package/dist/resources/zh-cn/ui.d.ts.map +1 -1
  173. package/dist/resources/zh-cn/ui.js +55 -6
  174. package/dist/resources/zh-cn/ui.js.map +1 -1
  175. package/dist/resources/zh-tw/common.d.ts +31 -1071
  176. package/dist/resources/zh-tw/common.d.ts.map +1 -1
  177. package/dist/resources/zh-tw/common.js +31 -1071
  178. package/dist/resources/zh-tw/common.js.map +1 -1
  179. package/dist/resources/zh-tw/errors.d.ts +3 -2
  180. package/dist/resources/zh-tw/errors.d.ts.map +1 -1
  181. package/dist/resources/zh-tw/errors.js +3 -2
  182. package/dist/resources/zh-tw/errors.js.map +1 -1
  183. package/dist/resources/zh-tw/generated.d.ts +3 -2
  184. package/dist/resources/zh-tw/generated.d.ts.map +1 -1
  185. package/dist/resources/zh-tw/generated.js +3 -2
  186. package/dist/resources/zh-tw/generated.js.map +1 -1
  187. package/dist/resources/zh-tw/studio.d.ts +1282 -2
  188. package/dist/resources/zh-tw/studio.d.ts.map +1 -1
  189. package/dist/resources/zh-tw/studio.js +1282 -2
  190. package/dist/resources/zh-tw/studio.js.map +1 -1
  191. package/dist/resources/zh-tw/ui.d.ts +51 -2
  192. package/dist/resources/zh-tw/ui.d.ts.map +1 -1
  193. package/dist/resources/zh-tw/ui.js +55 -6
  194. package/dist/resources/zh-tw/ui.js.map +1 -1
  195. package/dist/review-status.js +7 -7
  196. package/locales/ar-EG/.meta.json +3187 -2267
  197. package/locales/ar-EG/common.json +28 -1069
  198. package/locales/ar-EG/studio.json +1279 -0
  199. package/locales/ar-EG/ui.json +52 -4
  200. package/locales/cs-CZ/.meta.json +3203 -2283
  201. package/locales/cs-CZ/common.json +28 -1069
  202. package/locales/cs-CZ/studio.json +1279 -0
  203. package/locales/cs-CZ/ui.json +52 -4
  204. package/locales/da-DK/.meta.json +3208 -2288
  205. package/locales/da-DK/common.json +28 -1069
  206. package/locales/da-DK/studio.json +1279 -0
  207. package/locales/da-DK/ui.json +52 -4
  208. package/locales/de-DE/.meta.json +3201 -2281
  209. package/locales/de-DE/common.json +28 -1069
  210. package/locales/de-DE/studio.json +1279 -0
  211. package/locales/de-DE/ui.json +52 -4
  212. package/locales/en-US/common.json +28 -1069
  213. package/locales/en-US/studio.json +1279 -0
  214. package/locales/en-US/ui.json +52 -4
  215. package/locales/fr-FR/.meta.json +3205 -2285
  216. package/locales/fr-FR/common.json +28 -1069
  217. package/locales/fr-FR/studio.json +1279 -0
  218. package/locales/fr-FR/ui.json +52 -4
  219. package/locales/zh-CN/.meta.json +3185 -2265
  220. package/locales/zh-CN/common.json +28 -1069
  221. package/locales/zh-CN/studio.json +1279 -0
  222. package/locales/zh-CN/ui.json +52 -4
  223. package/locales/zh-TW/.meta.json +3188 -2268
  224. package/locales/zh-TW/common.json +28 -1069
  225. package/locales/zh-TW/studio.json +1279 -0
  226. package/locales/zh-TW/ui.json +52 -4
  227. package/package.json +1 -1
@@ -1,8 +1,9 @@
1
1
  /**
2
2
  * GENERATED MIRROR of ../../../locales/de-DE/studio.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
  */
@@ -13,6 +14,1285 @@ declare const _default: {
13
14
  readonly workspaceSection: "Workspace";
14
15
  readonly globalDefaultsNav: "Globale Standards";
15
16
  };
17
+ readonly source: {
18
+ readonly engine: {
19
+ readonly label: "Datenbank-Engine";
20
+ readonly postgres: "PostgreSQL";
21
+ readonly mysql: "MySQL / MariaDB";
22
+ readonly sqlite: "SQLite";
23
+ };
24
+ readonly format: {
25
+ readonly label: "Schemaformat";
26
+ readonly helper: "Bei automatischer Erkennung belassen, sofern sie nicht danebenliegt.";
27
+ readonly auto: "Automatisch erkennen";
28
+ readonly sql: "SQL-DDL / pg_dump";
29
+ readonly prisma: "Prisma-Schema";
30
+ readonly drizzle: "Drizzle ORM";
31
+ readonly typeorm: "TypeORM-Entitäten";
32
+ readonly sequelize: "Sequelize-Modelle";
33
+ readonly rails: "Rails schema.rb";
34
+ readonly django: "Django models.py";
35
+ readonly json: "Adminium-JSON";
36
+ };
37
+ readonly sqlite: {
38
+ readonly file: "Pfad zur Datenbankdatei";
39
+ readonly helper: "SQLite ist eine Datei, kein Server — geben Sie den absoluten Pfad auf der Maschine an, auf der Adminium läuft.";
40
+ };
41
+ readonly file: {
42
+ readonly detectedAs: "Erkannt: {format}";
43
+ readonly moreWarnings: "+{count} weitere Warnungen — die vollständige Liste erscheint im Analyse-Schritt.";
44
+ readonly dropTitle: "Schemadatei hier ablegen oder durchsuchen";
45
+ readonly dropHint: "SQL DDL / pg_dump, Prisma, Drizzle, TypeORM, Sequelize, Rails schema.rb, Django-Modelle, Adminium JSON";
46
+ readonly pitch: "Keine Datenbankverbindung nötig — wir parsen Ihre Schemadatei und bauen dieselben Dashboards.";
47
+ readonly parsing: "Hochgeladene Schemadatei wird gelesen…";
48
+ readonly tables: "Tabellen";
49
+ readonly columns: "Spalten";
50
+ readonly warnings: "Warnungen";
51
+ readonly errorTitle: "Datei konnte nicht geparst werden";
52
+ 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.";
53
+ 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.";
54
+ readonly requestFailed: "Upload fehlgeschlagen — prüfen Sie Ihre Verbindung und versuchen Sie es erneut.";
55
+ };
56
+ readonly title: "Verbinden Sie Ihre Datenbank";
57
+ readonly subtitle: "Richten Sie Adminium auf eine Datenbank — wir generieren aus ihrem Schema ein Admin-Dashboard.";
58
+ readonly name: "Verbindungsname";
59
+ readonly namePlaceholder: "Produktions-Postgres";
60
+ readonly modeLabel: "Eingabemodus der Quelle";
61
+ readonly mode: {
62
+ readonly dsn: "Verbindungszeichenfolge";
63
+ readonly fields: "Einzelne Felder";
64
+ readonly file: "Schemadatei";
65
+ };
66
+ readonly dsn: {
67
+ readonly label: "Verbindungszeichenfolge";
68
+ readonly helper: "postgres://benutzer:passwort@host:5432/datenbank — mysql:// und sqlite: funktionieren ebenfalls.";
69
+ readonly incomplete: "Host und Datenbank ergänzen, z. B. postgres://user@host:5432/db";
70
+ readonly invalidScheme: "Unbekanntes Schema — erwartet werden postgres://, mysql://, mariadb:// oder sqlite:";
71
+ readonly quickFill: "Schnellausfüllen:";
72
+ };
73
+ readonly fields: {
74
+ readonly host: "Host";
75
+ readonly port: "Port";
76
+ readonly database: "Datenbank";
77
+ readonly user: "Benutzer";
78
+ readonly password: "Passwort";
79
+ readonly ssl: "SSL-Modus";
80
+ readonly preview: "Vorschau der Verbindungszeichenfolge:";
81
+ };
82
+ readonly readOnlyRole: {
83
+ readonly title: "Verwenden Sie eine schreibgeschützte Rolle";
84
+ 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.";
85
+ };
86
+ };
87
+ readonly capability: {
88
+ readonly mysqlApproxRows: "MySQL-Zeilenzahlen sind Schätzungen der Storage-Engine (Abweichungen bis ±40 % möglich) — sie werden mit ≈ angezeigt.";
89
+ 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+.";
90
+ readonly sqliteCheckEnums: "SQLite hat keinen nativen Enum-Typ — Enums werden aus CHECK-(col IN (…))-Constraints abgeleitet.";
91
+ readonly sqliteNoComments: "SQLite kennt keine Spaltenkommentare — verwenden Sie den Schema-Remap-Editor, um Beschriftungen zu vergeben.";
92
+ readonly importNoRowCounts: "Schemadateien enthalten keine Zeilenzahlen — die Tabellenliste zeigt — statt erfundener Werte.";
93
+ readonly importNoLiveHealth: "Keine Live-Datenbankverbindung — Health-Checks und Schema-Drift-Erkennung sind für diese Quelle nicht verfügbar.";
94
+ readonly rowsUnavailable: "Schemadateien haben keine Live-Datenbank — Zeilenzahlen sind unbekannt, bis Sie eine verbinden.";
95
+ readonly rowsRunAnalyze: "Noch keine Schätzung — führen Sie ANALYZE auf der Datenbank aus, um Zeilenzahlen zu erhalten.";
96
+ readonly rowsNoEstimate: "Die Engine hat für diese Tabelle keine Schätzung gemeldet.";
97
+ readonly rowsApproximate: "Schätzung der Storage-Engine — kann bei InnoDB um bis zu ±40 % abweichen.";
98
+ };
99
+ readonly test: {
100
+ readonly log: {
101
+ readonly moreWarnings: "+{count} weitere Parser-Warnungen";
102
+ readonly connecting: "Sichere Verbindung wird aufgebaut…";
103
+ readonly connected: "Verbunden ({latency} ms) · schreibgeschützte Introspektion";
104
+ readonly connectFailed: "Verbindung fehlgeschlagen.";
105
+ readonly readingSchema: "Schema wird gelesen: public";
106
+ readonly readingFile: "Hochgeladene Schemadatei wird gelesen…";
107
+ readonly parsingFile: "{file} wird geparst…";
108
+ readonly detected: "{tables} Tabellen · {columns} Spalten erkannt";
109
+ readonly found: "{tables} Tabellen · {columns} Spalten gefunden";
110
+ readonly mapping: "Spaltentypen → Eingabe-Widgets werden zugeordnet";
111
+ readonly relations: "Beziehungen werden erkannt…";
112
+ readonly piiScan: "Suche nach PII-Spalten…";
113
+ readonly piiDone: "PII-Scan abgeschlossen — {count} Spalten standardmäßig maskiert";
114
+ readonly piiDoneUnknown: "PII-Scan abgeschlossen";
115
+ readonly jobFailed: "Introspektion fehlgeschlagen.";
116
+ readonly networkFailed: "Anfrage fehlgeschlagen — prüfen Sie Ihre Verbindung und versuchen Sie es erneut.";
117
+ readonly ready: "Bereit";
118
+ };
119
+ readonly title: "Ihr Schema wird analysiert";
120
+ readonly subtitle: "Tabellen, Spalten und Beziehungen werden introspiziert. Das dauert ein paar Sekunden.";
121
+ readonly trust: "Wir lesen nur Ihr Schema und Ihre Daten. Nichts wird verändert.";
122
+ readonly errorTitle: "Verbindung fehlgeschlagen";
123
+ readonly retry: "Erneut versuchen";
124
+ readonly logLabel: "Introspektionsprotokoll";
125
+ readonly hint: {
126
+ readonly auth: "Authentifizierung fehlgeschlagen — prüfen Sie Benutzername und Passwort in Ihrer DSN.";
127
+ readonly hostUnreachable: "Host nicht erreichbar — prüfen Sie Hostname und Port und dass die Datenbank Verbindungen von dieser Maschine akzeptiert (unsere IPs freigeben).";
128
+ readonly metaPlacement: "Diese Quelle kann Adminiums Meta-Tabellen nicht aufnehmen — fahren Sie mit einer separaten Meta-Datenbank fort.";
129
+ readonly permission: "Die Rolle hat sich verbunden, darf das Schema aber nicht lesen — erteilen Sie Ihrer Introspektionsrolle USAGE auf dem Schema.";
130
+ readonly timeout: "Die Datenbank hat nicht rechtzeitig geantwortet — prüfen Sie Netzwerkpfad und Auslastung und versuchen Sie es erneut.";
131
+ readonly tls: "TLS-Aushandlung fehlgeschlagen — versuchen Sie sslmode=require oder laden Sie das CA-Zertifikat hoch, das Ihr Server erwartet.";
132
+ readonly unknown: "Verbindung fehlgeschlagen — prüfen Sie die DSN und versuchen Sie es erneut.";
133
+ };
134
+ };
135
+ readonly tables: {
136
+ readonly importNoCounts: "Schemadateien enthalten keine Zeilenzahlen — die Spalte zeigt —, bis eine Live-Datenbank verbunden ist.";
137
+ readonly title: "Wählen Sie Ihre Tabellen";
138
+ readonly subtitle: "Wählen Sie, welche enthalten sein sollen. Sie können das jederzeit ändern.";
139
+ readonly search: "Tabellen filtern…";
140
+ readonly listLabel: "Einbeziehbare Tabellen";
141
+ readonly emptyFilter: "Keine Tabellen entsprechen Ihrem Filter.";
142
+ readonly pii: "PII";
143
+ readonly highVolume: "hohes Volumen";
144
+ readonly highVolumeNote: "Tabellen mit über 100.000 Zeilen sind anfangs abgewählt — Ops-Tabellen gehören selten in ein Dashboard.";
145
+ readonly joinHidden: "{count} Join-/Systemtabellen sind vorab ausgeblendet — sie treiben weiterhin m:n-Beziehungen an.";
146
+ };
147
+ readonly hub: {
148
+ readonly title: "Datenverbindungen";
149
+ readonly subtitle: "{healthy, number} von {total, plural, one {# Verbindung} other {# Verbindungen}} fehlerfrei";
150
+ readonly connectNew: "Neue Verbindung";
151
+ readonly stats: {
152
+ readonly connections: "Verbindungen";
153
+ readonly healthy: "Fehlerfrei";
154
+ readonly tables: "Einbezogene Tabellen";
155
+ readonly pages: "Generierte Seiten";
156
+ };
157
+ readonly status: {
158
+ readonly connected: "Verbunden";
159
+ readonly error: "Fehler";
160
+ readonly unconfigured: "Entwurf";
161
+ readonly testing: "Wird getestet…";
162
+ readonly paused: "Pausiert";
163
+ };
164
+ readonly card: {
165
+ readonly readOnly: "Schreibgeschützt";
166
+ readonly tables: "Tabellen";
167
+ readonly pages: "Seiten";
168
+ readonly latency: "Latenz";
169
+ readonly latencyMs: "{latency, number} ms";
170
+ readonly lastIntrospected: "Zuletzt introspiziert";
171
+ readonly never: "Nie";
172
+ readonly timezone: "Zeitzone";
173
+ readonly timezoneGuessed: "von diesem Server";
174
+ readonly paused: "Adminium stellt keine Verbindung zu dieser Datenbank her. Ihre Seiten laden wieder, sobald Sie sie fortsetzen.";
175
+ readonly pausedSince: "Pausiert {when} – Adminium stellt keine Verbindung zu dieser Datenbank her. Ihre Seiten laden wieder, sobald Sie sie fortsetzen.";
176
+ };
177
+ readonly action: {
178
+ readonly test: "Testen";
179
+ readonly reintrospect: "Neu introspizieren";
180
+ readonly reintrospectFile: "Schemadatei-Quellen haben keine Live-Datenbank — laden Sie stattdessen die Datei erneut hoch.";
181
+ readonly remap: "Schema neu zuordnen";
182
+ readonly delete: "Löschen";
183
+ readonly regional: "Regionale Einstellungen";
184
+ readonly pause: "Pausieren";
185
+ readonly resume: "Fortsetzen";
186
+ readonly pausedHint: "Diese Verbindung ist pausiert – setzen Sie sie fort, um die Datenbank zu erreichen.";
187
+ readonly rename: "Umbenennen";
188
+ };
189
+ readonly regional: {
190
+ readonly title: "Regionale Einstellungen";
191
+ readonly intro: "Sie beschreiben das Unternehmen, zu dem diese Datenbank gehört, nicht die lesende Person. Von Adminium ausgelieferte Apps lesen sie hier.";
192
+ readonly timezone: "Zeitzone";
193
+ readonly timezoneHelper: "Datum und Uhrzeit werden in dieser Zeitzone dargestellt. Von Adminium gehostete Apps weichen ohne Angabe auf UTC aus und weisen im Bildschirm darauf hin.";
194
+ readonly guessedTitle: "Diese Zeitzone stammt vom Server";
195
+ readonly guessedBody: "Adminium hat sie von der Maschine übernommen, auf der es läuft — niemand hier hat sie gewählt. Zum Bestätigen speichern oder die Zeitzone wählen, in der dieses Unternehmen tatsächlich arbeitet.";
196
+ readonly timezonePlaceholder: "Region/Stadt";
197
+ readonly currency: "Währung";
198
+ readonly currencyHelper: "Dient der Formatierung von Beträgen. Optional – ohne Angabe ändert sich nur die Formatierung.";
199
+ readonly currencyPlaceholder: "ISO-4217-Code";
200
+ readonly notSet: "Nicht gesetzt";
201
+ readonly noMatch: "Keine passende Zone";
202
+ readonly noMatchCurrency: "Keine passende Währung";
203
+ readonly save: "Speichern";
204
+ readonly failed: "Regionale Einstellungen konnten nicht gespeichert werden";
205
+ readonly saved: "Regionale Einstellungen aktualisiert";
206
+ };
207
+ readonly test: {
208
+ readonly ok: "Verbindung fehlerfrei · {latency, number} ms";
209
+ readonly failed: "Verbindungstest fehlgeschlagen";
210
+ };
211
+ readonly introspect: {
212
+ readonly noChanges: "Schema unverändert — kein neuer Snapshot.";
213
+ readonly updated: "Schema neu introspiziert";
214
+ readonly masksProposed: "{count, plural, one {# Spalte} other {# Spalten}} zur Maskierung vorgeschlagen — im Remap-Editor prüfen.";
215
+ readonly failed: "Introspektion fehlgeschlagen. Versuchen Sie es erneut.";
216
+ };
217
+ readonly delete: {
218
+ readonly title: "Verbindung löschen";
219
+ readonly body: "Dies löscht „{name}“ und die daraus generierten Seiten. Ihre Datenbank selbst bleibt unangetastet.";
220
+ readonly prompt: "Geben Sie {name} zur Bestätigung ein";
221
+ readonly confirm: "Verbindung löschen";
222
+ readonly cancel: "Abbrechen";
223
+ readonly close: "Schließen";
224
+ readonly success: "Verbindung „{name}“ gelöscht";
225
+ readonly failed: "Die Verbindung konnte nicht gelöscht werden. Versuchen Sie es erneut.";
226
+ };
227
+ readonly empty: {
228
+ readonly title: "Noch keine Datenquellen";
229
+ readonly body: "Verbinden Sie eine Datenbank — Adminium generiert Ihr Admin-Panel aus deren Schema.";
230
+ readonly cta: "Datenbank verbinden";
231
+ };
232
+ readonly hostedApps: "Gehostete Apps";
233
+ readonly subtitlePaused: "{healthy, number} von {total, plural, one {# Verbindung} other {# Verbindungen}} fehlerfrei · {paused, number} pausiert";
234
+ readonly pause: {
235
+ readonly title: "Diese Verbindung pausieren?";
236
+ readonly body: "Adminium baut keine Verbindung mehr zu „{name}“ auf. {pages, plural, one {# Seite} other {# Seiten}}, geplante Berichte und gehostete Apps laden keine Daten mehr, bis Sie sie fortsetzen.";
237
+ readonly keeps: "Nichts wird gelöscht – die Verbindung, ihr Schema und {pages, plural, one {ihre # Seite} other {ihre # Seiten}} bleiben erhalten, und ein Klick holt sie zurück.";
238
+ readonly confirm: "Verbindung pausieren";
239
+ readonly pausedToast: "Verbindung „{name}“ pausiert";
240
+ readonly resumedToast: "Verbindung „{name}“ fortgesetzt";
241
+ readonly pauseFailed: "Die Verbindung konnte nicht pausiert werden. Versuchen Sie es erneut.";
242
+ readonly resumeFailed: "Die Verbindung konnte nicht fortgesetzt werden. Versuchen Sie es erneut.";
243
+ };
244
+ readonly rename: {
245
+ readonly title: "Verbindung umbenennen";
246
+ readonly label: "Name";
247
+ readonly helper: "Wie diese Datenbank in Adminium überall heißt — die Karte, die Seitenleisten-Gruppe über ihren Seiten und jede Auswahl, die sie anbietet. Die Datenbank selbst wird nicht umbenannt.";
248
+ readonly save: "Umbenennen";
249
+ readonly saved: "Verbindung umbenannt";
250
+ readonly failed: "Die Verbindung konnte nicht umbenannt werden";
251
+ };
252
+ };
253
+ readonly settingsHub: {
254
+ readonly title: "Workspace-Einstellungen";
255
+ readonly subtitle: "Identität, Sicherheit und destruktive Aktionen für diesen Workspace.";
256
+ readonly save: "Änderungen speichern";
257
+ readonly saved: "Workspace-Einstellungen aktualisiert";
258
+ readonly saveFailed: "Die Workspace-Einstellungen konnten nicht gespeichert werden. Versuchen Sie es erneut.";
259
+ readonly superAdminOnlyTitle: "Super-Admin erforderlich";
260
+ readonly superAdminOnly: "Nur ein Super-Admin kann Identität und Sicherheitseinstellungen des Workspace ändern.";
261
+ readonly identity: {
262
+ readonly heading: "Workspace-Identität";
263
+ readonly appName: {
264
+ readonly label: "Anwendungsname";
265
+ readonly helper: "Erscheint in der Seitenleiste, im Browser-Titel und in E-Mails.";
266
+ readonly error: "Geben Sie einen Namen mit höchstens 60 Zeichen ein.";
267
+ };
268
+ readonly logo: {
269
+ readonly label: "Logo";
270
+ readonly drop: "Bild hierher ziehen";
271
+ readonly helper: "PNG, JPEG, WebP, GIF oder SVG bis 1 MB. Ersetzt die eingebaute Marke überall.";
272
+ readonly upload: "Logo hochladen";
273
+ readonly replace: "Logo ersetzen";
274
+ readonly remove: "Entfernen";
275
+ readonly uploaded: "Logo aktualisiert";
276
+ readonly removed: "Logo entfernt";
277
+ readonly tooLarge: "Dieses Bild ist größer als 1 MB.";
278
+ readonly badType: "Wählen Sie ein PNG-, JPEG-, WebP-, GIF- oder SVG-Bild.";
279
+ readonly undo: "Rückgängig";
280
+ };
281
+ readonly showVersion: {
282
+ readonly label: "Version in der Seitenleiste";
283
+ readonly helper: "Die Build-Nummer neben dem Logo. Aus verbirgt, welche Version Sie einsetzen.";
284
+ };
285
+ };
286
+ readonly security: {
287
+ readonly heading: "Sicherheit";
288
+ readonly require2fa: {
289
+ readonly label: "Zwei-Faktor-Authentifizierung verlangen";
290
+ readonly desc: "Jedes Mitglied muss 2FA aktivieren, um sich anzumelden.";
291
+ readonly note: "Hinweis, keine Sperre: Mitglieder ohne 2FA werden zur Einrichtung geleitet und können sie danach nicht mehr abschalten, ihre Anmeldung wird aber nie blockiert, und API-Schlüssel sind nicht betroffen.";
292
+ };
293
+ readonly allowSignup: {
294
+ readonly label: "Selbstregistrierung erlauben";
295
+ readonly desc: "Jeder kann ein Konto erstellen — deaktiviert bleibt der Workspace nur per Einladung zugänglich.";
296
+ };
297
+ readonly sessionTtl: {
298
+ readonly label: "Sitzungsdauer (Stunden)";
299
+ readonly error: "Zwischen {min, number} und {max, number} Stunden.";
300
+ };
301
+ readonly passwordMin: {
302
+ readonly label: "Minimale Passwortlänge";
303
+ readonly error: "Zwischen {min, number} und {max, number} Zeichen.";
304
+ };
305
+ };
306
+ readonly email: {
307
+ readonly heading: "E-Mail (SMTP)";
308
+ readonly unconfigured: "Es ist kein Mailserver eingerichtet, daher kann Adminium keine Passwort-Zurücksetzungen, Einladungen oder geplanten Berichte versenden.";
309
+ readonly host: {
310
+ readonly label: "SMTP-Host";
311
+ readonly error: "Nur ein Hostname oder eine IP-Adresse — ohne Schema, Port oder Zugangsdaten.";
312
+ };
313
+ readonly port: {
314
+ readonly label: "Port";
315
+ readonly error: "Zwischen {min, number} und {max, number}.";
316
+ };
317
+ readonly user: {
318
+ readonly label: "Benutzername";
319
+ readonly helper: "Leer lassen, wenn das Relay keine Anmeldung verlangt.";
320
+ };
321
+ readonly pass: {
322
+ readonly label: "Passwort";
323
+ readonly helper: "Verschlüsselt gespeichert und nie wieder angezeigt. Leer lassen, um das aktuelle zu behalten.";
324
+ readonly error: "Zu diesem Benutzernamen gehört ein Passwort.";
325
+ };
326
+ readonly from: {
327
+ readonly label: "Absenderadresse";
328
+ readonly helper: "Nur die Adresse oder ein Anzeigename davor.";
329
+ readonly error: "Geben Sie eine E-Mail-Adresse ein.";
330
+ };
331
+ readonly secure: {
332
+ readonly label: "Implizites TLS";
333
+ readonly helper: "An für Port 465. Aus beginnt unverschlüsselt und wechselt per STARTTLS — so erwartet es Port 587.";
334
+ };
335
+ readonly remove: "Mailserver entfernen";
336
+ readonly review: {
337
+ readonly removed: "Entfernt";
338
+ readonly password: "Ersetzt";
339
+ };
340
+ };
341
+ readonly review: {
342
+ readonly title: "Workspace-Einstellungen speichern";
343
+ readonly subtitle: "Prüfen Sie Ihre Änderungen vor dem Speichern.";
344
+ readonly confirm: "Änderungen speichern";
345
+ readonly cancel: "Abbrechen";
346
+ readonly close: "Schließen";
347
+ readonly on: "An";
348
+ readonly off: "Aus";
349
+ readonly shown: "Sichtbar";
350
+ readonly hidden: "Verborgen";
351
+ readonly change: "{before} → {after}";
352
+ };
353
+ readonly defaultsCard: {
354
+ readonly heading: "Standards für Darstellung & Sprache";
355
+ readonly body: "Workspace-weite Einstellungen für Theme, Akzentfarbe, Dichte und Sprache finden Sie unter „Globale Standards“.";
356
+ readonly cta: "Globale Standards öffnen";
357
+ };
358
+ readonly danger: {
359
+ readonly heading: "Gefahrenzone";
360
+ readonly subtitle: "Unumkehrbare Aktionen.";
361
+ readonly empty: "Nichts zu löschen — noch keine Verbindungen.";
362
+ readonly deleteDesc: "Löscht die Verbindung und die daraus generierten Seiten. Ihre Datenbank bleibt unangetastet. Kann nicht rückgängig gemacht werden.";
363
+ readonly deleteCta: "Verbindung löschen";
364
+ };
365
+ readonly aiCard: {
366
+ readonly heading: "KI-Anreicherung";
367
+ readonly body: "Konfigurieren Sie einen KI-Anbieter (oder den Kopieren-Einfügen-Umlauf), um Bezeichnungen, Gruppen und Beziehungen anzureichern.";
368
+ readonly cta: "KI-Einstellungen öffnen";
369
+ };
370
+ readonly pagesCard: {
371
+ readonly heading: "Seiten";
372
+ readonly body: "Seiten hinzufügen, bearbeiten und löschen, ihre Inhalte ändern und die Seitenleiste neu ordnen.";
373
+ readonly cta: "Seiten verwalten";
374
+ };
375
+ readonly translationsCard: {
376
+ readonly heading: "Sprachen & Übersetzungen";
377
+ readonly body: "Formulieren Sie beliebige Texte in Adminium neu, legen Sie fest, welche Sprachen zur Auswahl stehen, und fügen Sie eigene hinzu.";
378
+ readonly cta: "Übersetzungen öffnen";
379
+ };
380
+ };
381
+ readonly settingsAi: {
382
+ readonly title: "KI-Anreicherung";
383
+ readonly subtitle: "Verbinden Sie ein Modell, damit Adminium Bezeichnungen, Gruppen, Beziehungen und mehr vorschlägt — immer als Diff geprüft, bevor etwas übernommen wird.";
384
+ readonly saved: "KI-Anbieter gespeichert";
385
+ readonly saveFailed: "Der KI-Anbieter konnte nicht gespeichert werden. Erneut versuchen.";
386
+ readonly save: "Anbieter speichern";
387
+ readonly test: "Verbindung testen";
388
+ readonly testHintDirty: "Speichern Sie Ihre Änderungen vor dem Test.";
389
+ readonly testing: "Anbieter wird angepingt…";
390
+ readonly testError: "Test fehlgeschlagen";
391
+ readonly testErrorBody: "Der Anbieter war nicht erreichbar. Prüfen Sie Schlüssel und Basis-URL.";
392
+ readonly testOk: "Verbunden mit {model} in {latency} ms";
393
+ readonly testUnknownModel: "dem Anbieter";
394
+ readonly provider: {
395
+ readonly heading: "KI-Anbieter";
396
+ readonly subtitle: "Wählen Sie, wie Adminium ein Modell zur Anreicherung Ihres Schemas erreicht. Schlüssel werden verschlüsselt gespeichert und nie wieder angezeigt.";
397
+ readonly active: "Aktiv";
398
+ readonly anthropic: {
399
+ readonly label: "Anthropic";
400
+ readonly desc: "Claude-Modelle über die Anthropic-API.";
401
+ };
402
+ readonly openai: {
403
+ readonly label: "OpenAI";
404
+ readonly desc: "GPT-Modelle über die OpenAI-API.";
405
+ };
406
+ readonly openaiCompatible: {
407
+ readonly label: "OpenAI-kompatibel";
408
+ readonly desc: "Jeder Endpunkt, der das OpenAI-Format spricht — Groq, Together, vLLM, LM Studio.";
409
+ };
410
+ readonly ollama: {
411
+ readonly label: "Ollama (lokal)";
412
+ readonly desc: "Modelle laufen lokal über Ollama — kein Schlüssel, keine Cloud.";
413
+ };
414
+ readonly requiresNetwork: "Erfordert Internet und einen API-Schlüssel";
415
+ readonly networkDisabledTitle: "Direkte KI-Anbieter sind in dieser Installation deaktiviert";
416
+ 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.";
417
+ };
418
+ readonly configure: {
419
+ readonly heading: "{provider} konfigurieren";
420
+ };
421
+ readonly field: {
422
+ readonly baseUrl: "Basis-URL";
423
+ readonly baseUrlOptional: "Unverändert lassen, außer Ollama läuft auf einem anderen Host.";
424
+ readonly baseUrlHelper: "Die Endpunkt-Wurzel, die /chat/completions bereitstellt.";
425
+ readonly model: "Modell";
426
+ readonly modelFreeText: "Geben Sie die genaue Modell-ID ein, die Ihr Endpunkt bereitstellt.";
427
+ readonly modelLive: "Live vom Anbieter geladen.";
428
+ readonly modelStatic: "Eine bewährte Liste; geben Sie nach dem Speichern eine eigene ID ein, um sie zu aktualisieren.";
429
+ readonly modelLoading: "Wird geladen…";
430
+ readonly modelPlaceholder: "Modell auswählen…";
431
+ readonly key: "API-Schlüssel";
432
+ readonly keyStored: "Verschlüsselt gespeichert. Ersetzen Sie ihn, um einen anderen Schlüssel zu verwenden.";
433
+ readonly keyMask: "sk-…{last4}";
434
+ readonly keyReplace: "Schlüssel ersetzen";
435
+ readonly keyOptional: "Optional — manche Endpunkte brauchen keinen Schlüssel.";
436
+ readonly keyWriteOnly: "Nur schreibend: einmal gespeichert, wird er nie wieder angezeigt.";
437
+ readonly noKeyTitle: "Kein API-Schlüssel nötig";
438
+ readonly noKeyBody: "Ollama läuft lokal, es verlässt also nichts diesen Rechner.";
439
+ };
440
+ readonly runStatus: {
441
+ readonly draft: "Entwurf";
442
+ readonly running: "Läuft";
443
+ readonly awaitingResponse: "Wartet auf Antwort";
444
+ readonly validated: "Validiert";
445
+ readonly applied: "Übernommen";
446
+ readonly partiallyApplied: "Teilweise übernommen";
447
+ readonly failed: "Fehlgeschlagen";
448
+ readonly discarded: "Verworfen";
449
+ };
450
+ readonly byo: {
451
+ readonly heading: "Kein Schlüssel? Nutzen Sie Ihr eigenes KI-Tool";
452
+ readonly subtitle: "Der Kopieren-Einfügen-Umlauf — nichts verlässt diesen Rechner.";
453
+ 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.";
454
+ readonly guaranteeTitle: "Telemetriefreie Garantie";
455
+ readonly guarantee1: "Der Prompt enthält nur Ihr Schema und aggregierte Statistiken — standardmäßig nie Zeilendaten.";
456
+ readonly guarantee2: "Keine Anmeldedaten, keine Instanz-URL, keine Kennungen sind eingebettet.";
457
+ readonly guarantee3: "BYO-Läufe machen keinerlei Netzwerkaufrufe.";
458
+ readonly promptVersion: "Prompt {version}";
459
+ readonly schemaVersion: "Schema {version}";
460
+ readonly headingRecommended: "Eigenes KI-Tool verwenden — kein Schlüssel nötig";
461
+ readonly recommended: "Empfohlen";
462
+ };
463
+ readonly history: {
464
+ readonly heading: "Laufverlauf";
465
+ readonly subtitle: "Frühere Anreicherungsläufe. Öffnen Sie einen, um seine Vorschläge zu prüfen.";
466
+ readonly tableLabel: "Anreicherungsläufe";
467
+ readonly colDate: "Datum";
468
+ readonly colSource: "Quelle";
469
+ readonly colStatus: "Status";
470
+ readonly colChunks: "Blöcke";
471
+ readonly openReview: "Prüfung für den Lauf vom {date} öffnen";
472
+ readonly connection: "Verbindung";
473
+ readonly empty: "Noch keine Anreicherungsläufe. Reichern Sie ein Schema im Verbindungsassistenten an, um hier Verlauf zu sehen.";
474
+ readonly errorTitle: "Läufe konnten nicht geladen werden";
475
+ readonly errorBody: "Laden Sie die Seite neu, um es erneut zu versuchen.";
476
+ readonly noConnections: "Verbinden Sie zuerst eine Datenbank — Anreicherungsläufe werden pro Verbindung erfasst.";
477
+ readonly byo: "BYO";
478
+ readonly directPath: "Direkt";
479
+ };
480
+ };
481
+ readonly enrich: {
482
+ readonly title: "Mit KI anreichern";
483
+ 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.";
484
+ readonly intentLabel: "Wie möchten Sie anreichern?";
485
+ readonly sectionsLegend: "Worüber soll die KI entscheiden?";
486
+ readonly localesLegend: "Bezeichnungen übersetzen in";
487
+ readonly localeLocked: "(erforderlich)";
488
+ readonly samplingTitle: "Beispielwerte einbeziehen";
489
+ readonly samplingHint: "Nimmt bis zu 20 echte Werte pro Nicht-PII-Spalte in den Prompt auf.";
490
+ readonly samplingPreviewTitle: "Was diesen Rechner verlässt";
491
+ 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.";
492
+ readonly noSections: "Wählen Sie mindestens eine Entscheidungsgruppe zum Anreichern.";
493
+ readonly generatePrompt: "Prompt erzeugen";
494
+ readonly startProvider: "Anreicherung starten";
495
+ readonly startOver: "Von vorn beginnen";
496
+ readonly copied: "Kopiert";
497
+ readonly createFailed: "Der Anreicherungs-Prompt konnte nicht erstellt werden — erneut versuchen.";
498
+ readonly createFailedTitle: "Konnte nicht starten";
499
+ readonly providerFallback: "Ihr KI-Anbieter";
500
+ readonly fileTitle: "KI-Anreicherung benötigt eine aktive Datenbank";
501
+ 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.";
502
+ readonly section: {
503
+ readonly labels: "Bezeichnungen & Beschreibungen";
504
+ readonly groups: "Navigationsgruppen";
505
+ readonly enums: "Enum-Semantik";
506
+ readonly relations: "Beziehungen";
507
+ readonly keys: "Schlüsselspalten";
508
+ readonly templates: "Seitenvorlagen";
509
+ readonly widgets: "Dashboard-Widgets";
510
+ readonly pii: "PII & Maskierung";
511
+ readonly icons: "Symbole";
512
+ readonly microcopy: "Mikrotexte";
513
+ };
514
+ readonly provider: {
515
+ readonly title: "Meinen KI-Anbieter verwenden";
516
+ readonly description: "Führen Sie die Anreicherung jetzt mit Ihrem konfigurierten Anbieter aus. Sie prüfen jeden Vorschlag als Diff.";
517
+ readonly unconfigured: "Es ist noch kein KI-Anbieter konfiguriert — kopieren Sie unten einen Prompt in Ihr eigenes Tool, oder konfigurieren Sie zuerst einen Anbieter.";
518
+ readonly settingsHint: "Möchten Sie es direkt ausführen?";
519
+ readonly settingsLink: "Anbieter in Einstellungen → KI konfigurieren";
520
+ 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.";
521
+ };
522
+ readonly byo: {
523
+ readonly cardTitle: "Einen Prompt in mein eigenes KI-Tool kopieren";
524
+ 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.";
525
+ 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.";
526
+ readonly promptLabel: "Anreicherungs-Prompt";
527
+ readonly promptLabelN: "Anreicherungs-Prompt {index} von {total}";
528
+ readonly tokenChip: "≈ {tokens} Tokens";
529
+ readonly copyPrompt: "Prompt kopieren";
530
+ readonly copyPromptDone: "Prompt kopiert";
531
+ readonly download: ".md herunterladen";
532
+ readonly chunkTabs: "Prompt-Abschnitte";
533
+ readonly chunkTab: "Prompt {index}";
534
+ readonly chunkValid: "Abschnitt {index} validiert";
535
+ readonly pasteLabel: "JSON-Antwort einfügen";
536
+ readonly pastePlaceholder: "JSON-Antwort hier einfügen…";
537
+ readonly validate: "Validieren";
538
+ readonly valid: "Antwort validiert";
539
+ readonly mergedTitle: "Alle {count} Abschnitte validiert und zusammengeführt";
540
+ readonly mergedTitleSingle: "Antwort validiert";
541
+ readonly mergedBody: "Die Vorschläge können nun gegen die heuristische Grundlage geprüft werden.";
542
+ readonly errorsTitle: "Die Validierung fand {count} Probleme";
543
+ readonly copyErrors: "Fehler für Ihr KI-Tool kopieren";
544
+ readonly copyErrorsDone: "Fehler kopiert";
545
+ readonly copyErrorsHint: "Fügen Sie dies in Ihr KI-Tool zurück ein, um eine korrigierte Antwort zu erhalten.";
546
+ readonly droppedItems: "{count} Vorschläge wurden bei der Validierung verworfen — die Prüfung zeigt die übrigen.";
547
+ readonly pendingTitle: "Validieren Sie jeden Prompt, um fortzufahren";
548
+ readonly pendingBody: "Fügen Sie die JSON-Antwort oben ein und validieren Sie sie, um zur Prüfung fortzufahren.";
549
+ 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.";
550
+ readonly requestFailed: "Der Server war für die Validierung nicht erreichbar — erneut versuchen.";
551
+ readonly continueReview: "Weiter zur Prüfung";
552
+ readonly wholeDocument: "gesamtes Dokument";
553
+ readonly cardTitleRecommended: "Prompt in mein eigenes KI-Tool kopieren — empfohlen";
554
+ };
555
+ readonly direct: {
556
+ readonly title: "Anreicherung mit KI";
557
+ readonly subtitle: "Ihr Schema wird gesendet an";
558
+ readonly building: "Prompt wird erstellt…";
559
+ readonly logLabel: "Anreicherungsprotokoll";
560
+ readonly cancel: "Abbrechen";
561
+ readonly back: "Zurück zu den Optionen";
562
+ readonly retry: "Erneut versuchen";
563
+ readonly done: "Anreicherung abgeschlossen — prüfen Sie die Vorschläge.";
564
+ readonly continueReview: "Weiter zur Prüfung";
565
+ readonly failed: "Der Anbieterlauf ist fehlgeschlagen. Prüfen Sie Ihre KI-Einstellungen und versuchen Sie es erneut.";
566
+ readonly jobFailed: "Der Anreicherungslauf wurde nicht abgeschlossen.";
567
+ readonly startFailed: "Der Lauf konnte nicht gestartet werden — erneut versuchen.";
568
+ readonly errorTitle: "Anreicherung fehlgeschlagen";
569
+ };
570
+ readonly skip: {
571
+ readonly title: "Überspringen — nur Heuristik verwenden";
572
+ readonly description: "Aus der heuristischen Grundlage generieren. Sie können später über Einstellungen → KI anreichern — Überspringen wird nie bestraft.";
573
+ readonly confirmTitle: "Weiter mit Heuristik";
574
+ 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.";
575
+ };
576
+ };
577
+ readonly review: {
578
+ readonly unavailableTitle: "Prüfungsansicht nicht verfügbar";
579
+ readonly unavailableBody: "Dieser Build enthält die Anreicherungs-Prüfungsansicht noch nicht (06-T14). Sie kommt mit dem Diff-und-Übernehmen-Ablauf.";
580
+ };
581
+ readonly llmRuns: {
582
+ readonly review: {
583
+ readonly header: {
584
+ readonly title: "KI-Vorschläge prüfen";
585
+ readonly model: "Modell";
586
+ readonly snapshot: "Schnappschuss";
587
+ readonly byo: "BYO";
588
+ readonly pathDirect: "Direkte API";
589
+ readonly pathByo: "Kopieren & Einfügen";
590
+ readonly agree: "{n} übereinstimmend";
591
+ readonly conflict: "{n} Konflikt";
592
+ readonly new: "{n} neu";
593
+ readonly rejects: "{n} Ablehnungen";
594
+ readonly countsAria: "Anzahl der Vorschläge";
595
+ };
596
+ readonly bulk: {
597
+ readonly thresholdLabel: "Konfidenzschwelle";
598
+ readonly thresholdAria: "Konfidenzschwelle für „Alle übernehmen“";
599
+ readonly acceptAll: "Alle ≥ {pct}% übernehmen";
600
+ readonly clear: "Auswahl aufheben";
601
+ };
602
+ readonly section: {
603
+ readonly selectAllAria: "Alle in {group} auswählen";
604
+ readonly acceptedCount: "{n} übernommen";
605
+ };
606
+ readonly group: {
607
+ readonly labels: "Bezeichnungen & Übersetzungen";
608
+ readonly navigation: "Navigation & Domänen";
609
+ readonly enums: "Enum-Semantik";
610
+ readonly relations: "Beziehungen";
611
+ readonly keys: "Schlüsselspalten";
612
+ readonly templates: "Seitenvorlagen";
613
+ readonly dashboards: "Dashboards & Widgets";
614
+ readonly pii: "PII & Maskierung";
615
+ readonly icons: "Symbole";
616
+ readonly microcopy: "Mikrotexte";
617
+ };
618
+ readonly status: {
619
+ readonly agree: "Stimmt überein";
620
+ readonly conflict: "Konflikt";
621
+ readonly new: "Neu";
622
+ readonly heuristicOnly: "Nur Heuristik";
623
+ readonly rejects: "Lehnt Heuristik ab";
624
+ readonly locked: "Gesperrt";
625
+ };
626
+ readonly row: {
627
+ readonly acceptAria: "{noun}-Vorschlag für {target} übernehmen";
628
+ readonly keptEdited: "beibehalten – von Ihnen bearbeitet";
629
+ readonly rejectsCallout: "Die KI lehnt eine heuristische Entscheidung ab – vor dem Übernehmen bestätigen.";
630
+ readonly showTranslations: "Übersetzungen anzeigen";
631
+ readonly hideTranslations: "Übersetzungen ausblenden";
632
+ readonly confidenceAria: "Konfidenz {pct}%";
633
+ readonly noAi: "Kein KI-Vorschlag";
634
+ };
635
+ readonly value: {
636
+ readonly none: "Kein Wert";
637
+ readonly absent: "Keiner";
638
+ readonly dash: "—";
639
+ readonly display: "Anzeige";
640
+ readonly key: "Schlüssel";
641
+ readonly rank: "Rang {n}";
642
+ readonly span: "Breite {n}";
643
+ readonly tableCount: "{n} Tabellen";
644
+ readonly widgetCount: "{n} Widgets";
645
+ readonly enumWorkflow: "Workflow";
646
+ readonly enumCategory: "Kategorie";
647
+ readonly notPii: "Keine PII";
648
+ readonly label: "Bezeichnung";
649
+ readonly description: "Beschreibung";
650
+ readonly subtitle: "Seitenuntertitel";
651
+ readonly headline: "Überschrift für leeren Zustand";
652
+ readonly guidance: "Hinweis für leeren Zustand";
653
+ };
654
+ readonly apply: {
655
+ readonly title: "{n} Vorschläge übernehmen";
656
+ readonly subtitle: "Diese Änderungen werden in einer Transaktion geschrieben und können rückgängig gemacht werden.";
657
+ readonly empty: "Nichts zum Übernehmen ausgewählt.";
658
+ readonly confirm: "Änderungen übernehmen";
659
+ };
660
+ readonly footer: {
661
+ readonly count: "{n} Vorschläge ausgewählt";
662
+ readonly apply: "{n} übernommene Vorschläge anwenden";
663
+ readonly failed: "Anwenden fehlgeschlagen";
664
+ };
665
+ readonly toast: {
666
+ readonly applied: "{n} Vorschläge übernommen";
667
+ readonly appliedPartial: "{n} Vorschläge übernommen (einige übersprungen)";
668
+ readonly applyFailed: "Vorschläge konnten nicht übernommen werden";
669
+ readonly undoFailed: "Diese Änderung konnte nicht rückgängig gemacht werden";
670
+ };
671
+ readonly error: {
672
+ readonly title: "Dieser Lauf konnte nicht geladen werden";
673
+ };
674
+ readonly notReady: {
675
+ readonly title: "Dieser Lauf hat noch keine Vorschläge zur Prüfung";
676
+ 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.";
677
+ };
678
+ readonly applied: {
679
+ readonly title: "Dieser Lauf wurde angewendet";
680
+ readonly body: "Die übernommenen Vorschläge unten sind schreibgeschützt.";
681
+ };
682
+ readonly empty: {
683
+ readonly title: "Keine Vorschläge";
684
+ readonly body: "Dieser Lauf hat keine Vorschläge zur Prüfung erzeugt.";
685
+ };
686
+ readonly cat: {
687
+ readonly label: "Bezeichnung";
688
+ readonly key: "Schlüsselspalten";
689
+ readonly enum: "Enum";
690
+ readonly relation: "Beziehung";
691
+ readonly pii: "PII";
692
+ readonly template: "Seitenvorlage";
693
+ readonly group: "Navigationsgruppe";
694
+ readonly dashboard: "Dashboard";
695
+ readonly widget: "Widget";
696
+ readonly copy: "Mikrotext";
697
+ };
698
+ };
699
+ };
700
+ readonly wizard: {
701
+ readonly title: "Neue Verbindung";
702
+ readonly back: "Zurück";
703
+ readonly continue: "Weiter";
704
+ readonly progress: "Einrichtungsfortschritt";
705
+ readonly persistFailed: "Ihre Tabellenauswahl konnte nicht gespeichert werden — versuchen Sie es erneut.";
706
+ readonly persistFailedTitle: "Speichern fehlgeschlagen";
707
+ readonly bridgeAppliedTitle: "Verbindungszeichenfolge empfangen";
708
+ 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.";
709
+ readonly bridgeFailedTitle: "Diese Übergabe konnte nicht verwendet werden";
710
+ readonly bridgeFailedBody: "Sie wurde bereits verwendet oder ist abgelaufen. Fügen Sie Ihre Verbindungszeichenfolge stattdessen unten ein.";
711
+ readonly step: {
712
+ readonly source: "Quelle";
713
+ readonly test: "Analysieren";
714
+ readonly tables: "Tabellen";
715
+ readonly meta: "Meta-Speicher";
716
+ readonly intent: "Zweck";
717
+ readonly enrich: "Anreichern";
718
+ readonly generate: "Generieren";
719
+ };
720
+ };
721
+ readonly meta: {
722
+ readonly title: "Wo soll Adminium seine eigenen Tabellen ablegen?";
723
+ readonly subtitle: "Seiten, Rollen, Audit-Log und Einstellungen liegen in Tabellen mit adminium_-Präfix — nie mit Ihren Daten vermischt.";
724
+ readonly sameDb: {
725
+ readonly title: "Gleiche Datenbank";
726
+ readonly description: "adminium_*-Tabellen werden neben Ihren Quelltabellen angelegt. Einfachste Einrichtung — benötigt eine Rolle mit Schreib- und CREATE-TABLE-Rechten.";
727
+ readonly disabledReadOnly: "Ihre Rolle ist schreibgeschützt — Adminium schreibt nie in diese Datenbank. Wählen Sie für Adminiums eigene Tabellen eine separate Datenbank.";
728
+ 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.";
729
+ readonly disabledFile: "Eine Schemadatei hat keine Live-Datenbank — wählen Sie für Adminiums eigene Tabellen eine separate Datenbank.";
730
+ };
731
+ readonly separate: {
732
+ readonly title: "Separate Datenbank";
733
+ readonly description: "Adminium hält seine Tabellen in einer anderen Datenbank. Ihre Quelle bleibt unangetastet — erforderlich für schreibgeschützte Quellen.";
734
+ readonly dsn: "Verbindungszeichenfolge der Meta-Datenbank";
735
+ readonly helper: "Benötigt Schreib- und DDL-Rechte — Adminium führt dort seine eigenen Migrationen aus.";
736
+ readonly test: "Verbindung testen";
737
+ readonly ok: "Kompatibel — Schreiben ✓ · DDL ✓";
738
+ readonly insufficient: "Diese Rolle kann den Meta-Store nicht aufnehmen — Adminium benötigt dort Schreib- und CREATE-TABLE-Rechte.";
739
+ readonly errorTitle: "Meta-Store nicht kompatibel";
740
+ };
741
+ readonly testFailed: "Verbindung fehlgeschlagen.";
742
+ readonly v1Note: {
743
+ readonly title: "Über diese Installation";
744
+ 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).";
745
+ };
746
+ readonly move: {
747
+ readonly title: "Adminiums Tabellen werden verschoben";
748
+ readonly copying: "Adminiums Tabellen werden verschoben …";
749
+ readonly restarting: "Neustart …";
750
+ 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.";
751
+ readonly restartingBody: "Die Kopie ist fertig. Adminium startet auf der neuen Datenbank neu — diese Seite fährt in wenigen Sekunden von selbst fort.";
752
+ readonly failed: "Adminiums Tabellen konnten nicht verschoben werden — erneut versuchen.";
753
+ 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.";
754
+ };
755
+ readonly willMove: {
756
+ readonly title: "Dies verschiebt Adminiums Tabellen";
757
+ 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.";
758
+ };
759
+ };
760
+ readonly intent: {
761
+ readonly title: "Was brauchen Sie?";
762
+ 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.";
763
+ readonly trust: "Wir lesen nur Ihr Schema — während der Einrichtung nie Ihre Zeilendaten.";
764
+ readonly fullAdmin: {
765
+ readonly title: "Vollständiges Admin-Panel";
766
+ readonly description: "Dashboards, CRUD-Seiten, Suche, Importe und Exporte — alles, was Ihr Schema unterstützt.";
767
+ };
768
+ readonly analytics: {
769
+ readonly title: "Schreibgeschützte Analysen";
770
+ readonly description: "Dashboards, Diagramme und schreibgeschützte Tabellen. Keine Formulare, keine Schreibvorgänge — jede Rolle auf Betrachter begrenzt.";
771
+ };
772
+ readonly crud: {
773
+ readonly title: "CRUD-Tabellen";
774
+ readonly description: "Eine Bearbeitungsseite pro Tabelle plus Suche und Import/Export — ein minimales Zuhause, keine Dashboards.";
775
+ };
776
+ readonly support: {
777
+ readonly title: "Support-Konsole";
778
+ 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.)";
779
+ };
780
+ };
781
+ readonly generate: {
782
+ readonly title: "Generieren Sie Ihre App";
783
+ readonly subtitle: "Eine Seite pro einbezogener Tabelle plus Dashboards je Domäne — Zweck:";
784
+ readonly run: "Dashboard generieren";
785
+ readonly openApp: "App öffnen";
786
+ readonly logLabel: "Generierungsprotokoll";
787
+ readonly log: {
788
+ readonly classifying: "Schema wird klassifiziert…";
789
+ readonly composing: "Vorlagen werden zusammengestellt…";
790
+ readonly writing: "Seiten werden geschrieben…";
791
+ readonly done: "{pages} Seiten in {groups} Navigationsgruppen generiert";
792
+ };
793
+ readonly successTitle: "Ihr Dashboard ist bereit";
794
+ readonly successBody: "{pages} Seiten in {groups} Navigationsgruppen — aus Ihrem Schema generiert, im Studio bearbeitbar.";
795
+ readonly errorTitle: "Generierung fehlgeschlagen";
796
+ readonly failed: "Generierung fehlgeschlagen — versuchen Sie es erneut oder führen Sie zuerst die Introspektion erneut aus.";
797
+ readonly fileTitle: "Schemadatei geparst — die Generierung benötigt eine Live-Datenbank";
798
+ 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.";
799
+ };
800
+ readonly remap: {
801
+ readonly column: {
802
+ readonly nullable: "NULL erlaubt";
803
+ readonly labelOverride: "Anzeigebezeichnung";
804
+ readonly labelHelper: "Abgeleitet: {name}";
805
+ readonly logicalType: "Logischer Typ";
806
+ readonly logicalTypeHelper: "Abgeleitet: {type} (aus {dbType}) — vom Adapter zugeordnet; in v1 nicht überschreibbar.";
807
+ readonly semantic: "Semantischer Typ";
808
+ readonly unclassified: "Noch nicht klassifiziert.";
809
+ readonly semanticHelper: "Klassifizierer: {tag} · {confidence}% Konfidenz · Quelle: {source}";
810
+ readonly semanticInferred: "abgeleitet: {tag}";
811
+ readonly currency: "Währung";
812
+ readonly currencyHelper: "ISO-4217-Code für die Formatierung von Geldbeträgen.";
813
+ readonly pii: "Standardmäßig maskieren";
814
+ readonly piiHelper: "Maskierte Werte werden geschwärzt dargestellt; das Aufheben der Maskierung erfordert die Berechtigung data.unmask_pii und wird im Audit-Log protokolliert.";
815
+ readonly enum: "Enum-Semantik";
816
+ readonly enumKind: "Enum-Art";
817
+ readonly enumWorkflow: "Workflow";
818
+ readonly enumCategory: "Kategorie";
819
+ readonly enumLabelFor: "Bezeichnung für {value}";
820
+ readonly enumToneFor: "Farbton für {value}";
821
+ readonly enumToneAuto: "automatisch";
822
+ readonly enumHelper: "Workflow-Enums steuern Status-Pills und Board-Spalten; Farbtöne ordnen Werte der semantischen Farbtonskala zu.";
823
+ };
824
+ readonly diff: {
825
+ readonly one: "1 Änderung";
826
+ readonly count: "{count} Änderungen";
827
+ readonly saved: "Überschreibungen gespeichert.";
828
+ readonly revertOne: "{change} verwerfen";
829
+ readonly regenerate: "Seiten neu generieren";
830
+ readonly revertAll: "Alle verwerfen";
831
+ readonly save: "Überschreibungen speichern";
832
+ };
833
+ readonly table: {
834
+ readonly iconPicker: "Tabellensymbol";
835
+ readonly system: "System";
836
+ readonly labelOverride: "Anzeigebezeichnung";
837
+ readonly labelHelper: "Abgeleitet: {name}";
838
+ readonly icon: "Symbol";
839
+ readonly navGroup: "Navigationsgruppe";
840
+ readonly navGroupHelper: "Die Platzierung in der Navigation entscheidet der Generator — eine table.navGroup-Überschreibung ist nicht Teil des v1-Vokabulars.";
841
+ readonly include: "In die generierte App einbeziehen";
842
+ readonly includeHelper: "Ausgeschlossene Tabellen erhalten keine Seiten und verschwinden aus der Navigation.";
843
+ readonly shape: "Tabellenform (klassifiziert)";
844
+ readonly role: "Rolle";
845
+ readonly unclassified: "Nicht klassifiziert";
846
+ readonly kind: "Art";
847
+ readonly hierarchy: "Hierarchie";
848
+ readonly selfFk: "Selbstreferenz über {column}";
849
+ readonly polymorphic: "Polymorphe Paare";
850
+ readonly rows: "Geschätzte Zeilenzahl";
851
+ readonly shapeHelper: "Die Klassifikation wird bei jeder Introspektion neu berechnet; Überschreibungen liegen darüber und überstehen die Neugenerierung.";
852
+ };
853
+ readonly relations: {
854
+ readonly declared: "Deklarierte Fremdschlüssel";
855
+ readonly noneDeclared: "Keine deklarierten Fremdschlüssel berühren diese Tabelle.";
856
+ readonly inferred: "Abgeleitete Beziehungen";
857
+ readonly noneInferred: "Für diese Tabelle wurde nichts abgeleitet.";
858
+ readonly confidence: "abgeleitet · {pct}%";
859
+ readonly accepted: "Übernommen";
860
+ readonly suppressed: "Unterdrückt";
861
+ readonly accept: "Übernehmen";
862
+ readonly suppress: "Unterdrücken";
863
+ readonly overrides: "Beziehungs-Überschreibungen (angewendet)";
864
+ readonly overrideBadge: "Überschreibung";
865
+ readonly add: "Virtuelle Beziehung hinzufügen";
866
+ readonly fromColumn: "Quellspalte";
867
+ readonly noColumns: "Keine passende Spalte";
868
+ readonly fromPlaceholder: "customer_id";
869
+ readonly toTable: "Zieltabelle";
870
+ readonly noTables: "Keine passende Tabelle";
871
+ readonly toColumn: "Zielspalte";
872
+ readonly cardinality: "Kardinalität";
873
+ readonly addButton: "Beziehung hinzufügen";
874
+ };
875
+ readonly toast: {
876
+ readonly saved: "Schema-Überschreibungen gespeichert";
877
+ readonly savedDetail: "Das angewendete Schema unten spiegelt Ihre Änderungen wider.";
878
+ readonly regenerated: "{created} erstellt · {updated} aktualisiert · {unchanged} unverändert";
879
+ readonly regeneratedDetail: "Von Hand bearbeitete Seiten bleiben erhalten — nur Seiten mit unangetastetem generated_hash wurden an Ort und Stelle neu generiert.";
880
+ readonly regenerateFailed: "Neugenerierung fehlgeschlagen";
881
+ };
882
+ readonly title: "Schema neu zuordnen";
883
+ readonly subtitle: "{tables} Tabellen · {applied} Überschreibungen angewendet";
884
+ readonly saveFailed: "Speichern fehlgeschlagen: {message}";
885
+ readonly loadFailed: "Das Schema für diese Verbindung konnte nicht geladen werden.";
886
+ readonly inspector: "Inspektor";
887
+ readonly empty: {
888
+ readonly title: "Wählen Sie eine Tabelle oder Spalte";
889
+ readonly description: "Wählen Sie etwas im Schemabaum aus, um Bezeichnung, Typ, Beziehungen oder Maskierung neu zuzuordnen.";
890
+ };
891
+ readonly tabs: {
892
+ readonly details: "Details";
893
+ readonly relations: "Beziehungen";
894
+ };
895
+ readonly tree: {
896
+ readonly label: "Schema";
897
+ readonly search: "Tabellen und Spalten durchsuchen";
898
+ readonly searchPlaceholder: "Tabellen durchsuchen…";
899
+ readonly noMatches: "Keine Tabellen entsprechen Ihrer Suche.";
900
+ readonly collapse: "Tabelle einklappen";
901
+ readonly expand: "Tabelle ausklappen";
902
+ readonly unsaved: "Ungespeicherte Änderung";
903
+ readonly excluded: "Ausgeschlossen";
904
+ };
905
+ readonly badge: {
906
+ readonly pk: "PK";
907
+ readonly fk: "FK";
908
+ readonly unique: "UNIQUE";
909
+ readonly pii: "PII";
910
+ readonly masked: "Maskiert";
911
+ };
912
+ readonly unavailableTitle: "Editor zum Neuzuordnen des Schemas nicht verfügbar";
913
+ readonly unavailableBody: "Dieser Build enthält den Editor zum Neuzuordnen noch nicht (09-T12). Führen Sie die Generierung erneut aus, sobald er da ist, um Bezeichnungen, Typen und Beziehungen neu zuzuordnen.";
914
+ };
915
+ readonly publicApi: {
916
+ readonly error: "Something went wrong";
917
+ readonly scopes: {
918
+ readonly deleteTitle: "Delete this scope";
919
+ readonly deleteBody: "Any page using a key bound to this scope stops loading data. Keys are not deleted — revoke them first if that is what you meant.";
920
+ readonly deletePrompt: "Type the scope name to confirm";
921
+ readonly deleteConfirm: "Delete scope";
922
+ readonly issuesTitle: "This scope did not compile";
923
+ readonly title: "Scopes";
924
+ readonly subtitle: "A scope is the whole of what a key may reach — the tables, the exact columns, and a filter the caller can narrow but never remove.";
925
+ readonly emptyTitle: "No scopes yet";
926
+ readonly emptyBody: "Create one below. It is checked against your live schema before it is saved.";
927
+ readonly keyCount: "{count, plural, =0 {no keys} one {# key} other {# keys}}";
928
+ readonly delete: "Delete";
929
+ readonly nameLabel: "Name";
930
+ readonly connectionLabel: "Connection ID";
931
+ readonly documentLabel: "Scope document";
932
+ readonly documentHint: "Compiled against your schema when you save. Every column a caller can reach is listed here and nowhere else.";
933
+ readonly create: "Create scope";
934
+ readonly formLabel: "Create a scope";
935
+ };
936
+ readonly cancel: "Cancel";
937
+ readonly close: "Close";
938
+ readonly title: "Public API";
939
+ readonly subtitle: "Let your own customer- or staff-facing pages read this database, through a scope you define.";
940
+ readonly notRegistered: {
941
+ readonly title: "Not enabled on this server";
942
+ readonly body: "Set ADMINIUM_PUBLIC_API_ORIGINS to the exact origins allowed to call it, then restart. Until then these routes are not served at all.";
943
+ };
944
+ readonly toggle: {
945
+ readonly label: "Serve the public API";
946
+ readonly hint: "Turning this off stops every public request immediately. Nothing is deleted — keys, scopes and data all survive.";
947
+ };
948
+ readonly origins: {
949
+ readonly label: "Origins allowed to call it";
950
+ };
951
+ readonly keys: {
952
+ readonly title: "Keys";
953
+ readonly subtitle: "These go in your page’s JavaScript, so anyone can read them. That is expected — a key can only ever do what its scope allows.";
954
+ readonly emptyTitle: "No keys yet";
955
+ readonly emptyBody: "Create a scope first, then mint a key for it.";
956
+ readonly reveal: "Show key";
957
+ readonly rotate: "Rotate";
958
+ readonly revoke: "Revoke";
959
+ readonly nameLabel: "Name";
960
+ readonly scopeLabel: "Scope";
961
+ readonly scopePlaceholder: "Choose a scope";
962
+ readonly create: "Create key";
963
+ readonly formLabel: "Create a key";
964
+ readonly scopeIsAuthTitle: "The scope is the only permission";
965
+ readonly scopeIsAuthBody: "A key can reach exactly what its scope lists and nothing else. It does not use roles or table permissions, and it cannot read anything through the rest of the API.";
966
+ readonly appLabel: "An eine gehostete App-Oberfläche binden (optional)";
967
+ readonly appHint: "Die Kunden-Oberfläche der App liefert diesen Schlüssel dann selbst aus — eine Rotation braucht keinen Rebuild.";
968
+ readonly appNone: "Nicht gebunden";
969
+ };
970
+ readonly status: {
971
+ readonly heading: "Status";
972
+ };
973
+ };
974
+ readonly hostedApps: {
975
+ readonly title: "Gehostete Apps";
976
+ readonly subtitle: "Die App-Oberflächen, die diese Instanz ausliefert — wo jede erscheint und welche Domains auf sie zeigen.";
977
+ readonly error: "Etwas ist schiefgelaufen";
978
+ readonly emptyTitle: "Es werden keine App-Oberflächen ausgeliefert";
979
+ readonly emptyBody: "Setzen Sie ADMINIUM_SURFACES_DIR auf ein Verzeichnis gebauter Oberflächen — ein Ordner je App und Seite, jeweils mit index.html — und starten Sie neu. Sie werden dann unter /apps/ ausgeliefert und erscheinen hier.";
980
+ readonly surfaces: {
981
+ readonly title: "Oberflächen";
982
+ readonly subtitle: "Eine Mitarbeiter-Oberfläche kann sich in die Seitenleiste dieses Dashboards einfügen oder für sich stehen; eine Kunden-Oberfläche ist öffentlich und liest über ihren gebundenen Schlüssel.";
983
+ readonly staff: "Mitarbeiter";
984
+ readonly customer: "Kunden";
985
+ readonly noNav: "Interne Platzierung nicht verfügbar — bauen Sie diese Oberfläche mit dem aktuellen Toolkit neu, damit sie surface.json ausgibt.";
986
+ readonly noKey: "Kein Schlüssel gebunden — diese Oberfläche kann keine Daten lesen, bis einer für sie erstellt wird.";
987
+ readonly mintLink: "Unter „Öffentliche API“ erstellen";
988
+ readonly boundKey: "Liefert Schlüssel";
989
+ readonly placementLabel: "Platzierung";
990
+ readonly placementInternal: "In der Seitenleiste (eingebettet)";
991
+ readonly placementExternal: "Extern (nur eigene URL)";
992
+ readonly connectionLabel: "Liest";
993
+ readonly connectionUnset: "Was gerade bedient";
994
+ };
995
+ readonly domains: {
996
+ readonly title: "Domains";
997
+ readonly subtitle: "Richten Sie das DNS einer Domain auf Ihren Proxy, reichen Sie den Host-Header an Adminium durch und hängen Sie sie hier an — dieser Host liefert dann die Oberfläche statt dieses Dashboards. Zertifikate bleiben auf Ihrem Proxy.";
998
+ readonly issuesTitle: "Die Domain-Zuordnung wurde abgelehnt";
999
+ readonly savedTitle: "Gespeichert";
1000
+ readonly savedBody: "Zuordnungen greifen innerhalb weniger Sekunden. Ein Host antwortet erst, wenn sein DNS und Ihr Proxy diese Instanz tatsächlich erreichen.";
1001
+ readonly none: "Keine Domains angehängt.";
1002
+ readonly hostLabel: "Host";
1003
+ readonly surfaceLabel: "Oberfläche";
1004
+ readonly remove: "Entfernen";
1005
+ readonly add: "Domain anhängen";
1006
+ readonly save: "Domains speichern";
1007
+ readonly instanceLabel: "Instanz";
1008
+ readonly instanceOwn: "Die App selbst";
1009
+ };
1010
+ readonly instances: {
1011
+ readonly title: "Instanzen";
1012
+ readonly body: "Dieselbe App über mehrere Datenbanken bereitstellen. Jede Instanz ist unter /apps/<app>/<segment>/<seite>/ erreichbar und liest nur die Verbindung, die Sie ihr geben.";
1013
+ readonly appLabel: "App";
1014
+ readonly slugLabel: "URL-Segment";
1015
+ readonly readsLabel: "Liest";
1016
+ readonly add: "Instanz hinzufügen";
1017
+ readonly save: "Instanzen speichern";
1018
+ readonly remove: "Entfernen";
1019
+ readonly empty: "Keine weiteren Instanzen.";
1020
+ readonly failed: "Instanzen wurden nicht gespeichert";
1021
+ };
1022
+ };
1023
+ readonly addOns: {
1024
+ readonly plan: {
1025
+ readonly blocked: "Das kann hier nicht installiert werden";
1026
+ readonly needsColumns: "Dieses Add-on benötigt Spalten, die Sie nicht haben";
1027
+ readonly needsColumnsBody: "Adminium fügt Tabellen, die Ihnen bereits gehören, keine Spalten hinzu. Legen Sie sie selbst an, dann installieren Sie.";
1028
+ readonly willCreate: "Dadurch werden Tabellen in Ihrer Datenbank angelegt";
1029
+ readonly willCreateBody: "Bei der Installation werden diese Tabellen angelegt. Eine spätere Deinstallation lässt sie und ihre Daten unberührt.";
1030
+ readonly noData: "Dieses Add-on liest und schreibt keine eigenen Tabellen.";
1031
+ readonly reuse: "Dieses Add-on verwendet Tabellen, die Sie bereits haben:";
1032
+ };
1033
+ readonly consent: {
1034
+ readonly title: "{name} installieren";
1035
+ readonly subtitle: "Was dieses Add-on tun wird, bevor es das tun kann.";
1036
+ readonly close: "Schließen";
1037
+ readonly loading: "Wird ermittelt, was das bewirken würde …";
1038
+ readonly hosts: "Verbinden mit";
1039
+ readonly cancel: "Abbrechen";
1040
+ readonly confirm: "Installieren";
1041
+ };
1042
+ readonly connect: {
1043
+ readonly apiKey: "API-Schlüssel";
1044
+ readonly submit: "Verbinden";
1045
+ };
1046
+ readonly title: "Add-ons";
1047
+ readonly subtitle: "Zusätzliche Funktionen für Ihre Apps – Versand, Grafik, Daten. Jedes sagt vor der Installation, was es benötigt.";
1048
+ readonly error: "Etwas ist schiefgelaufen";
1049
+ readonly browse: {
1050
+ readonly title: "Verfügbar";
1051
+ readonly online: "Enthält Add-ons aus dem Online-Katalog. Die Suche nach neueren Versionen ist eine eigene Aktion.";
1052
+ readonly offline: "Zeigt die mit dieser Version gelieferten Add-ons. Das Online-Stöbern ist ausgeschaltet, und nichts hier hat das Internet kontaktiert.";
1053
+ readonly refresh: "Nach Neuerem suchen";
1054
+ readonly emptyTitle: "Keine Add-ons verfügbar";
1055
+ readonly emptyBody: "Diese Version enthält keine, und der Online-Katalog ist aus.";
1056
+ readonly bundled: "Enthalten";
1057
+ readonly upgrade: "v{version} verfügbar";
1058
+ readonly download: "Herunterladen";
1059
+ readonly install: "Installieren";
1060
+ readonly discard: "Verwerfen";
1061
+ readonly upgradeAction: "Aktualisieren";
1062
+ readonly toggle: "Online-Katalog durchsuchen";
1063
+ };
1064
+ readonly installed: {
1065
+ readonly title: "Installiert";
1066
+ readonly emptyTitle: "Noch nichts installiert";
1067
+ readonly emptyBody: "Installieren Sie oben ein Add-on, dann erscheint es hier mit seinen Hosts und seiner Verbindung.";
1068
+ readonly connected: "Verbunden";
1069
+ readonly notConnected: "Nicht verbunden";
1070
+ readonly egress: "Darf kontaktieren: {hosts}";
1071
+ readonly on: "an";
1072
+ readonly off: "aus";
1073
+ readonly disconnect: "Trennen";
1074
+ readonly uninstall: "Deinstallieren";
1075
+ };
1076
+ readonly confirm: {
1077
+ readonly close: "Schließen";
1078
+ readonly disconnectTitle: "Dieses Add-on trennen";
1079
+ readonly uninstallTitle: "Dieses Add-on deinstallieren";
1080
+ readonly discardTitle: "Diesen Download verwerfen";
1081
+ readonly disconnectBody: "Seine Schlüssel werden gelöscht und es stellt seine Aufrufe ein. Jede Tabelle und jede Zeile, die es angelegt hat, bleibt unverändert, und Sie können es jederzeit wieder verbinden.";
1082
+ readonly uninstallBody: "Seine Schlüssel werden gelöscht und seine Dateien von diesem Server entfernt. Jede Tabelle und jede Zeile, die es angelegt hat, bleibt unverändert. Sie können es später erneut installieren.";
1083
+ readonly discardBody: "Die heruntergeladenen Dateien werden gelöscht. Es wurde nichts installiert, also ändert sich sonst nichts – Sie können es jederzeit erneut herunterladen.";
1084
+ readonly cancel: "Abbrechen";
1085
+ readonly disconnect: "Trennen";
1086
+ readonly uninstall: "Deinstallieren";
1087
+ readonly discard: "Verwerfen";
1088
+ };
1089
+ readonly upgradeNote: "Beim Aktualisieren bleiben die Hosts, mit denen ein Add-on verbunden ist, und die bestehende Verbindung erhalten.";
1090
+ readonly job: {
1091
+ readonly title: "Wird heruntergeladen";
1092
+ readonly body: "Wird geladen und geprüft. Installiert wird erst auf Ihr Wort.";
1093
+ readonly failed: "Der Download wurde nicht abgeschlossen. Es wurde nichts installiert.";
1094
+ };
1095
+ readonly veto: {
1096
+ readonly title: "Diese Installation kann nicht online suchen";
1097
+ readonly body: "Die Einstellung ist gespeichert, aber Netzwerkfunktionen sind für diesen Server aus, und das gilt. Geladene Add-ons laufen weiter, und Sie können eins hochladen.";
1098
+ };
1099
+ readonly sideload: {
1100
+ readonly title: "Paket hochladen";
1101
+ readonly hint: "Für einen Server ohne Internet. Wird genau wie ein Download geprüft und braucht daher den mitgelieferten Hash.";
1102
+ readonly file: "Paketdatei (.tgz)";
1103
+ readonly key: "Add-on-Schlüssel";
1104
+ readonly version: "Version";
1105
+ readonly sha: "Integrität (sha512-…)";
1106
+ readonly shaHint: "Der von `npm pack --json` ausgegebene `integrity`-Wert. Passen die Bytes nicht, wird abgelehnt.";
1107
+ readonly submit: "Hochladen";
1108
+ };
1109
+ };
1110
+ readonly pages: {
1111
+ readonly title: "Seiten";
1112
+ readonly subtitle: "Seiten Ihrer App hinzufügen, bearbeiten und ordnen – samt ihrer Reihenfolge in der Seitenleiste.";
1113
+ readonly createButton: "Neue Seite";
1114
+ readonly loadFailed: {
1115
+ readonly title: "Seiten konnten nicht geladen werden";
1116
+ 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.";
1117
+ };
1118
+ readonly tab: {
1119
+ readonly pages: "Alle Seiten";
1120
+ readonly sidebar: "Reihenfolge der Seitenleiste";
1121
+ };
1122
+ readonly list: {
1123
+ readonly title: "Seiten";
1124
+ readonly count: "{count, plural, one {# Seite} other {# Seiten}}";
1125
+ };
1126
+ readonly empty: {
1127
+ readonly title: "Noch keine Seiten";
1128
+ readonly body: "Verbinden Sie eine Datenbank, um Seiten automatisch zu erzeugen, oder legen Sie eine von Hand an.";
1129
+ };
1130
+ readonly status: {
1131
+ readonly live: "Aktiv";
1132
+ readonly hidden: "Ausgeblendet";
1133
+ };
1134
+ readonly origin: {
1135
+ readonly generated: "Erzeugt";
1136
+ readonly manifest: "Add-on";
1137
+ readonly llm: "Assistent";
1138
+ readonly system: "System";
1139
+ readonly user: "Eigene";
1140
+ };
1141
+ readonly row: {
1142
+ readonly menu: "Aktionen für {title}";
1143
+ };
1144
+ readonly action: {
1145
+ readonly edit: "Seite bearbeiten";
1146
+ readonly duplicate: "Duplizieren";
1147
+ readonly hide: "In der Seitenleiste ausblenden";
1148
+ readonly show: "In der Seitenleiste anzeigen";
1149
+ readonly delete: "Seite löschen";
1150
+ };
1151
+ readonly create: {
1152
+ readonly title: "Neue Seite";
1153
+ readonly failed: "Die Seite konnte nicht erstellt werden";
1154
+ readonly submit: "Seite erstellen";
1155
+ readonly subtitle: "Legen Sie fest, was diese Seite zeigt und wie sie aussieht. Die Vorschau folgt Ihrer Auswahl.";
1156
+ };
1157
+ readonly duplicate: {
1158
+ readonly title: "Seite duplizieren";
1159
+ readonly failed: "Die Seite konnte nicht dupliziert werden";
1160
+ readonly submit: "Duplizieren";
1161
+ };
1162
+ readonly delete: {
1163
+ readonly title: "Diese Seite löschen?";
1164
+ 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.";
1165
+ 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.";
1166
+ readonly prompt: "Geben Sie zur Bestätigung {slug} ein";
1167
+ readonly confirm: "Seite löschen";
1168
+ };
1169
+ readonly field: {
1170
+ readonly title: "Titel";
1171
+ readonly titleHint: "Wird in der Seitenleiste und in der Kopfzeile der Seite angezeigt.";
1172
+ readonly slug: "Seitenadresse";
1173
+ readonly slugHint: "Kleinbuchstaben, Ziffern und Bindestriche. Nur der letzte Teil – den Rest der Adresse ergänzen wir.";
1174
+ readonly slugTaken: "Diese Adresse wird bereits von einer anderen Seite verwendet.";
1175
+ readonly slugWarning: "Eine geänderte Adresse macht bestehende Links und Lesezeichen zu dieser Seite ungültig.";
1176
+ readonly template: "Vorlage";
1177
+ readonly templateHint: "Bestimmt, was die Seite enthalten kann. Später änderbar.";
1178
+ readonly group: "Gruppe der Seitenleiste";
1179
+ readonly groupHint: "In welchem Abschnitt der Seitenleiste sie erscheint.";
1180
+ readonly icon: "Symbol";
1181
+ readonly iconHint: "Wird neben dem Seitennamen in der Seitenleiste angezeigt.";
1182
+ readonly visible: "In der Seitenleiste anzeigen";
1183
+ readonly visibleHint: "Eine ausgeblendete Seite bleibt über ihre URL erreichbar, wenn man den Link kennt.";
1184
+ readonly table: "Tabelle";
1185
+ 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.";
1186
+ readonly tableNone: "Nicht verknüpft";
1187
+ readonly tableNeedsConnection: "Wählen Sie zuerst eine Datenquelle.";
1188
+ readonly connection: "Datenquelle";
1189
+ readonly connectionNone: "Keine";
1190
+ readonly iconPick: "Seitensymbol auswählen";
1191
+ readonly padding: "Seitenabstand";
1192
+ readonly width: "Inhaltsbreite";
1193
+ readonly widthHint: "Wie breit die Inhaltsspalte der Seite auf einem großen Bildschirm werden darf.";
1194
+ };
1195
+ readonly editor: {
1196
+ readonly title: "Seite bearbeiten";
1197
+ readonly save: "Änderungen speichern";
1198
+ readonly saveFailed: "Änderungen konnten nicht gespeichert werden";
1199
+ readonly openPage: "Seite öffnen";
1200
+ readonly generated: {
1201
+ readonly title: "Diese Seite wurde aus Ihrem Schema erzeugt";
1202
+ 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.";
1203
+ };
1204
+ readonly contentUnavailable: "Seiteninhalt konnte nicht geladen werden";
1205
+ readonly contentUnavailableBody: "Die Angaben oben lassen sich trotzdem speichern.";
1206
+ readonly contentInvalid: "Die Konfiguration dieser Seite ist nicht lesbar";
1207
+ readonly contentInvalidBody: "Sie stammt aus einer neueren Version oder ist fehlerhaft. Erzeugen Sie die Seite neu oder löschen Sie sie.";
1208
+ readonly data: "Daten";
1209
+ readonly schemaFailed: "Tabellen konnten nicht aufgelistet werden";
1210
+ readonly schemaFailedBody: "Diese Verbindung wurde möglicherweise noch nicht analysiert. Starten Sie die Introspektion unter Studio → Datenverbindungen.";
1211
+ readonly notBindable: "Diese Vorlage ist nicht an eine einzelne Tabelle gebunden";
1212
+ readonly notBindableBody: "Ihr Inhalt wird stattdessen Widget für Widget aufgebaut. Öffnen Sie die Seite und fügen Sie sie über „Bearbeiten“ hinzu.";
1213
+ readonly recompose: "Diese Seite wird neu aufgebaut";
1214
+ 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.";
1215
+ readonly missing: "Diese Seite existiert nicht mehr";
1216
+ readonly missingBody: "Sie wurde möglicherweise gelöscht oder von einem Generierungslauf entfernt.";
1217
+ readonly details: "Details";
1218
+ readonly itemsPending: "Speichern Sie zuerst die Änderung oben – der Seiteninhalt wird aus der neuen Vorlage und Tabelle neu aufgebaut.";
1219
+ readonly columns: "Spalten";
1220
+ readonly appearance: "Darstellung";
1221
+ };
1222
+ readonly sidebar: {
1223
+ readonly help: "Seiten innerhalb einer Gruppe umsortieren oder in eine andere Gruppe verschieben. Die Änderungen gelten für alle Benutzerinnen und Benutzer.";
1224
+ readonly discard: "Verwerfen";
1225
+ readonly save: "Reihenfolge speichern";
1226
+ readonly saveFailed: "Die neue Reihenfolge konnte nicht gespeichert werden";
1227
+ readonly emptyGroup: "Keine Seiten in dieser Gruppe.";
1228
+ readonly moveUp: "{title} nach oben verschieben";
1229
+ readonly moveDown: "{title} nach unten verschieben";
1230
+ readonly moveTo: "{title} in eine Gruppe verschieben";
1231
+ readonly ungrouped: {
1232
+ readonly title: "Einige Seiten gehören zu keiner Gruppe der Seitenleiste";
1233
+ readonly body: "Diese Seiten funktionieren unter ihrer URL, erscheinen aber nirgends in der Seitenleiste. Öffnen Sie jede einzeln und wählen Sie eine Gruppe.";
1234
+ };
1235
+ };
1236
+ readonly columns: {
1237
+ readonly help: "Spalten per Ziehen umsortieren, ihre Überschriften umbenennen und auswählen, welche in der Tabelle erscheinen.";
1238
+ readonly empty: "Noch keine Spalten — fügen Sie unten welche hinzu.";
1239
+ readonly pk: "Schlüssel";
1240
+ readonly pii: "PII";
1241
+ readonly header: "Überschrift für {name}";
1242
+ readonly shown: "Sichtbar";
1243
+ readonly toggle: "{name} in der Tabelle anzeigen";
1244
+ readonly dragHandle: "{name} verschieben";
1245
+ readonly remove: "{name} entfernen";
1246
+ readonly addOpen: "Spalte hinzufügen";
1247
+ readonly addTitle: "Spalte hinzufügen";
1248
+ readonly addSearch: "Spalten durchsuchen…";
1249
+ readonly addFromTable: "Aus {table}";
1250
+ readonly addFromLinked: "Aus verknüpften Tabellen";
1251
+ readonly addLinkedHelp: "Zeigt einen Wert aus der Tabelle, auf die eine Verknüpfungsspalte verweist.";
1252
+ readonly addVia: "über {column}";
1253
+ readonly addNoMatches: "Keine Spalten passen zu „{query}“.";
1254
+ readonly followColumn: "{name} folgen";
1255
+ readonly addLinkedFrom: "Tabellen, die hierher verweisen";
1256
+ readonly addLinkedFromHelp: "Fügt die Anzahl der Zeilen hinzu, die auf jeden Datensatz verweisen.";
1257
+ readonly countBadge: "Anzahl";
1258
+ readonly lookupBadge: "Verknüpft";
1259
+ readonly lookupBack: "Zurück";
1260
+ readonly lookupBrowse: "Wählen Sie, was aus {table} angezeigt wird";
1261
+ readonly lookupBroken: "Diese Verknüpfung lässt sich nicht mehr auflösen";
1262
+ readonly lookupBrokenBody: "Das Schema hat sich währenddessen geändert. Beginnen Sie die Verknüpfung erneut.";
1263
+ readonly schemaUnavailable: "Die Datenbankspalten konnten nicht geladen werden, daher lassen sich hier keine Spalten hinzufügen.";
1264
+ readonly none: {
1265
+ readonly title: "Diese Seite hat noch keine Spalten";
1266
+ 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.";
1267
+ };
1268
+ };
1269
+ readonly icon: {
1270
+ readonly none: "Symbol auswählen";
1271
+ readonly search: "Symbole suchen";
1272
+ readonly noMatches: "Keine Symbole passen zu dieser Suche.";
1273
+ };
1274
+ readonly preview: {
1275
+ readonly untitled: "Unbenannte Seite";
1276
+ readonly note: "Eine Darstellung des Layouts, nicht Ihrer Daten. Die echte Seite füllt sich nach dem Speichern.";
1277
+ };
1278
+ readonly padding: {
1279
+ readonly default: "Standard dieser Vorlage";
1280
+ readonly none: "Kein Abstand";
1281
+ readonly standard: "Standard (28 × 24)";
1282
+ readonly custom: "Benutzerdefiniert …";
1283
+ readonly x: "Seiten (px)";
1284
+ readonly y: "Oben und unten (px)";
1285
+ };
1286
+ readonly width: {
1287
+ readonly default: "Standard für diese Vorlage";
1288
+ readonly narrow: "Schmal (720 px)";
1289
+ readonly content: "Inhalt (900 px)";
1290
+ readonly page: "Seite (1080 px)";
1291
+ readonly dash: "Dashboard (1320 px)";
1292
+ readonly wide: "Breit (1800 px)";
1293
+ readonly full: "Volle Breite (kein Limit)";
1294
+ };
1295
+ };
16
1296
  };
17
1297
  export default _default;
18
1298
  //# sourceMappingURL=studio.d.ts.map