@adminiumjs/i18n 0.2.5 → 0.2.6

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 (430) 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 +545 -18
  4. package/dist/a11y-keys.js.map +1 -1
  5. package/dist/format/index.d.ts +15 -3
  6. package/dist/format/index.d.ts.map +1 -1
  7. package/dist/format/index.js +15 -4
  8. package/dist/format/index.js.map +1 -1
  9. package/dist/resources/ar-eg/automations.d.ts +417 -0
  10. package/dist/resources/ar-eg/automations.d.ts.map +1 -0
  11. package/dist/resources/ar-eg/automations.js +417 -0
  12. package/dist/resources/ar-eg/automations.js.map +1 -0
  13. package/dist/resources/ar-eg/common.d.ts +23 -91
  14. package/dist/resources/ar-eg/common.d.ts.map +1 -1
  15. package/dist/resources/ar-eg/common.js +25 -93
  16. package/dist/resources/ar-eg/common.js.map +1 -1
  17. package/dist/resources/ar-eg/dataio.d.ts +260 -0
  18. package/dist/resources/ar-eg/dataio.d.ts.map +1 -0
  19. package/dist/resources/ar-eg/dataio.js +260 -0
  20. package/dist/resources/ar-eg/dataio.js.map +1 -0
  21. package/dist/resources/ar-eg/email.d.ts +824 -0
  22. package/dist/resources/ar-eg/email.d.ts.map +1 -0
  23. package/dist/resources/ar-eg/email.js +824 -0
  24. package/dist/resources/ar-eg/email.js.map +1 -0
  25. package/dist/resources/ar-eg/files.d.ts +112 -0
  26. package/dist/resources/ar-eg/files.d.ts.map +1 -0
  27. package/dist/resources/ar-eg/files.js +112 -0
  28. package/dist/resources/ar-eg/files.js.map +1 -0
  29. package/dist/resources/ar-eg/invoices.d.ts +717 -0
  30. package/dist/resources/ar-eg/invoices.d.ts.map +1 -0
  31. package/dist/resources/ar-eg/invoices.js +717 -0
  32. package/dist/resources/ar-eg/invoices.js.map +1 -0
  33. package/dist/resources/ar-eg/onboarding.d.ts +190 -0
  34. package/dist/resources/ar-eg/onboarding.d.ts.map +1 -0
  35. package/dist/resources/ar-eg/onboarding.js +190 -0
  36. package/dist/resources/ar-eg/onboarding.js.map +1 -0
  37. package/dist/resources/ar-eg/reportBuilder.d.ts +415 -0
  38. package/dist/resources/ar-eg/reportBuilder.d.ts.map +1 -0
  39. package/dist/resources/ar-eg/reportBuilder.js +415 -0
  40. package/dist/resources/ar-eg/reportBuilder.js.map +1 -0
  41. package/dist/resources/ar-eg/studio.d.ts +1760 -1117
  42. package/dist/resources/ar-eg/studio.d.ts.map +1 -1
  43. package/dist/resources/ar-eg/studio.js +1782 -1139
  44. package/dist/resources/ar-eg/studio.js.map +1 -1
  45. package/dist/resources/ar-eg/ui.d.ts +45 -9
  46. package/dist/resources/ar-eg/ui.d.ts.map +1 -1
  47. package/dist/resources/ar-eg/ui.js +47 -11
  48. package/dist/resources/ar-eg/ui.js.map +1 -1
  49. package/dist/resources/cs-cz/automations.d.ts +417 -0
  50. package/dist/resources/cs-cz/automations.d.ts.map +1 -0
  51. package/dist/resources/cs-cz/automations.js +417 -0
  52. package/dist/resources/cs-cz/automations.js.map +1 -0
  53. package/dist/resources/cs-cz/common.d.ts +23 -91
  54. package/dist/resources/cs-cz/common.d.ts.map +1 -1
  55. package/dist/resources/cs-cz/common.js +25 -93
  56. package/dist/resources/cs-cz/common.js.map +1 -1
  57. package/dist/resources/cs-cz/dataio.d.ts +260 -0
  58. package/dist/resources/cs-cz/dataio.d.ts.map +1 -0
  59. package/dist/resources/cs-cz/dataio.js +260 -0
  60. package/dist/resources/cs-cz/dataio.js.map +1 -0
  61. package/dist/resources/cs-cz/email.d.ts +824 -0
  62. package/dist/resources/cs-cz/email.d.ts.map +1 -0
  63. package/dist/resources/cs-cz/email.js +824 -0
  64. package/dist/resources/cs-cz/email.js.map +1 -0
  65. package/dist/resources/cs-cz/files.d.ts +112 -0
  66. package/dist/resources/cs-cz/files.d.ts.map +1 -0
  67. package/dist/resources/cs-cz/files.js +112 -0
  68. package/dist/resources/cs-cz/files.js.map +1 -0
  69. package/dist/resources/cs-cz/invoices.d.ts +717 -0
  70. package/dist/resources/cs-cz/invoices.d.ts.map +1 -0
  71. package/dist/resources/cs-cz/invoices.js +717 -0
  72. package/dist/resources/cs-cz/invoices.js.map +1 -0
  73. package/dist/resources/cs-cz/onboarding.d.ts +190 -0
  74. package/dist/resources/cs-cz/onboarding.d.ts.map +1 -0
  75. package/dist/resources/cs-cz/onboarding.js +190 -0
  76. package/dist/resources/cs-cz/onboarding.js.map +1 -0
  77. package/dist/resources/cs-cz/reportBuilder.d.ts +415 -0
  78. package/dist/resources/cs-cz/reportBuilder.d.ts.map +1 -0
  79. package/dist/resources/cs-cz/reportBuilder.js +415 -0
  80. package/dist/resources/cs-cz/reportBuilder.js.map +1 -0
  81. package/dist/resources/cs-cz/studio.d.ts +1759 -1116
  82. package/dist/resources/cs-cz/studio.d.ts.map +1 -1
  83. package/dist/resources/cs-cz/studio.js +1774 -1131
  84. package/dist/resources/cs-cz/studio.js.map +1 -1
  85. package/dist/resources/cs-cz/ui.d.ts +45 -9
  86. package/dist/resources/cs-cz/ui.d.ts.map +1 -1
  87. package/dist/resources/cs-cz/ui.js +47 -11
  88. package/dist/resources/cs-cz/ui.js.map +1 -1
  89. package/dist/resources/da-dk/automations.d.ts +417 -0
  90. package/dist/resources/da-dk/automations.d.ts.map +1 -0
  91. package/dist/resources/da-dk/automations.js +417 -0
  92. package/dist/resources/da-dk/automations.js.map +1 -0
  93. package/dist/resources/da-dk/common.d.ts +23 -91
  94. package/dist/resources/da-dk/common.d.ts.map +1 -1
  95. package/dist/resources/da-dk/common.js +25 -93
  96. package/dist/resources/da-dk/common.js.map +1 -1
  97. package/dist/resources/da-dk/dataio.d.ts +260 -0
  98. package/dist/resources/da-dk/dataio.d.ts.map +1 -0
  99. package/dist/resources/da-dk/dataio.js +260 -0
  100. package/dist/resources/da-dk/dataio.js.map +1 -0
  101. package/dist/resources/da-dk/email.d.ts +824 -0
  102. package/dist/resources/da-dk/email.d.ts.map +1 -0
  103. package/dist/resources/da-dk/email.js +824 -0
  104. package/dist/resources/da-dk/email.js.map +1 -0
  105. package/dist/resources/da-dk/files.d.ts +112 -0
  106. package/dist/resources/da-dk/files.d.ts.map +1 -0
  107. package/dist/resources/da-dk/files.js +112 -0
  108. package/dist/resources/da-dk/files.js.map +1 -0
  109. package/dist/resources/da-dk/invoices.d.ts +717 -0
  110. package/dist/resources/da-dk/invoices.d.ts.map +1 -0
  111. package/dist/resources/da-dk/invoices.js +717 -0
  112. package/dist/resources/da-dk/invoices.js.map +1 -0
  113. package/dist/resources/da-dk/onboarding.d.ts +190 -0
  114. package/dist/resources/da-dk/onboarding.d.ts.map +1 -0
  115. package/dist/resources/da-dk/onboarding.js +190 -0
  116. package/dist/resources/da-dk/onboarding.js.map +1 -0
  117. package/dist/resources/da-dk/reportBuilder.d.ts +415 -0
  118. package/dist/resources/da-dk/reportBuilder.d.ts.map +1 -0
  119. package/dist/resources/da-dk/reportBuilder.js +415 -0
  120. package/dist/resources/da-dk/reportBuilder.js.map +1 -0
  121. package/dist/resources/da-dk/studio.d.ts +1760 -1117
  122. package/dist/resources/da-dk/studio.d.ts.map +1 -1
  123. package/dist/resources/da-dk/studio.js +1771 -1128
  124. package/dist/resources/da-dk/studio.js.map +1 -1
  125. package/dist/resources/da-dk/ui.d.ts +45 -9
  126. package/dist/resources/da-dk/ui.d.ts.map +1 -1
  127. package/dist/resources/da-dk/ui.js +47 -11
  128. package/dist/resources/da-dk/ui.js.map +1 -1
  129. package/dist/resources/de-de/automations.d.ts +417 -0
  130. package/dist/resources/de-de/automations.d.ts.map +1 -0
  131. package/dist/resources/de-de/automations.js +417 -0
  132. package/dist/resources/de-de/automations.js.map +1 -0
  133. package/dist/resources/de-de/common.d.ts +23 -91
  134. package/dist/resources/de-de/common.d.ts.map +1 -1
  135. package/dist/resources/de-de/common.js +25 -93
  136. package/dist/resources/de-de/common.js.map +1 -1
  137. package/dist/resources/de-de/dataio.d.ts +260 -0
  138. package/dist/resources/de-de/dataio.d.ts.map +1 -0
  139. package/dist/resources/de-de/dataio.js +260 -0
  140. package/dist/resources/de-de/dataio.js.map +1 -0
  141. package/dist/resources/de-de/email.d.ts +824 -0
  142. package/dist/resources/de-de/email.d.ts.map +1 -0
  143. package/dist/resources/de-de/email.js +824 -0
  144. package/dist/resources/de-de/email.js.map +1 -0
  145. package/dist/resources/de-de/files.d.ts +112 -0
  146. package/dist/resources/de-de/files.d.ts.map +1 -0
  147. package/dist/resources/de-de/files.js +112 -0
  148. package/dist/resources/de-de/files.js.map +1 -0
  149. package/dist/resources/de-de/invoices.d.ts +717 -0
  150. package/dist/resources/de-de/invoices.d.ts.map +1 -0
  151. package/dist/resources/de-de/invoices.js +717 -0
  152. package/dist/resources/de-de/invoices.js.map +1 -0
  153. package/dist/resources/de-de/onboarding.d.ts +190 -0
  154. package/dist/resources/de-de/onboarding.d.ts.map +1 -0
  155. package/dist/resources/de-de/onboarding.js +190 -0
  156. package/dist/resources/de-de/onboarding.js.map +1 -0
  157. package/dist/resources/de-de/reportBuilder.d.ts +415 -0
  158. package/dist/resources/de-de/reportBuilder.d.ts.map +1 -0
  159. package/dist/resources/de-de/reportBuilder.js +415 -0
  160. package/dist/resources/de-de/reportBuilder.js.map +1 -0
  161. package/dist/resources/de-de/studio.d.ts +1759 -1116
  162. package/dist/resources/de-de/studio.d.ts.map +1 -1
  163. package/dist/resources/de-de/studio.js +1770 -1127
  164. package/dist/resources/de-de/studio.js.map +1 -1
  165. package/dist/resources/de-de/ui.d.ts +45 -9
  166. package/dist/resources/de-de/ui.d.ts.map +1 -1
  167. package/dist/resources/de-de/ui.js +47 -11
  168. package/dist/resources/de-de/ui.js.map +1 -1
  169. package/dist/resources/en-us/automations.d.ts +417 -0
  170. package/dist/resources/en-us/automations.d.ts.map +1 -0
  171. package/dist/resources/en-us/automations.js +417 -0
  172. package/dist/resources/en-us/automations.js.map +1 -0
  173. package/dist/resources/en-us/common.d.ts +23 -91
  174. package/dist/resources/en-us/common.d.ts.map +1 -1
  175. package/dist/resources/en-us/common.js +25 -93
  176. package/dist/resources/en-us/common.js.map +1 -1
  177. package/dist/resources/en-us/dataio.d.ts +260 -0
  178. package/dist/resources/en-us/dataio.d.ts.map +1 -0
  179. package/dist/resources/en-us/dataio.js +260 -0
  180. package/dist/resources/en-us/dataio.js.map +1 -0
  181. package/dist/resources/en-us/email.d.ts +824 -0
  182. package/dist/resources/en-us/email.d.ts.map +1 -0
  183. package/dist/resources/en-us/email.js +824 -0
  184. package/dist/resources/en-us/email.js.map +1 -0
  185. package/dist/resources/en-us/files.d.ts +112 -0
  186. package/dist/resources/en-us/files.d.ts.map +1 -0
  187. package/dist/resources/en-us/files.js +112 -0
  188. package/dist/resources/en-us/files.js.map +1 -0
  189. package/dist/resources/en-us/invoices.d.ts +717 -0
  190. package/dist/resources/en-us/invoices.d.ts.map +1 -0
  191. package/dist/resources/en-us/invoices.js +717 -0
  192. package/dist/resources/en-us/invoices.js.map +1 -0
  193. package/dist/resources/en-us/onboarding.d.ts +190 -0
  194. package/dist/resources/en-us/onboarding.d.ts.map +1 -0
  195. package/dist/resources/en-us/onboarding.js +190 -0
  196. package/dist/resources/en-us/onboarding.js.map +1 -0
  197. package/dist/resources/en-us/reportBuilder.d.ts +415 -0
  198. package/dist/resources/en-us/reportBuilder.d.ts.map +1 -0
  199. package/dist/resources/en-us/reportBuilder.js +415 -0
  200. package/dist/resources/en-us/reportBuilder.js.map +1 -0
  201. package/dist/resources/en-us/studio.d.ts +1742 -1099
  202. package/dist/resources/en-us/studio.d.ts.map +1 -1
  203. package/dist/resources/en-us/studio.js +1769 -1126
  204. package/dist/resources/en-us/studio.js.map +1 -1
  205. package/dist/resources/en-us/ui.d.ts +37 -1
  206. package/dist/resources/en-us/ui.d.ts.map +1 -1
  207. package/dist/resources/en-us/ui.js +39 -3
  208. package/dist/resources/en-us/ui.js.map +1 -1
  209. package/dist/resources/fr-fr/automations.d.ts +417 -0
  210. package/dist/resources/fr-fr/automations.d.ts.map +1 -0
  211. package/dist/resources/fr-fr/automations.js +417 -0
  212. package/dist/resources/fr-fr/automations.js.map +1 -0
  213. package/dist/resources/fr-fr/common.d.ts +23 -91
  214. package/dist/resources/fr-fr/common.d.ts.map +1 -1
  215. package/dist/resources/fr-fr/common.js +25 -93
  216. package/dist/resources/fr-fr/common.js.map +1 -1
  217. package/dist/resources/fr-fr/dataio.d.ts +260 -0
  218. package/dist/resources/fr-fr/dataio.d.ts.map +1 -0
  219. package/dist/resources/fr-fr/dataio.js +260 -0
  220. package/dist/resources/fr-fr/dataio.js.map +1 -0
  221. package/dist/resources/fr-fr/email.d.ts +824 -0
  222. package/dist/resources/fr-fr/email.d.ts.map +1 -0
  223. package/dist/resources/fr-fr/email.js +824 -0
  224. package/dist/resources/fr-fr/email.js.map +1 -0
  225. package/dist/resources/fr-fr/files.d.ts +112 -0
  226. package/dist/resources/fr-fr/files.d.ts.map +1 -0
  227. package/dist/resources/fr-fr/files.js +112 -0
  228. package/dist/resources/fr-fr/files.js.map +1 -0
  229. package/dist/resources/fr-fr/invoices.d.ts +717 -0
  230. package/dist/resources/fr-fr/invoices.d.ts.map +1 -0
  231. package/dist/resources/fr-fr/invoices.js +717 -0
  232. package/dist/resources/fr-fr/invoices.js.map +1 -0
  233. package/dist/resources/fr-fr/onboarding.d.ts +190 -0
  234. package/dist/resources/fr-fr/onboarding.d.ts.map +1 -0
  235. package/dist/resources/fr-fr/onboarding.js +190 -0
  236. package/dist/resources/fr-fr/onboarding.js.map +1 -0
  237. package/dist/resources/fr-fr/reportBuilder.d.ts +415 -0
  238. package/dist/resources/fr-fr/reportBuilder.d.ts.map +1 -0
  239. package/dist/resources/fr-fr/reportBuilder.js +415 -0
  240. package/dist/resources/fr-fr/reportBuilder.js.map +1 -0
  241. package/dist/resources/fr-fr/studio.d.ts +1759 -1116
  242. package/dist/resources/fr-fr/studio.d.ts.map +1 -1
  243. package/dist/resources/fr-fr/studio.js +1774 -1131
  244. package/dist/resources/fr-fr/studio.js.map +1 -1
  245. package/dist/resources/fr-fr/ui.d.ts +44 -8
  246. package/dist/resources/fr-fr/ui.d.ts.map +1 -1
  247. package/dist/resources/fr-fr/ui.js +46 -10
  248. package/dist/resources/fr-fr/ui.js.map +1 -1
  249. package/dist/resources/index.d.ts.map +1 -1
  250. package/dist/resources/index.js +14 -0
  251. package/dist/resources/index.js.map +1 -1
  252. package/dist/resources/lazy.d.ts.map +1 -1
  253. package/dist/resources/lazy.js +57 -1
  254. package/dist/resources/lazy.js.map +1 -1
  255. package/dist/resources/namespaces.d.ts +62 -3
  256. package/dist/resources/namespaces.d.ts.map +1 -1
  257. package/dist/resources/namespaces.js +84 -3
  258. package/dist/resources/namespaces.js.map +1 -1
  259. package/dist/resources/zh-cn/automations.d.ts +417 -0
  260. package/dist/resources/zh-cn/automations.d.ts.map +1 -0
  261. package/dist/resources/zh-cn/automations.js +417 -0
  262. package/dist/resources/zh-cn/automations.js.map +1 -0
  263. package/dist/resources/zh-cn/common.d.ts +23 -91
  264. package/dist/resources/zh-cn/common.d.ts.map +1 -1
  265. package/dist/resources/zh-cn/common.js +25 -93
  266. package/dist/resources/zh-cn/common.js.map +1 -1
  267. package/dist/resources/zh-cn/dataio.d.ts +260 -0
  268. package/dist/resources/zh-cn/dataio.d.ts.map +1 -0
  269. package/dist/resources/zh-cn/dataio.js +260 -0
  270. package/dist/resources/zh-cn/dataio.js.map +1 -0
  271. package/dist/resources/zh-cn/email.d.ts +824 -0
  272. package/dist/resources/zh-cn/email.d.ts.map +1 -0
  273. package/dist/resources/zh-cn/email.js +824 -0
  274. package/dist/resources/zh-cn/email.js.map +1 -0
  275. package/dist/resources/zh-cn/files.d.ts +112 -0
  276. package/dist/resources/zh-cn/files.d.ts.map +1 -0
  277. package/dist/resources/zh-cn/files.js +112 -0
  278. package/dist/resources/zh-cn/files.js.map +1 -0
  279. package/dist/resources/zh-cn/invoices.d.ts +717 -0
  280. package/dist/resources/zh-cn/invoices.d.ts.map +1 -0
  281. package/dist/resources/zh-cn/invoices.js +717 -0
  282. package/dist/resources/zh-cn/invoices.js.map +1 -0
  283. package/dist/resources/zh-cn/onboarding.d.ts +190 -0
  284. package/dist/resources/zh-cn/onboarding.d.ts.map +1 -0
  285. package/dist/resources/zh-cn/onboarding.js +190 -0
  286. package/dist/resources/zh-cn/onboarding.js.map +1 -0
  287. package/dist/resources/zh-cn/reportBuilder.d.ts +415 -0
  288. package/dist/resources/zh-cn/reportBuilder.d.ts.map +1 -0
  289. package/dist/resources/zh-cn/reportBuilder.js +415 -0
  290. package/dist/resources/zh-cn/reportBuilder.js.map +1 -0
  291. package/dist/resources/zh-cn/studio.d.ts +1758 -1115
  292. package/dist/resources/zh-cn/studio.d.ts.map +1 -1
  293. package/dist/resources/zh-cn/studio.js +1764 -1121
  294. package/dist/resources/zh-cn/studio.js.map +1 -1
  295. package/dist/resources/zh-cn/ui.d.ts +45 -9
  296. package/dist/resources/zh-cn/ui.d.ts.map +1 -1
  297. package/dist/resources/zh-cn/ui.js +47 -11
  298. package/dist/resources/zh-cn/ui.js.map +1 -1
  299. package/dist/resources/zh-tw/automations.d.ts +417 -0
  300. package/dist/resources/zh-tw/automations.d.ts.map +1 -0
  301. package/dist/resources/zh-tw/automations.js +417 -0
  302. package/dist/resources/zh-tw/automations.js.map +1 -0
  303. package/dist/resources/zh-tw/common.d.ts +23 -91
  304. package/dist/resources/zh-tw/common.d.ts.map +1 -1
  305. package/dist/resources/zh-tw/common.js +25 -93
  306. package/dist/resources/zh-tw/common.js.map +1 -1
  307. package/dist/resources/zh-tw/dataio.d.ts +260 -0
  308. package/dist/resources/zh-tw/dataio.d.ts.map +1 -0
  309. package/dist/resources/zh-tw/dataio.js +260 -0
  310. package/dist/resources/zh-tw/dataio.js.map +1 -0
  311. package/dist/resources/zh-tw/email.d.ts +824 -0
  312. package/dist/resources/zh-tw/email.d.ts.map +1 -0
  313. package/dist/resources/zh-tw/email.js +824 -0
  314. package/dist/resources/zh-tw/email.js.map +1 -0
  315. package/dist/resources/zh-tw/files.d.ts +112 -0
  316. package/dist/resources/zh-tw/files.d.ts.map +1 -0
  317. package/dist/resources/zh-tw/files.js +112 -0
  318. package/dist/resources/zh-tw/files.js.map +1 -0
  319. package/dist/resources/zh-tw/invoices.d.ts +717 -0
  320. package/dist/resources/zh-tw/invoices.d.ts.map +1 -0
  321. package/dist/resources/zh-tw/invoices.js +717 -0
  322. package/dist/resources/zh-tw/invoices.js.map +1 -0
  323. package/dist/resources/zh-tw/onboarding.d.ts +190 -0
  324. package/dist/resources/zh-tw/onboarding.d.ts.map +1 -0
  325. package/dist/resources/zh-tw/onboarding.js +190 -0
  326. package/dist/resources/zh-tw/onboarding.js.map +1 -0
  327. package/dist/resources/zh-tw/reportBuilder.d.ts +415 -0
  328. package/dist/resources/zh-tw/reportBuilder.d.ts.map +1 -0
  329. package/dist/resources/zh-tw/reportBuilder.js +415 -0
  330. package/dist/resources/zh-tw/reportBuilder.js.map +1 -0
  331. package/dist/resources/zh-tw/studio.d.ts +1759 -1116
  332. package/dist/resources/zh-tw/studio.d.ts.map +1 -1
  333. package/dist/resources/zh-tw/studio.js +1773 -1130
  334. package/dist/resources/zh-tw/studio.js.map +1 -1
  335. package/dist/resources/zh-tw/ui.d.ts +45 -9
  336. package/dist/resources/zh-tw/ui.d.ts.map +1 -1
  337. package/dist/resources/zh-tw/ui.js +47 -11
  338. package/dist/resources/zh-tw/ui.js.map +1 -1
  339. package/dist/review-status.js +7 -7
  340. package/dist/server.d.ts.map +1 -1
  341. package/dist/server.js +14 -1
  342. package/dist/server.js.map +1 -1
  343. package/locales/ar-EG/.meta.json +15999 -5979
  344. package/locales/ar-EG/automations.json +406 -0
  345. package/locales/ar-EG/common.json +25 -93
  346. package/locales/ar-EG/dataio.json +249 -0
  347. package/locales/ar-EG/email.json +813 -0
  348. package/locales/ar-EG/files.json +101 -0
  349. package/locales/ar-EG/invoices.json +706 -0
  350. package/locales/ar-EG/onboarding.json +179 -0
  351. package/locales/ar-EG/reportBuilder.json +404 -0
  352. package/locales/ar-EG/studio.json +1782 -1139
  353. package/locales/ar-EG/ui.json +47 -11
  354. package/locales/cs-CZ/.meta.json +16271 -6251
  355. package/locales/cs-CZ/automations.json +406 -0
  356. package/locales/cs-CZ/common.json +25 -93
  357. package/locales/cs-CZ/dataio.json +249 -0
  358. package/locales/cs-CZ/email.json +813 -0
  359. package/locales/cs-CZ/files.json +101 -0
  360. package/locales/cs-CZ/invoices.json +706 -0
  361. package/locales/cs-CZ/onboarding.json +179 -0
  362. package/locales/cs-CZ/reportBuilder.json +404 -0
  363. package/locales/cs-CZ/studio.json +1774 -1131
  364. package/locales/cs-CZ/ui.json +47 -11
  365. package/locales/da-DK/.meta.json +16245 -6225
  366. package/locales/da-DK/automations.json +406 -0
  367. package/locales/da-DK/common.json +25 -93
  368. package/locales/da-DK/dataio.json +249 -0
  369. package/locales/da-DK/email.json +813 -0
  370. package/locales/da-DK/files.json +101 -0
  371. package/locales/da-DK/invoices.json +706 -0
  372. package/locales/da-DK/onboarding.json +179 -0
  373. package/locales/da-DK/reportBuilder.json +404 -0
  374. package/locales/da-DK/studio.json +1771 -1128
  375. package/locales/da-DK/ui.json +47 -11
  376. package/locales/de-DE/.meta.json +16094 -6074
  377. package/locales/de-DE/automations.json +406 -0
  378. package/locales/de-DE/common.json +25 -93
  379. package/locales/de-DE/dataio.json +249 -0
  380. package/locales/de-DE/email.json +813 -0
  381. package/locales/de-DE/files.json +101 -0
  382. package/locales/de-DE/invoices.json +706 -0
  383. package/locales/de-DE/onboarding.json +179 -0
  384. package/locales/de-DE/reportBuilder.json +404 -0
  385. package/locales/de-DE/studio.json +1770 -1127
  386. package/locales/de-DE/ui.json +47 -11
  387. package/locales/en-US/automations.json +406 -0
  388. package/locales/en-US/common.json +25 -93
  389. package/locales/en-US/dataio.json +249 -0
  390. package/locales/en-US/email.json +813 -0
  391. package/locales/en-US/files.json +101 -0
  392. package/locales/en-US/invoices.json +706 -0
  393. package/locales/en-US/onboarding.json +179 -0
  394. package/locales/en-US/reportBuilder.json +404 -0
  395. package/locales/en-US/studio.json +1769 -1126
  396. package/locales/en-US/ui.json +39 -3
  397. package/locales/fr-FR/.meta.json +14117 -4097
  398. package/locales/fr-FR/automations.json +406 -0
  399. package/locales/fr-FR/common.json +25 -93
  400. package/locales/fr-FR/dataio.json +249 -0
  401. package/locales/fr-FR/email.json +813 -0
  402. package/locales/fr-FR/files.json +101 -0
  403. package/locales/fr-FR/invoices.json +706 -0
  404. package/locales/fr-FR/onboarding.json +179 -0
  405. package/locales/fr-FR/reportBuilder.json +404 -0
  406. package/locales/fr-FR/studio.json +1774 -1131
  407. package/locales/fr-FR/ui.json +46 -10
  408. package/locales/zh-CN/.meta.json +16223 -6203
  409. package/locales/zh-CN/automations.json +406 -0
  410. package/locales/zh-CN/common.json +25 -93
  411. package/locales/zh-CN/dataio.json +249 -0
  412. package/locales/zh-CN/email.json +813 -0
  413. package/locales/zh-CN/files.json +101 -0
  414. package/locales/zh-CN/invoices.json +706 -0
  415. package/locales/zh-CN/onboarding.json +179 -0
  416. package/locales/zh-CN/reportBuilder.json +404 -0
  417. package/locales/zh-CN/studio.json +1764 -1121
  418. package/locales/zh-CN/ui.json +47 -11
  419. package/locales/zh-TW/.meta.json +15999 -5979
  420. package/locales/zh-TW/automations.json +406 -0
  421. package/locales/zh-TW/common.json +25 -93
  422. package/locales/zh-TW/dataio.json +249 -0
  423. package/locales/zh-TW/email.json +813 -0
  424. package/locales/zh-TW/files.json +101 -0
  425. package/locales/zh-TW/invoices.json +706 -0
  426. package/locales/zh-TW/onboarding.json +179 -0
  427. package/locales/zh-TW/reportBuilder.json +404 -0
  428. package/locales/zh-TW/studio.json +1773 -1130
  429. package/locales/zh-TW/ui.json +47 -11
  430. package/package.json +1 -1
@@ -8,1290 +8,1933 @@
8
8
  * scripts/gen-resources.mjs.
9
9
  */
10
10
  declare const _default: {
11
- readonly title: "Studio";
12
- readonly settings: {
13
- readonly title: "Einstellungen";
14
- readonly workspaceSection: "Workspace";
15
- readonly globalDefaultsNav: "Globale Standards";
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";
11
+ readonly addOns: {
12
+ readonly browse: {
13
+ readonly all: "Alle";
14
+ readonly bundled: "Enthalten";
15
+ readonly categories: "Kategorien";
16
+ readonly discard: "Verwerfen";
17
+ readonly download: "Herunterladen";
18
+ readonly emptyBody: "Diese Version enthält keine, und der Online-Katalog ist aus.";
19
+ readonly emptyOnlineBody: "Der Online-Katalog ist aktiv, aber die letzte Prüfung fand nichts. Suchen Sie nach Neuerem.";
20
+ readonly emptyTitle: "Keine Add-ons verfügbar";
21
+ readonly install: "Installieren";
22
+ readonly noMatchBody: "Kein Add-on hier passt zu dieser Suche und Kategorie.";
23
+ readonly noMatchTitle: "Keine Treffer";
24
+ readonly offline: "Zeigt die mit dieser Version gelieferten Add-ons. Das Online-Stöbern ist ausgeschaltet, und nichts hier hat das Internet kontaktiert.";
25
+ readonly online: "Enthält Add-ons aus dem Online-Katalog. Die Suche nach neueren Versionen ist eine eigene Aktion.";
26
+ readonly refresh: "Nach Neuerem suchen";
27
+ readonly search: "Add-ons suchen";
28
+ readonly title: "Verfügbar";
29
+ readonly toggle: "Online-Katalog durchsuchen";
30
+ readonly upgrade: "v{version} verfügbar";
31
+ readonly upgradeAction: "Aktualisieren";
23
32
  };
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";
33
+ readonly card: {
34
+ readonly needsApiKey: "Benötigt einen API-Schlüssel";
35
+ readonly needsOauth: "Verbindet sich über OAuth";
36
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.";
37
+ readonly category: {
38
+ readonly artwork: "Gestaltung";
39
+ readonly data: "Daten";
40
+ readonly delivery: "Versand";
41
+ readonly email: "E-Mail";
42
+ readonly payments: "Zahlungen";
40
43
  };
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.";
44
+ readonly confirm: {
45
+ readonly cancel: "Abbrechen";
46
+ readonly close: "Schließen";
47
+ readonly discard: "Verwerfen";
48
+ readonly discardBody: "Die heruntergeladenen Dateien werden gelöscht. Es wurde nichts installiert, also ändert sich sonst nichts – Sie können es jederzeit erneut herunterladen.";
49
+ readonly discardTitle: "Diesen Download verwerfen";
50
+ readonly disconnect: "Trennen";
51
+ 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.";
52
+ readonly disconnectTitle: "Dieses Add-on trennen";
53
+ readonly uninstall: "Deinstallieren";
54
+ 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.";
55
+ readonly uninstallTitle: "Dieses Add-on deinstallieren";
55
56
  };
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";
57
+ readonly connect: {
58
+ readonly apiKey: "API-Schlüssel";
59
+ readonly submit: "Verbinden";
65
60
  };
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:";
61
+ readonly consent: {
62
+ readonly cancel: "Abbrechen";
63
+ readonly close: "Schließen";
64
+ readonly confirm: "Installieren";
65
+ readonly hosts: "Verbinden mit";
66
+ readonly loading: "Wird ermittelt, was das bewirken würde …";
67
+ readonly subtitle: "Was dieses Add-on tun wird, bevor es das tun kann.";
68
+ readonly title: "{name} installieren";
72
69
  };
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:";
70
+ readonly error: "Etwas ist schiefgelaufen";
71
+ readonly installed: {
72
+ readonly connected: "Verbunden";
73
+ readonly disconnect: "Trennen";
74
+ readonly egress: "Darf kontaktieren: {hosts}";
75
+ readonly emptyBody: "Installieren Sie oben ein Add-on, dann erscheint es hier mit seinen Hosts und seiner Verbindung.";
76
+ readonly emptyTitle: "Noch nichts installiert";
77
+ readonly notConnected: "Nicht verbunden";
78
+ readonly off: "aus";
79
+ readonly on: "an";
80
+ readonly title: "Installiert";
81
+ readonly uninstall: "Deinstallieren";
81
82
  };
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.";
83
+ readonly job: {
84
+ readonly body: "Wird geladen und geprüft. Installiert wird erst auf Ihr Wort.";
85
+ readonly failed: "Der Download wurde nicht abgeschlossen. Es wurde nichts installiert.";
86
+ readonly title: "Wird heruntergeladen";
87
+ };
88
+ readonly plan: {
89
+ readonly blocked: "Das kann hier nicht installiert werden";
90
+ readonly needsColumns: "Dieses Add-on benötigt Spalten, die Sie nicht haben";
91
+ readonly needsColumnsBody: "Adminium fügt Tabellen, die Ihnen bereits gehören, keine Spalten hinzu. Legen Sie sie selbst an, dann installieren Sie.";
92
+ readonly noData: "Dieses Add-on liest und schreibt keine eigenen Tabellen.";
93
+ readonly reuse: "Dieses Add-on verwendet Tabellen, die Sie bereits haben:";
94
+ readonly willCreate: "Dadurch werden Tabellen in Ihrer Datenbank angelegt";
95
+ readonly willCreateBody: "Bei der Installation werden diese Tabellen angelegt. Eine spätere Deinstallation lässt sie und ihre Daten unberührt.";
96
+ };
97
+ readonly settings: {
98
+ readonly badJson: "Das ist kein gültiges JSON und wurde nicht gespeichert.";
99
+ readonly save: "Einstellungen speichern";
100
+ readonly title: "Einstellungen";
101
+ };
102
+ readonly sideload: {
103
+ readonly file: "Paketdatei (.tgz)";
104
+ readonly hint: "Für einen Server ohne Internet. Wird genau wie ein Download geprüft und braucht daher den mitgelieferten Hash.";
105
+ readonly key: "Add-on-Schlüssel";
106
+ readonly sha: "Integrität (sha512-…)";
107
+ readonly shaHint: "Der von `npm pack --json` ausgegebene `integrity`-Wert. Passen die Bytes nicht, wird abgelehnt.";
108
+ readonly submit: "Hochladen";
109
+ readonly title: "Paket hochladen";
110
+ readonly version: "Version";
111
+ };
112
+ readonly subtitle: "Zusätzliche Funktionen für Ihre Apps – Versand, Grafik, Daten. Jedes sagt vor der Installation, was es benötigt.";
113
+ readonly title: "Add-ons";
114
+ readonly upgradeNote: "Beim Aktualisieren bleiben die Hosts, mit denen ein Add-on verbunden ist, und die bestehende Verbindung erhalten.";
115
+ readonly veto: {
116
+ 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.";
117
+ readonly title: "Diese Installation kann nicht online suchen";
85
118
  };
86
119
  };
87
120
  readonly capability: {
121
+ readonly importNoLiveHealth: "Keine Live-Datenbankverbindung — Health-Checks und Schema-Drift-Erkennung sind für diese Quelle nicht verfügbar.";
122
+ readonly importNoRowCounts: "Schemadateien enthalten keine Zeilenzahlen — die Tabellenliste zeigt — statt erfundener Werte.";
88
123
  readonly mysqlApproxRows: "MySQL-Zeilenzahlen sind Schätzungen der Storage-Engine (Abweichungen bis ±40 % möglich) — sie werden mit ≈ angezeigt.";
89
124
  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+.";
125
+ readonly rowsApproximate: "Schätzung der Storage-Engine — kann bei InnoDB um bis zu ±40 % abweichen.";
126
+ readonly rowsNoEstimate: "Die Engine hat für diese Tabelle keine Schätzung gemeldet.";
127
+ readonly rowsRunAnalyze: "Noch keine Schätzung — führen Sie ANALYZE auf der Datenbank aus, um Zeilenzahlen zu erhalten.";
128
+ readonly rowsUnavailable: "Schemadateien haben keine Live-Datenbank — Zeilenzahlen sind unbekannt, bis Sie eine verbinden.";
90
129
  readonly sqliteCheckEnums: "SQLite hat keinen nativen Enum-Typ — Enums werden aus CHECK-(col IN (…))-Constraints abgeleitet.";
91
130
  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
131
  };
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";
132
+ readonly design: {
133
+ readonly adopt: {
134
+ readonly action: "Zur App hinzufügen";
135
+ readonly done: "{created} Seiten erstellt, {updated} aktualisiert, {unchanged} bereits aktuell.";
136
+ readonly everything: "Diese Verbindung zeigt bereits jede Tabelle, es musste nichts aufgenommen werden.";
137
+ readonly forbidden: "Ihre Rolle darf das Schema ändern, aber keine Seiten erzeugen. Bitten Sie eine Administratorin oder einen Administrator mit Verbindungsverwaltung, diese Tabellen zur App hinzuzufügen.";
138
+ readonly grants: "Keine Rolle erhält automatisch Zugriff — vergeben Sie ihn unter Einstellungen → Rollen.";
139
+ readonly offer: "Eine neue Tabelle bewirkt nichts, solange sie keine Seite hat. {tables} zur App hinzufügen?";
140
+ readonly skippedEdited: "Unangetastet gelassen, weil Sie sie bearbeitet haben: {pages}.";
141
+ };
142
+ readonly apply: "Anwenden";
143
+ readonly ceiling: {
144
+ readonly authorise: "Dieses Neuschreiben autorisieren";
145
+ readonly body: "{table} enthält über {rows} Zeilen — mehr, als Adminium von sich aus neu schreibt. Nur eine Super-Admin-Rolle kann das autorisieren, und die Tabelle bleibt für die Dauer des Neuschreibens gesperrt.";
146
+ readonly hint: "Geben Sie den Tabellennamen genau so ein, wie er oben steht.";
147
+ readonly notYours: "{table} enthält über {rows} Zeilen. Nur eine Super-Admin-Rolle kann ein Neuschreiben dieser Größe autorisieren — fragen Sie eine, oder führen Sie die Änderung in einem Wartungsfenster mit eigenen Werkzeugen durch.";
148
+ readonly prompt: "Geben Sie {table} erneut ein, um das Neuschreiben zu autorisieren";
118
149
  };
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.";
150
+ readonly column: {
151
+ readonly help: "Was bedeuten diese Einstellungen?";
152
+ readonly key: "Schlüssel";
153
+ readonly length: "Länge";
154
+ readonly link: "Verknüpft mit";
155
+ readonly linkHelp: "Verknüpfen Sie dies mit einer Zeile in einer anderen Tabelle.";
156
+ readonly linkTypeNote: "Der Typ entspricht dem Schlüssel der verknüpften Tabelle.";
157
+ readonly name: "Name";
158
+ readonly namePlaceholder: "client_id";
159
+ readonly noLink: "Nichts";
160
+ readonly onDelete: "Wenn die verknüpfte Zeile gelöscht wird";
161
+ readonly precision: "Genauigkeit";
162
+ readonly primaryKey: "Primärschlüssel";
163
+ readonly remove: "{name} entfernen";
164
+ readonly required: "Erforderlich";
165
+ readonly type: "Typ";
166
+ readonly unique: "Eindeutig";
133
167
  };
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";
168
+ readonly confirm: {
169
+ readonly body: "Diese Änderung verwirft Daten oder entfernt ein Objekt. Adminium kann sie nicht rückgängig machen.";
170
+ readonly cancel: "Abbrechen";
171
+ readonly close: "Schließen";
172
+ readonly confirm: "Änderungen anwenden";
173
+ readonly prompt: "Geben Sie {word} ein, um zu bestätigen";
174
+ readonly title: "Destruktive Änderung anwenden";
156
175
  };
157
- readonly status: {
158
- readonly connected: "Verbunden";
159
- readonly error: "Fehler";
160
- readonly unconfigured: "Entwurf";
161
- readonly testing: "Wird getestet…";
162
- readonly paused: "Pausiert";
176
+ readonly designer: "Tabellen-Designer";
177
+ readonly discard: "Änderungen verwerfen";
178
+ readonly dropping: "Zum Löschen vorgemerkt";
179
+ readonly empty: {
180
+ readonly body: "Erstellen Sie eine Tabelle oder wählen Sie eine zum Bearbeiten. Nichts erreicht Ihre Datenbank, bevor Sie die Anweisungen geprüft und angewendet haben.";
181
+ readonly title: "Entwerfen Sie Ihr Schema";
182
+ };
183
+ readonly error: {
184
+ readonly atColumn: "Spalte {n}, {field}";
185
+ readonly atTable: "Tabelle {field}";
186
+ readonly empty: "Ein Name ist erforderlich.";
187
+ readonly identifier: "Nur Kleinbuchstaben, Ziffern und Unterstriche, beginnend mit einem Buchstaben.";
188
+ readonly tooLong: "Zu lang — {dialect} erlaubt {max} Zeichen.";
189
+ };
190
+ readonly existing: "Vorhandene Tabellen";
191
+ readonly hazard: {
192
+ readonly irreversible: "Nicht umkehrbar";
193
+ readonly locking: "Hält eine Sperre";
194
+ readonly lossy: "Verwirft Daten";
195
+ readonly refused: "Abgelehnt";
196
+ readonly rewrite: "Schreibt die Tabelle neu";
197
+ readonly safe: "Sicher";
198
+ };
199
+ readonly help: {
200
+ readonly close: "Schließen";
201
+ readonly link: {
202
+ readonly example: "Eine Reservierung ist mit einem Kunden verknüpft. Adminium zeigt dann den Kunden bei der Reservierung und die Reservierungen beim Kunden.";
203
+ readonly term: "Verknüpfung mit einer anderen Tabelle";
204
+ readonly what: "Verbindet diese Zeile mit einer Zeile in einer anderen Tabelle und lässt die Datenbank darüber wachen, dass die Verknüpfung stimmt — Sie können nicht auf etwas zeigen, das es nicht gibt.";
205
+ };
206
+ readonly primaryKey: {
207
+ readonly example: "Ohne Primärschlüssel kann Adminium die Zeilen auflisten, aber keine einzelne bearbeiten oder löschen.";
208
+ readonly term: "Primärschlüssel";
209
+ readonly what: "Das Feld, das jede Zeile identifiziert — daran unterscheidet Adminium eine Zeile von der anderen. Jede Tabelle sollte genau eines haben, und fast immer ist es das Feld „id“, das für Sie angelegt wurde.";
210
+ };
211
+ readonly required: {
212
+ readonly example: "Eine Bestellung braucht einen Kunden, dieses Feld ist also erforderlich. Ein Lieferhinweis ist optional, dieses nicht.";
213
+ readonly term: "Erforderlich";
214
+ readonly what: "Das Feld muss ausgefüllt sein. Solange es leer ist, lässt sich die Zeile nicht speichern.";
215
+ };
216
+ readonly subtitle: "Verständliche Beschreibungen jeder Einstellung und was sie für die Menschen ändert, die Ihre App nutzen.";
217
+ readonly title: "Was diese Felder bedeuten";
218
+ readonly type: {
219
+ readonly example: "Eine Telefonnummer ist meist Text, keine Zahl — bei Zahlen fallen führende Nullen weg.";
220
+ readonly term: "Typ";
221
+ readonly what: "Welche Art von Information das Feld enthält — Wörter, ganze Zahlen, Geldbeträge, ein Datum, eine Ja/Nein-Antwort. Erst der richtige Typ lässt Adminium eine Datumsauswahl statt eines Textfelds zeigen und eine Spalte mit Geldbeträgen aufsummieren.";
222
+ };
223
+ readonly unique: {
224
+ readonly example: "Zwei Kunden sollten sich keine E-Mail-Adresse teilen — als eindeutig markiert, können sie es nicht.";
225
+ readonly term: "Eindeutig";
226
+ readonly what: "Keine zwei Zeilen dürfen denselben Wert enthalten. Die Datenbank weist die zweite ab.";
227
+ };
163
228
  };
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.";
229
+ readonly keepTable: "{table} behalten";
230
+ readonly newTable: "Neue Tabelle";
231
+ readonly onDelete: {
232
+ readonly cascade: "Diese Zeile ebenfalls löschen";
233
+ readonly restrict: "Löschen verhindern";
234
+ readonly setNull: "Dieses Feld leer lassen";
176
235
  };
177
- readonly action: {
178
- readonly test: "Testen";
179
- readonly reintrospect: "Neu introspizieren";
180
- readonly reintrospectFile: "Schemadatei-Quellen haben keine Live-Datenbankladen 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";
236
+ readonly plan: "Änderungen prüfen";
237
+ readonly result: {
238
+ readonly applied: "Angewendet. Adminium hat Ihr Schema neu eingelesen.";
239
+ readonly failed: "Es wurde nichts angewendetIhre Datenbank ist unverändert. {error}";
240
+ readonly partial: "Teilweise angewendet: {done} von {total} Schritten liefen. Dieselben Änderungen erneut anzuwenden schließt sie ab.";
241
+ readonly repaired: "Die Umbenennung wurde auf {pages, plural, one {# Seite} other {# Seiten}}, {grants, plural, one {# Rollenrecht} other {# Rollenrechte}} und {overrides, plural, one {# Schema-Überschreibung} other {# Schema-Überschreibungen}} übertragen.";
188
242
  };
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";
243
+ readonly review: {
244
+ readonly noChanges: "Noch keine Schemaänderungen.";
245
+ readonly pending: "Prüfen Sie Ihre Änderungen, um die genauen Anweisungen zu sehen, die Adminium ausführt.";
246
+ readonly steps: "Geplante Schritte";
247
+ readonly superAdmin: "Super-Administrator";
248
+ readonly unfinished: "Eine frühere Anwendung auf dieser Verbindung hat nie ein Ergebnis gemeldet. Ihr Schema liegt möglicherweise zwischen zwei Formen — prüfen Sie den Änderungsverlauf, bevor Sie weitere anwenden.";
206
249
  };
207
- readonly test: {
208
- readonly ok: "Verbindung fehlerfrei · {latency, number} ms";
209
- readonly failed: "Verbindungstest fehlgeschlagen";
250
+ readonly reviewPane: "Prüfung";
251
+ readonly table: {
252
+ readonly addColumn: "Spalte hinzufügen";
253
+ readonly columns: "Spalten";
254
+ readonly drop: "Diese Tabelle löschen";
255
+ readonly dropHelp: "Die Tabelle und alle ihre Zeilen werden zerstört. Sie sehen genau, was dadurch kaputtgeht, bevor etwas ausgeführt wird.";
256
+ readonly name: "Tabellenname";
257
+ readonly nameHelp: "Kleinbuchstaben, Ziffern und Unterstriche.";
258
+ readonly namePlaceholder: "reservations";
259
+ readonly noKey: "Diese Tabelle hat keinen Primärschlüssel, daher behandelt Adminium sie als schreibgeschützt — Zeilen lassen sich auflisten, aber nicht bearbeiten.";
260
+ readonly renameHelp: "Eine Änderung benennt die Tabelle in Ihrer Datenbank um.";
261
+ readonly uuidKeyUnavailable: "Auf dieser Engine muss ein Schlüssel eine generierte Ganzzahl sein: eine von der Datenbank generierte UUID kann nach einem Insert nicht zurückgelesen werden.";
262
+ };
263
+ readonly unnamed: "Benennen Sie jede Tabelle und Spalte, um die Änderungen zu prüfen.";
264
+ readonly unrepresentableDefaults: "Diese Spalten behalten einen von der Datenbank erzeugten Standardwert, den Adminium hier nicht bearbeiten kann; er bleibt unverändert: {columns}";
265
+ };
266
+ readonly diagram: {
267
+ readonly ceiling: "Es werden die {shown} am stärksten verbundenen Tabellen gezeigt. {omitted} weitere sind ausgeblendet — suchen Sie danach, um eine einzublenden.";
268
+ readonly legend: {
269
+ readonly declared: "Fremdschlüssel";
270
+ readonly inferred: "Abgeleitet";
271
+ readonly virtual: "In Adminium hinzugefügt";
272
+ };
273
+ readonly legendLabel: "Legende";
274
+ readonly node: {
275
+ readonly foreignKey: "Fremdschlüssel";
276
+ readonly more: "+{count} weitere";
277
+ readonly primaryKey: "Primärschlüssel";
278
+ };
279
+ readonly outline: {
280
+ readonly intro: "{tables} Tabellen und {relations} Beziehungen, als Liste.";
281
+ readonly more: " und {count} weitere";
282
+ readonly referencedBy: "Referenziert von: {list}";
283
+ readonly references: "Referenziert: {list}";
284
+ };
285
+ readonly saveLayout: "Anordnung speichern";
286
+ readonly search: "Tabelle oder Spalte finden";
287
+ readonly showDiagram: "Diagramm anzeigen";
288
+ readonly showList: "Als Liste anzeigen";
289
+ };
290
+ readonly documents: {
291
+ readonly cancel: "Abbrechen";
292
+ readonly connectionLabel: "Verbindung";
293
+ readonly delete: "Löschen";
294
+ readonly delivery: {
295
+ readonly email: "Senden an";
296
+ readonly noEmail: "An niemanden — nur am Datensatz behalten";
297
+ readonly noEmailSlot: "Diese Belegart hat kein Adressfeld und kann daher nicht versendet werden.";
298
+ readonly noSmtp: "Für dieses Adminium ist noch kein E-Mail-Server eingerichtet, es kann also nichts versendet werden. Richten Sie einen unter Studio → Einstellungen → E-Mail ein.";
299
+ readonly stored: "Bleibt immer am Datensatz.";
300
+ };
301
+ readonly disabled: "ausgeschaltet";
302
+ readonly edit: "Bearbeiten";
303
+ readonly empty: "Noch keine Zuordnungen.";
304
+ readonly grants: {
305
+ readonly refused: "Diese Zuordnung liest {tables}, was Sie nicht lesen dürfen. Belege daraus schlagen für Sie fehl.";
306
+ readonly title: "Sie dürfen nicht alles davon lesen";
307
+ };
308
+ readonly intro: "Eine Zuordnung sagt, welche Spalten welcher Tabelle eine Belegart ergeben, was sie auslöst und wohin sie geht.";
309
+ readonly name: "Diese Zuordnung benennen";
310
+ readonly newFrom: "Neue Zuordnung für:";
311
+ readonly noProvider: "Noch kann kein installiertes Add-on Belege zeichnen. Installieren Sie eines unter Add-ons, dann erscheinen hier die möglichen Zuordnungen.";
312
+ readonly pickTable: "Tabelle wählen…";
313
+ readonly prefix: "Nummernpräfix";
314
+ readonly render: {
315
+ readonly failedRow: "Es wurde nichts gezeichnet: {reason}";
316
+ readonly intro: "Zeichnen Sie jetzt einen, aus einer Zeile Ihrer Wahl. Es wird nichts versendet – er bleibt am Datensatz wie jeder andere.";
317
+ readonly noRows: "Noch keine Zeilen zum Zeichnen.";
318
+ readonly open: "Öffnen";
319
+ readonly pending: "Wird gezeichnet…";
320
+ readonly pick: "Diese zeichnen";
321
+ readonly ready: "Gezeichnet.";
322
+ readonly saveFirst: "Speichern Sie die Zuordnung zuerst. Gezeichnet wird aus einer gespeicherten – so sehen Sie das Ergebnis, bevor es jemand anderes sieht.";
323
+ readonly search: "Zeilen durchsuchen";
324
+ readonly slow: "Es ist noch kein Beleg erschienen. Vielleicht wartet er noch – oder diese Installation führt keine Hintergrundaufträge aus; dann wird nichts gezeichnet, bis sie es tut.";
325
+ readonly slowTitle: "Immer noch nichts";
326
+ };
327
+ readonly save: "Zuordnung speichern";
328
+ readonly slot: {
329
+ readonly byDefault: "Von Adminium gefüllt";
330
+ readonly lineColumnOf: "{column} jeder Position";
331
+ readonly lineColumns: "Was jede Spalte einer Position füllt";
332
+ readonly looksLikeLines: "sieht nach Positionen aus";
333
+ readonly noChildren: "Nichts in Ihrer Datenbank verweist auf diese Tabelle, es gibt also keine Positionen zu zeichnen. Ein Beleg braucht eine untergeordnete Tabelle mit einem Fremdschlüssel zurück auf diese.";
334
+ readonly noLines: "Keine Positionen";
335
+ readonly pii: "verborgene Daten";
336
+ readonly typed: "Ein Wert, den ich eintrage";
337
+ readonly typedHint: "Hier eingetragen, nicht aus Ihren Daten gelesen – jeder Beleg aus dieser Zuordnung bekommt denselben Wert.";
338
+ readonly typedValue: "Wert für {slot}";
339
+ readonly unmapped: "Nicht gefüllt";
210
340
  };
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.";
341
+ readonly step: {
342
+ readonly delivery: "Wohin er geht";
343
+ readonly kind: "Art";
344
+ readonly mapping: "Was jedes Feld füllt";
345
+ readonly mappingHelp: "Jedes Feld liest eine Spalte – oder nimmt einen Wert, den Sie hier eintragen.";
346
+ readonly render: "An einer Zeile ausprobieren";
347
+ readonly table: "Verbindung und Tabelle";
348
+ readonly trigger: "Was ihn auslöst";
349
+ };
350
+ readonly tableLabel: "Tabelle";
351
+ readonly title: "Beleg-Zuordnungen";
352
+ readonly trigger: {
353
+ readonly created: "Wenn eine Zeile hinzukommt";
354
+ readonly manual: "Nur auf Anforderung";
355
+ readonly manualShort: "auf Anforderung";
356
+ readonly note: "Zeilen aus einem Import oder direkt in die Datenbank geschriebene Zeilen lösen nichts aus — nur Schreibvorgänge über Adminium.";
357
+ readonly noteTitle: "Was als Änderung zählt";
358
+ readonly updated: "Wenn sich eine Zeile ändert";
359
+ };
360
+ readonly unbound: "Noch auszufüllen: {slots}";
361
+ };
362
+ readonly enrich: {
363
+ readonly byo: {
364
+ 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.";
365
+ readonly cardTitle: "Einen Prompt in mein eigenes KI-Tool kopieren";
366
+ readonly cardTitleRecommended: "Prompt in mein eigenes KI-Tool kopieren — empfohlen";
367
+ readonly chunkTab: "Prompt {index}";
368
+ readonly chunkTabs: "Prompt-Abschnitte";
369
+ readonly chunkValid: "Abschnitt {index} validiert";
370
+ readonly continueReview: "Weiter zur Prüfung";
371
+ readonly copyErrors: "Fehler für Ihr KI-Tool kopieren";
372
+ readonly copyErrorsDone: "Fehler kopiert";
373
+ readonly copyErrorsHint: "Fügen Sie dies in Ihr KI-Tool zurück ein, um eine korrigierte Antwort zu erhalten.";
374
+ readonly copyPrompt: "Prompt kopieren";
375
+ readonly copyPromptDone: "Prompt kopiert";
376
+ readonly download: ".md herunterladen";
377
+ readonly droppedItems: "{count} Vorschläge wurden bei der Validierung verworfen — die Prüfung zeigt die übrigen.";
378
+ readonly errorsTitle: "Die Validierung fand {count} Probleme";
379
+ 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.";
380
+ readonly mergedBody: "Die Vorschläge können nun gegen die heuristische Grundlage geprüft werden.";
381
+ readonly mergedTitle: "Alle {count} Abschnitte validiert und zusammengeführt";
382
+ readonly mergedTitleSingle: "Antwort validiert";
383
+ readonly pasteLabel: "JSON-Antwort einfügen";
384
+ readonly pastePlaceholder: "JSON-Antwort hier einfügen…";
385
+ readonly pendingBody: "Fügen Sie die JSON-Antwort oben ein und validieren Sie sie, um zur Prüfung fortzufahren.";
386
+ 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.";
387
+ readonly pendingTitle: "Validieren Sie jeden Prompt, um fortzufahren";
388
+ readonly promptLabel: "Anreicherungs-Prompt";
389
+ readonly promptLabelN: "Anreicherungs-Prompt {index} von {total}";
390
+ readonly requestFailed: "Der Server war für die Validierung nicht erreichbar — erneut versuchen.";
391
+ readonly tokenChip: "≈ {tokens} Tokens";
392
+ readonly valid: "Antwort validiert";
393
+ readonly validate: "Validieren";
394
+ readonly wholeDocument: "gesamtes Dokument";
395
+ };
396
+ readonly copied: "Kopiert";
397
+ readonly createFailed: "Der Anreicherungs-Prompt konnte nicht erstellt werden — erneut versuchen.";
398
+ readonly createFailedTitle: "Konnte nicht starten";
399
+ readonly direct: {
400
+ readonly back: "Zurück zu den Optionen";
401
+ readonly building: "Prompt wird erstellt…";
402
+ readonly cancel: "Abbrechen";
403
+ readonly continueReview: "Weiter zur Prüfung";
404
+ readonly done: "Anreicherung abgeschlossen — prüfen Sie die Vorschläge.";
405
+ readonly errorTitle: "Anreicherung fehlgeschlagen";
406
+ readonly failed: "Der Anbieterlauf ist fehlgeschlagen. Prüfen Sie Ihre KI-Einstellungen und versuchen Sie es erneut.";
407
+ readonly jobFailed: "Der Anreicherungslauf wurde nicht abgeschlossen.";
408
+ readonly logLabel: "Anreicherungsprotokoll";
409
+ readonly retry: "Erneut versuchen";
410
+ readonly startFailed: "Der Lauf konnte nicht gestartet werden — erneut versuchen.";
411
+ readonly subtitle: "Ihr Schema wird gesendet an";
412
+ readonly title: "Anreicherung mit KI";
413
+ };
414
+ 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.";
415
+ readonly fileTitle: "KI-Anreicherung benötigt eine aktive Datenbank";
416
+ readonly generatePrompt: "Prompt erzeugen";
417
+ readonly intentLabel: "Wie möchten Sie anreichern?";
418
+ readonly localeLocked: "(erforderlich)";
419
+ readonly localesLegend: "Bezeichnungen übersetzen in";
420
+ readonly noSections: "Wählen Sie mindestens eine Entscheidungsgruppe zum Anreichern.";
421
+ readonly provider: {
422
+ readonly configError: "Die Anbietereinstellungen konnten nicht geladen werden — konfigurieren Sie einen Anbieter unter Einstellungen → KI und kehren Sie dann zu diesem Schritt zurück.";
423
+ readonly description: "Führen Sie die Anreicherung jetzt mit Ihrem konfigurierten Anbieter aus. Sie prüfen jeden Vorschlag als Diff.";
424
+ 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.";
425
+ readonly readyBody: "Wählen Sie oben „Meinen KI-Anbieter verwenden“, um die Anreicherung jetzt für diese Verbindung auszuführen.";
426
+ readonly readyTitle: "KI-Anbieter konfiguriert";
427
+ readonly setUpHere: "Anbieter hier einrichten";
428
+ readonly setUpHide: "Anbietereinrichtung ausblenden";
429
+ readonly settingsHint: "Möchten Sie es direkt ausführen?";
430
+ readonly settingsLink: "Anbieter in Einstellungen → KI konfigurieren";
431
+ readonly title: "Meinen KI-Anbieter verwenden";
432
+ readonly unconfigured: "Es ist noch kein KI-Anbieter konfiguriert — richten Sie unten einen ein, oder kopieren Sie einen Prompt in Ihr eigenes KI-Tool.";
433
+ };
434
+ readonly providerFallback: "Ihr KI-Anbieter";
435
+ readonly samplingHint: "Nimmt bis zu 20 echte Werte pro Nicht-PII-Spalte in den Prompt auf.";
436
+ 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.";
437
+ readonly samplingPreviewTitle: "Was diesen Rechner verlässt";
438
+ readonly samplingTitle: "Beispielwerte einbeziehen";
439
+ readonly section: {
440
+ readonly enums: "Enum-Semantik";
441
+ readonly groups: "Navigationsgruppen";
442
+ readonly icons: "Symbole";
443
+ readonly keys: "Schlüsselspalten";
444
+ readonly labels: "Bezeichnungen & Beschreibungen";
445
+ readonly microcopy: "Mikrotexte";
446
+ readonly pii: "PII & Maskierung";
447
+ readonly relations: "Beziehungen";
448
+ readonly templates: "Seitenvorlagen";
449
+ readonly widgets: "Dashboard-Widgets";
450
+ };
451
+ readonly sectionsLegend: "Worüber soll die KI entscheiden?";
452
+ readonly skip: {
453
+ 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.";
454
+ readonly confirmTitle: "Weiter mit Heuristik";
455
+ readonly description: "Aus der heuristischen Grundlage generieren. Sie können später über Einstellungen → KI anreichern — Überspringen wird nie bestraft.";
456
+ readonly title: "Überspringen — nur Heuristik verwenden";
457
+ };
458
+ readonly startOver: "Von vorn beginnen";
459
+ readonly startProvider: "Anreicherung starten";
460
+ 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.";
461
+ readonly title: "Mit KI anreichern";
462
+ };
463
+ readonly generate: {
464
+ readonly errorTitle: "Generierung fehlgeschlagen";
465
+ readonly failed: "Generierung fehlgeschlagen — versuchen Sie es erneut oder führen Sie zuerst die Introspektion erneut aus.";
466
+ 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.";
467
+ readonly fileTitle: "Schemadatei geparst — die Generierung benötigt eine Live-Datenbank";
468
+ readonly log: {
469
+ readonly classifying: "Schema wird klassifiziert…";
470
+ readonly composing: "Vorlagen werden zusammengestellt…";
471
+ readonly done: "{pages} Seiten in {groups} Navigationsgruppen generiert";
472
+ readonly writing: "Seiten werden geschrieben…";
473
+ };
474
+ readonly logLabel: "Generierungsprotokoll";
475
+ readonly openApp: "App öffnen";
476
+ readonly run: "Dashboard generieren";
477
+ readonly subtitle: "Eine Seite pro einbezogener Tabelle plus Dashboards je Domäne — Zweck:";
478
+ readonly successBody: "{pages} Seiten in {groups} Navigationsgruppen — aus Ihrem Schema generiert, im Studio bearbeitbar.";
479
+ readonly successTitle: "Ihr Dashboard ist bereit";
480
+ readonly title: "Generieren Sie Ihre App";
481
+ };
482
+ readonly hostedApps: {
483
+ readonly domains: {
484
+ readonly add: "Domain anhängen";
485
+ readonly hostLabel: "Host";
486
+ readonly instanceLabel: "Instanz";
487
+ readonly instanceOwn: "Die App selbst";
488
+ readonly issuesTitle: "Die Domain-Zuordnung wurde abgelehnt";
489
+ readonly none: "Keine Domains angehängt.";
490
+ readonly remove: "Entfernen";
491
+ readonly save: "Domains speichern";
492
+ readonly savedBody: "Zuordnungen greifen innerhalb weniger Sekunden. Ein Host antwortet erst, wenn sein DNS und Ihr Proxy diese Instanz tatsächlich erreichen.";
493
+ readonly savedTitle: "Gespeichert";
494
+ 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.";
495
+ readonly surfaceLabel: "Oberfläche";
496
+ readonly title: "Domains";
497
+ };
498
+ 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.";
499
+ readonly emptyTitle: "Es werden keine App-Oberflächen ausgeliefert";
500
+ readonly error: "Etwas ist schiefgelaufen";
501
+ readonly instances: {
502
+ readonly add: "Instanz hinzufügen";
503
+ readonly appLabel: "App";
504
+ readonly body: "Dieselbe App über mehrere Datenbanken bereitstellen. Jede Instanz ist unter /apps/<app>/<segment>/<side>/ erreichbar und liest nur die Verbindung, die Sie ihr geben.";
505
+ readonly empty: "Keine weiteren Instanzen.";
506
+ readonly failed: "Instanzen wurden nicht gespeichert";
507
+ readonly readsLabel: "Liest";
508
+ readonly remove: "Entfernen";
509
+ readonly save: "Instanzen speichern";
510
+ readonly slugLabel: "URL-Segment";
511
+ readonly title: "Instanzen";
512
+ };
513
+ readonly subtitle: "Die App-Oberflächen, die diese Instanz ausliefert — wo jede erscheint und welche Domains auf sie zeigen.";
514
+ readonly surfaces: {
515
+ readonly boundKey: "Liefert Schlüssel";
516
+ readonly connectionLabel: "Liest";
517
+ readonly connectionUnset: "Was gerade bedient";
518
+ readonly customer: "Kunden";
519
+ readonly mintLink: "Unter „Öffentliche API“ erstellen";
520
+ readonly noKey: "Kein Schlüssel gebunden — diese Oberfläche kann keine Daten lesen, bis einer für sie erstellt wird.";
521
+ readonly noNav: "Interne Platzierung nicht verfügbar — bauen Sie diese Oberfläche mit dem aktuellen Toolkit neu, damit sie surface.json ausgibt.";
522
+ readonly placementExternal: "Extern (nur eigene URL)";
523
+ readonly placementInternal: "In der Seitenleiste (eingebettet)";
524
+ readonly placementLabel: "Platzierung";
525
+ readonly staff: "Mitarbeiter";
526
+ 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.";
527
+ readonly title: "Oberflächen";
528
+ };
529
+ readonly title: "Gehostete Apps";
530
+ readonly install: {
531
+ readonly steps: {
532
+ readonly bundle: "Paket";
533
+ readonly database: "Datenbank";
534
+ readonly plan: "Schemaplan";
535
+ readonly done: "Fertig";
536
+ };
537
+ readonly progress: "Installationsfortschritt";
538
+ readonly failed: "Installation fehlgeschlagen";
539
+ readonly bundle: {
540
+ readonly title: "App-Paket hochladen";
541
+ readonly hint: "Die .tgz-Datei, die `npm pack` für eine gebaute Oberfläche erzeugt — sie enthält manifest.json und ein Verzeichnis staff/ oder customer/.";
542
+ readonly file: "Paketdatei (.tgz)";
543
+ readonly fileHint: "Es wird nichts angelegt, bevor Sie den Schemaplan bestätigen.";
544
+ readonly key: "App-Schlüssel";
545
+ readonly version: "Version";
546
+ readonly integrity: "Prüfsumme (optional)";
547
+ readonly integrityHint: "Fügen Sie den sha512-Wert aus `npm pack --json` ein, damit der Server genau diese Bytes prüft. Bleibt das Feld leer, wird er hier berechnet.";
548
+ };
549
+ readonly database: {
550
+ readonly title: "In welche Datenbank installieren?";
551
+ readonly hint: "Wählen Sie eine beschreibbare Verbindung. Dort werden die Tabellen angelegt, und daraus liest die App anschließend.";
552
+ readonly tables: "Tabellen: {count}";
553
+ readonly readOnly: "Nur lesend";
554
+ readonly writable: "Beschreibbar";
555
+ readonly noWritable: "Keine beschreibbare Verbindung";
556
+ readonly allReadOnly: "Alle Verbindungen hier verwenden eine nur lesende Rolle, daher kann keine App ihre Tabellen anlegen. Verbinden Sie zuerst eine, die DDL ausführen darf.";
557
+ };
558
+ readonly plan: {
559
+ readonly title: "Schemaplan prüfen";
560
+ readonly hint: "Genau das wird in Ihrer Datenbank angelegt. Bisher wurde nichts geschrieben.";
561
+ readonly refused: "Diese App kann hier nicht installiert werden";
562
+ readonly create: "Anlegen";
563
+ readonly reuse: "Vorhandene nutzen";
564
+ readonly toggleDdl: "DDL-Vorschau anzeigen";
565
+ readonly ddl: "DDL-Vorschau";
566
+ readonly ddlNote: "Beispielhaft. Der Server erzeugt die exakte Anweisung für Ihre Engine, inklusive Fremdschlüsseln.";
567
+ readonly summary: "{created} angelegt · {reused} wiederverwendet";
568
+ };
569
+ readonly done: {
570
+ readonly title: "Installiert";
571
+ readonly body: "{key} wird jetzt ausgeliefert. Wählen Sie unten, wo die Mitarbeiterseite erscheint.";
572
+ readonly schema: "Tabellen angelegt: {created} · wiederverwendet: {reused}";
573
+ };
574
+ readonly cancel: "Abbrechen";
575
+ readonly back: "Zurück";
576
+ readonly upload: "Hochladen";
577
+ readonly continue: "Weiter";
578
+ readonly confirm: "Installieren";
579
+ readonly finish: "Apps verwalten";
580
+ readonly staged: "Entpackte Dateien: {files}";
581
+ readonly footerStep: "Schritt {n} von {total}";
582
+ readonly footerStepApp: "Schritt {n} von {total} · {app}";
583
+ readonly chosen: {
584
+ readonly title: "{app} installieren";
585
+ readonly hint: "Diese App kam mit Ihrem Build und liegt bereits auf der Festplatte. Es wird nichts angelegt, bevor Sie den Schemaplan bestätigen.";
586
+ };
587
+ };
588
+ readonly installed: {
589
+ readonly title: "Installierte Apps";
590
+ readonly install: "App installieren";
591
+ readonly emptyTitle: "Noch keine Apps installiert";
592
+ readonly emptyBody: "Laden Sie ein gebautes Oberflächenpaket hoch, um eine zu installieren. Hier installierte Apps werden sofort ausgeliefert — ohne Neustart, anders als bei einem Verzeichnis.";
593
+ readonly uninstall: "Deinstallieren";
594
+ readonly confirmTitle: "Diese App deinstallieren?";
595
+ readonly confirmBody: "Ihre Oberflächen werden nicht mehr ausgeliefert und das Paket wird gelöscht. Tabellen, die sie in Ihrer Datenbank angelegt hat, bleiben unangetastet.";
596
+ readonly confirmPrompt: "Geben Sie zur Bestätigung {key} ein";
597
+ readonly confirmCancel: "Abbrechen";
598
+ readonly confirmClose: "Schließen";
599
+ readonly stagedTitle: "Hochgeladen, aber nicht installiert";
600
+ readonly stagedHint: "Verwerfen Sie, wogegen Sie sich entschieden haben, oder laden Sie denselben Schlüssel erneut hoch, um ihn zu ersetzen.";
601
+ readonly discard: "Verwerfen";
602
+ readonly installedAt: "installiert {when}";
603
+ };
604
+ readonly browse: {
605
+ readonly title: "Apps, die Sie installieren können";
606
+ readonly subtitle: "Fertige Apps, die mit diesem Build geliefert wurden. Eine Installation legt die benötigten Tabellen an und liefert die Oberflächen aus — bis Sie den Plan bestätigen, passiert nichts.";
607
+ readonly search: "Apps suchen…";
608
+ readonly clear: "Suche leeren";
609
+ readonly all: "Alle";
610
+ readonly by: "von {publisher}";
611
+ readonly install: "Installieren";
612
+ readonly installed: "Installiert";
613
+ readonly noMatch: "Keine App passt zu dieser Suche";
614
+ readonly noMatchBody: "Versuchen Sie einen anderen Begriff oder eine andere Kategorie.";
615
+ readonly emptyTitle: "Keine Apps zum Installieren verfügbar";
616
+ readonly emptyBody: "Apps, die mit diesem Build geliefert werden, erscheinen hier. Lassen Sie ADMINIUM_BUNDLED_APPS auf ein Verzeichnis mit App-Paketen zeigen, oder laden Sie selbst eines hoch.";
617
+ readonly unreadable: "Das Manifest dieses Pakets konnte nicht gelesen werden. Es lässt sich nicht installieren — verwerfen Sie es unten.";
618
+ };
619
+ };
620
+ readonly hub: {
621
+ readonly action: {
622
+ readonly delete: "Löschen";
623
+ readonly pause: "Pausieren";
624
+ readonly pausedHint: "Diese Verbindung ist pausiert – setzen Sie sie fort, um die Datenbank zu erreichen.";
625
+ readonly regional: "Regionale Einstellungen";
626
+ readonly reintrospect: "Neu introspizieren";
627
+ readonly reintrospectFile: "Schemadatei-Quellen haben keine Live-Datenbank — laden Sie stattdessen die Datei erneut hoch.";
628
+ readonly remap: "Schema neu zuordnen";
629
+ readonly rename: "Umbenennen";
630
+ readonly resume: "Fortsetzen";
631
+ readonly test: "Testen";
216
632
  };
633
+ readonly card: {
634
+ readonly lastIntrospected: "Zuletzt introspiziert";
635
+ readonly latency: "Latenz";
636
+ readonly latencyMs: "{latency, number} ms";
637
+ readonly never: "Nie";
638
+ readonly pages: "Seiten";
639
+ readonly paused: "Adminium stellt keine Verbindung zu dieser Datenbank her. Ihre Seiten laden wieder, sobald Sie sie fortsetzen.";
640
+ readonly pausedSince: "Pausiert {when} – Adminium stellt keine Verbindung zu dieser Datenbank her. Ihre Seiten laden wieder, sobald Sie sie fortsetzen.";
641
+ readonly readOnly: "Schreibgeschützt";
642
+ readonly tables: "Tabellen";
643
+ readonly timezone: "Zeitzone";
644
+ readonly timezoneGuessed: "von diesem Server";
645
+ };
646
+ readonly connectNew: "Neue Verbindung";
217
647
  readonly delete: {
218
- readonly title: "Verbindung löschen";
219
648
  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
649
  readonly cancel: "Abbrechen";
223
650
  readonly close: "Schließen";
224
- readonly success: "Verbindung „{name}“ gelöscht";
651
+ readonly confirm: "Verbindung löschen";
225
652
  readonly failed: "Die Verbindung konnte nicht gelöscht werden. Versuchen Sie es erneut.";
653
+ readonly prompt: "Geben Sie {name} zur Bestätigung ein";
654
+ readonly success: "Verbindung „{name}“ gelöscht";
655
+ readonly title: "Verbindung löschen";
226
656
  };
227
657
  readonly empty: {
228
- readonly title: "Noch keine Datenquellen";
229
658
  readonly body: "Verbinden Sie eine Datenbank — Adminium generiert Ihr Admin-Panel aus deren Schema.";
230
659
  readonly cta: "Datenbank verbinden";
660
+ readonly title: "Noch keine Datenquellen";
231
661
  };
232
662
  readonly hostedApps: "Gehostete Apps";
233
- readonly subtitlePaused: "{healthy, number} von {total, plural, one {# Verbindung} other {# Verbindungen}} fehlerfrei · {paused, number} pausiert";
663
+ readonly introspect: {
664
+ readonly failed: "Introspektion fehlgeschlagen. Versuchen Sie es erneut.";
665
+ readonly masksProposed: "{count, plural, one {# Spalte} other {# Spalten}} zur Maskierung vorgeschlagen — im Remap-Editor prüfen.";
666
+ readonly noChanges: "Schema unverändert — kein neuer Snapshot.";
667
+ readonly updated: "Schema neu introspiziert";
668
+ };
234
669
  readonly pause: {
235
- readonly title: "Diese Verbindung pausieren?";
236
670
  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
671
  readonly confirm: "Verbindung pausieren";
239
- readonly pausedToast: "Verbindung {name} pausiert";
240
- readonly resumedToast: "Verbindung „{name}“ fortgesetzt";
672
+ 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.";
241
673
  readonly pauseFailed: "Die Verbindung konnte nicht pausiert werden. Versuchen Sie es erneut.";
674
+ readonly pausedToast: "Verbindung „{name}“ pausiert";
242
675
  readonly resumeFailed: "Die Verbindung konnte nicht fortgesetzt werden. Versuchen Sie es erneut.";
676
+ readonly resumedToast: "Verbindung „{name}“ fortgesetzt";
677
+ readonly title: "Diese Verbindung pausieren?";
678
+ };
679
+ readonly regional: {
680
+ readonly currency: "Währung";
681
+ readonly currencyHelper: "Dient der Formatierung von Beträgen. Optional – ohne Angabe ändert sich nur die Formatierung.";
682
+ readonly currencyPlaceholder: "ISO-4217-Code";
683
+ readonly failed: "Regionale Einstellungen konnten nicht gespeichert werden";
684
+ 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.";
685
+ readonly guessedTitle: "Diese Zeitzone stammt vom Server";
686
+ readonly intro: "Sie beschreiben das Unternehmen, zu dem diese Datenbank gehört, nicht die lesende Person. Von Adminium ausgelieferte Apps lesen sie hier.";
687
+ readonly noMatch: "Keine passende Zone";
688
+ readonly noMatchCurrency: "Keine passende Währung";
689
+ readonly notSet: "Nicht gesetzt";
690
+ readonly save: "Speichern";
691
+ readonly saved: "Regionale Einstellungen aktualisiert";
692
+ readonly timezone: "Zeitzone";
693
+ 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.";
694
+ readonly timezonePlaceholder: "Region/Stadt";
695
+ readonly title: "Regionale Einstellungen";
243
696
  };
244
697
  readonly rename: {
245
- readonly title: "Verbindung umbenennen";
246
- readonly label: "Name";
698
+ readonly failed: "Die Verbindung konnte nicht umbenannt werden";
247
699
  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.";
700
+ readonly label: "Name";
248
701
  readonly save: "Umbenennen";
249
702
  readonly saved: "Verbindung umbenannt";
250
- readonly failed: "Die Verbindung konnte nicht umbenannt werden";
703
+ readonly title: "Verbindung umbenennen";
704
+ };
705
+ readonly stats: {
706
+ readonly connections: "Verbindungen";
707
+ readonly healthy: "Fehlerfrei";
708
+ readonly pages: "Generierte Seiten";
709
+ readonly tables: "Einbezogene Tabellen";
710
+ };
711
+ readonly status: {
712
+ readonly connected: "Verbunden";
713
+ readonly error: "Fehler";
714
+ readonly paused: "Pausiert";
715
+ readonly testing: "Wird getestet…";
716
+ readonly unconfigured: "Entwurf";
717
+ };
718
+ readonly subtitle: "{healthy, number} von {total, plural, one {# Verbindung} other {# Verbindungen}} fehlerfrei";
719
+ readonly subtitlePaused: "{healthy, number} von {total, plural, one {# Verbindung} other {# Verbindungen}} fehlerfrei · {paused, number} pausiert";
720
+ readonly test: {
721
+ readonly failed: "Verbindungstest fehlgeschlagen";
722
+ readonly ok: "Verbindung fehlerfrei · {latency, number} ms";
251
723
  };
724
+ readonly title: "Datenverbindungen";
252
725
  };
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.";
726
+ readonly intent: {
727
+ readonly analytics: {
728
+ readonly description: "Dashboards, Diagramme und schreibgeschützte Tabellen. Keine Formulare, keine Schreibvorgänge — jede Rolle auf Betrachter begrenzt.";
729
+ readonly title: "Schreibgeschützte Analysen";
730
+ };
731
+ readonly crud: {
732
+ readonly description: "Eine Bearbeitungsseite pro Tabelle plus Suche und Import/Export — ein minimales Zuhause, keine Dashboards.";
733
+ readonly title: "CRUD-Tabellen";
734
+ };
735
+ readonly fullAdmin: {
736
+ readonly description: "Dashboards, CRUD-Seiten, Suche, Importe und Exporte — alles, was Ihr Schema unterstützt.";
737
+ readonly title: "Vollständiges Admin-Panel";
738
+ };
739
+ 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.";
740
+ readonly support: {
741
+ 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.)";
742
+ readonly title: "Support-Konsole";
743
+ };
744
+ readonly title: "Was brauchen Sie?";
745
+ readonly trust: "Wir lesen nur Ihr Schema — während der Einrichtung nie Ihre Zeilendaten.";
746
+ };
747
+ readonly llmRuns: {
748
+ readonly review: {
749
+ readonly applied: {
750
+ readonly body: "Die übernommenen Vorschläge unten sind schreibgeschützt.";
751
+ readonly title: "Dieser Lauf wurde angewendet";
267
752
  };
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";
753
+ readonly apply: {
754
+ readonly confirm: "Änderungen übernehmen";
755
+ readonly empty: "Nichts zum Übernehmen ausgewählt.";
756
+ readonly subtitle: "Diese Änderungen werden in einer Transaktion geschrieben und können rückgängig gemacht werden.";
757
+ readonly title: "{n} Vorschläge übernehmen";
280
758
  };
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.";
759
+ readonly applyFailed: "Es wurde nichts übernommen";
760
+ readonly applyUnknown: "Der Server hat nicht gesagt, warum.";
761
+ readonly bulk: {
762
+ readonly acceptAll: "Alle ≥ {pct}% übernehmen";
763
+ readonly clear: "Auswahl aufheben";
764
+ readonly thresholdAria: "Konfidenzschwelle für „Alle übernehmen“";
765
+ readonly thresholdLabel: "Konfidenzschwelle";
284
766
  };
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.";
767
+ readonly cat: {
768
+ readonly copy: "Mikrotext";
769
+ readonly dashboard: "Dashboard";
770
+ readonly enum: "Enum";
771
+ readonly group: "Navigationsgruppe";
772
+ readonly key: "Schlüsselspalten";
773
+ readonly label: "Bezeichnung";
774
+ readonly pii: "PII";
775
+ readonly relation: "Beziehung";
776
+ readonly template: "Seitenvorlage";
777
+ readonly widget: "Widget";
292
778
  };
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.";
779
+ readonly empty: {
780
+ readonly body: "Dieser Lauf hat keine Vorschläge zur Prüfung erzeugt.";
781
+ readonly title: "Keine Vorschläge";
296
782
  };
297
- readonly sessionTtl: {
298
- readonly label: "Sitzungsdauer (Stunden)";
299
- readonly error: "Zwischen {min, number} und {max, number} Stunden.";
783
+ readonly error: {
784
+ readonly title: "Dieser Lauf konnte nicht geladen werden";
300
785
  };
301
- readonly passwordMin: {
302
- readonly label: "Minimale Passwortlänge";
303
- readonly error: "Zwischen {min, number} und {max, number} Zeichen.";
786
+ readonly footer: {
787
+ readonly apply: "{n} übernommene Vorschläge anwenden";
788
+ readonly count: "{n} Vorschläge ausgewählt";
789
+ readonly failed: "Anwenden fehlgeschlagen";
304
790
  };
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.";
791
+ readonly group: {
792
+ readonly dashboards: "Dashboards & Widgets";
793
+ readonly enums: "Enum-Semantik";
794
+ readonly icons: "Symbole";
795
+ readonly keys: "Schlüsselspalten";
796
+ readonly labels: "Bezeichnungen & Übersetzungen";
797
+ readonly microcopy: "Mikrotexte";
798
+ readonly navigation: "Navigation & Domänen";
799
+ readonly pii: "PII & Maskierung";
800
+ readonly relations: "Beziehungen";
801
+ readonly templates: "Seitenvorlagen";
312
802
  };
313
- readonly port: {
314
- readonly label: "Port";
315
- readonly error: "Zwischen {min, number} und {max, number}.";
803
+ readonly header: {
804
+ readonly agree: "{n} übereinstimmend";
805
+ readonly byo: "BYO";
806
+ readonly conflict: "{n} Konflikt";
807
+ readonly countsAria: "Anzahl der Vorschläge";
808
+ readonly model: "Modell";
809
+ readonly new: "{n} neu";
810
+ readonly pathByo: "Kopieren & Einfügen";
811
+ readonly pathDirect: "Direkte API";
812
+ readonly rejects: "{n} Ablehnungen";
813
+ readonly snapshot: "Schnappschuss";
814
+ readonly title: "KI-Vorschläge prüfen";
316
815
  };
317
- readonly user: {
318
- readonly label: "Benutzername";
319
- readonly helper: "Leer lassen, wenn das Relay keine Anmeldung verlangt.";
816
+ readonly notReady: {
817
+ 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.";
818
+ readonly title: "Dieser Lauf hat noch keine Vorschläge zur Prüfung";
320
819
  };
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.";
820
+ readonly row: {
821
+ readonly acceptAria: "{noun}-Vorschlag für {target} übernehmen";
822
+ readonly confidenceAria: "Konfidenz {pct}%";
823
+ readonly hideTranslations: "Übersetzungen ausblenden";
824
+ readonly keptEdited: "beibehalten – von Ihnen bearbeitet";
825
+ readonly noAi: "Kein KI-Vorschlag";
826
+ readonly rejectsCallout: "Die KI lehnt eine heuristische Entscheidung ab – vor dem Übernehmen bestätigen.";
827
+ readonly showTranslations: "Übersetzungen anzeigen";
325
828
  };
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.";
829
+ readonly section: {
830
+ readonly acceptedCount: "{n} übernommen";
831
+ readonly selectAllAria: "Alle in {group} auswählen";
330
832
  };
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.";
833
+ readonly status: {
834
+ readonly agree: "Stimmt überein";
835
+ readonly conflict: "Konflikt";
836
+ readonly heuristicOnly: "Nur Heuristik";
837
+ readonly locked: "Gesperrt";
838
+ readonly new: "Neu";
839
+ readonly rejects: "Lehnt Heuristik ab";
334
840
  };
335
- readonly remove: "Mailserver entfernen";
336
- readonly review: {
337
- readonly removed: "Entfernt";
338
- readonly password: "Ersetzt";
841
+ readonly toast: {
842
+ readonly applied: "{n} Vorschläge übernommen";
843
+ readonly appliedPartial: "{n} Vorschläge übernommen (einige übersprungen)";
844
+ readonly applyFailed: "Vorschläge konnten nicht übernommen werden";
845
+ readonly undoFailed: "Diese Änderung konnte nicht rückgängig gemacht werden";
846
+ };
847
+ readonly value: {
848
+ readonly absent: "Keiner";
849
+ readonly dash: "—";
850
+ readonly description: "Beschreibung";
851
+ readonly display: "Anzeige";
852
+ readonly enumCategory: "Kategorie";
853
+ readonly enumWorkflow: "Workflow";
854
+ readonly guidance: "Hinweis für leeren Zustand";
855
+ readonly headline: "Überschrift für leeren Zustand";
856
+ readonly key: "Schlüssel";
857
+ readonly label: "Bezeichnung";
858
+ readonly none: "Kein Wert";
859
+ readonly notPii: "Keine PII";
860
+ readonly rank: "Rang {n}";
861
+ readonly span: "Breite {n}";
862
+ readonly subtitle: "Seitenuntertitel";
863
+ readonly tableCount: "{n} Tabellen";
864
+ readonly widgetCount: "{n} Widgets";
339
865
  };
340
866
  };
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";
867
+ };
868
+ readonly meta: {
869
+ readonly move: {
870
+ readonly copying: "Adminiums Tabellen werden verschoben …";
871
+ 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.";
872
+ readonly failed: "Adminiums Tabellen konnten nicht verschoben werden — erneut versuchen.";
873
+ readonly restarting: "Neustart …";
874
+ readonly restartingBody: "Die Kopie ist fertig. Adminium startet auf der neuen Datenbank neu — diese Seite fährt in wenigen Sekunden von selbst fort.";
875
+ 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.";
876
+ readonly title: "Adminiums Tabellen werden verschoben";
357
877
  };
358
- readonly danger: {
359
- readonly heading: "Gefahrenzone";
360
- readonly subtitle: "Unumkehrbare Aktionen.";
361
- readonly empty: "Nichts zu löschennoch 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";
878
+ readonly sameDb: {
879
+ readonly description: "adminium_*-Tabellen werden neben Ihren Quelltabellen angelegt. Einfachste Einrichtung — benötigt eine Rolle mit Schreib- und CREATE-TABLE-Rechten.";
880
+ readonly disabledFile: "Eine Schemadatei hat keine Live-Datenbank — wählen Sie für Adminiums eigene Tabellen eine separate Datenbank.";
881
+ 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.";
882
+ readonly disabledReadOnly: "Ihre Rolle ist schreibgeschützt Adminium schreibt nie in diese Datenbank. Wählen Sie für Adminiums eigene Tabellen eine separate Datenbank.";
883
+ readonly title: "Gleiche Datenbank";
364
884
  };
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";
885
+ readonly separate: {
886
+ readonly description: "Adminium hält seine Tabellen in einer anderen Datenbank. Ihre Quelle bleibt unangetastet — erforderlich für schreibgeschützte Quellen.";
887
+ readonly dsn: "Verbindungszeichenfolge der Meta-Datenbank";
888
+ readonly errorTitle: "Meta-Store nicht kompatibel";
889
+ readonly helper: "Benötigt Schreib- und DDL-Rechte — Adminium führt dort seine eigenen Migrationen aus.";
890
+ readonly insufficient: "Diese Rolle kann den Meta-Store nicht aufnehmen — Adminium benötigt dort Schreib- und CREATE-TABLE-Rechte.";
891
+ readonly ok: "Kompatibel — Schreiben ✓ · DDL ✓";
892
+ readonly test: "Verbindung testen";
893
+ readonly title: "Separate Datenbank";
369
894
  };
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";
895
+ readonly subtitle: "Seiten, Rollen, Audit-Log und Einstellungen liegen in Tabellen mit adminium_-Präfix — nie mit Ihren Daten vermischt.";
896
+ readonly testFailed: "Verbindung fehlgeschlagen.";
897
+ readonly title: "Wo soll Adminium seine eigenen Tabellen ablegen?";
898
+ readonly v1Note: {
899
+ 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).";
900
+ readonly title: "Über diese Installation";
374
901
  };
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";
902
+ readonly willMove: {
903
+ 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.";
904
+ readonly title: "Dies verschiebt Adminiums Tabellen";
379
905
  };
380
906
  };
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.";
907
+ readonly pages: {
908
+ readonly action: {
909
+ readonly delete: "Seite löschen";
910
+ readonly duplicate: "Duplizieren";
911
+ readonly edit: "Seite bearbeiten";
912
+ readonly hide: "In der Seitenleiste ausblenden";
913
+ readonly show: "In der Seitenleiste anzeigen";
914
+ };
915
+ readonly attachments: {
916
+ readonly accept: "Zulässige Dateitypen";
917
+ readonly acceptHint: "Keine Auswahl akzeptiert alles, was dieser Workspace erlaubt. Eine Auswahl hier kann diese Liste nur einschränken, nie erweitern.";
918
+ readonly column: {
919
+ readonly adoptHint: "Diese Tabelle hat die Spalte bereits, es wird also nichts angelegt — sie wird so verwendet, wie sie ist.";
920
+ readonly bound: "Dateien liegen in der Spalte {column} dieser Tabelle.";
921
+ readonly boundHint: "Wenn Sie Anhänge später abschalten, wird nur diese Seite gelöst. Die Spalte und ihre Dateien bleiben unangetastet.";
922
+ readonly confirm: "Ausführen";
923
+ readonly create: "Spalte anlegen";
924
+ readonly createHint: "Adminium fügt dieser Tabelle eine Textspalte hinzu. Sie sehen die genaue Anweisung, bevor etwas läuft.";
925
+ readonly createdHint: "Die Spalte existiert jetzt. Speichern Sie diese Seite, um die Verknüpfung abzuschließen.";
926
+ readonly failed: "Das hat nicht funktioniert";
927
+ readonly invalid: "Ein Spaltenname muss mit einem Buchstaben beginnen und darf nur Kleinbuchstaben, Ziffern und Unterstriche enthalten.";
928
+ readonly label: "Spalte, die die Dateien enthält";
929
+ readonly required: "Geben Sie der Spalte einen Namen.";
930
+ readonly tooLong: "Dieser Name ist zu lang für eine Spalte.";
931
+ readonly use: "Diese Spalte verwenden";
932
+ readonly wrongType: "Diese Tabelle hat bereits eine Spalte mit diesem Namen, und sie kann keine Dateireferenz aufnehmen. Wählen Sie einen anderen Namen.";
405
933
  };
406
- readonly openaiCompatible: {
407
- readonly label: "OpenAI-kompatibel";
408
- readonly desc: "Jeder Endpunkt, der das OpenAI-Format spricht Groq, Together, vLLM, LM Studio.";
934
+ readonly destination: "Wohin die Dateien gehen";
935
+ readonly destinationDefault: "Das Standard-Speicherziel";
936
+ readonly destinationHint: "Belassen Sie dies beim Standard, es sei denn, die Dateien dieser Tabelle gehören woandershin.";
937
+ readonly destinationIsDefault: "{name} (Standard)";
938
+ readonly destinationLocal: "Die Festplatte dieses Servers";
939
+ readonly enable: "Anhänge an den Datensätzen dieser Tabelle erlauben";
940
+ readonly enableHint: "Dateien werden auf Adminiums Seite verknüpft, diese Tabelle braucht also keine neue Spalte — es funktioniert auf einer schreibgeschützten Verbindung und auf einer Tabelle, die Sie lieber nicht ändern möchten.";
941
+ readonly enableHintColumn: "Dateien liegen in einer Spalte dieser Tabelle und erscheinen deshalb sowohl in den Dialogen „Neu“ und „Bearbeiten“ als auch bei jedem Datensatz.";
942
+ readonly enableHintSidecar: "Dateien werden stattdessen auf Adminium-Seite verknüpft. Sie erscheinen auf der Seite jedes Datensatzes, nicht im Dialog „Neu“.";
943
+ readonly maxBytes: "Größte Datei (MB)";
944
+ readonly maxBytesHint: "Leer lassen, um dem Limit des Workspace zu folgen. Eine Zahl hier kann es nur senken.";
945
+ readonly maxCount: "Höchstzahl an Dateien pro Datensatz";
946
+ readonly maxCountHint: "Leer lassen, um so viele zu akzeptieren, wie ein Datensatz braucht.";
947
+ readonly sidecar: {
948
+ readonly noPrivilege: "Die Rolle dieser Verbindung kann keine Tabellen ändern, deshalb kann Adminium ihr keine Spalte hinzufügen.";
949
+ readonly readOnlyIntent: "Diese Verbindung ist für reine Auswertung eingerichtet, deshalb kann Adminium ihr keine Spalte hinzufügen.";
950
+ readonly readOnlyRole: "Diese Verbindung meldet sich mit einer schreibgeschützten Rolle an, deshalb kann Adminium ihr keine Spalte hinzufügen.";
951
+ readonly schemaFile: "Diese Verbindung wurde aus einer Schemadatei erstellt, deshalb kann Adminium ihr keine Spalte hinzufügen.";
409
952
  };
410
- readonly ollama: {
411
- readonly label: "Ollama (lokal)";
412
- readonly desc: "Modelle laufen lokal über Ollama — kein Schlüssel, keine Cloud.";
953
+ readonly type: {
954
+ readonly office: "Office-Dokumente";
955
+ readonly text: "Reiner Text";
413
956
  };
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
957
  };
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";
958
+ readonly columns: {
959
+ readonly addFromLinked: "Aus verknüpften Tabellen";
960
+ readonly addFromTable: "Aus {table}";
961
+ readonly addLinkedFrom: "Tabellen, die hierher verweisen";
962
+ readonly addLinkedFromHelp: "Zählen Sie die Zeilen, die auf jeden Datensatz verweisen, oder addieren Sie eine ihrer Zahlen.";
963
+ readonly addLinkedHelp: "Zeigt einen Wert aus der Tabelle, auf die eine Verknüpfungsspalte verweist.";
964
+ readonly addNoMatches: "Keine Spalten passen zu „{query}“.";
965
+ readonly addOpen: "Spalte hinzufügen";
966
+ readonly addSearch: "Spalten durchsuchen…";
967
+ readonly addTitle: "Spalte hinzufügen";
968
+ readonly addVia: "über {column}";
969
+ readonly avatar: "Avatar";
970
+ readonly avatarToggle: "Monogramm neben {name} anzeigen";
971
+ readonly countBadge: "Anzahl";
972
+ readonly dragHandle: "{name} verschieben";
973
+ readonly empty: "Noch keine Spalten fügen Sie unten welche hinzu.";
974
+ readonly file: {
975
+ readonly acceptHelp: "Lassen Sie alle Typen aus, um alles zu akzeptieren, was dieser Workspace akzeptiert. Eine Auswahl kann diese Liste nur einschränken — eine Spalte akzeptiert nie einen Typ, den der Workspace ablehnt.";
976
+ readonly acceptLabel: "Zulässige Typen";
977
+ readonly badge: "Datei";
978
+ readonly destinationDefault: "Das Standard-Speicherziel";
979
+ readonly destinationHelp: "Wo die über diese Spalte hochgeladenen Bytes abgelegt werden.";
980
+ readonly destinationLabel: "Speicherziel";
981
+ readonly inlineHelp: "Nur Bilder werden in der Zelle dargestellt. Alles andere bleibt ein Chip mit Name und Größe, ganz gleich, wie dies eingestellt ist.";
982
+ readonly inlineLabel: "In der Tabelle anzeigen";
983
+ readonly maxCountHelp: "Leer lassen, um so viele zu akzeptieren, wie ein Datensatz braucht.";
984
+ readonly maxCountLabel: "Höchstzahl Dateien pro Datensatz";
985
+ readonly maxCountToggle: "Höchstzahl Dateien für {name}";
986
+ readonly maxHelp: "Leer lassen, um das Limit des Workspace zu verwenden. Eine Spalte kann nur weniger verlangen.";
987
+ readonly maxLabel: "Größte Datei (MB)";
988
+ readonly maxToggle: "Größte von {name} akzeptierte Datei, in MB";
989
+ readonly multipleHelp: "Die Spalte speichert eine Liste von Dateien statt einer einzelnen. Vorhandene Einzelwerte funktionieren weiter — sie werden als Liste mit einem Eintrag gelesen.";
990
+ readonly multipleLabel: "Mehr als eine Datei aufnehmen";
991
+ readonly ref: {
992
+ readonly id: "Adminiums Datei-ID";
993
+ readonly key: "Der Schlüssel im Speicherziel";
994
+ readonly url: "Ein Link zur Datei";
995
+ };
996
+ readonly refHelp: "Was in diese Spalte geschrieben wird, wenn eine Datei hochgeladen wird. Bereits gespeicherte Werte funktionieren weiter — dies ändert nur den nächsten.";
997
+ readonly refLabel: "Gespeicherter Wert";
998
+ readonly refTooNarrow: "Diese Spalte ist zu kurz für diesen Wert. Wählen Sie einen, den sie aufnehmen kann, oder erweitern Sie die Spalte in der Datenbank.";
999
+ readonly refWidth: "{shape} braucht {needs} Zeichen, diese Spalte fasst {holds}";
1000
+ readonly switch: "Datei";
1001
+ readonly switchToggle: "{name} speichert eine Datei";
1002
+ readonly type: {
1003
+ readonly csv: "CSV";
1004
+ readonly gif: "GIF";
1005
+ readonly heic: "HEIC";
1006
+ readonly jpeg: "JPEG";
1007
+ readonly json: "JSON";
1008
+ readonly markdown: "Markdown";
1009
+ readonly mp3: "MP3-Audio";
1010
+ readonly mp4: "MP4-Video";
1011
+ readonly office: "Office-Dokumente";
1012
+ readonly ogg: "Ogg";
1013
+ readonly pdf: "PDF";
1014
+ readonly png: "PNG";
1015
+ readonly svg: "SVG";
1016
+ readonly text: "Reiner Text";
1017
+ readonly wav: "WAV-Audio";
1018
+ readonly webm: "WebM";
1019
+ readonly webp: "WebP";
1020
+ readonly zip: "ZIP";
1021
+ };
1022
+ };
1023
+ readonly fold: {
1024
+ readonly avg: "Durchschnitt";
1025
+ readonly max: "Max";
1026
+ readonly min: "Min";
1027
+ readonly sum: "Summe";
1028
+ };
1029
+ readonly foldAdd: "Hinzufügen";
1030
+ readonly foldLabel: "Aggregat";
1031
+ readonly followColumn: "{name} folgen";
1032
+ readonly header: "Überschrift für {name}";
1033
+ readonly help: "Spalten per Ziehen umsortieren, ihre Überschriften umbenennen und auswählen, welche in der Tabelle erscheinen.";
1034
+ readonly lookupBack: "Zurück";
1035
+ readonly lookupBadge: "Verknüpft";
1036
+ readonly lookupBroken: "Diese Verknüpfung lässt sich nicht mehr auflösen";
1037
+ readonly lookupBrokenBody: "Das Schema hat sich währenddessen geändert. Beginnen Sie die Verknüpfung erneut.";
1038
+ readonly lookupBrowse: "Wählen Sie, was aus {table} angezeigt wird";
1039
+ readonly mask: "Maskieren";
1040
+ readonly maskHelp: "Maskieren verbirgt einen Wert hinter einer Anzeigen-Schaltfläche für Lesende, die ihn sehen dürfen. Ob die Daten die Datenbank überhaupt verlassen, wird an der Verbindung festgelegt, nicht hier.";
1041
+ readonly maskToggle: "{name} hinter einer Anzeigen-Schaltfläche verbergen";
1042
+ readonly masked: "Maskiert";
1043
+ readonly none: {
1044
+ 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.";
1045
+ readonly title: "Diese Seite hat noch keine Spalten";
1046
+ };
1047
+ readonly pk: "Schlüssel";
1048
+ readonly remove: "{name} entfernen";
1049
+ readonly schemaUnavailable: "Die Datenbankspalten konnten nicht geladen werden, daher lassen sich hier keine Spalten hinzufügen.";
1050
+ readonly shown: "Sichtbar";
1051
+ readonly toggle: "{name} in der Tabelle anzeigen";
513
1052
  };
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.";
1053
+ readonly create: {
1054
+ readonly failed: "Die Seite konnte nicht erstellt werden";
1055
+ readonly submit: "Seite erstellen";
1056
+ readonly subtitle: "Legen Sie fest, was diese Seite zeigt und wie sie aussieht. Die Vorschau folgt Ihrer Auswahl.";
1057
+ readonly title: "Neue Seite";
521
1058
  };
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";
1059
+ readonly createButton: "Neue Seite";
1060
+ readonly delete: {
1061
+ 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.";
1062
+ 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.";
1063
+ readonly confirm: "Seite löschen";
1064
+ readonly prompt: "Geben Sie zur Bestätigung {slug} ein";
1065
+ readonly title: "Diese Seite löschen?";
554
1066
  };
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";
1067
+ readonly derived: {
1068
+ readonly add: "Spalte hinzufügen";
1069
+ readonly atLeast: "ist mindestens";
560
1070
  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";
1071
+ readonly emptyBody: "Fassen Sie zuerst eine verknüpfte Tabelle in der Spalten-Karte zusammen — die Regeln hier bauen auf diesen Zahlen auf.";
1072
+ readonly emptyTitle: "Noch keine berechneten Zahlen";
1073
+ readonly fieldBadge: "Berechnet";
1074
+ readonly foldBadge: "Zusammenfassung";
1075
+ readonly help: "Berechnen Sie Zahlen aus den Zusammenfassungen oben und den eigenen Spalten dieses Datensatzes. Sie werden beim Laden der Seite berechnet und lassen sich nicht sortieren.";
1076
+ readonly label: "Spaltenüberschrift";
1077
+ readonly minus: "minus";
1078
+ readonly numberHelp: "Zahlen sind einfache Dezimalzahlen — 500 oder 12.50, nie 1,000 oder 5e3.";
1079
+ readonly operandA: "Zahl";
1080
+ readonly operandB: "Zahl";
1081
+ readonly operator: "Operator";
1082
+ readonly otherwise: "sonst";
1083
+ readonly percentOf: "Prozent aus diesem Datensatz";
1084
+ readonly plus: "plus";
1085
+ readonly preset: {
1086
+ readonly combine: "Zwei Zahlen addieren oder subtrahieren";
1087
+ readonly percent: "Prozentsatz einer Zahl";
1088
+ readonly rule: "Regel mit einem Schwellenwert";
1089
+ };
1090
+ readonly previewHelp: "Beispielwerte, berechnet mit demselben Code, den die Seite verwendet.";
1091
+ readonly previewTitle: "Vorschau";
1092
+ readonly remove: "{name} entfernen";
1093
+ readonly thenShow: "dann zeigen";
569
1094
  };
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.";
1095
+ readonly duplicate: {
1096
+ readonly failed: "Die Seite konnte nicht dupliziert werden";
1097
+ readonly submit: "Duplizieren";
1098
+ readonly title: "Seite duplizieren";
575
1099
  };
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";
1100
+ readonly editor: {
1101
+ readonly appearance: "Darstellung";
1102
+ readonly attachments: "Anhänge";
1103
+ readonly columns: "Spalten";
1104
+ readonly contentInvalid: "Die Konfiguration dieser Seite ist nicht lesbar";
1105
+ readonly contentInvalidBody: "Sie stammt aus einer neueren Version oder ist fehlerhaft. Erzeugen Sie die Seite neu oder löschen Sie sie.";
1106
+ readonly contentUnavailable: "Seiteninhalt konnte nicht geladen werden";
1107
+ readonly contentUnavailableBody: "Die Angaben oben lassen sich trotzdem speichern.";
1108
+ readonly data: "Daten";
1109
+ readonly derived: "Abgeleitete Zahlen";
1110
+ readonly details: "Details";
1111
+ readonly generated: {
1112
+ 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.";
1113
+ readonly title: "Diese Seite wurde aus Ihrem Schema erzeugt";
697
1114
  };
1115
+ readonly itemsPending: "Speichern Sie zuerst die Änderung oben – der Seiteninhalt wird aus der neuen Vorlage und Tabelle neu aufgebaut.";
1116
+ readonly missing: "Diese Seite existiert nicht mehr";
1117
+ readonly missingBody: "Sie wurde möglicherweise gelöscht oder von einem Generierungslauf entfernt.";
1118
+ readonly notBindable: "Diese Vorlage ist nicht an eine einzelne Tabelle gebunden";
1119
+ readonly notBindableBody: "Ihr Inhalt wird stattdessen Widget für Widget aufgebaut. Öffnen Sie die Seite und fügen Sie sie über „Bearbeiten“ hinzu.";
1120
+ readonly openPage: "Seite öffnen";
1121
+ readonly recompose: "Diese Seite wird neu aufgebaut";
1122
+ 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.";
1123
+ readonly save: "Änderungen speichern";
1124
+ readonly saveFailed: "Änderungen konnten nicht gespeichert werden";
1125
+ readonly schemaFailed: "Tabellen konnten nicht aufgelistet werden";
1126
+ readonly schemaFailedBody: "Diese Verbindung wurde möglicherweise noch nicht analysiert. Starten Sie die Introspektion unter Studio → Datenverbindungen.";
1127
+ readonly title: "Seite bearbeiten";
698
1128
  };
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";
1129
+ readonly empty: {
1130
+ readonly body: "Verbinden Sie eine Datenbank, um Seiten automatisch zu erzeugen, oder legen Sie eine von Hand an.";
1131
+ readonly title: "Noch keine Seiten";
719
1132
  };
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.";
1133
+ readonly field: {
1134
+ readonly connection: "Datenquelle";
1135
+ readonly connectionNone: "Keine";
1136
+ readonly group: "Gruppe der Seitenleiste";
1137
+ readonly groupHint: "In welchem Abschnitt der Seitenleiste sie erscheint.";
1138
+ readonly icon: "Symbol";
1139
+ readonly iconHint: "Wird neben dem Seitennamen in der Seitenleiste angezeigt.";
1140
+ readonly iconPick: "Seitensymbol auswählen";
1141
+ readonly newRowLabel: "Schaltfläche zum Hinzufügen";
1142
+ readonly newRowLabelHint: "Was auf der Schaltfläche steht, die einen Datensatz hinzufügt. Leer lassen für die Standardbeschriftung, die übersetzt wird.";
1143
+ readonly padding: "Seitenabstand";
1144
+ readonly slug: "Seitenadresse";
1145
+ readonly slugHint: "Kleinbuchstaben, Ziffern und Bindestriche. Nur der letzte Teil – den Rest der Adresse ergänzen wir.";
1146
+ readonly slugTaken: "Diese Adresse wird bereits von einer anderen Seite verwendet.";
1147
+ readonly slugWarning: "Eine geänderte Adresse macht bestehende Links und Lesezeichen zu dieser Seite ungültig.";
1148
+ readonly table: "Tabelle";
1149
+ 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.";
1150
+ readonly tableNeedsConnection: "Wählen Sie zuerst eine Datenquelle.";
1151
+ readonly tableNone: "Nicht verknüpft";
1152
+ readonly template: "Vorlage";
1153
+ readonly templateHint: "Bestimmt, was die Seite enthalten kann. Später änderbar.";
1154
+ readonly title: "Titel";
1155
+ readonly titleHint: "Wird in der Seitenleiste und in der Kopfzeile der Seite angezeigt.";
1156
+ readonly visible: "In der Seitenleiste anzeigen";
1157
+ readonly visibleHint: "Eine ausgeblendete Seite bleibt über ihre URL erreichbar, wenn man den Link kennt.";
1158
+ readonly width: "Inhaltsbreite";
1159
+ readonly widthHint: "Wie breit die Inhaltsspalte der Seite auf einem großen Bildschirm werden darf.";
730
1160
  };
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";
1161
+ readonly icon: {
1162
+ readonly noMatches: "Keine Symbole passen zu dieser Suche.";
1163
+ readonly none: "Symbol auswählen";
1164
+ readonly search: "Symbole suchen";
740
1165
  };
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).";
1166
+ readonly list: {
1167
+ readonly count: "{count, plural, one {# Seite} other {# Seiten}}";
1168
+ readonly title: "Seiten";
745
1169
  };
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.";
1170
+ readonly loadFailed: {
1171
+ 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.";
1172
+ readonly title: "Seiten konnten nicht geladen werden";
754
1173
  };
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.";
1174
+ readonly origin: {
1175
+ readonly generated: "Erzeugt";
1176
+ readonly llm: "Assistent";
1177
+ readonly manifest: "Add-on";
1178
+ readonly system: "System";
1179
+ readonly user: "Eigene";
758
1180
  };
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.";
1181
+ readonly padding: {
1182
+ readonly custom: "Benutzerdefiniert …";
1183
+ readonly default: "Standard dieser Vorlage";
1184
+ readonly none: "Kein Abstand";
1185
+ readonly standard: "Standard (28 × 24)";
1186
+ readonly x: "Seiten (px)";
1187
+ readonly y: "Oben und unten (px)";
767
1188
  };
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.";
1189
+ readonly preview: {
1190
+ readonly note: "Eine Darstellung des Layouts, nicht Ihrer Daten. Die echte Seite füllt sich nach dem Speichern.";
1191
+ readonly untitled: "Unbenannte Seite";
771
1192
  };
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.";
1193
+ readonly row: {
1194
+ readonly menu: "Aktionen für {title}";
775
1195
  };
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.)";
1196
+ readonly sidebar: {
1197
+ readonly discard: "Verwerfen";
1198
+ readonly emptyGroup: "Keine Seiten in dieser Gruppe.";
1199
+ readonly help: "Seiten innerhalb einer Gruppe umsortieren oder in eine andere Gruppe verschieben. Die Änderungen gelten für alle Benutzerinnen und Benutzer.";
1200
+ readonly moveDown: "{title} nach unten verschieben";
1201
+ readonly moveTo: "{title} in eine Gruppe verschieben";
1202
+ readonly moveUp: "{title} nach oben verschieben";
1203
+ readonly save: "Reihenfolge speichern";
1204
+ readonly saveFailed: "Die neue Reihenfolge konnte nicht gespeichert werden";
1205
+ readonly ungrouped: {
1206
+ readonly body: "Diese Seiten funktionieren unter ihrer URL, erscheinen aber nirgends in der Seitenleiste. Öffnen Sie jede einzeln und wählen Sie eine Gruppe.";
1207
+ readonly title: "Einige Seiten gehören zu keiner Gruppe der Seitenleiste";
1208
+ };
1209
+ };
1210
+ readonly status: {
1211
+ readonly hidden: "Ausgeblendet";
1212
+ readonly live: "Aktiv";
1213
+ };
1214
+ readonly subtitle: "Seiten Ihrer App hinzufügen, bearbeiten und ordnen – samt ihrer Reihenfolge in der Seitenleiste.";
1215
+ readonly tab: {
1216
+ readonly pages: "Alle Seiten";
1217
+ readonly sidebar: "Reihenfolge der Seitenleiste";
1218
+ };
1219
+ readonly title: "Seiten";
1220
+ readonly width: {
1221
+ readonly content: "Inhalt (900 px)";
1222
+ readonly dash: "Dashboard (1320 px)";
1223
+ readonly default: "Standard für diese Vorlage";
1224
+ readonly full: "Volle Breite (kein Limit)";
1225
+ readonly narrow: "Schmal (720 px)";
1226
+ readonly page: "Seite (1080 px)";
1227
+ readonly wide: "Breit (1800 px)";
779
1228
  };
780
1229
  };
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";
1230
+ readonly publicApi: {
1231
+ readonly cancel: "Abbrechen";
1232
+ readonly close: "Schließen";
1233
+ readonly error: "Etwas ist schiefgelaufen";
1234
+ readonly keys: {
1235
+ readonly appHint: "Die Kunden-Oberfläche der App liefert diesen Schlüssel dann selbst aus — eine Rotation braucht keinen Rebuild.";
1236
+ readonly appLabel: "An eine gehostete App-Oberfläche binden (optional)";
1237
+ readonly appNone: "Nicht gebunden";
1238
+ readonly create: "Schlüssel erstellen";
1239
+ readonly emptyBody: "Erstellen Sie zuerst einen Scope und dann einen Schlüssel dafür.";
1240
+ readonly emptyTitle: "Noch keine Schlüssel";
1241
+ readonly formLabel: "Einen Schlüssel erstellen";
1242
+ readonly nameLabel: "Name";
1243
+ readonly reveal: "Schlüssel anzeigen";
1244
+ readonly revoke: "Widerrufen";
1245
+ readonly rotate: "Rotieren";
1246
+ readonly scopeIsAuthBody: "Ein Schlüssel erreicht genau das, was sein Scope auflistet, und sonst nichts. Er nutzt weder Rollen noch Tabellenberechtigungen und kann über die übrige API nichts lesen.";
1247
+ readonly scopeIsAuthTitle: "Der Scope ist die einzige Berechtigung";
1248
+ readonly scopeLabel: "Scope";
1249
+ readonly scopePlaceholder: "Scope wählen";
1250
+ readonly subtitle: "Diese landen im JavaScript Ihrer Seite, jeder kann sie also lesen. Das ist so gewollt — ein Schlüssel kann immer nur das, was sein Scope erlaubt.";
1251
+ readonly title: "Schlüssel";
1252
+ };
1253
+ readonly notRegistered: {
1254
+ readonly body: "Setzen Sie ADMINIUM_PUBLIC_API_ORIGINS auf genau die Origins, die diese API aufrufen dürfen, und starten Sie neu. Bis dahin werden diese Routen überhaupt nicht ausgeliefert.";
1255
+ readonly title: "Auf diesem Server nicht aktiviert";
1256
+ };
1257
+ readonly origins: {
1258
+ readonly label: "Origins, die sie aufrufen dürfen";
1259
+ };
1260
+ readonly scopes: {
1261
+ readonly connectionLabel: "Verbindungs-ID";
1262
+ readonly create: "Scope erstellen";
1263
+ readonly delete: "Löschen";
1264
+ readonly deleteBody: "Jede Seite, die einen an diesen Scope gebundenen Schlüssel verwendet, lädt keine Daten mehr. Schlüssel werden nicht gelöscht — widerrufen Sie sie zuerst, falls Sie das gemeint haben.";
1265
+ readonly deleteConfirm: "Scope löschen";
1266
+ readonly deletePrompt: "Geben Sie den Scope-Namen ein, um zu bestätigen";
1267
+ readonly deleteTitle: "Diesen Scope löschen";
1268
+ readonly documentHint: "Wird beim Speichern gegen Ihr Schema kompiliert. Jede Spalte, die eine aufrufende Seite erreichen kann, steht hier und sonst nirgends. Ein Standardwert kann '{'\"$generate\": \"uuid\"'}' oder '{'\"$generate\": \"now\"'}' sein — der Server füllt diese beim Anlegen aus, damit Besucher eine Zeile hinzufügen können, ohne deren id zu wählen.";
1269
+ readonly documentLabel: "Scope-Dokument";
1270
+ readonly emptyBody: "Erstellen Sie unten einen. Er wird vor dem Speichern gegen Ihr Live-Schema geprüft.";
1271
+ readonly emptyTitle: "Noch keine Scopes";
1272
+ readonly formLabel: "Einen Scope erstellen";
1273
+ readonly issuesTitle: "Dieser Scope ließ sich nicht kompilieren";
1274
+ readonly keyCount: "{count, plural, =0 {keine Schlüssel} one {# Schlüssel} other {# Schlüssel}}";
1275
+ readonly nameLabel: "Name";
1276
+ readonly subtitle: "Ein Scope ist alles, was ein Schlüssel erreichen darf — die Tabellen, die genauen Spalten und ein Filter, den die aufrufende Seite enger fassen, aber nie entfernen kann.";
1277
+ readonly title: "Scopes";
1278
+ };
1279
+ readonly status: {
1280
+ readonly heading: "Status";
1281
+ };
1282
+ readonly subtitle: "Lassen Sie Ihre eigenen kunden- oder mitarbeiterseitigen Seiten diese Datenbank über einen von Ihnen definierten Scope lesen.";
1283
+ readonly title: "Öffentliche API";
1284
+ readonly toggle: {
1285
+ readonly hint: "Wenn Sie dies abschalten, endet jede öffentliche Anfrage sofort. Es wird nichts gelöscht — Schlüssel, Scopes und Daten bleiben alle erhalten.";
1286
+ readonly label: "Öffentliche API ausliefern";
792
1287
  };
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
1288
  };
800
1289
  readonly remap: {
1290
+ readonly badge: {
1291
+ readonly fk: "FK";
1292
+ readonly masked: "Maskiert";
1293
+ readonly pii: "PII";
1294
+ readonly pk: "PK";
1295
+ readonly unique: "UNIQUE";
1296
+ };
801
1297
  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
1298
  readonly currency: "Währung";
812
1299
  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
1300
  readonly enum: "Enum-Semantik";
816
- readonly enumKind: "Enum-Art";
817
- readonly enumWorkflow: "Workflow";
818
1301
  readonly enumCategory: "Kategorie";
1302
+ readonly enumHelper: "Workflow-Enums steuern Status-Pills und Board-Spalten; Farbtöne ordnen Werte der semantischen Farbtonskala zu.";
1303
+ readonly enumKind: "Enum-Art";
819
1304
  readonly enumLabelFor: "Bezeichnung für {value}";
820
- readonly enumToneFor: "Farbton für {value}";
821
1305
  readonly enumToneAuto: "automatisch";
822
- readonly enumHelper: "Workflow-Enums steuern Status-Pills und Board-Spalten; Farbtöne ordnen Werte der semantischen Farbtonskala zu.";
1306
+ readonly enumToneFor: "Farbton für {value}";
1307
+ readonly enumWorkflow: "Workflow";
1308
+ readonly labelHelper: "Abgeleitet: {name}";
1309
+ readonly labelOverride: "Anzeigebezeichnung";
1310
+ readonly logicalType: "Logischer Typ";
1311
+ readonly logicalTypeHelper: "Abgeleitet: {type} (aus {dbType}) — vom Adapter zugeordnet; in v1 nicht überschreibbar.";
1312
+ readonly nullable: "NULL erlaubt";
1313
+ readonly pii: "Standardmäßig maskieren";
1314
+ readonly piiHelper: "Maskierte Werte werden geschwärzt dargestellt; das Aufheben der Maskierung erfordert die Berechtigung data.unmask_pii und wird im Audit-Log protokolliert.";
1315
+ readonly semantic: "Semantischer Typ";
1316
+ readonly semanticHelper: "Klassifizierer: {tag} · {confidence}% Konfidenz · Quelle: {source}";
1317
+ readonly semanticInferred: "abgeleitet: {tag}";
1318
+ readonly unclassified: "Noch nicht klassifiziert.";
823
1319
  };
824
1320
  readonly diff: {
825
- readonly one: "1 Änderung";
826
1321
  readonly count: "{count} Änderungen";
827
- readonly saved: "Überschreibungen gespeichert.";
828
- readonly revertOne: "{change} verwerfen";
1322
+ readonly one: "1 Änderung";
829
1323
  readonly regenerate: "Seiten neu generieren";
830
1324
  readonly revertAll: "Alle verwerfen";
1325
+ readonly revertOne: "{change} verwerfen";
831
1326
  readonly save: "Überschreibungen speichern";
1327
+ readonly saved: "Überschreibungen gespeichert.";
1328
+ };
1329
+ readonly empty: {
1330
+ readonly description: "Wählen Sie etwas im Schemabaum aus, um Bezeichnung, Typ, Beziehungen oder Maskierung neu zuzuordnen.";
1331
+ readonly title: "Wählen Sie eine Tabelle oder Spalte";
1332
+ };
1333
+ readonly inspector: "Inspektor";
1334
+ readonly loadFailed: "Das Schema für diese Verbindung konnte nicht geladen werden.";
1335
+ readonly mode: {
1336
+ readonly design: "Entwurf";
1337
+ readonly diagram: "Diagramm";
1338
+ readonly remap: "Bezeichnungen und Beziehungen";
832
1339
  };
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.";
1340
+ readonly modeLabel: "Bearbeitungsmodus";
1341
+ readonly noDesign: {
1342
+ readonly noPrivilege: "Die Rolle dieser Verbindung kann keine Tabellen anlegen oder ändern. Erteilen Sie ihr Schemarechte oder verbinden Sie eine Rolle, die sie hat.";
1343
+ readonly readOnlyIntent: "Diese Verbindung wurde für reine Lese-Analysen eingerichtet. Ändern Sie ihre Absicht in den Einstellungen, um ihr Schema zu bearbeiten.";
1344
+ readonly readOnlyRole: "Diese Verbindung meldet sich mit einer Nur-Lese-Rolle an, daher kann Adminium ihr Schema nicht ändern.";
1345
+ readonly schemaFile: "Diese Verbindung wurde aus einer Schemadatei erstellt, es gibt also keine Datenbank zu ändern. Bezeichnungen und Beziehungen funktionieren weiterhin.";
852
1346
  };
853
1347
  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
1348
  readonly accept: "Übernehmen";
862
- readonly suppress: "Unterdrücken";
863
- readonly overrides: "Beziehungs-Überschreibungen (angewendet)";
864
- readonly overrideBadge: "Überschreibung";
1349
+ readonly accepted: "Übernommen";
865
1350
  readonly add: "Virtuelle Beziehung hinzufügen";
1351
+ readonly addButton: "Beziehung hinzufügen";
1352
+ readonly cardinality: "Kardinalität";
1353
+ readonly confidence: "abgeleitet · {pct}%";
1354
+ readonly declared: "Deklarierte Fremdschlüssel";
866
1355
  readonly fromColumn: "Quellspalte";
867
- readonly noColumns: "Keine passende Spalte";
868
1356
  readonly fromPlaceholder: "customer_id";
869
- readonly toTable: "Zieltabelle";
1357
+ readonly inferred: "Abgeleitete Beziehungen";
1358
+ readonly noColumns: "Keine passende Spalte";
870
1359
  readonly noTables: "Keine passende Tabelle";
1360
+ readonly noneDeclared: "Keine deklarierten Fremdschlüssel berühren diese Tabelle.";
1361
+ readonly noneInferred: "Für diese Tabelle wurde nichts abgeleitet.";
1362
+ readonly overrideBadge: "Überschreibung";
1363
+ readonly overrides: "Beziehungs-Überschreibungen (angewendet)";
1364
+ readonly suppress: "Unterdrücken";
1365
+ readonly suppressed: "Unterdrückt";
871
1366
  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";
1367
+ readonly toTable: "Zieltabelle";
881
1368
  };
882
- readonly title: "Schema neu zuordnen";
883
- readonly subtitle: "{tables} Tabellen · {applied} Überschreibungen angewendet";
884
1369
  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.";
1370
+ readonly subtitle: "{tables} Tabellen · {applied} Überschreibungen angewendet";
1371
+ readonly table: {
1372
+ readonly hierarchy: "Hierarchie";
1373
+ readonly icon: "Symbol";
1374
+ readonly iconPicker: "Tabellensymbol";
1375
+ readonly include: "In die generierte App einbeziehen";
1376
+ readonly includeHelper: "Ausgeschlossene Tabellen erhalten keine Seiten und verschwinden aus der Navigation.";
1377
+ readonly kind: "Art";
1378
+ readonly labelHelper: "Abgeleitet: {name}";
1379
+ readonly labelOverride: "Anzeigebezeichnung";
1380
+ readonly navGroup: "Navigationsgruppe";
1381
+ readonly navGroupHelper: "Die Platzierung in der Navigation entscheidet der Generator — eine table.navGroup-Überschreibung ist nicht Teil des v1-Vokabulars.";
1382
+ readonly polymorphic: "Polymorphe Paare";
1383
+ readonly role: "Rolle";
1384
+ readonly rows: "Geschätzte Zeilenzahl";
1385
+ readonly selfFk: "Selbstreferenz über {column}";
1386
+ readonly shape: "Tabellenform (klassifiziert)";
1387
+ readonly shapeHelper: "Die Klassifikation wird bei jeder Introspektion neu berechnet; Überschreibungen liegen darüber und überstehen die Neugenerierung.";
1388
+ readonly system: "System";
1389
+ readonly unclassified: "Nicht klassifiziert";
890
1390
  };
891
1391
  readonly tabs: {
892
1392
  readonly details: "Details";
893
1393
  readonly relations: "Beziehungen";
894
1394
  };
1395
+ readonly title: "Schema";
1396
+ readonly toast: {
1397
+ readonly regenerateFailed: "Neugenerierung fehlgeschlagen";
1398
+ readonly regenerated: "{created} erstellt · {updated} aktualisiert · {unchanged} unverändert";
1399
+ readonly regeneratedDetail: "Von Hand bearbeitete Seiten bleiben erhalten — nur Seiten mit unangetastetem generated_hash wurden an Ort und Stelle neu generiert.";
1400
+ readonly saved: "Schema-Überschreibungen gespeichert";
1401
+ readonly savedDetail: "Das angewendete Schema unten spiegelt Ihre Änderungen wider.";
1402
+ };
895
1403
  readonly tree: {
1404
+ readonly collapse: "Tabelle einklappen";
1405
+ readonly excluded: "Ausgeschlossen";
1406
+ readonly expand: "Tabelle ausklappen";
896
1407
  readonly label: "Schema";
1408
+ readonly noMatches: "Keine Tabellen entsprechen Ihrer Suche.";
897
1409
  readonly search: "Tabellen und Spalten durchsuchen";
898
1410
  readonly searchPlaceholder: "Tabellen durchsuchen…";
899
- readonly noMatches: "Keine Tabellen entsprechen Ihrer Suche.";
900
- readonly collapse: "Tabelle einklappen";
901
- readonly expand: "Tabelle ausklappen";
902
1411
  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
1412
  };
912
- readonly unavailableTitle: "Editor zum Neuzuordnen des Schemas nicht verfügbar";
913
1413
  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.";
1414
+ readonly unavailableTitle: "Editor zum Neuzuordnen des Schemas nicht verfügbar";
914
1415
  };
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";
1416
+ readonly review: {
1417
+ readonly unavailableBody: "Dieser Build enthält die Anreicherungs-Prüfungsansicht noch nicht (06-T14). Sie kommt mit dem Diff-und-Übernehmen-Ablauf.";
1418
+ readonly unavailableTitle: "Prüfungsansicht nicht verfügbar";
1419
+ };
1420
+ readonly settings: {
1421
+ readonly globalDefaultsNav: "Globale Standards";
1422
+ readonly title: "Einstellungen";
1423
+ readonly workspaceSection: "Workspace";
1424
+ };
1425
+ readonly settingsAi: {
1426
+ readonly byo: {
1427
+ 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.";
1428
+ readonly guarantee1: "Der Prompt enthält nur Ihr Schema und aggregierte Statistiken standardmäßig nie Zeilendaten.";
1429
+ readonly guarantee2: "Keine Anmeldedaten, keine Instanz-URL, keine Kennungen sind eingebettet.";
1430
+ readonly guarantee3: "BYO-Läufe machen keinerlei Netzwerkaufrufe.";
1431
+ readonly guaranteeTitle: "Telemetriefreie Garantie";
1432
+ readonly heading: "Kein Schlüssel? Nutzen Sie Ihr eigenes KI-Tool";
1433
+ readonly headingRecommended: "Eigenes KI-Tool verwenden kein Schlüssel nötig";
1434
+ readonly promptVersion: "Prompt {version}";
1435
+ readonly recommended: "Empfohlen";
1436
+ readonly schemaVersion: "Schema {version}";
1437
+ readonly subtitle: "Der Kopieren-Einfügen-Umlauf — nichts verlässt diesen Rechner.";
950
1438
  };
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";
1439
+ readonly configure: {
1440
+ readonly heading: "{provider} konfigurieren";
969
1441
  };
970
- readonly status: {
971
- readonly heading: "Status";
1442
+ readonly field: {
1443
+ readonly baseUrl: "Basis-URL";
1444
+ readonly baseUrlHelper: "Die Endpunkt-Wurzel, die /chat/completions bereitstellt.";
1445
+ readonly baseUrlOptional: "Unverändert lassen, außer Ollama läuft auf einem anderen Host.";
1446
+ readonly key: "API-Schlüssel";
1447
+ readonly keyMask: "sk-…{last4}";
1448
+ readonly keyOptional: "Optional — manche Endpunkte brauchen keinen Schlüssel.";
1449
+ readonly keyReplace: "Schlüssel ersetzen";
1450
+ readonly keyStored: "Verschlüsselt gespeichert. Ersetzen Sie ihn, um einen anderen Schlüssel zu verwenden.";
1451
+ readonly keyWriteOnly: "Nur schreibend: einmal gespeichert, wird er nie wieder angezeigt.";
1452
+ readonly model: "Modell";
1453
+ readonly modelFreeText: "Geben Sie die genaue Modell-ID ein, die Ihr Endpunkt bereitstellt.";
1454
+ readonly modelLive: "Live vom Anbieter geladen.";
1455
+ readonly modelLoading: "Wird geladen…";
1456
+ readonly modelPlaceholder: "Modell auswählen…";
1457
+ readonly modelStatic: "Eine bewährte Liste; geben Sie nach dem Speichern eine eigene ID ein, um sie zu aktualisieren.";
1458
+ readonly noKeyBody: "Ollama läuft lokal, es verlässt also nichts diesen Rechner.";
1459
+ readonly noKeyTitle: "Kein API-Schlüssel nötig";
972
1460
  };
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";
1461
+ readonly history: {
1462
+ readonly byo: "BYO";
1463
+ readonly colChunks: "Blöcke";
1464
+ readonly colDate: "Datum";
1465
+ readonly colSource: "Quelle";
1466
+ readonly colStatus: "Status";
1467
+ readonly connection: "Verbindung";
1468
+ readonly directPath: "Direkt";
1469
+ readonly empty: "Noch keine Anreicherungsläufe. Reichern Sie ein Schema im Verbindungsassistenten an, um hier Verlauf zu sehen.";
1470
+ readonly errorBody: "Laden Sie die Seite neu, um es erneut zu versuchen.";
1471
+ readonly errorTitle: "Läufe konnten nicht geladen werden";
1472
+ readonly heading: "Laufverlauf";
1473
+ readonly noConnections: "Verbinden Sie zuerst eine Datenbank Anreicherungsläufe werden pro Verbindung erfasst.";
1474
+ readonly openReview: "Prüfung für den Lauf vom {date} öffnen";
1475
+ readonly subtitle: "Frühere Anreicherungsläufe. Öffnen Sie einen, um seine Vorschläge zu prüfen.";
1476
+ readonly tableLabel: "Anreicherungsläufe";
994
1477
  };
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";
1478
+ readonly provider: {
1479
+ readonly active: "Aktiv";
1480
+ readonly anthropic: {
1481
+ readonly desc: "Claude-Modelle über die Anthropic-API.";
1482
+ readonly label: "Anthropic";
1483
+ };
1484
+ readonly heading: "KI-Anbieter";
1485
+ 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.";
1486
+ readonly networkDisabledTitle: "Direkte KI-Anbieter sind in dieser Installation deaktiviert";
1487
+ readonly ollama: {
1488
+ readonly desc: "Modelle laufen lokal über Ollama — kein Schlüssel, keine Cloud.";
1489
+ readonly label: "Ollama (lokal)";
1490
+ };
1491
+ readonly openai: {
1492
+ readonly desc: "GPT-Modelle über die OpenAI-API.";
1493
+ readonly label: "OpenAI";
1494
+ };
1495
+ readonly openaiCompatible: {
1496
+ readonly desc: "Jeder Endpunkt, der das OpenAI-Format spricht — Groq, Together, vLLM, LM Studio.";
1497
+ readonly label: "OpenAI-kompatibel";
1498
+ };
1499
+ readonly requiresNetwork: "Erfordert Internet und einen API-Schlüssel";
1500
+ readonly subtitle: "Wählen Sie, wie Adminium ein Modell zur Anreicherung Ihres Schemas erreicht. Schlüssel werden verschlüsselt gespeichert und nie wieder angezeigt.";
1009
1501
  };
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";
1502
+ readonly runStatus: {
1503
+ readonly applied: "Übernommen";
1504
+ readonly awaitingResponse: "Wartet auf Antwort";
1505
+ readonly discarded: "Verworfen";
1506
+ readonly draft: "Entwurf";
1507
+ readonly failed: "Fehlgeschlagen";
1508
+ readonly partiallyApplied: "Teilweise übernommen";
1509
+ readonly running: "Läuft";
1510
+ readonly validated: "Validiert";
1021
1511
  };
1512
+ readonly save: "Anbieter speichern";
1513
+ readonly saveFailed: "Der KI-Anbieter konnte nicht gespeichert werden. Erneut versuchen.";
1514
+ readonly saved: "KI-Anbieter gespeichert";
1515
+ readonly subtitle: "Verbinden Sie ein Modell, damit Adminium Bezeichnungen, Gruppen, Beziehungen und mehr vorschlägt — immer als Diff geprüft, bevor etwas übernommen wird.";
1516
+ readonly test: "Verbindung testen";
1517
+ readonly testError: "Test fehlgeschlagen";
1518
+ readonly testErrorBody: "Der Anbieter war nicht erreichbar. Prüfen Sie Schlüssel und Basis-URL.";
1519
+ readonly testHintDirty: "Speichern Sie Ihre Änderungen vor dem Test.";
1520
+ readonly testOk: "Verbunden mit {model} in {latency} ms";
1521
+ readonly testUnknownModel: "dem Anbieter";
1522
+ readonly testing: "Anbieter wird angepingt…";
1523
+ readonly title: "KI-Anreicherung";
1022
1524
  };
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:";
1525
+ readonly settingsHub: {
1526
+ readonly addOnsCard: {
1527
+ readonly body: "Add-ons durchsuchen, installieren und verbinden — zusätzliche Blöcke, Datenpakete und Integrationen — oder selbst eines hochladen.";
1528
+ readonly cta: "Add-ons öffnen";
1529
+ readonly heading: "Add-ons";
1032
1530
  };
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";
1531
+ readonly aiCard: {
1532
+ readonly body: "Konfigurieren Sie einen KI-Anbieter (oder den Kopieren-Einfügen-Umlauf), um Bezeichnungen, Gruppen und Beziehungen anzureichern.";
1533
+ readonly cta: "KI-Einstellungen öffnen";
1534
+ readonly heading: "KI-Anreicherung";
1041
1535
  };
1042
- readonly connect: {
1043
- readonly apiKey: "API-Schlüssel";
1044
- readonly submit: "Verbinden";
1536
+ readonly danger: {
1537
+ readonly deleteCta: "Verbindung löschen";
1538
+ readonly deleteDesc: "Löscht die Verbindung und die daraus generierten Seiten. Ihre Datenbank bleibt unangetastet. Kann nicht rückgängig gemacht werden.";
1539
+ readonly empty: "Nichts zu löschen — noch keine Verbindungen.";
1540
+ readonly heading: "Gefahrenzone";
1541
+ readonly subtitle: "Unumkehrbare Aktionen.";
1045
1542
  };
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";
1543
+ readonly defaultsCard: {
1544
+ readonly body: "Workspace-weite Einstellungen für Theme, Akzentfarbe, Dichte und Sprache finden Sie unter „Globale Standards“.";
1545
+ readonly cta: "Globale Standards öffnen";
1546
+ readonly heading: "Standards für Darstellung & Sprache";
1063
1547
  };
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";
1548
+ readonly email: {
1549
+ readonly attachmentCap: {
1550
+ readonly error: "Zwischen {min, number} und {max, number} MB.";
1551
+ readonly helper: "Die maximale Größe der Anhänge einer einzelnen Nachricht.";
1552
+ readonly label: "Anhangslimit (MB)";
1553
+ };
1554
+ readonly from: {
1555
+ readonly error: "Geben Sie eine E-Mail-Adresse ein.";
1556
+ readonly helper: "Nur die Adresse oder ein Anzeigename davor.";
1557
+ readonly label: "Absenderadresse";
1558
+ };
1559
+ readonly heading: "E-Mail (SMTP)";
1560
+ readonly host: {
1561
+ readonly error: "Nur ein Hostname oder eine IP-Adresse — ohne Schema, Port oder Zugangsdaten.";
1562
+ readonly label: "SMTP-Host";
1563
+ };
1564
+ readonly pass: {
1565
+ readonly error: "Zu diesem Benutzernamen gehört ein Passwort.";
1566
+ readonly helper: "Verschlüsselt gespeichert und nie wieder angezeigt. Leer lassen, um das aktuelle zu behalten.";
1567
+ readonly label: "Passwort";
1568
+ };
1569
+ readonly port: {
1570
+ readonly error: "Zwischen {min, number} und {max, number}.";
1571
+ readonly label: "Port";
1572
+ };
1573
+ readonly remove: "Mailserver entfernen";
1574
+ readonly review: {
1575
+ readonly password: "Ersetzt";
1576
+ readonly removed: "Entfernt";
1577
+ };
1578
+ readonly secure: {
1579
+ readonly helper: "An für Port 465. Aus beginnt unverschlüsselt und wechselt per STARTTLS — so erwartet es Port 587.";
1580
+ readonly label: "Implizites TLS";
1581
+ };
1582
+ readonly senders: {
1583
+ readonly add: "Absender hinzufügen";
1584
+ readonly address: "Adresse";
1585
+ readonly error: "Gib eine E-Mail-Adresse ein.";
1586
+ readonly heading: "Absender";
1587
+ readonly helper: "Adressen, von denen eine E-Mail gesendet werden darf. Die SMTP-Absenderadresse ist immer verfügbar.";
1588
+ readonly implicit: "SMTP-Absenderadresse";
1589
+ readonly name: "Anzeigename";
1590
+ readonly remove: "Absender entfernen";
1591
+ readonly review: "Absender";
1592
+ };
1593
+ readonly unconfigured: "Es ist kein Mailserver eingerichtet, daher kann Adminium keine Passwort-Zurücksetzungen, Einladungen oder geplanten Berichte versenden.";
1594
+ readonly user: {
1595
+ readonly helper: "Leer lassen, wenn das Relay keine Anmeldung verlangt.";
1596
+ readonly label: "Benutzername";
1597
+ };
1075
1598
  };
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";
1599
+ readonly identity: {
1600
+ readonly appName: {
1601
+ readonly error: "Geben Sie einen Namen mit höchstens 60 Zeichen ein.";
1602
+ readonly helper: "Erscheint in der Seitenleiste, im Browser-Titel und in E-Mails.";
1603
+ readonly label: "Anwendungsname";
1604
+ };
1605
+ readonly heading: "Workspace-Identität";
1606
+ readonly logo: {
1607
+ readonly badType: "Wählen Sie ein PNG-, JPEG-, WebP-, GIF- oder SVG-Bild.";
1608
+ readonly drop: "Bild hierher ziehen";
1609
+ readonly helper: "PNG, JPEG, WebP, GIF oder SVG bis 1 MB. Ersetzt die eingebaute Marke überall.";
1610
+ readonly label: "Logo";
1611
+ readonly remove: "Entfernen";
1612
+ readonly removed: "Logo entfernt";
1613
+ readonly replace: "Logo ersetzen";
1614
+ readonly tooLarge: "Dieses Bild ist größer als 1 MB.";
1615
+ readonly undo: "Rückgängig";
1616
+ readonly upload: "Logo hochladen";
1617
+ readonly uploaded: "Logo aktualisiert";
1618
+ };
1619
+ readonly showVersion: {
1620
+ readonly helper: "Die Build-Nummer neben dem Logo. Aus verbirgt, welche Version Sie einsetzen.";
1621
+ readonly label: "Version in der Seitenleiste";
1622
+ };
1088
1623
  };
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.";
1624
+ readonly pagesCard: {
1625
+ readonly body: "Seiten hinzufügen, bearbeiten und löschen, ihre Inhalte ändern und die Seitenleiste neu ordnen.";
1626
+ readonly cta: "Seiten verwalten";
1627
+ readonly heading: "Seiten";
1094
1628
  };
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.";
1629
+ readonly publicApiCard: {
1630
+ readonly body: "Lassen Sie Ihre eigenen kunden- oder mitarbeiterseitigen Seiten diese Datenbank über einen von Ihnen definierten Scope lesen.";
1631
+ readonly cta: "Öffentliche API öffnen";
1632
+ readonly heading: "Öffentliche API";
1098
1633
  };
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";
1634
+ readonly review: {
1635
+ readonly cancel: "Abbrechen";
1636
+ readonly change: "{before} {after}";
1637
+ readonly close: "Schließen";
1638
+ readonly confirm: "Änderungen speichern";
1639
+ readonly hidden: "Verborgen";
1640
+ readonly off: "Aus";
1641
+ readonly on: "An";
1642
+ readonly shown: "Sichtbar";
1643
+ readonly subtitle: "Prüfen Sie Ihre Änderungen vor dem Speichern.";
1644
+ readonly title: "Workspace-Einstellungen speichern";
1108
1645
  };
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.";
1646
+ readonly save: "Änderungen speichern";
1647
+ readonly saveFailed: "Die Workspace-Einstellungen konnten nicht gespeichert werden. Versuchen Sie es erneut.";
1648
+ readonly saved: "Workspace-Einstellungen aktualisiert";
1649
+ readonly security: {
1650
+ readonly allowSignup: {
1651
+ readonly desc: "Jeder kann ein Konto erstellen — deaktiviert bleibt der Workspace nur per Einladung zugänglich.";
1652
+ readonly label: "Selbstregistrierung erlauben";
1653
+ };
1654
+ readonly heading: "Sicherheit";
1655
+ readonly passwordMin: {
1656
+ readonly error: "Zwischen {min, number} und {max, number} Zeichen.";
1657
+ readonly label: "Minimale Passwortlänge";
1658
+ };
1659
+ readonly require2fa: {
1660
+ readonly desc: "Jedes Mitglied muss 2FA aktivieren, um sich anzumelden.";
1661
+ readonly label: "Zwei-Faktor-Authentifizierung verlangen";
1662
+ 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.";
1663
+ };
1664
+ readonly sessionTtl: {
1665
+ readonly error: "Zwischen {min, number} und {max, number} Stunden.";
1666
+ readonly label: "Sitzungsdauer (Stunden)";
1667
+ };
1117
1668
  };
1118
- readonly tab: {
1119
- readonly pages: "Alle Seiten";
1120
- readonly sidebar: "Reihenfolge der Seitenleiste";
1669
+ readonly storageCard: {
1670
+ readonly body: "Wählen Sie, wo hochgeladene Dateien, Exporte und andere gespeicherte Bytes liegen — dieser Server, ein Bucket oder Ihr eigener Server.";
1671
+ readonly cta: "Speicher öffnen";
1672
+ readonly heading: "Speicher";
1121
1673
  };
1122
- readonly list: {
1123
- readonly title: "Seiten";
1124
- readonly count: "{count, plural, one {# Seite} other {# Seiten}}";
1674
+ readonly subtitle: "Identität, Sicherheit und destruktive Aktionen für diesen Workspace.";
1675
+ readonly superAdminOnly: "Nur ein Super-Admin kann Identität und Sicherheitseinstellungen des Workspace ändern.";
1676
+ readonly superAdminOnlyTitle: "Super-Admin erforderlich";
1677
+ readonly title: "Workspace-Einstellungen";
1678
+ readonly translationsCard: {
1679
+ readonly body: "Formulieren Sie beliebige Texte in Adminium neu, legen Sie fest, welche Sprachen zur Auswahl stehen, und fügen Sie eigene hinzu.";
1680
+ readonly cta: "Übersetzungen öffnen";
1681
+ readonly heading: "Sprachen & Übersetzungen";
1125
1682
  };
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.";
1683
+ };
1684
+ readonly source: {
1685
+ readonly dsn: {
1686
+ readonly helper: "postgres://benutzer:passwort@host:5432/datenbank — mysql:// und sqlite: funktionieren ebenfalls.";
1687
+ readonly incomplete: "Host und Datenbank ergänzen, z. B. postgres://user@host:5432/db";
1688
+ readonly invalidScheme: "Unbekanntes Schema — erwartet werden postgres://, mysql://, mariadb:// oder sqlite:";
1689
+ readonly label: "Verbindungszeichenfolge";
1690
+ readonly quickFill: "Schnellausfüllen:";
1129
1691
  };
1130
- readonly status: {
1131
- readonly live: "Aktiv";
1132
- readonly hidden: "Ausgeblendet";
1692
+ readonly engine: {
1693
+ readonly label: "Datenbank-Engine";
1694
+ readonly mysql: "MySQL / MariaDB";
1695
+ readonly postgres: "PostgreSQL";
1696
+ readonly sqlite: "SQLite";
1133
1697
  };
1134
- readonly origin: {
1135
- readonly generated: "Erzeugt";
1136
- readonly manifest: "Add-on";
1137
- readonly llm: "Assistent";
1138
- readonly system: "System";
1139
- readonly user: "Eigene";
1698
+ readonly fields: {
1699
+ readonly database: "Datenbank";
1700
+ readonly host: "Host";
1701
+ readonly password: "Passwort";
1702
+ readonly port: "Port";
1703
+ readonly preview: "Vorschau der Verbindungszeichenfolge:";
1704
+ readonly ssl: "SSL-Modus";
1705
+ readonly user: "Benutzer";
1140
1706
  };
1141
- readonly row: {
1142
- readonly menu: "Aktionen für {title}";
1707
+ readonly file: {
1708
+ readonly columns: "Spalten";
1709
+ readonly detectedAs: "Erkannt: {format}";
1710
+ readonly dropHint: "SQL DDL / pg_dump, Prisma, Drizzle, TypeORM, Sequelize, Rails schema.rb, Django-Modelle, Adminium JSON";
1711
+ readonly dropTitle: "Schemadatei hier ablegen oder durchsuchen";
1712
+ readonly errorTitle: "Datei konnte nicht geparst werden";
1713
+ readonly moreWarnings: "+{count} weitere Warnungen — die vollständige Liste erscheint im Analyse-Schritt.";
1714
+ 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.";
1715
+ readonly parsing: "Hochgeladene Schemadatei wird gelesen…";
1716
+ readonly pitch: "Keine Datenbankverbindung nötig — wir parsen Ihre Schemadatei und bauen dieselben Dashboards.";
1717
+ readonly requestFailed: "Upload fehlgeschlagen — prüfen Sie Ihre Verbindung und versuchen Sie es erneut.";
1718
+ readonly tables: "Tabellen";
1719
+ 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.";
1720
+ readonly warnings: "Warnungen";
1143
1721
  };
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";
1722
+ readonly format: {
1723
+ readonly auto: "Automatisch erkennen";
1724
+ readonly django: "Django models.py";
1725
+ readonly drizzle: "Drizzle ORM";
1726
+ readonly helper: "Bei automatischer Erkennung belassen, sofern sie nicht danebenliegt.";
1727
+ readonly json: "Adminium-JSON";
1728
+ readonly label: "Schemaformat";
1729
+ readonly prisma: "Prisma-Schema";
1730
+ readonly rails: "Rails schema.rb";
1731
+ readonly sequelize: "Sequelize-Modelle";
1732
+ readonly sql: "SQL-DDL / pg_dump";
1733
+ readonly typeorm: "TypeORM-Entitäten";
1150
1734
  };
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.";
1735
+ readonly mode: {
1736
+ readonly dsn: "Verbindungszeichenfolge";
1737
+ readonly fields: "Einzelne Felder";
1738
+ readonly file: "Schemadatei";
1156
1739
  };
1157
- readonly duplicate: {
1158
- readonly title: "Seite duplizieren";
1159
- readonly failed: "Die Seite konnte nicht dupliziert werden";
1160
- readonly submit: "Duplizieren";
1740
+ readonly modeLabel: "Eingabemodus der Quelle";
1741
+ readonly name: "Verbindungsname";
1742
+ readonly namePlaceholder: "Produktions-Postgres";
1743
+ readonly readOnlyRole: {
1744
+ readonly body: "Bei der Einrichtung liest Adminium ausschließlich Schema-Metadaten — niemals Ihre Zeilen. Wir empfehlen einen eigenen Benutzer mit reinen SELECT-Rechten; wo Adminium seine eigenen Tabellen ablegt, entscheiden Sie im Schritt zur Meta-Speicherung.";
1745
+ readonly title: "Verwenden Sie eine schreibgeschützte Rolle";
1746
+ };
1747
+ readonly sqlite: {
1748
+ readonly file: "Pfad zur Datenbankdatei";
1749
+ readonly helper: "SQLite ist eine Datei, kein Server — geben Sie den absoluten Pfad auf der Maschine an, auf der Adminium läuft.";
1161
1750
  };
1751
+ readonly subtitle: "Richten Sie Adminium auf eine Datenbank — wir generieren aus ihrem Schema ein Admin-Dashboard.";
1752
+ readonly title: "Verbinden Sie Ihre Datenbank";
1753
+ };
1754
+ readonly storage: {
1755
+ readonly actionFailed: "Das hat nicht funktioniert";
1756
+ readonly add: "Speicherziel hinzufügen";
1757
+ readonly availableOnDisk: "{size} auf dieser Festplatte verfügbar";
1758
+ readonly default: "Standard";
1759
+ readonly defaultBlockedByDisabled: "Ein deaktiviertes Speicherziel kann nicht das Standardziel sein. Aktivieren Sie es zuerst.";
1162
1760
  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";
1761
+ readonly blockedBody: "{name} enthält noch {count, plural, one {# Datei} other {# Dateien}}. Verschieben Sie sie zuerst in ein anderes Speicherziel und löschen Sie es dann.";
1762
+ readonly blockedTitle: "Dieses Speicherziel enthält noch Dateien";
1763
+ readonly body: "Adminium vergisst {name} und seine Zugangsdaten. Nichts, was darin gespeichert ist, wird angetastet der Bucket oder der Server gehört Ihnen, und Dateien, die noch darauf verzeichnet sind, weisen das Löschen zurück.";
1764
+ readonly confirm: "Speicherziel löschen";
1765
+ readonly title: "Dieses Speicherziel löschen";
1766
+ };
1767
+ readonly deleteButton: "Löschen";
1768
+ readonly disable: "Deaktivieren";
1769
+ readonly disabled: "Deaktiviert";
1770
+ readonly driver: {
1771
+ readonly local: "Ein Pfad auf dieser Maschine";
1772
+ readonly s3: "S3-kompatibler Bucket";
1773
+ readonly webdav: "WebDAV-Server";
1774
+ };
1775
+ readonly edit: "Bearbeiten";
1776
+ readonly editor: {
1777
+ readonly createTitle: "Speicherziel hinzufügen";
1778
+ readonly editTitle: "Speicherziel bearbeiten";
1779
+ readonly subtitle: "Adminium liest und schreibt in Ihrem Auftrag über dieses Speicherziel; es ist Infrastruktur, die Sie kontrollieren.";
1168
1780
  };
1781
+ readonly enable: "Aktivieren";
1169
1782
  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.";
1783
+ readonly accessKeyId: "Zugriffsschlüssel-ID";
1784
+ readonly bucket: "Bucket";
1785
+ readonly driver: "Art";
1786
+ readonly driverLocked: "Die Art eines Speicherziels zu ändern, das bereits Dateien enthält, würde diese Dateien unerreichbar machen.";
1787
+ readonly endpoint: "Endpunkt";
1788
+ readonly endpointDerived: "Für AWS selbst leer lassen der Endpunkt ergibt sich aus der Region.";
1789
+ readonly name: "Name";
1790
+ readonly namePlaceholder: "Uploads-Bucket";
1791
+ readonly password: "Passwort";
1792
+ readonly pathStyle: "Pfadbasierte Adressierung";
1793
+ readonly pathStyleToggle: "Den Bucket als Pfad statt als Hostnamen adressieren";
1794
+ readonly prefix: "Präfix";
1795
+ readonly prefixHelper: "Ein Ordner innerhalb des Speicherziels. Zwei Speicherziele auf demselben Bucket, die sich nur hier unterscheiden, teilen sich den Bucket, ohne sich einen Namensraum zu teilen.";
1796
+ readonly preset: "Anbieter";
1797
+ readonly presetHelper: "Füllt Endpunkt, Region und Adressierungsstil aus. Alles, was der Anbieter über Ihr Konto nicht wissen kann, bleibt leer und wird von Ihnen eingetragen.";
1798
+ readonly publicBaseUrl: "Öffentliche Basis-URL";
1799
+ readonly publicBaseUrlHelper: "Optional. Wo diese Objekte ohne Adminium lesbar sind — ein CDN vor einem öffentlichen Bucket. Wird nur verwendet, wenn eine Spalte einen Link speichert.";
1800
+ readonly region: "Region";
1801
+ readonly root: "Verzeichnis";
1802
+ readonly rootHelper: "Ein absoluter Pfad, in den dieser Server schreiben kann — ein eingehängtes Volume oder eine Netzwerkfreigabe. Nicht das Standardverzeichnis, das bereits der erste Eintrag der Liste ist.";
1803
+ readonly secretAccessKey: "Geheimer Zugriffsschlüssel";
1804
+ readonly secretKept: "Ein Schlüssel ist gespeichert. Lassen Sie beide Felder leer, um ihn zu behalten; füllen Sie beide aus, um ihn zu ersetzen.";
1805
+ readonly url: "Sammlungs-URL";
1806
+ readonly urlHelper: "Die Sammlung, in die Adminium schreibt so, wie Ihr Server sie bereitstellt.";
1807
+ readonly username: "Benutzername";
1808
+ };
1809
+ readonly fileCount: "{count, plural, one {# Datei} other {# Dateien}}";
1810
+ readonly kind: {
1811
+ readonly archive: "Archivierte Audit-Log-Stapel";
1812
+ readonly branding: "Das Logo des Workspace";
1813
+ readonly export: "Dateien aus Datenexporten";
1814
+ readonly import: "Hochgeladene CSV-Dateien und ihre Fehlerberichte";
1815
+ readonly schema: "Importierte Schemadateien";
1816
+ readonly upload: "An Datensätze angehängte Dateien";
1194
1817
  };
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";
1818
+ readonly list: {
1819
+ readonly subtitle: "Neue Dateien gehen an das Standard-Speicherziel. Vorhandene Dateien bleiben, wo sie sind, bis Sie sie verschieben.";
1820
+ readonly title: "Speicherziele";
1221
1821
  };
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
- };
1822
+ readonly loadFailed: {
1823
+ readonly forbidden: "Um zu ändern, wo Dateien gespeichert werden, wird die Berechtigung „Speicher verwalten“ benötigt. Bitten Sie eine Administratorin oder einen Administrator, sie einer Ihrer Rollen zuzuweisen.";
1824
+ readonly title: "Speicherziele konnten nicht geladen werden";
1235
1825
  };
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
- };
1826
+ readonly localDisk: "Die Festplatte dieses Servers";
1827
+ readonly move: {
1828
+ readonly from: "Von";
1829
+ readonly kinds: "Beschränken auf";
1830
+ readonly kindsHelp: "Lassen Sie alle Häkchen weg, um alle zu verschieben. Uploads sind die Dateien, die Nutzerinnen und Nutzer anhängen; der Rest sind Artefakte, die Adminium selbst erzeugt hat.";
1831
+ readonly open: "Dateien verschieben…";
1832
+ readonly start: "Verschieben starten";
1833
+ readonly startedBody: "Es läuft im Hintergrund als Job {jobId} und läuft weiter, wenn Sie diese Seite verlassen. Die Zahlen unten ändern sich, während Dateien ankommen — laden Sie die Seite neu, um sie zu sehen.";
1834
+ readonly startedTitle: "Das Verschieben hat begonnen";
1835
+ readonly subtitle: "Kopiert jede Datei von einem Speicherziel in ein anderes und vergisst danach die alte Kopie. Downloads funktionieren durchgehend weiter.";
1836
+ readonly title: "Dateien verschieben";
1837
+ readonly to: "Nach";
1838
+ };
1839
+ readonly preset: {
1840
+ readonly aws: "AWS S3";
1841
+ readonly b2: "Backblaze B2";
1842
+ readonly minio: "MinIO oder ein anderer S3-kompatibler Server";
1843
+ readonly r2: "Cloudflare R2";
1844
+ readonly spaces: "DigitalOcean Spaces";
1845
+ readonly tigris: "Tigris";
1846
+ readonly wasabi: "Wasabi";
1847
+ };
1848
+ readonly save: "Speicherziel speichern";
1849
+ readonly secret: {
1850
+ readonly partialBody: "Füllen Sie beide Felder aus, um die gespeicherten Zugangsdaten zu ersetzen, oder leeren Sie beide, um sie zu behalten. Nur eines davon zu speichern würde stillschweigend die alten behalten.";
1851
+ readonly partialTitle: "Halbe Zugangsdaten sind keine Zugangsdaten";
1852
+ };
1853
+ readonly setDefault: "Als Standard festlegen";
1854
+ readonly status: {
1855
+ readonly error: "Nicht erreichbar";
1856
+ readonly ok: "Erreichbar";
1857
+ readonly untested: "Nicht getestet";
1268
1858
  };
1269
- readonly icon: {
1270
- readonly none: "Symbol auswählen";
1271
- readonly search: "Symbole suchen";
1272
- readonly noMatches: "Keine Symbole passen zu dieser Suche.";
1859
+ readonly subtitle: "Wo diese Instanz hochgeladene Dateien, Exporte und andere gespeicherte Bytes ablegt.";
1860
+ readonly test: {
1861
+ readonly button: "Testen";
1862
+ readonly failed: "Dieses Speicherziel war nicht erreichbar";
1863
+ readonly ok: "In {ms} ms erreicht";
1864
+ readonly unreachable: "Der Test konnte nicht ausgeführt werden";
1273
1865
  };
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.";
1866
+ readonly title: "Speicher";
1867
+ readonly usedBytes: "{size} belegt";
1868
+ };
1869
+ readonly tables: {
1870
+ readonly emptyFilter: "Keine Tabellen entsprechen Ihrem Filter.";
1871
+ readonly highVolume: "hohes Volumen";
1872
+ readonly highVolumeNote: "Tabellen mit über 100.000 Zeilen sind anfangs abgewählt — Ops-Tabellen gehören selten in ein Dashboard.";
1873
+ readonly importNoCounts: "Schemadateien enthalten keine Zeilenzahlen — die Spalte zeigt —, bis eine Live-Datenbank verbunden ist.";
1874
+ readonly joinHidden: "{count} Join-/Systemtabellen sind vorab ausgeblendet — sie treiben weiterhin m:n-Beziehungen an.";
1875
+ readonly listLabel: "Einbeziehbare Tabellen";
1876
+ readonly pii: "PII";
1877
+ readonly search: "Tabellen filtern…";
1878
+ readonly subtitle: "Wählen Sie, welche enthalten sein sollen. Sie können das jederzeit ändern.";
1879
+ readonly title: "Wählen Sie Ihre Tabellen";
1880
+ };
1881
+ readonly test: {
1882
+ readonly errorTitle: "Verbindung fehlgeschlagen";
1883
+ readonly hint: {
1884
+ readonly auth: "Authentifizierung fehlgeschlagen — prüfen Sie Benutzername und Passwort in Ihrer DSN.";
1885
+ readonly hostUnreachable: "Host nicht erreichbar — prüfen Sie Hostname und Port und dass die Datenbank Verbindungen von dieser Maschine akzeptiert (unsere IPs freigeben).";
1886
+ readonly metaPlacement: "Diese Quelle kann Adminiums Meta-Tabellen nicht aufnehmen — fahren Sie mit einer separaten Meta-Datenbank fort.";
1887
+ readonly permission: "Die Rolle hat sich verbunden, darf das Schema aber nicht lesen — erteilen Sie Ihrer Introspektionsrolle USAGE auf dem Schema.";
1888
+ readonly timeout: "Die Datenbank hat nicht rechtzeitig geantwortet — prüfen Sie Netzwerkpfad und Auslastung und versuchen Sie es erneut.";
1889
+ readonly tls: "TLS-Aushandlung fehlgeschlagen — versuchen Sie sslmode=require oder laden Sie das CA-Zertifikat hoch, das Ihr Server erwartet.";
1890
+ readonly unknown: "Verbindung fehlgeschlagen — prüfen Sie die DSN und versuchen Sie es erneut.";
1277
1891
  };
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)";
1892
+ readonly log: {
1893
+ readonly connectFailed: "Verbindung fehlgeschlagen.";
1894
+ readonly connected: "Verbunden ({latency} ms) · schreibgeschützte Introspektion";
1895
+ readonly connecting: "Sichere Verbindung wird aufgebaut…";
1896
+ readonly detected: "{tables} Tabellen · {columns} Spalten erkannt";
1897
+ readonly found: "{tables} Tabellen · {columns} Spalten gefunden";
1898
+ readonly jobFailed: "Introspektion fehlgeschlagen.";
1899
+ readonly mapping: "Spaltentypen → Eingabe-Widgets werden zugeordnet";
1900
+ readonly moreWarnings: "+{count} weitere Parser-Warnungen";
1901
+ readonly networkFailed: "Anfrage fehlgeschlagen — prüfen Sie Ihre Verbindung und versuchen Sie es erneut.";
1902
+ readonly parsingFile: "{file} wird geparst…";
1903
+ readonly piiDone: "PII-Scan abgeschlossen — {count} Spalten standardmäßig maskiert";
1904
+ readonly piiDoneUnknown: "PII-Scan abgeschlossen";
1905
+ readonly piiScan: "Suche nach PII-Spalten…";
1906
+ readonly readingFile: "Hochgeladene Schemadatei wird gelesen…";
1907
+ readonly readingSchema: "Schema wird gelesen: public";
1908
+ readonly ready: "Bereit";
1909
+ readonly relations: "Beziehungen werden erkannt…";
1285
1910
  };
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)";
1911
+ readonly logLabel: "Introspektionsprotokoll";
1912
+ readonly retry: "Erneut versuchen";
1913
+ readonly subtitle: "Tabellen, Spalten und Beziehungen werden introspiziert. Das dauert ein paar Sekunden.";
1914
+ readonly title: "Ihr Schema wird analysiert";
1915
+ readonly trust: "Wir lesen nur Ihr Schema und Ihre Daten. Nichts wird verändert.";
1916
+ };
1917
+ readonly title: "Studio";
1918
+ readonly wizard: {
1919
+ readonly back: "Zurück";
1920
+ 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.";
1921
+ readonly bridgeAppliedTitle: "Verbindungszeichenfolge empfangen";
1922
+ readonly bridgeFailedBody: "Sie wurde bereits verwendet oder ist abgelaufen. Fügen Sie Ihre Verbindungszeichenfolge stattdessen unten ein.";
1923
+ readonly bridgeFailedTitle: "Diese Übergabe konnte nicht verwendet werden";
1924
+ readonly continue: "Weiter";
1925
+ readonly persistFailed: "Ihre Tabellenauswahl konnte nicht gespeichert werden — versuchen Sie es erneut.";
1926
+ readonly persistFailedTitle: "Speichern fehlgeschlagen";
1927
+ readonly progress: "Einrichtungsfortschritt";
1928
+ readonly step: {
1929
+ readonly enrich: "Anreichern";
1930
+ readonly generate: "Generieren";
1931
+ readonly intent: "Zweck";
1932
+ readonly meta: "Meta-Speicher";
1933
+ readonly source: "Quelle";
1934
+ readonly tables: "Tabellen";
1935
+ readonly test: "Analysieren";
1294
1936
  };
1937
+ readonly title: "Neue Verbindung";
1295
1938
  };
1296
1939
  };
1297
1940
  export default _default;