@adminiumjs/i18n 0.3.0-rc.1 → 0.3.0-rc.2

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 (133) 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 +46 -1
  4. package/dist/a11y-keys.js.map +1 -1
  5. package/dist/resources/ar-eg/common.d.ts +27 -0
  6. package/dist/resources/ar-eg/common.d.ts.map +1 -1
  7. package/dist/resources/ar-eg/common.js +34 -7
  8. package/dist/resources/ar-eg/common.js.map +1 -1
  9. package/dist/resources/ar-eg/studio.d.ts +95 -1
  10. package/dist/resources/ar-eg/studio.d.ts.map +1 -1
  11. package/dist/resources/ar-eg/studio.js +101 -7
  12. package/dist/resources/ar-eg/studio.js.map +1 -1
  13. package/dist/resources/ar-eg/ui.d.ts +14 -0
  14. package/dist/resources/ar-eg/ui.d.ts.map +1 -1
  15. package/dist/resources/ar-eg/ui.js +15 -1
  16. package/dist/resources/ar-eg/ui.js.map +1 -1
  17. package/dist/resources/cs-cz/common.d.ts +27 -0
  18. package/dist/resources/cs-cz/common.d.ts.map +1 -1
  19. package/dist/resources/cs-cz/common.js +34 -7
  20. package/dist/resources/cs-cz/common.js.map +1 -1
  21. package/dist/resources/cs-cz/studio.d.ts +95 -1
  22. package/dist/resources/cs-cz/studio.d.ts.map +1 -1
  23. package/dist/resources/cs-cz/studio.js +101 -7
  24. package/dist/resources/cs-cz/studio.js.map +1 -1
  25. package/dist/resources/cs-cz/ui.d.ts +14 -0
  26. package/dist/resources/cs-cz/ui.d.ts.map +1 -1
  27. package/dist/resources/cs-cz/ui.js +15 -1
  28. package/dist/resources/cs-cz/ui.js.map +1 -1
  29. package/dist/resources/da-dk/common.d.ts +27 -0
  30. package/dist/resources/da-dk/common.d.ts.map +1 -1
  31. package/dist/resources/da-dk/common.js +34 -7
  32. package/dist/resources/da-dk/common.js.map +1 -1
  33. package/dist/resources/da-dk/studio.d.ts +95 -1
  34. package/dist/resources/da-dk/studio.d.ts.map +1 -1
  35. package/dist/resources/da-dk/studio.js +101 -7
  36. package/dist/resources/da-dk/studio.js.map +1 -1
  37. package/dist/resources/da-dk/ui.d.ts +14 -0
  38. package/dist/resources/da-dk/ui.d.ts.map +1 -1
  39. package/dist/resources/da-dk/ui.js +15 -1
  40. package/dist/resources/da-dk/ui.js.map +1 -1
  41. package/dist/resources/de-de/common.d.ts +27 -0
  42. package/dist/resources/de-de/common.d.ts.map +1 -1
  43. package/dist/resources/de-de/common.js +34 -7
  44. package/dist/resources/de-de/common.js.map +1 -1
  45. package/dist/resources/de-de/studio.d.ts +95 -1
  46. package/dist/resources/de-de/studio.d.ts.map +1 -1
  47. package/dist/resources/de-de/studio.js +101 -7
  48. package/dist/resources/de-de/studio.js.map +1 -1
  49. package/dist/resources/de-de/ui.d.ts +14 -0
  50. package/dist/resources/de-de/ui.d.ts.map +1 -1
  51. package/dist/resources/de-de/ui.js +15 -1
  52. package/dist/resources/de-de/ui.js.map +1 -1
  53. package/dist/resources/en-us/common.d.ts +27 -0
  54. package/dist/resources/en-us/common.d.ts.map +1 -1
  55. package/dist/resources/en-us/common.js +34 -7
  56. package/dist/resources/en-us/common.js.map +1 -1
  57. package/dist/resources/en-us/studio.d.ts +95 -1
  58. package/dist/resources/en-us/studio.d.ts.map +1 -1
  59. package/dist/resources/en-us/studio.js +101 -7
  60. package/dist/resources/en-us/studio.js.map +1 -1
  61. package/dist/resources/en-us/ui.d.ts +14 -0
  62. package/dist/resources/en-us/ui.d.ts.map +1 -1
  63. package/dist/resources/en-us/ui.js +15 -1
  64. package/dist/resources/en-us/ui.js.map +1 -1
  65. package/dist/resources/fr-fr/common.d.ts +27 -0
  66. package/dist/resources/fr-fr/common.d.ts.map +1 -1
  67. package/dist/resources/fr-fr/common.js +34 -7
  68. package/dist/resources/fr-fr/common.js.map +1 -1
  69. package/dist/resources/fr-fr/studio.d.ts +95 -1
  70. package/dist/resources/fr-fr/studio.d.ts.map +1 -1
  71. package/dist/resources/fr-fr/studio.js +101 -7
  72. package/dist/resources/fr-fr/studio.js.map +1 -1
  73. package/dist/resources/fr-fr/ui.d.ts +14 -0
  74. package/dist/resources/fr-fr/ui.d.ts.map +1 -1
  75. package/dist/resources/fr-fr/ui.js +15 -1
  76. package/dist/resources/fr-fr/ui.js.map +1 -1
  77. package/dist/resources/zh-cn/common.d.ts +27 -0
  78. package/dist/resources/zh-cn/common.d.ts.map +1 -1
  79. package/dist/resources/zh-cn/common.js +34 -7
  80. package/dist/resources/zh-cn/common.js.map +1 -1
  81. package/dist/resources/zh-cn/studio.d.ts +95 -1
  82. package/dist/resources/zh-cn/studio.d.ts.map +1 -1
  83. package/dist/resources/zh-cn/studio.js +101 -7
  84. package/dist/resources/zh-cn/studio.js.map +1 -1
  85. package/dist/resources/zh-cn/ui.d.ts +14 -0
  86. package/dist/resources/zh-cn/ui.d.ts.map +1 -1
  87. package/dist/resources/zh-cn/ui.js +15 -1
  88. package/dist/resources/zh-cn/ui.js.map +1 -1
  89. package/dist/resources/zh-tw/common.d.ts +27 -0
  90. package/dist/resources/zh-tw/common.d.ts.map +1 -1
  91. package/dist/resources/zh-tw/common.js +34 -7
  92. package/dist/resources/zh-tw/common.js.map +1 -1
  93. package/dist/resources/zh-tw/studio.d.ts +95 -1
  94. package/dist/resources/zh-tw/studio.d.ts.map +1 -1
  95. package/dist/resources/zh-tw/studio.js +101 -7
  96. package/dist/resources/zh-tw/studio.js.map +1 -1
  97. package/dist/resources/zh-tw/ui.d.ts +14 -0
  98. package/dist/resources/zh-tw/ui.d.ts.map +1 -1
  99. package/dist/resources/zh-tw/ui.js +15 -1
  100. package/dist/resources/zh-tw/ui.js.map +1 -1
  101. package/dist/review-status.js +7 -7
  102. package/locales/ar-EG/.meta.json +428 -0
  103. package/locales/ar-EG/common.json +34 -7
  104. package/locales/ar-EG/studio.json +101 -7
  105. package/locales/ar-EG/ui.json +15 -1
  106. package/locales/cs-CZ/.meta.json +428 -0
  107. package/locales/cs-CZ/common.json +34 -7
  108. package/locales/cs-CZ/studio.json +101 -7
  109. package/locales/cs-CZ/ui.json +15 -1
  110. package/locales/da-DK/.meta.json +428 -0
  111. package/locales/da-DK/common.json +34 -7
  112. package/locales/da-DK/studio.json +101 -7
  113. package/locales/da-DK/ui.json +15 -1
  114. package/locales/de-DE/.meta.json +428 -0
  115. package/locales/de-DE/common.json +34 -7
  116. package/locales/de-DE/studio.json +101 -7
  117. package/locales/de-DE/ui.json +15 -1
  118. package/locales/en-US/common.json +34 -7
  119. package/locales/en-US/studio.json +101 -7
  120. package/locales/en-US/ui.json +15 -1
  121. package/locales/fr-FR/.meta.json +428 -0
  122. package/locales/fr-FR/common.json +34 -7
  123. package/locales/fr-FR/studio.json +101 -7
  124. package/locales/fr-FR/ui.json +15 -1
  125. package/locales/zh-CN/.meta.json +428 -0
  126. package/locales/zh-CN/common.json +34 -7
  127. package/locales/zh-CN/studio.json +101 -7
  128. package/locales/zh-CN/ui.json +15 -1
  129. package/locales/zh-TW/.meta.json +428 -0
  130. package/locales/zh-TW/common.json +34 -7
  131. package/locales/zh-TW/studio.json +101 -7
  132. package/locales/zh-TW/ui.json +15 -1
  133. package/package.json +1 -1
@@ -398,7 +398,15 @@
398
398
  "noteTitle": "Was als Änderung zählt",
399
399
  "updated": "Wenn sich eine Zeile ändert"
400
400
  },
401
- "unbound": "Noch auszufüllen: {slots}"
401
+ "unbound": "Noch auszufüllen: {slots}",
402
+ "deleteConfirm": {
403
+ "title": "Diese Zuordnung löschen?",
404
+ "body": "Die Regel, die sie auslöst, wird ebenfalls gelöscht, und bereits daraus erstellte Dokumente verlieren ihre Verknüpfung. Dies kann nicht rückgängig gemacht werden.",
405
+ "prompt": "Geben Sie {name} zur Bestätigung ein",
406
+ "confirm": "Zuordnung löschen"
407
+ },
408
+ "deleteFailed": "Die Zuordnung wurde nicht gelöscht",
409
+ "loadFailed": "Die Zuordnungen konnten nicht geladen werden"
402
410
  },
403
411
  "enrich": {
404
412
  "byo": {
@@ -454,6 +462,8 @@
454
462
  },
455
463
  "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.",
456
464
  "fileTitle": "KI-Anreicherung benötigt eine aktive Datenbank",
465
+ "noTablesBody": "Diese Datenbank hat noch keine Tabellen, daher gibt es nichts, was die KI beschriften oder gruppieren könnte. Fahren Sie fort — sobald Tabellen vorhanden sind, können Sie die KI-Anreicherung jederzeit unter Einstellungen → KI ausführen.",
466
+ "noTablesTitle": "Keine Tabellen zum Anreichern",
457
467
  "generatePrompt": "Prompt erzeugen",
458
468
  "intentLabel": "Wie möchten Sie anreichern?",
459
469
  "localeLocked": "(erforderlich)",
@@ -601,7 +611,8 @@
601
611
  "toggleDdl": "DDL-Vorschau anzeigen",
602
612
  "ddl": "DDL-Vorschau",
603
613
  "ddlNote": "Beispielhaft. Der Server erzeugt die exakte Anweisung für Ihre Engine, inklusive Fremdschlüsseln.",
604
- "summary": "{created} angelegt · {reused} wiederverwendet"
614
+ "summary": "{created} angelegt · {reused} wiederverwendet",
615
+ "pageWarnings": "Einige Seiten dieser App kommen ohne Tabelle an"
605
616
  },
606
617
  "done": {
607
618
  "title": "Installiert",
@@ -649,7 +660,9 @@
649
660
  "needsNewer": "v{version} benötigt Adminium {minimum} oder neuer",
650
661
  "missing": "Fehlt",
651
662
  "missingBody": "Ihre Dateien liegen nicht auf diesem Server, daher wird sie nicht ausgeliefert. Installieren Sie dieselbe Version erneut oder deinstallieren Sie sie.",
652
- "update": "Aktualisieren"
663
+ "update": "Aktualisieren",
664
+ "discardFailed": "Der Upload wurde nicht verworfen",
665
+ "uninstallFailed": "Die App wurde nicht deinstalliert"
653
666
  },
654
667
  "instances": {
655
668
  "add": "Instanz hinzufügen",
@@ -705,6 +718,16 @@
705
718
  "veto": {
706
719
  "title": "Diese Installation kann nicht online suchen",
707
720
  "body": "Die Einstellung ist gespeichert, aber Netzwerkfunktionen sind für diesen Server aus, und das gilt. Installierte Apps laufen weiter, und Sie können selbst eine hochladen."
721
+ },
722
+ "columns": {
723
+ "title": "{app} auf v{version} aktualisieren",
724
+ "subtitle": "Diese Version braucht Spalten, die Tabellen in Ihrer Datenbank noch nicht haben.",
725
+ "body": "Adminium kann sie für Sie hinzufügen. Sie sehen die genaue Anweisung, bevor etwas ausgeführt wird, nichts wird entfernt, und die App wird erst aktualisiert, wenn die Spalten existieren.",
726
+ "alsoCreates": "Das Update legt außerdem diese Tabellen an:",
727
+ "noDdl": "Adminium kann diese Spalten hier nicht hinzufügen",
728
+ "failed": "Die Spalten konnten nicht hinzugefügt werden",
729
+ "valuesFailed": "Die Spalten wurden hinzugefügt, aber ihre erlaubten Werte konnten nicht gespeichert werden",
730
+ "confirm": "Spalten hinzufügen und aktualisieren"
708
731
  }
709
732
  },
710
733
  "hub": {
@@ -743,7 +766,8 @@
743
766
  "failed": "Die Verbindung konnte nicht gelöscht werden. Versuchen Sie es erneut.",
744
767
  "prompt": "Geben Sie {name} zur Bestätigung ein",
745
768
  "success": "Verbindung „{name}“ gelöscht",
746
- "title": "Verbindung löschen"
769
+ "title": "Verbindung löschen",
770
+ "forbidden": "Ihre Rolle umfasst nicht die Verwaltung von Verbindungen, daher wurde diese nicht gelöscht."
747
771
  },
748
772
  "empty": {
749
773
  "body": "Verbinden Sie eine Datenbank — Adminium generiert Ihr Admin-Panel aus deren Schema.",
@@ -1153,7 +1177,8 @@
1153
1177
  "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.",
1154
1178
  "confirm": "Seite löschen",
1155
1179
  "prompt": "Geben Sie zur Bestätigung {slug} ein",
1156
- "title": "Diese Seite löschen?"
1180
+ "title": "Diese Seite löschen?",
1181
+ "failed": "Die Seite wurde nicht gelöscht"
1157
1182
  },
1158
1183
  "derived": {
1159
1184
  "add": "Spalte hinzufügen",
@@ -1237,8 +1262,10 @@
1237
1262
  "slugTaken": "Diese Adresse wird bereits von einer anderen Seite verwendet.",
1238
1263
  "slugWarning": "Eine geänderte Adresse macht bestehende Links und Lesezeichen zu dieser Seite ungültig.",
1239
1264
  "table": "Tabelle",
1240
- "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.",
1265
+ "tableChoose": "Tabelle wählen…",
1266
+ "tableCreateHint": "Die Tabelle, aus der diese Seite liest.",
1241
1267
  "tableNeedsConnection": "Wählen Sie zuerst eine Datenquelle.",
1268
+ "tableNoConnection": "Verbinden Sie zuerst eine Datenbank — diese Seite wird aus einer ihrer Tabellen aufgebaut.",
1242
1269
  "tableNone": "Nicht verknüpft",
1243
1270
  "template": "Vorlage",
1244
1271
  "templateHint": "Bestimmt, was die Seite enthalten kann. Später änderbar.",
@@ -1262,6 +1289,69 @@
1262
1289
  "title": "Filter",
1263
1290
  "up": "{column} nach oben"
1264
1291
  },
1292
+ "fit": {
1293
+ "alternatives": {
1294
+ "title": "Eine Tabelle verwenden, die bereits passt",
1295
+ "help": "Es wird nichts in Ihre Datenbank geschrieben — die Seite zeigt dann einfach auf eine Tabelle, die schon alles Nötige hat.",
1296
+ "use": "Diese Tabelle verwenden"
1297
+ },
1298
+ "checkFailed": "Adminium konnte diese Tabelle nicht prüfen",
1299
+ "checkFailedBody": "Sie können die Seite trotzdem anlegen. Wenn die Tabelle sie nicht tragen kann, sagt das Anlegen es Ihnen.",
1300
+ "columns": {
1301
+ "title": "Fehlendes zu dieser Tabelle hinzufügen",
1302
+ "help": "Adminium fügt Ihrer Tabelle diese Spalten hinzu. Sie sehen die genaue Anweisung, bevor etwas ausgeführt wird, und es wird nichts entfernt.",
1303
+ "review": "Änderung ansehen",
1304
+ "confirm": "Ausführen",
1305
+ "failed": "Das hat nicht geklappt",
1306
+ "partial": "Eines, was diese Seite braucht, kann nicht für Sie angelegt werden — sie bleibt danach also unvollständig.",
1307
+ "cannot": "Das kann Adminium nicht für Sie anlegen",
1308
+ "cannotBody": "Diese Seite braucht eine Verknüpfung zu einer anderen Tabelle, die unter Studio → Schema eingerichtet werden muss.",
1309
+ "halfDone": "Die Spalten wurden angelegt, aber Adminium konnte ihre Bedeutung nicht festhalten",
1310
+ "halfDoneBody": "Es muss nichts erneut ausgeführt werden — die Spalten sind da. Legen Sie ihre Bedeutung unter Studio → Schema fest, oder bitten Sie eine Administratorin darum."
1311
+ },
1312
+ "needs": "Für diese Seite braucht die Tabelle:",
1313
+ "noDdl": "Adminium kann diese Tabelle nicht für Sie ändern",
1314
+ "role": {
1315
+ "eventDate": "ein Datum in jeder Zeile",
1316
+ "title": "eine Textspalte als Titel jeder Zeile",
1317
+ "status": "eine Statusspalte, deren Werte Arbeitsschritte benennen",
1318
+ "personFk": "eine Verknüpfung zu einer Personentabelle",
1319
+ "shiftType": "eine Spalte, die angibt, um welche Art von Schicht es sich handelt"
1320
+ },
1321
+ "slotOnly": "Nichts in dieser Tabelle kann den Bereich „{slot}“ füllen.",
1322
+ "tag": {
1323
+ "title": "Eine vorhandene Spalte verwenden",
1324
+ "help": "Damit wird nur festgehalten, was die Spalte bedeutet. Ihre Datenbank bleibt unverändert, und Sie können es unter Studio → Schema rückgängig machen.",
1325
+ "action": "Diese Spalte verwenden",
1326
+ "failed": "Diese Spalte konnte nicht markiert werden"
1327
+ },
1328
+ "title": "Diese Tabelle kann diese Seite noch nicht tragen",
1329
+ "table": {
1330
+ "title": "Eine neue Tabelle für diese Seite anlegen",
1331
+ "help": "Adminium legt eine Tabelle mit allem an, was diese Seite braucht. Sie sehen die genaue Anweisung, bevor etwas ausgeführt wird, und Ihre anderen Tabellen bleiben unberührt.",
1332
+ "open": "Oder eine neue Tabelle für diese Seite anlegen",
1333
+ "name": "Tabellenname",
1334
+ "nameTaken": "Eine Tabelle mit diesem Namen gibt es bereits.",
1335
+ "nameInvalid": "Verwenden Sie Kleinbuchstaben, Ziffern und Unterstriche, beginnend mit einem Buchstaben.",
1336
+ "people": "Jede Zeile jemandem zuordnen aus",
1337
+ "peopleNew": "Einer neuen Personentabelle",
1338
+ "peopleCreated": "Legt außerdem „{table}“ an, eine kleine Tabelle der Personen, denen Zeilen zugeordnet werden.",
1339
+ "noCompose": "Eine Tabelle unter diesem Namen würde für diese Seite nicht funktionieren. Versuchen Sie einen anderen Namen.",
1340
+ "confirm": "Tabelle anlegen",
1341
+ "noDdl": "Adminium kann hier keine Tabelle anlegen",
1342
+ "halfDone": "Die Tabelle wurde angelegt, aber Adminium konnte die Bedeutung ihrer Spalten nicht speichern",
1343
+ "halfDoneBody": "Nichts muss erneut ausgeführt werden — die Tabelle existiert. Legen Sie die Bedeutung ihrer Spalten unter Studio → Schema fest oder bitten Sie eine Administratorin bzw. einen Administrator darum.",
1344
+ "notReread": "Die Tabelle wurde angelegt, aber Adminium konnte sie noch nicht wieder einlesen",
1345
+ "notRereadBody": "Nichts muss erneut ausgeführt werden. Aktualisieren Sie das Schema unter Studio → Datenverbindungen und wählen Sie dann hier die neue Tabelle."
1346
+ },
1347
+ "related": {
1348
+ "title": "Die Daten einer verknüpften Tabelle verwenden",
1349
+ "help": "In Ihre Datenbank wird nichts geschrieben. Die Seite wird auf einer mit dieser verknüpften Tabelle aufgebaut, und jeder Eintrag zeigt einen Namen aus dieser Tabelle.",
1350
+ "reason": "Daten aus „{date}“, jeweils betitelt mit „{title}“ über „{via}“",
1351
+ "chosen": "Aufgebaut auf {table}, jeder Eintrag betitelt mit „{title}“ aus {from}",
1352
+ "undo": "Zurück zu {table}"
1353
+ }
1354
+ },
1265
1355
  "form": {
1266
1356
  "addLines": "{label} als Positionen",
1267
1357
  "dialog": {
@@ -1465,7 +1555,8 @@
1465
1555
  "narrow": "Schmal (720 px)",
1466
1556
  "page": "Seite (1080 px)",
1467
1557
  "wide": "Breit (1800 px)"
1468
- }
1558
+ },
1559
+ "toggleFailed": "Die Seite wurde nicht geändert"
1469
1560
  },
1470
1561
  "project": {
1471
1562
  "actions": {
@@ -2256,7 +2347,10 @@
2256
2347
  "usedBytes": "{size} belegt"
2257
2348
  },
2258
2349
  "tables": {
2350
+ "emptyBody": "Diese Datenbank hat noch keine Tabellen. Sie können trotzdem fortfahren — sobald Sie Tabellen angelegt haben, holen Sie sie mit „Neu introspizieren“ für diese Verbindung herein.",
2351
+ "emptyFileBody": "Diese Schemadatei definiert keine Tabellen. Gehen Sie zurück und laden Sie eine andere Datei hoch, oder fahren Sie trotzdem fort.",
2259
2352
  "emptyFilter": "Keine Tabellen entsprechen Ihrem Filter.",
2353
+ "emptyTitle": "Keine Tabellen gefunden",
2260
2354
  "highVolume": "hohes Volumen",
2261
2355
  "highVolumeNote": "Tabellen mit über 100.000 Zeilen sind anfangs abgewählt — Ops-Tabellen gehören selten in ein Dashboard.",
2262
2356
  "importNoCounts": "Schemadateien enthalten keine Zeilenzahlen — die Spalte zeigt —, bis eine Live-Datenbank verbunden ist.",
@@ -1774,6 +1774,11 @@
1774
1774
  "backToLatest": "Zurück zu den neuesten",
1775
1775
  "eventFallback": "Ereignis"
1776
1776
  },
1777
+ "board": {
1778
+ "invalidLayout": "Das gespeicherte Layout dieses Boards ist ungültig. Generieren Sie die Seite neu oder setzen Sie das Layout zurück.",
1779
+ "noRowsTitle": "Noch keine Karten",
1780
+ "noRowsBody": "Karten erscheinen hier, sobald die Tabelle Zeilen hat."
1781
+ },
1777
1782
  "calendar": {
1778
1783
  "eventCount": "{count, plural, one {{n} Termin} other {{n} Termine}}",
1779
1784
  "composePlaceholder": "Termintitel…",
@@ -1782,7 +1787,9 @@
1782
1787
  "agendaTitle": "Agenda",
1783
1788
  "categoriesTitle": "Kategorien",
1784
1789
  "upcomingTitle": "Anstehend",
1785
- "invalidLayout": "Das gespeicherte Layout dieses Kalenders ist ungültig. Generieren Sie die Seite neu oder setzen Sie das Layout zurück."
1790
+ "invalidLayout": "Das gespeicherte Layout dieses Kalenders ist ungültig. Generieren Sie die Seite neu oder setzen Sie das Layout zurück.",
1791
+ "composeChoose": "Wofür dieser Termin ist",
1792
+ "composeChoosePlaceholder": "Auswählen…"
1786
1793
  },
1787
1794
  "scheduler": {
1788
1795
  "previousWeek": "Vorherige Woche",
@@ -1873,6 +1880,13 @@
1873
1880
  },
1874
1881
  "pageRecord": {
1875
1882
  "description": "Ein Datensatz als eigene Seite: seine Felder, verknüpfte Datensätze mit Live-Zählern und seine Änderungshistorie."
1883
+ },
1884
+ "planning": {
1885
+ "unplaced": {
1886
+ "calendar": "Noch keine Zeile dieser Tabelle hat ein Datum, deshalb ist der Kalender leer. Eine Zeile erscheint hier, sobald sie eines hat.",
1887
+ "board": "Noch keine Zeile dieser Tabelle hat einen Status, deshalb ist das Board leer. Eine Zeile erscheint hier, sobald sie einen hat.",
1888
+ "scheduler": "Noch keine Zeile dieser Tabelle hat eine Person, ein Datum und eine Schichtart, deshalb ist der Plan leer. Eine Zeile erscheint hier, sobald sie alle drei hat."
1889
+ }
1876
1890
  }
1877
1891
  },
1878
1892
  "frame": {
@@ -109,7 +109,8 @@
109
109
  "apiKeys": "API keys",
110
110
  "audit": "Audit log",
111
111
  "security": "Password & sessions",
112
- "files": "Files"
112
+ "files": "Files",
113
+ "emptyWithheld": "No pages have been shared with your role yet. Ask an administrator for access."
113
114
  },
114
115
  "apps": {
115
116
  "frame": {
@@ -266,6 +267,14 @@
266
267
  "noMatches": "No pages match \"{query}\""
267
268
  },
268
269
  "page": {
270
+ "emptyLayout": {
271
+ "title": "This page has nothing to show yet",
272
+ "board": "Bind it to a table with a status column, and its rows become cards grouped into columns.",
273
+ "calendar": "Bind it to a table with a date column, and its rows become events on the month grid.",
274
+ "scheduler": "Bind it to a table with a date column and a person to schedule, and its rows become shifts on a timeline.",
275
+ "action": "Open page settings",
276
+ "askAdmin": "Ask an administrator to finish setting it up."
277
+ },
269
278
  "invalid": {
270
279
  "title": "This page’s configuration is invalid",
271
280
  "body": "The stored page document failed validation and cannot be rendered."
@@ -1310,7 +1319,9 @@
1310
1319
  },
1311
1320
  "empty": {
1312
1321
  "title": "No board columns",
1313
- "body": "Add a status field to group cards into columns."
1322
+ "body": "Add a status field to group cards into columns.",
1323
+ "noRowsTitle": "No cards yet",
1324
+ "noRowsBody": "Cards appear here as soon as the table has rows."
1314
1325
  }
1315
1326
  },
1316
1327
  "calendar": {
@@ -1319,7 +1330,9 @@
1319
1330
  "placeholder": "Event title…",
1320
1331
  "add": "Add",
1321
1332
  "cancel": "Cancel",
1322
- "open": "Add event"
1333
+ "open": "Add event",
1334
+ "choose": "What this event is for",
1335
+ "choosePlaceholder": "Choose…"
1323
1336
  },
1324
1337
  "agenda": {
1325
1338
  "empty": "Nothing scheduled"
@@ -1577,7 +1590,8 @@
1577
1590
  "access": "Access",
1578
1591
  "data": "Data",
1579
1592
  "operations": "Operations",
1580
- "workspace": "Workspace"
1593
+ "workspace": "Workspace",
1594
+ "records": "Pages & records"
1581
1595
  },
1582
1596
  "column": {
1583
1597
  "actions": "Actions",
@@ -1653,7 +1667,18 @@
1653
1667
  "title": "Could not save every role"
1654
1668
  },
1655
1669
  "subtitle": "What each role may do. A user gets the union of every role they hold.",
1656
- "title": "Roles & permissions"
1670
+ "title": "Roles & permissions",
1671
+ "data": {
1672
+ "pagesView": "See every page",
1673
+ "read": "Read records",
1674
+ "create": "Create records",
1675
+ "update": "Edit records",
1676
+ "delete": "Delete records",
1677
+ "export": "Export records",
1678
+ "import": "Import records",
1679
+ "pagesEdit": "Change page layouts",
1680
+ "narrow": "{count, plural, one {# grant} other {# grants}} on a single page or table also apply, on top of the rows below. Saving keeps them."
1681
+ }
1657
1682
  },
1658
1683
  "security": {
1659
1684
  "password": {
@@ -1783,7 +1808,8 @@
1783
1808
  "body": "This erases {name}’s account, their preferences and their sign-in sessions, and blanks their name from the record of settings they changed. Suspending instead keeps all of it and only stops them signing in. This cannot be undone.",
1784
1809
  "confirm": "Delete permanently",
1785
1810
  "prompt": "Type “{email}” to confirm",
1786
- "title": "Delete account permanently"
1811
+ "title": "Delete account permanently",
1812
+ "failed": "The account was not deleted"
1787
1813
  },
1788
1814
  "roles": {
1789
1815
  "unavailable": "Roles are not visible to your account, so none can be assigned here."
@@ -1803,7 +1829,8 @@
1803
1829
  "subtitle": "Who has an account on this Adminium, and what each of them can do.",
1804
1830
  "title": "Team",
1805
1831
  "twoFactorOn": "Two-factor authentication is on",
1806
- "twoFactorShort": "2FA"
1832
+ "twoFactorShort": "2FA",
1833
+ "actionFailed": "That change was not made"
1807
1834
  },
1808
1835
  "invoices": {
1809
1836
  "copySuffix": "{name} (copy)",
@@ -398,7 +398,15 @@
398
398
  "noteTitle": "What counts as a change",
399
399
  "updated": "When a row changes"
400
400
  },
401
- "unbound": "Still to fill: {slots}"
401
+ "unbound": "Still to fill: {slots}",
402
+ "deleteConfirm": {
403
+ "title": "Delete this mapping?",
404
+ "body": "The rule that fires it goes too, and documents already drawn from it lose their link back. This cannot be undone.",
405
+ "prompt": "Type {name} to confirm",
406
+ "confirm": "Delete mapping"
407
+ },
408
+ "deleteFailed": "The mapping was not deleted",
409
+ "loadFailed": "The mappings could not be loaded"
402
410
  },
403
411
  "enrich": {
404
412
  "byo": {
@@ -454,6 +462,8 @@
454
462
  },
455
463
  "fileBody": "Schema-file sources have no snapshot to enrich yet. Connect a live database to use AI enrichment, or continue — the heuristic baseline still generates a complete app.",
456
464
  "fileTitle": "AI enrichment needs a live database",
465
+ "noTablesBody": "This database has no tables yet, so there is nothing for AI to label or group. Continue — once tables exist, you can run AI enrichment any time from Settings → AI.",
466
+ "noTablesTitle": "No tables to enrich",
457
467
  "generatePrompt": "Generate prompt",
458
468
  "intentLabel": "How would you like to enrich?",
459
469
  "localeLocked": "(required)",
@@ -601,7 +611,8 @@
601
611
  "toggleDdl": "Show the DDL preview",
602
612
  "ddl": "DDL preview",
603
613
  "ddlNote": "Illustrative. The server emits the exact statement for your engine, including foreign keys.",
604
- "summary": "{created} created · {reused} reused"
614
+ "summary": "{created} created · {reused} reused",
615
+ "pageWarnings": "Some of this app’s pages will arrive without a table"
605
616
  },
606
617
  "done": {
607
618
  "title": "Installed",
@@ -649,7 +660,9 @@
649
660
  "needsNewer": "v{version} needs Adminium {minimum} or later",
650
661
  "missing": "Missing",
651
662
  "missingBody": "Its files are not on this server, so it is not served. Install the same version again, or uninstall it.",
652
- "update": "Update"
663
+ "update": "Update",
664
+ "discardFailed": "The upload was not discarded",
665
+ "uninstallFailed": "The app was not uninstalled"
653
666
  },
654
667
  "instances": {
655
668
  "add": "Add an instance",
@@ -705,6 +718,16 @@
705
718
  "veto": {
706
719
  "title": "This deployment cannot browse online",
707
720
  "body": "The setting is saved, but network features are off for this server and that wins. Installed apps keep working, and you can still upload one yourself."
721
+ },
722
+ "columns": {
723
+ "title": "Update {app} to v{version}",
724
+ "subtitle": "This version needs columns that tables in your database do not have yet.",
725
+ "body": "Adminium can add them for you. You will see the exact statement before anything runs, nothing is removed, and the app is updated only once the columns exist.",
726
+ "alsoCreates": "The update also creates these tables:",
727
+ "noDdl": "Adminium cannot add these columns here",
728
+ "failed": "The columns could not be added",
729
+ "valuesFailed": "The columns were added, but their allowed values could not be recorded",
730
+ "confirm": "Add the columns and update"
708
731
  }
709
732
  },
710
733
  "hub": {
@@ -743,7 +766,8 @@
743
766
  "failed": "Could not delete the connection. Try again.",
744
767
  "prompt": "Type {name} to confirm",
745
768
  "success": "Connection “{name}” deleted",
746
- "title": "Delete connection"
769
+ "title": "Delete connection",
770
+ "forbidden": "Your role does not include managing connections, so this one was not deleted."
747
771
  },
748
772
  "empty": {
749
773
  "body": "Connect a database and Adminium generates your admin panel from its schema.",
@@ -1153,7 +1177,8 @@
1153
1177
  "bodyGenerated": "This page was created by schema generation, so it will come back the next time you regenerate. Saved views and personal layouts on it are deleted for everyone.",
1154
1178
  "confirm": "Delete page",
1155
1179
  "prompt": "Type {slug} to confirm",
1156
- "title": "Delete this page?"
1180
+ "title": "Delete this page?",
1181
+ "failed": "The page was not deleted"
1157
1182
  },
1158
1183
  "derived": {
1159
1184
  "add": "Add column",
@@ -1237,8 +1262,10 @@
1237
1262
  "slugTaken": "Another page already uses this address.",
1238
1263
  "slugWarning": "Changing the address breaks existing links and bookmarks to this page.",
1239
1264
  "table": "Table",
1240
- "tableCreateHint": "The table this page reads. You can bind it later.",
1265
+ "tableChoose": "Choose a table…",
1266
+ "tableCreateHint": "The table this page reads.",
1241
1267
  "tableNeedsConnection": "Pick a data source first.",
1268
+ "tableNoConnection": "Connect a database first — this page is built from one of its tables.",
1242
1269
  "tableNone": "Not bound",
1243
1270
  "template": "Template",
1244
1271
  "templateHint": "Decides what the page can hold. You can change it later.",
@@ -1262,6 +1289,69 @@
1262
1289
  "title": "Filters",
1263
1290
  "up": "Move {column} up"
1264
1291
  },
1292
+ "fit": {
1293
+ "alternatives": {
1294
+ "title": "Use a table that already fits",
1295
+ "help": "Nothing is written to your database — this only points the page at a table that already has what it needs.",
1296
+ "use": "Use this table"
1297
+ },
1298
+ "checkFailed": "Adminium could not check this table",
1299
+ "checkFailedBody": "You can still create the page. If the table cannot back it, creating it will say so.",
1300
+ "columns": {
1301
+ "title": "Add what is missing to this table",
1302
+ "help": "Adminium adds these columns to your table. You will see the exact statement before anything runs, and nothing is removed.",
1303
+ "review": "Review the change",
1304
+ "confirm": "Run it",
1305
+ "failed": "That did not work",
1306
+ "partial": "One thing this page needs cannot be added for you, so it will still be incomplete afterwards.",
1307
+ "cannot": "Adminium cannot add this one for you",
1308
+ "cannotBody": "This page needs a link to another table, which has to be set up in Studio → Schema.",
1309
+ "halfDone": "The columns were added, but Adminium could not record what they mean",
1310
+ "halfDoneBody": "Nothing needs running again — the columns exist. Set their meaning in Studio → Schema, or ask an administrator to."
1311
+ },
1312
+ "needs": "To build this page, the table needs:",
1313
+ "noDdl": "Adminium cannot change this table for you",
1314
+ "role": {
1315
+ "eventDate": "a date on each row",
1316
+ "title": "a text column to show as each row’s title",
1317
+ "status": "a status column whose values read as workflow states",
1318
+ "personFk": "a link to a table of people",
1319
+ "shiftType": "a column saying which kind of shift each row is"
1320
+ },
1321
+ "slotOnly": "Nothing on this table can fill its “{slot}” area.",
1322
+ "tag": {
1323
+ "title": "Use a column you already have",
1324
+ "help": "This only records what the column means. Your database is not changed, and you can undo it in Studio → Schema.",
1325
+ "action": "Use this column",
1326
+ "failed": "That column could not be marked"
1327
+ },
1328
+ "title": "This table cannot back this page yet",
1329
+ "table": {
1330
+ "title": "Start a new table for this page",
1331
+ "help": "Adminium creates a table with everything this page needs. You will see the exact statement before anything runs, and your other tables are not touched.",
1332
+ "open": "Or start a new table for this page",
1333
+ "name": "Table name",
1334
+ "nameTaken": "A table with this name already exists.",
1335
+ "nameInvalid": "Use lowercase letters, numbers and underscores, starting with a letter.",
1336
+ "people": "Assign each row to someone from",
1337
+ "peopleNew": "A new table of people",
1338
+ "peopleCreated": "Also creates “{table}”, a small table of the people rows are assigned to.",
1339
+ "noCompose": "A table under this name would not work for this page. Try another name.",
1340
+ "confirm": "Create the table",
1341
+ "noDdl": "Adminium cannot create a table here",
1342
+ "halfDone": "The table was created, but Adminium could not record what its columns mean",
1343
+ "halfDoneBody": "Nothing needs running again — the table exists. Set its columns’ meaning in Studio → Schema, or ask an administrator to.",
1344
+ "notReread": "The table was created, but Adminium could not read it back yet",
1345
+ "notRereadBody": "Nothing needs running again. Refresh the schema from Studio → Data connections, then choose the new table here."
1346
+ },
1347
+ "related": {
1348
+ "title": "Use the dates of a linked table",
1349
+ "help": "Nothing is written to your database. The page is built on a table linked to this one, and each entry shows a name from this table.",
1350
+ "reason": "Dates from “{date}”, each titled with “{title}” through “{via}”",
1351
+ "chosen": "Built on {table}, each entry titled with “{title}” from {from}",
1352
+ "undo": "Go back to {table}"
1353
+ }
1354
+ },
1265
1355
  "form": {
1266
1356
  "addLines": "{label} as lines",
1267
1357
  "dialog": {
@@ -1465,7 +1555,8 @@
1465
1555
  "narrow": "Narrow (720px)",
1466
1556
  "page": "Page (1080px)",
1467
1557
  "wide": "Wide (1800px)"
1468
- }
1558
+ },
1559
+ "toggleFailed": "The page was not changed"
1469
1560
  },
1470
1561
  "project": {
1471
1562
  "actions": {
@@ -2256,7 +2347,10 @@
2256
2347
  "usedBytes": "{size} used"
2257
2348
  },
2258
2349
  "tables": {
2350
+ "emptyBody": "This database has no tables yet. You can still continue — once you create tables, use Re-introspect on this connection to bring them in.",
2351
+ "emptyFileBody": "This schema file defines no tables. Go back and upload a different file, or continue anyway.",
2259
2352
  "emptyFilter": "No tables match your filter.",
2353
+ "emptyTitle": "No tables found",
2260
2354
  "highVolume": "high volume",
2261
2355
  "highVolumeNote": "Tables over 100,000 rows start unchecked — ops tables rarely belong in a dashboard.",
2262
2356
  "importNoCounts": "Schema files carry no row counts — the column shows — until a live database is connected.",
@@ -1774,6 +1774,11 @@
1774
1774
  "backToLatest": "Back to latest",
1775
1775
  "eventFallback": "Event"
1776
1776
  },
1777
+ "board": {
1778
+ "invalidLayout": "This board’s stored layout is invalid. Regenerate the page or reset its layout.",
1779
+ "noRowsTitle": "No cards yet",
1780
+ "noRowsBody": "Cards appear here as soon as the table has rows."
1781
+ },
1777
1782
  "calendar": {
1778
1783
  "eventCount": "{count, plural, one {{n} event} other {{n} events}}",
1779
1784
  "composePlaceholder": "Event title…",
@@ -1782,7 +1787,9 @@
1782
1787
  "agendaTitle": "Agenda",
1783
1788
  "categoriesTitle": "Categories",
1784
1789
  "upcomingTitle": "Upcoming",
1785
- "invalidLayout": "This calendar’s stored layout is invalid. Regenerate the page or reset its layout."
1790
+ "invalidLayout": "This calendar’s stored layout is invalid. Regenerate the page or reset its layout.",
1791
+ "composeChoose": "What this event is for",
1792
+ "composeChoosePlaceholder": "Choose…"
1786
1793
  },
1787
1794
  "scheduler": {
1788
1795
  "previousWeek": "Previous week",
@@ -1873,6 +1880,13 @@
1873
1880
  },
1874
1881
  "pageRecord": {
1875
1882
  "description": "One record as a full page: its fields, related records with live counts, and its change activity."
1883
+ },
1884
+ "planning": {
1885
+ "unplaced": {
1886
+ "calendar": "None of this table’s rows has a date yet, so the calendar is empty. A row appears here as soon as it has one.",
1887
+ "board": "None of this table’s rows has a status yet, so the board is empty. A row appears here as soon as it has one.",
1888
+ "scheduler": "None of this table’s rows has a person, a date and a shift type yet, so the schedule is empty. A row appears here as soon as it has all three."
1889
+ }
1876
1890
  }
1877
1891
  },
1878
1892
  "frame": {